@ui5/webcomponents 0.0.0-aeb93167c → 0.0.0-b053ad005

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 (742) hide show
  1. package/CHANGELOG.md +343 -0
  2. package/README.md +144 -52
  3. package/csp.js +7 -0
  4. package/customI18n.js +50 -0
  5. package/dist/Assets-static.js +6 -0
  6. package/dist/Assets.js +2 -1
  7. package/dist/Avatar.js +189 -49
  8. package/dist/AvatarGroup.js +603 -0
  9. package/dist/Badge.js +45 -19
  10. package/dist/Breadcrumbs.js +563 -0
  11. package/dist/BreadcrumbsItem.js +109 -0
  12. package/dist/BusyIndicator.js +121 -34
  13. package/dist/Button.js +110 -66
  14. package/dist/Calendar.js +324 -648
  15. package/dist/CalendarDate.js +45 -0
  16. package/dist/CalendarHeader.js +110 -59
  17. package/dist/CalendarPart.js +111 -0
  18. package/dist/Card.js +38 -198
  19. package/dist/CardHeader.js +288 -0
  20. package/dist/Carousel.js +253 -94
  21. package/dist/CheckBox.js +138 -70
  22. package/dist/ColorPalette.js +493 -0
  23. package/dist/ColorPaletteItem.js +137 -0
  24. package/dist/ColorPalettePopover.js +219 -0
  25. package/dist/ColorPicker.js +524 -0
  26. package/dist/ComboBox.js +348 -144
  27. package/dist/ComboBoxFilters.js +8 -1
  28. package/dist/ComboBoxGroupItem.js +70 -0
  29. package/dist/ComboBoxItem.js +11 -24
  30. package/dist/CustomListItem.js +36 -2
  31. package/dist/DateComponentBase.js +170 -0
  32. package/dist/DatePicker.js +264 -519
  33. package/dist/DateRangePicker.js +162 -426
  34. package/dist/DateTimePicker.js +94 -413
  35. package/dist/DayPicker.js +443 -648
  36. package/dist/Dialog.js +220 -58
  37. package/dist/DurationPicker.js +109 -511
  38. package/dist/FileUploader.js +70 -31
  39. package/dist/GroupHeaderListItem.js +22 -13
  40. package/dist/Icon.js +103 -41
  41. package/dist/Input.js +346 -155
  42. package/dist/Interfaces.js +192 -0
  43. package/dist/Label.js +27 -12
  44. package/dist/Link.js +105 -43
  45. package/dist/List.js +377 -104
  46. package/dist/ListItem.js +60 -13
  47. package/dist/ListItemBase.js +29 -2
  48. package/dist/MessageStrip.js +47 -46
  49. package/dist/MonthPicker.js +171 -225
  50. package/dist/MultiComboBox.js +356 -135
  51. package/dist/MultiComboBoxItem.js +7 -2
  52. package/dist/MultiInput.js +55 -24
  53. package/dist/Option.js +48 -5
  54. package/dist/Panel.js +63 -73
  55. package/dist/Popover.js +195 -80
  56. package/dist/Popup.js +151 -61
  57. package/dist/ProgressIndicator.js +28 -20
  58. package/dist/RadioButton.js +126 -43
  59. package/dist/RadioButtonGroup.js +53 -29
  60. package/dist/RangeSlider.js +769 -0
  61. package/dist/RatingIndicator.js +27 -37
  62. package/dist/ResponsivePopover.js +56 -42
  63. package/dist/SegmentedButton.js +102 -68
  64. package/dist/SegmentedButtonItem.js +109 -0
  65. package/dist/Select.js +275 -116
  66. package/dist/Slider.js +320 -0
  67. package/dist/SliderBase.js +842 -0
  68. package/dist/StandardListItem.js +35 -9
  69. package/dist/StepInput.js +681 -0
  70. package/dist/SuggestionGroupItem.js +64 -0
  71. package/dist/SuggestionItem.js +13 -26
  72. package/dist/SuggestionListItem.js +17 -6
  73. package/dist/Switch.js +52 -32
  74. package/dist/Tab.js +47 -26
  75. package/dist/TabContainer.js +94 -34
  76. package/dist/TabSeparator.js +1 -0
  77. package/dist/Table.js +474 -22
  78. package/dist/TableCell.js +11 -9
  79. package/dist/TableColumn.js +13 -3
  80. package/dist/TableGroupRow.js +160 -0
  81. package/dist/TableRow.js +210 -11
  82. package/dist/TextArea.js +86 -46
  83. package/dist/TimePicker.js +27 -743
  84. package/dist/TimePickerBase.js +463 -0
  85. package/dist/TimeSelection.js +493 -0
  86. package/dist/Title.js +16 -9
  87. package/dist/Toast.js +19 -8
  88. package/dist/ToggleButton.js +21 -8
  89. package/dist/Token.js +32 -16
  90. package/dist/Tokenizer.js +75 -42
  91. package/dist/Tree.js +97 -41
  92. package/dist/TreeItem.js +44 -9
  93. package/dist/TreeListItem.js +86 -2
  94. package/dist/WheelSlider.js +58 -58
  95. package/dist/YearPicker.js +188 -284
  96. package/dist/api.json +6877 -1
  97. package/dist/features/ColorPaletteMoreColors.js +42 -0
  98. package/dist/features/InputElementsFormSupport.js +0 -1
  99. package/dist/features/InputSuggestions.js +131 -30
  100. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
  105. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  110. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  111. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  112. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  113. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  114. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  115. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  116. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  117. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  118. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  119. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  120. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  121. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  122. package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
  123. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  124. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  125. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  126. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  127. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  128. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  129. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  131. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  132. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  133. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  134. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  135. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  136. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  137. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  138. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  139. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  140. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  141. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  142. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  143. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  144. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  145. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  146. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  147. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  148. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  149. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  150. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  151. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  152. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  153. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  154. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  155. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
  156. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
  157. package/dist/generated/i18n/i18n-defaults.js +2 -2
  158. package/dist/generated/json-imports/Themes-static.js +35 -0
  159. package/dist/generated/json-imports/Themes.js +23 -19
  160. package/dist/generated/json-imports/i18n-static.js +162 -0
  161. package/dist/generated/json-imports/i18n.js +113 -89
  162. package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
  163. package/dist/generated/templates/AvatarTemplate.lit.js +9 -16
  164. package/dist/generated/templates/BadgeTemplate.lit.js +5 -13
  165. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
  166. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
  167. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -13
  168. package/dist/generated/templates/ButtonTemplate.lit.js +6 -13
  169. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -11
  170. package/dist/generated/templates/CalendarTemplate.lit.js +4 -11
  171. package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
  172. package/dist/generated/templates/CardTemplate.lit.js +5 -17
  173. package/dist/generated/templates/CarouselTemplate.lit.js +13 -19
  174. package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -14
  175. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
  176. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
  177. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
  178. package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
  179. package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
  180. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -25
  181. package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -14
  182. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -20
  183. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -13
  184. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -13
  185. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -19
  186. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -19
  187. package/dist/generated/templates/DialogTemplate.lit.js +9 -15
  188. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +7 -14
  189. package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -14
  190. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -11
  191. package/dist/generated/templates/IconTemplate.lit.js +6 -13
  192. package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -31
  193. package/dist/generated/templates/InputTemplate.lit.js +9 -15
  194. package/dist/generated/templates/LabelTemplate.lit.js +4 -11
  195. package/dist/generated/templates/LinkTemplate.lit.js +5 -12
  196. package/dist/generated/templates/ListItemTemplate.lit.js +13 -20
  197. package/dist/generated/templates/ListTemplate.lit.js +12 -16
  198. package/dist/generated/templates/MessageStripTemplate.lit.js +8 -15
  199. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -13
  200. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -27
  201. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -16
  202. package/dist/generated/templates/MultiInputTemplate.lit.js +13 -19
  203. package/dist/generated/templates/PanelTemplate.lit.js +9 -14
  204. package/dist/generated/templates/PopoverTemplate.lit.js +9 -16
  205. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +4 -11
  206. package/dist/generated/templates/PopupTemplate.lit.js +4 -11
  207. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +14 -17
  208. package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -14
  209. package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
  210. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +11 -16
  211. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -21
  212. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  213. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -11
  214. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -27
  215. package/dist/generated/templates/SelectTemplate.lit.js +6 -12
  216. package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
  217. package/dist/generated/templates/SliderTemplate.lit.js +12 -0
  218. package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -28
  219. package/dist/generated/templates/StepInputTemplate.lit.js +8 -0
  220. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +24 -31
  221. package/dist/generated/templates/SwitchTemplate.lit.js +8 -13
  222. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +6 -13
  223. package/dist/generated/templates/TabContainerTemplate.lit.js +16 -23
  224. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -13
  225. package/dist/generated/templates/TabInStripTemplate.lit.js +8 -17
  226. package/dist/generated/templates/TabSeparatorTemplate.lit.js +4 -11
  227. package/dist/generated/templates/TabTemplate.lit.js +4 -11
  228. package/dist/generated/templates/TableCellTemplate.lit.js +4 -11
  229. package/dist/generated/templates/TableColumnTemplate.lit.js +4 -11
  230. package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
  231. package/dist/generated/templates/TableRowTemplate.lit.js +12 -18
  232. package/dist/generated/templates/TableTemplate.lit.js +13 -15
  233. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -15
  234. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -15
  235. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -15
  236. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -13
  237. package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
  238. package/dist/generated/templates/TitleTemplate.lit.js +10 -17
  239. package/dist/generated/templates/ToastTemplate.lit.js +5 -11
  240. package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -13
  241. package/dist/generated/templates/TokenTemplate.lit.js +7 -14
  242. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +9 -16
  243. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -13
  244. package/dist/generated/templates/TreeListItemTemplate.lit.js +18 -24
  245. package/dist/generated/templates/TreeTemplate.lit.js +5 -12
  246. package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -14
  247. package/dist/generated/templates/YearPickerTemplate.lit.js +6 -13
  248. package/dist/generated/themes/Avatar.css.js +5 -5
  249. package/dist/generated/themes/AvatarGroup.css.js +8 -0
  250. package/dist/generated/themes/Badge.css.js +5 -5
  251. package/dist/generated/themes/Breadcrumbs.css.js +8 -0
  252. package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
  253. package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
  254. package/dist/generated/themes/BusyIndicator.css.js +5 -5
  255. package/dist/generated/themes/Button.css.js +5 -5
  256. package/dist/generated/themes/Button.ie11.css.js +8 -0
  257. package/dist/generated/themes/Calendar.css.js +5 -5
  258. package/dist/generated/themes/CalendarHeader.css.js +5 -5
  259. package/dist/generated/themes/Card.css.js +5 -5
  260. package/dist/generated/themes/CardHeader.css.js +8 -0
  261. package/dist/generated/themes/Carousel.css.js +5 -5
  262. package/dist/generated/themes/CheckBox.css.js +5 -5
  263. package/dist/generated/themes/ColorPalette.css.js +8 -0
  264. package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
  265. package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
  266. package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
  267. package/dist/generated/themes/ColorPicker.css.js +8 -0
  268. package/dist/generated/themes/ComboBox.css.js +5 -5
  269. package/dist/generated/themes/ComboBoxPopover.css.js +5 -5
  270. package/dist/generated/themes/CustomListItem.css.js +5 -5
  271. package/dist/generated/themes/DatePicker.css.js +5 -5
  272. package/dist/generated/themes/DatePickerPopover.css.js +5 -5
  273. package/dist/generated/themes/DateRangePicker.css.js +5 -5
  274. package/dist/generated/themes/DateTimePicker.css.js +5 -5
  275. package/dist/generated/themes/DateTimePickerPopover.css.js +5 -5
  276. package/dist/generated/themes/DayPicker.css.js +5 -5
  277. package/dist/generated/themes/Dialog.css.js +5 -5
  278. package/dist/generated/themes/FileUploader.css.js +5 -5
  279. package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
  280. package/dist/generated/themes/GrowingButton.css.js +8 -0
  281. package/dist/generated/themes/Icon.css.js +5 -5
  282. package/dist/generated/themes/Input.css.js +5 -5
  283. package/dist/generated/themes/InputIcon.css.js +5 -5
  284. package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
  285. package/dist/generated/themes/Label.css.js +5 -5
  286. package/dist/generated/themes/Link.css.js +5 -5
  287. package/dist/generated/themes/List.css.js +5 -5
  288. package/dist/generated/themes/ListItem.css.js +5 -5
  289. package/dist/generated/themes/ListItemBase.css.js +5 -5
  290. package/dist/generated/themes/MessageStrip.css.js +5 -5
  291. package/dist/generated/themes/MonthPicker.css.js +5 -5
  292. package/dist/generated/themes/MultiComboBox.css.js +5 -5
  293. package/dist/generated/themes/MultiInput.css.js +5 -5
  294. package/dist/generated/themes/Panel.css.js +5 -5
  295. package/dist/generated/themes/Popover.css.js +5 -5
  296. package/dist/generated/themes/Popup.css.js +5 -5
  297. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  298. package/dist/generated/themes/PopupStaticAreaStyles.css.js +5 -5
  299. package/dist/generated/themes/PopupsCommon.css.js +5 -5
  300. package/dist/generated/themes/ProgressIndicator.css.js +5 -5
  301. package/dist/generated/themes/RadioButton.css.js +5 -5
  302. package/dist/generated/themes/RatingIndicator.css.js +5 -5
  303. package/dist/generated/themes/ResponsivePopover.css.js +5 -5
  304. package/dist/generated/themes/ResponsivePopoverCommon.css.js +5 -5
  305. package/dist/generated/themes/SegmentedButton.css.js +5 -5
  306. package/dist/generated/themes/Select.css.js +5 -5
  307. package/dist/generated/themes/SelectPopover.css.js +5 -5
  308. package/dist/generated/themes/SliderBase.css.js +8 -0
  309. package/dist/generated/themes/StepInput.css.js +8 -0
  310. package/dist/generated/themes/Suggestions.css.js +8 -0
  311. package/dist/generated/themes/Switch.css.js +5 -5
  312. package/dist/generated/themes/Tab.css.js +5 -5
  313. package/dist/generated/themes/TabContainer.css.js +5 -5
  314. package/dist/generated/themes/TabInOverflow.css.js +5 -5
  315. package/dist/generated/themes/TabInStrip.css.js +5 -5
  316. package/dist/generated/themes/Table.css.js +5 -5
  317. package/dist/generated/themes/TableCell.css.js +5 -5
  318. package/dist/generated/themes/TableColumn.css.js +5 -5
  319. package/dist/generated/themes/TableGroupRow.css.js +8 -0
  320. package/dist/generated/themes/TableRow.css.js +5 -5
  321. package/dist/generated/themes/TapHighlightColor.css.js +8 -0
  322. package/dist/generated/themes/TextArea.css.js +5 -5
  323. package/dist/generated/themes/TimePicker.css.js +5 -5
  324. package/dist/generated/themes/TimePickerPopover.css.js +5 -5
  325. package/dist/generated/themes/TimeSelection.css.js +8 -0
  326. package/dist/generated/themes/Title.css.js +5 -5
  327. package/dist/generated/themes/Toast.css.js +5 -5
  328. package/dist/generated/themes/ToggleButton.css.js +5 -5
  329. package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
  330. package/dist/generated/themes/Token.css.js +5 -5
  331. package/dist/generated/themes/Tokenizer.css.js +5 -5
  332. package/dist/generated/themes/Tree.css.js +5 -5
  333. package/dist/generated/themes/TreeListItem.css.js +5 -5
  334. package/dist/generated/themes/ValueStateMessage.css.js +5 -5
  335. package/dist/generated/themes/WheelSlider.css.js +5 -5
  336. package/dist/generated/themes/YearPicker.css.js +5 -5
  337. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  338. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  339. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  340. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  341. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  342. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  343. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  344. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
  345. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
  346. package/dist/i18n/messagebundle.properties +335 -0
  347. package/dist/i18n/messagebundle_ar.properties +224 -0
  348. package/dist/i18n/messagebundle_bg.properties +224 -0
  349. package/dist/i18n/messagebundle_ca.properties +224 -0
  350. package/dist/i18n/messagebundle_cs.properties +224 -0
  351. package/dist/i18n/messagebundle_cy.properties +224 -0
  352. package/dist/i18n/messagebundle_da.properties +224 -0
  353. package/dist/i18n/messagebundle_de.properties +224 -0
  354. package/dist/i18n/messagebundle_el.properties +224 -0
  355. package/dist/i18n/messagebundle_en.properties +224 -0
  356. package/dist/i18n/messagebundle_en_GB.properties +224 -0
  357. package/dist/i18n/messagebundle_en_US_sappsd.properties +224 -0
  358. package/dist/i18n/messagebundle_en_US_saprigi.properties +224 -0
  359. package/dist/i18n/messagebundle_en_US_saptrc.properties +224 -0
  360. package/dist/i18n/messagebundle_es.properties +224 -0
  361. package/dist/i18n/messagebundle_es_MX.properties +224 -0
  362. package/dist/i18n/messagebundle_et.properties +224 -0
  363. package/dist/i18n/messagebundle_fi.properties +224 -0
  364. package/dist/i18n/messagebundle_fr.properties +224 -0
  365. package/dist/i18n/messagebundle_fr_CA.properties +224 -0
  366. package/dist/i18n/messagebundle_hi.properties +224 -0
  367. package/dist/i18n/messagebundle_hr.properties +224 -0
  368. package/dist/i18n/messagebundle_hu.properties +224 -0
  369. package/dist/i18n/messagebundle_id.properties +224 -0
  370. package/dist/i18n/messagebundle_in.properties +172 -0
  371. package/dist/i18n/messagebundle_it.properties +224 -0
  372. package/dist/i18n/messagebundle_iw.properties +224 -0
  373. package/dist/i18n/messagebundle_ja.properties +224 -0
  374. package/dist/i18n/messagebundle_kk.properties +224 -0
  375. package/dist/i18n/messagebundle_ko.properties +224 -0
  376. package/dist/i18n/messagebundle_lt.properties +224 -0
  377. package/dist/i18n/messagebundle_lv.properties +224 -0
  378. package/dist/i18n/messagebundle_ms.properties +224 -0
  379. package/dist/i18n/messagebundle_nl.properties +224 -0
  380. package/dist/i18n/messagebundle_no.properties +224 -0
  381. package/dist/i18n/messagebundle_pl.properties +224 -0
  382. package/dist/i18n/messagebundle_pt.properties +224 -0
  383. package/dist/i18n/messagebundle_pt_PT.properties +224 -0
  384. package/dist/i18n/messagebundle_ro.properties +224 -0
  385. package/dist/i18n/messagebundle_ru.properties +224 -0
  386. package/dist/i18n/messagebundle_sh.properties +224 -0
  387. package/dist/i18n/messagebundle_sk.properties +224 -0
  388. package/dist/i18n/messagebundle_sl.properties +224 -0
  389. package/dist/i18n/messagebundle_sv.properties +224 -0
  390. package/dist/i18n/messagebundle_th.properties +224 -0
  391. package/dist/i18n/messagebundle_tr.properties +224 -0
  392. package/dist/i18n/messagebundle_uk.properties +224 -0
  393. package/dist/i18n/messagebundle_vi.properties +224 -0
  394. package/dist/i18n/messagebundle_zh_CN.properties +224 -0
  395. package/dist/i18n/messagebundle_zh_TW.properties +224 -0
  396. package/dist/popup-utils/OpenedPopupsRegistry.js +1 -1
  397. package/dist/popup-utils/PopoverRegistry.js +2 -4
  398. package/dist/timepicker-utils/TimeSlider.js +15 -13
  399. package/{src/types/AvatarBackgroundColor.js → dist/types/AvatarColorScheme.js} +9 -9
  400. package/dist/types/AvatarGroupType.js +43 -0
  401. package/dist/types/AvatarShape.js +1 -1
  402. package/dist/types/AvatarSize.js +1 -1
  403. package/dist/types/BreadcrumbsDesign.js +42 -0
  404. package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
  405. package/dist/types/BusyIndicatorSize.js +1 -1
  406. package/dist/types/ButtonDesign.js +8 -1
  407. package/dist/types/CalendarSelectionMode.js +47 -0
  408. package/dist/types/CarouselArrowsPlacement.js +3 -3
  409. package/dist/types/GrowingMode.js +48 -0
  410. package/dist/types/InputType.js +7 -7
  411. package/dist/types/LinkDesign.js +1 -1
  412. package/dist/types/ListGrowingMode.js +15 -0
  413. package/dist/types/ListItemType.js +1 -1
  414. package/dist/types/ListMode.js +1 -1
  415. package/dist/types/ListSeparators.js +1 -1
  416. package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  417. package/dist/types/PanelAccessibleRole.js +1 -1
  418. package/dist/types/PopoverHorizontalAlign.js +1 -1
  419. package/dist/types/PopoverPlacementType.js +2 -2
  420. package/dist/types/PopoverVerticalAlign.js +1 -2
  421. package/dist/types/Priority.js +1 -1
  422. package/dist/types/SemanticColor.js +1 -1
  423. package/dist/types/SwitchDesign.js +40 -0
  424. package/dist/types/TabContainerTabsPlacement.js +5 -5
  425. package/dist/types/TabLayout.js +1 -1
  426. package/dist/types/TableGrowingMode.js +15 -0
  427. package/dist/types/TableMode.js +47 -0
  428. package/dist/types/TableRowType.js +40 -0
  429. package/dist/types/TitleLevel.js +1 -1
  430. package/dist/types/ToastPlacement.js +1 -2
  431. package/dist/types/WrappingType.js +41 -0
  432. package/dist/webcomponentsjs/CHANGELOG.md +61 -0
  433. package/dist/webcomponentsjs/README.md +64 -47
  434. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
  435. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
  436. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
  437. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
  438. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
  439. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
  440. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
  441. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
  442. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
  443. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
  444. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
  445. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
  446. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
  447. package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
  448. package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
  449. package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
  450. package/package-scripts.js +1 -0
  451. package/package.json +18 -7
  452. package/src/Assets-static.js +6 -0
  453. package/src/Assets.js +2 -1
  454. package/src/Avatar.hbs +14 -3
  455. package/src/Avatar.js +189 -49
  456. package/src/AvatarGroup.hbs +30 -0
  457. package/src/AvatarGroup.js +603 -0
  458. package/src/Badge.hbs +7 -4
  459. package/src/Badge.js +45 -19
  460. package/src/Breadcrumbs.hbs +42 -0
  461. package/src/Breadcrumbs.js +563 -0
  462. package/src/BreadcrumbsItem.js +109 -0
  463. package/src/BreadcrumbsPopover.hbs +28 -0
  464. package/src/BusyIndicator.hbs +28 -14
  465. package/src/BusyIndicator.js +121 -34
  466. package/src/Button.hbs +5 -3
  467. package/src/Button.js +110 -66
  468. package/src/Calendar.hbs +53 -48
  469. package/src/Calendar.js +324 -648
  470. package/src/CalendarDate.js +45 -0
  471. package/src/CalendarHeader.hbs +29 -36
  472. package/src/CalendarHeader.js +110 -59
  473. package/src/CalendarPart.js +111 -0
  474. package/src/Card.hbs +7 -39
  475. package/src/Card.js +38 -198
  476. package/src/CardHeader.hbs +35 -0
  477. package/src/CardHeader.js +288 -0
  478. package/src/Carousel.hbs +23 -16
  479. package/src/Carousel.js +253 -94
  480. package/src/CheckBox.hbs +10 -7
  481. package/src/CheckBox.js +138 -70
  482. package/src/ColorPalette.hbs +52 -0
  483. package/src/ColorPalette.js +493 -0
  484. package/src/ColorPaletteDialog.hbs +18 -0
  485. package/src/ColorPaletteItem.hbs +11 -0
  486. package/src/ColorPaletteItem.js +137 -0
  487. package/src/ColorPalettePopover.hbs +29 -0
  488. package/src/ColorPalettePopover.js +219 -0
  489. package/src/ColorPicker.hbs +98 -0
  490. package/src/ColorPicker.js +524 -0
  491. package/src/ComboBox.hbs +7 -2
  492. package/src/ComboBox.js +348 -144
  493. package/src/ComboBoxFilters.js +8 -1
  494. package/src/ComboBoxGroupItem.js +70 -0
  495. package/src/ComboBoxItem.js +11 -24
  496. package/src/ComboBoxPopover.hbs +26 -16
  497. package/src/CustomListItem.js +36 -2
  498. package/src/DateComponentBase.js +170 -0
  499. package/src/DatePicker.hbs +5 -4
  500. package/src/DatePicker.js +264 -519
  501. package/src/DatePickerPopover.hbs +22 -17
  502. package/src/DateRangePicker.js +162 -426
  503. package/src/DateTimePicker.js +94 -413
  504. package/src/DateTimePickerPopover.hbs +28 -52
  505. package/src/DayPicker.hbs +18 -12
  506. package/src/DayPicker.js +443 -648
  507. package/src/Dialog.hbs +14 -10
  508. package/src/Dialog.js +220 -58
  509. package/src/DurationPicker.js +109 -511
  510. package/src/FileUploader.hbs +3 -0
  511. package/src/FileUploader.js +70 -31
  512. package/src/FileUploaderPopover.hbs +2 -1
  513. package/src/GroupHeaderListItem.hbs +4 -4
  514. package/src/GroupHeaderListItem.js +22 -13
  515. package/src/Icon.hbs +4 -3
  516. package/src/Icon.js +103 -41
  517. package/src/Input.hbs +17 -6
  518. package/src/Input.js +346 -155
  519. package/src/InputPopover.hbs +11 -7
  520. package/src/Interfaces.js +192 -0
  521. package/src/Label.hbs +1 -1
  522. package/src/Label.js +27 -12
  523. package/src/Link.hbs +3 -2
  524. package/src/Link.js +105 -43
  525. package/src/List.hbs +76 -37
  526. package/src/List.js +377 -104
  527. package/src/ListItem.hbs +20 -7
  528. package/src/ListItem.js +60 -13
  529. package/src/ListItemBase.js +29 -2
  530. package/src/MessageStrip.hbs +10 -11
  531. package/src/MessageStrip.js +47 -46
  532. package/src/MonthPicker.hbs +6 -6
  533. package/src/MonthPicker.js +171 -225
  534. package/src/MultiComboBox.hbs +10 -6
  535. package/src/MultiComboBox.js +356 -135
  536. package/src/MultiComboBoxItem.js +7 -2
  537. package/src/MultiComboBoxPopover.hbs +42 -18
  538. package/src/MultiInput.hbs +2 -1
  539. package/src/MultiInput.js +55 -24
  540. package/src/Option.js +48 -5
  541. package/src/Panel.hbs +23 -16
  542. package/src/Panel.js +63 -73
  543. package/src/Popover.js +195 -80
  544. package/src/Popup.hbs +5 -0
  545. package/src/Popup.js +151 -61
  546. package/src/ProgressIndicator.hbs +7 -1
  547. package/src/ProgressIndicator.js +28 -20
  548. package/src/RadioButton.hbs +7 -4
  549. package/src/RadioButton.js +126 -43
  550. package/src/RadioButtonGroup.js +53 -29
  551. package/src/RangeSlider.hbs +70 -0
  552. package/src/RangeSlider.js +769 -0
  553. package/src/RatingIndicator.hbs +5 -3
  554. package/src/RatingIndicator.js +27 -37
  555. package/src/ResponsivePopover.hbs +13 -8
  556. package/src/ResponsivePopover.js +56 -42
  557. package/src/SegmentedButton.hbs +12 -5
  558. package/src/SegmentedButton.js +102 -68
  559. package/src/SegmentedButtonItem.hbs +42 -0
  560. package/src/SegmentedButtonItem.js +109 -0
  561. package/src/Select.hbs +26 -17
  562. package/src/Select.js +275 -116
  563. package/src/SelectPopover.hbs +27 -24
  564. package/src/Slider.hbs +42 -0
  565. package/src/Slider.js +320 -0
  566. package/src/SliderBase.hbs +38 -0
  567. package/src/SliderBase.js +842 -0
  568. package/src/StandardListItem.hbs +7 -5
  569. package/src/StandardListItem.js +35 -9
  570. package/src/StepInput.hbs +77 -0
  571. package/src/StepInput.js +681 -0
  572. package/src/SuggestionGroupItem.js +64 -0
  573. package/src/SuggestionItem.js +13 -26
  574. package/src/SuggestionListItem.hbs +4 -4
  575. package/src/SuggestionListItem.js +17 -6
  576. package/src/Switch.hbs +19 -3
  577. package/src/Switch.js +52 -32
  578. package/src/Tab.js +47 -26
  579. package/src/TabContainer.hbs +43 -26
  580. package/src/TabContainer.js +94 -34
  581. package/src/TabContainerPopover.hbs +2 -1
  582. package/src/TabInStrip.hbs +1 -6
  583. package/src/TabSeparator.hbs +1 -1
  584. package/src/TabSeparator.js +1 -0
  585. package/src/Table.hbs +95 -25
  586. package/src/Table.js +474 -22
  587. package/src/TableCell.hbs +1 -0
  588. package/src/TableCell.js +11 -9
  589. package/src/TableColumn.hbs +2 -0
  590. package/src/TableColumn.js +13 -3
  591. package/src/TableGroupRow.hbs +12 -0
  592. package/src/TableGroupRow.js +160 -0
  593. package/src/TableRow.hbs +29 -2
  594. package/src/TableRow.js +210 -11
  595. package/src/TextArea.hbs +1 -3
  596. package/src/TextArea.js +86 -46
  597. package/src/TextAreaPopover.hbs +2 -1
  598. package/src/TimePicker.hbs +6 -3
  599. package/src/TimePicker.js +27 -743
  600. package/src/TimePickerBase.js +463 -0
  601. package/src/TimePickerPopover.hbs +28 -52
  602. package/src/TimeSelection.hbs +60 -0
  603. package/src/TimeSelection.js +493 -0
  604. package/src/Title.js +16 -9
  605. package/src/Toast.hbs +13 -11
  606. package/src/Toast.js +19 -8
  607. package/src/ToggleButton.js +21 -8
  608. package/src/Token.hbs +2 -0
  609. package/src/Token.js +32 -16
  610. package/src/Tokenizer.hbs +1 -0
  611. package/src/Tokenizer.js +75 -42
  612. package/src/TokenizerPopover.hbs +1 -1
  613. package/src/Tree.hbs +10 -2
  614. package/src/Tree.js +97 -41
  615. package/src/TreeItem.js +44 -9
  616. package/src/TreeListItem.hbs +15 -4
  617. package/src/TreeListItem.js +86 -2
  618. package/src/WheelSlider.hbs +17 -10
  619. package/src/WheelSlider.js +58 -58
  620. package/src/YearPicker.hbs +9 -7
  621. package/src/YearPicker.js +188 -284
  622. package/src/features/ColorPaletteMoreColors.js +42 -0
  623. package/src/features/InputElementsFormSupport.js +0 -1
  624. package/src/features/InputSuggestions.js +131 -30
  625. package/src/i18n/messagebundle.properties +144 -189
  626. package/src/i18n/messagebundle_ar.properties +99 -115
  627. package/src/i18n/messagebundle_bg.properties +99 -115
  628. package/src/i18n/messagebundle_ca.properties +99 -115
  629. package/src/i18n/messagebundle_cs.properties +99 -115
  630. package/src/i18n/messagebundle_cy.properties +224 -0
  631. package/src/i18n/messagebundle_da.properties +99 -115
  632. package/src/i18n/messagebundle_de.properties +99 -115
  633. package/src/i18n/messagebundle_el.properties +99 -115
  634. package/src/i18n/messagebundle_en.properties +99 -115
  635. package/src/i18n/messagebundle_en_GB.properties +224 -0
  636. package/src/i18n/messagebundle_en_US_sappsd.properties +99 -115
  637. package/src/i18n/messagebundle_en_US_saprigi.properties +224 -0
  638. package/src/i18n/messagebundle_en_US_saptrc.properties +99 -115
  639. package/src/i18n/messagebundle_es.properties +99 -115
  640. package/src/i18n/messagebundle_es_MX.properties +224 -0
  641. package/src/i18n/messagebundle_et.properties +99 -115
  642. package/src/i18n/messagebundle_fi.properties +99 -115
  643. package/src/i18n/messagebundle_fr.properties +99 -115
  644. package/src/i18n/messagebundle_fr_CA.properties +224 -0
  645. package/src/i18n/messagebundle_hi.properties +99 -115
  646. package/src/i18n/messagebundle_hr.properties +99 -115
  647. package/src/i18n/messagebundle_hu.properties +99 -115
  648. package/src/i18n/messagebundle_id.properties +224 -0
  649. package/src/i18n/messagebundle_in.properties +172 -0
  650. package/src/i18n/messagebundle_it.properties +99 -115
  651. package/src/i18n/messagebundle_iw.properties +99 -115
  652. package/src/i18n/messagebundle_ja.properties +100 -116
  653. package/src/i18n/messagebundle_kk.properties +99 -115
  654. package/src/i18n/messagebundle_ko.properties +99 -115
  655. package/src/i18n/messagebundle_lt.properties +99 -115
  656. package/src/i18n/messagebundle_lv.properties +99 -115
  657. package/src/i18n/messagebundle_ms.properties +99 -115
  658. package/src/i18n/messagebundle_nl.properties +99 -115
  659. package/src/i18n/messagebundle_no.properties +99 -115
  660. package/src/i18n/messagebundle_pl.properties +99 -115
  661. package/src/i18n/messagebundle_pt.properties +99 -115
  662. package/src/i18n/messagebundle_pt_PT.properties +224 -0
  663. package/src/i18n/messagebundle_ro.properties +98 -114
  664. package/src/i18n/messagebundle_ru.properties +99 -115
  665. package/src/i18n/messagebundle_sh.properties +99 -115
  666. package/src/i18n/messagebundle_sk.properties +99 -115
  667. package/src/i18n/messagebundle_sl.properties +99 -115
  668. package/src/i18n/messagebundle_sv.properties +99 -115
  669. package/src/i18n/messagebundle_th.properties +99 -115
  670. package/src/i18n/messagebundle_tr.properties +99 -115
  671. package/src/i18n/messagebundle_uk.properties +101 -117
  672. package/src/i18n/messagebundle_vi.properties +99 -115
  673. package/src/i18n/messagebundle_zh_CN.properties +99 -115
  674. package/src/i18n/messagebundle_zh_TW.properties +99 -115
  675. package/src/popup-utils/OpenedPopupsRegistry.js +1 -1
  676. package/src/popup-utils/PopoverRegistry.js +2 -4
  677. package/src/timepicker-utils/TimeSlider.js +15 -13
  678. package/{dist/types/AvatarBackgroundColor.js → src/types/AvatarColorScheme.js} +9 -9
  679. package/src/types/AvatarGroupType.js +43 -0
  680. package/src/types/AvatarShape.js +1 -1
  681. package/src/types/AvatarSize.js +1 -1
  682. package/src/types/BreadcrumbsDesign.js +42 -0
  683. package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
  684. package/src/types/BusyIndicatorSize.js +1 -1
  685. package/src/types/ButtonDesign.js +8 -1
  686. package/src/types/CalendarSelectionMode.js +47 -0
  687. package/src/types/CarouselArrowsPlacement.js +3 -3
  688. package/src/types/GrowingMode.js +48 -0
  689. package/src/types/InputType.js +7 -7
  690. package/src/types/LinkDesign.js +1 -1
  691. package/src/types/ListGrowingMode.js +15 -0
  692. package/src/types/ListItemType.js +1 -1
  693. package/src/types/ListMode.js +1 -1
  694. package/src/types/ListSeparators.js +1 -1
  695. package/src/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  696. package/src/types/PanelAccessibleRole.js +1 -1
  697. package/src/types/PopoverHorizontalAlign.js +1 -1
  698. package/src/types/PopoverPlacementType.js +2 -2
  699. package/src/types/PopoverVerticalAlign.js +1 -2
  700. package/src/types/Priority.js +1 -1
  701. package/src/types/SemanticColor.js +1 -1
  702. package/src/types/SwitchDesign.js +40 -0
  703. package/src/types/TabContainerTabsPlacement.js +5 -5
  704. package/src/types/TabLayout.js +1 -1
  705. package/src/types/TableGrowingMode.js +15 -0
  706. package/src/types/TableMode.js +47 -0
  707. package/src/types/TableRowType.js +40 -0
  708. package/src/types/TitleLevel.js +1 -1
  709. package/src/types/ToastPlacement.js +1 -2
  710. package/src/types/WrappingType.js +41 -0
  711. package/dist/Timeline.js +0 -99
  712. package/dist/TimelineItem.js +0 -156
  713. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -14
  714. package/dist/generated/templates/DateRangePickerTemplate.lit.js +0 -16
  715. package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -17
  716. package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -16
  717. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -19
  718. package/dist/generated/templates/TimelineTemplate.lit.js +0 -15
  719. package/dist/generated/themes/ComboBoxItem.css.js +0 -8
  720. package/dist/generated/themes/DurationPicker.css.js +0 -8
  721. package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
  722. package/dist/generated/themes/Timeline.css.js +0 -8
  723. package/dist/generated/themes/TimelineItem.css.js +0 -8
  724. package/dist/popup-utils/PopupUtils.js +0 -84
  725. package/dist/types/AvatarFitType.js +0 -40
  726. package/dist/webcomponentsjs/package.json +0 -46
  727. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  728. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  729. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  730. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  731. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  732. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  733. package/src/ComboBoxItem.hbs +0 -0
  734. package/src/DateRangePicker.hbs +0 -1
  735. package/src/DurationPicker.hbs +0 -29
  736. package/src/DurationPickerPopover.hbs +0 -48
  737. package/src/Timeline.hbs +0 -9
  738. package/src/Timeline.js +0 -99
  739. package/src/TimelineItem.hbs +0 -39
  740. package/src/TimelineItem.js +0 -156
  741. package/src/popup-utils/PopupUtils.js +0 -84
  742. package/src/types/AvatarFitType.js +0 -40
