@ui5/webcomponents 0.0.0-dff5837d7 → 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 (1446) hide show
  1. package/CHANGELOG.md +1089 -1
  2. package/README.md +150 -52
  3. package/customI18n.js +50 -0
  4. package/dist/Assets-static.js +6 -0
  5. package/dist/Assets.js +2 -1
  6. package/dist/Avatar.js +194 -53
  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 +134 -37
  12. package/dist/Button.js +175 -83
  13. package/dist/Calendar.js +348 -545
  14. package/dist/CalendarDate.js +45 -0
  15. package/dist/CalendarHeader.js +129 -53
  16. package/dist/CalendarPart.js +111 -0
  17. package/dist/Card.js +41 -151
  18. package/dist/CardHeader.js +283 -0
  19. package/dist/Carousel.js +275 -98
  20. package/dist/CheckBox.js +193 -56
  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 +681 -99
  26. package/dist/ComboBoxGroupItem.js +70 -0
  27. package/dist/ComboBoxItem.js +12 -24
  28. package/dist/CustomListItem.js +37 -3
  29. package/dist/DateComponentBase.js +168 -0
  30. package/dist/DatePicker.js +392 -413
  31. package/dist/DateRangePicker.js +356 -0
  32. package/dist/DateTimePicker.js +109 -385
  33. package/dist/DayPicker.js +508 -430
  34. package/dist/Dialog.js +480 -17
  35. package/dist/DurationPicker.js +135 -401
  36. package/dist/FileUploader.js +210 -30
  37. package/dist/Filters.js +28 -0
  38. package/dist/GroupHeaderListItem.js +23 -14
  39. package/dist/Icon.js +198 -56
  40. package/dist/Input.js +840 -185
  41. package/dist/Interfaces.js +202 -0
  42. package/dist/Label.js +34 -13
  43. package/dist/Link.js +153 -31
  44. package/dist/List.js +479 -107
  45. package/dist/ListItem.js +114 -21
  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 +85 -71
  50. package/dist/MonthPicker.js +180 -187
  51. package/dist/MultiComboBox.js +971 -156
  52. package/dist/MultiComboBoxItem.js +8 -2
  53. package/dist/MultiInput.js +359 -0
  54. package/dist/Option.js +69 -5
  55. package/dist/Panel.js +111 -40
  56. package/dist/Popover.js +280 -104
  57. package/dist/Popup.js +284 -76
  58. package/dist/ProgressIndicator.js +240 -0
  59. package/dist/RadioButton.js +152 -47
  60. package/dist/RadioButtonGroup.js +53 -29
  61. package/dist/RangeSlider.js +819 -0
  62. package/dist/RatingIndicator.js +70 -44
  63. package/dist/ResponsivePopover.js +84 -61
  64. package/dist/SegmentedButton.js +122 -74
  65. package/dist/SegmentedButtonItem.js +114 -0
  66. package/dist/Select.js +451 -109
  67. package/dist/Slider.js +337 -0
  68. package/dist/SliderBase.js +815 -0
  69. package/dist/SplitButton.js +440 -0
  70. package/dist/StandardListItem.js +44 -13
  71. package/dist/StepInput.js +684 -0
  72. package/dist/SuggestionGroupItem.js +64 -0
  73. package/dist/SuggestionItem.js +37 -31
  74. package/dist/SuggestionListItem.js +76 -0
  75. package/dist/Switch.js +88 -37
  76. package/dist/Tab.js +160 -34
  77. package/dist/TabContainer.js +785 -143
  78. package/dist/TabSeparator.js +43 -3
  79. package/dist/Table.js +929 -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 +285 -12
  84. package/dist/TextArea.js +154 -46
  85. package/dist/TimePicker.js +48 -684
  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 +24 -8
  90. package/dist/ToggleButton.js +26 -8
  91. package/dist/Token.js +85 -43
  92. package/dist/Tokenizer.js +459 -61
  93. package/dist/Tree.js +138 -48
  94. package/dist/TreeItem.js +67 -11
  95. package/dist/TreeListItem.js +140 -9
  96. package/dist/WheelSlider.js +83 -56
  97. package/dist/YearPicker.js +198 -260
  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 +298 -51
  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 -0
  265. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -0
  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 -15
  274. package/dist/generated/json-imports/i18n-static.js +162 -0
  275. package/dist/generated/json-imports/i18n.js +113 -87
  276. package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
  277. package/dist/generated/templates/AvatarTemplate.lit.js +9 -9
  278. package/dist/generated/templates/BadgeTemplate.lit.js +5 -6
  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 -6
  282. package/dist/generated/templates/ButtonTemplate.lit.js +6 -6
  283. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -4
  284. package/dist/generated/templates/CalendarTemplate.lit.js +4 -4
  285. package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
  286. package/dist/generated/templates/CardTemplate.lit.js +5 -8
  287. package/dist/generated/templates/CarouselTemplate.lit.js +13 -12
  288. package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -7
  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 -5
  295. package/dist/generated/templates/ComboBoxTemplate.lit.js +7 -6
  296. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -13
  297. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -6
  298. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -6
  299. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -12
  300. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -11
  301. package/dist/generated/templates/DialogTemplate.lit.js +9 -7
  302. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +11 -0
  303. package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -7
  304. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -4
  305. package/dist/generated/templates/IconTemplate.lit.js +6 -6
  306. package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -23
  307. package/dist/generated/templates/InputTemplate.lit.js +9 -8
  308. package/dist/generated/templates/LabelTemplate.lit.js +4 -4
  309. package/dist/generated/templates/LinkTemplate.lit.js +5 -5
  310. package/dist/generated/templates/ListItemTemplate.lit.js +13 -13
  311. package/dist/generated/templates/ListTemplate.lit.js +12 -9
  312. package/dist/generated/templates/MenuTemplate.lit.js +15 -0
  313. package/dist/generated/templates/MessageStripTemplate.lit.js +8 -8
  314. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
  315. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -5
  316. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +9 -8
  317. package/dist/generated/templates/MultiInputTemplate.lit.js +16 -0
  318. package/dist/generated/templates/PanelTemplate.lit.js +9 -7
  319. package/dist/generated/templates/PopoverTemplate.lit.js +9 -9
  320. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +4 -4
  321. package/dist/generated/templates/PopupTemplate.lit.js +4 -4
  322. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +17 -0
  323. package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -7
  324. package/dist/generated/templates/RangeSliderTemplate.lit.js +16 -0
  325. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +13 -9
  326. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -14
  327. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  328. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -4
  329. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -6
  330. package/dist/generated/templates/SelectTemplate.lit.js +6 -5
  331. package/dist/generated/templates/SliderBaseTemplate.lit.js +14 -0
  332. package/dist/generated/templates/SliderTemplate.lit.js +15 -0
  333. package/dist/generated/templates/SplitButtonTemplate.lit.js +7 -0
  334. package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -20
  335. package/dist/generated/templates/StepInputTemplate.lit.js +10 -0
  336. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +27 -0
  337. package/dist/generated/templates/SwitchTemplate.lit.js +8 -6
  338. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +5 -6
  339. package/dist/generated/templates/TabContainerTemplate.lit.js +13 -14
  340. package/dist/generated/templates/TabInOverflowTemplate.lit.js +8 -6
  341. package/dist/generated/templates/TabInStripTemplate.lit.js +11 -10
  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 -4
  345. package/dist/generated/templates/TableCellTemplate.lit.js +4 -4
  346. package/dist/generated/templates/TableColumnTemplate.lit.js +4 -4
  347. package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
  348. package/dist/generated/templates/TableRowTemplate.lit.js +12 -11
  349. package/dist/generated/templates/TableTemplate.lit.js +13 -8
  350. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -8
  351. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -7
  352. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -8
  353. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -6
  354. package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
  355. package/dist/generated/templates/TitleTemplate.lit.js +10 -10
  356. package/dist/generated/templates/ToastTemplate.lit.js +5 -4
  357. package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -6
  358. package/dist/generated/templates/TokenTemplate.lit.js +7 -5
  359. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +12 -0
  360. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -6
  361. package/dist/generated/templates/TreeListItemTemplate.lit.js +18 -16
  362. package/dist/generated/templates/TreeTemplate.lit.js +5 -5
  363. package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -7
  364. package/dist/generated/templates/YearPickerTemplate.lit.js +6 -6
  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 +8 -0
  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 +8 -0
  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 +8 -0
  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 +8 -0
  428. package/dist/generated/themes/SliderBase.css.js +8 -0
  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 -0
  468. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -0
  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 +6 -2
  525. package/dist/popup-utils/PopoverRegistry.js +2 -4
  526. package/dist/timepicker-utils/TimeSlider.js +15 -13
  527. package/{src/types/AvatarBackgroundColor.js → dist/types/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 +9 -1
  544. package/dist/types/ListSeparators.js +1 -1
  545. package/dist/types/{MessageStripType.js → 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 +22 -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 +194 -53
  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 +29 -15
  577. package/src/BusyIndicator.js +134 -37
  578. package/src/Button.hbs +8 -6
  579. package/src/Button.js +175 -83
  580. package/src/Calendar.hbs +56 -43
  581. package/src/Calendar.js +348 -545
  582. package/src/CalendarDate.js +45 -0
  583. package/src/CalendarHeader.hbs +31 -35
  584. package/src/CalendarHeader.js +129 -53
  585. package/src/CalendarPart.js +111 -0
  586. package/src/Card.hbs +7 -34
  587. package/src/Card.js +41 -151
  588. package/src/CardHeader.hbs +45 -0
  589. package/src/CardHeader.js +283 -0
  590. package/src/Carousel.hbs +48 -48
  591. package/src/Carousel.js +275 -98
  592. package/src/CheckBox.hbs +20 -8
  593. package/src/CheckBox.js +193 -56
  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 +10 -4
  604. package/src/ComboBox.js +681 -99
  605. package/src/ComboBoxGroupItem.js +70 -0
  606. package/src/ComboBoxItem.js +12 -24
  607. package/src/ComboBoxPopover.hbs +69 -14
  608. package/src/CustomListItem.js +37 -3
  609. package/src/DateComponentBase.js +168 -0
  610. package/src/DatePicker.hbs +6 -5
  611. package/src/DatePicker.js +392 -413
  612. package/src/DatePickerPopover.hbs +23 -16
  613. package/src/DateRangePicker.js +356 -0
  614. package/src/DateTimePicker.js +109 -385
  615. package/src/DateTimePickerPopover.hbs +31 -53
  616. package/src/DayPicker.hbs +39 -32
  617. package/src/DayPicker.js +508 -430
  618. package/src/Dialog.hbs +23 -8
  619. package/src/Dialog.js +480 -17
  620. package/src/DurationPicker.js +135 -401
  621. package/src/FileUploader.hbs +6 -0
  622. package/src/FileUploader.js +210 -30
  623. package/src/FileUploaderPopover.hbs +26 -0
  624. package/src/Filters.js +28 -0
  625. package/src/GroupHeaderListItem.hbs +4 -3
  626. package/src/GroupHeaderListItem.js +23 -14
  627. package/src/Icon.hbs +5 -4
  628. package/src/Icon.js +198 -56
  629. package/src/Input.hbs +28 -10
  630. package/src/Input.js +840 -185
  631. package/src/InputPopover.hbs +42 -27
  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 +5 -2
  636. package/src/Link.js +153 -31
  637. package/src/List.hbs +75 -29
  638. package/src/List.js +479 -107
  639. package/src/ListItem.hbs +23 -8
  640. package/src/ListItem.js +114 -21
  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 +18 -19
  646. package/src/MessageStrip.js +85 -71
  647. package/src/MonthPicker.hbs +6 -5
  648. package/src/MonthPicker.js +180 -187
  649. package/src/MultiComboBox.hbs +25 -20
  650. package/src/MultiComboBox.js +971 -156
  651. package/src/MultiComboBoxItem.js +8 -2
  652. package/src/MultiComboBoxPopover.hbs +108 -41
  653. package/src/MultiInput.hbs +41 -0
  654. package/src/MultiInput.js +359 -0
  655. package/src/Option.js +69 -5
  656. package/src/Panel.hbs +32 -12
  657. package/src/Panel.js +111 -40
  658. package/src/Popover.hbs +2 -2
  659. package/src/Popover.js +280 -104
  660. package/src/Popup.hbs +13 -2
  661. package/src/Popup.js +284 -76
  662. package/src/PopupBlockLayer.hbs +7 -1
  663. package/src/ProgressIndicator.hbs +34 -0
  664. package/src/ProgressIndicator.js +240 -0
  665. package/src/RadioButton.hbs +8 -6
  666. package/src/RadioButton.js +152 -47
  667. package/src/RadioButtonGroup.js +53 -29
  668. package/src/RangeSlider.hbs +70 -0
  669. package/src/RangeSlider.js +819 -0
  670. package/src/RatingIndicator.hbs +30 -12
  671. package/src/RatingIndicator.js +70 -44
  672. package/src/ResponsivePopover.hbs +19 -12
  673. package/src/ResponsivePopover.js +84 -61
  674. package/src/SegmentedButton.hbs +13 -6
  675. package/src/SegmentedButton.js +122 -74
  676. package/src/SegmentedButtonItem.hbs +41 -0
  677. package/src/SegmentedButtonItem.js +114 -0
  678. package/src/Select.hbs +27 -16
  679. package/src/Select.js +451 -109
  680. package/src/SelectPopover.hbs +74 -17
  681. package/src/Slider.hbs +42 -0
  682. package/src/Slider.js +337 -0
  683. package/src/SliderBase.hbs +46 -0
  684. package/src/SliderBase.js +815 -0
  685. package/src/SplitButton.hbs +53 -0
  686. package/src/SplitButton.js +440 -0
  687. package/src/StandardListItem.hbs +19 -11
  688. package/src/StandardListItem.js +44 -13
  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 +37 -31
  693. package/src/SuggestionListItem.hbs +33 -0
  694. package/src/SuggestionListItem.js +76 -0
  695. package/src/Switch.hbs +22 -7
  696. package/src/Switch.js +88 -37
  697. package/src/Tab.hbs +5 -1
  698. package/src/Tab.js +160 -34
  699. package/src/TabContainer.hbs +60 -51
  700. package/src/TabContainer.js +785 -143
  701. package/src/TabContainerPopover.hbs +7 -9
  702. package/src/TabInOverflow.hbs +21 -9
  703. package/src/TabInStrip.hbs +28 -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 +929 -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 +32 -2
  716. package/src/TableRow.js +285 -12
  717. package/src/TextArea.hbs +13 -5
  718. package/src/TextArea.js +154 -46
  719. package/src/TextAreaPopover.hbs +4 -3
  720. package/src/TimePicker.hbs +6 -3
  721. package/src/TimePicker.js +48 -684
  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 +24 -8
  729. package/src/ToggleButton.js +26 -8
  730. package/src/Token.hbs +17 -9
  731. package/src/Token.js +85 -43
  732. package/src/Tokenizer.hbs +8 -6
  733. package/src/Tokenizer.js +459 -61
  734. package/src/TokenizerPopover.hbs +50 -0
  735. package/src/Tree.hbs +18 -2
  736. package/src/Tree.js +138 -48
  737. package/src/TreeItem.js +67 -11
  738. package/src/TreeListItem.hbs +27 -6
  739. package/src/TreeListItem.js +140 -9
  740. package/src/WheelSlider.hbs +19 -12
  741. package/src/WheelSlider.js +83 -56
  742. package/src/YearPicker.hbs +9 -6
  743. package/src/YearPicker.js +198 -260
  744. package/src/features/ColorPaletteMoreColors.js +42 -0
  745. package/src/features/InputElementsFormSupport.js +8 -6
  746. package/src/features/InputSuggestions.js +298 -51
  747. package/src/i18n/messagebundle.properties +218 -179
  748. package/src/i18n/messagebundle_ar.properties +116 -104
  749. package/src/i18n/messagebundle_bg.properties +116 -104
  750. package/src/i18n/messagebundle_ca.properties +116 -104
  751. package/src/i18n/messagebundle_cs.properties +116 -104
  752. package/src/i18n/messagebundle_cy.properties +246 -0
  753. package/src/i18n/messagebundle_da.properties +116 -104
  754. package/src/i18n/messagebundle_de.properties +116 -104
  755. package/src/i18n/messagebundle_el.properties +116 -104
  756. package/src/i18n/messagebundle_en.properties +116 -104
  757. package/src/i18n/messagebundle_en_GB.properties +246 -0
  758. package/src/i18n/messagebundle_en_US_sappsd.properties +116 -104
  759. package/src/i18n/messagebundle_en_US_saprigi.properties +246 -0
  760. package/src/i18n/messagebundle_en_US_saptrc.properties +116 -104
  761. package/src/i18n/messagebundle_es.properties +116 -104
  762. package/src/i18n/messagebundle_es_MX.properties +246 -0
  763. package/src/i18n/messagebundle_et.properties +116 -104
  764. package/src/i18n/messagebundle_fi.properties +116 -104
  765. package/src/i18n/messagebundle_fr.properties +116 -104
  766. package/src/i18n/messagebundle_fr_CA.properties +246 -0
  767. package/src/i18n/messagebundle_hi.properties +116 -104
  768. package/src/i18n/messagebundle_hr.properties +116 -104
  769. package/src/i18n/messagebundle_hu.properties +116 -104
  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 +116 -104
  773. package/src/i18n/messagebundle_iw.properties +116 -104
  774. package/src/i18n/messagebundle_ja.properties +117 -105
  775. package/src/i18n/messagebundle_kk.properties +116 -104
  776. package/src/i18n/messagebundle_ko.properties +116 -104
  777. package/src/i18n/messagebundle_lt.properties +116 -104
  778. package/src/i18n/messagebundle_lv.properties +116 -104
  779. package/src/i18n/messagebundle_ms.properties +116 -104
  780. package/src/i18n/messagebundle_nl.properties +116 -104
  781. package/src/i18n/messagebundle_no.properties +116 -104
  782. package/src/i18n/messagebundle_pl.properties +116 -104
  783. package/src/i18n/messagebundle_pt.properties +116 -104
  784. package/src/i18n/messagebundle_pt_PT.properties +246 -0
  785. package/src/i18n/messagebundle_ro.properties +115 -103
  786. package/src/i18n/messagebundle_ru.properties +116 -104
  787. package/src/i18n/messagebundle_sh.properties +116 -104
  788. package/src/i18n/messagebundle_sk.properties +116 -104
  789. package/src/i18n/messagebundle_sl.properties +116 -104
  790. package/src/i18n/messagebundle_sv.properties +116 -104
  791. package/src/i18n/messagebundle_th.properties +116 -104
  792. package/src/i18n/messagebundle_tr.properties +116 -104
  793. package/src/i18n/messagebundle_uk.properties +117 -105
  794. package/src/i18n/messagebundle_vi.properties +116 -104
  795. package/src/i18n/messagebundle_zh_CN.properties +116 -104
  796. package/src/i18n/messagebundle_zh_TW.properties +116 -104
  797. package/src/popup-utils/OpenedPopupsRegistry.js +6 -2
  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/{dist/types/AvatarBackgroundColor.js → src/types/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 +9 -1
  1381. package/src/types/ListSeparators.js +1 -1
  1382. package/src/types/{MessageStripType.js → 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 -33
  1400. package/dist/Timeline.js +0 -98
  1401. package/dist/TimelineItem.js +0 -156
  1402. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -7
  1403. package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -10
  1404. package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -8
  1405. package/dist/generated/templates/TabSeparatorTemplate.lit.js +0 -7
  1406. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
  1407. package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
  1408. package/dist/generated/themes/ComboBoxItem.css.js +0 -8
  1409. package/dist/generated/themes/DurationPicker.css.js +0 -8
  1410. package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
  1411. package/dist/generated/themes/Timeline.css.js +0 -8
  1412. package/dist/generated/themes/TimelineItem.css.js +0 -8
  1413. package/dist/popup-utils/PopupUtils.js +0 -55
  1414. package/dist/types/AvatarFitType.js +0 -40
  1415. package/dist/webcomponentsjs/LICENSE.md +0 -19
  1416. package/dist/webcomponentsjs/README.md +0 -229
  1417. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  1418. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  1419. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  1420. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  1421. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  1422. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  1423. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  1424. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  1425. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  1426. package/dist/webcomponentsjs/package.json +0 -46
  1427. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  1428. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  1429. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  1430. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  1431. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  1432. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  1433. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  1434. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  1435. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  1436. package/src/ComboBoxFilters.js +0 -33
  1437. package/src/ComboBoxItem.hbs +0 -0
  1438. package/src/DurationPicker.hbs +0 -25
  1439. package/src/DurationPickerPopover.hbs +0 -48
  1440. package/src/TabSeparator.hbs +0 -1
  1441. package/src/Timeline.hbs +0 -9
  1442. package/src/Timeline.js +0 -98
  1443. package/src/TimelineItem.hbs +0 -39
  1444. package/src/TimelineItem.js +0 -156
  1445. package/src/popup-utils/PopupUtils.js +0 -55
  1446. package/src/types/AvatarFitType.js +0 -40
@@ -1,31 +1,66 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
3
4
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
4
5
  import {
5
- isShow, isDown, isBackSpace, isSpace,
6
+ isShow,
7
+ isDown,
8
+ isUp,
9
+ isSpace,
10
+ isSpaceCtrl,
11
+ isSpaceShift,
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,
6
30
  } from "@ui5/webcomponents-base/dist/Keys.js";
7
- import "@ui5/webcomponents-icons/dist/icons/slim-arrow-down.js";
31
+ import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
32
+ import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
8
33
  import { isIE, isPhone } from "@ui5/webcomponents-base/dist/Device.js";
9
- import { fetchI18nBundle, getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
10
- import "@ui5/webcomponents-icons/dist/icons/decline.js";
11
- import "@ui5/webcomponents-icons/dist/icons/multiselect-all.js";
34
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
35
+ import "@ui5/webcomponents-icons/dist/decline.js";
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";
12
44
  import MultiComboBoxItem from "./MultiComboBoxItem.js";
13
45
  import Tokenizer from "./Tokenizer.js";
14
46
  import Token from "./Token.js";
15
47
  import Icon from "./Icon.js";
48
+ import Popover from "./Popover.js";
16
49
  import ResponsivePopover from "./ResponsivePopover.js";
17
50
  import List from "./List.js";
18
51
  import StandardListItem from "./StandardListItem.js";
19
52
  import ToggleButton from "./ToggleButton.js";
53
+ import * as Filters from "./Filters.js";
54
+ import Button from "./Button.js";
20
55
  import {
21
56
  VALUE_STATE_SUCCESS,
22
57
  VALUE_STATE_ERROR,
23
58
  VALUE_STATE_WARNING,
24
- TOKENIZER_ARIA_CONTAIN_TOKEN,
25
- TOKENIZER_ARIA_CONTAIN_ONE_TOKEN,
26
- TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS,
59
+ VALUE_STATE_INFORMATION,
27
60
  INPUT_SUGGESTIONS_TITLE,
28
- ICON_ACCESSIBLE_NAME,
61
+ SELECT_OPTIONS,
62
+ MULTICOMBOBOX_DIALOG_OK_BUTTON,
63
+ VALUE_STATE_ERROR_ALREADY_SELECTED,
29
64
  } from "./generated/i18n/i18n-defaults.js";
30
65
 
31
66
  // Templates
@@ -35,6 +70,9 @@ import MultiComboBoxPopoverTemplate from "./generated/templates/MultiComboBoxPop
35
70
  // Styles
36
71
  import styles from "./generated/themes/MultiComboBox.css.js";
37
72
  import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverCommon.css.js";
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";
38
76
 
39
77
  /**
40
78
  * @public
@@ -45,28 +83,50 @@ const metadata = {
45
83
  managedSlots: true,
46
84
  slots: /** @lends sap.ui.webcomponents.main.MultiComboBox.prototype */ {
47
85
  /**
48
- * Defines the <code>ui5-multi-combobox</code> items.
86
+ * Defines the component items.
87
+ *
88
+ * @type {sap.ui.webcomponents.main.IMultiComboBoxItem[]}
89
+ * @slot items
90
+ * @public
91
+ */
92
+ "default": {
93
+ propertyName: "items",
94
+ type: HTMLElement,
95
+ invalidateOnChildChange: true,
96
+ },
97
+
98
+ /**
99
+ * Defines the icon to be displayed in the component.
100
+ *
101
+ * @type {sap.ui.webcomponents.main.IIcon}
102
+ * @slot
103
+ * @public
104
+ * @since 1.0.0-rc.9
105
+ */
106
+ icon: {
107
+ type: HTMLElement,
108
+ },
109
+
110
+ /**
111
+ * Defines the value state message that will be displayed as pop up under the component.
49
112
  * <br><br>
50
- * Example: <br>
51
- * &lt;ui5-multi-combobox><br>
52
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-li>Item #1&lt;/ui5-li><br>
53
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-li>Item #2&lt;/ui5-li><br>
54
- * &lt;/ui5-multi-combobox>
55
- * <br> <br>
56
113
  *
114
+ * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.
115
+ * <br>
116
+ * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,
117
+ * when the component is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
57
118
  * @type {HTMLElement[]}
119
+ * @since 1.0.0-rc.9
58
120
  * @slot
59
121
  * @public
60
122
  */
61
- "default": {
62
- propertyName: "items",
123
+ valueStateMessage: {
63
124
  type: HTMLElement,
64
- listenFor: { include: ["*"] },
65
125
  },
66
126
  },
67
127
  properties: /** @lends sap.ui.webcomponents.main.MultiComboBox.prototype */ {
68
128
  /**
69
- * Defines the value of the <code>ui5-multi-combobox</code>.
129
+ * Defines the value of the component.
70
130
  * <br><br>
71
131
  * <b>Note:</b> The property is updated upon typing.
72
132
  *
@@ -81,7 +141,7 @@ const metadata = {
81
141
 
82
142
  /**
83
143
  * Defines a short hint intended to aid the user with data entry when the
84
- * <code>ui5-multi-combobox</code> has no value.
144
+ * component has no value.
85
145
  * @type {string}
86
146
  * @defaultvalue ""
87
147
  * @public
@@ -103,9 +163,9 @@ const metadata = {
103
163
  },
104
164
 
105
165
  /**
106
- * Defines whether <code>ui5-multi-combobox</code> is in disabled state.
166
+ * Defines whether the component is in disabled state.
107
167
  * <br><br>
108
- * <b>Note:</b> A disabled <code>ui5-multi-combobox</code> is completely noninteractive.
168
+ * <b>Note:</b> A disabled component is completely noninteractive.
109
169
  *
110
170
  * @type {boolean}
111
171
  * @defaultvalue false
@@ -116,7 +176,7 @@ const metadata = {
116
176
  },
117
177
 
118
178
  /**
119
- * Defines the value state of the <code>ui5-multi-combobox</code>.
179
+ * Defines the value state of the component.
120
180
  * <br><br>
121
181
  * Available options are:
122
182
  * <ul>
@@ -137,9 +197,9 @@ const metadata = {
137
197
  },
138
198
 
139
199
  /**
140
- * Defines whether the <code>ui5-multi-combobox</code> is read-only.
200
+ * Defines whether the component is read-only.
141
201
  * <br><br>
142
- * <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,
143
203
  * but still provides visual feedback upon user interaction.
144
204
  *
145
205
  * @type {boolean}
@@ -151,7 +211,7 @@ const metadata = {
151
211
  },
152
212
 
153
213
  /**
154
- * Defines whether the <code>ui5-multi-combobox</code> is required.
214
+ * Defines whether the component is required.
155
215
  *
156
216
  * @type {boolean}
157
217
  * @defaultvalue false
@@ -162,11 +222,25 @@ const metadata = {
162
222
  type: Boolean,
163
223
  },
164
224
 
225
+ /**
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>.
228
+ *
229
+ * @type {string}
230
+ * @defaultvalue "StartsWithPerTerm"
231
+ * @public
232
+ */
233
+ filter: {
234
+ type: String,
235
+ defaultValue: "StartsWithPerTerm",
236
+ },
237
+
165
238
  /**
166
239
  * Indicates whether the dropdown is open. True if the dropdown is open, false otherwise.
167
240
  *
168
241
  * @type {boolean}
169
242
  * @defaultvalue false
243
+ * @readonly
170
244
  * @since 1.0.0-rc.5
171
245
  * @public
172
246
  */
@@ -175,31 +249,64 @@ const metadata = {
175
249
  },
176
250
 
177
251
  /**
178
- * Indicates whether the input is focssed
179
- * @private
252
+ * Defines the accessible aria name of the component.
253
+ *
254
+ * @type {string}
255
+ * @defaultvalue: ""
256
+ * @public
257
+ * @since 1.4.0
180
258
  */
181
- focused: {
182
- type: Boolean,
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: "",
183
275
  },
184
276
 
185
277
  _filteredItems: {
186
278
  type: Object,
187
279
  },
188
280
 
281
+ filterSelected: {
282
+ type: Boolean,
283
+ },
284
+
285
+ focused: {
286
+ type: Boolean,
287
+ },
288
+
289
+ _tokenizerFocused: {
290
+ type: Boolean,
291
+ },
292
+
189
293
  _iconPressed: {
190
294
  type: Boolean,
191
295
  noAttribute: true,
192
296
  },
193
297
 
194
- /**
195
- * Indicates whether the tokenizer is expanded or collapsed(shows the n more label)
196
- * @private
197
- */
198
- expandedTokenizer: {
199
- type: Boolean,
298
+ _inputWidth: {
299
+ type: Integer,
300
+ noAttribute: true,
200
301
  },
201
302
 
202
- filterSelected: {
303
+ _listWidth: {
304
+ type: Integer,
305
+ defaultValue: 0,
306
+ noAttribute: true,
307
+ },
308
+
309
+ _performingSelectionTwice: {
203
310
  type: Boolean,
204
311
  },
205
312
  },
@@ -213,7 +320,7 @@ const metadata = {
213
320
  change: {},
214
321
 
215
322
  /**
216
- * 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.
217
324
  *
218
325
  * @event
219
326
  * @public
@@ -250,10 +357,10 @@ const metadata = {
250
357
  *
251
358
  * <h3 class="comment-api-title">Overview</h3>
252
359
  *
253
- * 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.
254
361
  *
255
- * 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.
256
- * 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.
257
364
  * <h3>Structure</h3>
258
365
  * The <code>ui5-multi-combobox</code> consists of the following elements:
259
366
  * <ul>
@@ -280,6 +387,15 @@ const metadata = {
280
387
  * <li> Backspace - deletes the token and focus the next token. </li>
281
388
  * </ul>
282
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
+ *
283
399
  * <h3>ES6 Module Import</h3>
284
400
  *
285
401
  * <code>import "@ui5/webcomponents/dist/MultiComboBox";</code>
@@ -316,42 +432,77 @@ class MultiComboBox extends UI5Element {
316
432
  }
317
433
 
318
434
  static get staticAreaStyles() {
319
- return ResponsivePopoverCommonCss;
435
+ return [ResponsivePopoverCommonCss, ValueStateMessageCss, SuggestionsCss, MultiComboBoxPopover];
436
+ }
437
+
438
+ static get dependencies() {
439
+ return [
440
+ MultiComboBoxItem,
441
+ Tokenizer,
442
+ Token,
443
+ Icon,
444
+ ResponsivePopover,
445
+ Popover,
446
+ List,
447
+ StandardListItem,
448
+ ToggleButton,
449
+ Button,
450
+ ];
320
451
  }
321
452
 
322
453
  constructor() {
323
454
  super();
324
455
 
325
456
  this._filteredItems = [];
457
+ this.selectedValues = [];
326
458
  this._inputLastValue = "";
459
+ this._valueBeforeOpen = "";
327
460
  this._deleting = false;
328
461
  this._validationTimeout = null;
329
- this.i18nBundle = getI18nBundle("@ui5/webcomponents");
462
+ this._handleResizeBound = this._handleResize.bind(this);
463
+ this.currentItemIdx = -1;
464
+ this.FormSupport = undefined;
465
+ }
466
+
467
+ onEnterDOM() {
468
+ ResizeHandler.register(this, this._handleResizeBound);
469
+ }
470
+
471
+ onExitDOM() {
472
+ ResizeHandler.deregister(this, this._handleResizeBound);
473
+ }
474
+
475
+ _handleResize() {
476
+ this._inputWidth = this.offsetWidth;
330
477
  }
331
478
 
332
479
  _inputChange() {
333
480
  this.fireEvent("change");
334
481
  }
335
482
 
336
- _showMorePopover() {
337
- if (this.readonly) {
338
- return;
339
- }
483
+ togglePopover() {
484
+ this.allItemsPopover.toggle(this);
485
+ }
340
486
 
341
- this.filterSelected = true;
342
- this._toggleRespPopover();
487
+ togglePopoverByDropdownIcon() {
488
+ this._shouldFilterItems = false;
489
+ this.allItemsPopover.toggle(this);
343
490
  }
344
491
 
345
- togglePopover() {
346
- this._toggleRespPopover();
492
+ _showFilteredItems() {
493
+ this.filterSelected = true;
494
+ this._showMorePressed = true;
347
495
 
348
- if (!isPhone()) {
349
- this._inputDom.focus();
350
- }
496
+ this.togglePopover();
351
497
  }
352
498
 
353
499
  filterSelectedItems(event) {
354
500
  this.filterSelected = event.target.pressed;
501
+ this.selectedItems = this._filteredItems.filter(item => item.selected);
502
+ }
503
+
504
+ get _showAllItemsButtonPressed() {
505
+ return this.filterSelected;
355
506
  }
356
507
 
357
508
  get _inputDom() {
@@ -364,11 +515,17 @@ class MultiComboBox extends UI5Element {
364
515
  const filteredItems = this._filterItems(value);
365
516
  const oldValueState = this.valueState;
366
517
 
518
+ this._shouldFilterItems = true;
519
+
520
+ if (this.filterSelected) {
521
+ this.filterSelected = false;
522
+ }
523
+
367
524
  /* skip calling change event when an input with a placeholder is focused on IE
368
525
  - value of the host and the internal input should be differnt in case of actual input
369
526
  - input is called when a key is pressed => keyup should not be called yet
370
527
  */
371
- 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;
372
529
 
373
530
  if (skipFiring) {
374
531
  event.preventDefault();
@@ -385,15 +542,11 @@ class MultiComboBox extends UI5Element {
385
542
  input.value = this._inputLastValue;
386
543
  this.valueState = "Error";
387
544
 
388
- this._validationTimeout = setTimeout(() => {
389
- this.valueState = oldValueState;
390
- this._validationTimeout = null;
391
- }, 2000);
545
+ this._resetValueState(oldValueState);
392
546
 
393
547
  return;
394
548
  }
395
549
 
396
-
397
550
  this._inputLastValue = input.value;
398
551
  this.value = input.value;
399
552
  this._filteredItems = filteredItems;
@@ -402,8 +555,7 @@ class MultiComboBox extends UI5Element {
402
555
  if (filteredItems.length === 0) {
403
556
  this.allItemsPopover.close();
404
557
  } else {
405
- this.updateStaticAreaItemContentDensity();
406
- this.allItemsPopover.open(this);
558
+ this.allItemsPopover.showAt(this);
407
559
  }
408
560
  }
409
561
 
@@ -420,15 +572,37 @@ class MultiComboBox extends UI5Element {
420
572
  this.fireSelectionChange();
421
573
  }
422
574
 
423
- _tokenizerFocusOut() {
424
- const tokenizer = this.shadowRoot.querySelector("ui5-tokenizer");
425
- const tokensCount = tokenizer.tokens.length - 1;
575
+ get _getPlaceholder() {
576
+ if (this._getSelectedItems().length) {
577
+ return "";
578
+ }
579
+
580
+ return this.placeholder;
581
+ }
582
+
583
+ _handleArrowLeft() {
584
+ const cursorPosition = this.getDomRef().querySelector(`input`).selectionStart;
585
+ const isTextSelected = this.getDomRef().querySelector(`input`).selectionEnd - cursorPosition > 0;
426
586
 
427
- tokenizer.tokens.forEach(token => { token.selected = false; });
587
+ if (cursorPosition === 0 && !isTextSelected) {
588
+ this._tokenizer._focusLastToken();
589
+ }
590
+ }
428
591
 
429
- this._tokenizer.contentDom.scrollLeft = 0;
592
+ _tokenizerFocusOut(event) {
593
+ this._tokenizerFocused = false;
594
+
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;
599
+
600
+ if (!event.relatedTarget || !event.relatedTarget.hasAttribute("ui5-token")) {
601
+ this._tokenizer.tokens.forEach(token => { token.selected = false; });
602
+ this._tokenizer.scrollToStart();
603
+ }
430
604
 
431
- if (tokensCount === 0 && this._deleting) {
605
+ if (allTokensAreBeingDeleted || lastTokenBeingDeleted) {
432
606
  setTimeout(() => {
433
607
  if (!isPhone()) {
434
608
  this.shadowRoot.querySelector("input").focus();
@@ -439,58 +613,497 @@ class MultiComboBox extends UI5Element {
439
613
  }
440
614
  }
441
615
 
616
+ _tokenizerFocusIn() {
617
+ this._tokenizerFocused = true;
618
+ this.focused = false;
619
+ }
620
+
442
621
  _onkeyup() {
443
622
  this._keyDown = false;
444
623
  }
445
624
 
446
625
  async _onkeydown(event) {
447
- if (isShow(event) && !this.readonly && !this.disabled) {
626
+ const isArrowDownCtrl = isDownCtrl(event);
627
+
628
+ if (isShow(event) && !this.disabled) {
629
+ this._handleShow(event);
630
+ return;
631
+ }
632
+
633
+ if (isDownShift(event) || isUpShift(event)) {
448
634
  event.preventDefault();
449
- this._toggleRespPopover();
635
+ return;
636
+ }
637
+
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);
450
647
  }
451
648
 
452
- if (isDown(event) && this.allItemsPopover.opened && this.items.length) {
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)) {
453
660
  event.preventDefault();
454
- await this._getList();
455
- this.list._itemNavigation.current = 0;
456
- this.list.items[0].focus();
457
661
  }
458
662
 
459
- 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 === "") {
460
732
  event.preventDefault();
733
+ this._tokenizer._focusLastToken();
734
+ }
735
+ }
461
736
 
462
- const lastTokenIndex = this._tokenizer.tokens.length - 1;
737
+ _handleEscape(event) {
738
+ if (!this.allowCustomValues || (!this.open && this.allowCustomValues)) {
739
+ this.value = this._lastValue;
740
+ }
741
+ }
463
742
 
464
- if (lastTokenIndex < 0) {
465
- return;
466
- }
743
+ _handleHome(event) {
744
+ const shouldFocusToken = this._isFocusInside && event.target.selectionStart === 0 && this._tokenizer.tokens.length > 0;
467
745
 
468
- this._tokenizer.tokens[lastTokenIndex].focus();
469
- this._tokenizer._itemNav.currentIndex = lastTokenIndex;
746
+ if (shouldFocusToken) {
747
+ event.preventDefault();
748
+ this._tokenizer.tokens[0].focus();
470
749
  }
750
+ }
471
751
 
472
- this._keyDown = true;
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
+ }
473
761
  }
474
762
 
475
- _filterItems(value) {
476
- return this.items.filter(item => {
477
- return item.text
478
- && item.text.toLowerCase().startsWith(value.toLowerCase())
479
- && (this.filterSelected ? item.selected : true);
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;
480
773
  });
774
+
775
+ this.fireSelectionChange();
481
776
  }
482
777
 
483
- _toggleIcon() {
484
- this._iconPressed = !this._iconPressed;
485
- this.open = this._iconPressed;
778
+ _onValueStateKeydown(event) {
779
+ const isArrowDown = isDown(event);
780
+ const isArrowUp = isUp(event);
486
781
 
487
- this.fireEvent("open-change");
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
+ }
488
792
 
489
- if (!this._iconPressed) {
490
- this._afterClosePopover();
793
+ if (isArrowUp || isUpCtrl(event)) {
794
+ this._inputDom.focus();
491
795
  }
492
796
  }
493
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);
1034
+ }
1035
+
1036
+ _onTokenizerKeydown(event) {
1037
+ const isCtrl = !!(event.metaKey || event.ctrlKey);
1038
+
1039
+ if (isRight(event)) {
1040
+ const lastTokenIndex = this._tokenizer.tokens.length - 1;
1041
+
1042
+ if (event.target === this._tokenizer.tokens[lastTokenIndex]) {
1043
+ setTimeout(() => {
1044
+ this.shadowRoot.querySelector("input").focus();
1045
+ }, 0);
1046
+ }
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
+ }
1082
+ }
1083
+
1084
+ _filterItems(str) {
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;
1100
+ }
1101
+
1102
+ _toggle() {
1103
+ this.open = !this.open;
1104
+ this.fireEvent("open-change");
1105
+ }
1106
+
494
1107
  _getSelectedItems() {
495
1108
  // Angular 2 way data binding
496
1109
  this.selectedValues = this.items.filter(item => item.selected);
@@ -498,23 +1111,37 @@ class MultiComboBox extends UI5Element {
498
1111
  }
499
1112
 
500
1113
  _listSelectionChange(event) {
501
- event.target.items.forEach(item => {
502
- this.items.forEach(mcbItem => {
503
- if (mcbItem._id === item.getAttribute("data-ui5-token-id")) {
504
- mcbItem.selected = item.selected;
505
- }
506
- });
507
- });
1114
+ // sync list items and cb items
1115
+ this.syncItems(event.target.items);
508
1116
 
509
- 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
+ }
510
1121
 
511
- if (!event.detail.selectionComponentPressed && !isSpace(event.detail)) {
1122
+ if (!event.detail.selectionComponentPressed && !isSpace(event.detail) && !isSpaceCtrl(event.detail)) {
512
1123
  this.allItemsPopover.close();
513
1124
  this.value = "";
1125
+
1126
+ // if the item (not checkbox) is clicked, call the selection change
1127
+ if (isPhone()) {
1128
+ this.fireSelectionChange();
1129
+ }
1130
+
514
1131
  this.fireEvent("input");
515
1132
  }
516
1133
  }
517
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
+
518
1145
  fireSelectionChange() {
519
1146
  this.fireEvent("selection-change", { items: this._getSelectedItems() });
520
1147
  // Angular 2 way data binding
@@ -531,88 +1158,167 @@ class MultiComboBox extends UI5Element {
531
1158
  this.list = staticAreaItem.querySelector(".ui5-multi-combobox-all-items-list");
532
1159
  }
533
1160
 
534
- _toggleRespPopover() {
535
- this.updateStaticAreaItemContentDensity();
536
- this.allItemsPopover.toggle(this);
537
- }
538
-
539
- _focusin() {
540
- this.focused = true;
541
- }
542
-
543
- _focusout() {
544
- this.focused = false;
545
- }
546
-
547
1161
  _click(event) {
548
- if (isPhone() && !this.readonly && !this._showMorePressed) {
549
- this.updateStaticAreaItemContentDensity();
550
- this.allItemsPopover.open(this);
1162
+ if (isPhone() && !this.readonly && !this._showMorePressed && !this._deleting) {
1163
+ this.allItemsPopover.showAt(this);
551
1164
  }
552
1165
 
553
1166
  this._showMorePressed = false;
554
1167
  }
555
1168
 
556
- _afterClosePopover() {
1169
+ _afterClosePicker() {
557
1170
  // close device's keyboard and prevent further typing
558
1171
  if (isPhone()) {
559
1172
  this.blur();
560
1173
  }
561
1174
 
1175
+ this._toggle();
1176
+
1177
+ this._iconPressed = false;
562
1178
  this.filterSelected = false;
563
1179
  }
564
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
+
565
1196
  onBeforeRendering() {
566
1197
  const input = this.shadowRoot.querySelector("input");
1198
+ this.FormSupport = getFeature("FormSupport");
567
1199
  this._inputLastValue = this.value;
568
1200
 
569
1201
  if (input && !input.value) {
570
1202
  this._filteredItems = this.items;
571
1203
  }
572
1204
 
573
- const filteredItems = this._filterItems(this.value);
574
- 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
+ }
575
1214
  }
576
1215
 
577
1216
  async onAfterRendering() {
578
1217
  await this._getRespPopover();
1218
+ await this._getList();
1219
+
1220
+ this.toggle(this.shouldDisplayOnlyValueStateMessage);
1221
+ this.storeResponsivePopoverWidth();
1222
+
1223
+ this._deleting = false;
579
1224
  }
580
1225
 
581
- get valueStateTextMappings() {
582
- return {
583
- "Success": this.i18nBundle.getText(VALUE_STATE_SUCCESS),
584
- "Error": this.i18nBundle.getText(VALUE_STATE_ERROR),
585
- "Warning": this.i18nBundle.getText(VALUE_STATE_WARNING),
586
- };
1226
+ get _isPhone() {
1227
+ return isPhone();
587
1228
  }
588
1229
 
589
- get _tokenizer() {
590
- return this.shadowRoot.querySelector("ui5-tokenizer");
1230
+ _onIconMousedown() {
1231
+ this._iconPressed = true;
591
1232
  }
592
1233
 
593
- get nMoreCountText() {
594
- const iTokenCount = this._getSelectedItems().length;
1234
+ storeResponsivePopoverWidth() {
1235
+ if (this.open && !this._listWidth) {
1236
+ this._listWidth = this.list.offsetWidth;
1237
+ }
1238
+ }
595
1239
 
596
- if (iTokenCount === 0) {
597
- return this.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_TOKEN);
1240
+ toggle(isToggled) {
1241
+ if (isToggled && !this.open) {
1242
+ this.openPopover();
1243
+ } else {
1244
+ this.closePopover();
598
1245
  }
1246
+ }
599
1247
 
600
- if (iTokenCount === 1) {
601
- return this.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_ONE_TOKEN);
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();
602
1261
  }
603
1262
 
604
- return this.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS, iTokenCount);
1263
+ this.togglePopover();
605
1264
  }
606
1265
 
607
- rootFocusIn() {
608
- if (!isPhone()) {
609
- this.expandedTokenizer = true;
1266
+ async openPopover() {
1267
+ const popover = await this._getPopover();
1268
+
1269
+ if (popover) {
1270
+ popover.showAt(this);
1271
+ }
1272
+ }
1273
+
1274
+ _forwardFocusToInner() {
1275
+ this._innerInput.focus();
1276
+ }
1277
+
1278
+ async closePopover() {
1279
+ const popover = await this._getPopover();
1280
+
1281
+ popover && popover.close();
1282
+ }
1283
+
1284
+ async _getPopover() {
1285
+ const staticAreaItem = await this.getStaticAreaItemDomRef();
1286
+ return staticAreaItem.querySelector("[ui5-popover]");
1287
+ }
1288
+
1289
+ async _getResponsivePopover() {
1290
+ const staticAreaItem = await this.getStaticAreaItemDomRef();
1291
+ return staticAreaItem.querySelector("[ui5-responsive-popover]");
1292
+ }
1293
+
1294
+ async _setValueStateHeader() {
1295
+ const responsivePopover = await this._getResponsivePopover();
1296
+ this.valueStateHeader = responsivePopover.querySelector("div.ui5-responsive-popover-header.ui5-valuestatemessage-root");
1297
+ }
1298
+
1299
+ get _tokenizer() {
1300
+ return this.shadowRoot.querySelector("[ui5-tokenizer]");
1301
+ }
1302
+
1303
+ inputFocusIn() {
1304
+ if (!isPhone() || this.readonly) {
1305
+ this.focused = true;
1306
+ } else {
1307
+ this._innerInput.blur();
610
1308
  }
1309
+
1310
+ !isPhone() && this._innerInput.setSelectionRange(0, this.value.length);
1311
+ this._lastValue = this.value;
611
1312
  }
612
1313
 
613
- rootFocusOut(event) {
1314
+ inputFocusOut(event) {
614
1315
  if (!this.shadowRoot.contains(event.relatedTarget) && !this._deleting) {
615
- this.expandedTokenizer = false;
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
+ }
616
1322
  }
617
1323
  }
618
1324
 
@@ -620,22 +1326,99 @@ class MultiComboBox extends UI5Element {
620
1326
  return !this.readonly;
621
1327
  }
622
1328
 
1329
+ get _isFocusInside() {
1330
+ return !isPhone() && (this.focused || this._tokenizerFocused);
1331
+ }
1332
+
623
1333
  get selectedItemsListMode() {
624
1334
  return this.readonly ? "None" : "MultiSelect";
625
1335
  }
626
1336
 
1337
+ get _listItemsType() {
1338
+ return this.readonly ? "Inactive" : "Active";
1339
+ }
1340
+
627
1341
  get hasValueState() {
628
1342
  return this.valueState !== ValueState.None;
629
1343
  }
630
1344
 
1345
+ get hasValueStateMessage() {
1346
+ return this.hasValueState && this.valueState !== ValueState.Success;
1347
+ }
1348
+
631
1349
  get valueStateText() {
632
- 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];
633
1357
  }
634
1358
 
635
1359
  get valueStateTextId() {
636
1360
  return this.hasValueState ? `${this._id}-valueStateDesc` : undefined;
637
1361
  }
638
1362
 
1363
+ get valueStateMessageText() {
1364
+ return this.getSlottedNodes("valueStateMessage").map(el => el.cloneNode(true));
1365
+ }
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
+
1404
+ get shouldDisplayDefaultValueStateMessage() {
1405
+ return !this.valueStateMessage.length && this.hasValueStateMessage;
1406
+ }
1407
+
1408
+ get shouldDisplayOnlyValueStateMessage() {
1409
+ return this.focused && !this.readonly && this.hasValueStateMessage && !this._iconPressed;
1410
+ }
1411
+
1412
+ get valueStateTextMappings() {
1413
+ return {
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),
1419
+ };
1420
+ }
1421
+
639
1422
  get _innerInput() {
640
1423
  if (isPhone()) {
641
1424
  if (this.allItemsPopover.opened) {
@@ -647,25 +1430,57 @@ class MultiComboBox extends UI5Element {
647
1430
  }
648
1431
 
649
1432
  get _headerTitleText() {
650
- return this.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
1433
+ return MultiComboBox.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
651
1434
  }
652
1435
 
653
1436
  get _iconAccessibleNameText() {
654
- return this.i18nBundle.getText(ICON_ACCESSIBLE_NAME);
1437
+ return MultiComboBox.i18nBundle.getText(SELECT_OPTIONS);
1438
+ }
1439
+
1440
+ get _dialogOkButton() {
1441
+ return MultiComboBox.i18nBundle.getText(MULTICOMBOBOX_DIALOG_OK_BUTTON);
1442
+ }
1443
+
1444
+ get _tokenizerExpanded() {
1445
+ return (this._isFocusInside || this.open) && !this.readonly;
1446
+ }
1447
+
1448
+ get _valueStatePopoverHorizontalAlign() {
1449
+ return this.effectiveDir !== "rtl" ? "Left" : "Right";
1450
+ }
1451
+
1452
+ get classes() {
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
+ },
1459
+ popoverValueState: {
1460
+ "ui5-valuestatemessage-root": true,
1461
+ "ui5-valuestatemessage-header": true,
1462
+ "ui5-valuestatemessage--success": this.valueState === ValueState.Success,
1463
+ "ui5-valuestatemessage--error": this.valueState === ValueState.Error,
1464
+ "ui5-valuestatemessage--warning": this.valueState === ValueState.Warning,
1465
+ "ui5-valuestatemessage--information": this.valueState === ValueState.Information,
1466
+ },
1467
+ };
1468
+ }
1469
+
1470
+ get styles() {
1471
+ return {
1472
+ popoverValueStateMessage: {
1473
+ "width": `${this._listWidth}px`,
1474
+ "display": this._listWidth === 0 ? "none" : "inline-block",
1475
+ },
1476
+ popoverHeader: {
1477
+ "max-width": isPhone() ? "100%" : `${this._inputWidth}px`,
1478
+ },
1479
+ };
655
1480
  }
656
1481
 
657
1482
  static async onDefine() {
658
- await Promise.all([
659
- MultiComboBoxItem.define(),
660
- Tokenizer.define(),
661
- Token.define(),
662
- Icon.define(),
663
- ResponsivePopover.define(),
664
- List.define(),
665
- StandardListItem.define(),
666
- ToggleButton,
667
- fetchI18nBundle("@ui5/webcomponents"),
668
- ]);
1483
+ MultiComboBox.i18nBundle = await getI18nBundle("@ui5/webcomponents");
669
1484
  }
670
1485
  }
671
1486