@ui5/webcomponents 0.0.0-8db0ce01a → 0.0.0-a3eca7ade

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