@ui5/webcomponents 1.0.0-rc.9 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1253) hide show
  1. package/CHANGELOG.md +653 -1
  2. package/README.md +144 -52
  3. package/customI18n.js +50 -0
  4. package/dist/Assets-static.js +6 -0
  5. package/dist/Assets.js +2 -1
  6. package/dist/Avatar.js +190 -50
  7. package/dist/AvatarGroup.js +603 -0
  8. package/dist/Badge.js +45 -19
  9. package/dist/Breadcrumbs.js +575 -0
  10. package/dist/BreadcrumbsItem.js +103 -0
  11. package/dist/BusyIndicator.js +121 -35
  12. package/dist/Button.js +129 -58
  13. package/dist/Calendar.js +331 -622
  14. package/dist/CalendarDate.js +45 -0
  15. package/dist/CalendarHeader.js +113 -59
  16. package/dist/CalendarPart.js +111 -0
  17. package/dist/Card.js +38 -198
  18. package/dist/CardHeader.js +288 -0
  19. package/dist/Carousel.js +264 -96
  20. package/dist/CheckBox.js +174 -52
  21. package/dist/ColorPalette.js +494 -0
  22. package/dist/ColorPaletteItem.js +137 -0
  23. package/dist/ColorPalettePopover.js +221 -0
  24. package/dist/ColorPicker.js +524 -0
  25. package/dist/ComboBox.js +436 -159
  26. package/dist/ComboBoxFilters.js +8 -1
  27. package/dist/ComboBoxGroupItem.js +70 -0
  28. package/dist/ComboBoxItem.js +11 -24
  29. package/dist/CustomListItem.js +36 -2
  30. package/dist/DateComponentBase.js +168 -0
  31. package/dist/DatePicker.js +275 -496
  32. package/dist/DateRangePicker.js +207 -301
  33. package/dist/DateTimePicker.js +96 -414
  34. package/dist/DayPicker.js +450 -647
  35. package/dist/Dialog.js +352 -43
  36. package/dist/DurationPicker.js +110 -512
  37. package/dist/FileUploader.js +74 -35
  38. package/dist/GroupHeaderListItem.js +22 -13
  39. package/dist/Icon.js +133 -46
  40. package/dist/Input.js +447 -164
  41. package/dist/Interfaces.js +192 -0
  42. package/dist/Label.js +27 -12
  43. package/dist/Link.js +142 -31
  44. package/dist/List.js +390 -107
  45. package/dist/ListItem.js +62 -15
  46. package/dist/ListItemBase.js +29 -2
  47. package/dist/MessageStrip.js +86 -48
  48. package/dist/MonthPicker.js +173 -227
  49. package/dist/MultiComboBox.js +389 -149
  50. package/dist/MultiComboBoxItem.js +7 -2
  51. package/dist/MultiInput.js +55 -24
  52. package/dist/Option.js +59 -5
  53. package/dist/Panel.js +73 -74
  54. package/dist/Popover.js +261 -97
  55. package/dist/Popup.js +172 -64
  56. package/dist/ProgressIndicator.js +28 -20
  57. package/dist/RadioButton.js +138 -43
  58. package/dist/RadioButtonGroup.js +53 -29
  59. package/dist/RangeSlider.js +769 -0
  60. package/dist/RatingIndicator.js +62 -42
  61. package/dist/ResponsivePopover.js +58 -43
  62. package/dist/SegmentedButton.js +116 -69
  63. package/dist/SegmentedButtonItem.js +109 -0
  64. package/dist/Select.js +280 -120
  65. package/dist/Slider.js +320 -0
  66. package/dist/SliderBase.js +846 -0
  67. package/dist/SplitButton.js +421 -0
  68. package/dist/StandardListItem.js +35 -9
  69. package/dist/StepInput.js +684 -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 +68 -29
  74. package/dist/Tab.js +56 -31
  75. package/dist/TabContainer.js +546 -114
  76. package/dist/TabSeparator.js +43 -3
  77. package/dist/Table.js +485 -23
  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 +95 -49
  83. package/dist/TimePicker.js +28 -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 +26 -8
  89. package/dist/Token.js +34 -18
  90. package/dist/Tokenizer.js +83 -43
  91. package/dist/Tree.js +97 -41
  92. package/dist/TreeItem.js +65 -9
  93. package/dist/TreeListItem.js +96 -4
  94. package/dist/WheelSlider.js +60 -60
  95. package/dist/YearPicker.js +188 -284
  96. package/dist/api.json +7103 -1
  97. package/dist/css/themes/Avatar.css +1 -0
  98. package/dist/css/themes/AvatarGroup.css +1 -0
  99. package/dist/css/themes/Badge.css +1 -0
  100. package/dist/css/themes/Breadcrumbs.css +1 -0
  101. package/dist/css/themes/BreadcrumbsPopover.css +1 -0
  102. package/dist/css/themes/BrowserScrollbar.css +1 -0
  103. package/dist/css/themes/BusyIndicator.css +1 -0
  104. package/dist/css/themes/Button.css +1 -0
  105. package/dist/css/themes/Button.ie11.css +1 -0
  106. package/dist/css/themes/Calendar.css +1 -0
  107. package/dist/css/themes/CalendarHeader.css +1 -0
  108. package/dist/css/themes/Card.css +1 -0
  109. package/dist/css/themes/CardHeader.css +1 -0
  110. package/dist/css/themes/Carousel.css +1 -0
  111. package/dist/css/themes/CheckBox.css +1 -0
  112. package/dist/css/themes/ColorPalette.css +1 -0
  113. package/dist/css/themes/ColorPaletteItem.css +1 -0
  114. package/dist/css/themes/ColorPalettePopover.css +1 -0
  115. package/dist/css/themes/ColorPaletteStaticArea.css +1 -0
  116. package/dist/css/themes/ColorPicker.css +1 -0
  117. package/dist/css/themes/ComboBox.css +1 -0
  118. package/dist/css/themes/ComboBoxPopover.css +1 -0
  119. package/dist/css/themes/CustomListItem.css +1 -0
  120. package/dist/css/themes/DatePicker.css +1 -0
  121. package/dist/css/themes/DatePickerPopover.css +1 -0
  122. package/dist/css/themes/DateRangePicker.css +1 -0
  123. package/dist/css/themes/DateTimePicker.css +1 -0
  124. package/dist/css/themes/DateTimePickerPopover.css +1 -0
  125. package/dist/css/themes/DayPicker.css +1 -0
  126. package/dist/css/themes/Dialog.css +1 -0
  127. package/dist/css/themes/FileUploader.css +1 -0
  128. package/dist/css/themes/GroupHeaderListItem.css +1 -0
  129. package/dist/css/themes/GrowingButton.css +1 -0
  130. package/dist/css/themes/Icon.css +1 -0
  131. package/dist/css/themes/Input.css +1 -0
  132. package/dist/css/themes/InputIcon.css +1 -0
  133. package/dist/css/themes/InvisibleTextStyles.css +1 -0
  134. package/dist/css/themes/Label.css +1 -0
  135. package/dist/css/themes/Link.css +1 -0
  136. package/dist/css/themes/List.css +1 -0
  137. package/dist/css/themes/ListItem.css +1 -0
  138. package/dist/css/themes/ListItemBase.css +1 -0
  139. package/dist/css/themes/MessageStrip.css +1 -0
  140. package/dist/css/themes/MonthPicker.css +1 -0
  141. package/dist/css/themes/MultiComboBox.css +1 -0
  142. package/dist/css/themes/MultiInput.css +1 -0
  143. package/dist/css/themes/Panel.css +1 -0
  144. package/dist/css/themes/Popover.css +1 -0
  145. package/dist/css/themes/Popup.css +1 -0
  146. package/dist/css/themes/PopupGlobal.css +1 -0
  147. package/dist/css/themes/PopupStaticAreaStyles.css +1 -0
  148. package/dist/css/themes/PopupsCommon.css +1 -0
  149. package/dist/css/themes/ProgressIndicator.css +1 -0
  150. package/dist/css/themes/RadioButton.css +1 -0
  151. package/dist/css/themes/RatingIndicator.css +1 -0
  152. package/dist/css/themes/ResponsivePopover.css +1 -0
  153. package/dist/css/themes/ResponsivePopoverCommon.css +1 -0
  154. package/dist/css/themes/SegmentedButton.css +1 -0
  155. package/dist/css/themes/Select.css +1 -0
  156. package/dist/css/themes/SelectPopover.css +1 -0
  157. package/dist/css/themes/SliderBase.css +1 -0
  158. package/dist/css/themes/SplitButton.css +1 -0
  159. package/dist/css/themes/StepInput.css +1 -0
  160. package/dist/css/themes/Suggestions.css +1 -0
  161. package/dist/css/themes/Switch.css +1 -0
  162. package/dist/css/themes/Tab.css +1 -0
  163. package/dist/css/themes/TabContainer.css +1 -0
  164. package/dist/css/themes/TabInOverflow.css +1 -0
  165. package/dist/css/themes/TabInStrip.css +1 -0
  166. package/dist/css/themes/TabSeparatorInOverflow.css +1 -0
  167. package/dist/css/themes/TabSeparatorInStrip.css +1 -0
  168. package/dist/css/themes/Table.css +1 -0
  169. package/dist/css/themes/TableCell.css +1 -0
  170. package/dist/css/themes/TableColumn.css +1 -0
  171. package/dist/css/themes/TableGroupRow.css +1 -0
  172. package/dist/css/themes/TableRow.css +1 -0
  173. package/dist/css/themes/TapHighlightColor.css +1 -0
  174. package/dist/css/themes/TextArea.css +1 -0
  175. package/dist/css/themes/TimePicker.css +1 -0
  176. package/dist/css/themes/TimePickerPopover.css +1 -0
  177. package/dist/css/themes/TimeSelection.css +1 -0
  178. package/dist/css/themes/Title.css +1 -0
  179. package/dist/css/themes/Toast.css +1 -0
  180. package/dist/css/themes/ToggleButton.css +1 -0
  181. package/dist/css/themes/ToggleButton.ie11.css +1 -0
  182. package/dist/css/themes/Token.css +1 -0
  183. package/dist/css/themes/Tokenizer.css +1 -0
  184. package/dist/css/themes/Tree.css +1 -0
  185. package/dist/css/themes/TreeListItem.css +1 -0
  186. package/dist/css/themes/ValueStateMessage.css +1 -0
  187. package/dist/css/themes/WheelSlider.css +1 -0
  188. package/dist/css/themes/YearPicker.css +1 -0
  189. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -0
  190. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -0
  191. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -0
  192. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -0
  193. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
  194. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
  195. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
  196. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -0
  197. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -0
  198. package/dist/features/ColorPaletteMoreColors.js +42 -0
  199. package/dist/features/InputElementsFormSupport.js +0 -1
  200. package/dist/features/InputSuggestions.js +213 -48
  201. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
  206. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  211. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  212. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  213. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  214. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  216. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  220. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
  224. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  237. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  240. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  241. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  242. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  243. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  244. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  245. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  246. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  247. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  248. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  249. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  250. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  251. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  252. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  253. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  254. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  255. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  256. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
  257. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
  258. package/dist/generated/i18n/i18n-defaults.js +2 -2
  259. package/dist/generated/json-imports/Themes-static.js +35 -0
  260. package/dist/generated/json-imports/Themes.js +23 -19
  261. package/dist/generated/json-imports/i18n-static.js +162 -0
  262. package/dist/generated/json-imports/i18n.js +113 -89
  263. package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
  264. package/dist/generated/templates/AvatarTemplate.lit.js +9 -16
  265. package/dist/generated/templates/BadgeTemplate.lit.js +5 -13
  266. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
  267. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
  268. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -13
  269. package/dist/generated/templates/ButtonTemplate.lit.js +6 -13
  270. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -11
  271. package/dist/generated/templates/CalendarTemplate.lit.js +4 -11
  272. package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
  273. package/dist/generated/templates/CardTemplate.lit.js +5 -17
  274. package/dist/generated/templates/CarouselTemplate.lit.js +13 -19
  275. package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -14
  276. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
  277. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
  278. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
  279. package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
  280. package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
  281. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -25
  282. package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -14
  283. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -20
  284. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -13
  285. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -13
  286. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -19
  287. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -19
  288. package/dist/generated/templates/DialogTemplate.lit.js +9 -14
  289. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +7 -14
  290. package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -14
  291. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -11
  292. package/dist/generated/templates/IconTemplate.lit.js +6 -13
  293. package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -31
  294. package/dist/generated/templates/InputTemplate.lit.js +9 -15
  295. package/dist/generated/templates/LabelTemplate.lit.js +4 -11
  296. package/dist/generated/templates/LinkTemplate.lit.js +5 -12
  297. package/dist/generated/templates/ListItemTemplate.lit.js +13 -20
  298. package/dist/generated/templates/ListTemplate.lit.js +12 -16
  299. package/dist/generated/templates/MessageStripTemplate.lit.js +8 -15
  300. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -13
  301. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -27
  302. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -16
  303. package/dist/generated/templates/MultiInputTemplate.lit.js +13 -19
  304. package/dist/generated/templates/PanelTemplate.lit.js +9 -14
  305. package/dist/generated/templates/PopoverTemplate.lit.js +9 -16
  306. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +4 -11
  307. package/dist/generated/templates/PopupTemplate.lit.js +4 -11
  308. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +14 -17
  309. package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -14
  310. package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
  311. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +11 -16
  312. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -21
  313. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  314. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -11
  315. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -27
  316. package/dist/generated/templates/SelectTemplate.lit.js +6 -12
  317. package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
  318. package/dist/generated/templates/SliderTemplate.lit.js +12 -0
  319. package/dist/generated/templates/SplitButtonTemplate.lit.js +7 -0
  320. package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -27
  321. package/dist/generated/templates/StepInputTemplate.lit.js +10 -0
  322. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +24 -29
  323. package/dist/generated/templates/SwitchTemplate.lit.js +8 -13
  324. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +8 -13
  325. package/dist/generated/templates/TabContainerTemplate.lit.js +15 -23
  326. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -13
  327. package/dist/generated/templates/TabInStripTemplate.lit.js +8 -17
  328. package/dist/generated/templates/TabSeparatorInOverflowTemplate.lit.js +7 -0
  329. package/dist/generated/templates/TabSeparatorInStripTemplate.lit.js +7 -0
  330. package/dist/generated/templates/TabTemplate.lit.js +4 -11
  331. package/dist/generated/templates/TableCellTemplate.lit.js +4 -11
  332. package/dist/generated/templates/TableColumnTemplate.lit.js +4 -11
  333. package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
  334. package/dist/generated/templates/TableRowTemplate.lit.js +12 -18
  335. package/dist/generated/templates/TableTemplate.lit.js +13 -15
  336. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -15
  337. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -15
  338. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -15
  339. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -13
  340. package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
  341. package/dist/generated/templates/TitleTemplate.lit.js +10 -17
  342. package/dist/generated/templates/ToastTemplate.lit.js +5 -11
  343. package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -13
  344. package/dist/generated/templates/TokenTemplate.lit.js +7 -14
  345. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +9 -16
  346. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -13
  347. package/dist/generated/templates/TreeListItemTemplate.lit.js +18 -24
  348. package/dist/generated/templates/TreeTemplate.lit.js +5 -12
  349. package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -14
  350. package/dist/generated/templates/YearPickerTemplate.lit.js +6 -13
  351. package/dist/generated/themes/Avatar.css.js +5 -5
  352. package/dist/generated/themes/AvatarGroup.css.js +8 -0
  353. package/dist/generated/themes/Badge.css.js +5 -5
  354. package/dist/generated/themes/Breadcrumbs.css.js +8 -0
  355. package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
  356. package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
  357. package/dist/generated/themes/BusyIndicator.css.js +5 -5
  358. package/dist/generated/themes/Button.css.js +5 -5
  359. package/dist/generated/themes/Button.ie11.css.js +8 -0
  360. package/dist/generated/themes/Calendar.css.js +5 -5
  361. package/dist/generated/themes/CalendarHeader.css.js +5 -5
  362. package/dist/generated/themes/Card.css.js +5 -5
  363. package/dist/generated/themes/CardHeader.css.js +8 -0
  364. package/dist/generated/themes/Carousel.css.js +5 -5
  365. package/dist/generated/themes/CheckBox.css.js +5 -5
  366. package/dist/generated/themes/ColorPalette.css.js +8 -0
  367. package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
  368. package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
  369. package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
  370. package/dist/generated/themes/ColorPicker.css.js +8 -0
  371. package/dist/generated/themes/ComboBox.css.js +5 -5
  372. package/dist/generated/themes/ComboBoxPopover.css.js +5 -5
  373. package/dist/generated/themes/CustomListItem.css.js +5 -5
  374. package/dist/generated/themes/DatePicker.css.js +5 -5
  375. package/dist/generated/themes/DatePickerPopover.css.js +5 -5
  376. package/dist/generated/themes/DateRangePicker.css.js +5 -5
  377. package/dist/generated/themes/DateTimePicker.css.js +5 -5
  378. package/dist/generated/themes/DateTimePickerPopover.css.js +5 -5
  379. package/dist/generated/themes/DayPicker.css.js +5 -5
  380. package/dist/generated/themes/Dialog.css.js +5 -5
  381. package/dist/generated/themes/FileUploader.css.js +5 -5
  382. package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
  383. package/dist/generated/themes/GrowingButton.css.js +8 -0
  384. package/dist/generated/themes/Icon.css.js +5 -5
  385. package/dist/generated/themes/Input.css.js +5 -5
  386. package/dist/generated/themes/InputIcon.css.js +5 -5
  387. package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
  388. package/dist/generated/themes/Label.css.js +5 -5
  389. package/dist/generated/themes/Link.css.js +5 -5
  390. package/dist/generated/themes/List.css.js +5 -5
  391. package/dist/generated/themes/ListItem.css.js +5 -5
  392. package/dist/generated/themes/ListItemBase.css.js +5 -5
  393. package/dist/generated/themes/MessageStrip.css.js +5 -5
  394. package/dist/generated/themes/MonthPicker.css.js +5 -5
  395. package/dist/generated/themes/MultiComboBox.css.js +5 -5
  396. package/dist/generated/themes/MultiInput.css.js +5 -5
  397. package/dist/generated/themes/Panel.css.js +5 -5
  398. package/dist/generated/themes/Popover.css.js +5 -5
  399. package/dist/generated/themes/Popup.css.js +5 -5
  400. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  401. package/dist/generated/themes/PopupStaticAreaStyles.css.js +5 -5
  402. package/dist/generated/themes/PopupsCommon.css.js +5 -5
  403. package/dist/generated/themes/ProgressIndicator.css.js +5 -5
  404. package/dist/generated/themes/RadioButton.css.js +5 -5
  405. package/dist/generated/themes/RatingIndicator.css.js +5 -5
  406. package/dist/generated/themes/ResponsivePopover.css.js +5 -5
  407. package/dist/generated/themes/ResponsivePopoverCommon.css.js +5 -5
  408. package/dist/generated/themes/SegmentedButton.css.js +5 -5
  409. package/dist/generated/themes/Select.css.js +5 -5
  410. package/dist/generated/themes/SelectPopover.css.js +5 -5
  411. package/dist/generated/themes/SliderBase.css.js +8 -0
  412. package/dist/generated/themes/SplitButton.css.js +8 -0
  413. package/dist/generated/themes/StepInput.css.js +8 -0
  414. package/dist/generated/themes/Suggestions.css.js +8 -0
  415. package/dist/generated/themes/Switch.css.js +5 -5
  416. package/dist/generated/themes/Tab.css.js +5 -5
  417. package/dist/generated/themes/TabContainer.css.js +5 -5
  418. package/dist/generated/themes/TabInOverflow.css.js +5 -5
  419. package/dist/generated/themes/TabInStrip.css.js +5 -5
  420. package/dist/generated/themes/TabSeparatorInOverflow.css.js +8 -0
  421. package/dist/generated/themes/TabSeparatorInStrip.css.js +8 -0
  422. package/dist/generated/themes/Table.css.js +5 -5
  423. package/dist/generated/themes/TableCell.css.js +5 -5
  424. package/dist/generated/themes/TableColumn.css.js +5 -5
  425. package/dist/generated/themes/TableGroupRow.css.js +8 -0
  426. package/dist/generated/themes/TableRow.css.js +5 -5
  427. package/dist/generated/themes/TapHighlightColor.css.js +8 -0
  428. package/dist/generated/themes/TextArea.css.js +5 -5
  429. package/dist/generated/themes/TimePicker.css.js +5 -5
  430. package/dist/generated/themes/TimePickerPopover.css.js +5 -5
  431. package/dist/generated/themes/TimeSelection.css.js +8 -0
  432. package/dist/generated/themes/Title.css.js +5 -5
  433. package/dist/generated/themes/Toast.css.js +5 -5
  434. package/dist/generated/themes/ToggleButton.css.js +5 -5
  435. package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
  436. package/dist/generated/themes/Token.css.js +5 -5
  437. package/dist/generated/themes/Tokenizer.css.js +5 -5
  438. package/dist/generated/themes/Tree.css.js +5 -5
  439. package/dist/generated/themes/TreeListItem.css.js +5 -5
  440. package/dist/generated/themes/ValueStateMessage.css.js +5 -5
  441. package/dist/generated/themes/WheelSlider.css.js +5 -5
  442. package/dist/generated/themes/YearPicker.css.js +5 -5
  443. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  444. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  445. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  446. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  447. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  448. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  449. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  450. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
  451. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
  452. package/dist/i18n/messagebundle.properties +360 -0
  453. package/dist/i18n/messagebundle_ar.properties +236 -0
  454. package/dist/i18n/messagebundle_bg.properties +236 -0
  455. package/dist/i18n/messagebundle_ca.properties +236 -0
  456. package/dist/i18n/messagebundle_cs.properties +236 -0
  457. package/dist/i18n/messagebundle_cy.properties +236 -0
  458. package/dist/i18n/messagebundle_da.properties +236 -0
  459. package/dist/i18n/messagebundle_de.properties +236 -0
  460. package/dist/i18n/messagebundle_el.properties +236 -0
  461. package/dist/i18n/messagebundle_en.properties +236 -0
  462. package/dist/i18n/messagebundle_en_GB.properties +236 -0
  463. package/dist/i18n/messagebundle_en_US_sappsd.properties +236 -0
  464. package/dist/i18n/messagebundle_en_US_saprigi.properties +236 -0
  465. package/dist/i18n/messagebundle_en_US_saptrc.properties +236 -0
  466. package/dist/i18n/messagebundle_es.properties +236 -0
  467. package/dist/i18n/messagebundle_es_MX.properties +236 -0
  468. package/dist/i18n/messagebundle_et.properties +236 -0
  469. package/dist/i18n/messagebundle_fi.properties +236 -0
  470. package/dist/i18n/messagebundle_fr.properties +236 -0
  471. package/dist/i18n/messagebundle_fr_CA.properties +236 -0
  472. package/dist/i18n/messagebundle_hi.properties +236 -0
  473. package/dist/i18n/messagebundle_hr.properties +236 -0
  474. package/dist/i18n/messagebundle_hu.properties +236 -0
  475. package/dist/i18n/messagebundle_id.properties +236 -0
  476. package/dist/i18n/messagebundle_in.properties +172 -0
  477. package/dist/i18n/messagebundle_it.properties +236 -0
  478. package/dist/i18n/messagebundle_iw.properties +236 -0
  479. package/dist/i18n/messagebundle_ja.properties +236 -0
  480. package/dist/i18n/messagebundle_kk.properties +236 -0
  481. package/dist/i18n/messagebundle_ko.properties +236 -0
  482. package/dist/i18n/messagebundle_lt.properties +236 -0
  483. package/dist/i18n/messagebundle_lv.properties +236 -0
  484. package/dist/i18n/messagebundle_ms.properties +236 -0
  485. package/dist/i18n/messagebundle_nl.properties +236 -0
  486. package/dist/i18n/messagebundle_no.properties +236 -0
  487. package/dist/i18n/messagebundle_pl.properties +236 -0
  488. package/dist/i18n/messagebundle_pt.properties +236 -0
  489. package/dist/i18n/messagebundle_pt_PT.properties +236 -0
  490. package/dist/i18n/messagebundle_ro.properties +236 -0
  491. package/dist/i18n/messagebundle_ru.properties +236 -0
  492. package/dist/i18n/messagebundle_sh.properties +236 -0
  493. package/dist/i18n/messagebundle_sk.properties +236 -0
  494. package/dist/i18n/messagebundle_sl.properties +236 -0
  495. package/dist/i18n/messagebundle_sv.properties +236 -0
  496. package/dist/i18n/messagebundle_th.properties +236 -0
  497. package/dist/i18n/messagebundle_tr.properties +236 -0
  498. package/dist/i18n/messagebundle_uk.properties +236 -0
  499. package/dist/i18n/messagebundle_vi.properties +236 -0
  500. package/dist/i18n/messagebundle_zh_CN.properties +236 -0
  501. package/dist/i18n/messagebundle_zh_TW.properties +236 -0
  502. package/dist/popup-utils/OpenedPopupsRegistry.js +1 -1
  503. package/dist/popup-utils/PopoverRegistry.js +2 -4
  504. package/dist/timepicker-utils/TimeSlider.js +15 -13
  505. package/{src/types/AvatarBackgroundColor.js → dist/types/AvatarColorScheme.js} +9 -9
  506. package/dist/types/AvatarGroupType.js +43 -0
  507. package/dist/types/AvatarShape.js +1 -1
  508. package/dist/types/AvatarSize.js +1 -1
  509. package/dist/types/BreadcrumbsDesign.js +42 -0
  510. package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
  511. package/dist/types/BusyIndicatorSize.js +1 -1
  512. package/dist/types/ButtonDesign.js +8 -1
  513. package/dist/types/CalendarSelectionMode.js +47 -0
  514. package/dist/types/CarouselArrowsPlacement.js +3 -3
  515. package/dist/types/GrowingMode.js +48 -0
  516. package/dist/types/HasPopup.js +62 -0
  517. package/dist/types/InputType.js +7 -7
  518. package/dist/types/LinkDesign.js +1 -1
  519. package/dist/types/ListGrowingMode.js +15 -0
  520. package/dist/types/ListItemType.js +1 -1
  521. package/dist/types/ListMode.js +1 -1
  522. package/dist/types/ListSeparators.js +1 -1
  523. package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  524. package/dist/types/PanelAccessibleRole.js +1 -1
  525. package/dist/types/PopoverHorizontalAlign.js +1 -1
  526. package/dist/types/PopoverPlacementType.js +2 -2
  527. package/dist/types/PopoverVerticalAlign.js +1 -2
  528. package/dist/types/Priority.js +1 -1
  529. package/dist/types/SemanticColor.js +1 -1
  530. package/dist/types/SwitchDesign.js +40 -0
  531. package/dist/types/TabContainerTabsPlacement.js +5 -5
  532. package/dist/types/TabLayout.js +1 -1
  533. package/dist/types/TableGrowingMode.js +15 -0
  534. package/dist/types/TableMode.js +47 -0
  535. package/dist/types/TableRowType.js +40 -0
  536. package/dist/types/TabsOverflowMode.js +40 -0
  537. package/dist/types/TitleLevel.js +1 -1
  538. package/dist/types/ToastPlacement.js +1 -2
  539. package/dist/types/WrappingType.js +41 -0
  540. package/dist/webcomponentsjs/CHANGELOG.md +61 -0
  541. package/dist/webcomponentsjs/README.md +64 -47
  542. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
  543. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
  544. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
  545. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
  546. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
  547. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
  548. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
  549. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
  550. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
  551. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
  552. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
  553. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
  554. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
  555. package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
  556. package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
  557. package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
  558. package/package-scripts.js +1 -0
  559. package/package.json +19 -8
  560. package/src/Assets-static.js +6 -0
  561. package/src/Assets.js +2 -1
  562. package/src/Avatar.hbs +14 -3
  563. package/src/Avatar.js +190 -50
  564. package/src/AvatarGroup.hbs +30 -0
  565. package/src/AvatarGroup.js +603 -0
  566. package/src/Badge.hbs +7 -4
  567. package/src/Badge.js +45 -19
  568. package/src/Breadcrumbs.hbs +43 -0
  569. package/src/Breadcrumbs.js +575 -0
  570. package/src/BreadcrumbsItem.js +103 -0
  571. package/src/BreadcrumbsPopover.hbs +28 -0
  572. package/src/BusyIndicator.hbs +28 -14
  573. package/src/BusyIndicator.js +121 -35
  574. package/src/Button.hbs +4 -2
  575. package/src/Button.js +129 -58
  576. package/src/Calendar.hbs +53 -47
  577. package/src/Calendar.js +331 -622
  578. package/src/CalendarDate.js +45 -0
  579. package/src/CalendarHeader.hbs +29 -35
  580. package/src/CalendarHeader.js +113 -59
  581. package/src/CalendarPart.js +111 -0
  582. package/src/Card.hbs +7 -39
  583. package/src/Card.js +38 -198
  584. package/src/CardHeader.hbs +42 -0
  585. package/src/CardHeader.js +288 -0
  586. package/src/Carousel.hbs +24 -16
  587. package/src/Carousel.js +264 -96
  588. package/src/CheckBox.hbs +19 -7
  589. package/src/CheckBox.js +174 -52
  590. package/src/ColorPalette.hbs +52 -0
  591. package/src/ColorPalette.js +494 -0
  592. package/src/ColorPaletteDialog.hbs +18 -0
  593. package/src/ColorPaletteItem.hbs +11 -0
  594. package/src/ColorPaletteItem.js +137 -0
  595. package/src/ColorPalettePopover.hbs +31 -0
  596. package/src/ColorPalettePopover.js +221 -0
  597. package/src/ColorPicker.hbs +98 -0
  598. package/src/ColorPicker.js +524 -0
  599. package/src/ComboBox.hbs +8 -2
  600. package/src/ComboBox.js +436 -159
  601. package/src/ComboBoxFilters.js +8 -1
  602. package/src/ComboBoxGroupItem.js +70 -0
  603. package/src/ComboBoxItem.js +11 -24
  604. package/src/ComboBoxPopover.hbs +27 -16
  605. package/src/CustomListItem.js +36 -2
  606. package/src/DateComponentBase.js +168 -0
  607. package/src/DatePicker.hbs +5 -3
  608. package/src/DatePicker.js +275 -496
  609. package/src/DatePickerPopover.hbs +22 -17
  610. package/src/DateRangePicker.js +207 -301
  611. package/src/DateTimePicker.js +96 -414
  612. package/src/DateTimePickerPopover.hbs +28 -52
  613. package/src/DayPicker.hbs +18 -12
  614. package/src/DayPicker.js +450 -647
  615. package/src/Dialog.hbs +22 -10
  616. package/src/Dialog.js +352 -43
  617. package/src/DurationPicker.js +110 -512
  618. package/src/FileUploader.hbs +3 -0
  619. package/src/FileUploader.js +74 -35
  620. package/src/FileUploaderPopover.hbs +2 -1
  621. package/src/GroupHeaderListItem.hbs +4 -4
  622. package/src/GroupHeaderListItem.js +22 -13
  623. package/src/Icon.hbs +5 -4
  624. package/src/Icon.js +133 -46
  625. package/src/Input.hbs +18 -7
  626. package/src/Input.js +447 -164
  627. package/src/InputPopover.hbs +12 -9
  628. package/src/Interfaces.js +192 -0
  629. package/src/Label.hbs +1 -1
  630. package/src/Label.js +27 -12
  631. package/src/Link.hbs +5 -2
  632. package/src/Link.js +142 -31
  633. package/src/List.hbs +76 -37
  634. package/src/List.js +390 -107
  635. package/src/ListItem.hbs +21 -7
  636. package/src/ListItem.js +62 -15
  637. package/src/ListItemBase.js +29 -2
  638. package/src/MessageStrip.hbs +16 -13
  639. package/src/MessageStrip.js +86 -48
  640. package/src/MonthPicker.hbs +6 -6
  641. package/src/MonthPicker.js +173 -227
  642. package/src/MultiComboBox.hbs +13 -8
  643. package/src/MultiComboBox.js +389 -149
  644. package/src/MultiComboBoxItem.js +7 -2
  645. package/src/MultiComboBoxPopover.hbs +42 -18
  646. package/src/MultiInput.hbs +2 -1
  647. package/src/MultiInput.js +55 -24
  648. package/src/Option.js +59 -5
  649. package/src/Panel.hbs +24 -17
  650. package/src/Panel.js +73 -74
  651. package/src/Popover.js +261 -97
  652. package/src/Popup.hbs +5 -0
  653. package/src/Popup.js +172 -64
  654. package/src/PopupBlockLayer.hbs +1 -1
  655. package/src/ProgressIndicator.hbs +7 -1
  656. package/src/ProgressIndicator.js +28 -20
  657. package/src/RadioButton.hbs +7 -4
  658. package/src/RadioButton.js +138 -43
  659. package/src/RadioButtonGroup.js +53 -29
  660. package/src/RangeSlider.hbs +70 -0
  661. package/src/RangeSlider.js +769 -0
  662. package/src/RatingIndicator.hbs +5 -3
  663. package/src/RatingIndicator.js +62 -42
  664. package/src/ResponsivePopover.hbs +15 -8
  665. package/src/ResponsivePopover.js +58 -43
  666. package/src/SegmentedButton.hbs +13 -5
  667. package/src/SegmentedButton.js +116 -69
  668. package/src/SegmentedButtonItem.hbs +42 -0
  669. package/src/SegmentedButtonItem.js +109 -0
  670. package/src/Select.hbs +26 -17
  671. package/src/Select.js +280 -120
  672. package/src/SelectPopover.hbs +29 -25
  673. package/src/Slider.hbs +42 -0
  674. package/src/Slider.js +320 -0
  675. package/src/SliderBase.hbs +38 -0
  676. package/src/SliderBase.js +846 -0
  677. package/src/SplitButton.hbs +53 -0
  678. package/src/SplitButton.js +421 -0
  679. package/src/StandardListItem.hbs +17 -9
  680. package/src/StandardListItem.js +35 -9
  681. package/src/StepInput.hbs +80 -0
  682. package/src/StepInput.js +684 -0
  683. package/src/SuggestionGroupItem.js +64 -0
  684. package/src/SuggestionItem.js +13 -26
  685. package/src/SuggestionListItem.hbs +18 -10
  686. package/src/SuggestionListItem.js +17 -6
  687. package/src/Switch.hbs +20 -3
  688. package/src/Switch.js +68 -29
  689. package/src/Tab.js +56 -31
  690. package/src/TabContainer.hbs +47 -40
  691. package/src/TabContainer.js +546 -114
  692. package/src/TabContainerPopover.hbs +11 -7
  693. package/src/TabInOverflow.hbs +0 -1
  694. package/src/TabInStrip.hbs +4 -14
  695. package/src/TabSeparator.js +43 -3
  696. package/src/TabSeparatorInOverflow.hbs +8 -0
  697. package/src/TabSeparatorInStrip.hbs +6 -0
  698. package/src/Table.hbs +95 -25
  699. package/src/Table.js +485 -23
  700. package/src/TableCell.hbs +1 -0
  701. package/src/TableCell.js +11 -9
  702. package/src/TableColumn.hbs +2 -0
  703. package/src/TableColumn.js +13 -3
  704. package/src/TableGroupRow.hbs +12 -0
  705. package/src/TableGroupRow.js +160 -0
  706. package/src/TableRow.hbs +29 -2
  707. package/src/TableRow.js +210 -11
  708. package/src/TextArea.hbs +1 -3
  709. package/src/TextArea.js +95 -49
  710. package/src/TextAreaPopover.hbs +3 -2
  711. package/src/TimePicker.hbs +6 -3
  712. package/src/TimePicker.js +28 -743
  713. package/src/TimePickerBase.js +463 -0
  714. package/src/TimePickerPopover.hbs +28 -52
  715. package/src/TimeSelection.hbs +60 -0
  716. package/src/TimeSelection.js +493 -0
  717. package/src/Title.js +16 -9
  718. package/src/Toast.hbs +13 -11
  719. package/src/Toast.js +19 -8
  720. package/src/ToggleButton.js +26 -8
  721. package/src/Token.hbs +2 -0
  722. package/src/Token.js +34 -18
  723. package/src/Tokenizer.hbs +1 -0
  724. package/src/Tokenizer.js +83 -43
  725. package/src/TokenizerPopover.hbs +1 -1
  726. package/src/Tree.hbs +11 -2
  727. package/src/Tree.js +97 -41
  728. package/src/TreeItem.js +65 -9
  729. package/src/TreeListItem.hbs +15 -4
  730. package/src/TreeListItem.js +96 -4
  731. package/src/WheelSlider.hbs +17 -10
  732. package/src/WheelSlider.js +60 -60
  733. package/src/YearPicker.hbs +9 -7
  734. package/src/YearPicker.js +188 -284
  735. package/src/features/ColorPaletteMoreColors.js +42 -0
  736. package/src/features/InputElementsFormSupport.js +0 -1
  737. package/src/features/InputSuggestions.js +213 -48
  738. package/src/i18n/messagebundle.properties +170 -190
  739. package/src/i18n/messagebundle_ar.properties +106 -110
  740. package/src/i18n/messagebundle_bg.properties +106 -110
  741. package/src/i18n/messagebundle_ca.properties +106 -110
  742. package/src/i18n/messagebundle_cs.properties +106 -110
  743. package/src/i18n/messagebundle_cy.properties +236 -0
  744. package/src/i18n/messagebundle_da.properties +106 -110
  745. package/src/i18n/messagebundle_de.properties +106 -110
  746. package/src/i18n/messagebundle_el.properties +106 -110
  747. package/src/i18n/messagebundle_en.properties +106 -110
  748. package/src/i18n/messagebundle_en_GB.properties +236 -0
  749. package/src/i18n/messagebundle_en_US_sappsd.properties +106 -110
  750. package/src/i18n/messagebundle_en_US_saprigi.properties +236 -0
  751. package/src/i18n/messagebundle_en_US_saptrc.properties +106 -110
  752. package/src/i18n/messagebundle_es.properties +106 -110
  753. package/src/i18n/messagebundle_es_MX.properties +236 -0
  754. package/src/i18n/messagebundle_et.properties +106 -110
  755. package/src/i18n/messagebundle_fi.properties +106 -110
  756. package/src/i18n/messagebundle_fr.properties +106 -110
  757. package/src/i18n/messagebundle_fr_CA.properties +236 -0
  758. package/src/i18n/messagebundle_hi.properties +106 -110
  759. package/src/i18n/messagebundle_hr.properties +106 -110
  760. package/src/i18n/messagebundle_hu.properties +106 -110
  761. package/src/i18n/messagebundle_id.properties +236 -0
  762. package/src/i18n/messagebundle_in.properties +172 -0
  763. package/src/i18n/messagebundle_it.properties +106 -110
  764. package/src/i18n/messagebundle_iw.properties +106 -110
  765. package/src/i18n/messagebundle_ja.properties +107 -111
  766. package/src/i18n/messagebundle_kk.properties +106 -110
  767. package/src/i18n/messagebundle_ko.properties +106 -110
  768. package/src/i18n/messagebundle_lt.properties +106 -110
  769. package/src/i18n/messagebundle_lv.properties +106 -110
  770. package/src/i18n/messagebundle_ms.properties +106 -110
  771. package/src/i18n/messagebundle_nl.properties +106 -110
  772. package/src/i18n/messagebundle_no.properties +106 -110
  773. package/src/i18n/messagebundle_pl.properties +106 -110
  774. package/src/i18n/messagebundle_pt.properties +106 -110
  775. package/src/i18n/messagebundle_pt_PT.properties +236 -0
  776. package/src/i18n/messagebundle_ro.properties +105 -109
  777. package/src/i18n/messagebundle_ru.properties +106 -110
  778. package/src/i18n/messagebundle_sh.properties +106 -110
  779. package/src/i18n/messagebundle_sk.properties +106 -110
  780. package/src/i18n/messagebundle_sl.properties +106 -110
  781. package/src/i18n/messagebundle_sv.properties +106 -110
  782. package/src/i18n/messagebundle_th.properties +106 -110
  783. package/src/i18n/messagebundle_tr.properties +106 -110
  784. package/src/i18n/messagebundle_uk.properties +108 -112
  785. package/src/i18n/messagebundle_vi.properties +106 -110
  786. package/src/i18n/messagebundle_zh_CN.properties +106 -110
  787. package/src/i18n/messagebundle_zh_TW.properties +106 -110
  788. package/src/popup-utils/OpenedPopupsRegistry.js +1 -1
  789. package/src/popup-utils/PopoverRegistry.js +2 -4
  790. package/src/themes/Avatar.css +227 -0
  791. package/src/themes/AvatarGroup.css +82 -0
  792. package/src/themes/Badge.css +247 -0
  793. package/src/themes/Breadcrumbs.css +100 -0
  794. package/src/themes/BreadcrumbsPopover.css +6 -0
  795. package/src/themes/BrowserScrollbar.css +25 -0
  796. package/src/themes/BusyIndicator.css +143 -0
  797. package/src/themes/Button.css +306 -0
  798. package/src/themes/Button.ie11.css +48 -0
  799. package/src/themes/Calendar.css +18 -0
  800. package/src/themes/CalendarHeader.css +137 -0
  801. package/src/themes/Card.css +42 -0
  802. package/src/themes/CardHeader.css +133 -0
  803. package/src/themes/Carousel.css +140 -0
  804. package/src/themes/CheckBox.css +289 -0
  805. package/src/themes/ColorPalette.css +70 -0
  806. package/src/themes/ColorPaletteItem.css +70 -0
  807. package/src/themes/ColorPalettePopover.css +16 -0
  808. package/src/themes/ColorPaletteStaticArea.css +17 -0
  809. package/src/themes/ColorPicker.css +190 -0
  810. package/src/themes/ComboBox.css +9 -0
  811. package/src/themes/ComboBoxPopover.css +17 -0
  812. package/src/themes/CustomListItem.css +31 -0
  813. package/src/themes/DatePicker.css +46 -0
  814. package/src/themes/DatePickerPopover.css +5 -0
  815. package/src/themes/DateRangePicker.css +16 -0
  816. package/src/themes/DateTimePicker.css +11 -0
  817. package/src/themes/DateTimePickerPopover.css +78 -0
  818. package/src/themes/DayPicker.css +269 -0
  819. package/src/themes/Dialog.css +70 -0
  820. package/src/themes/FileUploader.css +40 -0
  821. package/src/themes/GroupHeaderListItem.css +24 -0
  822. package/src/themes/GrowingButton.css +67 -0
  823. package/src/themes/Icon.css +38 -0
  824. package/src/themes/Input.css +406 -0
  825. package/src/themes/InputIcon.css +53 -0
  826. package/src/themes/InvisibleTextStyles.css +9 -0
  827. package/src/themes/Label.css +85 -0
  828. package/src/themes/Link.css +77 -0
  829. package/src/themes/List.css +116 -0
  830. package/src/themes/ListItem.css +231 -0
  831. package/src/themes/ListItemBase.css +79 -0
  832. package/src/themes/MessageStrip.css +123 -0
  833. package/src/themes/MonthPicker.css +86 -0
  834. package/src/themes/MultiComboBox.css +37 -0
  835. package/src/themes/MultiInput.css +14 -0
  836. package/src/themes/Panel.css +100 -0
  837. package/src/themes/Popover.css +102 -0
  838. package/src/themes/Popup.css +5 -0
  839. package/src/themes/PopupGlobal.css +6 -0
  840. package/src/themes/PopupStaticAreaStyles.css +17 -0
  841. package/src/themes/PopupsCommon.css +87 -0
  842. package/src/themes/ProgressIndicator.css +158 -0
  843. package/src/themes/RadioButton.css +249 -0
  844. package/src/themes/RatingIndicator.css +52 -0
  845. package/src/themes/ResponsivePopover.css +34 -0
  846. package/src/themes/ResponsivePopoverCommon.css +207 -0
  847. package/src/themes/SegmentedButton.css +88 -0
  848. package/src/themes/Select.css +53 -0
  849. package/src/themes/SelectPopover.css +10 -0
  850. package/src/themes/SliderBase.css +253 -0
  851. package/src/themes/SplitButton.css +98 -0
  852. package/src/themes/StepInput.css +269 -0
  853. package/src/themes/Suggestions.css +14 -0
  854. package/src/themes/Switch.css +370 -0
  855. package/src/themes/Tab.css +9 -0
  856. package/src/themes/TabContainer.css +128 -0
  857. package/src/themes/TabInOverflow.css +61 -0
  858. package/src/themes/TabInStrip.css +374 -0
  859. package/src/themes/TabSeparatorInOverflow.css +8 -0
  860. package/src/themes/TabSeparatorInStrip.css +5 -0
  861. package/src/themes/Table.css +91 -0
  862. package/src/themes/TableCell.css +28 -0
  863. package/src/themes/TableColumn.css +29 -0
  864. package/src/themes/TableGroupRow.css +34 -0
  865. package/src/themes/TableRow.css +84 -0
  866. package/src/themes/TapHighlightColor.css +3 -0
  867. package/src/themes/TextArea.css +309 -0
  868. package/src/themes/TimePicker.css +50 -0
  869. package/src/themes/TimePickerPopover.css +11 -0
  870. package/src/themes/TimeSelection.css +27 -0
  871. package/src/themes/Title.css +65 -0
  872. package/src/themes/Toast.css +93 -0
  873. package/src/themes/ToggleButton.css +88 -0
  874. package/src/themes/ToggleButton.ie11.css +48 -0
  875. package/src/themes/Token.css +117 -0
  876. package/src/themes/Tokenizer.css +84 -0
  877. package/src/themes/Tree.css +11 -0
  878. package/src/themes/TreeListItem.css +107 -0
  879. package/src/themes/ValueStateMessage.css +76 -0
  880. package/src/themes/WheelSlider.css +203 -0
  881. package/src/themes/YearPicker.css +86 -0
  882. package/src/themes/base/Avatar-parameters.css +38 -0
  883. package/src/themes/base/AvatarGroup-parameter.css +6 -0
  884. package/src/themes/base/Badge-parameters.css +61 -0
  885. package/src/themes/base/BrowserScrollbar-parameters.css +4 -0
  886. package/src/themes/base/BusyIndicator-parameters.css +5 -0
  887. package/src/themes/base/Button-parameters.css +30 -0
  888. package/src/themes/base/CalendarHeader-parameters.css +20 -0
  889. package/src/themes/base/Card-parameters.css +17 -0
  890. package/src/themes/base/Carousel-parameters.css +9 -0
  891. package/src/themes/base/CheckBox-parameters.css +53 -0
  892. package/src/themes/base/ColorPalette-parameters.css +14 -0
  893. package/src/themes/base/ColorPicker-parameters.css +8 -0
  894. package/src/themes/base/DatePicker-parameters.css +6 -0
  895. package/src/themes/base/DayPicker-parameters.css +41 -0
  896. package/src/themes/base/Dialog-parameters.css +9 -0
  897. package/src/themes/base/GroupHeaderListItem-parameters.css +3 -0
  898. package/src/themes/base/GrowingButton-parameters.css +6 -0
  899. package/src/themes/base/Input-parameters.css +63 -0
  900. package/src/themes/base/InputIcon-parameters.css +11 -0
  901. package/src/themes/base/Link-parameters.css +8 -0
  902. package/src/themes/base/List-parameters.css +3 -0
  903. package/src/themes/base/ListItemBase-parameters.css +9 -0
  904. package/src/themes/base/MessageStrip-parameters.css +21 -0
  905. package/src/themes/base/MonthPicker-parameters.css +16 -0
  906. package/src/themes/base/MultiComboBox-parameters.css +3 -0
  907. package/src/themes/base/Panel-parameters.css +11 -0
  908. package/src/themes/base/PopupsCommon-parameters.css +8 -0
  909. package/src/themes/base/ProgressIndicator-parameters.css +21 -0
  910. package/src/themes/base/RadioButton-parameters.css +32 -0
  911. package/src/themes/base/RatingIndicator-parameters.css +3 -0
  912. package/src/themes/base/SegmentedButtton-parameters.css +8 -0
  913. package/src/themes/base/Select-parameters.css +11 -0
  914. package/src/themes/base/SelectPopover-parameters.css +4 -0
  915. package/src/themes/base/SliderBase-parameters.css +57 -0
  916. package/src/themes/base/StepInput-parameters.css +23 -0
  917. package/src/themes/base/Suggestions-parameters.css +3 -0
  918. package/src/themes/base/Switch-parameters.css +107 -0
  919. package/src/themes/base/TabContainer-parameters.css +84 -0
  920. package/src/themes/base/Table-parameters.css +6 -0
  921. package/src/themes/base/TableColumn-parameters.css +3 -0
  922. package/src/themes/base/TableRow-parameters.css +3 -0
  923. package/src/themes/base/TextArea-parameters.css +22 -0
  924. package/src/themes/base/TimePicker-parameters.css +4 -0
  925. package/src/themes/base/TimelineItem-parameters.css +10 -0
  926. package/src/themes/base/Title-parameters.css +8 -0
  927. package/src/themes/base/Toast-parameters.css +6 -0
  928. package/src/themes/base/ToggleButton-parameters.css +8 -0
  929. package/src/themes/base/Token-parameters.css +19 -0
  930. package/src/themes/base/Tokenizer-parameters.css +4 -0
  931. package/src/themes/base/ValueStateMessage-parameters.css +7 -0
  932. package/src/themes/base/WheelSlider-parameters.css +15 -0
  933. package/src/themes/base/YearPicker-parameters.css +16 -0
  934. package/src/themes/base/sizes-parameters.css +302 -0
  935. package/src/themes/sap_belize/BrowserScrollbar-parameters.css +4 -0
  936. package/src/themes/sap_belize/Carousel-parameters.css +9 -0
  937. package/src/themes/sap_belize/Dialog-parameters.css +5 -0
  938. package/src/themes/sap_belize/Input-parameters.css +6 -0
  939. package/src/themes/sap_belize/InputIcon-parameters.css +5 -0
  940. package/src/themes/sap_belize/ProgressIndicator-parameters.css +8 -0
  941. package/src/themes/sap_belize/SliderBase-parameters.css +22 -0
  942. package/src/themes/sap_belize/TabContainer-parameters.css +6 -0
  943. package/src/themes/sap_belize/Table-parameters.css +7 -0
  944. package/src/themes/sap_belize/TimePicker-parameters.css +5 -0
  945. package/src/themes/sap_belize/WheelSlider-parameters.css +17 -0
  946. package/src/themes/sap_belize/parameters-bundle.css +48 -0
  947. package/src/themes/sap_belize_hcb/Avatar-parameters.css +18 -0
  948. package/src/themes/sap_belize_hcb/Badge-parameters.css +43 -0
  949. package/src/themes/sap_belize_hcb/BrowserScrollbar-parameters.css +4 -0
  950. package/src/themes/sap_belize_hcb/Button-parameters.css +12 -0
  951. package/src/themes/sap_belize_hcb/CalendarHeader-parameters.css +11 -0
  952. package/src/themes/sap_belize_hcb/Card-parameters.css +6 -0
  953. package/src/themes/sap_belize_hcb/Carousel-parameters.css +9 -0
  954. package/src/themes/sap_belize_hcb/CheckBox-parameters.css +12 -0
  955. package/src/themes/sap_belize_hcb/DatePicker-parameters.css +6 -0
  956. package/src/themes/sap_belize_hcb/DayPicker-parameters.css +13 -0
  957. package/src/themes/sap_belize_hcb/Dialog-parameters.css +7 -0
  958. package/src/themes/sap_belize_hcb/GrowingButton-parameters.css +8 -0
  959. package/src/themes/sap_belize_hcb/Input-parameters.css +14 -0
  960. package/src/themes/sap_belize_hcb/InputIcon-parameters.css +5 -0
  961. package/src/themes/sap_belize_hcb/Link-parameters.css +7 -0
  962. package/src/themes/sap_belize_hcb/MessageStrip-parameters.css +10 -0
  963. package/src/themes/sap_belize_hcb/MonthPicker-parameters.css +10 -0
  964. package/src/themes/sap_belize_hcb/Panel-parameters.css +5 -0
  965. package/src/themes/sap_belize_hcb/ProgressIndicator-parameters.css +11 -0
  966. package/src/themes/sap_belize_hcb/RadioButton-parameters.css +10 -0
  967. package/src/themes/sap_belize_hcb/Select-parameters.css +12 -0
  968. package/src/themes/sap_belize_hcb/SliderBase-parameters.css +17 -0
  969. package/src/themes/sap_belize_hcb/Switch-parameters.css +46 -0
  970. package/src/themes/sap_belize_hcb/TabContainer-parameters.css +44 -0
  971. package/src/themes/sap_belize_hcb/Table-parameters.css +7 -0
  972. package/src/themes/sap_belize_hcb/TableRow-parameters.css +5 -0
  973. package/src/themes/sap_belize_hcb/TextArea-parameters.css +6 -0
  974. package/src/themes/sap_belize_hcb/ToggleButton-parameters.css +7 -0
  975. package/src/themes/sap_belize_hcb/Token-parameters.css +6 -0
  976. package/src/themes/sap_belize_hcb/ValueStateMessage-parameters.css +5 -0
  977. package/src/themes/sap_belize_hcb/WheelSlider-parameters.css +17 -0
  978. package/src/themes/sap_belize_hcb/YearPicker-parameters.css +10 -0
  979. package/src/themes/sap_belize_hcb/parameters-bundle.css +47 -0
  980. package/src/themes/sap_belize_hcw/Avatar-parameters.css +18 -0
  981. package/src/themes/sap_belize_hcw/Badge-parameters.css +43 -0
  982. package/src/themes/sap_belize_hcw/BrowserScrollbar-parameters.css +4 -0
  983. package/src/themes/sap_belize_hcw/Button-parameters.css +12 -0
  984. package/src/themes/sap_belize_hcw/CalendarHeader-parameters.css +11 -0
  985. package/src/themes/sap_belize_hcw/Card-parameters.css +6 -0
  986. package/src/themes/sap_belize_hcw/Carousel-parameters.css +9 -0
  987. package/src/themes/sap_belize_hcw/CheckBox-parameters.css +12 -0
  988. package/src/themes/sap_belize_hcw/DatePicker-parameters.css +5 -0
  989. package/src/themes/sap_belize_hcw/DayPicker-parameters.css +14 -0
  990. package/src/themes/sap_belize_hcw/Dialog-parameters.css +7 -0
  991. package/src/themes/sap_belize_hcw/GrowingButton-parameters.css +8 -0
  992. package/src/themes/sap_belize_hcw/Input-parameters.css +14 -0
  993. package/src/themes/sap_belize_hcw/InputIcon-parameters.css +5 -0
  994. package/src/themes/sap_belize_hcw/Link-parameters.css +7 -0
  995. package/src/themes/sap_belize_hcw/MessageStrip-parameters.css +10 -0
  996. package/src/themes/sap_belize_hcw/MonthPicker-parameters.css +10 -0
  997. package/src/themes/sap_belize_hcw/Panel-parameters.css +5 -0
  998. package/src/themes/sap_belize_hcw/ProgressIndicator-parameters.css +11 -0
  999. package/src/themes/sap_belize_hcw/RadioButton-parameters.css +10 -0
  1000. package/src/themes/sap_belize_hcw/Select-parameters.css +12 -0
  1001. package/src/themes/sap_belize_hcw/SliderBase-parameters.css +17 -0
  1002. package/src/themes/sap_belize_hcw/Switch-parameters.css +45 -0
  1003. package/src/themes/sap_belize_hcw/TabContainer-parameters.css +44 -0
  1004. package/src/themes/sap_belize_hcw/Table-parameters.css +7 -0
  1005. package/src/themes/sap_belize_hcw/TableRow-parameters.css +5 -0
  1006. package/src/themes/sap_belize_hcw/TextArea-parameters.css +6 -0
  1007. package/src/themes/sap_belize_hcw/ToggleButton-parameters.css +6 -0
  1008. package/src/themes/sap_belize_hcw/Token-parameters.css +6 -0
  1009. package/src/themes/sap_belize_hcw/ValueStateMessage-parameters.css +5 -0
  1010. package/src/themes/sap_belize_hcw/WheelSlider-parameters.css +17 -0
  1011. package/src/themes/sap_belize_hcw/YearPicker-parameters.css +10 -0
  1012. package/src/themes/sap_belize_hcw/parameters-bundle.css +47 -0
  1013. package/src/themes/sap_fiori_3/Avatar-parameters.css +9 -0
  1014. package/src/themes/sap_fiori_3/Button-parameters.css +14 -0
  1015. package/src/themes/sap_fiori_3/CalendarHeader-parameters.css +8 -0
  1016. package/src/themes/sap_fiori_3/CheckBox-parameters.css +13 -0
  1017. package/src/themes/sap_fiori_3/DayPicker-parameters.css +6 -0
  1018. package/src/themes/sap_fiori_3/Input-parameters.css +7 -0
  1019. package/src/themes/sap_fiori_3/Link-parameters.css +7 -0
  1020. package/src/themes/sap_fiori_3/List-parameters.css +5 -0
  1021. package/src/themes/sap_fiori_3/MonthPicker-parameters.css +5 -0
  1022. package/src/themes/sap_fiori_3/MultiComboBox-parameters.css +5 -0
  1023. package/src/themes/sap_fiori_3/Panel-parameters.css +6 -0
  1024. package/src/themes/sap_fiori_3/SliderBase-parameters.css +5 -0
  1025. package/src/themes/sap_fiori_3/TabContainer-parameters.css +12 -0
  1026. package/src/themes/sap_fiori_3/TimePicker-parameters.css +5 -0
  1027. package/src/themes/sap_fiori_3/Token-parameters.css +9 -0
  1028. package/src/themes/sap_fiori_3/WheelSlider-parameters.css +16 -0
  1029. package/src/themes/sap_fiori_3/YearPicker-parameters.css +5 -0
  1030. package/src/themes/sap_fiori_3/parameters-bundle.css +48 -0
  1031. package/src/themes/sap_fiori_3_dark/Avatar-parameters.css +9 -0
  1032. package/src/themes/sap_fiori_3_dark/Button-parameters.css +14 -0
  1033. package/src/themes/sap_fiori_3_dark/CalendarHeader-parameters.css +8 -0
  1034. package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +13 -0
  1035. package/src/themes/sap_fiori_3_dark/DayPicker-parameters.css +6 -0
  1036. package/src/themes/sap_fiori_3_dark/Input-parameters.css +7 -0
  1037. package/src/themes/sap_fiori_3_dark/Link-parameters.css +7 -0
  1038. package/src/themes/sap_fiori_3_dark/List-parameters.css +5 -0
  1039. package/src/themes/sap_fiori_3_dark/MonthPicker-parameters.css +5 -0
  1040. package/src/themes/sap_fiori_3_dark/MultiComboBox-parameters.css +5 -0
  1041. package/src/themes/sap_fiori_3_dark/Panel-parameters.css +6 -0
  1042. package/src/themes/sap_fiori_3_dark/SliderBase-parameters.css +5 -0
  1043. package/src/themes/sap_fiori_3_dark/TabContainer-parameters.css +12 -0
  1044. package/src/themes/sap_fiori_3_dark/Token-parameters.css +8 -0
  1045. package/src/themes/sap_fiori_3_dark/WheelSlider-parameters.css +15 -0
  1046. package/src/themes/sap_fiori_3_dark/YearPicker-parameters.css +5 -0
  1047. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +47 -0
  1048. package/src/themes/sap_fiori_3_hcb/Avatar-parameters.css +24 -0
  1049. package/src/themes/sap_fiori_3_hcb/Badge-parameters.css +43 -0
  1050. package/src/themes/sap_fiori_3_hcb/Button-parameters.css +10 -0
  1051. package/src/themes/sap_fiori_3_hcb/CalendarHeader-parameters.css +11 -0
  1052. package/src/themes/sap_fiori_3_hcb/Card-parameters.css +6 -0
  1053. package/src/themes/sap_fiori_3_hcb/Carousel-parameters.css +9 -0
  1054. package/src/themes/sap_fiori_3_hcb/CheckBox-parameters.css +13 -0
  1055. package/src/themes/sap_fiori_3_hcb/DatePicker-parameters.css +5 -0
  1056. package/src/themes/sap_fiori_3_hcb/DayPicker-parameters.css +19 -0
  1057. package/src/themes/sap_fiori_3_hcb/Dialog-parameters.css +7 -0
  1058. package/src/themes/sap_fiori_3_hcb/GrowingButton-parameters.css +8 -0
  1059. package/src/themes/sap_fiori_3_hcb/Input-parameters.css +21 -0
  1060. package/src/themes/sap_fiori_3_hcb/InputIcon-parameters.css +5 -0
  1061. package/src/themes/sap_fiori_3_hcb/Link-parameters.css +7 -0
  1062. package/src/themes/sap_fiori_3_hcb/MessageStrip-parameters.css +10 -0
  1063. package/src/themes/sap_fiori_3_hcb/MonthPicker-parameters.css +11 -0
  1064. package/src/themes/sap_fiori_3_hcb/Panel-parameters.css +5 -0
  1065. package/src/themes/sap_fiori_3_hcb/ProgressIndicator-parameters.css +11 -0
  1066. package/src/themes/sap_fiori_3_hcb/RadioButton-parameters.css +10 -0
  1067. package/src/themes/sap_fiori_3_hcb/Select-parameters.css +12 -0
  1068. package/src/themes/sap_fiori_3_hcb/SliderBase-parameters.css +14 -0
  1069. package/src/themes/sap_fiori_3_hcb/Switch-parameters.css +45 -0
  1070. package/src/themes/sap_fiori_3_hcb/TabContainer-parameters.css +44 -0
  1071. package/src/themes/sap_fiori_3_hcb/Table-parameters.css +5 -0
  1072. package/src/themes/sap_fiori_3_hcb/TableRow-parameters.css +5 -0
  1073. package/src/themes/sap_fiori_3_hcb/TextArea-parameters.css +10 -0
  1074. package/src/themes/sap_fiori_3_hcb/TimePicker-parameters.css +5 -0
  1075. package/src/themes/sap_fiori_3_hcb/ToggleButton-parameters.css +6 -0
  1076. package/src/themes/sap_fiori_3_hcb/Token-parameters.css +7 -0
  1077. package/src/themes/sap_fiori_3_hcb/ValueStateMessage-parameters.css +5 -0
  1078. package/src/themes/sap_fiori_3_hcb/WheelSlider-parameters.css +17 -0
  1079. package/src/themes/sap_fiori_3_hcb/YearPicker-parameters.css +11 -0
  1080. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +48 -0
  1081. package/src/themes/sap_fiori_3_hcw/Avatar-parameters.css +24 -0
  1082. package/src/themes/sap_fiori_3_hcw/Badge-parameters.css +43 -0
  1083. package/src/themes/sap_fiori_3_hcw/Button-parameters.css +10 -0
  1084. package/src/themes/sap_fiori_3_hcw/CalendarHeader-parameters.css +11 -0
  1085. package/src/themes/sap_fiori_3_hcw/Card-parameters.css +6 -0
  1086. package/src/themes/sap_fiori_3_hcw/Carousel-parameters.css +9 -0
  1087. package/src/themes/sap_fiori_3_hcw/CheckBox-parameters.css +13 -0
  1088. package/src/themes/sap_fiori_3_hcw/DatePicker-parameters.css +5 -0
  1089. package/src/themes/sap_fiori_3_hcw/DayPicker-parameters.css +19 -0
  1090. package/src/themes/sap_fiori_3_hcw/Dialog-parameters.css +7 -0
  1091. package/src/themes/sap_fiori_3_hcw/GrowingButton-parameters.css +8 -0
  1092. package/src/themes/sap_fiori_3_hcw/Input-parameters.css +21 -0
  1093. package/src/themes/sap_fiori_3_hcw/InputIcon-parameters.css +5 -0
  1094. package/src/themes/sap_fiori_3_hcw/Link-parameters.css +7 -0
  1095. package/src/themes/sap_fiori_3_hcw/MessageStrip-parameters.css +10 -0
  1096. package/src/themes/sap_fiori_3_hcw/MonthPicker-parameters.css +11 -0
  1097. package/src/themes/sap_fiori_3_hcw/Panel-parameters.css +5 -0
  1098. package/src/themes/sap_fiori_3_hcw/ProgressIndicator-parameters.css +11 -0
  1099. package/src/themes/sap_fiori_3_hcw/RadioButton-parameters.css +10 -0
  1100. package/src/themes/sap_fiori_3_hcw/Select-parameters.css +12 -0
  1101. package/src/themes/sap_fiori_3_hcw/SliderBase-parameters.css +13 -0
  1102. package/src/themes/sap_fiori_3_hcw/Switch-parameters.css +45 -0
  1103. package/src/themes/sap_fiori_3_hcw/TabContainer-parameters.css +44 -0
  1104. package/src/themes/sap_fiori_3_hcw/Table-parameters.css +5 -0
  1105. package/src/themes/sap_fiori_3_hcw/TableRow-parameters.css +5 -0
  1106. package/src/themes/sap_fiori_3_hcw/TextArea-parameters.css +10 -0
  1107. package/src/themes/sap_fiori_3_hcw/TimePicker-parameters.css +5 -0
  1108. package/src/themes/sap_fiori_3_hcw/ToggleButton-parameters.css +6 -0
  1109. package/src/themes/sap_fiori_3_hcw/Token-parameters.css +7 -0
  1110. package/src/themes/sap_fiori_3_hcw/ValueStateMessage-parameters.css +5 -0
  1111. package/src/themes/sap_fiori_3_hcw/WheelSlider-parameters.css +17 -0
  1112. package/src/themes/sap_fiori_3_hcw/YearPicker-parameters.css +11 -0
  1113. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +48 -0
  1114. package/src/themes/sap_horizon/Avatar-parameters.css +33 -0
  1115. package/src/themes/sap_horizon/BusyIndicator-parameters.css +7 -0
  1116. package/src/themes/sap_horizon/Button-parameters.css +20 -0
  1117. package/src/themes/sap_horizon/CalendarHeader-parameters.css +19 -0
  1118. package/src/themes/sap_horizon/Card-parameters.css +10 -0
  1119. package/src/themes/sap_horizon/CheckBox-parameters.css +34 -0
  1120. package/src/themes/sap_horizon/ColorPalette-parameters.css +16 -0
  1121. package/src/themes/sap_horizon/ColorPicker-parameters.css +10 -0
  1122. package/src/themes/sap_horizon/DatePicker-parameters.css +6 -0
  1123. package/src/themes/sap_horizon/DayPicker-parameters.css +31 -0
  1124. package/src/themes/sap_horizon/Dialog-parameters.css +11 -0
  1125. package/src/themes/sap_horizon/GrowingButton-parameters.css +5 -0
  1126. package/src/themes/sap_horizon/Input-parameters.css +35 -0
  1127. package/src/themes/sap_horizon/InputIcon-parameters.css +17 -0
  1128. package/src/themes/sap_horizon/Link-parameters.css +10 -0
  1129. package/src/themes/sap_horizon/List-parameters.css +5 -0
  1130. package/src/themes/sap_horizon/ListItemBase-parameters.css +7 -0
  1131. package/src/themes/sap_horizon/MessageStrip-parameters.css +9 -0
  1132. package/src/themes/sap_horizon/MonthPicker-parameters.css +17 -0
  1133. package/src/themes/sap_horizon/MultiComboBox-parameters.css +5 -0
  1134. package/src/themes/sap_horizon/Panel-parameters.css +12 -0
  1135. package/src/themes/sap_horizon/PopupsCommon-parameters.css +10 -0
  1136. package/src/themes/sap_horizon/ProgressIndicator-parameters.css +23 -0
  1137. package/src/themes/sap_horizon/RadioButton-parameters.css +9 -0
  1138. package/src/themes/sap_horizon/RatingIndicator-parameters.css +3 -0
  1139. package/src/themes/sap_horizon/SegmentedButtton-parameters.css +10 -0
  1140. package/src/themes/sap_horizon/Select-parameters.css +5 -0
  1141. package/src/themes/sap_horizon/SelectPopover-parameters.css +4 -0
  1142. package/src/themes/sap_horizon/SliderBase-parameters.css +44 -0
  1143. package/src/themes/sap_horizon/StepInput-parameters.css +25 -0
  1144. package/src/themes/sap_horizon/Suggestions-parameters.css +5 -0
  1145. package/src/themes/sap_horizon/Switch-parameters.css +31 -0
  1146. package/src/themes/sap_horizon/TabContainer-parameters.css +25 -0
  1147. package/src/themes/sap_horizon/Table-parameters.css +8 -0
  1148. package/src/themes/sap_horizon/TableColumn-parameters.css +5 -0
  1149. package/src/themes/sap_horizon/TableRow-parameters.css +5 -0
  1150. package/src/themes/sap_horizon/TextArea-parameters.css +22 -0
  1151. package/src/themes/sap_horizon/TimePicker-parameters.css +6 -0
  1152. package/src/themes/sap_horizon/ToggleButton-parameters.css +11 -0
  1153. package/src/themes/sap_horizon/Token-parameters.css +28 -0
  1154. package/src/themes/sap_horizon/Tokenizer-parameters.css +6 -0
  1155. package/src/themes/sap_horizon/ValueStateMessage-parameters.css +8 -0
  1156. package/src/themes/sap_horizon/WheelSlider-parameters.css +19 -0
  1157. package/src/themes/sap_horizon/YearPicker-parameters.css +16 -0
  1158. package/src/themes/sap_horizon/parameters-bundle.css +57 -0
  1159. package/src/themes/sap_horizon/sizes-parameters.css +8 -0
  1160. package/src/themes/sap_horizon_exp/Badge-parameters.css +91 -0
  1161. package/src/themes/sap_horizon_exp/Button-parameters.css +12 -0
  1162. package/src/themes/sap_horizon_exp/CalendarHeader-parameters.css +8 -0
  1163. package/src/themes/sap_horizon_exp/CheckBox-parameters.css +35 -0
  1164. package/src/themes/sap_horizon_exp/DatePicker-parameters.css +5 -0
  1165. package/src/themes/sap_horizon_exp/DayPicker-parameters.css +6 -0
  1166. package/src/themes/sap_horizon_exp/Input-parameters.css +46 -0
  1167. package/src/themes/sap_horizon_exp/InputIcon-parameters.css +9 -0
  1168. package/src/themes/sap_horizon_exp/Link-parameters.css +7 -0
  1169. package/src/themes/sap_horizon_exp/List-parameters.css +5 -0
  1170. package/src/themes/sap_horizon_exp/MonthPicker-parameters.css +5 -0
  1171. package/src/themes/sap_horizon_exp/MultiComboBox-parameters.css +7 -0
  1172. package/src/themes/sap_horizon_exp/Panel-parameters.css +6 -0
  1173. package/src/themes/sap_horizon_exp/Popover-parameters.css +5 -0
  1174. package/src/themes/sap_horizon_exp/RadioButton-parameters.css +30 -0
  1175. package/src/themes/sap_horizon_exp/Select-parameters.css +5 -0
  1176. package/src/themes/sap_horizon_exp/SliderBase-parameters.css +30 -0
  1177. package/src/themes/sap_horizon_exp/Switch-parameters.css +46 -0
  1178. package/src/themes/sap_horizon_exp/TabContainer-parameters.css +40 -0
  1179. package/src/themes/sap_horizon_exp/TimePicker-parameters.css +5 -0
  1180. package/src/themes/sap_horizon_exp/Token-parameters.css +9 -0
  1181. package/src/themes/sap_horizon_exp/WheelSlider-parameters.css +16 -0
  1182. package/src/themes/sap_horizon_exp/YearPicker-parameters.css +5 -0
  1183. package/src/themes/sap_horizon_exp/parameters-bundle.css +46 -0
  1184. package/src/timepicker-utils/TimeSlider.js +15 -13
  1185. package/{dist/types/AvatarBackgroundColor.js → src/types/AvatarColorScheme.js} +9 -9
  1186. package/src/types/AvatarGroupType.js +43 -0
  1187. package/src/types/AvatarShape.js +1 -1
  1188. package/src/types/AvatarSize.js +1 -1
  1189. package/src/types/BreadcrumbsDesign.js +42 -0
  1190. package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
  1191. package/src/types/BusyIndicatorSize.js +1 -1
  1192. package/src/types/ButtonDesign.js +8 -1
  1193. package/src/types/CalendarSelectionMode.js +47 -0
  1194. package/src/types/CarouselArrowsPlacement.js +3 -3
  1195. package/src/types/GrowingMode.js +48 -0
  1196. package/src/types/HasPopup.js +62 -0
  1197. package/src/types/InputType.js +7 -7
  1198. package/src/types/LinkDesign.js +1 -1
  1199. package/src/types/ListGrowingMode.js +15 -0
  1200. package/src/types/ListItemType.js +1 -1
  1201. package/src/types/ListMode.js +1 -1
  1202. package/src/types/ListSeparators.js +1 -1
  1203. package/src/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  1204. package/src/types/PanelAccessibleRole.js +1 -1
  1205. package/src/types/PopoverHorizontalAlign.js +1 -1
  1206. package/src/types/PopoverPlacementType.js +2 -2
  1207. package/src/types/PopoverVerticalAlign.js +1 -2
  1208. package/src/types/Priority.js +1 -1
  1209. package/src/types/SemanticColor.js +1 -1
  1210. package/src/types/SwitchDesign.js +40 -0
  1211. package/src/types/TabContainerTabsPlacement.js +5 -5
  1212. package/src/types/TabLayout.js +1 -1
  1213. package/src/types/TableGrowingMode.js +15 -0
  1214. package/src/types/TableMode.js +47 -0
  1215. package/src/types/TableRowType.js +40 -0
  1216. package/src/types/TabsOverflowMode.js +40 -0
  1217. package/src/types/TitleLevel.js +1 -1
  1218. package/src/types/ToastPlacement.js +1 -2
  1219. package/src/types/WrappingType.js +41 -0
  1220. package/dist/Timeline.js +0 -99
  1221. package/dist/TimelineItem.js +0 -156
  1222. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -14
  1223. package/dist/generated/templates/DateRangePickerTemplate.lit.js +0 -16
  1224. package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -17
  1225. package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -16
  1226. package/dist/generated/templates/TabSeparatorTemplate.lit.js +0 -14
  1227. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -19
  1228. package/dist/generated/templates/TimelineTemplate.lit.js +0 -15
  1229. package/dist/generated/themes/ComboBoxItem.css.js +0 -8
  1230. package/dist/generated/themes/DurationPicker.css.js +0 -8
  1231. package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
  1232. package/dist/generated/themes/Timeline.css.js +0 -8
  1233. package/dist/generated/themes/TimelineItem.css.js +0 -8
  1234. package/dist/popup-utils/PopupUtils.js +0 -84
  1235. package/dist/types/AvatarFitType.js +0 -40
  1236. package/dist/webcomponentsjs/package.json +0 -46
  1237. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  1238. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  1239. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  1240. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  1241. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  1242. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  1243. package/src/ComboBoxItem.hbs +0 -0
  1244. package/src/DateRangePicker.hbs +0 -1
  1245. package/src/DurationPicker.hbs +0 -29
  1246. package/src/DurationPickerPopover.hbs +0 -48
  1247. package/src/TabSeparator.hbs +0 -1
  1248. package/src/Timeline.hbs +0 -9
  1249. package/src/Timeline.js +0 -99
  1250. package/src/TimelineItem.hbs +0 -39
  1251. package/src/TimelineItem.js +0 -156
  1252. package/src/popup-utils/PopupUtils.js +0 -84
  1253. package/src/types/AvatarFitType.js +0 -40
