@ui5/webcomponents 1.0.2 → 1.1.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 (471) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/dist/Breadcrumbs.js +8 -6
  3. package/dist/BreadcrumbsItem.js +1 -1
  4. package/dist/BusyIndicator.js +2 -3
  5. package/dist/Button.js +28 -1
  6. package/dist/Calendar.js +7 -0
  7. package/dist/Carousel.js +9 -0
  8. package/dist/CheckBox.js +34 -1
  9. package/dist/ColorPalette.js +5 -4
  10. package/dist/ColorPalettePopover.js +2 -0
  11. package/dist/ComboBox.js +91 -23
  12. package/dist/DateComponentBase.js +6 -8
  13. package/dist/DatePicker.js +10 -2
  14. package/dist/DateRangePicker.js +22 -0
  15. package/dist/Dialog.js +5 -22
  16. package/dist/Icon.js +10 -8
  17. package/dist/Input.js +107 -15
  18. package/dist/Link.js +32 -14
  19. package/dist/List.js +14 -4
  20. package/dist/MessageStrip.js +39 -2
  21. package/dist/MultiComboBox.js +7 -3
  22. package/dist/MultiComboBoxItem.js +1 -1
  23. package/dist/Option.js +12 -1
  24. package/dist/Panel.js +9 -0
  25. package/dist/Popover.js +106 -57
  26. package/dist/Popup.js +16 -2
  27. package/dist/RadioButton.js +15 -3
  28. package/dist/RatingIndicator.js +37 -7
  29. package/dist/ResponsivePopover.js +1 -0
  30. package/dist/SegmentedButton.js +14 -1
  31. package/dist/Select.js +2 -1
  32. package/dist/SliderBase.js +4 -0
  33. package/dist/SplitButton.js +421 -0
  34. package/dist/Switch.js +18 -0
  35. package/dist/Tab.js +10 -6
  36. package/dist/TabContainer.js +480 -108
  37. package/dist/TabSeparator.js +42 -3
  38. package/dist/Table.js +15 -5
  39. package/dist/TextArea.js +9 -3
  40. package/dist/ToggleButton.js +5 -0
  41. package/dist/Tokenizer.js +10 -3
  42. package/dist/TreeItem.js +21 -0
  43. package/dist/TreeListItem.js +8 -0
  44. package/dist/api.json +258 -26
  45. package/dist/css/themes/Badge.css +1 -1
  46. package/dist/css/themes/Breadcrumbs.css +1 -1
  47. package/dist/css/themes/BrowserScrollbar.css +1 -1
  48. package/dist/css/themes/BusyIndicator.css +1 -1
  49. package/dist/css/themes/CardHeader.css +1 -1
  50. package/dist/css/themes/CheckBox.css +1 -1
  51. package/dist/css/themes/ComboBox.css +1 -1
  52. package/dist/css/themes/CustomListItem.css +1 -1
  53. package/dist/css/themes/Dialog.css +1 -1
  54. package/dist/css/themes/Input.css +1 -1
  55. package/dist/css/themes/List.css +1 -1
  56. package/dist/css/themes/MultiComboBox.css +1 -1
  57. package/dist/css/themes/Panel.css +1 -1
  58. package/dist/css/themes/Popover.css +1 -1
  59. package/dist/css/themes/PopupsCommon.css +1 -1
  60. package/dist/css/themes/RadioButton.css +1 -1
  61. package/dist/css/themes/RatingIndicator.css +1 -1
  62. package/dist/css/themes/Select.css +1 -1
  63. package/dist/css/themes/SliderBase.css +1 -1
  64. package/dist/css/themes/SplitButton.css +1 -0
  65. package/dist/css/themes/TabContainer.css +1 -1
  66. package/dist/css/themes/TabInOverflow.css +1 -1
  67. package/dist/css/themes/TabInStrip.css +1 -1
  68. package/dist/css/themes/TabSeparatorInOverflow.css +1 -0
  69. package/dist/css/themes/TabSeparatorInStrip.css +1 -0
  70. package/dist/css/themes/Table.css +1 -1
  71. package/dist/css/themes/TableColumn.css +1 -1
  72. package/dist/css/themes/TextArea.css +1 -1
  73. package/dist/css/themes/TimeSelection.css +1 -1
  74. package/dist/css/themes/Token.css +1 -1
  75. package/dist/css/themes/ValueStateMessage.css +1 -1
  76. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  77. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  78. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  79. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  80. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  81. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  82. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  83. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  84. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  85. package/dist/features/InputSuggestions.js +88 -15
  86. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  87. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  88. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  89. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  90. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  91. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  92. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  93. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  94. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  95. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  96. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  97. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  98. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  99. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  100. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  105. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  110. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  111. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  112. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  113. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  114. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  115. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  116. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  117. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  118. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  119. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  120. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  121. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  122. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  123. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  124. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  125. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  126. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  127. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  128. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  129. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  131. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  132. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  133. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  134. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  135. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  136. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  137. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  138. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  139. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  140. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  141. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  142. package/dist/generated/i18n/i18n-defaults.js +2 -2
  143. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +1 -1
  144. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
  145. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +1 -1
  146. package/dist/generated/templates/ButtonTemplate.lit.js +1 -1
  147. package/dist/generated/templates/CardHeaderTemplate.lit.js +1 -1
  148. package/dist/generated/templates/CarouselTemplate.lit.js +1 -1
  149. package/dist/generated/templates/CheckBoxTemplate.lit.js +1 -1
  150. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +1 -1
  151. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +1 -1
  152. package/dist/generated/templates/ComboBoxTemplate.lit.js +1 -1
  153. package/dist/generated/templates/CustomListItemTemplate.lit.js +2 -2
  154. package/dist/generated/templates/DialogTemplate.lit.js +1 -1
  155. package/dist/generated/templates/InputPopoverTemplate.lit.js +3 -3
  156. package/dist/generated/templates/InputTemplate.lit.js +1 -1
  157. package/dist/generated/templates/LinkTemplate.lit.js +1 -1
  158. package/dist/generated/templates/ListItemTemplate.lit.js +2 -2
  159. package/dist/generated/templates/MessageStripTemplate.lit.js +1 -1
  160. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +1 -1
  161. package/dist/generated/templates/MultiInputTemplate.lit.js +1 -1
  162. package/dist/generated/templates/PanelTemplate.lit.js +1 -1
  163. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +1 -1
  164. package/dist/generated/templates/RangeSliderTemplate.lit.js +1 -1
  165. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +1 -1
  166. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +1 -1
  167. package/dist/generated/templates/SelectPopoverTemplate.lit.js +2 -2
  168. package/dist/generated/templates/SliderBaseTemplate.lit.js +1 -1
  169. package/dist/generated/templates/SliderTemplate.lit.js +1 -1
  170. package/dist/generated/templates/SplitButtonTemplate.lit.js +7 -0
  171. package/dist/generated/templates/StandardListItemTemplate.lit.js +2 -2
  172. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +2 -2
  173. package/dist/generated/templates/SwitchTemplate.lit.js +1 -1
  174. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +4 -2
  175. package/dist/generated/templates/TabContainerTemplate.lit.js +9 -10
  176. package/dist/generated/templates/TabInOverflowTemplate.lit.js +1 -1
  177. package/dist/generated/templates/TabInStripTemplate.lit.js +1 -1
  178. package/dist/generated/templates/TabSeparatorInOverflowTemplate.lit.js +7 -0
  179. package/dist/generated/templates/TabSeparatorInStripTemplate.lit.js +7 -0
  180. package/dist/generated/templates/TableTemplate.lit.js +1 -1
  181. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +1 -1
  182. package/dist/generated/templates/ToggleButtonTemplate.lit.js +1 -1
  183. package/dist/generated/templates/TreeListItemTemplate.lit.js +2 -2
  184. package/dist/generated/templates/TreeTemplate.lit.js +1 -1
  185. package/dist/generated/themes/Badge.css.js +1 -1
  186. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  187. package/dist/generated/themes/BrowserScrollbar.css.js +1 -1
  188. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  189. package/dist/generated/themes/CardHeader.css.js +1 -1
  190. package/dist/generated/themes/CheckBox.css.js +1 -1
  191. package/dist/generated/themes/ComboBox.css.js +1 -1
  192. package/dist/generated/themes/CustomListItem.css.js +1 -1
  193. package/dist/generated/themes/Dialog.css.js +1 -1
  194. package/dist/generated/themes/Input.css.js +1 -1
  195. package/dist/generated/themes/List.css.js +1 -1
  196. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  197. package/dist/generated/themes/Panel.css.js +1 -1
  198. package/dist/generated/themes/Popover.css.js +1 -1
  199. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  200. package/dist/generated/themes/RadioButton.css.js +1 -1
  201. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  202. package/dist/generated/themes/Select.css.js +1 -1
  203. package/dist/generated/themes/SliderBase.css.js +1 -1
  204. package/dist/generated/themes/SplitButton.css.js +8 -0
  205. package/dist/generated/themes/TabContainer.css.js +1 -1
  206. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  207. package/dist/generated/themes/TabInStrip.css.js +1 -1
  208. package/dist/generated/themes/TabSeparatorInOverflow.css.js +8 -0
  209. package/dist/generated/themes/TabSeparatorInStrip.css.js +8 -0
  210. package/dist/generated/themes/Table.css.js +1 -1
  211. package/dist/generated/themes/TableColumn.css.js +1 -1
  212. package/dist/generated/themes/TextArea.css.js +1 -1
  213. package/dist/generated/themes/TimeSelection.css.js +1 -1
  214. package/dist/generated/themes/Token.css.js +1 -1
  215. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  216. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  217. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  218. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  219. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  220. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  221. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  222. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  223. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  224. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  225. package/dist/i18n/messagebundle.properties +26 -1
  226. package/dist/i18n/messagebundle_ar.properties +13 -1
  227. package/dist/i18n/messagebundle_bg.properties +13 -1
  228. package/dist/i18n/messagebundle_ca.properties +13 -1
  229. package/dist/i18n/messagebundle_cs.properties +13 -1
  230. package/dist/i18n/messagebundle_cy.properties +13 -1
  231. package/dist/i18n/messagebundle_da.properties +13 -1
  232. package/dist/i18n/messagebundle_de.properties +13 -1
  233. package/dist/i18n/messagebundle_el.properties +13 -1
  234. package/dist/i18n/messagebundle_en.properties +13 -1
  235. package/dist/i18n/messagebundle_en_GB.properties +13 -1
  236. package/dist/i18n/messagebundle_en_US_sappsd.properties +13 -1
  237. package/dist/i18n/messagebundle_en_US_saprigi.properties +13 -1
  238. package/dist/i18n/messagebundle_en_US_saptrc.properties +13 -1
  239. package/dist/i18n/messagebundle_es.properties +13 -1
  240. package/dist/i18n/messagebundle_es_MX.properties +13 -1
  241. package/dist/i18n/messagebundle_et.properties +13 -1
  242. package/dist/i18n/messagebundle_fi.properties +14 -2
  243. package/dist/i18n/messagebundle_fr.properties +13 -1
  244. package/dist/i18n/messagebundle_fr_CA.properties +13 -1
  245. package/dist/i18n/messagebundle_hi.properties +13 -1
  246. package/dist/i18n/messagebundle_hr.properties +13 -1
  247. package/dist/i18n/messagebundle_hu.properties +13 -1
  248. package/dist/i18n/messagebundle_id.properties +13 -1
  249. package/dist/i18n/messagebundle_it.properties +13 -1
  250. package/dist/i18n/messagebundle_iw.properties +13 -1
  251. package/dist/i18n/messagebundle_ja.properties +13 -1
  252. package/dist/i18n/messagebundle_kk.properties +13 -1
  253. package/dist/i18n/messagebundle_ko.properties +13 -1
  254. package/dist/i18n/messagebundle_lt.properties +13 -1
  255. package/dist/i18n/messagebundle_lv.properties +13 -1
  256. package/dist/i18n/messagebundle_ms.properties +13 -1
  257. package/dist/i18n/messagebundle_nl.properties +13 -1
  258. package/dist/i18n/messagebundle_no.properties +13 -1
  259. package/dist/i18n/messagebundle_pl.properties +13 -1
  260. package/dist/i18n/messagebundle_pt.properties +13 -1
  261. package/dist/i18n/messagebundle_pt_PT.properties +13 -1
  262. package/dist/i18n/messagebundle_ro.properties +13 -1
  263. package/dist/i18n/messagebundle_ru.properties +13 -1
  264. package/dist/i18n/messagebundle_sh.properties +13 -1
  265. package/dist/i18n/messagebundle_sk.properties +13 -1
  266. package/dist/i18n/messagebundle_sl.properties +13 -1
  267. package/dist/i18n/messagebundle_sv.properties +13 -1
  268. package/dist/i18n/messagebundle_th.properties +12 -0
  269. package/dist/i18n/messagebundle_tr.properties +13 -1
  270. package/dist/i18n/messagebundle_uk.properties +13 -1
  271. package/dist/i18n/messagebundle_vi.properties +13 -1
  272. package/dist/i18n/messagebundle_zh_CN.properties +13 -1
  273. package/dist/i18n/messagebundle_zh_TW.properties +12 -0
  274. package/dist/types/HasPopup.js +62 -0
  275. package/dist/types/TabsOverflowMode.js +40 -0
  276. package/package.json +8 -8
  277. package/src/Breadcrumbs.hbs +3 -2
  278. package/src/Breadcrumbs.js +8 -6
  279. package/src/BreadcrumbsItem.js +1 -1
  280. package/src/BreadcrumbsPopover.hbs +2 -2
  281. package/src/BusyIndicator.hbs +1 -1
  282. package/src/BusyIndicator.js +2 -3
  283. package/src/Button.hbs +1 -1
  284. package/src/Button.js +28 -1
  285. package/src/Calendar.js +7 -0
  286. package/src/CardHeader.hbs +12 -5
  287. package/src/Carousel.hbs +1 -0
  288. package/src/Carousel.js +9 -0
  289. package/src/CheckBox.hbs +1 -0
  290. package/src/CheckBox.js +34 -1
  291. package/src/ColorPalette.js +5 -4
  292. package/src/ColorPalettePopover.hbs +7 -5
  293. package/src/ColorPalettePopover.js +2 -0
  294. package/src/ComboBox.hbs +1 -0
  295. package/src/ComboBox.js +91 -23
  296. package/src/ComboBoxPopover.hbs +1 -0
  297. package/src/DateComponentBase.js +6 -8
  298. package/src/DatePicker.js +10 -2
  299. package/src/DateRangePicker.js +22 -0
  300. package/src/Dialog.hbs +1 -1
  301. package/src/Dialog.js +5 -22
  302. package/src/Icon.js +10 -8
  303. package/src/Input.hbs +1 -1
  304. package/src/Input.js +107 -15
  305. package/src/InputPopover.hbs +2 -3
  306. package/src/Link.hbs +2 -1
  307. package/src/Link.js +32 -14
  308. package/src/List.js +14 -4
  309. package/src/ListItem.hbs +1 -0
  310. package/src/MessageStrip.hbs +1 -1
  311. package/src/MessageStrip.js +39 -2
  312. package/src/MultiComboBox.js +7 -3
  313. package/src/MultiComboBoxItem.js +1 -1
  314. package/src/MultiComboBoxPopover.hbs +1 -1
  315. package/src/Option.js +12 -1
  316. package/src/Panel.hbs +1 -1
  317. package/src/Panel.js +9 -0
  318. package/src/Popover.js +106 -57
  319. package/src/Popup.js +16 -2
  320. package/src/PopupBlockLayer.hbs +1 -1
  321. package/src/RadioButton.js +15 -3
  322. package/src/RatingIndicator.js +37 -7
  323. package/src/ResponsivePopover.hbs +2 -0
  324. package/src/ResponsivePopover.js +1 -0
  325. package/src/SegmentedButton.hbs +1 -0
  326. package/src/SegmentedButton.js +14 -1
  327. package/src/Select.js +2 -1
  328. package/src/SelectPopover.hbs +2 -1
  329. package/src/SliderBase.hbs +1 -1
  330. package/src/SliderBase.js +4 -0
  331. package/src/SplitButton.hbs +53 -0
  332. package/src/SplitButton.js +421 -0
  333. package/src/Switch.hbs +1 -0
  334. package/src/Switch.js +18 -0
  335. package/src/Tab.js +10 -6
  336. package/src/TabContainer.hbs +48 -58
  337. package/src/TabContainer.js +480 -108
  338. package/src/TabContainerPopover.hbs +9 -6
  339. package/src/TabInOverflow.hbs +0 -1
  340. package/src/TabInStrip.hbs +3 -8
  341. package/src/TabSeparator.js +42 -3
  342. package/src/TabSeparatorInOverflow.hbs +8 -0
  343. package/src/TabSeparatorInStrip.hbs +6 -0
  344. package/src/Table.hbs +1 -1
  345. package/src/Table.js +15 -5
  346. package/src/TextArea.js +9 -3
  347. package/src/TextAreaPopover.hbs +1 -1
  348. package/src/ToggleButton.js +5 -0
  349. package/src/Tokenizer.js +10 -3
  350. package/src/Tree.hbs +1 -0
  351. package/src/TreeItem.js +21 -0
  352. package/src/TreeListItem.js +8 -0
  353. package/src/features/InputSuggestions.js +88 -15
  354. package/src/i18n/messagebundle.properties +26 -1
  355. package/src/i18n/messagebundle_ar.properties +13 -1
  356. package/src/i18n/messagebundle_bg.properties +13 -1
  357. package/src/i18n/messagebundle_ca.properties +13 -1
  358. package/src/i18n/messagebundle_cs.properties +13 -1
  359. package/src/i18n/messagebundle_cy.properties +13 -1
  360. package/src/i18n/messagebundle_da.properties +13 -1
  361. package/src/i18n/messagebundle_de.properties +13 -1
  362. package/src/i18n/messagebundle_el.properties +13 -1
  363. package/src/i18n/messagebundle_en.properties +13 -1
  364. package/src/i18n/messagebundle_en_GB.properties +13 -1
  365. package/src/i18n/messagebundle_en_US_sappsd.properties +13 -1
  366. package/src/i18n/messagebundle_en_US_saprigi.properties +13 -1
  367. package/src/i18n/messagebundle_en_US_saptrc.properties +13 -1
  368. package/src/i18n/messagebundle_es.properties +13 -1
  369. package/src/i18n/messagebundle_es_MX.properties +13 -1
  370. package/src/i18n/messagebundle_et.properties +13 -1
  371. package/src/i18n/messagebundle_fi.properties +14 -2
  372. package/src/i18n/messagebundle_fr.properties +13 -1
  373. package/src/i18n/messagebundle_fr_CA.properties +13 -1
  374. package/src/i18n/messagebundle_hi.properties +13 -1
  375. package/src/i18n/messagebundle_hr.properties +13 -1
  376. package/src/i18n/messagebundle_hu.properties +13 -1
  377. package/src/i18n/messagebundle_id.properties +13 -1
  378. package/src/i18n/messagebundle_it.properties +13 -1
  379. package/src/i18n/messagebundle_iw.properties +13 -1
  380. package/src/i18n/messagebundle_ja.properties +13 -1
  381. package/src/i18n/messagebundle_kk.properties +13 -1
  382. package/src/i18n/messagebundle_ko.properties +13 -1
  383. package/src/i18n/messagebundle_lt.properties +13 -1
  384. package/src/i18n/messagebundle_lv.properties +13 -1
  385. package/src/i18n/messagebundle_ms.properties +13 -1
  386. package/src/i18n/messagebundle_nl.properties +13 -1
  387. package/src/i18n/messagebundle_no.properties +13 -1
  388. package/src/i18n/messagebundle_pl.properties +13 -1
  389. package/src/i18n/messagebundle_pt.properties +13 -1
  390. package/src/i18n/messagebundle_pt_PT.properties +13 -1
  391. package/src/i18n/messagebundle_ro.properties +13 -1
  392. package/src/i18n/messagebundle_ru.properties +13 -1
  393. package/src/i18n/messagebundle_sh.properties +13 -1
  394. package/src/i18n/messagebundle_sk.properties +13 -1
  395. package/src/i18n/messagebundle_sl.properties +13 -1
  396. package/src/i18n/messagebundle_sv.properties +13 -1
  397. package/src/i18n/messagebundle_th.properties +12 -0
  398. package/src/i18n/messagebundle_tr.properties +13 -1
  399. package/src/i18n/messagebundle_uk.properties +13 -1
  400. package/src/i18n/messagebundle_vi.properties +13 -1
  401. package/src/i18n/messagebundle_zh_CN.properties +13 -1
  402. package/src/i18n/messagebundle_zh_TW.properties +12 -0
  403. package/src/themes/Badge.css +3 -1
  404. package/src/themes/Breadcrumbs.css +100 -99
  405. package/src/themes/BrowserScrollbar.css +2 -0
  406. package/src/themes/BusyIndicator.css +3 -3
  407. package/src/themes/CardHeader.css +7 -3
  408. package/src/themes/CheckBox.css +15 -7
  409. package/src/themes/CustomListItem.css +2 -1
  410. package/src/themes/Dialog.css +1 -0
  411. package/src/themes/Input.css +14 -0
  412. package/src/themes/List.css +1 -0
  413. package/src/themes/Panel.css +4 -0
  414. package/src/themes/Popover.css +4 -0
  415. package/src/themes/PopupsCommon.css +0 -1
  416. package/src/themes/RadioButton.css +4 -3
  417. package/src/themes/RatingIndicator.css +0 -1
  418. package/src/themes/SliderBase.css +3 -2
  419. package/src/themes/SplitButton.css +98 -0
  420. package/src/themes/TabContainer.css +17 -53
  421. package/src/themes/TabInOverflow.css +25 -21
  422. package/src/themes/TabInStrip.css +124 -100
  423. package/src/themes/TabSeparatorInOverflow.css +8 -0
  424. package/src/themes/TabSeparatorInStrip.css +5 -0
  425. package/src/themes/Table.css +1 -1
  426. package/src/themes/TableColumn.css +0 -1
  427. package/src/themes/TextArea.css +9 -1
  428. package/src/themes/TimeSelection.css +4 -0
  429. package/src/themes/Token.css +2 -1
  430. package/src/themes/Tokenizer.css +1 -1
  431. package/src/themes/ValueStateMessage.css +3 -3
  432. package/src/themes/base/BrowserScrollbar-parameters.css +4 -0
  433. package/src/themes/base/Card-parameters.css +1 -1
  434. package/src/themes/base/Input-parameters.css +5 -0
  435. package/src/themes/base/TabContainer-parameters.css +1 -1
  436. package/src/themes/base/TextArea-parameters.css +1 -0
  437. package/src/themes/base/Token-parameters.css +1 -0
  438. package/src/themes/base/sizes-parameters.css +2 -2
  439. package/src/themes/sap_belize/BrowserScrollbar-parameters.css +4 -0
  440. package/src/themes/sap_belize/Table-parameters.css +3 -0
  441. package/src/themes/sap_belize/parameters-bundle.css +1 -0
  442. package/src/themes/sap_belize_hcb/BrowserScrollbar-parameters.css +4 -0
  443. package/src/themes/sap_belize_hcb/Input-parameters.css +1 -0
  444. package/src/themes/sap_belize_hcb/Table-parameters.css +1 -0
  445. package/src/themes/sap_belize_hcb/Token-parameters.css +1 -0
  446. package/src/themes/sap_belize_hcb/parameters-bundle.css +1 -0
  447. package/src/themes/sap_belize_hcw/BrowserScrollbar-parameters.css +4 -0
  448. package/src/themes/sap_belize_hcw/Input-parameters.css +1 -0
  449. package/src/themes/sap_belize_hcw/Table-parameters.css +1 -0
  450. package/src/themes/sap_belize_hcw/Token-parameters.css +1 -0
  451. package/src/themes/sap_belize_hcw/parameters-bundle.css +1 -0
  452. package/src/themes/sap_fiori_3/TabContainer-parameters.css +1 -1
  453. package/src/themes/sap_fiori_3/parameters-bundle.css +1 -0
  454. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
  455. package/src/themes/sap_fiori_3_hcb/Input-parameters.css +7 -0
  456. package/src/themes/sap_fiori_3_hcb/TextArea-parameters.css +2 -0
  457. package/src/themes/sap_fiori_3_hcb/Token-parameters.css +2 -1
  458. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
  459. package/src/themes/sap_fiori_3_hcw/Input-parameters.css +7 -0
  460. package/src/themes/sap_fiori_3_hcw/TextArea-parameters.css +2 -0
  461. package/src/themes/sap_fiori_3_hcw/Token-parameters.css +2 -1
  462. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
  463. package/src/themes/sap_horizon/Card-parameters.css +0 -1
  464. package/src/themes/sap_horizon/Table-parameters.css +1 -0
  465. package/src/themes/sap_horizon/parameters-bundle.css +1 -0
  466. package/src/themes/sap_horizon_exp/parameters-bundle.css +1 -0
  467. package/src/types/HasPopup.js +62 -0
  468. package/src/types/TabsOverflowMode.js +40 -0
  469. package/csp.js +0 -7
  470. package/dist/generated/templates/TabSeparatorTemplate.lit.js +0 -7
  471. package/src/TabSeparator.hbs +0 -1
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 { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
6
7
  import "@ui5/webcomponents-icons/dist/source-code.js";
7
8
  import {
8
9
  isEscape, isHome, isEnd, isUp, isDown, isRight, isLeft, isUpCtrl, isDownCtrl, isRightCtrl, isLeftCtrl, isPlus, isMinus, isPageUp, isPageDown,
@@ -229,6 +230,9 @@ class SliderBase extends UI5Element {
229
230
 
230
231
  get classes() {
231
232
  return {
233
+ root: {
234
+ "ui5-slider-root-phone": isPhone(),
235
+ },
232
236
  labelContainer: {
233
237
  "ui5-slider-hidden-labels": this._labelsOverlapping,
234
238
  },
@@ -0,0 +1,53 @@
1
+ <div
2
+ class="ui5-split-button-root"
3
+ role="group"
4
+ tabindex={{_tabIndex}}
5
+ aria-labelledby="{{_id}}-invisibleTextDefault {{_id}}-invisibleText"
6
+ @focusout={{_onFocusOut}}
7
+ @focusin={{_onFocusIn}}
8
+ @keydown={{_onKeyDown}}
9
+ @keyup={{_onKeyUp}}
10
+ >
11
+
12
+ <ui5-button
13
+ class="ui5-split-text-button"
14
+ design="{{design}}"
15
+ dir={{effectiveDir}}
16
+ icon="{{_textButtonIcon}}"
17
+ tabindex="-1"
18
+ ?disabled="{{disabled}}"
19
+ ?active="{{_textButtonActive}}"
20
+ @click="{{_fireClick}}"
21
+ @touchstart={{_textButtonPress}}
22
+ @mousedown={{_textButtonPress}}
23
+ @mouseup={{_textButtonRelease}}
24
+ @focusin={{_setTabIndexValue}}
25
+ @focusout={{_onFocusOut}}
26
+ >
27
+ <slot></slot>
28
+ </ui5-button>
29
+
30
+ <div
31
+ class="ui5-split-arrow-button-wrapper"
32
+ dir={{effectiveDir}}
33
+ >
34
+ <ui5-button
35
+ class="ui5-split-arrow-button"
36
+ design="{{design}}"
37
+ icon="slim-arrow-down"
38
+ tabindex="-1"
39
+ ?disabled="{{disabled}}"
40
+ ?active="{{_arrowButtonActive}}"
41
+ aria-expanded="{{accessibilityInfo.ariaExpanded}}"
42
+ aria-haspopup="{{accessibilityInfo.ariaHaspopup}}"
43
+ @click="{{_fireArrowClick}}"
44
+ @focusin={{_setTabIndexValue}}
45
+ @focusout={{_onFocusOut}}
46
+ >
47
+ </ui5-button>
48
+ </div>
49
+
50
+ <span id="{{_id}}-invisibleText" class="ui5-hidden-text">{{accessibilityInfo.description}} {{accessibilityInfo.keyboardHint}} {{accessibleName}}</span>
51
+ <span id="{{_id}}-invisibleTextDefault" class="ui5-hidden-text">{{textButtonAccText}}</span>
52
+
53
+ </div>
@@ -0,0 +1,421 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import {
3
+ isEscape,
4
+ isSpace,
5
+ isEnter,
6
+ isDown,
7
+ isUp,
8
+ isDownAlt,
9
+ isUpAlt,
10
+ isF4,
11
+ isShift,
12
+ } from "@ui5/webcomponents-base/dist/Keys.js";
13
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
14
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
15
+ import SplitButtonTemplate from "./generated/templates/SplitButtonTemplate.lit.js";
16
+ import ButtonDesign from "./types/ButtonDesign.js";
17
+
18
+ import {
19
+ SPLIT_BUTTON_DESCRIPTION,
20
+ SPLIT_BUTTON_KEYBOARD_HINT,
21
+ } from "./generated/i18n/i18n-defaults.js";
22
+
23
+ // Styles
24
+ import SplitButtonCss from "./generated/themes/SplitButton.css.js";
25
+
26
+ /**
27
+ * @public
28
+ */
29
+ const metadata = {
30
+ tag: "ui5-split-button",
31
+ managedSlots: true,
32
+ properties: /** @lends sap.ui.webcomponents.main.SplitButton.prototype */ {
33
+ /**
34
+ * Defines the icon to be displayed as graphical element within the component.
35
+ * The SAP-icons font provides numerous options.
36
+ * <br><br>
37
+ * Example:
38
+ *
39
+ * See all the available icons in the <ui5-link target="_blank" href="https://openui5.hana.ondemand.com/test-resources/sap/m/demokit/iconExplorer/webapp/index.html" class="api-table-content-cell-link">Icon Explorer</ui5-link>.
40
+ *
41
+ * @type {string}
42
+ * @defaultvalue ""
43
+ * @public
44
+ */
45
+ icon: {
46
+ type: String,
47
+ },
48
+
49
+ /**
50
+ * Defines the icon to be displayed in active state as graphical element within the component.
51
+ *
52
+ * @type {string}
53
+ * @defaultvalue ""
54
+ * @public
55
+ */
56
+ activeIcon: {
57
+ type: String,
58
+ },
59
+
60
+ /**
61
+ * Defines the component design.
62
+ *
63
+ * <br><br>
64
+ * <b>The available values are:</b>
65
+ *
66
+ * <ul>
67
+ * <li><code>Default</code></li>
68
+ * <li><code>Emphasized</code></li>
69
+ * <li><code>Positive</code></li>
70
+ * <li><code>Negative</code></li>
71
+ * <li><code>Transparent</code></li>
72
+ * <li><code>Attention</code></li>
73
+ * </ul>
74
+ *
75
+ * @type {ButtonDesign}
76
+ * @defaultvalue "Default"
77
+ * @public
78
+ */
79
+ design: {
80
+ type: ButtonDesign,
81
+ defaultValue: ButtonDesign.Default,
82
+ },
83
+
84
+ /**
85
+ * Defines whether the component is disabled.
86
+ * A disabled component can't be pressed or
87
+ * focused, and it is not in the tab chain.
88
+ *
89
+ * @type {boolean}
90
+ * @defaultvalue false
91
+ * @public
92
+ */
93
+ disabled: {
94
+ type: Boolean,
95
+ },
96
+
97
+ /**
98
+ * Sets the accessible aria name of the component.
99
+ *
100
+ * @type {String}
101
+ * @defaultvalue: ""
102
+ * @public
103
+ */
104
+ accessibleName: {
105
+ type: String,
106
+ defaultValue: undefined,
107
+ },
108
+
109
+ /**
110
+ * Indicates if the elements is on focus
111
+ * @type {boolean}
112
+ * @defaultvalue false
113
+ * @private
114
+ */
115
+ focused: {
116
+ type: Boolean,
117
+ },
118
+
119
+ /**
120
+ * Accessibility-related properties for inner elements of the Split Button
121
+ *
122
+ * @type {Object}
123
+ * @private
124
+ */
125
+ _splitButtonAccInfo: {
126
+ type: Object,
127
+ },
128
+
129
+ /**
130
+ * Defines the tabIndex of the component.
131
+ * @type {string}
132
+ * @defaultvalue ""
133
+ * @private
134
+ */
135
+ _tabIndex: {
136
+ type: String,
137
+ defaultValue: "0",
138
+ noAttribute: true,
139
+ },
140
+
141
+ /**
142
+ * Indicates if there is Space key pressed
143
+ * @type {boolean}
144
+ * @defaultvalue false
145
+ * @private
146
+ */
147
+ _spacePressed: {
148
+ type: Boolean,
149
+ noAttribute: true,
150
+ },
151
+
152
+ /**
153
+ * Indicates if there is SHIFT or ESCAPE key pressed
154
+ * @type {boolean}
155
+ * @defaultvalue false
156
+ * @private
157
+ */
158
+ _shiftOrEscapePressed: {
159
+ type: Boolean,
160
+ noAttribute: true,
161
+ },
162
+
163
+ /**
164
+ * Defines the active state of the text button
165
+ * @type {boolean}
166
+ * @defaultvalue false
167
+ * @private
168
+ */
169
+ _textButtonActive: {
170
+ type: Boolean,
171
+ noAttribute: true,
172
+ },
173
+
174
+ /**
175
+ * Defines the icon of the text button
176
+ * @type {string}
177
+ * @defaultvalue ""
178
+ * @private
179
+ */
180
+ _textButtonIcon: {
181
+ type: String,
182
+ noAttribute: true,
183
+ },
184
+
185
+ /**
186
+ * Defines the active state of the arrow button
187
+ * @type {boolean}
188
+ * @defaultvalue false
189
+ * @private
190
+ */
191
+ _arrowButtonActive: {
192
+ type: Boolean,
193
+ noAttribute: true,
194
+ },
195
+ },
196
+ slots: /** @lends sap.ui.webcomponents.main.SplitButton.prototype */ {
197
+ /**
198
+ * Defines the text of the component.
199
+ * <br><br>
200
+ * <b>Note:</b> Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.
201
+ *
202
+ * @type {Node[]}
203
+ * @slot
204
+ * @public
205
+ */
206
+ "default": {
207
+ type: Node,
208
+ propertyName: "text",
209
+ },
210
+ },
211
+ events: /** @lends sap.ui.webcomponents.main.SplitButton.prototype */ {
212
+ /**
213
+ * Fired when the user clicks on the default action.
214
+ */
215
+ "click": {},
216
+
217
+ /**
218
+ * Fired when the user clicks on the arrow action.
219
+ */
220
+ "arrow-click": {},
221
+ },
222
+ };
223
+
224
+ /**
225
+ * @class
226
+ *
227
+ * <h3 class="comment-api-title">Overview</h3>
228
+ *
229
+ * <code>ui5-split-button</code> enables users to trigger actions. It is constructed of two separate actions -
230
+ * default action and arrow action that can be activated by clicking or tapping, or by
231
+ * pressing certain keyboard keys - <code>Space</code> or <code>Enter</code> for default action,
232
+ * and <code>Arrow Down</code> or <code>Arrow Up</code> for arrow action.
233
+ *
234
+ * <h3>Usage</h3>
235
+ *
236
+ * <code>ui5-split-button</code> consists two separate buttons:
237
+ * <ul>
238
+ * <li>for the first one (default action) you can define some <code>text</code> or an <code>icon</code>, or both.
239
+ * Also, it is possible to define different icon for active state of this button - <code>activeIcon</code>.</li>
240
+ * <li>the second one (arrow action) contains only <code>slim-arrow-down</code> icon.</li>
241
+ * </ul>
242
+ * You can choose a <code>design</code> from a set of predefined types (the same as for ui5-button) that offer
243
+ * different styling to correspond to the triggered action. Both text and arrow actions have the same design.
244
+ * <br><br>
245
+ * You can set the <code>ui5-split-button</code> as enabled or disabled. Both parts of an enabled
246
+ * <code>ui5-split-button</code> can be pressed by clicking or tapping it, or by certain keys, which changes
247
+ * the style to provide visual feedback to the user that it is pressed or hovered over with
248
+ * the mouse cursor. A disabled <code>ui5-split-button</code> appears inactive and any of the two buttons
249
+ * cannot be pressed.
250
+ * <br><br>
251
+ * <b>Keyboard handing</b>
252
+ * <ul>
253
+ * <li><code>Space</code> or <code>Enter</code> - triggers the default action</li>
254
+ * <li><code>Shift</code> or <code>Escape</code> - if <code>Space</code> is pressed, releases the default action button without triggering the click event.</li>
255
+ * <li><code>Arrow Down</code>, <code>Arrow Up</code>, <code>Alt</code>+<code>Arrow Down</code>, <code>Alt</code>+<code>Arrow Up</code>, or <code>F4</code> - triggers the arrow action
256
+ * There are separate events that are fired on activating of <code>ui5-split-button</code> parts:
257
+ * <ul>
258
+ * <li><code>click</code> for the first button (default action)</li>
259
+ * <li><code>arrow-click</code> for the second button (arrow action)</li>
260
+ * </ul>
261
+ *
262
+ * <h3>ES6 Module Import</h3>
263
+ *
264
+ * <code>import @ui5/webcomponents/dist/SplitButton.js";</code>
265
+ *
266
+ * @constructor
267
+ * @author SAP SE
268
+ * @alias sap.ui.webcomponents.main.SplitButton
269
+ * @extends UI5Element
270
+ * @tagname ui5-split-button
271
+ * @public
272
+ * @since 1.1.0
273
+ */
274
+ class SplitButton extends UI5Element {
275
+ static get metadata() {
276
+ return metadata;
277
+ }
278
+
279
+ static get render() {
280
+ return litRender;
281
+ }
282
+
283
+ static get styles() {
284
+ return SplitButtonCss;
285
+ }
286
+
287
+ static get template() {
288
+ return SplitButtonTemplate;
289
+ }
290
+
291
+ static async onDefine() {
292
+ SplitButton.i18nBundle = await getI18nBundle("@ui5/webcomponents");
293
+ }
294
+
295
+ onBeforeRendering() {
296
+ this._textButtonIcon = this.textButton && this.activeIcon !== "" && (this._textButtonActive) && !this._shiftOrEscapePressed ? this.activeIcon : this.icon;
297
+ if (this.disabled) {
298
+ this._tabIndex = "-1";
299
+ }
300
+ }
301
+
302
+ _onFocusOut(event) {
303
+ if (this.disabled || event.isMarked) {
304
+ return;
305
+ }
306
+ this._shiftOrEscapePressed = false;
307
+ this.focused = false;
308
+ this._setTabIndexValue();
309
+ }
310
+
311
+ _onFocusIn(event) {
312
+ if (this.disabled || event.isMarked) {
313
+ return;
314
+ }
315
+ this._shiftOrEscapePressed = false;
316
+ this.focused = true;
317
+ }
318
+
319
+ _onKeyDown(event) {
320
+ if (isDown(event) || isUp(event) || isDownAlt(event) || isUpAlt(event) || isF4(event)) {
321
+ event.preventDefault();
322
+ this._arrowButtonActive = true;
323
+ this._fireArrowClick();
324
+ } else if (isSpace(event) || isEnter(event)) {
325
+ event.preventDefault();
326
+ this._textButtonActive = true;
327
+ if (isEnter(event)) {
328
+ this._fireClick();
329
+ } else {
330
+ this._spacePressed = true;
331
+ }
332
+ }
333
+ if (this._spacePressed && (isEscape(event) || isShift(event))) {
334
+ this._shiftOrEscapePressed = true;
335
+ this._textButtonActive = false;
336
+ }
337
+
338
+ this._setTabIndexValue();
339
+ }
340
+
341
+ _onKeyUp(event) {
342
+ if (isDown(event) || isUp(event) || isDownAlt(event) || isUpAlt(event) || isF4(event)) {
343
+ this._arrowButtonActive = false;
344
+ } else if (isSpace(event) || isEnter(event)) {
345
+ this._textButtonActive = false;
346
+ if (isSpace(event)) {
347
+ event.preventDefault();
348
+ event.stopPropagation();
349
+ this._fireClick();
350
+ this._spacePressed = false;
351
+ }
352
+ }
353
+
354
+ this._setTabIndexValue();
355
+ }
356
+
357
+ _fireClick(event) {
358
+ event && event.stopPropagation();
359
+ if (!this._shiftOrEscapePressed) {
360
+ this.fireEvent("click");
361
+ }
362
+ this._shiftOrEscapePressed = false;
363
+ }
364
+
365
+ _fireArrowClick(event) {
366
+ event && event.stopPropagation();
367
+ this.fireEvent("arrow-click");
368
+ }
369
+
370
+ _textButtonRelease() {
371
+ this._textButtonActive = false;
372
+ this._textButtonIcon = this.textButton && this.activeIcon !== "" && (this._textButtonActive) && !this._shiftOrEscapePressed ? this.activeIcon : this.icon;
373
+ this._setTabIndexValue();
374
+ }
375
+
376
+ _textButtonPress() {
377
+ this._textButtonActive = true;
378
+ this.focused = false;
379
+ this._setTabIndexValue();
380
+ }
381
+
382
+ _setTabIndexValue() {
383
+ const textButton = this.textButton,
384
+ arrowButton = this.arrowButton,
385
+ buttonsAction = (textButton && (textButton.focused || textButton.active))
386
+ || (arrowButton && (arrowButton.focused || arrowButton.active));
387
+
388
+ this._tabIndex = this.disabled || buttonsAction ? "-1" : "0";
389
+ }
390
+
391
+ get textButtonAccText() {
392
+ return this.text[0].textContent;
393
+ }
394
+
395
+ get textButton() {
396
+ return this.getDomRef() && this.getDomRef().querySelector(".ui5-split-text-button");
397
+ }
398
+
399
+ get arrowButton() {
400
+ return this.getDomRef() && this.getDomRef().querySelector(".ui5-split-arrow-button");
401
+ }
402
+
403
+ get accessibilityInfo() {
404
+ return {
405
+ // affects arrow button
406
+ ariaExpanded: this._splitButtonAccInfo && this._splitButtonAccInfo.ariaExpanded,
407
+ ariaHaspopup: this._splitButtonAccInfo && this._splitButtonAccInfo.ariaHaspopup,
408
+ // affects root element
409
+ description: SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION),
410
+ keyboardHint: SplitButton.i18nBundle.getText(SPLIT_BUTTON_KEYBOARD_HINT),
411
+ };
412
+ }
413
+
414
+ get ariaLabelText() {
415
+ return [SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION), SplitButton.i18nBundle.getText(SPLIT_BUTTON_KEYBOARD_HINT)].join(" ");
416
+ }
417
+ }
418
+
419
+ SplitButton.define();
420
+
421
+ export default SplitButton;
package/src/Switch.hbs CHANGED
@@ -1,6 +1,7 @@
1
1
  <div
2
2
  class="ui5-switch-root {{classes.main}}"
3
3
  role="checkbox"
4
+ aria-label="{{ariaLabelText}}"
4
5
  aria-checked="{{checked}}"
5
6
  aria-disabled="{{ariaDisabled}}"
6
7
  aria-labelledby="{{_id}}-hiddenText"
package/src/Switch.js CHANGED
@@ -3,6 +3,7 @@ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
3
  import { isSpace, isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
4
4
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
5
5
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
6
+ import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
6
7
  import "@ui5/webcomponents-icons/dist/accept.js";
7
8
  import "@ui5/webcomponents-icons/dist/decline.js";
8
9
  import "@ui5/webcomponents-icons/dist/less.js";
@@ -95,6 +96,19 @@ const metadata = {
95
96
  textOff: {
96
97
  type: String,
97
98
  },
99
+
100
+ /**
101
+ * Receives id(or many ids) of the elements that label the component.
102
+ *
103
+ * @type {String}
104
+ * @defaultvalue ""
105
+ * @public
106
+ * @since 1.1.0
107
+ */
108
+ accessibleNameRef: {
109
+ type: String,
110
+ defaultValue: "",
111
+ },
98
112
  },
99
113
  events: /** @lends sap.ui.webcomponents.main.Switch.prototype */ {
100
114
 
@@ -248,6 +262,10 @@ class Switch extends UI5Element {
248
262
  return this.checked ? this.accessibilityOnText : this.accessibilityOffText;
249
263
  }
250
264
 
265
+ get ariaLabelText() {
266
+ return getEffectiveAriaLabelText(this);
267
+ }
268
+
251
269
  static get dependencies() {
252
270
  return [Icon];
253
271
  }
package/src/Tab.js CHANGED
@@ -56,7 +56,7 @@ const metadata = {
56
56
  },
57
57
 
58
58
  /**
59
- * Represents the "additionalText" text, which is displayed in the tab filter.
59
+ * Represents the "additionalText" text, which is displayed in the tab.
60
60
  * @type {string}
61
61
  * @defaultvalue ""
62
62
  * @public
@@ -118,6 +118,10 @@ const metadata = {
118
118
  defaultValue: "-1",
119
119
  noAttribute: true,
120
120
  },
121
+
122
+ _selected: {
123
+ type: Boolean,
124
+ },
121
125
  },
122
126
  events: /** @lends sap.ui.webcomponents.main.Tab.prototype */ {
123
127
  },
@@ -192,7 +196,7 @@ class Tab extends UI5Element {
192
196
  }
193
197
 
194
198
  get stableDomRef() {
195
- return `${this._id}-stable-dom-ref`;
199
+ return this.getAttribute("stable-dom-ref") || `${this._id}-stable-dom-ref`;
196
200
  }
197
201
 
198
202
  /**
@@ -234,11 +238,11 @@ class Tab extends UI5Element {
234
238
  }
235
239
 
236
240
  get effectiveSelected() {
237
- return this.selected || false;
241
+ return this.selected || this._selected;
238
242
  }
239
243
 
240
244
  get effectiveHidden() {
241
- return !this.selected;
245
+ return !this.effectiveSelected;
242
246
  }
243
247
 
244
248
  get ariaLabelledBy() {
@@ -259,10 +263,10 @@ class Tab extends UI5Element {
259
263
  return labels.join(" ");
260
264
  }
261
265
 
262
- get headerClasses() {
266
+ get stripClasses() {
263
267
  const classes = ["ui5-tab-strip-item"];
264
268
 
265
- if (this.selected) {
269
+ if (this.effectiveSelected) {
266
270
  classes.push("ui5-tab-strip-item--selected");
267
271
  }
268
272