@ui5/webcomponents 1.5.0 → 1.7.1

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 (579) hide show
  1. package/CHANGELOG.md +113 -0
  2. package/dist/Avatar.js +29 -1
  3. package/dist/AvatarGroup.js +20 -2
  4. package/dist/BreadcrumbsItem.js +2 -2
  5. package/dist/Button.js +4 -4
  6. package/dist/Calendar.js +33 -45
  7. package/dist/CalendarHeader.js +5 -1
  8. package/dist/CardHeader.js +1 -0
  9. package/dist/Carousel.js +9 -0
  10. package/dist/CheckBox.js +2 -2
  11. package/dist/ComboBox.js +52 -6
  12. package/dist/DatePicker.js +17 -1
  13. package/dist/DateRangePicker.js +8 -2
  14. package/dist/DateTimePicker.js +1 -1
  15. package/dist/Dialog.js +41 -1
  16. package/dist/Icon.js +9 -9
  17. package/dist/Input.js +32 -13
  18. package/dist/Label.js +1 -3
  19. package/dist/Link.js +4 -2
  20. package/dist/List.js +17 -1
  21. package/dist/Menu.js +6 -4
  22. package/dist/MenuItem.js +20 -5
  23. package/dist/MessageStrip.js +1 -1
  24. package/dist/MonthPicker.js +9 -0
  25. package/dist/MultiComboBox.js +47 -6
  26. package/dist/MultiInput.js +9 -2
  27. package/dist/Option.js +2 -2
  28. package/dist/Panel.js +24 -4
  29. package/dist/Popover.js +5 -4
  30. package/dist/Popup.js +13 -2
  31. package/dist/RadioButton.js +7 -5
  32. package/dist/RangeSlider.js +1 -1
  33. package/dist/RatingIndicator.js +1 -1
  34. package/dist/SegmentedButton.js +1 -1
  35. package/dist/Select.js +34 -7
  36. package/dist/Slider.js +1 -1
  37. package/dist/SliderBase.js +4 -4
  38. package/dist/SplitButton.js +2 -2
  39. package/dist/StandardListItem.js +3 -3
  40. package/dist/StepInput.js +1 -1
  41. package/dist/SuggestionItem.js +2 -2
  42. package/dist/Switch.js +1 -1
  43. package/dist/Tab.js +17 -10
  44. package/dist/TabContainer.js +169 -148
  45. package/dist/TabSeparator.js +8 -1
  46. package/dist/Table.js +1 -1
  47. package/dist/TextArea.js +8 -3
  48. package/dist/TimePickerBase.js +8 -0
  49. package/dist/TimeSelection.js +1 -2
  50. package/dist/Tokenizer.js +74 -8
  51. package/dist/Tree.js +4 -0
  52. package/dist/TreeItem.js +2 -2
  53. package/dist/TreeListItem.js +1 -1
  54. package/dist/YearPicker.js +50 -25
  55. package/dist/api.json +1 -1
  56. package/dist/assets/SAP-icons-business-suite.7cff1fd8.js +1 -0
  57. package/dist/assets/SAP-icons.7f154911.js +1 -0
  58. package/dist/assets/SAP-icons.e76c8241.js +1 -0
  59. package/dist/assets/messagebundle_ar.f3e988df.js +1 -0
  60. package/dist/assets/messagebundle_bg.a3f6fdd8.js +1 -0
  61. package/dist/assets/messagebundle_ca.5e72bf09.js +1 -0
  62. package/dist/assets/messagebundle_cs.5720e069.js +1 -0
  63. package/dist/assets/messagebundle_cy.51ed6118.js +1 -0
  64. package/dist/assets/messagebundle_da.d83f1df6.js +1 -0
  65. package/dist/assets/messagebundle_de.00b8fac3.js +1 -0
  66. package/dist/assets/messagebundle_el.54337d1a.js +1 -0
  67. package/dist/assets/messagebundle_en.46c4c8b4.js +1 -0
  68. package/dist/assets/messagebundle_en_GB.d9037cba.js +1 -0
  69. package/dist/assets/messagebundle_en_US_sappsd.2f342e46.js +1 -0
  70. package/dist/assets/messagebundle_en_US_saprigi.9e3ec6ce.js +1 -0
  71. package/dist/assets/messagebundle_en_US_saptrc.a358bbc3.js +1 -0
  72. package/dist/assets/messagebundle_es.6edd9aac.js +1 -0
  73. package/dist/assets/messagebundle_es_MX.b9a235b1.js +1 -0
  74. package/dist/assets/messagebundle_et.2f95fbc0.js +1 -0
  75. package/dist/assets/messagebundle_fi.e408238f.js +1 -0
  76. package/dist/assets/messagebundle_fr.023ec658.js +1 -0
  77. package/dist/assets/messagebundle_fr_CA.700b3003.js +1 -0
  78. package/dist/assets/messagebundle_hi.e54398ec.js +1 -0
  79. package/dist/assets/messagebundle_hr.87a5cf12.js +1 -0
  80. package/dist/assets/messagebundle_hu.11f04021.js +1 -0
  81. package/dist/assets/messagebundle_it.aa33f57d.js +1 -0
  82. package/dist/assets/messagebundle_iw.876a2de2.js +1 -0
  83. package/dist/assets/messagebundle_ja.8e38b3b9.js +1 -0
  84. package/dist/assets/messagebundle_kk.16201d64.js +1 -0
  85. package/dist/assets/messagebundle_ko.efd3d190.js +1 -0
  86. package/dist/assets/messagebundle_lt.8df3235f.js +1 -0
  87. package/dist/assets/messagebundle_lv.1485b0dd.js +1 -0
  88. package/dist/assets/messagebundle_ms.2801cf14.js +1 -0
  89. package/dist/assets/messagebundle_nl.fbaa57e5.js +1 -0
  90. package/dist/assets/messagebundle_no.aed62d2d.js +1 -0
  91. package/dist/assets/messagebundle_pl.ec09771e.js +1 -0
  92. package/dist/assets/messagebundle_pt.2ba5f988.js +1 -0
  93. package/dist/assets/messagebundle_pt_PT.f26a67f1.js +1 -0
  94. package/dist/assets/messagebundle_ro.71197951.js +1 -0
  95. package/dist/assets/messagebundle_ru.0bc1939f.js +1 -0
  96. package/dist/assets/messagebundle_sh.097c2c2b.js +1 -0
  97. package/dist/assets/messagebundle_sk.79a87686.js +1 -0
  98. package/dist/assets/messagebundle_sl.9d602bfb.js +1 -0
  99. package/dist/assets/messagebundle_sv.efb6e0ef.js +1 -0
  100. package/dist/assets/messagebundle_th.94c0d1ab.js +1 -0
  101. package/dist/assets/messagebundle_tr.b3a571be.js +1 -0
  102. package/dist/assets/messagebundle_uk.8d0551a9.js +1 -0
  103. package/dist/assets/messagebundle_vi.6819ccf0.js +1 -0
  104. package/dist/assets/messagebundle_zh_CN.0c604a5d.js +1 -0
  105. package/dist/assets/messagebundle_zh_TW.4659173f.js +1 -0
  106. package/dist/assets/{parameters-bundle.css.d35c9c32.js → parameters-bundle.css.13aed676.js} +1 -1
  107. package/dist/assets/{parameters-bundle.css.95d13129.js → parameters-bundle.css.157592af.js} +1 -1
  108. package/dist/assets/parameters-bundle.css.18cb3350.js +1 -0
  109. package/dist/assets/{parameters-bundle.css.e9998509.js → parameters-bundle.css.25017933.js} +1 -1
  110. package/dist/assets/parameters-bundle.css.2be7f26d.js +1 -0
  111. package/dist/assets/parameters-bundle.css.31a66508.js +1 -0
  112. package/dist/assets/parameters-bundle.css.33915181.js +1 -0
  113. package/dist/assets/parameters-bundle.css.41e95390.js +1 -0
  114. package/dist/assets/parameters-bundle.css.4343d807.js +1 -0
  115. package/dist/assets/parameters-bundle.css.4438b4b3.js +1 -0
  116. package/dist/assets/parameters-bundle.css.54a888ff.js +1 -0
  117. package/dist/assets/{parameters-bundle.css.e9339a13.js → parameters-bundle.css.5550ceb2.js} +1 -1
  118. package/dist/assets/{parameters-bundle.css.c967e7ef.js → parameters-bundle.css.60956972.js} +1 -1
  119. package/dist/assets/{parameters-bundle.css.3db3a626.js → parameters-bundle.css.61a5fde8.js} +1 -1
  120. package/dist/assets/parameters-bundle.css.6d229ca8.js +1 -0
  121. package/dist/assets/parameters-bundle.css.7c26b98b.js +1 -0
  122. package/dist/assets/{parameters-bundle.css.780c6a0b.js → parameters-bundle.css.adc7c452.js} +1 -1
  123. package/dist/assets/{parameters-bundle.css.16d388d6.js → parameters-bundle.css.ba38c500.js} +1 -1
  124. package/dist/assets/{parameters-bundle.css.d4f504ed.js → parameters-bundle.css.c64ba63b.js} +1 -1
  125. package/dist/assets/{parameters-bundle.css.f0eeb6a4.js → parameters-bundle.css.cac9f3de.js} +1 -1
  126. package/dist/assets/parameters-bundle.css.cad0773b.js +1 -0
  127. package/dist/assets/parameters-bundle.css.d532d151.js +1 -0
  128. package/dist/assets/{parameters-bundle.css.7be18144.js → parameters-bundle.css.d5d27adb.js} +1 -1
  129. package/dist/assets/{parameters-bundle.css.f6aea851.js → parameters-bundle.css.fbd8d2ab.js} +1 -1
  130. package/dist/css/themes/Avatar.css +1 -1
  131. package/dist/css/themes/AvatarGroup.css +1 -1
  132. package/dist/css/themes/Badge.css +1 -1
  133. package/dist/css/themes/Breadcrumbs.css +1 -1
  134. package/dist/css/themes/BrowserScrollbar.css +1 -1
  135. package/dist/css/themes/Button.css +1 -1
  136. package/dist/css/themes/CalendarHeader.css +1 -1
  137. package/dist/css/themes/ComboBox.css +1 -1
  138. package/dist/css/themes/DatePicker.css +1 -1
  139. package/dist/css/themes/DayPicker.css +1 -1
  140. package/dist/css/themes/Dialog.css +1 -1
  141. package/dist/css/themes/GroupHeaderListItem.css +1 -1
  142. package/dist/css/themes/Input.css +1 -1
  143. package/dist/css/themes/Menu.css +1 -1
  144. package/dist/css/themes/MonthPicker.css +1 -1
  145. package/dist/css/themes/MultiComboBox.css +1 -1
  146. package/dist/css/themes/Panel.css +1 -1
  147. package/dist/css/themes/Select.css +1 -1
  148. package/dist/css/themes/TextArea.css +1 -1
  149. package/dist/css/themes/Title.css +1 -1
  150. package/dist/css/themes/Tokenizer.css +1 -1
  151. package/dist/css/themes/YearPicker.css +1 -1
  152. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  153. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  154. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  155. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  156. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  157. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  158. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  159. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  160. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  161. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  162. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  163. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  164. package/dist/features/InputElementsFormSupport.js +5 -1
  165. package/dist/features/InputSuggestions.js +21 -2
  166. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  167. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  168. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  169. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  170. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  171. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  172. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  173. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  174. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  175. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  176. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  177. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  178. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  179. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  180. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  181. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  182. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  183. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  184. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  185. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  186. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  187. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  188. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  189. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  190. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  191. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  192. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  194. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  195. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  196. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  213. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  214. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  215. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  216. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  217. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  218. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  219. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  220. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  221. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  222. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  223. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  224. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  225. package/dist/generated/i18n/i18n-defaults.js +2 -2
  226. package/dist/generated/templates/AvatarTemplate.lit.js +1 -1
  227. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
  228. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +2 -2
  229. package/dist/generated/templates/CalendarTemplate.lit.js +1 -1
  230. package/dist/generated/templates/CardHeaderTemplate.lit.js +2 -2
  231. package/dist/generated/templates/CarouselTemplate.lit.js +1 -1
  232. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +3 -3
  233. package/dist/generated/templates/ComboBoxTemplate.lit.js +1 -1
  234. package/dist/generated/templates/CustomListItemTemplate.lit.js +2 -2
  235. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  236. package/dist/generated/templates/DialogTemplate.lit.js +7 -6
  237. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +1 -1
  238. package/dist/generated/templates/IconTemplate.lit.js +2 -1
  239. package/dist/generated/templates/ListItemTemplate.lit.js +2 -2
  240. package/dist/generated/templates/ListTemplate.lit.js +1 -1
  241. package/dist/generated/templates/MenuTemplate.lit.js +1 -1
  242. package/dist/generated/templates/MonthPickerTemplate.lit.js +2 -1
  243. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +3 -3
  244. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +1 -1
  245. package/dist/generated/templates/PanelTemplate.lit.js +7 -6
  246. package/dist/generated/templates/PopoverTemplate.lit.js +1 -1
  247. package/dist/generated/templates/PopupTemplate.lit.js +1 -1
  248. package/dist/generated/templates/RangeSliderTemplate.lit.js +1 -1
  249. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +1 -1
  250. package/dist/generated/templates/SliderTemplate.lit.js +1 -1
  251. package/dist/generated/templates/StandardListItemTemplate.lit.js +2 -2
  252. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +2 -2
  253. package/dist/generated/templates/TabContainerTemplate.lit.js +1 -1
  254. package/dist/generated/templates/TabInOverflowTemplate.lit.js +1 -1
  255. package/dist/generated/templates/TabInStripTemplate.lit.js +1 -1
  256. package/dist/generated/templates/TableTemplate.lit.js +9 -8
  257. package/dist/generated/templates/TextAreaTemplate.lit.js +1 -1
  258. package/dist/generated/templates/TreeListItemTemplate.lit.js +2 -2
  259. package/dist/generated/templates/YearPickerTemplate.lit.js +2 -1
  260. package/dist/generated/themes/Avatar.css.js +1 -1
  261. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  262. package/dist/generated/themes/Badge.css.js +1 -1
  263. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  264. package/dist/generated/themes/BrowserScrollbar.css.js +1 -1
  265. package/dist/generated/themes/Button.css.js +1 -1
  266. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  267. package/dist/generated/themes/ComboBox.css.js +1 -1
  268. package/dist/generated/themes/DatePicker.css.js +1 -1
  269. package/dist/generated/themes/DayPicker.css.js +1 -1
  270. package/dist/generated/themes/Dialog.css.js +1 -1
  271. package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
  272. package/dist/generated/themes/Input.css.js +1 -1
  273. package/dist/generated/themes/Menu.css.js +1 -1
  274. package/dist/generated/themes/MonthPicker.css.js +1 -1
  275. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  276. package/dist/generated/themes/Panel.css.js +1 -1
  277. package/dist/generated/themes/Select.css.js +1 -1
  278. package/dist/generated/themes/TextArea.css.js +1 -1
  279. package/dist/generated/themes/Title.css.js +1 -1
  280. package/dist/generated/themes/Tokenizer.css.js +1 -1
  281. package/dist/generated/themes/YearPicker.css.js +1 -1
  282. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  283. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  284. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  285. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  286. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  287. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  288. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  289. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  290. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  291. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  292. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  293. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  294. package/dist/i18n/messagebundle.properties +16 -4
  295. package/dist/i18n/messagebundle_ar.properties +10 -0
  296. package/dist/i18n/messagebundle_bg.properties +10 -0
  297. package/dist/i18n/messagebundle_ca.properties +10 -0
  298. package/dist/i18n/messagebundle_cs.properties +10 -0
  299. package/dist/i18n/messagebundle_cy.properties +10 -0
  300. package/dist/i18n/messagebundle_da.properties +10 -0
  301. package/dist/i18n/messagebundle_de.properties +11 -1
  302. package/dist/i18n/messagebundle_el.properties +10 -0
  303. package/dist/i18n/messagebundle_en.properties +10 -0
  304. package/dist/i18n/messagebundle_en_GB.properties +10 -0
  305. package/dist/i18n/messagebundle_en_US_sappsd.properties +10 -0
  306. package/dist/i18n/messagebundle_en_US_saprigi.properties +10 -2
  307. package/dist/i18n/messagebundle_en_US_saptrc.properties +11 -1
  308. package/dist/i18n/messagebundle_es.properties +10 -0
  309. package/dist/i18n/messagebundle_es_MX.properties +10 -0
  310. package/dist/i18n/messagebundle_et.properties +10 -0
  311. package/dist/i18n/messagebundle_fi.properties +10 -0
  312. package/dist/i18n/messagebundle_fr.properties +10 -0
  313. package/dist/i18n/messagebundle_fr_CA.properties +10 -0
  314. package/dist/i18n/messagebundle_hi.properties +10 -0
  315. package/dist/i18n/messagebundle_hr.properties +10 -0
  316. package/dist/i18n/messagebundle_hu.properties +10 -0
  317. package/dist/i18n/messagebundle_id.properties +10 -0
  318. package/dist/i18n/messagebundle_it.properties +12 -2
  319. package/dist/i18n/messagebundle_iw.properties +10 -0
  320. package/dist/i18n/messagebundle_ja.properties +10 -0
  321. package/dist/i18n/messagebundle_kk.properties +10 -0
  322. package/dist/i18n/messagebundle_ko.properties +10 -0
  323. package/dist/i18n/messagebundle_lt.properties +10 -0
  324. package/dist/i18n/messagebundle_lv.properties +10 -0
  325. package/dist/i18n/messagebundle_ms.properties +10 -0
  326. package/dist/i18n/messagebundle_nl.properties +10 -0
  327. package/dist/i18n/messagebundle_no.properties +10 -0
  328. package/dist/i18n/messagebundle_pl.properties +10 -0
  329. package/dist/i18n/messagebundle_pt.properties +10 -0
  330. package/dist/i18n/messagebundle_pt_PT.properties +10 -0
  331. package/dist/i18n/messagebundle_ro.properties +10 -0
  332. package/dist/i18n/messagebundle_ru.properties +10 -0
  333. package/dist/i18n/messagebundle_sh.properties +10 -0
  334. package/dist/i18n/messagebundle_sk.properties +10 -0
  335. package/dist/i18n/messagebundle_sl.properties +10 -0
  336. package/dist/i18n/messagebundle_sv.properties +10 -0
  337. package/dist/i18n/messagebundle_th.properties +13 -3
  338. package/dist/i18n/messagebundle_tr.properties +10 -0
  339. package/dist/i18n/messagebundle_uk.properties +11 -1
  340. package/dist/i18n/messagebundle_vi.properties +10 -0
  341. package/dist/i18n/messagebundle_zh_CN.properties +10 -0
  342. package/dist/i18n/messagebundle_zh_TW.properties +10 -0
  343. package/package.json +7 -7
  344. package/src/Avatar.hbs +2 -0
  345. package/src/Avatar.js +29 -1
  346. package/src/AvatarGroup.js +20 -2
  347. package/src/Breadcrumbs.hbs +1 -1
  348. package/src/BreadcrumbsItem.js +2 -2
  349. package/src/Button.js +4 -4
  350. package/src/Calendar.hbs +3 -0
  351. package/src/Calendar.js +33 -45
  352. package/src/CalendarHeader.hbs +5 -1
  353. package/src/CalendarHeader.js +5 -1
  354. package/src/CardHeader.hbs +2 -1
  355. package/src/CardHeader.js +1 -0
  356. package/src/Carousel.hbs +1 -1
  357. package/src/Carousel.js +9 -0
  358. package/src/CheckBox.js +2 -2
  359. package/src/ComboBox.hbs +1 -1
  360. package/src/ComboBox.js +52 -6
  361. package/src/ComboBoxPopover.hbs +1 -1
  362. package/src/DatePicker.hbs +2 -0
  363. package/src/DatePicker.js +17 -1
  364. package/src/DateRangePicker.js +8 -2
  365. package/src/DateTimePicker.js +1 -1
  366. package/src/Dialog.hbs +5 -1
  367. package/src/Dialog.js +41 -1
  368. package/src/GroupHeaderListItem.hbs +2 -2
  369. package/src/Icon.hbs +3 -1
  370. package/src/Icon.js +9 -9
  371. package/src/Input.js +32 -13
  372. package/src/Label.js +1 -3
  373. package/src/Link.js +4 -2
  374. package/src/List.hbs +1 -1
  375. package/src/List.js +17 -1
  376. package/src/ListItem.hbs +1 -1
  377. package/src/Menu.hbs +1 -0
  378. package/src/Menu.js +6 -4
  379. package/src/MenuItem.js +20 -5
  380. package/src/MessageStrip.js +1 -1
  381. package/src/MonthPicker.hbs +8 -1
  382. package/src/MonthPicker.js +9 -0
  383. package/src/MultiComboBox.hbs +1 -1
  384. package/src/MultiComboBox.js +47 -6
  385. package/src/MultiComboBoxPopover.hbs +1 -1
  386. package/src/MultiInput.js +9 -2
  387. package/src/Option.js +2 -2
  388. package/src/Panel.hbs +56 -46
  389. package/src/Panel.js +24 -4
  390. package/src/Popover.js +5 -4
  391. package/src/Popup.hbs +1 -1
  392. package/src/Popup.js +13 -2
  393. package/src/RadioButton.js +7 -5
  394. package/src/RangeSlider.hbs +2 -2
  395. package/src/RangeSlider.js +1 -1
  396. package/src/RatingIndicator.js +1 -1
  397. package/src/SegmentedButton.js +1 -1
  398. package/src/Select.js +34 -7
  399. package/src/Slider.hbs +1 -1
  400. package/src/Slider.js +1 -1
  401. package/src/SliderBase.js +4 -4
  402. package/src/SplitButton.js +2 -2
  403. package/src/StandardListItem.js +3 -3
  404. package/src/StepInput.js +1 -1
  405. package/src/SuggestionItem.js +2 -2
  406. package/src/Switch.js +1 -1
  407. package/src/Tab.js +17 -10
  408. package/src/TabContainer.hbs +5 -1
  409. package/src/TabContainer.js +169 -148
  410. package/src/TabInOverflow.hbs +1 -1
  411. package/src/TabInStrip.hbs +1 -1
  412. package/src/TabSeparator.js +8 -1
  413. package/src/Table.hbs +9 -7
  414. package/src/Table.js +1 -1
  415. package/src/TextArea.hbs +1 -1
  416. package/src/TextArea.js +8 -3
  417. package/src/TimePickerBase.js +8 -0
  418. package/src/TimeSelection.js +1 -2
  419. package/src/Tokenizer.js +74 -8
  420. package/src/Tree.js +4 -0
  421. package/src/TreeItem.js +2 -2
  422. package/src/TreeListItem.js +1 -1
  423. package/src/YearPicker.hbs +7 -0
  424. package/src/YearPicker.js +50 -25
  425. package/src/features/InputElementsFormSupport.js +5 -1
  426. package/src/features/InputSuggestions.js +21 -2
  427. package/src/i18n/messagebundle.properties +16 -4
  428. package/src/i18n/messagebundle_ar.properties +10 -0
  429. package/src/i18n/messagebundle_bg.properties +10 -0
  430. package/src/i18n/messagebundle_ca.properties +10 -0
  431. package/src/i18n/messagebundle_cs.properties +10 -0
  432. package/src/i18n/messagebundle_cy.properties +10 -0
  433. package/src/i18n/messagebundle_da.properties +10 -0
  434. package/src/i18n/messagebundle_de.properties +11 -1
  435. package/src/i18n/messagebundle_el.properties +10 -0
  436. package/src/i18n/messagebundle_en.properties +10 -0
  437. package/src/i18n/messagebundle_en_GB.properties +10 -0
  438. package/src/i18n/messagebundle_en_US_sappsd.properties +10 -0
  439. package/src/i18n/messagebundle_en_US_saprigi.properties +10 -2
  440. package/src/i18n/messagebundle_en_US_saptrc.properties +11 -1
  441. package/src/i18n/messagebundle_es.properties +10 -0
  442. package/src/i18n/messagebundle_es_MX.properties +10 -0
  443. package/src/i18n/messagebundle_et.properties +10 -0
  444. package/src/i18n/messagebundle_fi.properties +10 -0
  445. package/src/i18n/messagebundle_fr.properties +10 -0
  446. package/src/i18n/messagebundle_fr_CA.properties +10 -0
  447. package/src/i18n/messagebundle_hi.properties +10 -0
  448. package/src/i18n/messagebundle_hr.properties +10 -0
  449. package/src/i18n/messagebundle_hu.properties +10 -0
  450. package/src/i18n/messagebundle_id.properties +10 -0
  451. package/src/i18n/messagebundle_it.properties +12 -2
  452. package/src/i18n/messagebundle_iw.properties +10 -0
  453. package/src/i18n/messagebundle_ja.properties +10 -0
  454. package/src/i18n/messagebundle_kk.properties +10 -0
  455. package/src/i18n/messagebundle_ko.properties +10 -0
  456. package/src/i18n/messagebundle_lt.properties +10 -0
  457. package/src/i18n/messagebundle_lv.properties +10 -0
  458. package/src/i18n/messagebundle_ms.properties +10 -0
  459. package/src/i18n/messagebundle_nl.properties +10 -0
  460. package/src/i18n/messagebundle_no.properties +10 -0
  461. package/src/i18n/messagebundle_pl.properties +10 -0
  462. package/src/i18n/messagebundle_pt.properties +10 -0
  463. package/src/i18n/messagebundle_pt_PT.properties +10 -0
  464. package/src/i18n/messagebundle_ro.properties +10 -0
  465. package/src/i18n/messagebundle_ru.properties +10 -0
  466. package/src/i18n/messagebundle_sh.properties +10 -0
  467. package/src/i18n/messagebundle_sk.properties +10 -0
  468. package/src/i18n/messagebundle_sl.properties +10 -0
  469. package/src/i18n/messagebundle_sv.properties +10 -0
  470. package/src/i18n/messagebundle_th.properties +13 -3
  471. package/src/i18n/messagebundle_tr.properties +10 -0
  472. package/src/i18n/messagebundle_uk.properties +11 -1
  473. package/src/i18n/messagebundle_vi.properties +10 -0
  474. package/src/i18n/messagebundle_zh_CN.properties +10 -0
  475. package/src/i18n/messagebundle_zh_TW.properties +10 -0
  476. package/src/themes/Avatar.css +51 -0
  477. package/src/themes/AvatarGroup.css +1 -0
  478. package/src/themes/Badge.css +12 -0
  479. package/src/themes/Breadcrumbs.css +3 -0
  480. package/src/themes/BrowserScrollbar.css +6 -6
  481. package/src/themes/Button.css +5 -0
  482. package/src/themes/CalendarHeader.css +2 -2
  483. package/src/themes/DatePicker.css +13 -1
  484. package/src/themes/DayPicker.css +4 -4
  485. package/src/themes/Dialog.css +35 -0
  486. package/src/themes/GroupHeaderListItem.css +1 -0
  487. package/src/themes/Icon.css +1 -1
  488. package/src/themes/Input.css +34 -22
  489. package/src/themes/Menu.css +1 -0
  490. package/src/themes/MonthPicker.css +9 -2
  491. package/src/themes/Panel.css +0 -4
  492. package/src/themes/TextArea.css +7 -7
  493. package/src/themes/Title.css +1 -1
  494. package/src/themes/Tokenizer.css +1 -5
  495. package/src/themes/YearPicker.css +13 -2
  496. package/src/themes/base/DayPicker-parameters.css +3 -0
  497. package/src/themes/base/Dialog-parameters.css +8 -0
  498. package/src/themes/base/Input-parameters.css +2 -1
  499. package/src/themes/sap_belize/DayPicker-parameters.css +1 -1
  500. package/src/themes/sap_belize_hcb/Button-parameters.css +1 -0
  501. package/src/themes/sap_belize_hcb/DayPicker-parameters.css +7 -0
  502. package/src/themes/sap_belize_hcb/Input-parameters.css +3 -0
  503. package/src/themes/sap_belize_hcw/Button-parameters.css +1 -0
  504. package/src/themes/sap_belize_hcw/DayPicker-parameters.css +7 -0
  505. package/src/themes/sap_belize_hcw/Input-parameters.css +3 -0
  506. package/src/themes/sap_fiori_3_hcb/Button-parameters.css +1 -0
  507. package/src/themes/sap_fiori_3_hcb/Dialog-parameters.css +8 -0
  508. package/src/themes/sap_fiori_3_hcb/Input-parameters.css +2 -1
  509. package/src/themes/sap_fiori_3_hcw/Button-parameters.css +1 -0
  510. package/src/themes/sap_fiori_3_hcw/Dialog-parameters.css +8 -0
  511. package/src/themes/sap_fiori_3_hcw/Input-parameters.css +2 -1
  512. package/src/themes/sap_horizon/parameters-bundle.css +1 -1
  513. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  514. package/src/themes/sap_horizon_hcb/Dialog-parameters.css +4 -0
  515. package/src/themes/sap_horizon_hcb/Input-parameters.css +1 -1
  516. package/src/themes/sap_horizon_hcw/Dialog-parameters.css +4 -0
  517. package/src/themes/sap_horizon_hcw/Input-parameters.css +1 -1
  518. package/dist/assets/SAP-icons-business-suite.60260cdf.js +0 -1
  519. package/dist/assets/SAP-icons.09567bd9.js +0 -1
  520. package/dist/assets/SAP-icons.1f482d05.js +0 -1
  521. package/dist/assets/messagebundle_ar.9c5ee5ed.js +0 -1
  522. package/dist/assets/messagebundle_bg.0e988870.js +0 -1
  523. package/dist/assets/messagebundle_ca.a127ab38.js +0 -1
  524. package/dist/assets/messagebundle_cs.629a9626.js +0 -1
  525. package/dist/assets/messagebundle_cy.9e45bbce.js +0 -1
  526. package/dist/assets/messagebundle_da.773ab830.js +0 -1
  527. package/dist/assets/messagebundle_de.e3b00529.js +0 -1
  528. package/dist/assets/messagebundle_el.40c4d9bd.js +0 -1
  529. package/dist/assets/messagebundle_en.8eab6481.js +0 -1
  530. package/dist/assets/messagebundle_en_GB.43ff6ad4.js +0 -1
  531. package/dist/assets/messagebundle_en_US_sappsd.3123c345.js +0 -1
  532. package/dist/assets/messagebundle_en_US_saprigi.ce3d7e4c.js +0 -1
  533. package/dist/assets/messagebundle_en_US_saptrc.09e99a05.js +0 -1
  534. package/dist/assets/messagebundle_es.827626df.js +0 -1
  535. package/dist/assets/messagebundle_es_MX.a36afbf1.js +0 -1
  536. package/dist/assets/messagebundle_et.ef5644ec.js +0 -1
  537. package/dist/assets/messagebundle_fi.51171aa3.js +0 -1
  538. package/dist/assets/messagebundle_fr.1534fb7f.js +0 -1
  539. package/dist/assets/messagebundle_fr_CA.3ec2f1d9.js +0 -1
  540. package/dist/assets/messagebundle_hi.df105d55.js +0 -1
  541. package/dist/assets/messagebundle_hr.99b625e3.js +0 -1
  542. package/dist/assets/messagebundle_hu.45d5a14f.js +0 -1
  543. package/dist/assets/messagebundle_it.baf6d99f.js +0 -1
  544. package/dist/assets/messagebundle_iw.50133cb0.js +0 -1
  545. package/dist/assets/messagebundle_ja.4684bb4f.js +0 -1
  546. package/dist/assets/messagebundle_kk.153a974f.js +0 -1
  547. package/dist/assets/messagebundle_ko.2cbd9a48.js +0 -1
  548. package/dist/assets/messagebundle_lt.4792b637.js +0 -1
  549. package/dist/assets/messagebundle_lv.1c982a41.js +0 -1
  550. package/dist/assets/messagebundle_ms.6de4a307.js +0 -1
  551. package/dist/assets/messagebundle_nl.346b5b0c.js +0 -1
  552. package/dist/assets/messagebundle_no.55c09a78.js +0 -1
  553. package/dist/assets/messagebundle_pl.24f1673c.js +0 -1
  554. package/dist/assets/messagebundle_pt.a0acef65.js +0 -1
  555. package/dist/assets/messagebundle_pt_PT.d5340844.js +0 -1
  556. package/dist/assets/messagebundle_ro.c47aa2e7.js +0 -1
  557. package/dist/assets/messagebundle_ru.9d147f84.js +0 -1
  558. package/dist/assets/messagebundle_sh.42d912a5.js +0 -1
  559. package/dist/assets/messagebundle_sk.66be6ecd.js +0 -1
  560. package/dist/assets/messagebundle_sl.7aef5bf8.js +0 -1
  561. package/dist/assets/messagebundle_sv.0e001a3d.js +0 -1
  562. package/dist/assets/messagebundle_th.a1ae28b0.js +0 -1
  563. package/dist/assets/messagebundle_tr.91751c7e.js +0 -1
  564. package/dist/assets/messagebundle_uk.3fff2ce5.js +0 -1
  565. package/dist/assets/messagebundle_vi.dcd6b37b.js +0 -1
  566. package/dist/assets/messagebundle_zh_CN.3447b7cf.js +0 -1
  567. package/dist/assets/messagebundle_zh_TW.a6d3c782.js +0 -1
  568. package/dist/assets/parameters-bundle.css.01f054a7.js +0 -1
  569. package/dist/assets/parameters-bundle.css.0a36e0eb.js +0 -1
  570. package/dist/assets/parameters-bundle.css.38e4d904.js +0 -1
  571. package/dist/assets/parameters-bundle.css.40bf20d0.js +0 -1
  572. package/dist/assets/parameters-bundle.css.4260a678.js +0 -1
  573. package/dist/assets/parameters-bundle.css.4cd19aca.js +0 -1
  574. package/dist/assets/parameters-bundle.css.4d47c982.js +0 -1
  575. package/dist/assets/parameters-bundle.css.6993a07a.js +0 -1
  576. package/dist/assets/parameters-bundle.css.6f186b45.js +0 -1
  577. package/dist/assets/parameters-bundle.css.9c6e589c.js +0 -1
  578. package/dist/assets/parameters-bundle.css.c35f092e.js +0 -1
  579. package/dist/assets/parameters-bundle.css.d09464d2.js +0 -1
