@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
package/dist/Input.js CHANGED
@@ -1,8 +1,12 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
3
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
4
- import RenderScheduler from "@ui5/webcomponents-base/dist/RenderScheduler.js";
5
- import { isIE, isPhone } from "@ui5/webcomponents-base/dist/Device.js";
4
+ import {
5
+ isIE,
6
+ isPhone,
7
+ isSafari,
8
+ isAndroid,
9
+ } from "@ui5/webcomponents-base/dist/Device.js";
6
10
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
7
11
  import { getFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
8
12
  import {
@@ -10,15 +14,33 @@ import {
10
14
  isDown,
11
15
  isSpace,
12
16
  isEnter,
17
+ isBackSpace,
18
+ isDelete,
19
+ isEscape,
20
+ isTabNext,
21
+ isPageUp,
22
+ isPageDown,
23
+ isHome,
24
+ isEnd,
13
25
  } from "@ui5/webcomponents-base/dist/Keys.js";
14
26
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
15
- import { fetchI18nBundle, getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
16
- import "@ui5/webcomponents-icons/dist/icons/decline.js";
27
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
28
+ import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
29
+ import { getCaretPosition, setCaretPosition } from "@ui5/webcomponents-base/dist/util/Caret.js";
30
+ import getActiveElement from "@ui5/webcomponents-base/dist/util/getActiveElement.js";
31
+ import "@ui5/webcomponents-icons/dist/decline.js";
32
+ import "@ui5/webcomponents-icons/dist/not-editable.js";
33
+ import "@ui5/webcomponents-icons/dist/error.js";
34
+ import "@ui5/webcomponents-icons/dist/alert.js";
35
+ import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
36
+ import "@ui5/webcomponents-icons/dist/information.js";
17
37
  import InputType from "./types/InputType.js";
18
38
  import Popover from "./Popover.js";
39
+ import Icon from "./Icon.js";
19
40
  // Templates
20
41
  import InputTemplate from "./generated/templates/InputTemplate.lit.js";
21
42
  import InputPopoverTemplate from "./generated/templates/InputPopoverTemplate.lit.js";
43
+ import * as Filters from "./Filters.js";
22
44
 
23
45
  import {
24
46
  VALUE_STATE_SUCCESS,
@@ -27,12 +49,18 @@ import {
27
49
  VALUE_STATE_WARNING,
28
50
  INPUT_SUGGESTIONS,
29
51
  INPUT_SUGGESTIONS_TITLE,
52
+ INPUT_SUGGESTIONS_ONE_HIT,
53
+ INPUT_SUGGESTIONS_MORE_HITS,
54
+ INPUT_SUGGESTIONS_NO_HIT,
30
55
  } from "./generated/i18n/i18n-defaults.js";
31
56
 
32
57
  // Styles
33
58
  import styles from "./generated/themes/Input.css.js";
34
59
  import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverCommon.css.js";
35
60
  import ValueStateMessageCss from "./generated/themes/ValueStateMessage.css.js";
61
+ import SuggestionsCss from "./generated/themes/Suggestions.css.js";
62
+
63
+ const rgxFloat = new RegExp(/(\+|-)?\d+(\.|,)\d+/);
36
64
 
37
65
  /**
38
66
  * @public
@@ -44,9 +72,9 @@ const metadata = {
44
72
  slots: /** @lends sap.ui.webcomponents.main.Input.prototype */ {
45
73
 
46
74
  /**
47
- * Defines the icon to be displayed in the <code>ui5-input</code>.
75
+ * Defines the icon to be displayed in the component.
48
76
  *
49
- * @type {HTMLElement[]}
77
+ * @type {sap.ui.webcomponents.main.IIcon[]}
50
78
  * @slot
51
79
  * @public
52
80
  */
@@ -55,7 +83,7 @@ const metadata = {
55
83
  },
56
84
 
57
85
  /**
58
- * Defines the <code>ui5-input</code> suggestion items.
86
+ * Defines the suggestion items.
59
87
  * <br><br>
60
88
  * Example:
61
89
  * <br><br>
@@ -65,22 +93,27 @@ const metadata = {
65
93
  * &lt;/ui5-input>
66
94
  * <br>
67
95
  * <ui5-input show-suggestions>
96
+ * <ui5-suggestion-group-item text="Group #1"></ui5-suggestion-group-item>
68
97
  * <ui5-suggestion-item text="Item #1"></ui5-suggestion-item>
69
98
  * <ui5-suggestion-item text="Item #2"></ui5-suggestion-item>
99
+ * <ui5-suggestion-group-item text="Group #2"></ui5-suggestion-group-item>
100
+ * <ui5-suggestion-item text="Item #3"></ui5-suggestion-item>
101
+ * <ui5-suggestion-item text="Item #4"></ui5-suggestion-item>
70
102
  * </ui5-input>
71
103
  * <br><br>
72
- * <b>Note:</b> The suggestion would be displayed only if the <code>showSuggestions</code>
104
+ * <b>Note:</b> The suggestions would be displayed only if the <code>showSuggestions</code>
73
105
  * property is set to <code>true</code>.
74
106
  * <br><br>
75
- * <b>Note:</b> The &lt;ui5-suggestion-item> is recommended to be used as a suggestion item.
76
- * Importing the Input Suggestions Support feature:
107
+ * <b>Note:</b> The <code>&lt;ui5-suggestion-item&gt;</code> and <code>&lt;ui5-suggestion-group-item&gt;</code> are recommended to be used as suggestion items.
108
+ * <br><br>
109
+ * <b>Note:</b> Importing the Input Suggestions Support feature:
77
110
  * <br>
78
111
  * <code>import "@ui5/webcomponents/dist/features/InputSuggestions.js";</code>
79
112
  * <br>
80
- * also automatically imports the &lt;ui5-suggestion-item> for your convenience.
113
+ * automatically imports the <code>&lt;ui5-suggestion-item></code> and <code>&lt;ui5-suggestion-group-item></code> for your convenience.
81
114
  *
82
- * @type {HTMLElement[]}
83
- * @slot
115
+ * @type {sap.ui.webcomponents.main.IInputSuggestionItem[]}
116
+ * @slot suggestionItems
84
117
  * @public
85
118
  */
86
119
  "default": {
@@ -99,15 +132,15 @@ const metadata = {
99
132
  },
100
133
 
101
134
  /**
102
- * Defines the value state message that will be displayed as pop up under the <code>ui5-input</code>.
135
+ * Defines the value state message that will be displayed as pop up under the component.
103
136
  * <br><br>
104
137
  *
105
138
  * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.
106
- * <br>
139
+ * <br><br>
107
140
  * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,
108
- * when the <code>ui5-input</code> is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
109
- * <br>
110
- * <b>Note:</b> If the <code>ui5-input</code> has <code>suggestionItems</code>,
141
+ * when the component is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
142
+ * <br><br>
143
+ * <b>Note:</b> If the component has <code>suggestionItems</code>,
111
144
  * the <code>valueStateMessage</code> would be displayed as part of the same popover, if used on desktop, or dialog - on phone.
112
145
  * @type {HTMLElement[]}
113
146
  * @since 1.0.0-rc.6
@@ -121,9 +154,9 @@ const metadata = {
121
154
  properties: /** @lends sap.ui.webcomponents.main.Input.prototype */ {
122
155
 
123
156
  /**
124
- * Defines whether the <code>ui5-input</code> is in disabled state.
157
+ * Defines whether the component is in disabled state.
125
158
  * <br><br>
126
- * <b>Note:</b> A disabled <code>ui5-input</code> is completely noninteractive.
159
+ * <b>Note:</b> A disabled component is completely noninteractive.
127
160
  *
128
161
  * @type {boolean}
129
162
  * @defaultvalue false
@@ -133,9 +166,24 @@ const metadata = {
133
166
  type: Boolean,
134
167
  },
135
168
 
169
+ /**
170
+ * Defines if characters within the suggestions are to be highlighted
171
+ * in case the input value matches parts of the suggestions text.
172
+ * <br><br>
173
+ * <b>Note:</b> takes effect when <code>showSuggestions</code> is set to <code>true</code>
174
+ *
175
+ * @type {boolean}
176
+ * @defaultvalue false
177
+ * @private
178
+ * @sicne 1.0.0-rc.8
179
+ */
180
+ highlight: {
181
+ type: Boolean,
182
+ },
183
+
136
184
  /**
137
185
  * Defines a short hint intended to aid the user with data entry when the
138
- * <code>ui5-input</code> has no value.
186
+ * component has no value.
139
187
  * @type {string}
140
188
  * @defaultvalue ""
141
189
  * @public
@@ -145,9 +193,9 @@ const metadata = {
145
193
  },
146
194
 
147
195
  /**
148
- * Defines whether the <code>ui5-input</code> is read-only.
196
+ * Defines whether the component is read-only.
149
197
  * <br><br>
150
- * <b>Note:</b> A read-only <code>ui5-input</code> is not editable,
198
+ * <b>Note:</b> A read-only component is not editable,
151
199
  * but still provides visual feedback upon user interaction.
152
200
  *
153
201
  * @type {boolean}
@@ -159,7 +207,7 @@ const metadata = {
159
207
  },
160
208
 
161
209
  /**
162
- * Defines whether the <code>ui5-input</code> is required.
210
+ * Defines whether the component is required.
163
211
  *
164
212
  * @type {boolean}
165
213
  * @defaultvalue false
@@ -171,7 +219,19 @@ const metadata = {
171
219
  },
172
220
 
173
221
  /**
174
- * Defines the HTML type of the <code>ui5-input</code>.
222
+ * Defines whether the value will be autcompleted to match an item
223
+ *
224
+ * @type {boolean}
225
+ * @defaultvalue false
226
+ * @public
227
+ * @since 1.4.0
228
+ */
229
+ noTypeahead: {
230
+ type: Boolean,
231
+ },
232
+
233
+ /**
234
+ * Defines the HTML type of the component.
175
235
  * Available options are: <code>Text</code>, <code>Email</code>,
176
236
  * <code>Number</code>, <code>Password</code>, <code>Tel</code>, and <code>URL</code>.
177
237
  * <br><br>
@@ -193,7 +253,7 @@ const metadata = {
193
253
  },
194
254
 
195
255
  /**
196
- * Defines the value of the <code>ui5-input</code>.
256
+ * Defines the value of the component.
197
257
  * <br><br>
198
258
  * <b>Note:</b> The property is updated upon typing.
199
259
  *
@@ -206,7 +266,7 @@ const metadata = {
206
266
  },
207
267
 
208
268
  /**
209
- * Defines the value state of the <code>ui5-input</code>.
269
+ * Defines the value state of the component.
210
270
  * <br><br>
211
271
  * Available options are:
212
272
  * <ul>
@@ -227,7 +287,7 @@ const metadata = {
227
287
  },
228
288
 
229
289
  /**
230
- * Determines the name with which the <code>ui5-input</code> will be submitted in an HTML form.
290
+ * Determines the name with which the component will be submitted in an HTML form.
231
291
  *
232
292
  * <br><br>
233
293
  * <b>Important:</b> For the <code>name</code> property to have effect, you must add the following import to your project:
@@ -235,7 +295,7 @@ const metadata = {
235
295
  *
236
296
  * <br><br>
237
297
  * <b>Note:</b> When set, a native <code>input</code> HTML element
238
- * will be created inside the <code>ui5-input</code> so that it can be submitted as
298
+ * will be created inside the component so that it can be submitted as
239
299
  * part of an HTML form. Do not use this property unless you need to submit a form.
240
300
  *
241
301
  * @type {string}
@@ -247,10 +307,10 @@ const metadata = {
247
307
  },
248
308
 
249
309
  /**
250
- * Defines whether the <code>ui5-input</code> should show suggestions, if such are present.
310
+ * Defines whether the component should show suggestions, if such are present.
251
311
  * <br><br>
252
- * <b>Note:</b>
253
- * Don`t forget to import the <code>InputSuggestions</code> module from <code>"@ui5/webcomponents/dist/features/InputSuggestions.js"</code> to enable this functionality.
312
+ * <b>Note:</b> You need to import the <code>InputSuggestions</code> module
313
+ * from <code>"@ui5/webcomponents/dist/features/InputSuggestions.js"</code> to enable this functionality.
254
314
  * @type {boolean}
255
315
  * @defaultvalue false
256
316
  * @public
@@ -261,7 +321,8 @@ const metadata = {
261
321
 
262
322
  /**
263
323
  * Sets the maximum number of characters available in the input field.
264
- *
324
+ * <br><br>
325
+ * <b>Note:</b> This property is not compatible with the ui5-input type InputType.Number. If the ui5-input type is set to Number, the maxlength value is ignored.
265
326
  * @type {Integer}
266
327
  * @since 1.0.0-rc.5
267
328
  * @public
@@ -271,13 +332,51 @@ const metadata = {
271
332
  },
272
333
 
273
334
  /**
274
- * @type {String}
275
- * @since 1.0.0-rc.8
276
- * @private
335
+ * Defines the accessible aria name of the component.
336
+ *
337
+ * @type {string}
338
+ * @public
339
+ * @since 1.0.0-rc.15
340
+ */
341
+ accessibleName: {
342
+ type: String,
343
+ },
344
+
345
+ /**
346
+ * Receives id(or many ids) of the elements that label the input.
347
+ *
348
+ * @type {string}
277
349
  * @defaultvalue ""
350
+ * @public
351
+ * @since 1.0.0-rc.15
278
352
  */
279
- ariaLabel: {
353
+ accessibleNameRef: {
280
354
  type: String,
355
+ defaultValue: "",
356
+ },
357
+
358
+ /**
359
+ * Defines whether the clear icon of the input will be shown.
360
+ *
361
+ * @type {boolean}
362
+ * @defaultvalue false
363
+ * @public
364
+ * @since 1.2.0
365
+ */
366
+ showClearIcon: {
367
+ type: Boolean,
368
+ },
369
+
370
+ /**
371
+ * Defines whether the clear icon is visible.
372
+ *
373
+ * @type {boolean}
374
+ * @defaultvalue false
375
+ * @private
376
+ * @since 1.2.0
377
+ */
378
+ effectiveShowClearIcon: {
379
+ type: Boolean,
281
380
  },
282
381
 
283
382
  /**
@@ -287,6 +386,30 @@ const metadata = {
287
386
  type: Boolean,
288
387
  },
289
388
 
389
+ openOnMobile: {
390
+ type: Boolean,
391
+ },
392
+
393
+ open: {
394
+ type: Boolean,
395
+ },
396
+
397
+ /**
398
+ * Determines whether to manually show the suggestions popover
399
+ * @private
400
+ */
401
+ _forceOpen: {
402
+ type: Boolean,
403
+ },
404
+
405
+ /**
406
+ * Indicates whether the visual focus is on the value state header
407
+ * @private
408
+ */
409
+ _isValueStateFocused: {
410
+ type: Boolean,
411
+ },
412
+
290
413
  _input: {
291
414
  type: Object,
292
415
  },
@@ -295,7 +418,7 @@ const metadata = {
295
418
  type: Object,
296
419
  },
297
420
 
298
- _wrapperAccInfo: {
421
+ _nativeInputAttributes: {
299
422
  type: Object,
300
423
  },
301
424
 
@@ -327,7 +450,7 @@ const metadata = {
327
450
  change: {},
328
451
 
329
452
  /**
330
- * Fired when the value of the <code>ui5-input</code> changes at each keystroke,
453
+ * Fired when the value of the component changes at each keystroke,
331
454
  * and when a suggestion item has been selected.
332
455
  *
333
456
  * @event
@@ -335,23 +458,11 @@ const metadata = {
335
458
  */
336
459
  input: {},
337
460
 
338
- /**
339
- * Fired when user presses Enter key on the <code>ui5-input</code>.
340
- * <br><br>
341
- * <b>Note:</b> The event is fired independent of whether there was a change before or not.
342
- * If change was performed, the event is fired after the change event.
343
- * The event is also fired when an item of the select list is selected by pressing Enter.
344
- *
345
- * @event
346
- * @public
347
- */
348
- submit: {},
349
-
350
461
  /**
351
462
  * Fired when a suggestion item, that is displayed in the suggestion popup, is selected.
352
463
  *
353
464
  * @event sap.ui.webcomponents.main.Input#suggestion-item-select
354
- * @param {HTMLElement} item The selected item
465
+ * @param {HTMLElement} item The selected item.
355
466
  * @public
356
467
  */
357
468
  "suggestion-item-select": {
@@ -365,7 +476,7 @@ const metadata = {
365
476
  * as a preview, before the final selection.
366
477
  *
367
478
  * @event sap.ui.webcomponents.main.Input#suggestion-item-preview
368
- * @param {HTMLElement} item The previewed suggestion item
479
+ * @param {HTMLElement} item The previewed suggestion item.
369
480
  * @param {HTMLElement} targetRef The DOM ref of the suggestion item.
370
481
  * @public
371
482
  * @since 1.0.0-rc.8
@@ -381,9 +492,9 @@ const metadata = {
381
492
  * Fired when the user scrolls the suggestion popover.
382
493
  *
383
494
  * @event sap.ui.webcomponents.main.Input#suggestion-scroll
384
- * @param {Integer} scrollTop The current scroll position
385
- * @param {HTMLElement} scrollContainer The scroll container
386
- * @public
495
+ * @param {Integer} scrollTop The current scroll position.
496
+ * @param {HTMLElement} scrollContainer The scroll container.
497
+ * @protected
387
498
  * @since 1.0.0-rc.8
388
499
  */
389
500
  "suggestion-scroll": {
@@ -405,7 +516,7 @@ const metadata = {
405
516
  * that are displayed in a popover right under the input.
406
517
  * <br><br>
407
518
  * The text field can be editable or read-only (<code>readonly</code> property),
408
- * and it can be enabled or disabled (<code>enabled</code> property).
519
+ * and it can be enabled or disabled (<code>disabled</code> property).
409
520
  * To visualize semantic states, such as "error" or "warning", the <code>valueState</code> property is provided.
410
521
  * When the user makes changes to the text, the change event is fired,
411
522
  * which enables you to react on any text change.
@@ -415,6 +526,21 @@ const metadata = {
415
526
  * "@ui5/webcomponents/dist/features/InputSuggestions.js"
416
527
  * to enable the suggestions functionality.
417
528
  *
529
+ * <h3>Keyboard Handling</h3>
530
+ * The <code>ui5-input</code> provides the following keyboard shortcuts:
531
+ * <br>
532
+ *
533
+ * <ul>
534
+ * <li>[ESC] - Closes the suggestion list, if open. If closed or not enabled, cancels changes and reverts to the value which the Input field had when it got the focus.</li>
535
+ * <li>[ENTER] or [RETURN] - If suggestion list is open takes over the current matching item and closes it. If value state or group header is focused, does nothing.</li>
536
+ * <li>[DOWN] - Focuses the next matching item in the suggestion list.</li>
537
+ * <li>[UP] - Focuses the previous matching item in the suggestion list.</li>
538
+ * <li>[HOME] - If focus is in the text input, moves caret before the first character. If focus is in the list, highlights the first item and updates the input accordingly.</li>
539
+ * <li>[END] - If focus is in the text input, moves caret after the last character. If focus is in the list, highlights the last item and updates the input accordingly.</li>
540
+ * <li>[PAGEUP] - If focus is in the list, moves highlight up by page size (10 items by default). If focus is in the input, does nothing.</li>
541
+ * <li>[PAGEDOWN] - If focus is in the list, moves highlight down by page size (10 items by default). If focus is in the input, does nothing.</li>
542
+ * </ul>
543
+ *
418
544
  * <h3>ES6 Module Import</h3>
419
545
  *
420
546
  * <code>import "@ui5/webcomponents/dist/Input.js";</code>
@@ -426,7 +552,8 @@ const metadata = {
426
552
  * @alias sap.ui.webcomponents.main.Input
427
553
  * @extends sap.ui.webcomponents.base.UI5Element
428
554
  * @tagname ui5-input
429
- * @appenddocs SuggestionItem
555
+ * @appenddocs SuggestionItem SuggestionGroupItem
556
+ * @implements sap.ui.webcomponents.main.IInput
430
557
  * @public
431
558
  */
432
559
  class Input extends UI5Element {
@@ -451,7 +578,7 @@ class Input extends UI5Element {
451
578
  }
452
579
 
453
580
  static get staticAreaStyles() {
454
- return [ResponsivePopoverCommonCss, ValueStateMessageCss];
581
+ return [ResponsivePopoverCommonCss, ValueStateMessageCss, SuggestionsCss];
455
582
  }
456
583
 
457
584
  constructor() {
@@ -459,19 +586,45 @@ class Input extends UI5Element {
459
586
  // Indicates if there is selected suggestionItem.
460
587
  this.hasSuggestionItemSelected = false;
461
588
 
462
- // Represents the value before user moves selection between the suggestion items.
463
- // Used to register and fire "input" event upon [SPACE] or [ENTER].
464
- // Note: the property "value" is updated upon selection move and can`t be used.
589
+ // Represents the value before user moves selection from suggestion item to another
590
+ // and its value is updated after each move.
591
+ // Note: Used to register and fire "input" event upon [SPACE] or [ENTER].
592
+ // Note: The property "value" is updated upon selection move and can`t be used.
465
593
  this.valueBeforeItemSelection = "";
466
594
 
595
+ // Represents the value before user moves selection between the suggestion items
596
+ // and its value remains the same when the user navigates up or down the list.
597
+ // Note: Used to cancel selection upon [ESC].
598
+ this.valueBeforeItemPreview = "";
599
+
600
+ // Indicates if the user selection has been canceled with [ESC].
601
+ this.suggestionSelectionCanceled = false;
602
+
603
+ // Indicates if the change event has already been fired
604
+ this._changeFiredValue = null;
605
+
467
606
  // tracks the value between focus in and focus out to detect that change event should be fired.
468
607
  this.previousValue = undefined;
469
608
 
470
609
  // Indicates, if the component is rendering for first time.
471
610
  this.firstRendering = true;
472
611
 
612
+ // The value that should be highlited.
613
+ this.highlightValue = "";
614
+
615
+ // The last value confirmed by the user with "ENTER"
616
+ this.lastConfirmedValue = "";
617
+
618
+ // The value that the user is typed in the input
619
+ this.valueBeforeAutoComplete = "";
620
+
621
+ // Indicates, if the user pressed the BACKSPACE key.
622
+ this._backspaceKeyDown = false;
623
+
624
+ // Indicates, if the user is typing. Gets reset once popup is closed
625
+ this.isTyping = false;
626
+
473
627
  // all sementic events
474
- this.EVENT_SUBMIT = "submit";
475
628
  this.EVENT_CHANGE = "change";
476
629
  this.EVENT_INPUT = "input";
477
630
  this.EVENT_SUGGESTION_ITEM_SELECT = "suggestion-item-select";
@@ -483,8 +636,6 @@ class Input extends UI5Element {
483
636
  // Suggestions array initialization
484
637
  this.suggestionsTexts = [];
485
638
 
486
- this.i18nBundle = getI18nBundle("@ui5/webcomponents");
487
-
488
639
  this._handleResizeBound = this._handleResize.bind(this);
489
640
  }
490
641
 
@@ -499,42 +650,70 @@ class Input extends UI5Element {
499
650
  onBeforeRendering() {
500
651
  if (this.showSuggestions) {
501
652
  this.enableSuggestions();
502
- this.suggestionsTexts = this.Suggestions.defaultSlotProperties();
653
+ this.suggestionsTexts = this.Suggestions.defaultSlotProperties(this.highlightValue);
654
+ }
655
+
656
+ this.effectiveShowClearIcon = (this.showClearIcon && !!this.value && !this.readonly && !this.disabled);
657
+
658
+ this.FormSupport = getFeature("FormSupport");
659
+ const hasItems = this.suggestionItems.length;
660
+ const hasValue = !!this.value;
661
+ const isFocused = this.shadowRoot.querySelector("input") === getActiveElement();
662
+
663
+ if (this._isPhone) {
664
+ this.open = this.openOnMobile;
665
+ } else if (this._forceOpen) {
666
+ this.open = true;
667
+ } else {
668
+ this.open = hasValue && hasItems && isFocused && this.isTyping;
503
669
  }
504
670
 
505
- const FormSupport = getFeature("FormSupport");
506
- if (FormSupport) {
507
- FormSupport.syncNativeHiddenInput(this);
671
+ if (this.FormSupport) {
672
+ this.FormSupport.syncNativeHiddenInput(this);
508
673
  } else if (this.name) {
509
674
  console.warn(`In order for the "name" property to have effect, you should also: import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js";`); // eslint-disable-line
510
675
  }
511
- }
512
676
 
513
- onAfterRendering() {
514
- if (!this.firstRendering && !isPhone() && this.Suggestions) {
515
- const shouldOpenSuggestions = this.shouldOpenSuggestions();
677
+ const value = this.value;
678
+ const innerInput = this.getInputDOMRefSync();
679
+
680
+ if (!innerInput || !value) {
681
+ return;
682
+ }
516
683
 
517
- this.updateStaticAreaItemContentDensity();
518
- this.Suggestions.toggle(shouldOpenSuggestions);
684
+ const autoCompletedChars = innerInput.selectionEnd - innerInput.selectionStart;
519
685
 
520
- RenderScheduler.whenFinished().then(async () => {
521
- this._listWidth = await this.Suggestions._getListWidth();
522
- });
686
+ // Typehead causes issues on Android devices, so we disable it for now
687
+ // If there is already a selection the autocomplete has already been performed
688
+ if (this._shouldAutocomplete && !isAndroid() && !autoCompletedChars && !this._isKeyNavigation) {
689
+ const item = this._getFirstMatchingItem(value);
523
690
 
524
- if (!isPhone() && shouldOpenSuggestions) {
525
- // Set initial focus to the native input
526
- this.inputDomRef && this.inputDomRef.focus();
527
- }
691
+ // Keep the original typed in text intact
692
+ this.valueBeforeAutoComplete += value.slice(this.valueBeforeAutoComplete.length, value.length);
693
+ this._handleTypeAhead(item, value);
528
694
  }
695
+ }
696
+
697
+ async onAfterRendering() {
698
+ if (this.Suggestions && this.showSuggestions) {
699
+ this.Suggestions.toggle(this.open, {
700
+ preventFocusRestore: true,
701
+ });
529
702
 
530
- if (!this.firstRendering && this.hasValueStateMessage) {
531
- this.toggle(this.shouldDisplayOnlyValueStateMessage);
703
+ this._listWidth = await this.Suggestions._getListWidth();
532
704
  }
533
705
 
534
- this.firstRendering = false;
706
+ if (this.shouldDisplayOnlyValueStateMessage) {
707
+ this.openPopover();
708
+ } else {
709
+ this.closePopover();
710
+ }
535
711
  }
536
712
 
537
713
  _onkeydown(event) {
714
+ this._isKeyNavigation = true;
715
+ this._shouldAutocomplete = !this.noTypeahead && !(isBackSpace(event) || isDelete(event) || isEscape(event));
716
+
538
717
  if (isUp(event)) {
539
718
  return this._handleUp(event);
540
719
  }
@@ -547,15 +726,55 @@ class Input extends UI5Element {
547
726
  return this._handleSpace(event);
548
727
  }
549
728
 
729
+ if (isTabNext(event)) {
730
+ return this._handleTab(event);
731
+ }
732
+
550
733
  if (isEnter(event)) {
551
734
  return this._handleEnter(event);
552
735
  }
553
736
 
737
+ if (isPageUp(event)) {
738
+ return this._handlePageUp(event);
739
+ }
740
+
741
+ if (isPageDown(event)) {
742
+ return this._handlePageDown(event);
743
+ }
744
+
745
+ if (isHome(event)) {
746
+ return this._handleHome(event);
747
+ }
748
+
749
+ if (isEnd(event)) {
750
+ return this._handleEnd(event);
751
+ }
752
+
753
+ if (isEscape(event)) {
754
+ return this._handleEscape(event);
755
+ }
756
+
757
+ if (isBackSpace(event)) {
758
+ this._backspaceKeyDown = true;
759
+ this._selectedText = window.getSelection().toString();
760
+ }
761
+
762
+ if (this.showSuggestions) {
763
+ this._clearPopoverFocusAndSelection();
764
+ }
765
+
554
766
  this._keyDown = true;
767
+ this._isKeyNavigation = false;
555
768
  }
556
769
 
557
770
  _onkeyup(event) {
771
+ // The native Delete event does not update the value property "on time". So, the (native) change event is always fired with the old value
772
+ if (isDelete(event)) {
773
+ this.value = event.target.value;
774
+ }
775
+
558
776
  this._keyDown = false;
777
+ this._backspaceKeyDown = false;
559
778
  }
560
779
 
561
780
  /* Event handling */
@@ -577,28 +796,126 @@ class Input extends UI5Element {
577
796
  }
578
797
  }
579
798
 
799
+ _handleTab(event) {
800
+ if (this.Suggestions && (this.previousValue !== this.value)) {
801
+ this.Suggestions.onTab(event);
802
+ }
803
+ }
804
+
580
805
  _handleEnter(event) {
581
806
  const itemPressed = !!(this.Suggestions && this.Suggestions.onEnter(event));
807
+
808
+ // Check for autocompleted item
809
+ const matchingItem = this.suggestionItems.find(item => {
810
+ return (item.text && item.text === this.value) || (item.textContent === this.value);
811
+ });
812
+
813
+ if (matchingItem) {
814
+ const itemText = matchingItem.text ? matchingItem.text : matchingItem.textContent;
815
+
816
+ this.getInputDOMRefSync().setSelectionRange(itemText.length, itemText.length);
817
+ if (!itemPressed) {
818
+ this.selectSuggestion(matchingItem, true);
819
+ this.open = false;
820
+ }
821
+ }
822
+
582
823
  if (!itemPressed) {
583
824
  this.fireEventByAction(this.ACTION_ENTER);
825
+ this.lastConfirmedValue = this.value;
826
+
827
+ if (this.FormSupport) {
828
+ this.FormSupport.triggerFormSubmit(this);
829
+ }
830
+
831
+ return;
832
+ }
833
+
834
+ this.focused = true;
835
+ }
836
+
837
+ _handlePageUp(event) {
838
+ if (this._isSuggestionsFocused) {
839
+ this.Suggestions.onPageUp(event);
840
+ } else {
841
+ event.preventDefault();
842
+ }
843
+ }
844
+
845
+ _handlePageDown(event) {
846
+ if (this._isSuggestionsFocused) {
847
+ this.Suggestions.onPageDown(event);
848
+ } else {
849
+ event.preventDefault();
850
+ }
851
+ }
852
+
853
+ _handleHome(event) {
854
+ if (this._isSuggestionsFocused) {
855
+ this.Suggestions.onHome(event);
856
+ }
857
+ }
858
+
859
+ _handleEnd(event) {
860
+ if (this._isSuggestionsFocused) {
861
+ this.Suggestions.onEnd(event);
862
+ }
863
+ }
864
+
865
+ _handleEscape() {
866
+ const hasSuggestions = this.showSuggestions && !!this.Suggestions;
867
+ const isOpen = hasSuggestions && this.open;
868
+ const innerInput = this.getInputDOMRefSync();
869
+ const isAutoCompleted = innerInput.selectionEnd - innerInput.selectionStart > 0;
870
+
871
+ if (!isOpen) {
872
+ this.value = this.lastConfirmedValue ? this.lastConfirmedValue : this.previousValue;
873
+ return;
874
+ }
875
+
876
+ if (hasSuggestions && isOpen && this.Suggestions._isItemOnTarget()) {
877
+ // Restore the value.
878
+ this.value = this.valueBeforeAutoComplete || this.valueBeforeItemPreview;
879
+
880
+ // Mark that the selection has been canceled, so the popover can close
881
+ // and not reopen, due to receiving focus.
882
+ this.suggestionSelectionCanceled = true;
883
+ this.focused = true;
884
+
885
+ return;
886
+ }
887
+
888
+ if (isAutoCompleted) {
889
+ this.value = this.valueBeforeAutoComplete;
890
+ }
891
+
892
+ if (this._isValueStateFocused) {
893
+ this._isValueStateFocused = false;
894
+ this.focused = true;
584
895
  }
585
896
  }
586
897
 
587
898
  async _onfocusin(event) {
899
+ await this.getInputDOMRef();
900
+
901
+ this.valueBeforeAutoComplete = "";
588
902
  this.focused = true; // invalidating property
589
903
  this.previousValue = this.value;
904
+ this.valueBeforeItemPreview = this.value;
905
+ this._shouldAutocomplete = false;
590
906
 
591
- await this.getInputDOMRef();
592
- this._inputIconFocused = event.target && event.target === this.querySelector("ui5-icon");
907
+ this._inputIconFocused = event.target && event.target === this.querySelector("[ui5-icon]");
593
908
  }
594
909
 
595
910
  _onfocusout(event) {
596
911
  const focusedOutToSuggestions = this.Suggestions && event.relatedTarget && event.relatedTarget.shadowRoot && event.relatedTarget.shadowRoot.contains(this.Suggestions.responsivePopover);
597
912
  const focusedOutToValueStateMessage = event.relatedTarget && event.relatedTarget.shadowRoot && event.relatedTarget.shadowRoot.querySelector(".ui5-valuestatemessage-root");
598
913
 
914
+ this._preventNextChange = this.effectiveShowClearIcon && this.shadowRoot.contains(event.relatedTarget);
915
+
599
916
  // if focusout is triggered by pressing on suggestion item or value state message popover, skip invalidation, because re-rendering
600
917
  // will happen before "itemPress" event, which will make item "active" state not visualized
601
- if (focusedOutToSuggestions || focusedOutToValueStateMessage) {
918
+ if (focusedOutToSuggestions || focusedOutToValueStateMessage) {
602
919
  event.stopImmediatePropagation();
603
920
  return;
604
921
  }
@@ -609,24 +926,62 @@ class Input extends UI5Element {
609
926
  return;
610
927
  }
611
928
 
612
- if (this.popover) {
613
- this.popover.close(false, false, true);
614
- }
929
+ this.open = false;
930
+ this._clearPopoverFocusAndSelection();
615
931
 
616
932
  this.previousValue = "";
933
+ this.lastConfirmedValue = "";
617
934
  this.focused = false; // invalidating property
935
+ this.isTyping = false;
936
+ this._forceOpen = false;
937
+ }
938
+
939
+ _clearPopoverFocusAndSelection() {
940
+ if (!this.showSuggestions || !this.Suggestions) {
941
+ return;
942
+ }
943
+
944
+ this._isValueStateFocused = false;
945
+ this.hasSuggestionItemSelected = false;
946
+
947
+ this.Suggestions._deselectItems();
948
+ this.Suggestions._clearItemFocus();
618
949
  }
619
950
 
620
951
  _click(event) {
621
952
  if (isPhone() && !this.readonly && this.Suggestions) {
622
- this.updateStaticAreaItemContentDensity();
623
- this.Suggestions.open(this);
624
- this.isRespPopoverOpen = true;
953
+ this.blur();
954
+ this.openOnMobile = true;
955
+ }
956
+ }
957
+
958
+ _handleNativeInputChange() {
959
+ // The native change sometimes fires too early and getting input's value in the listener would return
960
+ // the previous value instead of the most recent one. This would make things consistent.
961
+ clearTimeout(this._nativeChangeDebounce);
962
+ this._nativeChangeDebounce = setTimeout(() => this._handleChange(), 100);
963
+ }
964
+
965
+ _handleChange() {
966
+ if (this._preventNextChange) {
967
+ this._preventNextChange = false;
968
+ return;
969
+ }
970
+
971
+ if (this._changeFiredValue !== this.value) {
972
+ this._changeFiredValue = this.value;
973
+ this.fireEvent(this.EVENT_CHANGE);
625
974
  }
626
975
  }
627
976
 
628
- _handleChange(event) {
629
- this.fireEvent(this.EVENT_CHANGE);
977
+ _clear() {
978
+ this.value = "";
979
+ this.fireEvent(this.EVENT_INPUT);
980
+ this._handleChange();
981
+
982
+ if (!this._isPhone) {
983
+ this.focus();
984
+ }
630
985
  }
631
986
 
632
987
  _scroll(event) {
@@ -637,9 +992,53 @@ class Input extends UI5Element {
637
992
  });
638
993
  }
639
994
 
640
- async _handleInput(event) {
641
- await this.getInputDOMRef();
642
- if (event.target === this.inputDomRef) {
995
+ _handleInput(event) {
996
+ const inputDomRef = this.getInputDOMRefSync();
997
+ const emptyValueFiredOnNumberInput = this.value && this.isTypeNumber && !inputDomRef.value;
998
+
999
+ this.suggestionSelectionCanceled = false;
1000
+
1001
+ if (emptyValueFiredOnNumberInput && !this._backspaceKeyDown) {
1002
+ // For input with type="Number", if the delimiter is entered second time,
1003
+ // the inner input is firing event with empty value
1004
+ return;
1005
+ }
1006
+
1007
+ if (emptyValueFiredOnNumberInput && this._backspaceKeyDown) {
1008
+ // Issue: when the user removes the character(s) after the delimeter of numeric Input,
1009
+ // the native input is firing event with an empty value and we have to manually handle this case,
1010
+ // otherwise the entire input will be cleared as we sync the "value".
1011
+
1012
+ // There are tree scenarios:
1013
+ // Example: type "123.4" and press BACKSPACE - the native input is firing event with empty value.
1014
+ // Example: type "123.456", select/mark "456" and press BACKSPACE - the native input is firing event with empty value.
1015
+ // Example: type "123.456", select/mark "123.456" and press BACKSPACE - the native input is firing event with empty value,
1016
+ // but this time that's really the case.
1017
+
1018
+ // Perform manual handling in case of floating number
1019
+ // and if the user did not select the entire input value
1020
+ if (this._selectedText.indexOf(",") > -1) {
1021
+ this._selectedText = this._selectedText.replace(",", ".");
1022
+ }
1023
+
1024
+ if (rgxFloat.test(this.value) && this._selectedText !== this.value) {
1025
+ const newValue = this.removeFractionalPart(this.value);
1026
+
1027
+ // update state
1028
+ this.value = newValue;
1029
+ this.highlightValue = newValue;
1030
+ this.valueBeforeItemPreview = newValue;
1031
+
1032
+ // fire events
1033
+ this.fireEvent(this.EVENT_INPUT);
1034
+ this.fireEvent("value-changed");
1035
+ return;
1036
+ }
1037
+ }
1038
+
1039
+ if (event.target === inputDomRef) {
1040
+ this.focused = true;
1041
+
643
1042
  // stop the native event, as the semantic "input" would be fired.
644
1043
  event.stopImmediatePropagation();
645
1044
  }
@@ -648,77 +1047,121 @@ class Input extends UI5Element {
648
1047
  - value of the host and the internal input should be differnt in case of actual input
649
1048
  - input is called when a key is pressed => keyup should not be called yet
650
1049
  */
651
- const skipFiring = (this.inputDomRef.value === this.value) && isIE() && !this._keyDown && !!this.placeholder;
1050
+ const skipFiring = (inputDomRef.value === this.value) && isIE() && !this._keyDown && !!this.placeholder;
652
1051
 
653
1052
  !skipFiring && this.fireEventByAction(this.ACTION_USER_INPUT);
654
1053
 
655
1054
  this.hasSuggestionItemSelected = false;
1055
+ this._isValueStateFocused = false;
656
1056
 
657
1057
  if (this.Suggestions) {
658
1058
  this.Suggestions.updateSelectedItemPosition(null);
659
1059
  }
1060
+
1061
+ this.isTyping = true;
1062
+ }
1063
+
1064
+ _startsWithMatchingItems(str) {
1065
+ const textProp = this.suggestionItems[0].text ? "text" : "textContent";
1066
+ return Filters.StartsWith(str, this.suggestionItems, textProp);
1067
+ }
1068
+
1069
+ _getFirstMatchingItem(current) {
1070
+ if (!this.suggestionItems.length) {
1071
+ return;
1072
+ }
1073
+
1074
+ const matchingItems = this._startsWithMatchingItems(current).filter(item => !item.groupItem);
1075
+
1076
+ if (matchingItems.length) {
1077
+ return matchingItems[0];
1078
+ }
1079
+ }
1080
+
1081
+ _handleTypeAhead(item, filterValue) {
1082
+ if (!item) {
1083
+ return;
1084
+ }
1085
+
1086
+ const value = item.text ? item.text : item.textContent || "";
1087
+ const innerInput = this.getInputDOMRefSync();
1088
+
1089
+ filterValue = filterValue || "";
1090
+ this.value = value;
1091
+
1092
+ innerInput.value = value;
1093
+ innerInput.setSelectionRange(filterValue.length, value.length);
660
1094
  }
661
1095
 
662
1096
  _handleResize() {
663
1097
  this._inputWidth = this.offsetWidth;
664
1098
  }
665
1099
 
666
- _closeRespPopover() {
667
- this.Suggestions.close();
1100
+ _closeRespPopover(preventFocusRestore) {
1101
+ this.Suggestions.close(preventFocusRestore);
668
1102
  }
669
1103
 
670
1104
  async _afterOpenPopover() {
671
1105
  // Set initial focus to the native input
672
1106
  if (isPhone()) {
673
- await this.getInputDOMRef();
674
- this.inputDomRef.focus();
1107
+ (await this.getInputDOMRef()).focus();
675
1108
  }
676
1109
  }
677
1110
 
678
1111
  _afterClosePopover() {
679
- this._announceSelectedItem();
1112
+ this.announceSelectedItem();
680
1113
 
681
1114
  // close device's keyboard and prevent further typing
682
1115
  if (isPhone()) {
683
1116
  this.blur();
1117
+ this.focused = false;
684
1118
  }
685
- }
686
1119
 
687
- toggle(isToggled) {
688
- if (isToggled && !this.isRespPopoverOpen) {
689
- this.openPopover();
690
- } else {
691
- this.closePopover();
692
- }
1120
+ this.isTyping = false;
1121
+ this.openOnMobile = false;
1122
+ this.open = false;
1123
+ this._forceOpen = false;
693
1124
  }
694
1125
 
695
1126
  /**
696
- * Checks if the popover is open.
697
- * @returns {Boolean} true if the popover is open, false otherwise
698
- * @public
1127
+ * Checks if the value state popover is open.
1128
+ * @returns {boolean} true if the value state popover is open, false otherwise
699
1129
  */
700
- isOpen() {
1130
+ isValueStateOpened() {
701
1131
  return !!this._isPopoverOpen;
702
1132
  }
703
1133
 
704
1134
  async openPopover() {
705
- this.popover = await this._getPopover();
706
- if (this.popover) {
1135
+ const popover = await this._getPopover();
1136
+
1137
+ if (popover) {
707
1138
  this._isPopoverOpen = true;
708
- this.popover.openBy(this);
1139
+ popover.showAt(this);
709
1140
  }
710
1141
  }
711
1142
 
712
- closePopover() {
713
- if (this.isOpen()) {
714
- this._isPopoverOpen = false;
715
- this.popover && this.popover.close();
716
- }
1143
+ async closePopover() {
1144
+ const popover = await this._getPopover();
1145
+
1146
+ popover && popover.close();
717
1147
  }
718
1148
 
719
1149
  async _getPopover() {
720
1150
  const staticAreaItem = await this.getStaticAreaItemDomRef();
721
- return staticAreaItem.querySelector("ui5-popover");
1151
+ return staticAreaItem && staticAreaItem.querySelector("[ui5-popover]");
1152
+ }
1153
+
1154
+ /**
1155
+ * Manually opens the suggestions popover, assuming suggestions are enabled. Items must be preloaded for it to open.
1156
+ * @since 1.3.0
1157
+ * @public
1158
+ */
1159
+ openPicker() {
1160
+ if (!this.suggestionItems.length || this.disabled || this.readonly) {
1161
+ return;
1162
+ }
1163
+
1164
+ this._forceOpen = true;
722
1165
  }
723
1166
 
724
1167
  enableSuggestions() {
@@ -727,20 +1170,14 @@ class Input extends UI5Element {
727
1170
  }
728
1171
 
729
1172
  const Suggestions = getFeature("InputSuggestions");
1173
+
730
1174
  if (Suggestions) {
731
- this.Suggestions = new Suggestions(this, "suggestionItems");
1175
+ this.Suggestions = new Suggestions(this, "suggestionItems", true);
732
1176
  } else {
733
1177
  throw new Error(`You have to import "@ui5/webcomponents/dist/features/InputSuggestions.js" module to use ui5-input suggestions`);
734
1178
  }
735
1179
  }
736
1180
 
737
- shouldOpenSuggestions() {
738
- return !!(this.suggestionItems.length
739
- && this.focused
740
- && this.showSuggestions
741
- && !this.hasSuggestionItemSelected);
742
- }
743
-
744
1181
  selectSuggestion(item, keyboardUsed) {
745
1182
  if (item.group) {
746
1183
  return;
@@ -751,26 +1188,49 @@ class Input extends UI5Element {
751
1188
  ? this.valueBeforeItemSelection !== itemText : this.value !== itemText;
752
1189
 
753
1190
  this.hasSuggestionItemSelected = true;
754
- this.fireEvent(this.EVENT_SUGGESTION_ITEM_SELECT, { item });
755
1191
 
756
1192
  if (fireInput) {
757
1193
  this.value = itemText;
758
1194
  this.valueBeforeItemSelection = itemText;
1195
+ this.lastConfirmedValue = itemText;
759
1196
  this.fireEvent(this.EVENT_INPUT);
760
- this.fireEvent(this.EVENT_CHANGE);
1197
+ this._handleChange();
761
1198
  }
1199
+
1200
+ this.valueBeforeItemPreview = "";
1201
+ this.suggestionSelectionCanceled = false;
1202
+
1203
+ this.fireEvent(this.EVENT_SUGGESTION_ITEM_SELECT, { item });
1204
+
1205
+ this.isTyping = false;
1206
+ this.openOnMobile = false;
1207
+ this._forceOpen = false;
762
1208
  }
763
1209
 
764
1210
  previewSuggestion(item) {
765
1211
  this.valueBeforeItemSelection = this.value;
766
- this.value = item.group ? "" : item.textContent;
767
- this._announceSelectedItem();
1212
+ this.updateValueOnPreview(item);
1213
+ this.announceSelectedItem();
768
1214
  this._previewItem = item;
769
1215
  }
770
1216
 
1217
+ /**
1218
+ * Updates the input value on item preview.
1219
+ * @param {Object} item The item that is on preview
1220
+ */
1221
+ updateValueOnPreview(item) {
1222
+ const noPreview = item.type === "Inactive" || item.group;
1223
+ const innerInput = this.getInputDOMRefSync();
1224
+ const itemValue = noPreview ? this.valueBeforeItemPreview : (item.effectiveTitle || item.textContent);
1225
+
1226
+ this.value = itemValue;
1227
+ innerInput.value = itemValue;
1228
+ innerInput.setSelectionRange(this.valueBeforeAutoComplete.length, this.value.length);
1229
+ }
1230
+
771
1231
  /**
772
1232
  * The suggestion item on preview.
773
- * @type { ui5-suggestion-item }
1233
+ * @type { sap.ui.webcomponents.main.IInputSuggestionItem }
774
1234
  * @readonly
775
1235
  * @public
776
1236
  */
@@ -789,11 +1249,23 @@ class Input extends UI5Element {
789
1249
  return;
790
1250
  }
791
1251
 
792
- const inputValue = this.getInputValue();
793
- const isSubmit = action === this.ACTION_ENTER;
1252
+ const inputValue = await this.getInputValue();
794
1253
  const isUserInput = action === this.ACTION_USER_INPUT;
795
1254
 
1255
+ const input = await this.getInputDOMRef();
1256
+ const cursorPosition = input.selectionStart;
1257
+
796
1258
  this.value = inputValue;
1259
+ this.highlightValue = inputValue;
1260
+ this.valueBeforeItemPreview = inputValue;
1261
+
1262
+ if (isSafari()) {
1263
+ // When setting the value by hand, Safari moves the cursor when typing in the middle of the text (See #1761)
1264
+ setTimeout(() => {
1265
+ input.selectionStart = cursorPosition;
1266
+ input.selectionEnd = cursorPosition;
1267
+ }, 0);
1268
+ }
797
1269
 
798
1270
  if (isUserInput) { // input
799
1271
  this.fireEvent(this.EVENT_INPUT);
@@ -802,39 +1274,49 @@ class Input extends UI5Element {
802
1274
  return;
803
1275
  }
804
1276
 
805
- if (isSubmit) { // submit
806
- this.fireEvent(this.EVENT_SUBMIT);
807
- }
808
-
809
1277
  // In IE, pressing the ENTER does not fire change
810
1278
  const valueChanged = (this.previousValue !== undefined) && (this.previousValue !== this.value);
811
- if (isIE() && isSubmit && valueChanged) {
812
- this.fireEvent(this.EVENT_CHANGE);
1279
+ if (isIE() && action === this.ACTION_ENTER && valueChanged) {
1280
+ this._handleChange();
813
1281
  }
814
1282
  }
815
1283
 
816
- getInputValue() {
817
- const inputDOM = this.getDomRef();
818
- if (inputDOM) {
819
- return this.inputDomRef.value;
1284
+ async getInputValue() {
1285
+ const domRef = this.getDomRef();
1286
+
1287
+ if (domRef) {
1288
+ return (await this.getInputDOMRef()).value;
820
1289
  }
821
1290
  return "";
822
1291
  }
823
1292
 
824
1293
  async getInputDOMRef() {
825
- let inputDomRef;
826
-
827
1294
  if (isPhone() && this.Suggestions) {
828
- await this.Suggestions._respPopover();
829
- inputDomRef = this.Suggestions && this.Suggestions.responsivePopover.querySelector(".ui5-input-inner-phone");
1295
+ await this.Suggestions._getSuggestionPopover();
1296
+ return this.Suggestions && this.Suggestions.responsivePopover.querySelector(".ui5-input-inner-phone");
830
1297
  }
831
1298
 
832
- if (!inputDomRef) {
833
- inputDomRef = this.getDomRef().querySelector(`#${this.getInputId()}`);
1299
+ return this.nativeInput;
1300
+ }
1301
+
1302
+ getInputDOMRefSync() {
1303
+ if (isPhone() && this.Suggestions) {
1304
+ return this.Suggestions && this.Suggestions.responsivePopover.querySelector(".ui5-input-inner-phone");
834
1305
  }
835
1306
 
836
- this.inputDomRef = inputDomRef;
837
- return this.inputDomRef;
1307
+ return this.nativeInput;
1308
+ }
1309
+
1310
+ /**
1311
+ * Returns a reference to the native input element
1312
+ * @protected
1313
+ */
1314
+ get nativeInput() {
1315
+ return this.getDomRef() && this.getDomRef().querySelector(`input`);
1316
+ }
1317
+
1318
+ get nativeInputWidth() {
1319
+ return this.nativeInput && this.nativeInput.offsetWidth;
838
1320
  }
839
1321
 
840
1322
  getLabelableElementId() {
@@ -846,6 +1328,20 @@ class Input extends UI5Element {
846
1328
  return this.suggestionItems[key];
847
1329
  }
848
1330
 
1331
+ /**
1332
+ * Returns if the suggestions popover is scrollable.
1333
+ * The method returns <code>Promise</code> that resolves to true,
1334
+ * if the popup is scrollable and false otherwise.
1335
+ * @returns {Promise}
1336
+ */
1337
+ isSuggestionsScrollable() {
1338
+ if (!this.Suggestions) {
1339
+ return Promise.resolve(false);
1340
+ }
1341
+
1342
+ return this.Suggestions._isScrollable();
1343
+ }
1344
+
849
1345
  getInputId() {
850
1346
  return `${this._id}-inner`;
851
1347
  }
@@ -856,13 +1352,23 @@ class Input extends UI5Element {
856
1352
  onItemMouseOver(event) {
857
1353
  const item = event.target;
858
1354
  const suggestion = this.getSuggestionByListItem(item);
859
- suggestion.fireEvent("mouseover", { targetRef: item });
1355
+ suggestion && suggestion.fireEvent("mouseover", {
1356
+ item: suggestion,
1357
+ targetRef: item,
1358
+ });
860
1359
  }
861
1360
 
862
1361
  onItemMouseOut(event) {
863
1362
  const item = event.target;
864
1363
  const suggestion = this.getSuggestionByListItem(item);
865
- suggestion.fireEvent("mouseout", { targetRef: item });
1364
+ suggestion && suggestion.fireEvent("mouseout", {
1365
+ item: suggestion,
1366
+ targetRef: item,
1367
+ });
1368
+ }
1369
+
1370
+ onItemMouseDown(event) {
1371
+ event.preventDefault();
866
1372
  }
867
1373
 
868
1374
  onItemSelected(item, keyboardUsed) {
@@ -871,10 +1377,8 @@ class Input extends UI5Element {
871
1377
 
872
1378
  onItemPreviewed(item) {
873
1379
  this.previewSuggestion(item);
874
- const suggestionItem = this.getSuggestionByListItem(item);
875
-
876
1380
  this.fireEvent("suggestion-item-preview", {
877
- item: suggestionItem,
1381
+ item: this.getSuggestionByListItem(item),
878
1382
  targetRef: item,
879
1383
  });
880
1384
  }
@@ -884,17 +1388,15 @@ class Input extends UI5Element {
884
1388
  onClose() {}
885
1389
 
886
1390
  valueStateTextMappings() {
887
- const i18nBundle = this.i18nBundle;
888
-
889
1391
  return {
890
- "Success": i18nBundle.getText(VALUE_STATE_SUCCESS),
891
- "Information": i18nBundle.getText(VALUE_STATE_INFORMATION),
892
- "Error": i18nBundle.getText(VALUE_STATE_ERROR),
893
- "Warning": i18nBundle.getText(VALUE_STATE_WARNING),
1392
+ "Success": Input.i18nBundle.getText(VALUE_STATE_SUCCESS),
1393
+ "Information": Input.i18nBundle.getText(VALUE_STATE_INFORMATION),
1394
+ "Error": Input.i18nBundle.getText(VALUE_STATE_ERROR),
1395
+ "Warning": Input.i18nBundle.getText(VALUE_STATE_WARNING),
894
1396
  };
895
1397
  }
896
1398
 
897
- _announceSelectedItem() {
1399
+ announceSelectedItem() {
898
1400
  const invisibleText = this.shadowRoot.querySelector(`#${this._id}-selectionText`);
899
1401
 
900
1402
  if (this.Suggestions && this.Suggestions._isItemOnTarget()) {
@@ -909,13 +1411,17 @@ class Input extends UI5Element {
909
1411
  }
910
1412
 
911
1413
  get _headerTitleText() {
912
- return this.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
1414
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
913
1415
  }
914
1416
 
915
1417
  get inputType() {
916
1418
  return this.type.toLowerCase();
917
1419
  }
918
1420
 
1421
+ get isTypeNumber() {
1422
+ return this.type === InputType.Number;
1423
+ }
1424
+
919
1425
  get suggestionsTextId() {
920
1426
  return this.showSuggestions ? `${this._id}-suggestionsText` : "";
921
1427
  }
@@ -927,31 +1433,57 @@ class Input extends UI5Element {
927
1433
  get accInfo() {
928
1434
  const ariaHasPopupDefault = this.showSuggestions ? "true" : undefined;
929
1435
  const ariaAutoCompleteDefault = this.showSuggestions ? "list" : undefined;
1436
+ const ariaDescribedBy = this._inputAccInfo.ariaDescribedBy ? `${this.suggestionsTextId} ${this.valueStateTextId} ${this._inputAccInfo.ariaDescribedBy}`.trim() : `${this.suggestionsTextId} ${this.valueStateTextId}`.trim();
1437
+
930
1438
  return {
931
- "wrapper": {
932
- },
933
1439
  "input": {
934
- "ariaDescribedBy": this._inputAccInfo.ariaDescribedBy ? `${this.suggestionsTextId} ${this.valueStateTextId} ${this._inputAccInfo.ariaDescribedBy}`.trim() : `${this.suggestionsTextId} ${this.valueStateTextId}`.trim(),
1440
+ "ariaRoledescription": this._inputAccInfo && (this._inputAccInfo.ariaRoledescription || undefined),
1441
+ "ariaDescribedBy": ariaDescribedBy || undefined,
935
1442
  "ariaInvalid": this.valueState === ValueState.Error ? "true" : undefined,
936
1443
  "ariaHasPopup": this._inputAccInfo.ariaHasPopup ? this._inputAccInfo.ariaHasPopup : ariaHasPopupDefault,
937
1444
  "ariaAutoComplete": this._inputAccInfo.ariaAutoComplete ? this._inputAccInfo.ariaAutoComplete : ariaAutoCompleteDefault,
938
1445
  "role": this._inputAccInfo && this._inputAccInfo.role,
939
- "ariaOwns": this._inputAccInfo && this._inputAccInfo.ariaOwns,
1446
+ "ariaControls": this._inputAccInfo && this._inputAccInfo.ariaControls,
940
1447
  "ariaExpanded": this._inputAccInfo && this._inputAccInfo.ariaExpanded,
941
1448
  "ariaDescription": this._inputAccInfo && this._inputAccInfo.ariaDescription,
942
- "ariaLabel": this.ariaLabel,
1449
+ "ariaLabel": (this._inputAccInfo && this._inputAccInfo.ariaLabel) || getEffectiveAriaLabelText(this),
943
1450
  },
944
1451
  };
945
1452
  }
946
1453
 
1454
+ get nativeInputAttributes() {
1455
+ return {
1456
+ "min": this.isTypeNumber ? this._nativeInputAttributes.min : undefined,
1457
+ "max": this.isTypeNumber ? this._nativeInputAttributes.max : undefined,
1458
+ "step": this.isTypeNumber ? (this._nativeInputAttributes.step || "any") : undefined,
1459
+ };
1460
+ }
1461
+
1462
+ get ariaValueStateHiddenText() {
1463
+ if (!this.hasValueStateMessage) {
1464
+ return;
1465
+ }
1466
+
1467
+ if (this.shouldDisplayDefaultValueStateMessage) {
1468
+ return this.valueStateText;
1469
+ }
1470
+
1471
+ return this.valueStateMessageText.map(el => el.textContent).join(" ");
1472
+ }
1473
+
947
1474
  get itemSelectionAnnounce() {
948
1475
  return this.Suggestions ? this.Suggestions.itemSelectionAnnounce : undefined;
949
1476
  }
950
1477
 
951
1478
  get classes() {
952
1479
  return {
1480
+ popover: {
1481
+ "ui5-suggestions-popover": !this.isPhone && this.showSuggestions,
1482
+ "ui5-suggestions-popover-with-value-state-header": !this.isPhone && this.showSuggestions && this.hasValueStateMessage,
1483
+ },
953
1484
  popoverValueState: {
954
1485
  "ui5-valuestatemessage-root": true,
1486
+ "ui5-valuestatemessage-header": true,
955
1487
  "ui5-valuestatemessage--success": this.valueState === ValueState.Success,
956
1488
  "ui5-valuestatemessage--error": this.valueState === ValueState.Error,
957
1489
  "ui5-valuestatemessage--warning": this.valueState === ValueState.Warning,
@@ -961,16 +1493,32 @@ class Input extends UI5Element {
961
1493
  }
962
1494
 
963
1495
  get styles() {
964
- return {
1496
+ const remSizeIxPx = parseInt(getComputedStyle(document.documentElement).fontSize);
1497
+
1498
+ const stylesObject = {
965
1499
  popoverHeader: {
966
- "width": `${this._inputWidth}px`,
1500
+ "max-width": `${this._inputWidth}px`,
967
1501
  },
968
1502
  suggestionPopoverHeader: {
969
1503
  "display": this._listWidth === 0 ? "none" : "inline-block",
970
1504
  "width": `${this._listWidth}px`,
971
- "padding": "0.5625rem 1rem",
972
1505
  },
1506
+ suggestionsPopover: {
1507
+ "min-width": `${this._inputWidth}px`,
1508
+ "max-width": (this._inputWidth / remSizeIxPx) > 40 ? `${this._inputWidth}px` : "40rem",
1509
+ },
1510
+ innerInput: {},
973
1511
  };
1512
+
1513
+ if (this.nativeInputWidth < 48) {
1514
+ stylesObject.innerInput.padding = "0";
1515
+ }
1516
+
1517
+ return stylesObject;
1518
+ }
1519
+
1520
+ get suggestionSeparators() {
1521
+ return "None";
974
1522
  }
975
1523
 
976
1524
  get valueStateMessageText() {
@@ -978,7 +1526,7 @@ class Input extends UI5Element {
978
1526
  }
979
1527
 
980
1528
  get shouldDisplayOnlyValueStateMessage() {
981
- return this.hasValueStateMessage && !this.shouldOpenSuggestions() && this.focused;
1529
+ return this.hasValueStateMessage && !this.readonly && !this.open && this.focused;
982
1530
  }
983
1531
 
984
1532
  get shouldDisplayDefaultValueStateMessage() {
@@ -1000,21 +1548,128 @@ class Input extends UI5Element {
1000
1548
  }
1001
1549
 
1002
1550
  get suggestionsText() {
1003
- return this.i18nBundle.getText(INPUT_SUGGESTIONS);
1551
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS);
1552
+ }
1553
+
1554
+ get availableSuggestionsCount() {
1555
+ if (this.showSuggestions && (this.value || this.Suggestions.isOpened())) {
1556
+ switch (this.suggestionsTexts.length) {
1557
+ case 0:
1558
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS_NO_HIT);
1559
+
1560
+ case 1:
1561
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS_ONE_HIT);
1562
+
1563
+ default:
1564
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS_MORE_HITS, this.suggestionsTexts.length);
1565
+ }
1566
+ }
1567
+
1568
+ return undefined;
1004
1569
  }
1005
1570
 
1006
1571
  get step() {
1007
- return this.type === InputType.Number ? "any" : undefined;
1572
+ return this.isTypeNumber ? "any" : undefined;
1008
1573
  }
1009
1574
 
1010
1575
  get _isPhone() {
1011
1576
  return isPhone();
1012
1577
  }
1013
1578
 
1579
+ get _isSuggestionsFocused() {
1580
+ return !this.focused && this.Suggestions && this.Suggestions.isOpened();
1581
+ }
1582
+
1583
+ /**
1584
+ * Returns the placeholder value.
1585
+ * @protected
1586
+ */
1587
+ get _placeholder() {
1588
+ return this.placeholder;
1589
+ }
1590
+
1591
+ /**
1592
+ * This method is relevant for sap_horizon theme only
1593
+ */
1594
+ get _valueStateInputIcon() {
1595
+ const iconPerValueState = {
1596
+ Error: `<path xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" d="M10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20ZM7.70711 13.7071C7.31658 14.0976 6.68342 14.0976 6.29289 13.7071C5.90237 13.3166 5.90237 12.6834 6.29289 12.2929L8.58579 10L6.29289 7.70711C5.90237 7.31658 5.90237 6.68342 6.29289 6.29289C6.68342 5.90237 7.31658 5.90237 7.70711 6.29289L10 8.58579L12.2929 6.29289C12.6834 5.90237 13.3166 5.90237 13.7071 6.29289C14.0976 6.68342 14.0976 7.31658 13.7071 7.70711L11.4142 10L13.7071 12.2929C14.0976 12.6834 14.0976 13.3166 13.7071 13.7071C13.3166 14.0976 12.6834 14.0976 12.2929 13.7071L10 11.4142L7.70711 13.7071Z" fill="#EE3939"/>`,
1597
+ Warning: `<path xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" d="M11.8619 0.49298C11.6823 0.187541 11.3544 0 11 0C10.6456 0 10.3177 0.187541 10.1381 0.49298L0.138066 17.493C-0.0438112 17.8022 -0.0461447 18.1851 0.13195 18.4965C0.310046 18.8079 0.641283 19 1 19H21C21.3587 19 21.69 18.8079 21.868 18.4965C22.0461 18.1851 22.0438 17.8022 21.8619 17.493L11.8619 0.49298ZM11 6C11.5523 6 12 6.44772 12 7V10C12 10.5523 11.5523 11 11 11C10.4477 11 10 10.5523 10 10V7C10 6.44772 10.4477 6 11 6ZM11 16C11.8284 16 12.5 15.3284 12.5 14.5C12.5 13.6716 11.8284 13 11 13C10.1716 13 9.5 13.6716 9.5 14.5C9.5 15.3284 10.1716 16 11 16Z" fill="#F58B00"/>`,
1598
+ Success: `<path xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" d="M0 10C0 15.5228 4.47715 20 10 20C15.5228 20 20 15.5228 20 10C20 4.47715 15.5228 0 10 0C4.47715 0 0 4.47715 0 10ZM14.7071 6.29289C14.3166 5.90237 13.6834 5.90237 13.2929 6.29289L8 11.5858L6.70711 10.2929C6.31658 9.90237 5.68342 9.90237 5.29289 10.2929C4.90237 10.6834 4.90237 11.3166 5.29289 11.7071L7.29289 13.7071C7.68342 14.0976 8.31658 14.0976 8.70711 13.7071L14.7071 7.70711C15.0976 7.31658 15.0976 6.68342 14.7071 6.29289Z" fill="#36A41D"/>`,
1599
+ Information: `<path xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" d="M3 0C1.34315 0 0 1.34315 0 3V15C0 16.6569 1.34315 18 3 18H15C16.6569 18 18 16.6569 18 15V3C18 1.34315 16.6569 0 15 0H3ZM9 6.5C9.82843 6.5 10.5 5.82843 10.5 5C10.5 4.17157 9.82843 3.5 9 3.5C8.17157 3.5 7.5 4.17157 7.5 5C7.5 5.82843 8.17157 6.5 9 6.5ZM9 8.5C9.55228 8.5 10 8.94772 10 9.5V13.5C10 14.0523 9.55228 14.5 9 14.5C8.44771 14.5 8 14.0523 8 13.5V9.5C8 8.94772 8.44771 8.5 9 8.5Z" fill="#1B90FF"/>`,
1600
+ };
1601
+
1602
+ const result = `
1603
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="20" viewBox="0 0 20 20" fill="none">
1604
+ ${iconPerValueState[this.valueState]};
1605
+ </svg>
1606
+ `;
1607
+
1608
+ return this.valueState !== ValueState.None ? result : "";
1609
+ }
1610
+
1611
+ get _valueStatePopoverHorizontalAlign() {
1612
+ return this.effectiveDir !== "rtl" ? "Left" : "Right";
1613
+ }
1614
+
1615
+ /**
1616
+ * This method is relevant for sap_horizon theme only
1617
+ */
1618
+ get _valueStateMessageInputIcon() {
1619
+ const iconPerValueState = {
1620
+ Error: "error",
1621
+ Warning: "alert",
1622
+ Success: "sys-enter-2",
1623
+ Information: "information",
1624
+ };
1625
+
1626
+ return this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : "";
1627
+ }
1628
+
1629
+ /**
1630
+ * Returns the caret position inside the native input
1631
+ * @protected
1632
+ */
1633
+ getCaretPosition() {
1634
+ return getCaretPosition(this.nativeInput);
1635
+ }
1636
+
1637
+ /**
1638
+ * Sets the caret to a certain position inside the native input
1639
+ * @protected
1640
+ * @param pos
1641
+ */
1642
+ setCaretPosition(pos) {
1643
+ setCaretPosition(this.nativeInput, pos);
1644
+ }
1645
+
1646
+ /**
1647
+ * Removes the fractional part of floating-point number.
1648
+ * @param {string} value the numeric value of Input of type "Number"
1649
+ */
1650
+ removeFractionalPart(value) {
1651
+ if (value.includes(".")) {
1652
+ return value.slice(0, value.indexOf("."));
1653
+ }
1654
+ if (value.includes(",")) {
1655
+ return value.slice(0, value.indexOf(","));
1656
+ }
1657
+
1658
+ return value;
1659
+ }
1660
+
1661
+ static get dependencies() {
1662
+ const Suggestions = getFeature("InputSuggestions");
1663
+
1664
+ return [Popover, Icon].concat(Suggestions ? Suggestions.dependencies : []);
1665
+ }
1666
+
1014
1667
  static async onDefine() {
1015
- await Promise.all([
1016
- Popover.define(),
1017
- fetchI18nBundle("@ui5/webcomponents"),
1668
+ const Suggestions = getFeature("InputSuggestions");
1669
+
1670
+ [Input.i18nBundle] = await Promise.all([
1671
+ getI18nBundle("@ui5/webcomponents"),
1672
+ Suggestions ? Suggestions.init() : Promise.resolve(),
1018
1673
  ]);
1019
1674
  }
1020
1675
  }