@@ -8,7 +8,7 @@ import {
8
8
  isSpace,
9
9
  isEnter,
10
10
  } from "@ui5/webcomponents-base/dist/Keys.js";
11
- import { fetchI18nBundle, getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
11
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
12
12
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
13
13
  import Float from "@ui5/webcomponents-base/dist/types/Float.js";
14
14
  import {
@@ -29,7 +29,7 @@ const metadata = {
29
29
  properties: /** @lends sap.ui.webcomponents.main.RatingIndicator.prototype */ {
30
30
 
31
31
  /**
32
- * The indicated value of the rating
32
+ * The indicated value of the rating.
33
33
  * <br><br>
34
34
  * <b>Note:</b> If you set a number which is not round, it would be shown as follows:
35
35
  * <ul>
@@ -47,21 +47,22 @@ const metadata = {
47
47
  },
48
48
 
49
49
  /**
50
- * The number of displayed rating symbols
50
+ * The number of displayed rating symbols.
51
51
  * @type {Integer}
52
52
  * @defaultvalue 5
53
53
  * @public
54
+ * @since 1.0.0-rc.15
54
55
  */
55
- maxValue: {
56
+ max: {
56
57
  type: Integer,
57
58
  defaultValue: 5,
58
59
  },
59
60
 
60
61
  /**
61
- * Defines whether the <code>ui5-rating-indicator</code> is disabled.
62
+ * Defines whether the component is disabled.
62
63
  *
63
64
  * <br><br>
64
- * <b>Note:</b> A disabled <code>ui5-rating-indicator</code> is completely noninteractive.
65
+ * <b>Note:</b> A disabled component is completely noninteractive.
65
66
  * @type {boolean}
66
67
  * @defaultvalue false
67
68
  * @public
@@ -71,9 +72,9 @@ const metadata = {
71
72
  },
72
73
 
73
74
  /**
74
- * Defines whether the <code>ui5-rating-indicator</code> is read-only.
75
+ * Defines whether the component is read-only.
75
76
  * <br><br>
76
- * <b>Note:</b> A read-only <code>ui5-rating-indicator</code> is not editable,
77
+ * <b>Note:</b> A read-only component is not editable,
77
78
  * but still provides visual feedback upon user interaction.
78
79
  *
79
80
  * @type {boolean}
@@ -85,25 +86,14 @@ const metadata = {
85
86
  },
86
87
 
87
88
  /**
88
- * Defines the aria-label attribute for the rating indicator.
89
- * @type {String}
90
- * @defaultvalue: undefined
91
- * @private
92
- * @since 1.0.0-rc.8
93
- */
94
- ariaLabel: {
95
- type: String,
96
- defaultValue: undefined,
97
- },
98
-
99
- /**
100
- * Defines the tooltip for the rating indicator.
89
+ * Sets the accessible aria name of the component.
90
+ *
101
91
  * @type {String}
102
92
  * @defaultvalue: undefined
103
- * @private
104
- * @since 1.0.0-rc.8
93
+ * @public
94
+ * @since 1.0.0-rc.15
105
95
  */
106
- title: {
96
+ accessibleName: {
107
97
  type: String,
108
98
  defaultValue: undefined,
109
99
  },
@@ -142,23 +132,20 @@ const metadata = {
142
132
  * @class
143
133
  *
144
134
  * <h3 class="comment-api-title">Overview</h3>
145
- * The rating indicator is used to display a specific number of icons that are used to rate an item.
135
+ * The Rating Indicator is used to display a specific number of icons that are used to rate an item.
146
136
  * Additionally, it is also used to display the average and overall ratings.
147
137
  *
148
138
  * <h3>Usage</h3>
149
- * The reccomended number of icons is between 5 and 7.
139
+ * The recommended number of icons is between 5 and 7.
150
140
  *
151
141
  * <h3>Responsive Behavior</h3>
152
142
  * You can change the size of the Rating Indicator by changing its <code>font-size</code> CSS property.
153
143
  * <br>
154
144
  * Example: <code>&lt;ui5-rating-indicator style="font-size: 3rem;">&lt;/ui5-rating-indicator></code>
155
145
  *
156
- * <h3>Usage</h3>
157
- *
158
- * For the <code>ui5-rating-indicator</code>
159
146
  * <h3>ES6 Module Import</h3>
160
147
  *
161
- * <code>import @ui5/webcomponents/dist/RatingIndicator.js";</code>
148
+ * <code>import "@ui5/webcomponents/dist/RatingIndicator.js";</code>
162
149
  *
163
150
  * @constructor
164
151
  * @author SAP SE
@@ -186,14 +173,13 @@ class RatingIndicator extends UI5Element {
186
173
  }
187
174
 
188
175
  static async onDefine() {
189
- await fetchI18nBundle("@ui5/webcomponents");
176
+ RatingIndicator.i18nBundle = await getI18nBundle("@ui5/webcomponents");
190
177
  }
191
178
 
192
179
  constructor() {
193
180
  super();
194
181
 
195
182
  this._liveValue = null; // stores the value to determine when to fire change
196
- this.i18nBundle = getI18nBundle("@ui5/webcomponents");
197
183
  }
198
184
 
199
185
  onBeforeRendering() {
@@ -203,7 +189,7 @@ class RatingIndicator extends UI5Element {
203
189
  calcState() {
204
190
  this._stars = [];
205
191
 
206
- for (let i = 1; i < this.maxValue + 1; i++) {
192
+ for (let i = 1; i < this.max + 1; i++) {
207
193
  const remainder = Math.round((this.value - Math.floor(this.value)) * 10);
208
194
  let halfStar = false,
209
195
  tempValue = this.value;
@@ -255,7 +241,7 @@ class RatingIndicator extends UI5Element {
255
241
  if (down && this.value > 0) {
256
242
  this.value = Math.round(this.value - 1);
257
243
  this.fireEvent("change");
258
- } else if (up && this.value < this.maxValue) {
244
+ } else if (up && this.value < this.max) {
259
245
  this.value = Math.round(this.value + 1);
260
246
  this.fireEvent("change");
261
247
  }
@@ -280,20 +266,24 @@ class RatingIndicator extends UI5Element {
280
266
  }
281
267
 
282
268
  get tooltip() {
283
- return this.title || this.defaultTooltip;
269
+ return this.getAttribute("title") || this.defaultTooltip;
284
270
  }
285
271
 
286
272
  get defaultTooltip() {
287
- return this.i18nBundle.getText(RATING_INDICATOR_TOOLTIP_TEXT);
273
+ return RatingIndicator.i18nBundle.getText(RATING_INDICATOR_TOOLTIP_TEXT);
288
274
  }
289
275
 
290
276
  get _ariaRoleDescription() {
291
- return this.i18nBundle.getText(RATING_INDICATOR_TEXT);
277
+ return RatingIndicator.i18nBundle.getText(RATING_INDICATOR_TEXT);
292
278
  }
293
279
 
294
280
  get _ariaDisabled() {
295
281
  return this.disabled || undefined;
296
282
  }
283
+
284
+ get ariaReadonly() {
285
+ return this.readonly ? "true" : undefined;
286
+ }
297
287
  }
298
288
 
299
289
  RatingIndicator.define();
@@ -1,5 +1,7 @@
1
1
  import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
2
- import { getNextZIndex } from "./popup-utils/PopupUtils.js";
2
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
+ import { getNextZIndex } from "@ui5/webcomponents-base/dist/util/PopupUtils.js";
4
+ import { RESPONSIVE_POPOVER_CLOSE_DIALOG_BUTTON } from "./generated/i18n/i18n-defaults.js";
3
5
  import ResponsivePopoverTemplate from "./generated/templates/ResponsivePopoverTemplate.lit.js";
4
6
  import Popover from "./Popover.js";
5
7
  import Dialog from "./Dialog.js";
@@ -10,8 +12,6 @@ import "@ui5/webcomponents-icons/dist/decline.js";
10
12
  // Styles
11
13
  import ResponsivePopoverCss from "./generated/themes/ResponsivePopover.css.js";
12
14
 
13
- const POPOVER_MIN_WIDTH = 100;
14
-
15
15
  /**
16
16
  * @public
17
17
  */
@@ -19,16 +19,6 @@ const metadata = {
19
19
  tag: "ui5-responsive-popover",
20
20
  properties: /** @lends sap.ui.webcomponents.main.ResponsivePopover.prototype */ {
21
21
 
22
- /**
23
- * Defines whether the component will stretch to fit its content.
24
- * <br/><b>Note:</b> by default the popover will be as wide as its opener component and will grow if the content is not fitting.
25
- * <br/><b>Note:</b> if set to true, it will take only as much space as it needs.
26
- * @private
27
- */
28
- noStretch: {
29
- type: Boolean,
30
- },
31
-
32
22
  /**
33
23
  * Defines if padding would be added around the content.
34
24
  * @private
@@ -53,6 +43,19 @@ const metadata = {
53
43
  _hideHeader: {
54
44
  type: Boolean,
55
45
  },
46
+
47
+ /**
48
+ * Defines whether a close button will be rendered in the header of the component
49
+ * <b>Note:</b> If you are using the <code>header</code> slot, this property will have no effect
50
+ *
51
+ * @private
52
+ * @type {Boolean}
53
+ * @defaultvalue false
54
+ * @since 1.0.0-rc.16
55
+ */
56
+ _hideCloseButton: {
57
+ type: Boolean,
58
+ },
56
59
  },
57
60
  };
58
61
 
@@ -75,6 +78,10 @@ const metadata = {
75
78
  * @public
76
79
  */
77
80
  class ResponsivePopover extends Popover {
81
+ constructor() {
82
+ super();
83
+ }
84
+
78
85
  static get metadata() {
79
86
  return metadata;
80
87
  }
@@ -83,6 +90,17 @@ class ResponsivePopover extends Popover {
83
90
  return [Popover.styles, ResponsivePopoverCss];
84
91
  }
85
92
 
93
+ get classes() {
94
+ const allClasses = super.classes;
95
+
96
+ allClasses.header = {
97
+ "ui5-responsive-popover-header": true,
98
+ "ui5-responsive-popover-header-no-title": !this.headerText,
99
+ };
100
+
101
+ return allClasses;
102
+ }
103
+
86
104
  static get template() {
87
105
  return ResponsivePopoverTemplate;
88
106
  }
@@ -96,27 +114,20 @@ class ResponsivePopover extends Popover {
96
114
  }
97
115
 
98
116
  /**
99
- * Opens popover on desktop and dialog on mobile.
100
- * @param {HTMLElement} opener the element that the popover is opened by
117
+ * Shows popover on desktop and dialog on mobile.
118
+ * @param {HTMLElement} opener the element that the popover is shown at
119
+ * @param {boolean} preventInitialFocus Prevents applying the focus inside the popup
101
120
  * @public
121
+ * @async
122
+ * @returns {Promise} Resolves when the responsive popover is open
102
123
  */
103
- open(opener) {
104
- this.style.display = this._isPhone ? "contents" : "";
105
-
106
- if (this.isOpen() || (this._dialog && this._dialog.isOpen())) {
107
- return;
108
- }
109
-
124
+ async showAt(opener, preventInitialFocus = false) {
110
125
  if (!isPhone()) {
111
- // make popover width be >= of the opener's width
112
- if (!this.noStretch) {
113
- this._minWidth = Math.max(POPOVER_MIN_WIDTH, opener.getBoundingClientRect().width);
114
- }
115
-
116
- this.openBy(opener);
126
+ await super.showAt(opener, preventInitialFocus);
117
127
  } else {
128
+ this.style.display = "contents";
118
129
  this.style.zIndex = getNextZIndex();
119
- this._dialog.open();
130
+ await this._dialog.show(preventInitialFocus);
120
131
  }
121
132
  }
122
133
 
@@ -128,7 +139,7 @@ class ResponsivePopover extends Popover {
128
139
  if (!isPhone()) {
129
140
  super.close(escPressed, preventRegistryUpdate, preventFocusRestore);
130
141
  } else {
131
- this._dialog.close();
142
+ this._dialog.close(escPressed, preventRegistryUpdate, preventFocusRestore);
132
143
  }
133
144
  }
134
145
 
@@ -137,23 +148,18 @@ class ResponsivePopover extends Popover {
137
148
  return this.close();
138
149
  }
139
150
 
140
- this.open(opener);
151
+ this.showAt(opener);
141
152
  }
142
153
 
154
+ /**
155
+ * Tells if the responsive popover is open
156
+ * @public
157
+ * @returns {boolean}
158
+ */
143
159
  isOpen() {
144
160
  return isPhone() ? this._dialog.isOpen() : super.isOpen();
145
161
  }
146
162
 
147
- get styles() {
148
- const popoverStyles = super.styles;
149
-
150
- popoverStyles.root = {
151
- "min-width": `${this._minWidth}px`,
152
- };
153
-
154
- return popoverStyles;
155
- }
156
-
157
163
  get _dialog() {
158
164
  return this.shadowRoot.querySelector("[ui5-dialog]");
159
165
  }
@@ -163,13 +169,17 @@ class ResponsivePopover extends Popover {
163
169
  }
164
170
 
165
171
  get _displayHeader() {
166
- return this._isPhone || !this.contentOnlyOnDesktop;
172
+ return (this._isPhone || !this.contentOnlyOnDesktop) && super._displayHeader;
167
173
  }
168
174
 
169
175
  get _displayFooter() {
170
176
  return this._isPhone || !this.contentOnlyOnDesktop;
171
177
  }
172
178
 
179
+ get _closeDialogAriaLabel() {
180
+ return ResponsivePopover.i18nBundle.getText(RESPONSIVE_POPOVER_CLOSE_DIALOG_BUTTON);
181
+ }
182
+
173
183
  _afterDialogOpen(event) {
174
184
  this.opened = true;
175
185
  this._propagateDialogEvent(event);
@@ -185,6 +195,10 @@ class ResponsivePopover extends Popover {
185
195
 
186
196
  this.fireEvent(type, event.detail);
187
197
  }
198
+
199
+ static async onDefine() {
200
+ ResponsivePopover.i18nBundle = await getI18nBundle("@ui5/webcomponents");
201
+ }
188
202
  }
189
203
 
190
204
  ResponsivePopover.define();
@@ -1,12 +1,16 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
3
3
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
4
- import { fetchI18nBundle, getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
4
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
5
5
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
6
- import RenderScheduler from "@ui5/webcomponents-base/dist/RenderScheduler.js";
6
+ import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
7
7
  import { isIE } from "@ui5/webcomponents-base/dist/Device.js";
8
- import { SEGMENTEDBUTTON_ARIA_DESCRIPTION } from "./generated/i18n/i18n-defaults.js";
9
- import ToggleButton from "./ToggleButton.js";
8
+ import {
9
+ isSpace,
10
+ isEnter,
11
+ } from "@ui5/webcomponents-base/dist/Keys.js";
12
+ import { SEGMENTEDBUTTON_ARIA_DESCRIPTION, SEGMENTEDBUTTON_ARIA_DESCRIBEDBY } from "./generated/i18n/i18n-defaults.js";
13
+ import SegmentedButtonItem from "./SegmentedButtonItem.js";
10
14
 
11
15
  // Template
12
16
  import SegmentedButtonTemplate from "./generated/templates/SegmentedButtonTemplate.lit.js";
@@ -18,39 +22,40 @@ import SegmentedButtonCss from "./generated/themes/SegmentedButton.css.js";
18
22
  * @public
19
23
  */
20
24
  const metadata = {
21
- tag: "ui5-segmentedbutton",
25
+ tag: "ui5-segmented-button",
26
+ altTag: "ui5-segmentedbutton",
22
27
  languageAware: true,
23
28
  properties: /** @lends sap.ui.webcomponents.main.SegmentedButton.prototype */ {},
24
29
  managedSlots: true,
25
30
  slots: /** @lends sap.ui.webcomponents.main.SegmentedButton.prototype */ {
26
31
 
27
32
  /**
28
- * Defines the buttons of <code>ui5-segmentedbutton</code>.
33
+ * Defines the items of <code>ui5-segmented-button</code>.
29
34
  * <br><br>
30
- * <b>Note:</b> Multiple buttons are allowed.
35
+ * <b>Note:</b> Multiple items are allowed.
31
36
  * <br><br>
32
- * <b>Note:</b> Use the <code>ui5-togglebutton</code> for the intended design.
33
- * @type {HTMLElement[]}
34
- * @slot
37
+ * <b>Note:</b> Use the <code>ui5-segmented-button-item</code> for the intended design.
38
+ * @type {sap.ui.webcomponents.main.ISegmentedButtonItem[]}
39
+ * @slot items
35
40
  * @public
36
41
  */
37
42
  "default": {
38
- propertyName: "buttons",
43
+ propertyName: "items",
39
44
  type: HTMLElement,
40
45
  },
41
46
  },
42
47
  events: /** @lends sap.ui.webcomponents.main.SegmentedButton.prototype */ {
43
48
 
44
49
  /**
45
- * Fired when the selected button changes.
50
+ * Fired when the selected item changes.
46
51
  *
47
52
  * @event sap.ui.webcomponents.main.SegmentedButton#selection-change
48
- * @param {HTMLElement} selectedButton the pressed button.
53
+ * @param {HTMLElement} selectedItem the pressed item.
49
54
  * @public
50
55
  */
51
56
  "selection-change": {
52
57
  detail: {
53
- selectedButton: { type: HTMLElement },
58
+ selectedItem: { type: HTMLElement },
54
59
  },
55
60
  },
56
61
  },
@@ -61,11 +66,11 @@ const metadata = {
61
66
  *
62
67
  * <h3 class="comment-api-title">Overview</h3>
63
68
  *
64
- * The <code>ui5-segmentedbutton</code> shows a group of buttons. When the user clicks or taps
65
- * one of the buttons, it stays in a pressed state. It automatically resizes the buttons
69
+ * The <code>ui5-segmented-button</code> shows a group of items. When the user clicks or taps
70
+ * one of the items, it stays in a pressed state. It automatically resizes the items
66
71
  * to fit proportionally within the component. When no width is set, the component uses the available width.
67
72
  * <br><br>
68
- * <b>Note:</b> There can be just one selected <code>button</code> at a time.
73
+ * <b>Note:</b> There can be just one selected <code>item</code> at a time.
69
74
  *
70
75
  * <h3>ES6 Module Import</h3>
71
76
  *
@@ -75,8 +80,9 @@ const metadata = {
75
80
  * @author SAP SE
76
81
  * @alias sap.ui.webcomponents.main.SegmentedButton
77
82
  * @extends sap.ui.webcomponents.base.UI5Element
78
- * @tagname ui5-segmentedbutton
83
+ * @tagname ui5-segmented-button
79
84
  * @since 1.0.0-rc.6
85
+ * @appenddocs SegmentedButtonItem
80
86
  * @public
81
87
  */
82
88
  class SegmentedButton extends UI5Element {
@@ -97,23 +103,25 @@ class SegmentedButton extends UI5Element {
97
103
  }
98
104
 
99
105
  static get dependencies() {
100
- return [ToggleButton];
106
+ return [SegmentedButtonItem];
101
107
  }
102
108
 
103
109
  static async onDefine() {
104
- await fetchI18nBundle("@ui5/webcomponents");
110
+ SegmentedButton.i18nBundle = await getI18nBundle("@ui5/webcomponents");
105
111
  }
106
112
 
107
113
  constructor() {
108
114
  super();
109
- this.initItemNavigation();
115
+
116
+ this._itemNavigation = new ItemNavigation(this, {
117
+ getItemsCallback: () => this.getSlottedNodes("items"),
118
+ });
110
119
 
111
120
  this.absoluteWidthSet = false; // set to true whenever we set absolute width to the component
112
121
  this.percentageWidthSet = false; // set to true whenever we set 100% width to the component
113
122
  this.hasPreviouslyFocusedItem = false;
114
123
 
115
124
  this._handleResizeBound = this._doLayout.bind(this);
116
- this.i18nBundle = getI18nBundle("@ui5/webcomponents");
117
125
  }
118
126
 
119
127
  onEnterDOM() {
@@ -121,10 +129,19 @@ class SegmentedButton extends UI5Element {
121
129
  }
122
130
 
123
131
  onExitDOM() {
124
- ResizeHandler.deregister(this.parentNode, this._handleResizeBound);
132
+ if (this.parentNode) {
133
+ ResizeHandler.deregister(this.parentNode, this._handleResizeBound);
134
+ }
125
135
  }
126
136
 
127
137
  onBeforeRendering() {
138
+ const items = this.getSlottedNodes("items");
139
+
140
+ items.forEach((item, index, arr) => {
141
+ item.posInSet = index + 1;
142
+ item.sizeOfSet = arr.length;
143
+ });
144
+
128
145
  this.normalizeSelection();
129
146
  }
130
147
 
@@ -132,24 +149,24 @@ class SegmentedButton extends UI5Element {
132
149
  await this._doLayout();
133
150
  }
134
151
 
135
- prepareToMeasureButtons() {
152
+ prepareToMeasureItems() {
136
153
  this.style.width = "";
137
- this.buttons.forEach(button => {
138
- button.style.width = "";
154
+ this.items.forEach(item => {
155
+ item.style.width = "";
139
156
  });
140
157
  }
141
158
 
142
- async measureButtonsWidth() {
143
- await RenderScheduler.whenDOMUpdated();
144
- this.prepareToMeasureButtons();
159
+ async measureItemsWidth() {
160
+ await renderFinished();
161
+ this.prepareToMeasureItems();
145
162
 
146
- this.widths = this.buttons.map(button => {
163
+ this.widths = this.items.map(item => {
147
164
  // +1 is added because for width 100.44px the offsetWidth property returns 100px and not 101px
148
- let width = button.offsetWidth + 1;
165
+ let width = item.offsetWidth + 1;
149
166
 
150
167
  if (isIE()) {
151
- // in IE we are adding 1 one px beacause the width of the border on a button in the middle is not calculated and if the
152
- // longest button is in the middle, it truncates
168
+ // in IE we are adding 1 one px beacause the width of the border on an item in the middle is not calculated and if the
169
+ // longest item is in the middle, it truncates
153
170
  width += 1;
154
171
  }
155
172
 
@@ -157,76 +174,89 @@ class SegmentedButton extends UI5Element {
157
174
  });
158
175
  }
159
176
 
160
- initItemNavigation() {
161
- this._itemNavigation = new ItemNavigation(this);
162
-
163
- this._itemNavigation.getItemsCallback = () => this.getSlottedNodes("buttons");
164
- }
165
-
166
177
  normalizeSelection() {
167
- this._selectedButton = this.buttons.filter(button => button.pressed).pop();
178
+ this._selectedItem = this.items.filter(item => item.pressed).pop();
168
179
 
169
- if (this._selectedButton) {
170
- this.buttons.forEach(button => {
171
- button.pressed = false;
180
+ if (this._selectedItem) {
181
+ this.items.forEach(item => {
182
+ item.pressed = false;
172
183
  });
173
- this._selectedButton.pressed = true;
184
+ this._selectedItem.pressed = true;
174
185
  }
175
186
  }
176
187
 
177
- _onclick(event) {
188
+ _selectItem(event) {
178
189
  if (event.target.disabled || event.target === this.getDomRef()) {
179
190
  return;
180
191
  }
181
192
 
182
- if (event.target !== this._selectedButton) {
183
- if (this._selectedButton) {
184
- this._selectedButton.pressed = false;
193
+ if (event.target !== this._selectedItem) {
194
+ if (this._selectedItem) {
195
+ this._selectedItem.pressed = false;
185
196
  }
186
- this._selectedButton = event.target;
197
+ this._selectedItem = event.target;
187
198
  this.fireEvent("selection-change", {
188
- selectedButton: this._selectedButton,
199
+ selectedItem: this._selectedItem,
189
200
  });
190
201
  }
191
202
 
192
- this._selectedButton.pressed = true;
193
- this._itemNavigation.update(this._selectedButton);
203
+ this._selectedItem.pressed = true;
204
+ this._itemNavigation.setCurrentItem(this._selectedItem);
194
205
 
195
206
  return this;
196
207
  }
197
208
 
209
+ _onclick(event) {
210
+ this._selectItem(event);
211
+ this.selectedItem.focus();
212
+ }
213
+
214
+ _onkeydown(event) {
215
+ if (isEnter(event)) {
216
+ this._selectItem(event);
217
+ } else if (isSpace(event)) {
218
+ event.preventDefault();
219
+ }
220
+ }
221
+
222
+ _onkeyup(event) {
223
+ if (isSpace(event)) {
224
+ this._selectItem(event);
225
+ }
226
+ }
227
+
198
228
  _onfocusin(event) {
199
229
  // If the component was previously focused,
200
230
  // update the ItemNavigation to sync butons` tabindex values
201
231
  if (this.hasPreviouslyFocusedItem) {
202
- this._itemNavigation.update(event.target);
232
+ this._itemNavigation.setCurrentItem(event.target);
203
233
  return;
204
234
  }
205
235
 
206
236
  // If the component is focused for the first time
207
237
  // focus the selected item if such present
208
- if (this.selectedButton) {
209
- this.selectedButton.focus();
210
- this._itemNavigation.update(this._selectedButton);
238
+ if (this.selectedItem) {
239
+ this.selectedItem.focus();
240
+ this._itemNavigation.setCurrentItem(this._selectedItem);
211
241
  this.hasPreviouslyFocusedItem = true;
212
242
  }
213
243
  }
214
244
 
215
245
  async _doLayout() {
216
- const buttonsHaveWidth = this.widths && this.widths.some(button => button.offsetWidth > 2); // 2 are the pixel's added for rounding & IE
217
- if (!buttonsHaveWidth) {
218
- await this.measureButtonsWidth();
246
+ const itemsHaveWidth = this.widths && this.widths.some(item => item.offsetWidth > 2); // 2 are the pixel's added for rounding & IE
247
+ if (!itemsHaveWidth) {
248
+ await this.measureItemsWidth();
219
249
  }
220
250
 
221
- const parentWidth = this.parentNode.offsetWidth;
251
+ const parentWidth = this.parentNode ? this.parentNode.offsetWidth : 0;
222
252
 
223
253
  if (!this.style.width || this.percentageWidthSet) {
224
- this.style.width = `${Math.max(...this.widths) * this.buttons.length}px`;
254
+ this.style.width = `${Math.max(...this.widths) * this.items.length}px`;
225
255
  this.absoluteWidthSet = true;
226
256
  }
227
257
 
228
- this.buttons.forEach(button => {
229
- button.style.width = "100%";
258
+ this.items.forEach(item => {
259
+ item.style.width = "100%";
230
260
  });
231
261
 
232
262
  if (parentWidth <= this.offsetWidth && this.absoluteWidthSet) {
@@ -236,18 +266,22 @@ class SegmentedButton extends UI5Element {
236
266
  }
237
267
 
238
268
  /**
239
- * Currently selected button.
269
+ * Currently selected item.
240
270
  *
241
271
  * @readonly
242
- * @type { ui5-togglebutton }
272
+ * @type { ui5-segmented-button-item }
243
273
  * @public
244
274
  */
245
- get selectedButton() {
246
- return this._selectedButton;
275
+ get selectedItem() {
276
+ return this._selectedItem;
277
+ }
278
+
279
+ get ariaDescribedBy() {
280
+ return SegmentedButton.i18nBundle.getText(SEGMENTEDBUTTON_ARIA_DESCRIBEDBY);
247
281
  }
248
282
 
249
283
  get ariaDescription() {
250
- return this.i18nBundle.getText(SEGMENTEDBUTTON_ARIA_DESCRIPTION);
284
+ return SegmentedButton.i18nBundle.getText(SEGMENTEDBUTTON_ARIA_DESCRIPTION);
251
285
  }
252
286
  }
253
287