@ui5/webcomponents 0.0.0-de4752078 → 0.0.0-deac3098a

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