@ui5/webcomponents 0.0.0-cc312800a → 0.0.0-cf069fb29

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 (1144) hide show
  1. package/CHANGELOG.md +462 -0
  2. package/README.md +144 -50
  3. package/customI18n.js +50 -0
  4. package/dist/Assets-static.js +1 -1
  5. package/dist/Assets.js +1 -1
  6. package/dist/Avatar.js +88 -63
  7. package/dist/AvatarGroup.js +135 -40
  8. package/dist/Badge.js +43 -17
  9. package/dist/Breadcrumbs.js +575 -0
  10. package/dist/BreadcrumbsItem.js +103 -0
  11. package/dist/BusyIndicator.js +119 -29
  12. package/dist/Button.js +58 -56
  13. package/dist/Calendar.js +126 -23
  14. package/dist/CalendarDate.js +1 -1
  15. package/dist/CalendarHeader.js +75 -19
  16. package/dist/Card.js +37 -219
  17. package/dist/CardHeader.js +288 -0
  18. package/dist/Carousel.js +250 -93
  19. package/dist/CheckBox.js +154 -65
  20. package/dist/ColorPalette.js +283 -35
  21. package/dist/ColorPaletteItem.js +37 -13
  22. package/dist/ColorPalettePopover.js +244 -0
  23. package/dist/ColorPicker.js +30 -15
  24. package/dist/ComboBox.js +415 -155
  25. package/dist/ComboBoxGroupItem.js +70 -0
  26. package/dist/ComboBoxItem.js +2 -2
  27. package/dist/CustomListItem.js +14 -2
  28. package/dist/DateComponentBase.js +22 -13
  29. package/dist/DatePicker.js +105 -47
  30. package/dist/DateRangePicker.js +58 -21
  31. package/dist/DateTimePicker.js +13 -9
  32. package/dist/DayPicker.js +48 -7
  33. package/dist/Dialog.js +178 -43
  34. package/dist/DurationPicker.js +23 -4
  35. package/dist/FileUploader.js +46 -33
  36. package/dist/GroupHeaderListItem.js +20 -12
  37. package/dist/Icon.js +71 -20
  38. package/dist/Input.js +318 -125
  39. package/dist/Interfaces.js +20 -0
  40. package/dist/Label.js +26 -11
  41. package/dist/Link.js +124 -40
  42. package/dist/List.js +156 -44
  43. package/dist/ListItem.js +53 -14
  44. package/dist/MessageStrip.js +83 -44
  45. package/dist/MultiComboBox.js +309 -99
  46. package/dist/MultiComboBoxItem.js +5 -11
  47. package/dist/MultiInput.js +59 -20
  48. package/dist/Option.js +22 -17
  49. package/dist/Panel.js +54 -23
  50. package/dist/Popover.js +154 -82
  51. package/dist/Popup.js +81 -38
  52. package/dist/ProgressIndicator.js +28 -20
  53. package/dist/RadioButton.js +117 -46
  54. package/dist/RadioButtonGroup.js +32 -32
  55. package/dist/RangeSlider.js +46 -23
  56. package/dist/RatingIndicator.js +62 -42
  57. package/dist/ResponsivePopover.js +34 -50
  58. package/dist/SegmentedButton.js +110 -60
  59. package/dist/SegmentedButtonItem.js +109 -0
  60. package/dist/Select.js +210 -105
  61. package/dist/Slider.js +48 -14
  62. package/dist/SliderBase.js +23 -16
  63. package/dist/SplitButton.js +425 -0
  64. package/dist/StandardListItem.js +33 -8
  65. package/dist/StepInput.js +46 -38
  66. package/dist/SuggestionGroupItem.js +64 -0
  67. package/dist/SuggestionItem.js +10 -24
  68. package/dist/SuggestionListItem.js +14 -3
  69. package/dist/Switch.js +66 -26
  70. package/dist/Tab.js +55 -32
  71. package/dist/TabContainer.js +507 -103
  72. package/dist/TabSeparator.js +42 -3
  73. package/dist/Table.js +73 -28
  74. package/dist/TableCell.js +10 -1
  75. package/dist/TableColumn.js +11 -2
  76. package/dist/TableGroupRow.js +160 -0
  77. package/dist/TableRow.js +28 -18
  78. package/dist/TextArea.js +81 -45
  79. package/dist/TimePicker.js +24 -5
  80. package/dist/TimePickerBase.js +17 -12
  81. package/dist/TimeSelection.js +11 -12
  82. package/dist/Title.js +15 -8
  83. package/dist/Toast.js +17 -6
  84. package/dist/ToggleButton.js +23 -7
  85. package/dist/Token.js +30 -15
  86. package/dist/Tokenizer.js +152 -22
  87. package/dist/Tree.js +90 -17
  88. package/dist/TreeItem.js +40 -8
  89. package/dist/TreeListItem.js +40 -28
  90. package/dist/WheelSlider.js +31 -26
  91. package/dist/YearPicker.js +1 -0
  92. package/dist/api.json +1600 -751
  93. package/dist/css/themes/Avatar.css +1 -0
  94. package/dist/css/themes/AvatarGroup.css +1 -0
  95. package/dist/css/themes/Badge.css +1 -0
  96. package/dist/css/themes/Breadcrumbs.css +1 -0
  97. package/dist/css/themes/BreadcrumbsPopover.css +1 -0
  98. package/dist/css/themes/BrowserScrollbar.css +1 -0
  99. package/dist/css/themes/BusyIndicator.css +1 -0
  100. package/dist/css/themes/Button.css +1 -0
  101. package/dist/css/themes/Button.ie11.css +1 -0
  102. package/dist/css/themes/Calendar.css +1 -0
  103. package/dist/css/themes/CalendarHeader.css +1 -0
  104. package/dist/css/themes/Card.css +1 -0
  105. package/dist/css/themes/CardHeader.css +1 -0
  106. package/dist/css/themes/Carousel.css +1 -0
  107. package/dist/css/themes/CheckBox.css +1 -0
  108. package/dist/css/themes/ColorPalette.css +1 -0
  109. package/dist/css/themes/ColorPaletteItem.css +1 -0
  110. package/dist/css/themes/ColorPalettePopover.css +1 -0
  111. package/dist/css/themes/ColorPaletteStaticArea.css +1 -0
  112. package/dist/css/themes/ColorPicker.css +1 -0
  113. package/dist/css/themes/ComboBox.css +1 -0
  114. package/dist/css/themes/ComboBoxPopover.css +1 -0
  115. package/dist/css/themes/CustomListItem.css +1 -0
  116. package/dist/css/themes/DatePicker.css +1 -0
  117. package/dist/css/themes/DatePickerPopover.css +1 -0
  118. package/dist/css/themes/DateRangePicker.css +1 -0
  119. package/dist/css/themes/DateTimePicker.css +1 -0
  120. package/dist/css/themes/DateTimePickerPopover.css +1 -0
  121. package/dist/css/themes/DayPicker.css +1 -0
  122. package/dist/css/themes/Dialog.css +1 -0
  123. package/dist/css/themes/FileUploader.css +1 -0
  124. package/dist/css/themes/GroupHeaderListItem.css +1 -0
  125. package/dist/css/themes/GrowingButton.css +1 -0
  126. package/dist/css/themes/Icon.css +1 -0
  127. package/dist/css/themes/Input.css +1 -0
  128. package/dist/css/themes/InputIcon.css +1 -0
  129. package/dist/css/themes/InvisibleTextStyles.css +1 -0
  130. package/dist/css/themes/Label.css +1 -0
  131. package/dist/css/themes/Link.css +1 -0
  132. package/dist/css/themes/List.css +1 -0
  133. package/dist/css/themes/ListItem.css +1 -0
  134. package/dist/css/themes/ListItemBase.css +1 -0
  135. package/dist/css/themes/MessageStrip.css +1 -0
  136. package/dist/css/themes/MonthPicker.css +1 -0
  137. package/dist/css/themes/MultiComboBox.css +1 -0
  138. package/dist/css/themes/MultiInput.css +1 -0
  139. package/dist/css/themes/Panel.css +1 -0
  140. package/dist/css/themes/Popover.css +1 -0
  141. package/dist/css/themes/Popup.css +1 -0
  142. package/dist/css/themes/PopupGlobal.css +1 -0
  143. package/dist/css/themes/PopupStaticAreaStyles.css +1 -0
  144. package/dist/css/themes/PopupsCommon.css +1 -0
  145. package/dist/css/themes/ProgressIndicator.css +1 -0
  146. package/dist/css/themes/RadioButton.css +1 -0
  147. package/dist/css/themes/RatingIndicator.css +1 -0
  148. package/dist/css/themes/ResponsivePopover.css +1 -0
  149. package/dist/css/themes/ResponsivePopoverCommon.css +1 -0
  150. package/dist/css/themes/SegmentedButton.css +1 -0
  151. package/dist/css/themes/Select.css +1 -0
  152. package/dist/css/themes/SelectPopover.css +1 -0
  153. package/dist/css/themes/SliderBase.css +1 -0
  154. package/dist/css/themes/SplitButton.css +1 -0
  155. package/dist/css/themes/StepInput.css +1 -0
  156. package/dist/css/themes/Suggestions.css +1 -0
  157. package/dist/css/themes/Switch.css +1 -0
  158. package/dist/css/themes/Tab.css +1 -0
  159. package/dist/css/themes/TabContainer.css +1 -0
  160. package/dist/css/themes/TabInOverflow.css +1 -0
  161. package/dist/css/themes/TabInStrip.css +1 -0
  162. package/dist/css/themes/TabSeparatorInOverflow.css +1 -0
  163. package/dist/css/themes/TabSeparatorInStrip.css +1 -0
  164. package/dist/css/themes/Table.css +1 -0
  165. package/dist/css/themes/TableCell.css +1 -0
  166. package/dist/css/themes/TableColumn.css +1 -0
  167. package/dist/css/themes/TableGroupRow.css +1 -0
  168. package/dist/css/themes/TableRow.css +1 -0
  169. package/dist/css/themes/TapHighlightColor.css +1 -0
  170. package/dist/css/themes/TextArea.css +1 -0
  171. package/dist/css/themes/TimePicker.css +1 -0
  172. package/dist/css/themes/TimePickerPopover.css +1 -0
  173. package/dist/css/themes/TimeSelection.css +1 -0
  174. package/dist/css/themes/Title.css +1 -0
  175. package/dist/css/themes/Toast.css +1 -0
  176. package/dist/css/themes/ToggleButton.css +1 -0
  177. package/dist/css/themes/ToggleButton.ie11.css +1 -0
  178. package/dist/css/themes/Token.css +1 -0
  179. package/dist/css/themes/Tokenizer.css +1 -0
  180. package/dist/css/themes/Tree.css +1 -0
  181. package/dist/css/themes/TreeListItem.css +1 -0
  182. package/dist/css/themes/ValueStateMessage.css +1 -0
  183. package/dist/css/themes/WheelSlider.css +1 -0
  184. package/dist/css/themes/YearPicker.css +1 -0
  185. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -0
  186. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -0
  187. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -0
  188. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -0
  189. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
  190. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
  191. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
  192. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -0
  193. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -0
  194. package/dist/features/ColorPaletteMoreColors.js +7 -7
  195. package/dist/features/InputSuggestions.js +213 -52
  196. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  213. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  214. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  237. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  240. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  241. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  242. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  243. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  244. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  245. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  246. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  247. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  248. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  249. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  250. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
  251. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
  252. package/dist/generated/i18n/i18n-defaults.js +2 -2
  253. package/dist/generated/json-imports/Themes-static.js +6 -2
  254. package/dist/generated/json-imports/Themes.js +3 -1
  255. package/dist/generated/templates/AvatarGroupTemplate.lit.js +6 -13
  256. package/dist/generated/templates/AvatarTemplate.lit.js +9 -16
  257. package/dist/generated/templates/BadgeTemplate.lit.js +5 -13
  258. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
  259. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
  260. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -13
  261. package/dist/generated/templates/ButtonTemplate.lit.js +6 -13
  262. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -11
  263. package/dist/generated/templates/CalendarTemplate.lit.js +4 -11
  264. package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
  265. package/dist/generated/templates/CardTemplate.lit.js +5 -17
  266. package/dist/generated/templates/CarouselTemplate.lit.js +13 -19
  267. package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -14
  268. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +4 -11
  269. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +4 -11
  270. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
  271. package/dist/generated/templates/ColorPaletteTemplate.lit.js +9 -13
  272. package/dist/generated/templates/ColorPickerTemplate.lit.js +4 -11
  273. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -25
  274. package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -14
  275. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -20
  276. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -14
  277. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -13
  278. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -16
  279. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -19
  280. package/dist/generated/templates/DialogTemplate.lit.js +9 -16
  281. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +7 -14
  282. package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -14
  283. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -11
  284. package/dist/generated/templates/IconTemplate.lit.js +6 -13
  285. package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -31
  286. package/dist/generated/templates/InputTemplate.lit.js +9 -15
  287. package/dist/generated/templates/LabelTemplate.lit.js +4 -11
  288. package/dist/generated/templates/LinkTemplate.lit.js +5 -12
  289. package/dist/generated/templates/ListItemTemplate.lit.js +13 -20
  290. package/dist/generated/templates/ListTemplate.lit.js +12 -19
  291. package/dist/generated/templates/MessageStripTemplate.lit.js +8 -15
  292. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -13
  293. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -27
  294. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -16
  295. package/dist/generated/templates/MultiInputTemplate.lit.js +13 -19
  296. package/dist/generated/templates/PanelTemplate.lit.js +9 -16
  297. package/dist/generated/templates/PopoverTemplate.lit.js +9 -16
  298. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +4 -11
  299. package/dist/generated/templates/PopupTemplate.lit.js +4 -11
  300. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +14 -17
  301. package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -14
  302. package/dist/generated/templates/RangeSliderTemplate.lit.js +10 -17
  303. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +11 -16
  304. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -22
  305. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  306. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -11
  307. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -27
  308. package/dist/generated/templates/SelectTemplate.lit.js +6 -12
  309. package/dist/generated/templates/SliderBaseTemplate.lit.js +8 -15
  310. package/dist/generated/templates/SliderTemplate.lit.js +9 -16
  311. package/dist/generated/templates/SplitButtonTemplate.lit.js +7 -0
  312. package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -28
  313. package/dist/generated/templates/StepInputTemplate.lit.js +7 -12
  314. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +24 -31
  315. package/dist/generated/templates/SwitchTemplate.lit.js +8 -13
  316. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +8 -13
  317. package/dist/generated/templates/TabContainerTemplate.lit.js +15 -23
  318. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -13
  319. package/dist/generated/templates/TabInStripTemplate.lit.js +8 -17
  320. package/dist/generated/templates/TabSeparatorInOverflowTemplate.lit.js +7 -0
  321. package/dist/generated/templates/TabSeparatorInStripTemplate.lit.js +7 -0
  322. package/dist/generated/templates/TabTemplate.lit.js +4 -11
  323. package/dist/generated/templates/TableCellTemplate.lit.js +4 -11
  324. package/dist/generated/templates/TableColumnTemplate.lit.js +4 -11
  325. package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
  326. package/dist/generated/templates/TableRowTemplate.lit.js +12 -19
  327. package/dist/generated/templates/TableTemplate.lit.js +13 -20
  328. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -15
  329. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -15
  330. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -11
  331. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -13
  332. package/dist/generated/templates/TimeSelectionTemplate.lit.js +8 -15
  333. package/dist/generated/templates/TitleTemplate.lit.js +10 -17
  334. package/dist/generated/templates/ToastTemplate.lit.js +5 -11
  335. package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -13
  336. package/dist/generated/templates/TokenTemplate.lit.js +7 -14
  337. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +9 -16
  338. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -13
  339. package/dist/generated/templates/TreeListItemTemplate.lit.js +18 -25
  340. package/dist/generated/templates/TreeTemplate.lit.js +5 -12
  341. package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -14
  342. package/dist/generated/templates/YearPickerTemplate.lit.js +6 -13
  343. package/dist/generated/themes/Avatar.css.js +3 -3
  344. package/dist/generated/themes/AvatarGroup.css.js +3 -3
  345. package/dist/generated/themes/Badge.css.js +3 -3
  346. package/dist/generated/themes/Breadcrumbs.css.js +8 -0
  347. package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
  348. package/dist/generated/themes/BrowserScrollbar.css.js +3 -3
  349. package/dist/generated/themes/BusyIndicator.css.js +3 -3
  350. package/dist/generated/themes/Button.css.js +3 -3
  351. package/dist/generated/themes/Button.ie11.css.js +3 -3
  352. package/dist/generated/themes/Calendar.css.js +3 -3
  353. package/dist/generated/themes/CalendarHeader.css.js +3 -3
  354. package/dist/generated/themes/Card.css.js +3 -3
  355. package/dist/generated/themes/CardHeader.css.js +8 -0
  356. package/dist/generated/themes/Carousel.css.js +3 -3
  357. package/dist/generated/themes/CheckBox.css.js +3 -3
  358. package/dist/generated/themes/ColorPalette.css.js +3 -3
  359. package/dist/generated/themes/ColorPaletteItem.css.js +3 -3
  360. package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
  361. package/dist/generated/themes/ColorPaletteStaticArea.css.js +3 -3
  362. package/dist/generated/themes/ColorPicker.css.js +3 -3
  363. package/dist/generated/themes/ComboBox.css.js +3 -3
  364. package/dist/generated/themes/ComboBoxPopover.css.js +3 -3
  365. package/dist/generated/themes/CustomListItem.css.js +3 -3
  366. package/dist/generated/themes/DatePicker.css.js +3 -3
  367. package/dist/generated/themes/DatePickerPopover.css.js +3 -3
  368. package/dist/generated/themes/DateRangePicker.css.js +3 -3
  369. package/dist/generated/themes/DateTimePicker.css.js +3 -3
  370. package/dist/generated/themes/DateTimePickerPopover.css.js +3 -3
  371. package/dist/generated/themes/DayPicker.css.js +3 -3
  372. package/dist/generated/themes/Dialog.css.js +3 -3
  373. package/dist/generated/themes/FileUploader.css.js +3 -3
  374. package/dist/generated/themes/GroupHeaderListItem.css.js +3 -3
  375. package/dist/generated/themes/GrowingButton.css.js +8 -0
  376. package/dist/generated/themes/Icon.css.js +3 -3
  377. package/dist/generated/themes/Input.css.js +3 -3
  378. package/dist/generated/themes/InputIcon.css.js +3 -3
  379. package/dist/generated/themes/InvisibleTextStyles.css.js +3 -3
  380. package/dist/generated/themes/Label.css.js +3 -3
  381. package/dist/generated/themes/Link.css.js +3 -3
  382. package/dist/generated/themes/List.css.js +3 -3
  383. package/dist/generated/themes/ListItem.css.js +3 -3
  384. package/dist/generated/themes/ListItemBase.css.js +3 -3
  385. package/dist/generated/themes/MessageStrip.css.js +3 -3
  386. package/dist/generated/themes/MonthPicker.css.js +3 -3
  387. package/dist/generated/themes/MultiComboBox.css.js +3 -3
  388. package/dist/generated/themes/MultiInput.css.js +3 -3
  389. package/dist/generated/themes/Panel.css.js +3 -3
  390. package/dist/generated/themes/Popover.css.js +3 -3
  391. package/dist/generated/themes/Popup.css.js +3 -3
  392. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  393. package/dist/generated/themes/PopupStaticAreaStyles.css.js +3 -3
  394. package/dist/generated/themes/PopupsCommon.css.js +3 -3
  395. package/dist/generated/themes/ProgressIndicator.css.js +3 -3
  396. package/dist/generated/themes/RadioButton.css.js +3 -3
  397. package/dist/generated/themes/RatingIndicator.css.js +3 -3
  398. package/dist/generated/themes/ResponsivePopover.css.js +3 -3
  399. package/dist/generated/themes/ResponsivePopoverCommon.css.js +3 -3
  400. package/dist/generated/themes/SegmentedButton.css.js +3 -3
  401. package/dist/generated/themes/Select.css.js +3 -3
  402. package/dist/generated/themes/SelectPopover.css.js +3 -3
  403. package/dist/generated/themes/SliderBase.css.js +3 -3
  404. package/dist/generated/themes/SplitButton.css.js +8 -0
  405. package/dist/generated/themes/StepInput.css.js +3 -3
  406. package/dist/generated/themes/Suggestions.css.js +8 -0
  407. package/dist/generated/themes/Switch.css.js +3 -3
  408. package/dist/generated/themes/Tab.css.js +3 -3
  409. package/dist/generated/themes/TabContainer.css.js +3 -3
  410. package/dist/generated/themes/TabInOverflow.css.js +3 -3
  411. package/dist/generated/themes/TabInStrip.css.js +3 -3
  412. package/dist/generated/themes/TabSeparatorInOverflow.css.js +8 -0
  413. package/dist/generated/themes/TabSeparatorInStrip.css.js +8 -0
  414. package/dist/generated/themes/Table.css.js +3 -3
  415. package/dist/generated/themes/TableCell.css.js +3 -3
  416. package/dist/generated/themes/TableColumn.css.js +3 -3
  417. package/dist/generated/themes/TableGroupRow.css.js +8 -0
  418. package/dist/generated/themes/TableRow.css.js +3 -3
  419. package/dist/generated/themes/TapHighlightColor.css.js +8 -0
  420. package/dist/generated/themes/TextArea.css.js +3 -3
  421. package/dist/generated/themes/TimePicker.css.js +3 -3
  422. package/dist/generated/themes/TimePickerPopover.css.js +3 -3
  423. package/dist/generated/themes/TimeSelection.css.js +3 -3
  424. package/dist/generated/themes/Title.css.js +3 -3
  425. package/dist/generated/themes/Toast.css.js +3 -3
  426. package/dist/generated/themes/ToggleButton.css.js +3 -3
  427. package/dist/generated/themes/ToggleButton.ie11.css.js +3 -3
  428. package/dist/generated/themes/Token.css.js +3 -3
  429. package/dist/generated/themes/Tokenizer.css.js +3 -3
  430. package/dist/generated/themes/Tree.css.js +3 -3
  431. package/dist/generated/themes/TreeListItem.css.js +3 -3
  432. package/dist/generated/themes/ValueStateMessage.css.js +3 -3
  433. package/dist/generated/themes/WheelSlider.css.js +3 -3
  434. package/dist/generated/themes/YearPicker.css.js +3 -3
  435. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  436. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  437. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  438. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  439. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  440. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  441. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  442. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
  443. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
  444. package/dist/i18n/messagebundle.properties +96 -2
  445. package/dist/i18n/messagebundle_ar.properties +71 -2
  446. package/dist/i18n/messagebundle_bg.properties +71 -2
  447. package/dist/i18n/messagebundle_ca.properties +71 -2
  448. package/dist/i18n/messagebundle_cs.properties +71 -2
  449. package/dist/i18n/messagebundle_cy.properties +71 -2
  450. package/dist/i18n/messagebundle_da.properties +71 -2
  451. package/dist/i18n/messagebundle_de.properties +71 -2
  452. package/dist/i18n/messagebundle_el.properties +71 -2
  453. package/dist/i18n/messagebundle_en.properties +71 -2
  454. package/dist/i18n/messagebundle_en_GB.properties +71 -2
  455. package/dist/i18n/messagebundle_en_US_sappsd.properties +71 -2
  456. package/dist/i18n/messagebundle_en_US_saprigi.properties +71 -2
  457. package/dist/i18n/messagebundle_en_US_saptrc.properties +71 -2
  458. package/dist/i18n/messagebundle_es.properties +71 -2
  459. package/dist/i18n/messagebundle_es_MX.properties +72 -3
  460. package/dist/i18n/messagebundle_et.properties +71 -2
  461. package/dist/i18n/messagebundle_fi.properties +72 -3
  462. package/dist/i18n/messagebundle_fr.properties +71 -2
  463. package/dist/i18n/messagebundle_fr_CA.properties +71 -2
  464. package/dist/i18n/messagebundle_hi.properties +71 -2
  465. package/dist/i18n/messagebundle_hr.properties +71 -2
  466. package/dist/i18n/messagebundle_hu.properties +71 -2
  467. package/dist/i18n/messagebundle_id.properties +72 -3
  468. package/dist/i18n/messagebundle_it.properties +71 -2
  469. package/dist/i18n/messagebundle_iw.properties +71 -2
  470. package/dist/i18n/messagebundle_ja.properties +73 -4
  471. package/dist/i18n/messagebundle_kk.properties +71 -2
  472. package/dist/i18n/messagebundle_ko.properties +71 -2
  473. package/dist/i18n/messagebundle_lt.properties +71 -2
  474. package/dist/i18n/messagebundle_lv.properties +71 -2
  475. package/dist/i18n/messagebundle_ms.properties +71 -2
  476. package/dist/i18n/messagebundle_nl.properties +71 -2
  477. package/dist/i18n/messagebundle_no.properties +71 -2
  478. package/dist/i18n/messagebundle_pl.properties +71 -2
  479. package/dist/i18n/messagebundle_pt.properties +71 -2
  480. package/dist/i18n/messagebundle_pt_PT.properties +71 -2
  481. package/dist/i18n/messagebundle_ro.properties +71 -2
  482. package/dist/i18n/messagebundle_ru.properties +71 -2
  483. package/dist/i18n/messagebundle_sh.properties +71 -2
  484. package/dist/i18n/messagebundle_sk.properties +71 -2
  485. package/dist/i18n/messagebundle_sl.properties +71 -2
  486. package/dist/i18n/messagebundle_sv.properties +71 -2
  487. package/dist/i18n/messagebundle_th.properties +70 -1
  488. package/dist/i18n/messagebundle_tr.properties +71 -2
  489. package/dist/i18n/messagebundle_uk.properties +71 -2
  490. package/dist/i18n/messagebundle_vi.properties +71 -2
  491. package/dist/i18n/messagebundle_zh_CN.properties +71 -2
  492. package/dist/i18n/messagebundle_zh_TW.properties +70 -1
  493. package/dist/popup-utils/OpenedPopupsRegistry.js +1 -1
  494. package/dist/popup-utils/PopoverRegistry.js +1 -1
  495. package/{src/types/AvatarBackgroundColor.js → dist/types/AvatarColorScheme.js} +9 -9
  496. package/dist/types/BreadcrumbsDesign.js +42 -0
  497. package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
  498. package/dist/types/ButtonDesign.js +7 -0
  499. package/dist/types/HasPopup.js +62 -0
  500. package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  501. package/dist/types/SwitchDesign.js +40 -0
  502. package/dist/types/TabContainerTabsPlacement.js +4 -4
  503. package/dist/types/TabsOverflowMode.js +40 -0
  504. package/dist/types/WrappingType.js +41 -0
  505. package/dist/webcomponentsjs/CHANGELOG.md +4 -0
  506. package/dist/webcomponentsjs/README.md +44 -30
  507. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +14 -24
  508. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
  509. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -1
  510. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +26 -23
  511. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -1
  512. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +239 -242
  513. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
  514. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +176 -182
  515. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
  516. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +144 -141
  517. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
  518. package/dist/webcomponentsjs/webcomponents-bundle.js +241 -244
  519. package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
  520. package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
  521. package/package.json +18 -8
  522. package/src/Assets-static.js +1 -1
  523. package/src/Assets.js +1 -1
  524. package/src/Avatar.hbs +4 -2
  525. package/src/Avatar.js +88 -63
  526. package/src/AvatarGroup.hbs +15 -6
  527. package/src/AvatarGroup.js +135 -40
  528. package/src/Badge.hbs +7 -4
  529. package/src/Badge.js +43 -17
  530. package/src/Breadcrumbs.hbs +43 -0
  531. package/src/Breadcrumbs.js +575 -0
  532. package/src/BreadcrumbsItem.js +103 -0
  533. package/src/BreadcrumbsPopover.hbs +28 -0
  534. package/src/BusyIndicator.hbs +14 -9
  535. package/src/BusyIndicator.js +119 -29
  536. package/src/Button.hbs +1 -1
  537. package/src/Button.js +58 -56
  538. package/src/Calendar.hbs +5 -0
  539. package/src/Calendar.js +126 -23
  540. package/src/CalendarDate.js +1 -1
  541. package/src/CalendarHeader.hbs +13 -4
  542. package/src/CalendarHeader.js +75 -19
  543. package/src/Card.hbs +7 -39
  544. package/src/Card.js +37 -219
  545. package/src/CardHeader.hbs +42 -0
  546. package/src/CardHeader.js +288 -0
  547. package/src/Carousel.hbs +21 -15
  548. package/src/Carousel.js +250 -93
  549. package/src/CheckBox.hbs +9 -5
  550. package/src/CheckBox.js +154 -65
  551. package/src/ColorPalette.hbs +32 -6
  552. package/src/ColorPalette.js +283 -35
  553. package/src/ColorPaletteItem.hbs +3 -2
  554. package/src/ColorPaletteItem.js +37 -13
  555. package/src/ColorPalettePopover.hbs +31 -0
  556. package/src/ColorPalettePopover.js +244 -0
  557. package/src/ColorPicker.hbs +1 -0
  558. package/src/ColorPicker.js +30 -15
  559. package/src/ComboBox.hbs +7 -1
  560. package/src/ComboBox.js +415 -155
  561. package/src/ComboBoxGroupItem.js +70 -0
  562. package/src/ComboBoxItem.js +2 -2
  563. package/src/ComboBoxPopover.hbs +27 -17
  564. package/src/CustomListItem.js +14 -2
  565. package/src/DateComponentBase.js +22 -13
  566. package/src/DatePicker.js +105 -47
  567. package/src/DatePickerPopover.hbs +5 -2
  568. package/src/DateRangePicker.js +58 -21
  569. package/src/DateTimePicker.js +13 -9
  570. package/src/DateTimePickerPopover.hbs +6 -4
  571. package/src/DayPicker.hbs +9 -3
  572. package/src/DayPicker.js +48 -7
  573. package/src/Dialog.hbs +3 -1
  574. package/src/Dialog.js +178 -43
  575. package/src/DurationPicker.js +23 -4
  576. package/src/FileUploader.hbs +1 -0
  577. package/src/FileUploader.js +46 -33
  578. package/src/FileUploaderPopover.hbs +2 -1
  579. package/src/GroupHeaderListItem.hbs +4 -4
  580. package/src/GroupHeaderListItem.js +20 -12
  581. package/src/Icon.hbs +2 -1
  582. package/src/Icon.js +71 -20
  583. package/src/Input.hbs +11 -3
  584. package/src/Input.js +318 -125
  585. package/src/InputPopover.hbs +11 -9
  586. package/src/Interfaces.js +20 -0
  587. package/src/Label.hbs +1 -1
  588. package/src/Label.js +26 -11
  589. package/src/Link.hbs +4 -1
  590. package/src/Link.js +124 -40
  591. package/src/List.hbs +18 -14
  592. package/src/List.js +156 -44
  593. package/src/ListItem.hbs +14 -7
  594. package/src/ListItem.js +53 -14
  595. package/src/MessageStrip.hbs +10 -11
  596. package/src/MessageStrip.js +83 -44
  597. package/src/MultiComboBox.hbs +6 -1
  598. package/src/MultiComboBox.js +309 -99
  599. package/src/MultiComboBoxItem.js +5 -11
  600. package/src/MultiComboBoxPopover.hbs +42 -26
  601. package/src/MultiInput.js +59 -20
  602. package/src/Option.js +22 -17
  603. package/src/Panel.hbs +9 -3
  604. package/src/Panel.js +54 -23
  605. package/src/Popover.js +154 -82
  606. package/src/Popup.hbs +2 -1
  607. package/src/Popup.js +81 -38
  608. package/src/PopupBlockLayer.hbs +1 -1
  609. package/src/ProgressIndicator.hbs +7 -1
  610. package/src/ProgressIndicator.js +28 -20
  611. package/src/RadioButton.hbs +7 -4
  612. package/src/RadioButton.js +117 -46
  613. package/src/RadioButtonGroup.js +32 -32
  614. package/src/RangeSlider.hbs +8 -2
  615. package/src/RangeSlider.js +46 -23
  616. package/src/RatingIndicator.hbs +5 -3
  617. package/src/RatingIndicator.js +62 -42
  618. package/src/ResponsivePopover.hbs +12 -8
  619. package/src/ResponsivePopover.js +34 -50
  620. package/src/SegmentedButton.hbs +13 -5
  621. package/src/SegmentedButton.js +110 -60
  622. package/src/SegmentedButtonItem.hbs +42 -0
  623. package/src/SegmentedButtonItem.js +109 -0
  624. package/src/Select.hbs +9 -2
  625. package/src/Select.js +210 -105
  626. package/src/SelectPopover.hbs +25 -23
  627. package/src/Slider.hbs +3 -2
  628. package/src/Slider.js +48 -14
  629. package/src/SliderBase.hbs +6 -2
  630. package/src/SliderBase.js +23 -16
  631. package/src/SplitButton.hbs +53 -0
  632. package/src/SplitButton.js +425 -0
  633. package/src/StandardListItem.hbs +7 -5
  634. package/src/StandardListItem.js +33 -8
  635. package/src/StepInput.hbs +5 -3
  636. package/src/StepInput.js +46 -38
  637. package/src/SuggestionGroupItem.js +64 -0
  638. package/src/SuggestionItem.js +10 -24
  639. package/src/SuggestionListItem.hbs +4 -4
  640. package/src/SuggestionListItem.js +14 -3
  641. package/src/Switch.hbs +20 -3
  642. package/src/Switch.js +66 -26
  643. package/src/Tab.js +55 -32
  644. package/src/TabContainer.hbs +48 -52
  645. package/src/TabContainer.js +507 -103
  646. package/src/TabContainerPopover.hbs +11 -7
  647. package/src/TabInOverflow.hbs +0 -1
  648. package/src/TabInStrip.hbs +4 -14
  649. package/src/TabSeparator.js +42 -3
  650. package/src/TabSeparatorInOverflow.hbs +8 -0
  651. package/src/TabSeparatorInStrip.hbs +6 -0
  652. package/src/Table.hbs +14 -12
  653. package/src/Table.js +73 -28
  654. package/src/TableCell.js +10 -1
  655. package/src/TableColumn.js +11 -2
  656. package/src/TableGroupRow.hbs +12 -0
  657. package/src/TableGroupRow.js +160 -0
  658. package/src/TableRow.js +28 -18
  659. package/src/TextArea.js +81 -45
  660. package/src/TextAreaPopover.hbs +3 -2
  661. package/src/TimePicker.hbs +4 -1
  662. package/src/TimePicker.js +24 -5
  663. package/src/TimePickerBase.js +17 -12
  664. package/src/TimePickerPopover.hbs +2 -2
  665. package/src/TimeSelection.hbs +1 -1
  666. package/src/TimeSelection.js +11 -12
  667. package/src/Title.js +15 -8
  668. package/src/Toast.hbs +13 -11
  669. package/src/Toast.js +17 -6
  670. package/src/ToggleButton.js +23 -7
  671. package/src/Token.hbs +2 -0
  672. package/src/Token.js +30 -15
  673. package/src/Tokenizer.js +152 -22
  674. package/src/TokenizerPopover.hbs +1 -1
  675. package/src/Tree.hbs +7 -3
  676. package/src/Tree.js +90 -17
  677. package/src/TreeItem.js +40 -8
  678. package/src/TreeListItem.hbs +3 -3
  679. package/src/TreeListItem.js +40 -28
  680. package/src/WheelSlider.hbs +15 -4
  681. package/src/WheelSlider.js +31 -26
  682. package/src/YearPicker.js +1 -0
  683. package/src/features/ColorPaletteMoreColors.js +7 -7
  684. package/src/features/InputSuggestions.js +213 -52
  685. package/src/i18n/messagebundle.properties +96 -2
  686. package/src/i18n/messagebundle_ar.properties +71 -2
  687. package/src/i18n/messagebundle_bg.properties +71 -2
  688. package/src/i18n/messagebundle_ca.properties +71 -2
  689. package/src/i18n/messagebundle_cs.properties +71 -2
  690. package/src/i18n/messagebundle_cy.properties +71 -2
  691. package/src/i18n/messagebundle_da.properties +71 -2
  692. package/src/i18n/messagebundle_de.properties +71 -2
  693. package/src/i18n/messagebundle_el.properties +71 -2
  694. package/src/i18n/messagebundle_en.properties +71 -2
  695. package/src/i18n/messagebundle_en_GB.properties +71 -2
  696. package/src/i18n/messagebundle_en_US_sappsd.properties +71 -2
  697. package/src/i18n/messagebundle_en_US_saprigi.properties +71 -2
  698. package/src/i18n/messagebundle_en_US_saptrc.properties +71 -2
  699. package/src/i18n/messagebundle_es.properties +71 -2
  700. package/src/i18n/messagebundle_es_MX.properties +72 -3
  701. package/src/i18n/messagebundle_et.properties +71 -2
  702. package/src/i18n/messagebundle_fi.properties +72 -3
  703. package/src/i18n/messagebundle_fr.properties +71 -2
  704. package/src/i18n/messagebundle_fr_CA.properties +71 -2
  705. package/src/i18n/messagebundle_hi.properties +71 -2
  706. package/src/i18n/messagebundle_hr.properties +71 -2
  707. package/src/i18n/messagebundle_hu.properties +71 -2
  708. package/src/i18n/messagebundle_id.properties +72 -3
  709. package/src/i18n/messagebundle_it.properties +71 -2
  710. package/src/i18n/messagebundle_iw.properties +71 -2
  711. package/src/i18n/messagebundle_ja.properties +73 -4
  712. package/src/i18n/messagebundle_kk.properties +71 -2
  713. package/src/i18n/messagebundle_ko.properties +71 -2
  714. package/src/i18n/messagebundle_lt.properties +71 -2
  715. package/src/i18n/messagebundle_lv.properties +71 -2
  716. package/src/i18n/messagebundle_ms.properties +71 -2
  717. package/src/i18n/messagebundle_nl.properties +71 -2
  718. package/src/i18n/messagebundle_no.properties +71 -2
  719. package/src/i18n/messagebundle_pl.properties +71 -2
  720. package/src/i18n/messagebundle_pt.properties +71 -2
  721. package/src/i18n/messagebundle_pt_PT.properties +71 -2
  722. package/src/i18n/messagebundle_ro.properties +71 -2
  723. package/src/i18n/messagebundle_ru.properties +71 -2
  724. package/src/i18n/messagebundle_sh.properties +71 -2
  725. package/src/i18n/messagebundle_sk.properties +71 -2
  726. package/src/i18n/messagebundle_sl.properties +71 -2
  727. package/src/i18n/messagebundle_sv.properties +71 -2
  728. package/src/i18n/messagebundle_th.properties +70 -1
  729. package/src/i18n/messagebundle_tr.properties +71 -2
  730. package/src/i18n/messagebundle_uk.properties +71 -2
  731. package/src/i18n/messagebundle_vi.properties +71 -2
  732. package/src/i18n/messagebundle_zh_CN.properties +71 -2
  733. package/src/i18n/messagebundle_zh_TW.properties +70 -1
  734. package/src/popup-utils/OpenedPopupsRegistry.js +1 -1
  735. package/src/popup-utils/PopoverRegistry.js +1 -1
  736. package/src/themes/Avatar.css +227 -0
  737. package/src/themes/AvatarGroup.css +82 -0
  738. package/src/themes/Badge.css +247 -0
  739. package/src/themes/Breadcrumbs.css +100 -0
  740. package/src/themes/BreadcrumbsPopover.css +6 -0
  741. package/src/themes/BrowserScrollbar.css +25 -0
  742. package/src/themes/BusyIndicator.css +143 -0
  743. package/src/themes/Button.css +306 -0
  744. package/src/themes/Button.ie11.css +48 -0
  745. package/src/themes/Calendar.css +18 -0
  746. package/src/themes/CalendarHeader.css +137 -0
  747. package/src/themes/Card.css +42 -0
  748. package/src/themes/CardHeader.css +133 -0
  749. package/src/themes/Carousel.css +140 -0
  750. package/src/themes/CheckBox.css +289 -0
  751. package/src/themes/ColorPalette.css +70 -0
  752. package/src/themes/ColorPaletteItem.css +70 -0
  753. package/src/themes/ColorPalettePopover.css +16 -0
  754. package/src/themes/ColorPaletteStaticArea.css +17 -0
  755. package/src/themes/ColorPicker.css +190 -0
  756. package/src/themes/ComboBox.css +9 -0
  757. package/src/themes/ComboBoxPopover.css +17 -0
  758. package/src/themes/CustomListItem.css +31 -0
  759. package/src/themes/DatePicker.css +46 -0
  760. package/src/themes/DatePickerPopover.css +5 -0
  761. package/src/themes/DateRangePicker.css +16 -0
  762. package/src/themes/DateTimePicker.css +11 -0
  763. package/src/themes/DateTimePickerPopover.css +78 -0
  764. package/src/themes/DayPicker.css +269 -0
  765. package/src/themes/Dialog.css +70 -0
  766. package/src/themes/FileUploader.css +40 -0
  767. package/src/themes/GroupHeaderListItem.css +24 -0
  768. package/src/themes/GrowingButton.css +67 -0
  769. package/src/themes/Icon.css +38 -0
  770. package/src/themes/Input.css +406 -0
  771. package/src/themes/InputIcon.css +53 -0
  772. package/src/themes/InvisibleTextStyles.css +9 -0
  773. package/src/themes/Label.css +85 -0
  774. package/src/themes/Link.css +77 -0
  775. package/src/themes/List.css +116 -0
  776. package/src/themes/ListItem.css +231 -0
  777. package/src/themes/ListItemBase.css +79 -0
  778. package/src/themes/MessageStrip.css +123 -0
  779. package/src/themes/MonthPicker.css +86 -0
  780. package/src/themes/MultiComboBox.css +37 -0
  781. package/src/themes/MultiInput.css +14 -0
  782. package/src/themes/Panel.css +100 -0
  783. package/src/themes/Popover.css +102 -0
  784. package/src/themes/Popup.css +5 -0
  785. package/src/themes/PopupGlobal.css +6 -0
  786. package/src/themes/PopupStaticAreaStyles.css +17 -0
  787. package/src/themes/PopupsCommon.css +87 -0
  788. package/src/themes/ProgressIndicator.css +158 -0
  789. package/src/themes/RadioButton.css +249 -0
  790. package/src/themes/RatingIndicator.css +52 -0
  791. package/src/themes/ResponsivePopover.css +34 -0
  792. package/src/themes/ResponsivePopoverCommon.css +207 -0
  793. package/src/themes/SegmentedButton.css +88 -0
  794. package/src/themes/Select.css +53 -0
  795. package/src/themes/SelectPopover.css +10 -0
  796. package/src/themes/SliderBase.css +253 -0
  797. package/src/themes/SplitButton.css +98 -0
  798. package/src/themes/StepInput.css +269 -0
  799. package/src/themes/Suggestions.css +14 -0
  800. package/src/themes/Switch.css +370 -0
  801. package/src/themes/Tab.css +9 -0
  802. package/src/themes/TabContainer.css +128 -0
  803. package/src/themes/TabInOverflow.css +61 -0
  804. package/src/themes/TabInStrip.css +374 -0
  805. package/src/themes/TabSeparatorInOverflow.css +8 -0
  806. package/src/themes/TabSeparatorInStrip.css +5 -0
  807. package/src/themes/Table.css +91 -0
  808. package/src/themes/TableCell.css +28 -0
  809. package/src/themes/TableColumn.css +29 -0
  810. package/src/themes/TableGroupRow.css +34 -0
  811. package/src/themes/TableRow.css +84 -0
  812. package/src/themes/TapHighlightColor.css +3 -0
  813. package/src/themes/TextArea.css +309 -0
  814. package/src/themes/TimePicker.css +50 -0
  815. package/src/themes/TimePickerPopover.css +11 -0
  816. package/src/themes/TimeSelection.css +27 -0
  817. package/src/themes/Title.css +65 -0
  818. package/src/themes/Toast.css +93 -0
  819. package/src/themes/ToggleButton.css +88 -0
  820. package/src/themes/ToggleButton.ie11.css +48 -0
  821. package/src/themes/Token.css +117 -0
  822. package/src/themes/Tokenizer.css +84 -0
  823. package/src/themes/Tree.css +11 -0
  824. package/src/themes/TreeListItem.css +107 -0
  825. package/src/themes/ValueStateMessage.css +76 -0
  826. package/src/themes/WheelSlider.css +203 -0
  827. package/src/themes/YearPicker.css +86 -0
  828. package/src/themes/base/Avatar-parameters.css +38 -0
  829. package/src/themes/base/AvatarGroup-parameter.css +6 -0
  830. package/src/themes/base/Badge-parameters.css +61 -0
  831. package/src/themes/base/BrowserScrollbar-parameters.css +4 -0
  832. package/src/themes/base/BusyIndicator-parameters.css +5 -0
  833. package/src/themes/base/Button-parameters.css +30 -0
  834. package/src/themes/base/CalendarHeader-parameters.css +20 -0
  835. package/src/themes/base/Card-parameters.css +17 -0
  836. package/src/themes/base/Carousel-parameters.css +9 -0
  837. package/src/themes/base/CheckBox-parameters.css +53 -0
  838. package/src/themes/base/ColorPalette-parameters.css +14 -0
  839. package/src/themes/base/ColorPicker-parameters.css +8 -0
  840. package/src/themes/base/DatePicker-parameters.css +6 -0
  841. package/src/themes/base/DayPicker-parameters.css +41 -0
  842. package/src/themes/base/Dialog-parameters.css +9 -0
  843. package/src/themes/base/GroupHeaderListItem-parameters.css +3 -0
  844. package/src/themes/base/GrowingButton-parameters.css +6 -0
  845. package/src/themes/base/Input-parameters.css +63 -0
  846. package/src/themes/base/InputIcon-parameters.css +11 -0
  847. package/src/themes/base/Link-parameters.css +8 -0
  848. package/src/themes/base/List-parameters.css +3 -0
  849. package/src/themes/base/ListItemBase-parameters.css +9 -0
  850. package/src/themes/base/MessageStrip-parameters.css +21 -0
  851. package/src/themes/base/MonthPicker-parameters.css +16 -0
  852. package/src/themes/base/MultiComboBox-parameters.css +3 -0
  853. package/src/themes/base/Panel-parameters.css +11 -0
  854. package/src/themes/base/PopupsCommon-parameters.css +8 -0
  855. package/src/themes/base/ProgressIndicator-parameters.css +21 -0
  856. package/src/themes/base/RadioButton-parameters.css +32 -0
  857. package/src/themes/base/RatingIndicator-parameters.css +3 -0
  858. package/src/themes/base/SegmentedButtton-parameters.css +8 -0
  859. package/src/themes/base/Select-parameters.css +11 -0
  860. package/src/themes/base/SelectPopover-parameters.css +4 -0
  861. package/src/themes/base/SliderBase-parameters.css +57 -0
  862. package/src/themes/base/StepInput-parameters.css +23 -0
  863. package/src/themes/base/Suggestions-parameters.css +3 -0
  864. package/src/themes/base/Switch-parameters.css +107 -0
  865. package/src/themes/base/TabContainer-parameters.css +84 -0
  866. package/src/themes/base/Table-parameters.css +6 -0
  867. package/src/themes/base/TableColumn-parameters.css +3 -0
  868. package/src/themes/base/TableRow-parameters.css +3 -0
  869. package/src/themes/base/TextArea-parameters.css +22 -0
  870. package/src/themes/base/TimePicker-parameters.css +4 -0
  871. package/src/themes/base/TimelineItem-parameters.css +10 -0
  872. package/src/themes/base/Title-parameters.css +8 -0
  873. package/src/themes/base/Toast-parameters.css +6 -0
  874. package/src/themes/base/ToggleButton-parameters.css +8 -0
  875. package/src/themes/base/Token-parameters.css +19 -0
  876. package/src/themes/base/Tokenizer-parameters.css +4 -0
  877. package/src/themes/base/ValueStateMessage-parameters.css +7 -0
  878. package/src/themes/base/WheelSlider-parameters.css +15 -0
  879. package/src/themes/base/YearPicker-parameters.css +16 -0
  880. package/src/themes/base/sizes-parameters.css +302 -0
  881. package/src/themes/sap_belize/BrowserScrollbar-parameters.css +4 -0
  882. package/src/themes/sap_belize/Carousel-parameters.css +9 -0
  883. package/src/themes/sap_belize/Dialog-parameters.css +5 -0
  884. package/src/themes/sap_belize/Input-parameters.css +6 -0
  885. package/src/themes/sap_belize/InputIcon-parameters.css +5 -0
  886. package/src/themes/sap_belize/ProgressIndicator-parameters.css +8 -0
  887. package/src/themes/sap_belize/SliderBase-parameters.css +22 -0
  888. package/src/themes/sap_belize/TabContainer-parameters.css +6 -0
  889. package/src/themes/sap_belize/Table-parameters.css +7 -0
  890. package/src/themes/sap_belize/TimePicker-parameters.css +5 -0
  891. package/src/themes/sap_belize/WheelSlider-parameters.css +17 -0
  892. package/src/themes/sap_belize/parameters-bundle.css +48 -0
  893. package/src/themes/sap_belize_hcb/Avatar-parameters.css +18 -0
  894. package/src/themes/sap_belize_hcb/Badge-parameters.css +43 -0
  895. package/src/themes/sap_belize_hcb/BrowserScrollbar-parameters.css +4 -0
  896. package/src/themes/sap_belize_hcb/Button-parameters.css +12 -0
  897. package/src/themes/sap_belize_hcb/CalendarHeader-parameters.css +11 -0
  898. package/src/themes/sap_belize_hcb/Card-parameters.css +6 -0
  899. package/src/themes/sap_belize_hcb/Carousel-parameters.css +9 -0
  900. package/src/themes/sap_belize_hcb/CheckBox-parameters.css +12 -0
  901. package/src/themes/sap_belize_hcb/DatePicker-parameters.css +6 -0
  902. package/src/themes/sap_belize_hcb/DayPicker-parameters.css +13 -0
  903. package/src/themes/sap_belize_hcb/Dialog-parameters.css +7 -0
  904. package/src/themes/sap_belize_hcb/GrowingButton-parameters.css +8 -0
  905. package/src/themes/sap_belize_hcb/Input-parameters.css +14 -0
  906. package/src/themes/sap_belize_hcb/InputIcon-parameters.css +5 -0
  907. package/src/themes/sap_belize_hcb/Link-parameters.css +7 -0
  908. package/src/themes/sap_belize_hcb/MessageStrip-parameters.css +10 -0
  909. package/src/themes/sap_belize_hcb/MonthPicker-parameters.css +10 -0
  910. package/src/themes/sap_belize_hcb/Panel-parameters.css +5 -0
  911. package/src/themes/sap_belize_hcb/ProgressIndicator-parameters.css +11 -0
  912. package/src/themes/sap_belize_hcb/RadioButton-parameters.css +10 -0
  913. package/src/themes/sap_belize_hcb/Select-parameters.css +12 -0
  914. package/src/themes/sap_belize_hcb/SliderBase-parameters.css +17 -0
  915. package/src/themes/sap_belize_hcb/Switch-parameters.css +46 -0
  916. package/src/themes/sap_belize_hcb/TabContainer-parameters.css +44 -0
  917. package/src/themes/sap_belize_hcb/Table-parameters.css +7 -0
  918. package/src/themes/sap_belize_hcb/TableRow-parameters.css +5 -0
  919. package/src/themes/sap_belize_hcb/TextArea-parameters.css +6 -0
  920. package/src/themes/sap_belize_hcb/ToggleButton-parameters.css +7 -0
  921. package/src/themes/sap_belize_hcb/Token-parameters.css +6 -0
  922. package/src/themes/sap_belize_hcb/ValueStateMessage-parameters.css +5 -0
  923. package/src/themes/sap_belize_hcb/WheelSlider-parameters.css +17 -0
  924. package/src/themes/sap_belize_hcb/YearPicker-parameters.css +10 -0
  925. package/src/themes/sap_belize_hcb/parameters-bundle.css +47 -0
  926. package/src/themes/sap_belize_hcw/Avatar-parameters.css +18 -0
  927. package/src/themes/sap_belize_hcw/Badge-parameters.css +43 -0
  928. package/src/themes/sap_belize_hcw/BrowserScrollbar-parameters.css +4 -0
  929. package/src/themes/sap_belize_hcw/Button-parameters.css +12 -0
  930. package/src/themes/sap_belize_hcw/CalendarHeader-parameters.css +11 -0
  931. package/src/themes/sap_belize_hcw/Card-parameters.css +6 -0
  932. package/src/themes/sap_belize_hcw/Carousel-parameters.css +9 -0
  933. package/src/themes/sap_belize_hcw/CheckBox-parameters.css +12 -0
  934. package/src/themes/sap_belize_hcw/DatePicker-parameters.css +5 -0
  935. package/src/themes/sap_belize_hcw/DayPicker-parameters.css +14 -0
  936. package/src/themes/sap_belize_hcw/Dialog-parameters.css +7 -0
  937. package/src/themes/sap_belize_hcw/GrowingButton-parameters.css +8 -0
  938. package/src/themes/sap_belize_hcw/Input-parameters.css +14 -0
  939. package/src/themes/sap_belize_hcw/InputIcon-parameters.css +5 -0
  940. package/src/themes/sap_belize_hcw/Link-parameters.css +7 -0
  941. package/src/themes/sap_belize_hcw/MessageStrip-parameters.css +10 -0
  942. package/src/themes/sap_belize_hcw/MonthPicker-parameters.css +10 -0
  943. package/src/themes/sap_belize_hcw/Panel-parameters.css +5 -0
  944. package/src/themes/sap_belize_hcw/ProgressIndicator-parameters.css +11 -0
  945. package/src/themes/sap_belize_hcw/RadioButton-parameters.css +10 -0
  946. package/src/themes/sap_belize_hcw/Select-parameters.css +12 -0
  947. package/src/themes/sap_belize_hcw/SliderBase-parameters.css +17 -0
  948. package/src/themes/sap_belize_hcw/Switch-parameters.css +45 -0
  949. package/src/themes/sap_belize_hcw/TabContainer-parameters.css +44 -0
  950. package/src/themes/sap_belize_hcw/Table-parameters.css +7 -0
  951. package/src/themes/sap_belize_hcw/TableRow-parameters.css +5 -0
  952. package/src/themes/sap_belize_hcw/TextArea-parameters.css +6 -0
  953. package/src/themes/sap_belize_hcw/ToggleButton-parameters.css +6 -0
  954. package/src/themes/sap_belize_hcw/Token-parameters.css +6 -0
  955. package/src/themes/sap_belize_hcw/ValueStateMessage-parameters.css +5 -0
  956. package/src/themes/sap_belize_hcw/WheelSlider-parameters.css +17 -0
  957. package/src/themes/sap_belize_hcw/YearPicker-parameters.css +10 -0
  958. package/src/themes/sap_belize_hcw/parameters-bundle.css +47 -0
  959. package/src/themes/sap_fiori_3/Avatar-parameters.css +9 -0
  960. package/src/themes/sap_fiori_3/Button-parameters.css +14 -0
  961. package/src/themes/sap_fiori_3/CalendarHeader-parameters.css +8 -0
  962. package/src/themes/sap_fiori_3/CheckBox-parameters.css +13 -0
  963. package/src/themes/sap_fiori_3/DayPicker-parameters.css +6 -0
  964. package/src/themes/sap_fiori_3/Input-parameters.css +7 -0
  965. package/src/themes/sap_fiori_3/Link-parameters.css +7 -0
  966. package/src/themes/sap_fiori_3/List-parameters.css +5 -0
  967. package/src/themes/sap_fiori_3/MonthPicker-parameters.css +5 -0
  968. package/src/themes/sap_fiori_3/MultiComboBox-parameters.css +5 -0
  969. package/src/themes/sap_fiori_3/Panel-parameters.css +6 -0
  970. package/src/themes/sap_fiori_3/SliderBase-parameters.css +5 -0
  971. package/src/themes/sap_fiori_3/TabContainer-parameters.css +12 -0
  972. package/src/themes/sap_fiori_3/TimePicker-parameters.css +5 -0
  973. package/src/themes/sap_fiori_3/Token-parameters.css +9 -0
  974. package/src/themes/sap_fiori_3/WheelSlider-parameters.css +16 -0
  975. package/src/themes/sap_fiori_3/YearPicker-parameters.css +5 -0
  976. package/src/themes/sap_fiori_3/parameters-bundle.css +48 -0
  977. package/src/themes/sap_fiori_3_dark/Avatar-parameters.css +9 -0
  978. package/src/themes/sap_fiori_3_dark/Button-parameters.css +14 -0
  979. package/src/themes/sap_fiori_3_dark/CalendarHeader-parameters.css +8 -0
  980. package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +13 -0
  981. package/src/themes/sap_fiori_3_dark/DayPicker-parameters.css +6 -0
  982. package/src/themes/sap_fiori_3_dark/Input-parameters.css +7 -0
  983. package/src/themes/sap_fiori_3_dark/Link-parameters.css +7 -0
  984. package/src/themes/sap_fiori_3_dark/List-parameters.css +5 -0
  985. package/src/themes/sap_fiori_3_dark/MonthPicker-parameters.css +5 -0
  986. package/src/themes/sap_fiori_3_dark/MultiComboBox-parameters.css +5 -0
  987. package/src/themes/sap_fiori_3_dark/Panel-parameters.css +6 -0
  988. package/src/themes/sap_fiori_3_dark/SliderBase-parameters.css +5 -0
  989. package/src/themes/sap_fiori_3_dark/TabContainer-parameters.css +12 -0
  990. package/src/themes/sap_fiori_3_dark/Token-parameters.css +8 -0
  991. package/src/themes/sap_fiori_3_dark/WheelSlider-parameters.css +15 -0
  992. package/src/themes/sap_fiori_3_dark/YearPicker-parameters.css +5 -0
  993. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +47 -0
  994. package/src/themes/sap_fiori_3_hcb/Avatar-parameters.css +24 -0
  995. package/src/themes/sap_fiori_3_hcb/Badge-parameters.css +43 -0
  996. package/src/themes/sap_fiori_3_hcb/Button-parameters.css +10 -0
  997. package/src/themes/sap_fiori_3_hcb/CalendarHeader-parameters.css +11 -0
  998. package/src/themes/sap_fiori_3_hcb/Card-parameters.css +6 -0
  999. package/src/themes/sap_fiori_3_hcb/Carousel-parameters.css +9 -0
  1000. package/src/themes/sap_fiori_3_hcb/CheckBox-parameters.css +13 -0
  1001. package/src/themes/sap_fiori_3_hcb/DatePicker-parameters.css +5 -0
  1002. package/src/themes/sap_fiori_3_hcb/DayPicker-parameters.css +19 -0
  1003. package/src/themes/sap_fiori_3_hcb/Dialog-parameters.css +7 -0
  1004. package/src/themes/sap_fiori_3_hcb/GrowingButton-parameters.css +8 -0
  1005. package/src/themes/sap_fiori_3_hcb/Input-parameters.css +21 -0
  1006. package/src/themes/sap_fiori_3_hcb/InputIcon-parameters.css +5 -0
  1007. package/src/themes/sap_fiori_3_hcb/Link-parameters.css +7 -0
  1008. package/src/themes/sap_fiori_3_hcb/MessageStrip-parameters.css +10 -0
  1009. package/src/themes/sap_fiori_3_hcb/MonthPicker-parameters.css +11 -0
  1010. package/src/themes/sap_fiori_3_hcb/Panel-parameters.css +5 -0
  1011. package/src/themes/sap_fiori_3_hcb/ProgressIndicator-parameters.css +11 -0
  1012. package/src/themes/sap_fiori_3_hcb/RadioButton-parameters.css +10 -0
  1013. package/src/themes/sap_fiori_3_hcb/Select-parameters.css +12 -0
  1014. package/src/themes/sap_fiori_3_hcb/SliderBase-parameters.css +14 -0
  1015. package/src/themes/sap_fiori_3_hcb/Switch-parameters.css +45 -0
  1016. package/src/themes/sap_fiori_3_hcb/TabContainer-parameters.css +44 -0
  1017. package/src/themes/sap_fiori_3_hcb/Table-parameters.css +5 -0
  1018. package/src/themes/sap_fiori_3_hcb/TableRow-parameters.css +5 -0
  1019. package/src/themes/sap_fiori_3_hcb/TextArea-parameters.css +10 -0
  1020. package/src/themes/sap_fiori_3_hcb/TimePicker-parameters.css +5 -0
  1021. package/src/themes/sap_fiori_3_hcb/ToggleButton-parameters.css +6 -0
  1022. package/src/themes/sap_fiori_3_hcb/Token-parameters.css +7 -0
  1023. package/src/themes/sap_fiori_3_hcb/ValueStateMessage-parameters.css +5 -0
  1024. package/src/themes/sap_fiori_3_hcb/WheelSlider-parameters.css +17 -0
  1025. package/src/themes/sap_fiori_3_hcb/YearPicker-parameters.css +11 -0
  1026. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +48 -0
  1027. package/src/themes/sap_fiori_3_hcw/Avatar-parameters.css +24 -0
  1028. package/src/themes/sap_fiori_3_hcw/Badge-parameters.css +43 -0
  1029. package/src/themes/sap_fiori_3_hcw/Button-parameters.css +10 -0
  1030. package/src/themes/sap_fiori_3_hcw/CalendarHeader-parameters.css +11 -0
  1031. package/src/themes/sap_fiori_3_hcw/Card-parameters.css +6 -0
  1032. package/src/themes/sap_fiori_3_hcw/Carousel-parameters.css +9 -0
  1033. package/src/themes/sap_fiori_3_hcw/CheckBox-parameters.css +13 -0
  1034. package/src/themes/sap_fiori_3_hcw/DatePicker-parameters.css +5 -0
  1035. package/src/themes/sap_fiori_3_hcw/DayPicker-parameters.css +19 -0
  1036. package/src/themes/sap_fiori_3_hcw/Dialog-parameters.css +7 -0
  1037. package/src/themes/sap_fiori_3_hcw/GrowingButton-parameters.css +8 -0
  1038. package/src/themes/sap_fiori_3_hcw/Input-parameters.css +21 -0
  1039. package/src/themes/sap_fiori_3_hcw/InputIcon-parameters.css +5 -0
  1040. package/src/themes/sap_fiori_3_hcw/Link-parameters.css +7 -0
  1041. package/src/themes/sap_fiori_3_hcw/MessageStrip-parameters.css +10 -0
  1042. package/src/themes/sap_fiori_3_hcw/MonthPicker-parameters.css +11 -0
  1043. package/src/themes/sap_fiori_3_hcw/Panel-parameters.css +5 -0
  1044. package/src/themes/sap_fiori_3_hcw/ProgressIndicator-parameters.css +11 -0
  1045. package/src/themes/sap_fiori_3_hcw/RadioButton-parameters.css +10 -0
  1046. package/src/themes/sap_fiori_3_hcw/Select-parameters.css +12 -0
  1047. package/src/themes/sap_fiori_3_hcw/SliderBase-parameters.css +13 -0
  1048. package/src/themes/sap_fiori_3_hcw/Switch-parameters.css +45 -0
  1049. package/src/themes/sap_fiori_3_hcw/TabContainer-parameters.css +44 -0
  1050. package/src/themes/sap_fiori_3_hcw/Table-parameters.css +5 -0
  1051. package/src/themes/sap_fiori_3_hcw/TableRow-parameters.css +5 -0
  1052. package/src/themes/sap_fiori_3_hcw/TextArea-parameters.css +10 -0
  1053. package/src/themes/sap_fiori_3_hcw/TimePicker-parameters.css +5 -0
  1054. package/src/themes/sap_fiori_3_hcw/ToggleButton-parameters.css +6 -0
  1055. package/src/themes/sap_fiori_3_hcw/Token-parameters.css +7 -0
  1056. package/src/themes/sap_fiori_3_hcw/ValueStateMessage-parameters.css +5 -0
  1057. package/src/themes/sap_fiori_3_hcw/WheelSlider-parameters.css +17 -0
  1058. package/src/themes/sap_fiori_3_hcw/YearPicker-parameters.css +11 -0
  1059. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +48 -0
  1060. package/src/themes/sap_horizon/Avatar-parameters.css +33 -0
  1061. package/src/themes/sap_horizon/BusyIndicator-parameters.css +7 -0
  1062. package/src/themes/sap_horizon/Button-parameters.css +20 -0
  1063. package/src/themes/sap_horizon/CalendarHeader-parameters.css +19 -0
  1064. package/src/themes/sap_horizon/Card-parameters.css +10 -0
  1065. package/src/themes/sap_horizon/CheckBox-parameters.css +34 -0
  1066. package/src/themes/sap_horizon/ColorPalette-parameters.css +16 -0
  1067. package/src/themes/sap_horizon/ColorPicker-parameters.css +10 -0
  1068. package/src/themes/sap_horizon/DatePicker-parameters.css +6 -0
  1069. package/src/themes/sap_horizon/DayPicker-parameters.css +31 -0
  1070. package/src/themes/sap_horizon/Dialog-parameters.css +11 -0
  1071. package/src/themes/sap_horizon/GrowingButton-parameters.css +5 -0
  1072. package/src/themes/sap_horizon/Input-parameters.css +35 -0
  1073. package/src/themes/sap_horizon/InputIcon-parameters.css +17 -0
  1074. package/src/themes/sap_horizon/Link-parameters.css +10 -0
  1075. package/src/themes/sap_horizon/List-parameters.css +5 -0
  1076. package/src/themes/sap_horizon/ListItemBase-parameters.css +7 -0
  1077. package/src/themes/sap_horizon/MessageStrip-parameters.css +9 -0
  1078. package/src/themes/sap_horizon/MonthPicker-parameters.css +17 -0
  1079. package/src/themes/sap_horizon/MultiComboBox-parameters.css +5 -0
  1080. package/src/themes/sap_horizon/Panel-parameters.css +12 -0
  1081. package/src/themes/sap_horizon/PopupsCommon-parameters.css +10 -0
  1082. package/src/themes/sap_horizon/ProgressIndicator-parameters.css +23 -0
  1083. package/src/themes/sap_horizon/RadioButton-parameters.css +9 -0
  1084. package/src/themes/sap_horizon/RatingIndicator-parameters.css +3 -0
  1085. package/src/themes/sap_horizon/SegmentedButtton-parameters.css +10 -0
  1086. package/src/themes/sap_horizon/Select-parameters.css +5 -0
  1087. package/src/themes/sap_horizon/SelectPopover-parameters.css +4 -0
  1088. package/src/themes/sap_horizon/SliderBase-parameters.css +44 -0
  1089. package/src/themes/sap_horizon/StepInput-parameters.css +25 -0
  1090. package/src/themes/sap_horizon/Suggestions-parameters.css +5 -0
  1091. package/src/themes/sap_horizon/Switch-parameters.css +31 -0
  1092. package/src/themes/sap_horizon/TabContainer-parameters.css +25 -0
  1093. package/src/themes/sap_horizon/Table-parameters.css +8 -0
  1094. package/src/themes/sap_horizon/TableColumn-parameters.css +5 -0
  1095. package/src/themes/sap_horizon/TableRow-parameters.css +5 -0
  1096. package/src/themes/sap_horizon/TextArea-parameters.css +22 -0
  1097. package/src/themes/sap_horizon/TimePicker-parameters.css +6 -0
  1098. package/src/themes/sap_horizon/ToggleButton-parameters.css +11 -0
  1099. package/src/themes/sap_horizon/Token-parameters.css +28 -0
  1100. package/src/themes/sap_horizon/Tokenizer-parameters.css +6 -0
  1101. package/src/themes/sap_horizon/ValueStateMessage-parameters.css +8 -0
  1102. package/src/themes/sap_horizon/WheelSlider-parameters.css +19 -0
  1103. package/src/themes/sap_horizon/YearPicker-parameters.css +16 -0
  1104. package/src/themes/sap_horizon/parameters-bundle.css +57 -0
  1105. package/src/themes/sap_horizon/sizes-parameters.css +8 -0
  1106. package/src/themes/sap_horizon_exp/Badge-parameters.css +91 -0
  1107. package/src/themes/sap_horizon_exp/Button-parameters.css +12 -0
  1108. package/src/themes/sap_horizon_exp/CalendarHeader-parameters.css +8 -0
  1109. package/src/themes/sap_horizon_exp/CheckBox-parameters.css +35 -0
  1110. package/src/themes/sap_horizon_exp/DatePicker-parameters.css +5 -0
  1111. package/src/themes/sap_horizon_exp/DayPicker-parameters.css +6 -0
  1112. package/src/themes/sap_horizon_exp/Input-parameters.css +46 -0
  1113. package/src/themes/sap_horizon_exp/InputIcon-parameters.css +9 -0
  1114. package/src/themes/sap_horizon_exp/Link-parameters.css +7 -0
  1115. package/src/themes/sap_horizon_exp/List-parameters.css +5 -0
  1116. package/src/themes/sap_horizon_exp/MonthPicker-parameters.css +5 -0
  1117. package/src/themes/sap_horizon_exp/MultiComboBox-parameters.css +7 -0
  1118. package/src/themes/sap_horizon_exp/Panel-parameters.css +6 -0
  1119. package/src/themes/sap_horizon_exp/Popover-parameters.css +5 -0
  1120. package/src/themes/sap_horizon_exp/RadioButton-parameters.css +30 -0
  1121. package/src/themes/sap_horizon_exp/Select-parameters.css +5 -0
  1122. package/src/themes/sap_horizon_exp/SliderBase-parameters.css +30 -0
  1123. package/src/themes/sap_horizon_exp/Switch-parameters.css +46 -0
  1124. package/src/themes/sap_horizon_exp/TabContainer-parameters.css +40 -0
  1125. package/src/themes/sap_horizon_exp/TimePicker-parameters.css +5 -0
  1126. package/src/themes/sap_horizon_exp/Token-parameters.css +9 -0
  1127. package/src/themes/sap_horizon_exp/WheelSlider-parameters.css +16 -0
  1128. package/src/themes/sap_horizon_exp/YearPicker-parameters.css +5 -0
  1129. package/src/themes/sap_horizon_exp/parameters-bundle.css +46 -0
  1130. package/{dist/types/AvatarBackgroundColor.js → src/types/AvatarColorScheme.js} +9 -9
  1131. package/src/types/BreadcrumbsDesign.js +42 -0
  1132. package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
  1133. package/src/types/ButtonDesign.js +7 -0
  1134. package/src/types/HasPopup.js +62 -0
  1135. package/src/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  1136. package/src/types/SwitchDesign.js +40 -0
  1137. package/src/types/TabContainerTabsPlacement.js +4 -4
  1138. package/src/types/TabsOverflowMode.js +40 -0
  1139. package/src/types/WrappingType.js +41 -0
  1140. package/dist/generated/templates/TabSeparatorTemplate.lit.js +0 -14
  1141. package/dist/generated/themes/LoadMoreRow.css.js +0 -8
  1142. package/dist/types/AvatarFitType.js +0 -40
  1143. package/src/TabSeparator.hbs +0 -1
  1144. package/src/types/AvatarFitType.js +0 -40
