@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
@@ -3,17 +3,20 @@
3
3
  horizontal-align="Right"
4
4
  placement-type="Bottom"
5
5
  content-only-on-desktop
6
- with-padding
7
6
  hide-arrow
8
7
  _hide-header
9
8
  class="ui5-tab-container-responsive-popover"
10
9
  >
11
- <ui5-list @ui5-item-press="{{_onOverflowListItemSelect}}">
12
- {{#each items}}
13
- {{#unless this.isSeparator}}
10
+ <ui5-list mode="SingleSelect" separators="None" @ui5-item-click="{{_onOverflowListItemClick}}">
11
+ {{#if _endOverflowItems.length}}
12
+ {{#each _endOverflowItems}}
14
13
  {{this.overflowPresentation}}
15
- {{/unless}}
16
- {{/each}}
14
+ {{/each}}
15
+ {{else}}
16
+ {{#each _startOverflowItems}}
17
+ {{this.overflowPresentation}}
18
+ {{/each}}
19
+ {{/if}}
17
20
  </ui5-list>
18
21
  <div slot="footer" class="ui5-responsive-popover-footer">
19
22
  <ui5-button
@@ -2,7 +2,6 @@
2
2
  id="{{this._id}}"
3
3
  class="{{this.overflowClasses}}"
4
4
  type="{{this.overflowState}}"
5
- ?selected="{{this.effectiveSelected}}"
6
5
  ?disabled="{{this.effectiveDisabled}}"
7
6
  aria-disabled="{{this.effectiveDisabled}}"
8
7
  aria-selected="{{this.effectiveSelected}}"
@@ -1,5 +1,5 @@
1
- <li id="{{this._id}}"
2
- class="{{this.headerClasses}}"
1
+ <div id="{{this._id}}"
2
+ class="{{this.stripClasses}}"
3
3
  tabindex="{{this._tabIndex}}"
4
4
  role="tab"
5
5
  aria-posinset="{{this._posinset}}"
@@ -11,7 +11,6 @@
11
11
  aria-labelledby="{{this.ariaLabelledBy}}"
12
12
  data-ui5-stable="{{this.stableDomRef}}"
13
13
  >
14
-
15
14
  {{#if this.icon}}
16
15
  <div class="ui5-tab-strip-item-icon-outer">
17
16
  <ui5-icon name="{{this.icon}}" class="ui5-tab-strip-item-icon"></ui5-icon>
@@ -19,7 +18,6 @@
19
18
  {{/if}}
20
19
 
21
20
  <div class="ui5-tab-strip-itemContent">
22
-
23
21
  {{#unless this._isInline}}
24
22
  {{> additionalText}}
25
23
  {{/unless}}
@@ -30,12 +28,9 @@
30
28
  {{this.displayText}}
31
29
  </span>
32
30
  {{/if}}
33
-
34
31
  </div>
32
+ </div>
35
33
 
36
- </li>
37
-
38
- <!-- Additional text -->
39
34
  {{#*inline additionalText}}
40
35
  {{#if this.additionalText}}
41
36
  <span class="ui5-tab-strip-itemAdditionalText" id="{{this._id}}-additionalText">{{this.additionalText}}</span>
@@ -1,6 +1,16 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
- import TabSeparatorTemplate from "./generated/templates/TabSeparatorTemplate.lit.js";
3
+ import executeTemplate from "@ui5/webcomponents-base/dist/renderer/executeTemplate.js";
4
+
5
+ import TabContainer from "./TabContainer.js";
6
+
7
+ // Templates
8
+ import TabSeparatorInStripTemplate from "./generated/templates/TabSeparatorInStripTemplate.lit.js";
9
+ import TabSeparatorInOverflowTemplate from "./generated/templates/TabSeparatorInOverflowTemplate.lit.js";
10
+
11
+ // Styles
12
+ import stripCss from "./generated/themes/TabSeparatorInStrip.css.js";
13
+ import overflowCss from "./generated/themes/TabSeparatorInOverflow.css.js";
4
14
 
5
15
  /**
6
16
  * @public
@@ -30,15 +40,44 @@ class TabSeparator extends UI5Element {
30
40
  return litRender;
31
41
  }
32
42
 
33
- static get template() {
34
- return TabSeparatorTemplate;
43
+ static get stripTemplate() {
44
+ return TabSeparatorInStripTemplate;
45
+ }
46
+
47
+ static get overflowTemplate() {
48
+ return TabSeparatorInOverflowTemplate;
49
+ }
50
+
51
+ get classes() {
52
+ return {
53
+ "ui5-tc__separator": true,
54
+ };
35
55
  }
36
56
 
37
57
  get isSeparator() {
38
58
  return true;
39
59
  }
60
+
61
+ getTabInStripDomRef() {
62
+ return this._getTabInStripDomRef;
63
+ }
64
+
65
+ get stableDomRef() {
66
+ return this.getAttribute("stable-dom-ref") || `${this._id}-stable-dom-ref`;
67
+ }
68
+
69
+ get stripPresentation() {
70
+ return executeTemplate(this.constructor.stripTemplate, this);
71
+ }
72
+
73
+ get overflowPresentation() {
74
+ return executeTemplate(this.constructor.overflowTemplate, this);
75
+ }
40
76
  }
41
77
 
42
78
  TabSeparator.define();
43
79
 
80
+ TabContainer.registerTabStyles(stripCss);
81
+ TabContainer.registerStaticAreaTabStyles(overflowCss);
82
+
44
83
  export default TabSeparator;
@@ -0,0 +1,8 @@
1
+ <ui5-li-custom
2
+ id="{{this._id}}"
3
+ data-ui5-stable="{{this.stableDomRef}}"
4
+ role="separator"
5
+ class="{{classes}}"
6
+ disabled
7
+ >
8
+ </ui5-li-custom>
@@ -0,0 +1,6 @@
1
+ <div
2
+ id="{{this._id}}"
3
+ data-ui5-stable="{{this.stableDomRef}}"
4
+ role="separator"
5
+ class="{{classes}}"
6
+ ></div>
package/src/Table.hbs CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  <table border="0" cellspacing="0" cellpadding="0" @keydown="{{_onkeydown}}" role="table">
7
7
  <thead>
8
- <tr id="{{_columnHeader.id}}" role="row" class="ui5-table-header-row" aria-label="{{ariaLabelText}}" tabindex="{{_columnHeader._tabIndex}}" style="{{styles.table}}" @click="{{_onColumnHeaderClick}}">
8
+ <tr id="{{_columnHeader.id}}" role="row" class="ui5-table-header-row" aria-label="{{ariaLabelText}}" tabindex="{{_columnHeader._tabIndex}}" @click="{{_onColumnHeaderClick}}">
9
9
  {{#if isMultiSelect}}
10
10
  <th class="ui5-table-select-all-column" role="presentation" aria-hidden="true">
11
11
  <ui5-checkbox class="ui5-table-select-all-checkbox"
package/src/Table.js CHANGED
@@ -36,6 +36,7 @@ const GROWING_WITH_SCROLL_DEBOUNCE_RATE = 250; // ms
36
36
  const metadata = {
37
37
  tag: "ui5-table",
38
38
  managedSlots: true,
39
+ fastNavigation: true,
39
40
  slots: /** @lends sap.ui.webcomponents.main.Table.prototype */ {
40
41
 
41
42
  /**
@@ -51,6 +52,7 @@ const metadata = {
51
52
  propertyName: "rows",
52
53
  type: HTMLElement,
53
54
  individualSlots: true,
55
+ invalidateOnChildChange: true,
54
56
  },
55
57
 
56
58
  /**
@@ -143,7 +145,7 @@ const metadata = {
143
145
  * <code>None</code> (default) - The growing is off.
144
146
  * <br><br>
145
147
  *
146
- * <b>Limitations:</b> <code>growing="Scroll"</code> is not supported for Internet Explorer,
148
+ * <b>Restrictions:</b> <code>growing="Scroll"</code> is not supported for Internet Explorer,
147
149
  * and the component will fallback to <code>growing="Button"</code>.
148
150
  * @type {TableGrowingMode}
149
151
  * @defaultvalue "None"
@@ -186,7 +188,7 @@ const metadata = {
186
188
  * Determines whether the column headers remain fixed at the top of the page during
187
189
  * vertical scrolling as long as the Web Component is in the viewport.
188
190
  * <br><br>
189
- * <b>Limitations:</b>
191
+ * <b>Restrictions:</b>
190
192
  * <ul>
191
193
  * <li>Browsers that do not support this feature:
192
194
  * <ul>
@@ -364,6 +366,14 @@ const metadata = {
364
366
  * <br><br>
365
367
  * <b>Note:</b> Currently, when a column is shown as a pop-in, the visual indication for selection is not presented over it.
366
368
  *
369
+ * <h3>Keyboard Handling</h3>
370
+ *
371
+ * <h4>Fast Navigation</h4>
372
+ * This component provides a build in fast navigation group which can be used via <code>F6 / Shift + F6</code> or <code> Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up</code>.
373
+ * In order to use this functionality, you need to import the following module:
374
+ * <code>import "@ui5/webcomponents-base/dist/features/F6Navigation.js"</code>
375
+ * <br><br>
376
+ *
367
377
  * <h3>ES6 Module Import</h3>
368
378
  *
369
379
  * <code>import "@ui5/webcomponents/dist/Table.js";</code>
@@ -434,6 +444,7 @@ class Table extends UI5Element {
434
444
  const columnSettings = this.getColumnPropagationSettings();
435
445
  const columnSettingsString = JSON.stringify(columnSettings);
436
446
  const rowsCount = this.rows.length;
447
+ const selectedRows = this.selectedRows;
437
448
 
438
449
  this.rows.forEach((row, index) => {
439
450
  if (row._columnsInfoString !== columnSettingsString) {
@@ -455,6 +466,8 @@ class Table extends UI5Element {
455
466
 
456
467
  this._noDataDisplayed = !this.rows.length && !this.hideNoData;
457
468
  this.visibleColumnsCount = this.visibleColumns.length;
469
+
470
+ this._allRowsSelected = selectedRows.length === this.rows.length;
458
471
  }
459
472
 
460
473
  onAfterRendering() {
@@ -688,9 +701,6 @@ class Table extends UI5Element {
688
701
 
689
702
  get styles() {
690
703
  return {
691
- table: {
692
- height: "48px",
693
- },
694
704
  busy: {
695
705
  position: this.busyIndPosition,
696
706
  },
package/src/TextArea.js CHANGED
@@ -24,6 +24,7 @@ import {
24
24
  // Styles
25
25
  import styles from "./generated/themes/TextArea.css.js";
26
26
  import valueStateMessageStyles from "./generated/themes/ValueStateMessage.css.js";
27
+ import browserScrollbarCSS from "./generated/themes/BrowserScrollbar.css.js";
27
28
 
28
29
  /**
29
30
  * @public
@@ -360,7 +361,7 @@ class TextArea extends UI5Element {
360
361
  }
361
362
 
362
363
  static get styles() {
363
- return styles;
364
+ return [browserScrollbarCSS, styles];
364
365
  }
365
366
 
366
367
  static get render() {
@@ -570,6 +571,7 @@ class TextArea extends UI5Element {
570
571
 
571
572
  get styles() {
572
573
  const lineHeight = 1.4 * 16;
574
+ const mainHeight = (this.rows * lineHeight) + (this.showExceededText ? 32 : 0);
573
575
 
574
576
  return {
575
577
  mirror: {
@@ -577,7 +579,7 @@ class TextArea extends UI5Element {
577
579
  },
578
580
  main: {
579
581
  width: "100%",
580
- height: (this.rows && !this.growing) ? `${this.rows * lineHeight}px` : "100%",
582
+ height: (this.rows && !this.growing) ? `${mainHeight}px` : "100%",
581
583
  },
582
584
  focusDiv: {
583
585
  "height": (this.showExceededText ? "calc(100% - 26px)" : "100%"),
@@ -632,7 +634,7 @@ class TextArea extends UI5Element {
632
634
  }
633
635
 
634
636
  get displayValueStateMessagePopover() {
635
- return this.hasCustomValueState || this.hasValueState || this.exceeding;
637
+ return !this.readonly && (this.hasCustomValueState || this.hasValueState || this.exceeding);
636
638
  }
637
639
 
638
640
  get hasCustomValueState() {
@@ -655,6 +657,10 @@ class TextArea extends UI5Element {
655
657
  return this.valueStateTextMappings()[this.valueState];
656
658
  }
657
659
 
660
+ get _valueStatePopoverHorizontalAlign() {
661
+ return this.effectiveDir !== "rtl" ? "Left" : "Right";
662
+ }
663
+
658
664
  /**
659
665
  * This method is relevant for sap_horizon theme only
660
666
  */
@@ -8,7 +8,7 @@
8
8
  class="ui5-valuestatemessage-popover"
9
9
  style="{{styles.valueStateMsgPopover}}"
10
10
  placement-type="Bottom"
11
- horizontal-align="Left"
11
+ horizontal-align="{{_valueStatePopoverHorizontalAlign}}"
12
12
  >
13
13
  <div slot="header" class="ui5-valuestatemessage-root {{classes.valueStateMsg}}">
14
14
  <ui5-icon class="ui5-input-value-state-message-icon" name="{{_valueStateMessageIcon}}"></ui5-icon>
@@ -1,5 +1,6 @@
1
1
  import isLegacyBrowser from "@ui5/webcomponents-base/dist/isLegacyBrowser.js";
2
2
  import { isSpaceShift } from "@ui5/webcomponents-base/dist/Keys.js";
3
+ import { isSafari } from "@ui5/webcomponents-base/dist/Device.js";
3
4
  import Button from "./Button.js";
4
5
  import ToggleButtonTemplate from "./generated/templates/ToggleButtonTemplate.lit.js";
5
6
 
@@ -67,6 +68,10 @@ class ToggleButton extends Button {
67
68
 
68
69
  _onclick() {
69
70
  this.pressed = !this.pressed;
71
+
72
+ if (isSafari()) {
73
+ this.getDomRef().focus();
74
+ }
70
75
  }
71
76
 
72
77
  _onkeyup(event) {
package/src/Tokenizer.js CHANGED
@@ -250,7 +250,7 @@ class Tokenizer extends UI5Element {
250
250
  }
251
251
 
252
252
  _handleTokenSelection(event) {
253
- if (event.target.localName === "ui5-token") {
253
+ if (event.target.hasAttribute("ui5-token")) {
254
254
  this._tokens.forEach(token => {
255
255
  if (token !== event.target) {
256
256
  token.selected = false;
@@ -299,13 +299,20 @@ class Tokenizer extends UI5Element {
299
299
  return [];
300
300
  }
301
301
 
302
+ // Reset the overflow prop of the tokens first in order
303
+ // to use their dimensions for calculation because already
304
+ // hidden tokens are set to 'display: none'
305
+ this._getTokens().forEach(token => {
306
+ token.overflows = false;
307
+ });
308
+
302
309
  return this._getTokens().filter(token => {
303
310
  const isRTL = this.effectiveDir === "rtl";
304
311
  const elementEnd = isRTL ? "left" : "right";
305
312
  const parentRect = this.contentDom.getBoundingClientRect();
306
313
  const tokenRect = token.getBoundingClientRect();
307
- const tokenEnd = tokenRect[elementEnd];
308
- const parentEnd = parentRect[elementEnd];
314
+ const tokenEnd = parseInt(tokenRect[elementEnd]);
315
+ const parentEnd = parseInt(parentRect[elementEnd]);
309
316
 
310
317
  token.overflows = isRTL ? ((tokenEnd < parentEnd) && !this.expanded) : ((tokenEnd > parentEnd) && !this.expanded);
311
318
 
package/src/Tree.hbs CHANGED
@@ -15,6 +15,7 @@
15
15
  type="Active"
16
16
  level="{{this.level}}"
17
17
  icon="{{this.treeItem.icon}}"
18
+ ?indeterminate="{{this.treeItem.indeterminate}}"
18
19
  additional-text="{{this.treeItem.additionalText}}"
19
20
  additional-text-state="{{this.treeItem.additionalTextState}}"
20
21
  title="{{this.treeItem.title}}"
package/src/TreeItem.js CHANGED
@@ -29,6 +29,27 @@ const metadata = {
29
29
  expanded: {
30
30
  type: Boolean,
31
31
  },
32
+ /**
33
+ * Defines whether the selection of a tree node is displayed as partially selected.
34
+ * <br><br>
35
+ * <b>Note:</b> The indeterminate state can be set only programatically and can’t be achieved by user
36
+ * interaction, meaning that the resulting visual state depends on the values of the <code>indeterminate</code>
37
+ * and <code>selected</code> properties:
38
+ * <ul>
39
+ * <li> If a tree node has both <code>selected</code> and <code>indeterminate</code> set to <code>true</code>, it is displayed as partially selected.
40
+ * <li> If a tree node has <code>selected</code> set to <code>true</code> and <code>indeterminate</code> set to <code>false</code>, it is displayed as selected.
41
+ * <li> If a tree node has <code>selected</code> set to <code>false</code>, it is displayed as not selected regardless of the value of the <code>indeterminate</code> property.
42
+ * </ul>
43
+ * <br>
44
+ * <b>Note:</b> This property takes effect only when the <code>ui5-tree</code> is in <code>MultiSelect</code> mode.
45
+ * @type {boolean}
46
+ * @defaultvalue false
47
+ * @public
48
+ * @since 1.1.0
49
+ */
50
+ indeterminate: {
51
+ type: Boolean,
52
+ },
32
53
 
33
54
  /**
34
55
  * Defines whether the tree node has children, even if currently no other tree nodes are slotted inside.
@@ -72,6 +72,14 @@ const metadata = {
72
72
  type: Boolean,
73
73
  },
74
74
 
75
+ /**
76
+ * @private
77
+ * @since 1.1.0
78
+ */
79
+ indeterminate: {
80
+ type: Boolean,
81
+ },
82
+
75
83
  /**
76
84
  * Defines the <code>additionalText</code>, displayed in the end of the tree item.
77
85
  * @type {string}
@@ -1,6 +1,6 @@
1
1
  import { registerFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
2
2
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
- import encodeXML from "@ui5/webcomponents-base/dist/util/encodeXML.js";
3
+ import encodeXML from "@ui5/webcomponents-base/dist/sap/base/security/encodeXML.js";
4
4
  import generateHighlightedMarkup from "@ui5/webcomponents-base/dist/util/generateHighlightedMarkup.js";
5
5
  import List from "../List.js";
6
6
  import ResponsivePopover from "../ResponsivePopover.js";
@@ -111,6 +111,64 @@ class Suggestions {
111
111
  return false;
112
112
  }
113
113
 
114
+ onPageUp(event) {
115
+ event.preventDefault();
116
+
117
+ const isItemIndexValid = this.selectedItemIndex - 10 > -1;
118
+
119
+ if (this._hasValueState && !isItemIndexValid) {
120
+ this._focusValueState();
121
+ return true;
122
+ }
123
+
124
+ this._moveItemSelection(this.selectedItemIndex,
125
+ isItemIndexValid ? this.selectedItemIndex -= 10 : this.selectedItemIndex = 0);
126
+ return true;
127
+ }
128
+
129
+ onPageDown(event) {
130
+ event.preventDefault();
131
+
132
+ const items = this._getItems();
133
+ const lastItemIndex = items.length - 1;
134
+ const isItemIndexValid = this.selectedItemIndex + 10 <= lastItemIndex;
135
+
136
+ if (this._hasValueState && !items) {
137
+ this._focusValueState();
138
+ return true;
139
+ }
140
+
141
+ this._moveItemSelection(this.selectedItemIndex,
142
+ isItemIndexValid ? this.selectedItemIndex += 10 : this.selectedItemIndex = lastItemIndex);
143
+ return true;
144
+ }
145
+
146
+ onHome(event) {
147
+ event.preventDefault();
148
+
149
+ if (this._hasValueState) {
150
+ this._focusValueState();
151
+ return true;
152
+ }
153
+
154
+ this._moveItemSelection(this.selectedItemIndex, this.selectedItemIndex = 0);
155
+ return true;
156
+ }
157
+
158
+ onEnd(event) {
159
+ event.preventDefault();
160
+
161
+ const lastItemIndex = this._getItems().length - 1;
162
+
163
+ if (this._hasValueState && !lastItemIndex) {
164
+ this._focusValueState();
165
+ return true;
166
+ }
167
+
168
+ this._moveItemSelection(this.selectedItemIndex, this.selectedItemIndex = lastItemIndex);
169
+ return true;
170
+ }
171
+
114
172
  onTab(event) {
115
173
  if (this._isItemOnTarget()) {
116
174
  this.onItemSelected(null, true);
@@ -200,7 +258,7 @@ class Suggestions {
200
258
 
201
259
  /* Private methods */
202
260
  onItemPress(oEvent) {
203
- this.onItemSelected(oEvent.detail.item, false /* keyboardUsed */);
261
+ this.onItemSelected(oEvent.detail.selectedItems[0], false /* keyboardUsed */);
204
262
  }
205
263
 
206
264
  _beforeOpen() {
@@ -210,8 +268,8 @@ class Suggestions {
210
268
 
211
269
  async _attachItemsListeners() {
212
270
  const list = await this._getList();
213
- list.removeEventListener("ui5-item-press", this.fnOnSuggestionItemPress);
214
- list.addEventListener("ui5-item-press", this.fnOnSuggestionItemPress);
271
+ list.removeEventListener("ui5-selection-change", this.fnOnSuggestionItemPress);
272
+ list.addEventListener("ui5-selection-change", this.fnOnSuggestionItemPress);
215
273
  list.removeEventListener("ui5-item-focused", this.fnOnSuggestionItemFocus);
216
274
  list.addEventListener("ui5-item-focused", this.fnOnSuggestionItemFocus);
217
275
  list.removeEventListener("mouseover", this.fnOnSuggestionItemMouseOver);
@@ -284,19 +342,14 @@ class Suggestions {
284
342
  _selectNextItem() {
285
343
  const itemsCount = this._getItems().length;
286
344
  const previousSelectedIdx = this.selectedItemIndex;
287
- const hasValueState = this.component.hasValueStateMessage;
288
-
289
- if (hasValueState && previousSelectedIdx === null && !this.component._isValueStateFocused) {
290
- this.component._isValueStateFocused = true;
291
- this.component.focused = false;
292
- this.component.hasSuggestionItemSelected = false;
293
- this.selectedItemIndex = null;
294
345
 
346
+ if (this._hasValueState && previousSelectedIdx === null && !this.component._isValueStateFocused) {
347
+ this._focusValueState();
295
348
  return;
296
349
  }
297
350
 
298
- if ((previousSelectedIdx === null && !hasValueState) || this.component._isValueStateFocused) {
299
- this.component._isValueStateFocused = false;
351
+ if ((previousSelectedIdx === null && !this._hasValueState) || this.component._isValueStateFocused) {
352
+ this._clearValueStateFocus();
300
353
  --this.selectedItemIndex;
301
354
  }
302
355
 
@@ -310,9 +363,8 @@ class Suggestions {
310
363
  _selectPreviousItem() {
311
364
  const items = this._getItems();
312
365
  const previousSelectedIdx = this.selectedItemIndex;
313
- const hasValueState = this.component.hasValueStateMessage;
314
366
 
315
- if (hasValueState && previousSelectedIdx === 0 && !this.component._isValueStateFocused) {
367
+ if (this._hasValueState && previousSelectedIdx === 0 && !this.component._isValueStateFocused) {
316
368
  this.component.hasSuggestionItemSelected = false;
317
369
  this.component._isValueStateFocused = true;
318
370
  this.selectedItemIndex = null;
@@ -358,6 +410,7 @@ class Suggestions {
358
410
  }
359
411
 
360
412
  this.component.focused = false;
413
+ this._clearValueStateFocus();
361
414
 
362
415
  this.accInfo = {
363
416
  currentPos: nextIdx + 1,
@@ -496,6 +549,26 @@ class Suggestions {
496
549
  return encodeXML(text);
497
550
  }
498
551
 
552
+ get _hasValueState() {
553
+ return this.component.hasValueStateMessage;
554
+ }
555
+
556
+ _focusValueState() {
557
+ const items = this._getItems();
558
+
559
+ this.component._isValueStateFocused = true;
560
+ this.component.focused = false;
561
+ this.component.hasSuggestionItemSelected = false;
562
+ this.selectedItemIndex = null;
563
+
564
+ items && this._scrollItemIntoView(items[0]);
565
+ this._deselectItems();
566
+ }
567
+
568
+ _clearValueStateFocus() {
569
+ this.component._isValueStateFocused = false;
570
+ }
571
+
499
572
  static get dependencies() {
500
573
  return [
501
574
  SuggestionItem,
@@ -158,7 +158,22 @@ ARIA_LABEL_LIST_MULTISELECTABLE=Contains Multi-Selectable Items
158
158
  ARIA_LABEL_LIST_DELETABLE=Contains Deletable Items
159
159
 
160
160
  #XTOL: Tooltip of messgae strip close button
161
- MESSAGE_STRIP_CLOSE_BUTTON=Message Strip Close
161
+ MESSAGE_STRIP_CLOSE_BUTTON=Information Bar Close
162
+
163
+ #XACT: ARIA announcement for the MessageStrip's closable state
164
+ MESSAGE_STRIP_CLOSABLE=Closable
165
+
166
+ #XACT: ARIA announcement for the MessageStrip's "Error" state
167
+ MESSAGE_STRIP_ERROR=Error Information Bar
168
+
169
+ #XACT: ARIA announcement for the MessageStrip's "Warning" state
170
+ MESSAGE_STRIP_WARNING=Warning Information Bar
171
+
172
+ #XACT: ARIA announcement for the MessageStrip's "Success" state
173
+ MESSAGE_STRIP_SUCCESS=Success Information Bar
174
+
175
+ #XACT: ARIA announcement for the MessageStrip's "Information" state
176
+ MESSAGE_STRIP_INFORMATION=Information Bar
162
177
 
163
178
  #XFLD: MultiComboBox dialog button
164
179
  MULTICOMBOBOX_DIALOG_OK_BUTTON=OK
@@ -238,6 +253,9 @@ TABCONTAINER_PREVIOUS_ICON_ACC_NAME=Previous
238
253
  #XACT: ACC overflow menu title in tab container
239
254
  TABCONTAINER_OVERFLOW_MENU_TITLE=Overflow Menu
240
255
 
256
+ #XTXT Text for end overflow button in tab container
257
+ TABCONTAINER_END_OVERFLOW=More
258
+
241
259
  #XTXT: Text for characters left
242
260
  TEXTAREA_CHARACTERS_LEFT={0} characters remaining
243
261
 
@@ -333,3 +351,10 @@ STEPINPUT_DEC_ICON_TITLE=Decrease
333
351
 
334
352
  #XTOL: tooltip for increase button of the StepInput
335
353
  STEPINPUT_INC_ICON_TITLE=Increase
354
+
355
+ #XACT: Aria information for the Split Button
356
+ SPLIT_BUTTON_DESCRIPTION=Split Button
357
+
358
+ #XACT: Aria hint for the keyboard handling support of the Split Button
359
+ SPLIT_BUTTON_KEYBOARD_HINT=Press Space or Enter to trigger default action and Alt + Arrow Down or F4 to trigger arrow action
360
+
@@ -105,7 +105,17 @@ ARIA_LABEL_LIST_MULTISELECTABLE=توجد بنود قابلة لتحديد متع
105
105
 
106
106
  ARIA_LABEL_LIST_DELETABLE=توجد بنود قابلة للحذف
107
107
 
108
- MESSAGE_STRIP_CLOSE_BUTTON=إغلاق شريط الرسالة
108
+ MESSAGE_STRIP_CLOSE_BUTTON=إغلاق شريط المعلومات
109
+
110
+ MESSAGE_STRIP_CLOSABLE=ممكن إغلاقه
111
+
112
+ MESSAGE_STRIP_ERROR=شريط معلومات الخطأ
113
+
114
+ MESSAGE_STRIP_WARNING=شريط معلومات التحذير
115
+
116
+ MESSAGE_STRIP_SUCCESS=شريط معلومات النجاح
117
+
118
+ MESSAGE_STRIP_INFORMATION=شريط المعلومات
109
119
 
110
120
  MULTICOMBOBOX_DIALOG_OK_BUTTON=موافق
111
121
 
@@ -159,6 +169,8 @@ TABCONTAINER_PREVIOUS_ICON_ACC_NAME=السابق
159
169
 
160
170
  TABCONTAINER_OVERFLOW_MENU_TITLE=قائمة التدفق
161
171
 
172
+ TABCONTAINER_END_OVERFLOW=المزيد
173
+
162
174
  TEXTAREA_CHARACTERS_LEFT=متبق {0} من الحروف
163
175
 
164
176
  TEXTAREA_CHARACTERS_EXCEEDED=تم تجاوز الحد بمقدار {0} من الحروف
@@ -105,7 +105,17 @@ ARIA_LABEL_LIST_MULTISELECTABLE=Съдържа подлежащи на множ
105
105
 
106
106
  ARIA_LABEL_LIST_DELETABLE=Съдържа подлежащи на изтриване позиции
107
107
 
108
- MESSAGE_STRIP_CLOSE_BUTTON=Затваряне на лента със съобщения
108
+ MESSAGE_STRIP_CLOSE_BUTTON=Затваряне на лента с информация
109
+
110
+ MESSAGE_STRIP_CLOSABLE=Може да се затвори
111
+
112
+ MESSAGE_STRIP_ERROR=Лента с информация за грешки
113
+
114
+ MESSAGE_STRIP_WARNING=Лента с предупреждения
115
+
116
+ MESSAGE_STRIP_SUCCESS=Лента с информация за успешни изпълнения
117
+
118
+ MESSAGE_STRIP_INFORMATION=Лента с информация
109
119
 
110
120
  MULTICOMBOBOX_DIALOG_OK_BUTTON=OK
111
121
 
@@ -159,6 +169,8 @@ TABCONTAINER_PREVIOUS_ICON_ACC_NAME=Назад
159
169
 
160
170
  TABCONTAINER_OVERFLOW_MENU_TITLE=Меню препълване
161
171
 
172
+ TABCONTAINER_END_OVERFLOW=Още
173
+
162
174
  TEXTAREA_CHARACTERS_LEFT=Остават {0} символа
163
175
 
164
176
  TEXTAREA_CHARACTERS_EXCEEDED={0} символа над ограничението