@ui5/webcomponents 0.0.0-e7dd012d7 → 0.0.0-ec448881d

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