@@ -5,21 +5,26 @@ import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
5
5
  import {
6
6
  isShow,
7
7
  isDown,
8
+ isUp,
8
9
  isBackSpace,
9
10
  isSpace,
10
11
  isLeft,
11
12
  isRight,
13
+ isEscape,
14
+ isEnter,
12
15
  } from "@ui5/webcomponents-base/dist/Keys.js";
13
16
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
14
17
  import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
15
18
  import { isIE, isPhone } from "@ui5/webcomponents-base/dist/Device.js";
16
- import { fetchI18nBundle, getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
19
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
17
20
  import "@ui5/webcomponents-icons/dist/decline.js";
18
21
  import "@ui5/webcomponents-icons/dist/multiselect-all.js";
22
+ import "@ui5/webcomponents-icons/dist/not-editable.js";
19
23
  import MultiComboBoxItem from "./MultiComboBoxItem.js";
20
24
  import Tokenizer from "./Tokenizer.js";
21
25
  import Token from "./Token.js";
22
26
  import Icon from "./Icon.js";
27
+ import Popover from "./Popover.js";
23
28
  import ResponsivePopover from "./ResponsivePopover.js";
24
29
  import List from "./List.js";
25
30
  import StandardListItem from "./StandardListItem.js";
@@ -31,9 +36,11 @@ import {
31
36
  VALUE_STATE_SUCCESS,
32
37
  VALUE_STATE_ERROR,
33
38
  VALUE_STATE_WARNING,
39
+ VALUE_STATE_INFORMATION,
34
40
  INPUT_SUGGESTIONS_TITLE,
35
41
  SELECT_OPTIONS,
36
42
  MULTICOMBOBOX_DIALOG_OK_BUTTON,
43
+ VALUE_STATE_ERROR_ALREADY_SELECTED,
37
44
  } from "./generated/i18n/i18n-defaults.js";
38
45
 
39
46
  // Templates
@@ -44,6 +51,7 @@ import MultiComboBoxPopoverTemplate from "./generated/templates/MultiComboBoxPop
44
51
  import styles from "./generated/themes/MultiComboBox.css.js";
45
52
  import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverCommon.css.js";
46
53
  import ValueStateMessageCss from "./generated/themes/ValueStateMessage.css.js";
54
+ import SuggestionsCss from "./generated/themes/Suggestions.css.js";
47
55
 
48
56
  /**
49
57
  * @public
@@ -54,14 +62,7 @@ const metadata = {
54
62
  managedSlots: true,
55
63
  slots: /** @lends sap.ui.webcomponents.main.MultiComboBox.prototype */ {
56
64
  /**
57
- * Defines the <code>ui5-multi-combobox</code> items.
58
- * <br><br>
59
- * Example: <br>
60
- * &lt;ui5-multi-combobox><br>
61
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-li>Item #1&lt;/ui5-li><br>
62
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-li>Item #2&lt;/ui5-li><br>
63
- * &lt;/ui5-multi-combobox>
64
- * <br> <br>
65
+ * Defines the component items.
65
66
  *
66
67
  * @type {sap.ui.webcomponents.main.IMultiComboBoxItem[]}
67
68
  * @slot items
@@ -74,7 +75,7 @@ const metadata = {
74
75
  },
75
76
 
76
77
  /**
77
- * Defines the icon to be displayed in the <code>ui5-multi-combobox</code>.
78
+ * Defines the icon to be displayed in the component.
78
79
  *
79
80
  * @type {sap.ui.webcomponents.main.IIcon}
80
81
  * @slot
@@ -86,13 +87,13 @@ const metadata = {
86
87
  },
87
88
 
88
89
  /**
89
- * Defines the value state message that will be displayed as pop up under the <code>ui5-multi-combobox</code>.
90
+ * Defines the value state message that will be displayed as pop up under the component.
90
91
  * <br><br>
91
92
  *
92
93
  * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.
93
94
  * <br>
94
95
  * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,
95
- * when the <code>ui5-multi-combobox</code> is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
96
+ * when the component is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
96
97
  * @type {HTMLElement[]}
97
98
  * @since 1.0.0-rc.9
98
99
  * @slot
@@ -104,7 +105,7 @@ const metadata = {
104
105
  },
105
106
  properties: /** @lends sap.ui.webcomponents.main.MultiComboBox.prototype */ {
106
107
  /**
107
- * Defines the value of the <code>ui5-multi-combobox</code>.
108
+ * Defines the value of the component.
108
109
  * <br><br>
109
110
  * <b>Note:</b> The property is updated upon typing.
110
111
  *
@@ -119,7 +120,7 @@ const metadata = {
119
120
 
120
121
  /**
121
122
  * Defines a short hint intended to aid the user with data entry when the
122
- * <code>ui5-multi-combobox</code> has no value.
123
+ * component has no value.
123
124
  * @type {string}
124
125
  * @defaultvalue ""
125
126
  * @public
@@ -141,9 +142,9 @@ const metadata = {
141
142
  },
142
143
 
143
144
  /**
144
- * Defines whether <code>ui5-multi-combobox</code> is in disabled state.
145
+ * Defines whether the component is in disabled state.
145
146
  * <br><br>
146
- * <b>Note:</b> A disabled <code>ui5-multi-combobox</code> is completely noninteractive.
147
+ * <b>Note:</b> A disabled component is completely noninteractive.
147
148
  *
148
149
  * @type {boolean}
149
150
  * @defaultvalue false
@@ -154,7 +155,7 @@ const metadata = {
154
155
  },
155
156
 
156
157
  /**
157
- * Defines the value state of the <code>ui5-multi-combobox</code>.
158
+ * Defines the value state of the component.
158
159
  * <br><br>
159
160
  * Available options are:
160
161
  * <ul>
@@ -175,9 +176,9 @@ const metadata = {
175
176
  },
176
177
 
177
178
  /**
178
- * Defines whether the <code>ui5-multi-combobox</code> is read-only.
179
+ * Defines whether the component is read-only.
179
180
  * <br><br>
180
- * <b>Note:</b> A read-only <code>ui5-multi-combobox</code> is not editable,
181
+ * <b>Note:</b> A read-only component is not editable,
181
182
  * but still provides visual feedback upon user interaction.
182
183
  *
183
184
  * @type {boolean}
@@ -189,7 +190,7 @@ const metadata = {
189
190
  },
190
191
 
191
192
  /**
192
- * Defines whether the <code>ui5-multi-combobox</code> is required.
193
+ * Defines whether the component is required.
193
194
  *
194
195
  * @type {boolean}
195
196
  * @defaultvalue false
@@ -201,7 +202,7 @@ const metadata = {
201
202
  },
202
203
 
203
204
  /**
204
- * Defines the filter type of the <code>ui5-multi-combobox</code>.
205
+ * Defines the filter type of the component.
205
206
  * Available options are: <code>StartsWithPerTerm</code>, <code>StartsWith</code>, <code>Contains</code> and <code>None</code>.
206
207
  *
207
208
  * @type {string}
@@ -218,6 +219,7 @@ const metadata = {
218
219
  *
219
220
  * @type {boolean}
220
221
  * @defaultvalue false
222
+ * @readonly
221
223
  * @since 1.0.0-rc.5
222
224
  * @public
223
225
  */
@@ -256,6 +258,10 @@ const metadata = {
256
258
  defaultValue: 0,
257
259
  noAttribute: true,
258
260
  },
261
+
262
+ _performingSelectionTwice: {
263
+ type: Boolean,
264
+ },
259
265
  },
260
266
  events: /** @lends sap.ui.webcomponents.main.MultiComboBox.prototype */ {
261
267
  /**
@@ -267,7 +273,7 @@ const metadata = {
267
273
  change: {},
268
274
 
269
275
  /**
270
- * Fired when the value of the <code>ui5-multi-combobox</code> changes at each keystroke.
276
+ * Fired when the value of the component changes at each keystroke.
271
277
  *
272
278
  * @event
273
279
  * @public
@@ -304,10 +310,10 @@ const metadata = {
304
310
  *
305
311
  * <h3 class="comment-api-title">Overview</h3>
306
312
  *
307
- * The <code>ui5-multi-combobox</code> component provides a list box with items and a text field allowing the user to either type a value directly into the control, or choose from the list of existing items.
313
+ * The <code>ui5-multi-combobox</code> component consists of a list box with items and a text field allowing the user to either type a value directly into the text field, or choose from the list of existing items.
308
314
  *
309
- * It is a drop-down list for selecting and filtering values, commonly used to enable users to select one or more options from a predefined list. The control provides an editable input field to filter the list, and a dropdown arrow of available options.
310
- * The select options in the list have checkboxes that permit multi-selection. Entered values are displayed as tokens.
315
+ * The drop-down list is used for selecting and filtering values, it enables users to select one or more options from a predefined list. The control provides an editable input field to filter the list, and a dropdown arrow to expand/collapse the list of available options.
316
+ * The options in the list have checkboxes that permit multi-selection. Entered values are displayed as tokens.
311
317
  * <h3>Structure</h3>
312
318
  * The <code>ui5-multi-combobox</code> consists of the following elements:
313
319
  * <ul>
@@ -334,10 +340,13 @@ const metadata = {
334
340
  * <li> Backspace - deletes the token and focus the next token. </li>
335
341
  * </ul>
336
342
  *
337
- * In the context of <code>ui5-multi-combobox</code>, you can provide a custom stable DOM ref for:
343
+ * <h3>CSS Shadow Parts</h3>
344
+ *
345
+ * <ui5-link target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/::part">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.
346
+ * <br>
347
+ * The <code>ui5-multi-combobox</code> exposes the following CSS Shadow Parts:
338
348
  * <ul>
339
- * <li>Every <code>ui5-mcb-item</code> that you provide.
340
- * Example: <code><ui5-mcb-item stable-dom-ref="item1"></ui5-mcb-item></code></li>
349
+ * <li>token-{index} - Used to style each token(where <code>token-0</code> corresponds to the first item)</li>
341
350
  * </ul>
342
351
  *
343
352
  * <h3>ES6 Module Import</h3>
@@ -376,7 +385,7 @@ class MultiComboBox extends UI5Element {
376
385
  }
377
386
 
378
387
  static get staticAreaStyles() {
379
- return [ResponsivePopoverCommonCss, ValueStateMessageCss];
388
+ return [ResponsivePopoverCommonCss, ValueStateMessageCss, SuggestionsCss];
380
389
  }
381
390
 
382
391
  static get dependencies() {
@@ -386,6 +395,7 @@ class MultiComboBox extends UI5Element {
386
395
  Token,
387
396
  Icon,
388
397
  ResponsivePopover,
398
+ Popover,
389
399
  List,
390
400
  StandardListItem,
391
401
  ToggleButton,
@@ -399,9 +409,9 @@ class MultiComboBox extends UI5Element {
399
409
  this._filteredItems = [];
400
410
  this.selectedValues = [];
401
411
  this._inputLastValue = "";
412
+ this._valueBeforeOpen = "";
402
413
  this._deleting = false;
403
414
  this._validationTimeout = null;
404
- this.i18nBundle = getI18nBundle("@ui5/webcomponents");
405
415
  this._handleResizeBound = this._handleResize.bind(this);
406
416
  }
407
417
 
@@ -421,34 +431,24 @@ class MultiComboBox extends UI5Element {
421
431
  this.fireEvent("change");
422
432
  }
423
433
 
424
- _showMorePopover() {
425
- this.filterSelected = true;
426
- this._toggleRespPopover();
434
+ togglePopover() {
435
+ this.allItemsPopover.toggle(this);
427
436
  }
428
437
 
429
- togglePopover() {
430
- if (!isPhone()) {
431
- this._inputDom.focus();
432
- }
438
+ _showFilteredItems() {
439
+ this.filterSelected = true;
440
+ this._showMorePressed = true;
433
441
 
434
- this._toggleRespPopover();
442
+ this.togglePopover();
435
443
  }
436
444
 
437
445
  filterSelectedItems(event) {
438
- if (this.allItemsSelected) {
439
- this.filterSelected = true;
440
- return;
441
- }
442
-
443
446
  this.filterSelected = event.target.pressed;
447
+ this.selectedItems = this._filteredItems.filter(item => item.selected);
444
448
  }
445
449
 
446
450
  get _showAllItemsButtonPressed() {
447
- return this.filterSelected || this.allItemsSelected;
448
- }
449
-
450
- get allItemsSelected() {
451
- return this.items.length === this.selectedValues.length;
451
+ return this.filterSelected;
452
452
  }
453
453
 
454
454
  get _inputDom() {
@@ -461,6 +461,10 @@ class MultiComboBox extends UI5Element {
461
461
  const filteredItems = this._filterItems(value);
462
462
  const oldValueState = this.valueState;
463
463
 
464
+ if (this.filterSelected) {
465
+ this.filterSelected = false;
466
+ }
467
+
464
468
  /* skip calling change event when an input with a placeholder is focused on IE
465
469
  - value of the host and the internal input should be differnt in case of actual input
466
470
  - input is called when a key is pressed => keyup should not be called yet
@@ -482,10 +486,7 @@ class MultiComboBox extends UI5Element {
482
486
  input.value = this._inputLastValue;
483
487
  this.valueState = "Error";
484
488
 
485
- this._validationTimeout = setTimeout(() => {
486
- this.valueState = oldValueState;
487
- this._validationTimeout = null;
488
- }, 2000);
489
+ this._resetValueState(oldValueState);
489
490
 
490
491
  return;
491
492
  }
@@ -498,7 +499,7 @@ class MultiComboBox extends UI5Element {
498
499
  if (filteredItems.length === 0) {
499
500
  this.allItemsPopover.close();
500
501
  } else {
501
- this.allItemsPopover.open(this);
502
+ this.allItemsPopover.showAt(this);
502
503
  }
503
504
  }
504
505
 
@@ -536,7 +537,7 @@ class MultiComboBox extends UI5Element {
536
537
 
537
538
  const tokensCount = this._tokenizer.tokens.length - 1;
538
539
 
539
- if (!event.relatedTarget || event.relatedTarget.localName !== "ui5-token") {
540
+ if (!event.relatedTarget || !event.relatedTarget.hasAttribute("ui5-token")) {
540
541
  this._tokenizer.tokens.forEach(token => { token.selected = false; });
541
542
  this._tokenizer.scrollToStart();
542
543
  }
@@ -568,15 +569,11 @@ class MultiComboBox extends UI5Element {
568
569
 
569
570
  if (isShow(event) && !this.readonly && !this.disabled) {
570
571
  event.preventDefault();
571
- this._toggleRespPopover();
572
+ this.togglePopover();
572
573
  }
573
574
 
574
- if (isDown(event) && this.allItemsPopover.opened && this.items.length) {
575
- event.preventDefault();
576
- await this._getList();
577
- const firstListItem = this.list.items[0];
578
- this.list._itemNavigation.setCurrentItem(firstListItem);
579
- firstListItem.focus();
575
+ if (this.open && (isUp(event) || isDown(event))) {
576
+ this._handleArrowNavigation(event);
580
577
  }
581
578
 
582
579
  if (isBackSpace(event) && event.target.value === "") {
@@ -585,9 +582,112 @@ class MultiComboBox extends UI5Element {
585
582
  this._tokenizer._focusLastToken();
586
583
  }
587
584
 
585
+ // Reset value on ESC
586
+ if (isEscape(event) && (!this.allowCustomValues || (!this.open && this.allowCustomValues))) {
587
+ this.value = this._lastValue;
588
+ }
589
+
590
+ if (isEnter(event)) {
591
+ this.handleEnter();
592
+ }
593
+
588
594
  this._keyDown = true;
589
595
  }
590
596
 
597
+ _onValueStateKeydown(event) {
598
+ const isArrowDown = isDown(event);
599
+ const isArrowUp = isUp(event);
600
+
601
+ event.preventDefault();
602
+
603
+ if (isArrowDown) {
604
+ this._handleArrowDown(event);
605
+ }
606
+
607
+ if (isArrowUp) {
608
+ this._inputDom.focus();
609
+ }
610
+ }
611
+
612
+ _onItemKeydown(event) {
613
+ const isFirstItem = this.list.items[0] === event.target;
614
+
615
+ event.preventDefault();
616
+
617
+ if (!isUp(event) || !isFirstItem) {
618
+ return;
619
+ }
620
+
621
+ if (this.valueStateHeader) {
622
+ this.valueStateHeader.focus();
623
+ return;
624
+ }
625
+
626
+ this._inputDom.focus();
627
+ }
628
+
629
+ async _handleArrowNavigation(event) {
630
+ const isArrowDown = isDown(event);
631
+ const hasSuggestions = this.allItemsPopover.opened && this.items.length;
632
+
633
+ event.preventDefault();
634
+
635
+ if (this.hasValueStateMessage && !this.valueStateHeader) {
636
+ await this._setValueStateHeader();
637
+ }
638
+
639
+ if (isArrowDown && this.focused && this.valueStateHeader) {
640
+ this.valueStateHeader.focus();
641
+ return;
642
+ }
643
+
644
+ if (isArrowDown && this.focused && hasSuggestions) {
645
+ this._handleArrowDown(event);
646
+ }
647
+ }
648
+
649
+ _handleArrowDown(event) {
650
+ const firstListItem = this.list.items[0];
651
+
652
+ this.list._itemNavigation.setCurrentItem(firstListItem);
653
+ firstListItem.focus();
654
+ }
655
+
656
+ handleEnter() {
657
+ const lowerCaseValue = this.value.toLowerCase();
658
+ const matchingItem = this.items.find(item => item.text.toLowerCase() === lowerCaseValue);
659
+ const oldValueState = this.valueState;
660
+
661
+ if (matchingItem) {
662
+ if (matchingItem.selected) {
663
+ if (this._validationTimeout) {
664
+ return;
665
+ }
666
+
667
+ this.valueState = "Error";
668
+ this._performingSelectionTwice = true;
669
+ this._resetValueState(oldValueState, () => {
670
+ this._performingSelectionTwice = false;
671
+ });
672
+ } else {
673
+ matchingItem.selected = true;
674
+ this.value = "";
675
+ this.fireSelectionChange();
676
+ }
677
+
678
+ this.allItemsPopover.close();
679
+ }
680
+ }
681
+
682
+ _resetValueState(valueState, callback) {
683
+ this._validationTimeout = setTimeout(() => {
684
+ this.valueState = valueState;
685
+ this._validationTimeout = null;
686
+
687
+ callback && callback();
688
+ }, 2000);
689
+ }
690
+
591
691
  _onTokenizerKeydown(event) {
592
692
  if (isRight(event)) {
593
693
  const lastTokenIndex = this._tokenizer.tokens.length - 1;
@@ -604,13 +704,19 @@ class MultiComboBox extends UI5Element {
604
704
  return (Filters[this.filter] || Filters.StartsWithPerTerm)(str, this.items);
605
705
  }
606
706
 
707
+ _afterOpenPicker() {
708
+ this._toggle();
709
+
710
+ if (!isPhone()) {
711
+ this._innerInput.focus();
712
+ } else {
713
+ this.allItemsPopover.focus();
714
+ }
715
+ }
716
+
607
717
  _toggle() {
608
718
  this.open = !this.open;
609
719
  this.fireEvent("open-change");
610
-
611
- if (!this.open) {
612
- this._afterClosePopover();
613
- }
614
720
  }
615
721
 
616
722
  _getSelectedItems() {
@@ -620,23 +726,37 @@ class MultiComboBox extends UI5Element {
620
726
  }
621
727
 
622
728
  _listSelectionChange(event) {
623
- event.target.items.forEach(item => {
624
- this.items.forEach(mcbItem => {
625
- if (mcbItem._id === item.getAttribute("data-ui5-token-id")) {
626
- mcbItem.selected = item.selected;
627
- }
628
- });
629
- });
729
+ // sync list items and cb items
730
+ this.syncItems(event.target.items);
630
731
 
631
- this.fireSelectionChange();
732
+ // don't call selection change right after selection as user can cancel it on phone
733
+ if (!isPhone()) {
734
+ this.fireSelectionChange();
735
+ }
632
736
 
633
737
  if (!event.detail.selectionComponentPressed && !isSpace(event.detail)) {
634
738
  this.allItemsPopover.close();
635
739
  this.value = "";
740
+
741
+ // if the item (not checkbox) is clicked, call the selection change
742
+ if (isPhone()) {
743
+ this.fireSelectionChange();
744
+ }
745
+
636
746
  this.fireEvent("input");
637
747
  }
638
748
  }
639
749
 
750
+ syncItems(listItems) {
751
+ listItems.forEach(item => {
752
+ this.items.forEach(mcbItem => {
753
+ if (mcbItem._id === item.getAttribute("data-ui5-token-id")) {
754
+ mcbItem.selected = item.selected;
755
+ }
756
+ });
757
+ });
758
+ }
759
+
640
760
  fireSelectionChange() {
641
761
  this.fireEvent("selection-change", { items: this._getSelectedItems() });
642
762
  // Angular 2 way data binding
@@ -653,28 +773,41 @@ class MultiComboBox extends UI5Element {
653
773
  this.list = staticAreaItem.querySelector(".ui5-multi-combobox-all-items-list");
654
774
  }
655
775
 
656
- _toggleRespPopover() {
657
- this.allItemsPopover.toggle(this);
658
- }
659
-
660
776
  _click(event) {
661
- if (isPhone() && !this.readonly && !this._showMorePressed) {
662
- this.allItemsPopover.open(this);
777
+ if (isPhone() && !this.readonly && !this._showMorePressed && !this._deleting) {
778
+ this.allItemsPopover.showAt(this);
663
779
  }
664
780
 
665
781
  this._showMorePressed = false;
666
782
  }
667
783
 
668
- _afterClosePopover() {
784
+ _afterClosePicker() {
669
785
  // close device's keyboard and prevent further typing
670
786
  if (isPhone()) {
671
787
  this.blur();
672
788
  }
673
789
 
790
+ this._toggle();
791
+
674
792
  this._iconPressed = false;
675
793
  this.filterSelected = false;
676
794
  }
677
795
 
796
+ _beforeOpen() {
797
+ this._itemsBeforeOpen = this.items.map(item => {
798
+ return {
799
+ ref: item,
800
+ selected: item.selected,
801
+ };
802
+ });
803
+
804
+ this._valueBeforeOpen = this.value;
805
+
806
+ if (this.filterSelected) {
807
+ this.selectedItems = this._filteredItems.filter(item => item.selected);
808
+ }
809
+ }
810
+
678
811
  onBeforeRendering() {
679
812
  const input = this.shadowRoot.querySelector("input");
680
813
  this._inputLastValue = this.value;
@@ -683,13 +816,12 @@ class MultiComboBox extends UI5Element {
683
816
  this._filteredItems = this.items;
684
817
  }
685
818
 
819
+ this.items.forEach(item => {
820
+ item._getRealDomRef = () => this.allItemsPopover.querySelector(`*[data-ui5-stable=${item.stableDomRef}]`);
821
+ });
822
+
686
823
  const filteredItems = this._filterItems(this.value);
687
824
  this._filteredItems = filteredItems;
688
-
689
- if (isPhone() && this.allItemsPopover && this.allItemsPopover.opened) {
690
- // Set initial focus to the dialog
691
- this.allItemsPopover.focus();
692
- }
693
825
  }
694
826
 
695
827
  async onAfterRendering() {
@@ -698,6 +830,8 @@ class MultiComboBox extends UI5Element {
698
830
 
699
831
  this.toggle(this.shouldDisplayOnlyValueStateMessage);
700
832
  this.storeResponsivePopoverWidth();
833
+
834
+ this._deleting = false;
701
835
  }
702
836
 
703
837
  get _isPhone() {
@@ -722,14 +856,36 @@ class MultiComboBox extends UI5Element {
722
856
  }
723
857
  }
724
858
 
859
+ handleCancel() {
860
+ this._itemsBeforeOpen.forEach(item => {
861
+ item.ref.selected = item.selected;
862
+ });
863
+
864
+ this.togglePopover();
865
+
866
+ this.value = this._valueBeforeOpen;
867
+ }
868
+
869
+ handleOK() {
870
+ if (isPhone()) {
871
+ this.fireSelectionChange();
872
+ }
873
+
874
+ this.togglePopover();
875
+ }
876
+
725
877
  async openPopover() {
726
878
  const popover = await this._getPopover();
727
879
 
728
880
  if (popover) {
729
- popover.openBy(this);
881
+ popover.showAt(this);
730
882
  }
731
883
  }
732
884
 
885
+ _forwardFocusToInner() {
886
+ this._innerInput.focus();
887
+ }
888
+
733
889
  async closePopover() {
734
890
  const popover = await this._getPopover();
735
891
 
@@ -741,28 +897,51 @@ class MultiComboBox extends UI5Element {
741
897
  return staticAreaItem.querySelector("[ui5-popover]");
742
898
  }
743
899
 
900
+ async _getResponsivePopover() {
901
+ const staticAreaItem = await this.getStaticAreaItemDomRef();
902
+ return staticAreaItem.querySelector("[ui5-responsive-popover]");
903
+ }
904
+
905
+ async _setValueStateHeader() {
906
+ const responsivePopover = await this._getResponsivePopover();
907
+ this.valueStateHeader = responsivePopover.querySelector("div.ui5-responsive-popover-header.ui5-valuestatemessage-root");
908
+ }
909
+
744
910
  get _tokenizer() {
745
911
  return this.shadowRoot.querySelector("[ui5-tokenizer]");
746
912
  }
747
913
 
748
914
  inputFocusIn() {
749
- if (!isPhone()) {
915
+ if (!isPhone() || this.readonly) {
750
916
  this.focused = true;
917
+ } else {
918
+ this._innerInput.blur();
751
919
  }
920
+
921
+ this._lastValue = this.value;
752
922
  }
753
923
 
754
924
  inputFocusOut(event) {
755
925
  if (!this.shadowRoot.contains(event.relatedTarget) && !this._deleting) {
756
926
  this.focused = false;
927
+
928
+ // remove the value if user focus out the input and focus is not going in the popover
929
+ if (!isPhone() && !this.allowCustomValues && (this.staticAreaItem !== event.relatedTarget)) {
930
+ this.value = "";
931
+ }
757
932
  }
758
933
  }
759
934
 
935
+ _readonlyIconClick() {
936
+ this._inputDom.focus();
937
+ }
938
+
760
939
  get editable() {
761
940
  return !this.readonly;
762
941
  }
763
942
 
764
943
  get _isFocusInside() {
765
- return this.focused || this._tokenizerFocused;
944
+ return !isPhone() && (this.focused || this._tokenizerFocused);
766
945
  }
767
946
 
768
947
  get selectedItemsListMode() {
@@ -782,7 +961,13 @@ class MultiComboBox extends UI5Element {
782
961
  }
783
962
 
784
963
  get valueStateText() {
785
- return this.valueStateTextMappings[this.valueState];
964
+ let key = this.valueState;
965
+
966
+ if (this._performingSelectionTwice) {
967
+ key = "Error_Selection";
968
+ }
969
+
970
+ return this.valueStateTextMappings[key];
786
971
  }
787
972
 
788
973
  get valueStateTextId() {
@@ -793,6 +978,20 @@ class MultiComboBox extends UI5Element {
793
978
  return this.getSlottedNodes("valueStateMessage").map(el => el.cloneNode(true));
794
979
  }
795
980
 
981
+ /**
982
+ * This method is relevant for sap_horizon theme only
983
+ */
984
+ get _valueStateMessageIcon() {
985
+ const iconPerValueState = {
986
+ Error: "error",
987
+ Warning: "alert",
988
+ Success: "sys-enter-2",
989
+ Information: "information",
990
+ };
991
+
992
+ return this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : "";
993
+ }
994
+
796
995
  get _tokensCountText() {
797
996
  if (!this._tokenizer) {
798
997
  return;
@@ -813,14 +1012,16 @@ class MultiComboBox extends UI5Element {
813
1012
  }
814
1013
 
815
1014
  get shouldDisplayOnlyValueStateMessage() {
816
- return this.focused && this.hasValueStateMessage && !this._iconPressed;
1015
+ return this.focused && !this.readonly && this.hasValueStateMessage && !this._iconPressed;
817
1016
  }
818
1017
 
819
1018
  get valueStateTextMappings() {
820
1019
  return {
821
- "Success": this.i18nBundle.getText(VALUE_STATE_SUCCESS),
822
- "Error": this.i18nBundle.getText(VALUE_STATE_ERROR),
823
- "Warning": this.i18nBundle.getText(VALUE_STATE_WARNING),
1020
+ "Success": MultiComboBox.i18nBundle.getText(VALUE_STATE_SUCCESS),
1021
+ "Error": MultiComboBox.i18nBundle.getText(VALUE_STATE_ERROR),
1022
+ "Error_Selection": MultiComboBox.i18nBundle.getText(VALUE_STATE_ERROR_ALREADY_SELECTED),
1023
+ "Warning": MultiComboBox.i18nBundle.getText(VALUE_STATE_WARNING),
1024
+ "Information": MultiComboBox.i18nBundle.getText(VALUE_STATE_INFORMATION),
824
1025
  };
825
1026
  }
826
1027
 
@@ -835,25 +1036,35 @@ class MultiComboBox extends UI5Element {
835
1036
  }
836
1037
 
837
1038
  get _headerTitleText() {
838
- return this.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
1039
+ return MultiComboBox.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
839
1040
  }
840
1041
 
841
1042
  get _iconAccessibleNameText() {
842
- return this.i18nBundle.getText(SELECT_OPTIONS);
1043
+ return MultiComboBox.i18nBundle.getText(SELECT_OPTIONS);
843
1044
  }
844
1045
 
845
1046
  get _dialogOkButton() {
846
- return this.i18nBundle.getText(MULTICOMBOBOX_DIALOG_OK_BUTTON);
1047
+ return MultiComboBox.i18nBundle.getText(MULTICOMBOBOX_DIALOG_OK_BUTTON);
847
1048
  }
848
1049
 
849
1050
  get _tokenizerExpanded() {
850
1051
  return (this._isFocusInside || this.open) && !this.readonly;
851
1052
  }
852
1053
 
1054
+ get _valueStatePopoverHorizontalAlign() {
1055
+ return this.effectiveDir !== "rtl" ? "Left" : "Right";
1056
+ }
1057
+
853
1058
  get classes() {
854
1059
  return {
1060
+ popover: {
1061
+ "ui5-multi-combobox-all-items-responsive-popover": true,
1062
+ "ui5-suggestions-popover": !this.isPhone,
1063
+ "ui5-suggestions-popover-with-value-state-header": !this.isPhone && this.hasValueStateMessage,
1064
+ },
855
1065
  popoverValueState: {
856
1066
  "ui5-valuestatemessage-root": true,
1067
+ "ui5-valuestatemessage-header": true,
857
1068
  "ui5-valuestatemessage--success": this.valueState === ValueState.Success,
858
1069
  "ui5-valuestatemessage--error": this.valueState === ValueState.Error,
859
1070
  "ui5-valuestatemessage--warning": this.valueState === ValueState.Warning,
@@ -867,16 +1078,15 @@ class MultiComboBox extends UI5Element {
867
1078
  popoverValueStateMessage: {
868
1079
  "width": `${this._listWidth}px`,
869
1080
  "display": this._listWidth === 0 ? "none" : "inline-block",
870
- "padding": "0.9125rem 1rem",
871
1081
  },
872
1082
  popoverHeader: {
873
- "max-width": `${this._inputWidth}px`,
1083
+ "max-width": isPhone() ? "100%" : `${this._inputWidth}px`,
874
1084
  },
875
1085
  };
876
1086
  }
877
1087
 
878
1088
  static async onDefine() {
879
- await fetchI18nBundle("@ui5/webcomponents");
1089
+ MultiComboBox.i18nBundle = await getI18nBundle("@ui5/webcomponents");
880
1090
  }
881
1091
  }
882
1092