package/src/Button.js CHANGED
@@ -75,7 +75,7 @@ const metadata = {
75
75
  * <br><br>
76
76
  * Example:
77
77
  *
78
- * See all the available icons within 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>.
78
+ * See all the available icons within the <ui5-link target="_blank" href="https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html" class="api-table-content-cell-link">Icon Explorer</ui5-link>.
79
79
  *
80
80
  * @type {string}
81
81
  * @defaultvalue ""
@@ -114,7 +114,7 @@ const metadata = {
114
114
  /**
115
115
  * Defines the tooltip of the component.
116
116
  * <br>
117
- * <b>Note:</b> We recommend setting tooltip to icon-only components.
117
+ * <b>Note:</b> A tooltip attribute should be provided for icon-only buttons, in order to represent their exact meaning/function.
118
118
  * @type {string}
119
119
  * @defaultvalue: ""
120
120
  * @public
@@ -157,7 +157,7 @@ const metadata = {
157
157
  },
158
158
 
159
159
  /**
160
- * Defines the accessible aria name of the component.
160
+ * Defines the accessible ARIA name of the component.
161
161
  *
162
162
  * @type {string}
163
163
  * @defaultvalue: ""
@@ -466,7 +466,7 @@ class Button extends UI5Element {
466
466
  return "";
467
467
  }
468
468
 
469
- return this.isIconOnly ? "img" : "presentation";
469
+ return this.showIconTooltip ? "img" : "presentation";
470
470
  }
471
471
 
472
472
  get isIconOnly() {
package/src/Calendar.hbs CHANGED
@@ -27,6 +27,7 @@
27
27
  .selectedDates="{{_selectedDatesTimestamps}}"
28
28
  ._hidden="{{_isMonthPickerHidden}}"
29
29
  .primaryCalendarType="{{_primaryCalendarType}}"
30
+ .secondaryCalendarType="{{secondaryCalendarType}}"
30
31
  .minDate="{{minDate}}"
31
32
  .maxDate="{{maxDate}}"
32
33
  timestamp="{{_timestamp}}"
@@ -41,6 +42,7 @@
41
42
  .selectedDates="{{_selectedDatesTimestamps}}"
42
43
  ._hidden="{{_isYearPickerHidden}}"
43
44
  .primaryCalendarType="{{_primaryCalendarType}}"
45
+ .secondaryCalendarType="{{secondaryCalendarType}}"
44
46
  .minDate="{{minDate}}"
45
47
  .maxDate="{{maxDate}}"
46
48
  timestamp="{{_timestamp}}"
@@ -61,6 +63,7 @@
61
63
  .isMonthButtonHidden="{{_isHeaderMonthButtonHidden}}"
62
64
  ._monthButtonText="{{_headerMonthButtonText}}"
63
65
  ._yearButtonText="{{_headerYearButtonText}}"
66
+ ._yearButtonTextSecType="{{_headerYearButtonTextSecType}}"
64
67
  @ui5-previous-press="{{onHeaderPreviousPress}}"
65
68
  @ui5-next-press="{{onHeaderNextPress}}"
66
69
  @ui5-show-month-press="{{onHeaderShowMonthPress}}"
package/src/Calendar.js CHANGED
@@ -1,3 +1,5 @@
1
+ import transformDateToSecondaryType from "@ui5/webcomponents-localization/dist/dates/transformDateToSecondaryType.js";
2
+ import convertMonthNumbersToMonthNames from "@ui5/webcomponents-localization/dist/dates/convertMonthNumbersToMonthNames.js";
1
3
  import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
2
4
  import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
3
5
  import {
@@ -86,6 +88,10 @@ const metadata = {
86
88
  _headerYearButtonText: {
87
89
  type: String,
88
90
  },
91
+
92
+ _headerYearButtonTextSecType: {
93
+ type: String,
94
+ },
89
95
  },
90
96
  managedSlots: true,
91
97
  slots: /** @lends sap.ui.webcomponents.main.Calendar.prototype */ {
@@ -302,6 +308,8 @@ class Calendar extends CalendarPart {
302
308
  } else {
303
309
  this._headerYearButtonText = String(yearFormat.format(this._localDate, true));
304
310
  }
311
+
312
+ this.secondaryCalendarType && this._setSecondaryCalendarTypeButtonText();
305
313
  }
306
314
 
307
315
  /**
@@ -340,6 +348,27 @@ class Calendar extends CalendarPart {
340
348
  this._currentPickerDOM._showNextPage();
341
349
  }
342
350
 
351
+ _setSecondaryCalendarTypeButtonText() {
352
+ const localeData = getCachedLocaleDataInstance(getLocale());
353
+ const yearFormatSecType = DateFormat.getDateInstance({ format: "y", calendarType: this.secondaryCalendarType });
354
+ this._headerMonthButtonTextInSexType = localeData.getMonthsStandAlone("wide", this.secondaryCalendarType)[this._calendarDate.getMonth()];
355
+
356
+ if (this._currentPicker === "year") {
357
+ const rangeStart = new CalendarDate(this._calendarDate, this._primaryCalendarType);
358
+ const rangeEnd = new CalendarDate(this._calendarDate, this._primaryCalendarType);
359
+ rangeStart.setYear(this._currentPickerDOM._firstYear);
360
+ rangeEnd.setYear(this._currentPickerDOM._lastYear);
361
+
362
+ const rangeStartSecType = transformDateToSecondaryType(this.primaryCalendarType, this.secondaryCalendarType, rangeStart.valueOf() / 1000, true)
363
+ .firstDate;
364
+ const rangeEndSecType = transformDateToSecondaryType(this.primaryCalendarType, this.secondaryCalendarType, rangeEnd.valueOf() / 1000, true)
365
+ .lastDate;
366
+ this._headerYearButtonTextSecType = `${yearFormatSecType.format(rangeStartSecType.toLocalJSDate(), true)} - ${yearFormatSecType.format(rangeEndSecType.toLocalJSDate(), true)}`;
367
+ } else {
368
+ this._headerYearButtonTextSecType = String(yearFormatSecType.format(this._localDate, true));
369
+ }
370
+ }
371
+
343
372
  get secondaryCalendarTypeButtonText() {
344
373
  if (!this.secondaryCalendarType) {
345
374
  return;
@@ -347,58 +376,17 @@ class Calendar extends CalendarPart {
347
376
 
348
377
  const localDate = new Date(this._timestamp * 1000);
349
378
  const secondYearFormat = DateFormat.getDateInstance({ format: "y", calendarType: this.secondaryCalendarType });
350
- const secondMonthInfo = this._getDisplayedSecondaryMonthText();
379
+ const dateInSecType = transformDateToSecondaryType(this._primaryCalendarType, this.secondaryCalendarType, this._timestamp);
380
+ const secondMonthInfo = convertMonthNumbersToMonthNames(dateInSecType.firstDate.getMonth(), dateInSecType.lastDate.getMonth(), this.secondaryCalendarType);
351
381
  const secondYearText = secondYearFormat.format(localDate, true);
382
+
352
383
  return {
353
384
  yearButtonText: secondYearText,
354
385
  monthButtonText: secondMonthInfo.text,
355
- monthButtonInfo: secondMonthInfo.info,
356
- };
357
- }
358
-
359
- _getDisplayedSecondaryMonthText() {
360
- const month = this._getDisplayedSecondaryMonths();
361
- const localeData = getCachedLocaleDataInstance(getLocale());
362
- const pattern = localeData.getIntervalPattern();
363
- const secondaryMonthsNames = getCachedLocaleDataInstance(getLocale()).getMonthsStandAlone("abbreviated", this.secondaryCalendarType);
364
- const secondaryMonthsNamesWide = getCachedLocaleDataInstance(getLocale()).getMonthsStandAlone("wide", this.secondaryCalendarType);
365
-
366
- if (month.startMonth === month.endMonth) {
367
- return {
368
- text: localeData.getMonths("abbreviated", this.secondaryCalendarType)[month.startMonth],
369
- textInfo: localeData.getMonths("wide", this.secondaryCalendarType)[month.startMonth],
370
- };
371
- }
372
-
373
- return {
374
- text: pattern.replace(/\{0\}/, secondaryMonthsNames[month.startMonth]).replace(/\{1\}/, secondaryMonthsNames[month.endMonth]),
375
- textInfo: pattern.replace(/\{0\}/, secondaryMonthsNamesWide[month.startMonth]).replace(/\{1\}/, secondaryMonthsNamesWide[month.endMonth]),
386
+ monthButtonInfo: secondMonthInfo.textInfo,
376
387
  };
377
388
  }
378
389
 
379
- _getDisplayedSecondaryMonths() {
380
- const localDate = new Date(this._timestamp * 1000);
381
- let firstDate = CalendarDate.fromLocalJSDate(localDate, this._primaryCalendarType);
382
- firstDate.setDate(1);
383
- firstDate = new CalendarDate(firstDate, this.secondaryCalendarType);
384
- const startMonth = firstDate.getMonth();
385
-
386
- let lastDate = CalendarDate.fromLocalJSDate(localDate, this._primaryCalendarType);
387
- lastDate.setDate(this._getDaysInMonth(lastDate));
388
- lastDate = new CalendarDate(lastDate, this.secondaryCalendarType);
389
- const endMonth = lastDate.getMonth();
390
-
391
- return { startMonth, endMonth };
392
- }
393
-
394
- _getDaysInMonth(date) {
395
- const tempCalendarDate = new CalendarDate(date);
396
- tempCalendarDate.setDate(1);
397
- tempCalendarDate.setMonth(tempCalendarDate.getMonth() + 1);
398
- tempCalendarDate.setDate(0);
399
- return tempCalendarDate.getDate();
400
- }
401
-
402
390
  /**
403
391
  * The month button is hidden when the month picker or year picker is shown
404
392
  * @returns {boolean}
@@ -2,6 +2,7 @@
2
2
  <div
3
3
  data-ui5-cal-header-btn-prev
4
4
  class="{{classes.prevButton}}"
5
+ role="button"
5
6
  @mousedown={{onPrevButtonClick}}
6
7
  title="{{_prevButtonText}}"
7
8
  >
@@ -14,6 +15,7 @@
14
15
  class="ui5-calheader-arrowbtn ui5-calheader-middlebtn"
15
16
  ?hidden="{{isMonthButtonHidden}}"
16
17
  tabindex="0"
18
+ role="button"
17
19
  aria-label="{{accInfo.ariaLabelMonthButton}}"
18
20
  @click={{onMonthButtonClick}}
19
21
  @keydown={{onMonthButtonKeyDown}}
@@ -29,13 +31,14 @@
29
31
  class="ui5-calheader-arrowbtn ui5-calheader-middlebtn"
30
32
  ?hidden="{{isYearButtonHidden}}"
31
33
  tabindex="0"
34
+ role="button"
32
35
  @click={{onYearButtonClick}}
33
36
  @keydown={{onYearButtonKeyDown}}
34
37
  @keyup={{onYearButtonKeyUp}}
35
38
  >
36
39
  <span>{{_yearButtonText}}</span>
37
40
  {{#if hasSecondaryCalendarType}}
38
- <span class="ui5-calheader-btn-sectext">{{_secondYearButtonText}}</span>
41
+ <span class="ui5-calheader-btn-sectext">{{_yearButtonTextSecType}}</span>
39
42
  {{/if}}
40
43
  </div>
41
44
  </div>
@@ -43,6 +46,7 @@
43
46
  <div
44
47
  data-ui5-cal-header-btn-next
45
48
  class="{{classes.nextButton}}"
49
+ role="button"
46
50
  @mousedown={{onNextButtonClick}}
47
51
  title={{_nextButtonText}}
48
52
  >
@@ -78,6 +78,10 @@ const metadata = {
78
78
  type: String,
79
79
  },
80
80
 
81
+ _yearButtonTextSecType: {
82
+ type: String,
83
+ },
84
+
81
85
  isYearButtonHidden: {
82
86
  type: Boolean,
83
87
  },
@@ -199,7 +203,7 @@ class CalendarHeader extends UI5Element {
199
203
  get accInfo() {
200
204
  return {
201
205
  ariaLabelMonthButton: this.hasSecondaryCalendarType
202
- ? `${this._monthButtonText}, ${this.buttonTextForSecondaryCalendarType.info}` : `${this._monthButtonText}`,
206
+ ? `${this._monthButtonText}, ${this.buttonTextForSecondaryCalendarType.monthButtonInfo}` : `${this._monthButtonText}`,
203
207
  };
204
208
  }
205
209
  }
@@ -6,6 +6,7 @@
6
6
  @click="{{_click}}"
7
7
  @keydown="{{_keydown}}"
8
8
  @keyup="{{_keyup}}"
9
+ part="root"
9
10
  >
10
11
  <div
11
12
  class="ui5-card-header-focusable-element"
@@ -27,7 +28,7 @@
27
28
  id="{{_id}}-title"
28
29
  class="ui5-card-header-title"
29
30
  part="title"
30
- aria-role="heading"
31
+ role="heading"
31
32
  aria-level="3"
32
33
  >{{titleText}}</div>
33
34
  {{/if}}
package/src/CardHeader.js CHANGED
@@ -133,6 +133,7 @@ const metadata = {
133
133
  * <br>
134
134
  * The <code>ui5-card</code> exposes the following CSS Shadow Parts:
135
135
  * <ul>
136
+ * <li>root - Used to style the root DOM element of the CardHeader</li>
136
137
  * <li>title - Used to style the title of the CardHeader</li>
137
138
  * <li>subtitle - Used to style the subtitle of the CardHeader</li>
138
139
  * <li>status - Used to style the status of the CardHeader</li>
package/src/Carousel.hbs CHANGED
@@ -8,7 +8,7 @@
8
8
  @mouseout="{{_onmouseout}}"
9
9
  @mouseover="{{_onmouseover}}"
10
10
  >
11
- <div class="{{classes.viewport}}">
11
+ <div class="{{classes.viewport}}" part="content">
12
12
  <div class="{{classes.content}}" style="{{styles.content}}">
13
13
  {{#each items}}
14
14
  <div id="{{id}}"
package/src/Carousel.js CHANGED
@@ -238,6 +238,15 @@ const metadata = {
238
238
  * with the following keyboard shortcuts:
239
239
  * <br>
240
240
  *
241
+ * <h3>CSS Shadow Parts</h3>
242
+ *
243
+ * <ui5-link target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/::part">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.
244
+ * <br>
245
+ * The <code>ui5-carousel</code> exposes the following CSS Shadow Parts:
246
+ * <ul>
247
+ * <li>content - Used to style the content of the component</li>
248
+ * </ul>
249
+ *
241
250
  * * <h4>Fast Navigation</h4>
242
251
  * 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>.
243
252
  * In order to use this functionality, you need to import the following module:
package/src/CheckBox.js CHANGED
@@ -46,7 +46,7 @@ const metadata = {
46
46
  },
47
47
 
48
48
  /**
49
- * Defines the accessible aria name of the component.
49
+ * Defines the accessible ARIA name of the component.
50
50
  *
51
51
  * @type {string}
52
52
  * @public
@@ -99,7 +99,7 @@ const metadata = {
99
99
  /**
100
100
  * Defines whether the component is displayed as partially checked.
101
101
  * <br><br>
102
- * <b>Note:</b> The indeterminate state can be set only programatically and can’t be achieved by user
102
+ * <b>Note:</b> The indeterminate state can be set only programmatically and can’t be achieved by user
103
103
  * interaction and the resulting visual state depends on the values of the <code>indeterminate</code>
104
104
  * and <code>checked</code> properties:
105
105
  * <ul>
package/src/ComboBox.hbs CHANGED
@@ -1,6 +1,6 @@
1
1
  <div class="ui5-combobox-root ui5-input-focusable-element">
2
2
  {{#if hasValueState}}
3
- <span id="{{_id}}-valueStateDesc" class="ui5-hidden-text">{{valueStateText}}</span>
3
+ <span id="{{_id}}-valueStateDesc" class="ui5-hidden-text">{{ariaValueStateHiddenText}}</span>
4
4
  {{/if}}
5
5
 
6
6
  <input id="ui5-combobox-input"
package/src/ComboBox.js CHANGED
@@ -36,10 +36,15 @@ import {
36
36
  VALUE_STATE_ERROR,
37
37
  VALUE_STATE_WARNING,
38
38
  VALUE_STATE_INFORMATION,
39
+ VALUE_STATE_TYPE_SUCCESS,
40
+ VALUE_STATE_TYPE_INFORMATION,
41
+ VALUE_STATE_TYPE_ERROR,
42
+ VALUE_STATE_TYPE_WARNING,
39
43
  INPUT_SUGGESTIONS_TITLE,
40
44
  SELECT_OPTIONS,
41
45
  LIST_ITEM_POSITION,
42
46
  LIST_ITEM_SELECTED,
47
+ LIST_ITEM_GROUP_HEADER,
43
48
  } from "./generated/i18n/i18n-defaults.js";
44
49
 
45
50
  // Templates
@@ -212,7 +217,7 @@ const metadata = {
212
217
  },
213
218
 
214
219
  /**
215
- * Defines the accessible aria name of the component.
220
+ * Defines the accessible ARIA name of the component.
216
221
  *
217
222
  * @type {string}
218
223
  * @defaultvalue: ""
@@ -550,6 +555,10 @@ class ComboBox extends UI5Element {
550
555
  this.inner.focus();
551
556
  this._resetFilter();
552
557
 
558
+ if (isPhone() && this.value && !this._lastValue) {
559
+ this._lastValue = this.value;
560
+ }
561
+
553
562
  this._toggleRespPopover();
554
563
  }
555
564
 
@@ -661,12 +670,12 @@ class ComboBox extends UI5Element {
661
670
  this._isValueStateFocused = false;
662
671
  this._selectionChanged = true;
663
672
 
673
+ this._announceSelectedItem(indexOfItem);
674
+
664
675
  if (isGroupItem && isOpen) {
665
676
  return;
666
677
  }
667
678
 
668
- this._announceSelectedItem(indexOfItem);
669
-
670
679
  // autocomplete
671
680
  const item = this._getFirstMatchingItem(this.value);
672
681
  this._applyAtomicValueAndSelection(item, (this.open ? this._userTypedValue : null), true);
@@ -829,11 +838,20 @@ class ComboBox extends UI5Element {
829
838
  }
830
839
 
831
840
  _closeRespPopover(event) {
832
- if (isPhone() && event && event.target.classList.contains("ui5-responsive-popover-close-btn") && this._selectedItemText) {
841
+ if (event && event.target.classList.contains("ui5-responsive-popover-close-btn") && this._selectedItemText) {
833
842
  this.value = this._selectedItemText;
834
843
  this.filterValue = this._selectedItemText;
835
844
  }
836
845
 
846
+ if (event && event.target.classList.contains("ui5-responsive-popover-close-btn")) {
847
+ this.value = this._lastValue ? this._lastValue : "";
848
+ this.filterValue = this._lastValue ? this._lastValue : "";
849
+ }
850
+
851
+ if (isPhone()) {
852
+ this._fireChangeEvent();
853
+ }
854
+
837
855
  this._isValueStateFocused = false;
838
856
  this._clearFocus();
839
857
 
@@ -965,10 +983,17 @@ class ComboBox extends UI5Element {
965
983
  }
966
984
 
967
985
  _announceSelectedItem(indexOfItem) {
986
+ const currentItem = this._filteredItems[indexOfItem];
987
+ const isGroupItem = currentItem && currentItem.isGroupItem;
968
988
  const itemPositionText = ComboBox.i18nBundle.getText(LIST_ITEM_POSITION, indexOfItem + 1, this._filteredItems.length);
969
989
  const itemSelectionText = ComboBox.i18nBundle.getText(LIST_ITEM_SELECTED);
990
+ const groupHeaderText = ComboBox.i18nBundle.getText(LIST_ITEM_GROUP_HEADER);
970
991
 
971
- announce(`${itemPositionText} ${itemSelectionText}`, "Polite");
992
+ if (isGroupItem) {
993
+ announce(`${groupHeaderText} ${currentItem.text} ${itemPositionText}`, "Polite");
994
+ } else {
995
+ announce(`${itemPositionText} ${itemSelectionText}`, "Polite");
996
+ }
972
997
  }
973
998
 
974
999
  get _headerTitleText() {
@@ -1001,7 +1026,19 @@ class ComboBox extends UI5Element {
1001
1026
  return this.hasValueState && this.valueState !== ValueState.Success;
1002
1027
  }
1003
1028
 
1004
- get valueStateText() {
1029
+ get ariaValueStateHiddenText() {
1030
+ if (!this.hasValueState) {
1031
+ return;
1032
+ }
1033
+
1034
+ if (this.shouldDisplayDefaultValueStateMessage) {
1035
+ return `${this.valueStateTypeMappings[this.valueState]} ${this.valueStateDefaultText}`;
1036
+ }
1037
+
1038
+ return `${this.valueStateTypeMappings[this.valueState]}`.concat(" ", this.valueStateMessageText.map(el => el.textContent).join(" "));
1039
+ }
1040
+
1041
+ get valueStateDefaultText() {
1005
1042
  return this.valueStateTextMappings[this.valueState];
1006
1043
  }
1007
1044
 
@@ -1022,6 +1059,15 @@ class ComboBox extends UI5Element {
1022
1059
  };
1023
1060
  }
1024
1061
 
1062
+ get valueStateTypeMappings() {
1063
+ return {
1064
+ "Success": ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),
1065
+ "Information": ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),
1066
+ "Error": ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),
1067
+ "Warning": ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),
1068
+ };
1069
+ }
1070
+
1025
1071
  get shouldOpenValueStateMessagePopover() {
1026
1072
  return this.focused && !this.readonly && this.hasValueStateText && !this._iconPressed
1027
1073
  && !this.open && !this._isPhone;
@@ -118,7 +118,7 @@
118
118
 
119
119
  {{#*inline "valueStateMessage"}}
120
120
  {{#if shouldDisplayDefaultValueStateMessage}}
121
- {{valueStateText}}
121
+ {{valueStateDefaultText}}
122
122
  {{else}}
123
123
  {{#each valueStateMessageText}}
124
124
  {{this}}
@@ -31,6 +31,8 @@
31
31
  name="{{openIconName}}"
32
32
  tabindex="-1"
33
33
  accessible-name="{{openIconTitle}}"
34
+ accessible-role="button"
35
+ aria-hidden="{{_ariaHidden}}"
34
36
  show-tooltip
35
37
  @click="{{togglePicker}}"
36
38
  input-icon
package/src/DatePicker.js CHANGED
@@ -15,8 +15,12 @@ import {
15
15
  isShow,
16
16
  isF4,
17
17
  isEnter,
18
+ isTabNext,
19
+ isTabPrevious,
20
+ isF6Next,
21
+ isF6Previous,
18
22
  } from "@ui5/webcomponents-base/dist/Keys.js";
19
- import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
23
+ import { isPhone, isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
20
24
  import "@ui5/webcomponents-icons/dist/appointment-2.js";
21
25
  import "@ui5/webcomponents-icons/dist/decline.js";
22
26
  import HasPopup from "./types/HasPopup.js";
@@ -476,6 +480,10 @@ class DatePicker extends DateComponentBase {
476
480
  }
477
481
  }
478
482
 
483
+ if ((this._getInput().isEqualNode(event.target) && this.isOpen()) && (isTabNext(event) || isTabPrevious(event) || isF6Next(event) || isF6Previous(event))) {
484
+ this.closePicker();
485
+ }
486
+
479
487
  if (this.isOpen()) {
480
488
  return;
481
489
  }
@@ -705,6 +713,14 @@ class DatePicker extends DateComponentBase {
705
713
  return false;
706
714
  }
707
715
 
716
+ /**
717
+ * Defines whether the value help icon is hidden
718
+ * @private
719
+ */
720
+ get _ariaHidden() {
721
+ return isDesktop();
722
+ }
723
+
708
724
  async _respPopover() {
709
725
  const staticAreaItem = await this.getStaticAreaItemDomRef();
710
726
  return staticAreaItem.querySelector("[ui5-responsive-popover]");
@@ -294,8 +294,14 @@ class DateRangePicker extends DatePicker {
294
294
  const valuesArray = [];
295
295
  const partsArray = value.split(this._prevDelimiter || this._effectiveDelimiter);
296
296
 
297
- valuesArray[0] = partsArray.slice(0, partsArray.length / 2).join(this._effectiveDelimiter);
298
- valuesArray[1] = partsArray.slice(partsArray.length / 2).join(this._effectiveDelimiter);
297
+ // if format successfully parse the value, the value contains only single date
298
+ if (this.getFormat().parse(value)) {
299
+ valuesArray[0] = partsArray.join(this._effectiveDelimiter);
300
+ valuesArray[1] = "";
301
+ } else {
302
+ valuesArray[0] = partsArray.slice(0, partsArray.length / 2).join(this._effectiveDelimiter);
303
+ valuesArray[1] = partsArray.slice(partsArray.length / 2).join(this._effectiveDelimiter);
304
+ }
299
305
 
300
306
  return valuesArray;
301
307
  }
@@ -101,7 +101,7 @@ const metadata = {
101
101
  * <li>typing in the input field</li>
102
102
  * </ul>
103
103
  *
104
- * Programatically, to set date/time for the <code>DateTimePicker</code>, use the <code>value</code> property
104
+ * Programmatically, to set date/time for the <code>DateTimePicker</code>, use the <code>value</code> property
105
105
  *
106
106
  * <h3>Formatting</h3>
107
107
  *
package/src/Dialog.hbs CHANGED
@@ -8,7 +8,11 @@
8
8
  tabindex="{{_headerTabIndex}}"
9
9
  @keydown="{{_onDragOrResizeKeyDown}}"
10
10
  @mousedown="{{_onDragMouseDown}}"
11
- part="header">
11
+ part="header"
12
+ state="{{this.state}}">
13
+ {{#if hasValueState}}
14
+ <ui5-icon class="ui5-dialog-value-state-icon" name="{{_dialogStateIcon}}"></ui5-icon>
15
+ {{/if}}
12
16
  {{#if header.length }}
13
17
  <slot name="header"></slot>
14
18
  {{else}}
package/src/Dialog.js CHANGED
@@ -4,9 +4,14 @@ import {
4
4
  isUp, isDown, isLeft, isRight,
5
5
  isUpShift, isDownShift, isLeftShift, isRightShift,
6
6
  } from "@ui5/webcomponents-base/dist/Keys.js";
7
+ import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
7
8
  import Popup from "./Popup.js";
8
- import "@ui5/webcomponents-icons/dist/resize-corner.js";
9
9
  import Icon from "./Icon.js";
10
+ import "@ui5/webcomponents-icons/dist/resize-corner.js";
11
+ import "@ui5/webcomponents-icons/dist/error.js";
12
+ import "@ui5/webcomponents-icons/dist/alert.js";
13
+ import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
14
+ import "@ui5/webcomponents-icons/dist/information.js";
10
15
 
11
16
  // Template
12
17
  import DialogTemplate from "./generated/templates/DialogTemplate.lit.js";
@@ -20,6 +25,15 @@ import dialogCSS from "./generated/themes/Dialog.css.js";
20
25
  */
21
26
  const STEP_SIZE = 16;
22
27
 
28
+ /**
29
+ * Defines the icons corresponding to the dialog's state.
30
+ */
31
+ const ICON_PER_STATE = {
32
+ [ValueState.Error]: "error",
33
+ [ValueState.Warning]: "alert",
34
+ [ValueState.Success]: "sys-enter-2",
35
+ [ValueState.Information]: "information",
36
+ };
23
37
  /**
24
38
  * @public
25
39
  */
@@ -123,6 +137,20 @@ const metadata = {
123
137
  onDesktop: {
124
138
  type: Boolean,
125
139
  },
140
+
141
+ /**
142
+ * Defines the state of the <code>Dialog</code>.
143
+ * <br>
144
+ * Available options are: <code>"None"</code> (by default), <code>"Success"</code>, <code>"Warning"</code>, <code>"Information"</code> and <code>"Error"</code>.
145
+ * @type {ValueState}
146
+ * @defaultvalue "None"
147
+ * @public
148
+ * @since 1.0.0-rc.15
149
+ */
150
+ state: {
151
+ type: ValueState,
152
+ defaultValue: ValueState.None,
153
+ },
126
154
  },
127
155
  };
128
156
 
@@ -286,6 +314,18 @@ class Dialog extends Popup {
286
314
  return minHeight;
287
315
  }
288
316
 
317
+ get hasValueState() {
318
+ return this.state !== ValueState.None;
319
+ }
320
+
321
+ get _dialogStateIcon() {
322
+ return ICON_PER_STATE[this.state];
323
+ }
324
+
325
+ get _role() {
326
+ return (this.state === ValueState.Error || this.state === ValueState.Warning) ? "alertdialog" : "dialog";
327
+ }
328
+
289
329
  _show() {
290
330
  super._show();
291
331
  this._center();
@@ -1,4 +1,4 @@
1
- <li
1
+ <ul
2
2
  part="native-li"
3
3
  tabindex="{{_tabIndex}}"
4
4
  class="ui5-ghli-root {{classes.main}}"
@@ -12,4 +12,4 @@
12
12
  <div id="{{_id}}-content" class="ui5-li-content">
13
13
  <span class="ui5-ghli-title"><slot></slot></span>
14
14
  </div>
15
- </li>
15
+ </ul>
package/src/Icon.hbs CHANGED
@@ -20,6 +20,8 @@
20
20
  {{/if}}
21
21
 
22
22
  <g role="presentation">
23
- <path d="{{pathData}}"/>
23
+ {{#each pathData}}
24
+ <path d="{{this}}"></path>
25
+ {{/each}}
24
26
  </g>
25
27
  </svg>