package/dist/ComboBox.js CHANGED
@@ -1,11 +1,13 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
3
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
4
- import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
4
+ import { isPhone, isSafari } from "@ui5/webcomponents-base/dist/Device.js";
5
5
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
6
6
  import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
7
- import "@ui5/webcomponents-icons/dist/icons/slim-arrow-down.js";
8
- import "@ui5/webcomponents-icons/dist/icons/decline.js";
7
+ import announce from "@ui5/webcomponents-base/dist/util/InvisibleMessage.js";
8
+ import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
9
+ import "@ui5/webcomponents-icons/dist/decline.js";
10
+ import "@ui5/webcomponents-icons/dist/not-editable.js";
9
11
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
10
12
  import {
11
13
  isBackSpace,
@@ -14,6 +16,13 @@ import {
14
16
  isUp,
15
17
  isDown,
16
18
  isEnter,
19
+ isEscape,
20
+ isTabNext,
21
+ isTabPrevious,
22
+ isPageUp,
23
+ isPageDown,
24
+ isHome,
25
+ isEnd,
17
26
  } from "@ui5/webcomponents-base/dist/Keys.js";
18
27
  import * as Filters from "./ComboBoxFilters.js";
19
28
 
@@ -23,7 +32,9 @@ import {
23
32
  VALUE_STATE_WARNING,
24
33
  VALUE_STATE_INFORMATION,
25
34
  INPUT_SUGGESTIONS_TITLE,
26
- ICON_ACCESSIBLE_NAME,
35
+ SELECT_OPTIONS,
36
+ LIST_ITEM_POSITION,
37
+ LIST_ITEM_SELECTED,
27
38
  } from "./generated/i18n/i18n-defaults.js";
28
39
 
29
40
  // Templates
@@ -35,6 +46,7 @@ import ComboBoxCss from "./generated/themes/ComboBox.css.js";
35
46
  import ComboBoxPopoverCss from "./generated/themes/ComboBoxPopover.css.js";
36
47
  import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverCommon.css.js";
37
48
  import ValueStateMessageCss from "./generated/themes/ValueStateMessage.css.js";
49
+ import SuggestionsCss from "./generated/themes/Suggestions.css.js";
38
50
 
39
51
  import ComboBoxItem from "./ComboBoxItem.js";
40
52
  import Icon from "./Icon.js";
@@ -44,6 +56,7 @@ import List from "./List.js";
44
56
  import BusyIndicator from "./BusyIndicator.js";
45
57
  import Button from "./Button.js";
46
58
  import StandardListItem from "./StandardListItem.js";
59
+ import ComboBoxGroupItem from "./ComboBoxGroupItem.js";
47
60
 
48
61
  /**
49
62
  * @public
@@ -51,10 +64,9 @@ import StandardListItem from "./StandardListItem.js";
51
64
  const metadata = {
52
65
  tag: "ui5-combobox",
53
66
  languageAware: true,
54
- defaultSlot: "items",
55
67
  properties: /** @lends sap.ui.webcomponents.main.ComboBox.prototype */ {
56
68
  /**
57
- * Defines the value of the <code>ui5-combobox</code>.
69
+ * Defines the value of the component.
58
70
  *
59
71
  * @type {string}
60
72
  * @defaultvalue ""
@@ -66,16 +78,16 @@ const metadata = {
66
78
  },
67
79
 
68
80
  /**
69
- * Defines the "live" value of the <code>ui5-combobox</code>.
81
+ * Defines the "live" value of the component.
70
82
  * <br><br>
71
- * <b>Note:</b> The property is updated upon typing.
83
+ * <b>Note:</b> If we have an item e.g. "Bulgaria", "B" is typed, "ulgaria" is typed ahead, value will be "Bulgaria", filterValue will be "B".
72
84
  *
73
85
  * <br><br>
74
86
  * <b>Note:</b> Initially the filter value is synced with value.
75
87
  *
76
88
  * @type {string}
77
89
  * @defaultvalue ""
78
- * @public
90
+ * @private
79
91
  */
80
92
  filterValue: {
81
93
  type: String,
@@ -84,7 +96,7 @@ const metadata = {
84
96
 
85
97
  /**
86
98
  * Defines a short hint intended to aid the user with data entry when the
87
- * <code>ui5-combobox</code> has no value.
99
+ * component has no value.
88
100
  * @type {string}
89
101
  * @defaultvalue ""
90
102
  * @public
@@ -95,9 +107,9 @@ const metadata = {
95
107
  },
96
108
 
97
109
  /**
98
- * Defines whether <code>ui5-combobox</code> is in disabled state.
110
+ * Defines whether the component is in disabled state.
99
111
  * <br><br>
100
- * <b>Note:</b> A disabled <code>ui5-combobox</code> is completely uninteractive.
112
+ * <b>Note:</b> A disabled component is completely noninteractive.
101
113
  *
102
114
  * @type {boolean}
103
115
  * @defaultvalue false
@@ -108,7 +120,7 @@ const metadata = {
108
120
  },
109
121
 
110
122
  /**
111
- * Defines the value state of the <code>ui5-combobox</code>.
123
+ * Defines the value state of the component.
112
124
  * <br><br>
113
125
  * Available options are:
114
126
  * <ul>
@@ -129,9 +141,9 @@ const metadata = {
129
141
  },
130
142
 
131
143
  /**
132
- * Defines whether the <code>ui5-combobox</code> is readonly.
144
+ * Defines whether the component is read-only.
133
145
  * <br><br>
134
- * <b>Note:</b> A read-only <code>ui5-combobox</code> is not editable,
146
+ * <b>Note:</b> A read-only component is not editable,
135
147
  * but still provides visual feedback upon user interaction.
136
148
  *
137
149
  * @type {boolean}
@@ -143,7 +155,7 @@ const metadata = {
143
155
  },
144
156
 
145
157
  /**
146
- * Defines whether the <code>ui5-combobox</code> is required.
158
+ * Defines whether the component is required.
147
159
  *
148
160
  * @type {boolean}
149
161
  * @defaultvalue false
@@ -165,7 +177,7 @@ const metadata = {
165
177
  },
166
178
 
167
179
  /**
168
- * Defines the filter type of the <code>ui5-combobox</code>.
180
+ * Defines the filter type of the component.
169
181
  * Available options are: <code>StartsWithPerTerm</code>, <code>StartsWith</code> and <code>Contains</code>.
170
182
  *
171
183
  * @type {string}
@@ -186,25 +198,34 @@ const metadata = {
186
198
  },
187
199
 
188
200
  /**
189
- * Defines the aria-label attribute for the combo box
201
+ * Indicates whether the visual focus is on the value state header
202
+ * @private
203
+ */
204
+ _isValueStateFocused: {
205
+ type: Boolean,
206
+ },
207
+
208
+ /**
209
+ * Sets the accessible aria name of the component.
210
+ *
190
211
  * @type {String}
191
212
  * @defaultvalue: ""
192
- * @private
193
- * @since 1.0.0-rc.8
213
+ * @public
214
+ * @since 1.0.0-rc.15
194
215
  */
195
- ariaLabel: {
216
+ accessibleName: {
196
217
  type: String,
197
218
  defaultValue: undefined,
198
219
  },
199
220
 
200
221
  /**
201
- * Receives id(or many ids) of the elements that label the combo box
222
+ * Receives id(or many ids) of the elements that label the component
202
223
  * @type {String}
203
224
  * @defaultvalue ""
204
- * @private
205
- * @since 1.0.0-rc.8
225
+ * @public
226
+ * @since 1.0.0-rc.15
206
227
  */
207
- ariaLabelledby: {
228
+ accessibleNameRef: {
208
229
  type: String,
209
230
  defaultValue: "",
210
231
  },
@@ -214,11 +235,6 @@ const metadata = {
214
235
  noAttribute: true,
215
236
  },
216
237
 
217
- _tempValue: {
218
- type: String,
219
- defaultValue: "",
220
- },
221
-
222
238
  _filteredItems: {
223
239
  type: Object,
224
240
  },
@@ -232,33 +248,26 @@ const metadata = {
232
248
  managedSlots: true,
233
249
  slots: /** @lends sap.ui.webcomponents.main.ComboBox.prototype */ {
234
250
  /**
235
- * Defines the <code>ui5-combobox</code> items.
236
- * <br><br>
237
- * Example: <br>
238
- * &lt;ui5-combobox><br>
239
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-li>Item #1&lt;/ui5-li><br>
240
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-li>Item #2&lt;/ui5-li><br>
241
- * &lt;/ui5-combobox>
242
- * <br> <br>
251
+ * Defines the component items.
243
252
  *
244
- * @type {HTMLElement[]}
245
- * @slot
253
+ * @type {sap.ui.webcomponents.main.IComboBoxItem[]}
254
+ * @slot items
246
255
  * @public
247
256
  */
248
257
  "default": {
249
258
  propertyName: "items",
250
259
  type: HTMLElement,
251
- listenFor: { include: ["*"] },
260
+ invalidateOnChildChange: true,
252
261
  },
253
262
 
254
263
  /**
255
- * Defines the value state message that will be displayed as pop up under the <code>ui5-combobox</code>.
264
+ * Defines the value state message that will be displayed as pop up under the component.
256
265
  * <br><br>
257
266
  *
258
267
  * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.
259
268
  * <br>
260
269
  * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,
261
- * when the <code>ui5-select</code> is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
270
+ * when the <code>ui5-combobox</code> is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
262
271
  * @type {HTMLElement[]}
263
272
  * @since 1.0.0-rc.9
264
273
  * @slot
@@ -271,7 +280,7 @@ const metadata = {
271
280
  /**
272
281
  * Defines the icon to be displayed in the input field.
273
282
  *
274
- * @type {HTMLElement[]}
283
+ * @type {sap.ui.webcomponents.main.IIcon}
275
284
  * @slot
276
285
  * @public
277
286
  * @since 1.0.0-rc.9
@@ -301,7 +310,7 @@ const metadata = {
301
310
  /**
302
311
  * Fired when selection is changed by user interaction
303
312
  *
304
- * @event sap.ui.webcomponents.main.Combobox#selection-change
313
+ * @event sap.ui.webcomponents.main.ComboBox#selection-change
305
314
  * @param {HTMLElement} item item to be selected.
306
315
  * @public
307
316
  */
@@ -320,7 +329,8 @@ const metadata = {
320
329
  *
321
330
  * The <code>ui5-combobox</code> component represents a drop-down menu with a list of the available options and a text input field to narrow down the options.
322
331
  *
323
- * It is commonly used to enable users to select one or more options from a predefined list.
332
+ * It is commonly used to enable users to select an option from a predefined list.
333
+ *
324
334
  * <h3>Structure</h3>
325
335
  * The <code>ui5-combobox</code> consists of the following elements:
326
336
  * <ul>
@@ -328,15 +338,24 @@ const metadata = {
328
338
  * <li> Drop-down arrow - expands\collapses the option list.</li>
329
339
  * <li> Option list - the list of available options.</li>
330
340
  * </ul>
341
+ *
331
342
  * <h3>Keyboard Handling</h3>
332
343
  *
333
344
  * The <code>ui5-combobox</code> provides advanced keyboard handling.
334
- *
335
- * <h4>Picker</h4>
336
- * If the <code>ui5-combobox</code> is focused,
337
- * you can open or close the drop-down by pressing <code>F4</code>, <code>ALT+UP</code> or <code>ALT+DOWN</code> keys.
338
345
  * <br>
339
346
  *
347
+ * <ul>
348
+ * <li>[F4], [ALT]+[UP], or [ALT]+[DOWN] - Toggles the picker.</li>
349
+ * <li>[ESC] - Closes the picker, if open. If closed, cancels changes and reverts the typed in value.</li>
350
+ * <li>[ENTER] or [RETURN] - If picker is open, takes over the currently selected item and closes it.</li>
351
+ * <li>[DOWN] - Selects the next matching item in the picker.</li>
352
+ * <li>[UP] - Selects the previous matching item in the picker.</li>
353
+ * <li>[PAGEDOWN] - Moves selection down by page size (10 items by default).</li>
354
+ * <li>[PAGEUP] - Moves selection up by page size (10 items by default). </li>
355
+ * <li>[HOME] - If focus is in the ComboBox, moves cursor at the beginning of text. If focus is in the picker, selects the first item.</li>
356
+ * <li>[END] - If focus is in the ComboBox, moves cursor at the end of text. If focus is in the picker, selects the last item.</li>
357
+ * </ul>
358
+ *
340
359
  *
341
360
  * <h3>ES6 Module Import</h3>
342
361
  *
@@ -348,7 +367,7 @@ const metadata = {
348
367
  * @alias sap.ui.webcomponents.main.ComboBox
349
368
  * @extends UI5Element
350
369
  * @tagname ui5-combobox
351
- * @appenddocs ComboBoxItem
370
+ * @appenddocs ComboBoxItem ComboBoxGroupItem
352
371
  * @public
353
372
  * @since 1.0.0-rc.6
354
373
  */
@@ -366,7 +385,7 @@ class ComboBox extends UI5Element {
366
385
  }
367
386
 
368
387
  static get staticAreaStyles() {
369
- return [ResponsivePopoverCommonCss, ValueStateMessageCss, ComboBoxPopoverCss];
388
+ return [ResponsivePopoverCommonCss, ValueStateMessageCss, ComboBoxPopoverCss, SuggestionsCss];
370
389
  }
371
390
 
372
391
  static get template() {
@@ -383,33 +402,12 @@ class ComboBox extends UI5Element {
383
402
  this._filteredItems = [];
384
403
  this._initialRendering = true;
385
404
  this._itemFocused = false;
386
- this._tempFilterValue = "";
387
405
  this._selectionChanged = false;
388
- this.i18nBundle = getI18nBundle("@ui5/webcomponents");
389
406
  }
390
407
 
391
408
  onBeforeRendering() {
392
- let domValue;
393
-
394
409
  if (this._initialRendering) {
395
- domValue = this.value;
396
410
  this._filteredItems = this.items;
397
- } else {
398
- domValue = this.filterValue;
399
- }
400
-
401
- if (this._autocomplete && domValue !== "") {
402
- const item = this._autoCompleteValue(domValue);
403
-
404
- if (!this._selectionChanged && (item && !item.selected)) {
405
- this.fireEvent("selection-change", {
406
- item,
407
- });
408
-
409
- this._selectionChanged = false;
410
- }
411
- } else {
412
- this._tempValue = domValue;
413
411
  }
414
412
 
415
413
  if (!this._initialRendering && this.popover && document.activeElement === this && !this._filteredItems.length) {
@@ -417,15 +415,7 @@ class ComboBox extends UI5Element {
417
415
  }
418
416
 
419
417
  this._selectMatchingItem();
420
-
421
- if (this._isKeyNavigation && this.responsivePopover && this.responsivePopover.opened) {
422
- this.focused = false;
423
- } else {
424
- this.focused = this === document.activeElement;
425
- }
426
-
427
418
  this._initialRendering = false;
428
- this._isKeyNavigation = false;
429
419
  }
430
420
 
431
421
  async onAfterRendering() {
@@ -435,50 +425,72 @@ class ComboBox extends UI5Element {
435
425
  this.inner.focus();
436
426
  }
437
427
 
438
- if (this.shouldClosePopover()) {
428
+ if (this.shouldClosePopover() && !isPhone()) {
439
429
  this.responsivePopover.close(false, false, true);
430
+ this._clearFocus();
431
+ this._itemFocused = false;
440
432
  }
441
433
 
442
- this._itemFocused = false;
443
-
444
434
  this.toggleValueStatePopover(this.shouldOpenValueStateMessagePopover);
445
435
  this.storeResponsivePopoverWidth();
436
+
437
+ // Safari is quite slow and does not preserve text highlighting on control rerendering.
438
+ // That's why we need to restore it "manually".
439
+ if (isSafari() && this._autocomplete && this.filterValue !== this.value) {
440
+ this.inner.setSelectionRange(
441
+ (this._isKeyNavigation ? 0 : this.filterValue.length),
442
+ this.value.length,
443
+ );
444
+ }
446
445
  }
447
446
 
448
447
  shouldClosePopover() {
449
- return this.responsivePopover.opened && !this.focused && !this._itemFocused;
448
+ return this.responsivePopover.opened && !this.focused && !this._itemFocused && !this._isValueStateFocused;
450
449
  }
451
450
 
452
451
  _focusin(event) {
453
452
  this.focused = true;
454
453
 
455
- if (this.filterValue !== this.value) {
456
- this.filterValue = this.value;
457
- }
454
+ this._lastValue = this.value;
455
+
456
+ this._autocomplete = false;
458
457
 
459
- event.target.setSelectionRange(0, this.value.length);
458
+ !isPhone() && event.target.setSelectionRange(0, this.value.length);
460
459
  }
461
460
 
462
- _focusout() {
463
- this.focused = false;
461
+ _focusout(event) {
462
+ const focusedOutToValueStateMessage = event.relatedTarget && event.relatedTarget.shadowRoot && event.relatedTarget.shadowRoot.querySelector(".ui5-valuestatemessage-root");
463
+
464
+ this._fireChangeEvent();
464
465
 
465
- this._inputChange();
466
+ if (focusedOutToValueStateMessage) {
467
+ event.stopImmediatePropagation();
468
+ return;
469
+ }
470
+
471
+ if (!this.shadowRoot.contains(event.relatedTarget)) {
472
+ this.focused = false;
473
+ !isPhone() && this._closeRespPopover(event);
474
+ }
466
475
  }
467
476
 
468
477
  _afterOpenPopover() {
469
478
  this._iconPressed = true;
470
- this._clearFocus();
471
479
  }
472
480
 
473
481
  _afterClosePopover() {
474
482
  this._iconPressed = false;
475
483
  this._filteredItems = this.items;
476
- this._tempFilterValue = "";
477
484
 
478
485
  // close device's keyboard and prevent further typing
479
486
  if (isPhone()) {
480
487
  this.blur();
481
488
  }
489
+
490
+ if (this._selectionPerformed) {
491
+ this._lastValue = this.value;
492
+ this._selectionPerformed = false;
493
+ }
482
494
  }
483
495
 
484
496
  _toggleRespPopover() {
@@ -505,7 +517,7 @@ class ComboBox extends UI5Element {
505
517
 
506
518
  async openValueStatePopover() {
507
519
  this.popover = await this._getPopover();
508
- this.popover && this.popover.openBy(this);
520
+ this.popover && this.popover.showAt(this);
509
521
  }
510
522
 
511
523
  async closeValueStatePopover() {
@@ -519,6 +531,8 @@ class ComboBox extends UI5Element {
519
531
  }
520
532
 
521
533
  _resetFilter() {
534
+ this._userTypedValue = null;
535
+ this.inner.setSelectionRange(0, this.value.length);
522
536
  this._filteredItems = this._filterItems("");
523
537
  this._selectMatchingItem();
524
538
  }
@@ -530,22 +544,48 @@ class ComboBox extends UI5Element {
530
544
  this._toggleRespPopover();
531
545
  }
532
546
 
547
+ _readonlyIconClick() {
548
+ this.inner.focus();
549
+ }
550
+
533
551
  _input(event) {
534
552
  const { value } = event.target;
535
553
 
536
554
  if (event.target === this.inner) {
537
555
  // stop the native event, as the semantic "input" would be fired.
538
556
  event.stopImmediatePropagation();
557
+ this.focused = true;
558
+ this._isValueStateFocused = false;
539
559
  }
540
560
 
541
- this._clearFocus();
542
- this._tempFilterValue = value;
561
+ this._filteredItems = this._filterItems(value);
562
+
563
+ this.value = value;
543
564
  this.filterValue = value;
565
+
566
+ this._clearFocus();
567
+
568
+ // autocomplete
569
+ if (this._autocomplete) {
570
+ const item = this._getFirstMatchingItem(value);
571
+ this._applyAtomicValueAndSelection(item, value, true);
572
+
573
+ if (value !== "" && !this._selectionChanged && (item && !item.selected && !item.isGroupItem)) {
574
+ this.fireEvent("selection-change", {
575
+ item,
576
+ });
577
+
578
+ this._selectionChanged = false;
579
+ }
580
+ }
581
+
544
582
  this.fireEvent("input");
545
583
 
546
- this._filteredItems = this._filterItems(value);
584
+ if (isPhone()) {
585
+ return;
586
+ }
547
587
 
548
- if (!this._filteredItems.length) {
588
+ if (!this._filteredItems.length || value === "") {
549
589
  this._closeRespPopover();
550
590
  } else {
551
591
  this._openRespPopover();
@@ -564,58 +604,211 @@ class ComboBox extends UI5Element {
564
604
  });
565
605
  }
566
606
 
567
- handleArrowKeyPress(event) {
568
- if (this.readonly || !this._filteredItems.length) {
607
+ handleNavKeyPress(event) {
608
+ if (this.focused && (isHome(event) || isEnd(event)) && this.value) {
569
609
  return;
570
610
  }
571
611
 
572
- const isArrowDown = isDown(event);
573
- const isArrowUp = isUp(event);
612
+ const isOpen = this.open;
574
613
  const currentItem = this._filteredItems.find(item => {
575
- return this.responsivePopover.opened ? item.focused : item.selected;
614
+ return isOpen ? item.focused : item.selected;
576
615
  });
577
- let indexOfItem = this._filteredItems.indexOf(currentItem);
616
+ const indexOfItem = this._filteredItems.indexOf(currentItem);
578
617
 
579
618
  event.preventDefault();
580
619
 
581
- if ((indexOfItem === 0 && isArrowUp) || (this._filteredItems.length - 1 === indexOfItem && isArrowDown)) {
620
+ if (this.focused && isOpen && (isUp(event) || isPageUp(event) || isPageDown(event))) {
621
+ return;
622
+ }
623
+
624
+ if (this._filteredItems.length - 1 === indexOfItem && isDown(event)) {
625
+ return;
626
+ }
627
+
628
+ this._isKeyNavigation = true;
629
+
630
+ this[`_handle${event.key}`](event, indexOfItem);
631
+ }
632
+
633
+ _handleItemNavigation(event, indexOfItem, isForward) {
634
+ const isOpen = this.open;
635
+ const currentItem = this._filteredItems[indexOfItem];
636
+ const nextItem = isForward ? this._filteredItems[indexOfItem + 1] : this._filteredItems[indexOfItem - 1];
637
+ const isGroupItem = currentItem && currentItem.isGroupItem;
638
+
639
+ if ((!isOpen) && ((isGroupItem && !nextItem) || (!isGroupItem && !currentItem))) {
582
640
  return;
583
641
  }
584
642
 
585
643
  this._clearFocus();
586
644
 
587
- indexOfItem += isArrowDown ? 1 : -1;
588
- indexOfItem = indexOfItem < 0 ? 0 : indexOfItem;
645
+ if (isOpen) {
646
+ this._itemFocused = true;
647
+ this.value = isGroupItem ? "" : currentItem.text;
648
+ this.focused = false;
649
+ currentItem.focused = true;
650
+ } else {
651
+ this.focused = true;
652
+ this.value = isGroupItem ? nextItem.text : currentItem.text;
653
+ currentItem.focused = false;
654
+ }
655
+
656
+ this._isValueStateFocused = false;
657
+ this._selectionChanged = true;
658
+
659
+ if (isGroupItem && isOpen) {
660
+ return;
661
+ }
662
+
663
+ this._announceSelectedItem(indexOfItem);
664
+
665
+ // autocomplete
666
+ const item = this._getFirstMatchingItem(this.value);
667
+ this._applyAtomicValueAndSelection(item, (this.open ? this._userTypedValue : null), true);
668
+
669
+ if ((item && !item.selected)) {
670
+ this.fireEvent("selection-change", {
671
+ item,
672
+ });
673
+ }
589
674
 
590
- this._filteredItems[indexOfItem].focused = true;
591
- this.filterValue = this._filteredItems[indexOfItem].text;
592
- this._isKeyNavigation = true;
593
- this._itemFocused = true;
594
675
  this.fireEvent("input");
676
+ this._fireChangeEvent();
677
+ }
595
678
 
596
- this.fireEvent("selection-change", {
597
- item: this._filteredItems[indexOfItem],
598
- });
679
+ _handleArrowDown(event, indexOfItem) {
680
+ const isOpen = this.open;
599
681
 
600
- this._selectionChanged = true;
682
+ if (this.focused && indexOfItem === -1 && this.hasValueStateText && isOpen) {
683
+ this._isValueStateFocused = true;
684
+ this.focused = false;
685
+ return;
686
+ }
687
+
688
+ indexOfItem = !isOpen && this.hasValueState && indexOfItem === -1 ? 0 : indexOfItem;
689
+
690
+ this._handleItemNavigation(event, ++indexOfItem, true /* isForward */);
691
+ }
692
+
693
+ _handleArrowUp(event, indexOfItem) {
694
+ const isOpen = this.open;
695
+
696
+ if (indexOfItem === 0 && !this.hasValueStateText) {
697
+ this._clearFocus();
698
+ this.focused = true;
699
+ this._itemFocused = false;
700
+ return;
701
+ }
702
+
703
+ if (indexOfItem === 0 && this.hasValueStateText && isOpen) {
704
+ this._clearFocus();
705
+ this._itemFocused = false;
706
+ this._isValueStateFocused = true;
707
+ this._filteredItems[0].selected = false;
708
+ return;
709
+ }
710
+
711
+ if (this._isValueStateFocused) {
712
+ this.focused = true;
713
+ this._isValueStateFocused = false;
714
+ return;
715
+ }
716
+
717
+ indexOfItem = !isOpen && this.hasValueState && indexOfItem === -1 ? 0 : indexOfItem;
718
+ this._handleItemNavigation(event, --indexOfItem, false /* isForward */);
719
+ }
720
+
721
+ _handlePageUp(event, indexOfItem) {
722
+ const isProposedIndexValid = indexOfItem - ComboBox.SKIP_ITEMS_SIZE > -1;
723
+ indexOfItem = isProposedIndexValid ? indexOfItem - ComboBox.SKIP_ITEMS_SIZE : 0;
724
+ const shouldMoveForward = this._filteredItems[indexOfItem].isGroupItem && !this.open;
725
+
726
+ if (!isProposedIndexValid && this.hasValueStateText && this.open) {
727
+ this._clearFocus();
728
+ this._itemFocused = false;
729
+ this._isValueStateFocused = true;
730
+ return;
731
+ }
732
+
733
+ this._handleItemNavigation(event, indexOfItem, shouldMoveForward);
734
+ }
735
+
736
+ _handlePageDown(event, indexOfItem) {
737
+ const itemsLength = this._filteredItems.length;
738
+ const isProposedIndexValid = indexOfItem + ComboBox.SKIP_ITEMS_SIZE < itemsLength;
739
+
740
+ indexOfItem = isProposedIndexValid ? indexOfItem + ComboBox.SKIP_ITEMS_SIZE : itemsLength - 1;
741
+ const shouldMoveForward = this._filteredItems[indexOfItem].isGroupItem && !this.open;
742
+
743
+ this._handleItemNavigation(event, indexOfItem, shouldMoveForward);
744
+ }
745
+
746
+ _handleHome(event, indexOfItem) {
747
+ const shouldMoveForward = this._filteredItems[0].isGroupItem && !this.open;
748
+
749
+ if (this.hasValueStateText && this.open) {
750
+ this._clearFocus();
751
+ this._itemFocused = false;
752
+ this._isValueStateFocused = true;
753
+ return;
754
+ }
755
+
756
+ this._handleItemNavigation(event, indexOfItem = 0, shouldMoveForward);
757
+ }
758
+
759
+ _handleEnd(event, indexOfItem) {
760
+ this._handleItemNavigation(event, indexOfItem = this._filteredItems.length - 1, true /* isForward */);
761
+ }
762
+
763
+ _keyup(event) {
764
+ this._userTypedValue = this.value.substring(0, this.inner.selectionStart);
601
765
  }
602
766
 
603
767
  _keydown(event) {
604
- const isArrowKey = isDown(event) || isUp(event);
768
+ const isNavKey = isDown(event) || isUp(event) || isPageUp(event) || isPageDown(event) || isHome(event) || isEnd(event);
605
769
  this._autocomplete = !(isBackSpace(event) || isDelete(event));
770
+ this._isKeyNavigation = false;
606
771
 
607
- if (isArrowKey) {
608
- this.handleArrowKeyPress(event);
772
+ if (isNavKey && !this.readonly && this._filteredItems.length) {
773
+ this.handleNavKeyPress(event);
609
774
  }
610
775
 
611
776
  if (isEnter(event)) {
612
- this._inputChange();
777
+ this._fireChangeEvent();
778
+ this._closeRespPopover();
779
+ this.focused = true;
780
+ }
781
+
782
+ if (isEscape(event)) {
783
+ this.focused = true;
784
+ this.value = !this.open ? this._lastValue : this.value;
785
+ this._isValueStateFocused = false;
786
+ }
787
+
788
+ if ((isTabNext(event) || isTabPrevious(event)) && this.open) {
789
+ this._closeRespPopover();
613
790
  }
614
791
 
615
792
  if (isShow(event) && !this.readonly && !this.disabled) {
616
793
  event.preventDefault();
794
+
617
795
  this._resetFilter();
618
796
  this._toggleRespPopover();
797
+
798
+ const selectedItem = this._filteredItems.find(item => {
799
+ return item.selected;
800
+ });
801
+
802
+ if (selectedItem && this.open) {
803
+ this._itemFocused = true;
804
+ selectedItem.focused = true;
805
+ this.focused = false;
806
+ } else if (this.open && this._filteredItems.length) {
807
+ // If no item is selected, select the first one on "Show" (F4, Alt+Up/Down)
808
+ this._handleItemNavigation(event, 0, true /* isForward */);
809
+ } else {
810
+ this.focused = true;
811
+ }
619
812
  }
620
813
  }
621
814
 
@@ -625,60 +818,96 @@ class ComboBox extends UI5Element {
625
818
  }
626
819
  }
627
820
 
628
- _closeRespPopover() {
821
+ _closeRespPopover(event) {
822
+ if (isPhone() && event && event.target.classList.contains("ui5-responsive-popover-close-btn") && this._selectedItemText) {
823
+ this.value = this._selectedItemText;
824
+ this.filterValue = this._selectedItemText;
825
+ }
826
+
827
+ this._isValueStateFocused = false;
828
+ this._clearFocus();
829
+
629
830
  this.responsivePopover.close();
630
831
  }
631
832
 
632
833
  _openRespPopover() {
633
- this.responsivePopover.open(this);
834
+ this.responsivePopover.showAt(this);
634
835
  }
635
836
 
636
837
  _filterItems(str) {
637
- return (Filters[this.filter] || Filters.StartsWithPerTerm)(str, this.items);
838
+ const itemsToFilter = this.items.filter(item => !item.isGroupItem);
839
+ const filteredItems = (Filters[this.filter] || Filters.StartsWithPerTerm)(str, itemsToFilter);
840
+
841
+ // Return the filtered items and their group items
842
+ return this.items.filter((item, idx, allItems) => ComboBox._groupItemFilter(item, ++idx, allItems, filteredItems) || filteredItems.indexOf(item) !== -1);
638
843
  }
639
844
 
640
- _autoCompleteValue(current) {
641
- const currentValue = current;
642
- const matchingItems = this._startsWithMatchingItems(currentValue);
643
- const selectionValue = this._tempFilterValue ? this._tempFilterValue : currentValue;
845
+ /**
846
+ * Returns true if the group header should be shown (if there is a filtered suggestion item for this group item)
847
+ *
848
+ * @private
849
+ */
850
+ static _groupItemFilter(item, idx, allItems, filteredItems) {
851
+ if (item.isGroupItem) {
852
+ let groupHasFilteredItems;
853
+
854
+ while (allItems[idx] && !allItems[idx].isGroupItem && !groupHasFilteredItems) {
855
+ groupHasFilteredItems = filteredItems.indexOf(allItems[idx]) !== -1;
856
+ idx++;
857
+ }
644
858
 
645
- if (matchingItems.length) {
646
- this._tempValue = matchingItems[0] ? matchingItems[0].text : current;
647
- } else {
648
- this._tempValue = current;
859
+ return groupHasFilteredItems;
649
860
  }
861
+ }
650
862
 
651
- if (matchingItems.length && (selectionValue !== this._tempValue)) {
652
- setTimeout(() => {
653
- this.inner.setSelectionRange(selectionValue.length, this._tempValue.length);
654
- }, 0);
655
- } else if (this._isKeyNavigation) {
656
- setTimeout(() => {
657
- this.inner.setSelectionRange(0, this._tempValue.length);
658
- }, 0);
863
+ _getFirstMatchingItem(current) {
864
+ const currentlyFocusedItem = this.items.find(item => item.focused === true);
865
+
866
+ if (currentlyFocusedItem && currentlyFocusedItem.isGroupItem) {
867
+ this.value = this.filterValue;
868
+ return;
659
869
  }
660
870
 
871
+ const matchingItems = this._startsWithMatchingItems(current).filter(item => !item.isGroupItem);
872
+
661
873
  if (matchingItems.length) {
662
874
  return matchingItems[0];
663
875
  }
664
876
  }
665
877
 
878
+ _applyAtomicValueAndSelection(item, filterValue, highlightValue) {
879
+ if (!item) {
880
+ return;
881
+ }
882
+
883
+ const value = (item && item.text) || "";
884
+ this.inner.value = value;
885
+ if (highlightValue) {
886
+ filterValue = filterValue || "";
887
+ this.inner.setSelectionRange(filterValue.length, value.length);
888
+ }
889
+ this.value = value;
890
+ }
891
+
666
892
  _selectMatchingItem() {
667
- this._filteredItems = this._filteredItems.map(item => {
668
- item.selected = (item.text === this._tempValue);
893
+ const currentlyFocusedItem = this.items.find(item => item.focused);
894
+ const shouldSelectionBeCleared = currentlyFocusedItem && currentlyFocusedItem.isGroupItem;
669
895
 
896
+ this._filteredItems = this._filteredItems.map(item => {
897
+ item.selected = !item.isGroupItem && (item.text === this.value) && !shouldSelectionBeCleared;
670
898
  return item;
671
899
  });
672
900
  }
673
901
 
674
- _inputChange() {
675
- if (this.value !== this._tempValue) {
676
- this.value = this._tempValue;
902
+ _fireChangeEvent() {
903
+ if (this.value !== this._lastValue) {
677
904
  this.fireEvent("change");
678
- this.inner.setSelectionRange(this.value.length, this.value.length);
905
+ this._lastValue = this.value;
679
906
  }
907
+ }
680
908
 
681
- this._closeRespPopover();
909
+ _inputChange(event) {
910
+ event.preventDefault();
682
911
  }
683
912
 
684
913
  _itemMousedown(event) {
@@ -688,8 +917,17 @@ class ComboBox extends UI5Element {
688
917
  _selectItem(event) {
689
918
  const listItem = event.detail.item;
690
919
 
691
- this._tempValue = listItem.mappedItem.text;
692
- this.filterValue = this._tempValue;
920
+ this._selectedItemText = listItem.mappedItem.text;
921
+ this._selectionPerformed = true;
922
+
923
+ const sameItemSelected = this.value === this._selectedItemText;
924
+ const sameSelectionPerformed = this.value.toLowerCase() === this.filterValue.toLowerCase();
925
+
926
+ if (sameItemSelected && sameSelectionPerformed) {
927
+ return this._closeRespPopover();
928
+ }
929
+
930
+ this.value = this._selectedItemText;
693
931
 
694
932
  if (!listItem.mappedItem.selected) {
695
933
  this.fireEvent("selection-change", {
@@ -700,24 +938,34 @@ class ComboBox extends UI5Element {
700
938
  }
701
939
 
702
940
  this._filteredItems.map(item => {
703
- item.selected = (item === listItem.mappedItem);
704
-
941
+ item.selected = (item === listItem.mappedItem && !item.isGroupItem);
705
942
  return item;
706
943
  });
707
944
 
708
- this._inputChange();
945
+ this._fireChangeEvent();
946
+ this._closeRespPopover();
947
+
948
+ // reset selection
949
+ this.inner.setSelectionRange(this.value.length, this.value.length);
709
950
  }
710
951
 
711
952
  _onItemFocus(event) {
712
953
  this._itemFocused = true;
713
954
  }
714
955
 
956
+ _announceSelectedItem(indexOfItem) {
957
+ const itemPositionText = ComboBox.i18nBundle.getText(LIST_ITEM_POSITION, indexOfItem + 1, this._filteredItems.length);
958
+ const itemSelectionText = ComboBox.i18nBundle.getText(LIST_ITEM_SELECTED);
959
+
960
+ announce(`${itemPositionText} ${itemSelectionText}`, "Polite");
961
+ }
962
+
715
963
  get _headerTitleText() {
716
- return this.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
964
+ return ComboBox.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
717
965
  }
718
966
 
719
967
  get _iconAccessibleNameText() {
720
- return this.i18nBundle.getText(ICON_ACCESSIBLE_NAME);
968
+ return ComboBox.i18nBundle.getText(SELECT_OPTIONS);
721
969
  }
722
970
 
723
971
  get inner() {
@@ -756,15 +1004,15 @@ class ComboBox extends UI5Element {
756
1004
 
757
1005
  get valueStateTextMappings() {
758
1006
  return {
759
- "Success": this.i18nBundle.getText(VALUE_STATE_SUCCESS),
760
- "Error": this.i18nBundle.getText(VALUE_STATE_ERROR),
761
- "Warning": this.i18nBundle.getText(VALUE_STATE_WARNING),
762
- "Information": this.i18nBundle.getText(VALUE_STATE_INFORMATION),
1007
+ "Success": ComboBox.i18nBundle.getText(VALUE_STATE_SUCCESS),
1008
+ "Error": ComboBox.i18nBundle.getText(VALUE_STATE_ERROR),
1009
+ "Warning": ComboBox.i18nBundle.getText(VALUE_STATE_WARNING),
1010
+ "Information": ComboBox.i18nBundle.getText(VALUE_STATE_INFORMATION),
763
1011
  };
764
1012
  }
765
1013
 
766
1014
  get shouldOpenValueStateMessagePopover() {
767
- return this.focused && this.hasValueStateText && !this._iconPressed
1015
+ return this.focused && !this.readonly && this.hasValueStateText && !this._iconPressed
768
1016
  && !this.open && !this._isPhone;
769
1017
  }
770
1018
 
@@ -772,6 +1020,24 @@ class ComboBox extends UI5Element {
772
1020
  return !this.valueStateMessage.length && this.hasValueStateText;
773
1021
  }
774
1022
 
1023
+ get _valueStatePopoverHorizontalAlign() {
1024
+ return this.effectiveDir !== "rtl" ? "Left" : "Right";
1025
+ }
1026
+
1027
+ /**
1028
+ * This method is relevant for sap_horizon theme only
1029
+ */
1030
+ get _valueStateMessageIcon() {
1031
+ const iconPerValueState = {
1032
+ Error: "error",
1033
+ Warning: "alert",
1034
+ Success: "sys-enter-2",
1035
+ Information: "information",
1036
+ };
1037
+
1038
+ return this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : "";
1039
+ }
1040
+
775
1041
  get open() {
776
1042
  return this.responsivePopover ? this.responsivePopover.opened : false;
777
1043
  }
@@ -798,9 +1064,14 @@ class ComboBox extends UI5Element {
798
1064
  Button,
799
1065
  StandardListItem,
800
1066
  Popover,
1067
+ ComboBoxGroupItem,
801
1068
  ];
802
1069
  }
803
1070
 
1071
+ static async onDefine() {
1072
+ ComboBox.i18nBundle = await getI18nBundle("@ui5/webcomponents");
1073
+ }
1074
+
804
1075
  get styles() {
805
1076
  return {
806
1077
  popoverHeader: {
@@ -809,14 +1080,18 @@ class ComboBox extends UI5Element {
809
1080
  suggestionPopoverHeader: {
810
1081
  "display": this._listWidth === 0 ? "none" : "inline-block",
811
1082
  "width": `${this._listWidth}px`,
812
- "padding": "0.5625rem 1rem",
813
1083
  },
814
1084
  };
815
1085
  }
816
1086
 
817
1087
  get classes() {
818
1088
  return {
1089
+ popover: {
1090
+ "ui5-suggestions-popover": !this.isPhone,
1091
+ "ui5-suggestions-popover-with-value-state-header": !this.isPhone && this.hasValueStateText,
1092
+ },
819
1093
  popoverValueState: {
1094
+ "ui5-valuestatemessage-header": true,
820
1095
  "ui5-valuestatemessage-root": true,
821
1096
  "ui5-valuestatemessage--success": this.valueState === ValueState.Success,
822
1097
  "ui5-valuestatemessage--error": this.valueState === ValueState.Error,
@@ -827,6 +1102,8 @@ class ComboBox extends UI5Element {
827
1102
  }
828
1103
  }
829
1104
 
1105
+ ComboBox.SKIP_ITEMS_SIZE = 10;
1106
+
830
1107
  ComboBox.define();
831
1108
 
832
1109
  export default ComboBox;