@ui5/webcomponents 0.0.0-c6155714e → 0.0.0-c638668a1

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 (1235) hide show
  1. package/CHANGELOG.md +1049 -1
  2. package/README.md +144 -41
  3. package/customI18n.js +50 -0
  4. package/dist/Assets-static.js +6 -0
  5. package/dist/Assets.js +3 -2
  6. package/dist/Avatar.js +392 -0
  7. package/dist/AvatarGroup.js +603 -0
  8. package/dist/Badge.js +48 -28
  9. package/dist/Breadcrumbs.js +575 -0
  10. package/dist/BreadcrumbsItem.js +103 -0
  11. package/dist/BusyIndicator.js +171 -19
  12. package/dist/Button.js +207 -49
  13. package/dist/Calendar.js +363 -394
  14. package/dist/CalendarDate.js +45 -0
  15. package/dist/CalendarHeader.js +139 -54
  16. package/dist/CalendarPart.js +111 -0
  17. package/dist/Card.js +47 -157
  18. package/dist/CardHeader.js +288 -0
  19. package/dist/Carousel.js +690 -0
  20. package/dist/CheckBox.js +190 -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 +524 -0
  25. package/dist/ComboBox.js +1109 -0
  26. package/dist/ComboBoxFilters.js +40 -0
  27. package/dist/ComboBoxGroupItem.js +70 -0
  28. package/dist/ComboBoxItem.js +49 -0
  29. package/dist/CustomListItem.js +38 -9
  30. package/dist/DateComponentBase.js +168 -0
  31. package/dist/DatePicker.js +515 -286
  32. package/dist/DateRangePicker.js +350 -0
  33. package/dist/DateTimePicker.js +430 -0
  34. package/dist/DayPicker.js +538 -237
  35. package/dist/Dialog.js +484 -47
  36. package/dist/DurationPicker.js +312 -0
  37. package/dist/FileUploader.js +530 -0
  38. package/dist/GroupHeaderListItem.js +36 -8
  39. package/dist/Icon.js +224 -43
  40. package/dist/Input.js +937 -114
  41. package/dist/Interfaces.js +192 -0
  42. package/dist/Label.js +27 -12
  43. package/dist/Link.js +163 -37
  44. package/dist/List.js +568 -74
  45. package/dist/ListItem.js +165 -34
  46. package/dist/ListItemBase.js +53 -9
  47. package/dist/MessageStrip.js +119 -93
  48. package/dist/MonthPicker.js +194 -95
  49. package/dist/MultiComboBox.js +675 -164
  50. package/dist/MultiComboBoxItem.js +43 -0
  51. package/dist/MultiInput.js +348 -0
  52. package/dist/Option.js +59 -5
  53. package/dist/Panel.js +132 -41
  54. package/dist/Popover.js +397 -240
  55. package/dist/Popup.js +397 -276
  56. package/dist/ProgressIndicator.js +235 -0
  57. package/dist/RadioButton.js +175 -87
  58. package/dist/RadioButtonGroup.js +53 -29
  59. package/dist/RangeSlider.js +769 -0
  60. package/dist/RatingIndicator.js +321 -0
  61. package/dist/ResponsivePopover.js +207 -0
  62. package/dist/SegmentedButton.js +303 -0
  63. package/dist/SegmentedButtonItem.js +109 -0
  64. package/dist/Select.js +521 -111
  65. package/dist/Slider.js +320 -0
  66. package/dist/SliderBase.js +846 -0
  67. package/dist/SplitButton.js +425 -0
  68. package/dist/StandardListItem.js +46 -24
  69. package/dist/StepInput.js +684 -0
  70. package/dist/SuggestionGroupItem.js +64 -0
  71. package/dist/SuggestionItem.js +146 -0
  72. package/dist/SuggestionListItem.js +76 -0
  73. package/dist/Switch.js +74 -42
  74. package/dist/Tab.js +189 -19
  75. package/dist/TabContainer.js +770 -279
  76. package/dist/TabSeparator.js +44 -4
  77. package/dist/Table.js +526 -24
  78. package/dist/TableCell.js +13 -15
  79. package/dist/TableColumn.js +18 -7
  80. package/dist/TableGroupRow.js +160 -0
  81. package/dist/TableRow.js +255 -28
  82. package/dist/TextArea.js +322 -40
  83. package/dist/TimePicker.js +166 -0
  84. package/dist/TimePickerBase.js +463 -0
  85. package/dist/TimeSelection.js +493 -0
  86. package/dist/Title.js +18 -10
  87. package/dist/Toast.js +63 -37
  88. package/dist/ToggleButton.js +26 -13
  89. package/dist/Token.js +87 -49
  90. package/dist/Tokenizer.js +377 -65
  91. package/dist/Tree.js +443 -0
  92. package/dist/TreeItem.js +189 -0
  93. package/dist/TreeListItem.js +340 -0
  94. package/dist/WheelSlider.js +435 -0
  95. package/dist/YearPicker.js +209 -155
  96. package/dist/api.json +7144 -0
  97. package/dist/css/themes/Avatar.css +1 -0
  98. package/dist/css/themes/AvatarGroup.css +1 -0
  99. package/dist/css/themes/Badge.css +1 -0
  100. package/dist/css/themes/Breadcrumbs.css +1 -0
  101. package/dist/css/themes/BreadcrumbsPopover.css +1 -0
  102. package/dist/css/themes/BrowserScrollbar.css +1 -0
  103. package/dist/css/themes/BusyIndicator.css +1 -0
  104. package/dist/css/themes/Button.css +1 -0
  105. package/dist/css/themes/Button.ie11.css +1 -0
  106. package/dist/css/themes/Calendar.css +1 -0
  107. package/dist/css/themes/CalendarHeader.css +1 -0
  108. package/dist/css/themes/Card.css +1 -0
  109. package/dist/css/themes/CardHeader.css +1 -0
  110. package/dist/css/themes/Carousel.css +1 -0
  111. package/dist/css/themes/CheckBox.css +1 -0
  112. package/dist/css/themes/ColorPalette.css +1 -0
  113. package/dist/css/themes/ColorPaletteItem.css +1 -0
  114. package/dist/css/themes/ColorPalettePopover.css +1 -0
  115. package/dist/css/themes/ColorPaletteStaticArea.css +1 -0
  116. package/dist/css/themes/ColorPicker.css +1 -0
  117. package/dist/css/themes/ComboBox.css +1 -0
  118. package/dist/css/themes/ComboBoxPopover.css +1 -0
  119. package/dist/css/themes/CustomListItem.css +1 -0
  120. package/dist/css/themes/DatePicker.css +1 -0
  121. package/dist/css/themes/DatePickerPopover.css +1 -0
  122. package/dist/css/themes/DateRangePicker.css +1 -0
  123. package/dist/css/themes/DateTimePicker.css +1 -0
  124. package/dist/css/themes/DateTimePickerPopover.css +1 -0
  125. package/dist/css/themes/DayPicker.css +1 -0
  126. package/dist/css/themes/Dialog.css +1 -0
  127. package/dist/css/themes/FileUploader.css +1 -0
  128. package/dist/css/themes/GroupHeaderListItem.css +1 -0
  129. package/dist/css/themes/GrowingButton.css +1 -0
  130. package/dist/css/themes/Icon.css +1 -0
  131. package/dist/css/themes/Input.css +1 -0
  132. package/dist/css/themes/InputIcon.css +1 -0
  133. package/dist/css/themes/InvisibleTextStyles.css +1 -0
  134. package/dist/css/themes/Label.css +1 -0
  135. package/dist/css/themes/Link.css +1 -0
  136. package/dist/css/themes/List.css +1 -0
  137. package/dist/css/themes/ListItem.css +1 -0
  138. package/dist/css/themes/ListItemBase.css +1 -0
  139. package/dist/css/themes/MessageStrip.css +1 -0
  140. package/dist/css/themes/MonthPicker.css +1 -0
  141. package/dist/css/themes/MultiComboBox.css +1 -0
  142. package/dist/css/themes/MultiInput.css +1 -0
  143. package/dist/css/themes/Panel.css +1 -0
  144. package/dist/css/themes/Popover.css +1 -0
  145. package/dist/css/themes/Popup.css +1 -0
  146. package/dist/css/themes/PopupGlobal.css +1 -0
  147. package/dist/css/themes/PopupStaticAreaStyles.css +1 -0
  148. package/dist/css/themes/PopupsCommon.css +1 -0
  149. package/dist/css/themes/ProgressIndicator.css +1 -0
  150. package/dist/css/themes/RadioButton.css +1 -0
  151. package/dist/css/themes/RatingIndicator.css +1 -0
  152. package/dist/css/themes/ResponsivePopover.css +1 -0
  153. package/dist/css/themes/ResponsivePopoverCommon.css +1 -0
  154. package/dist/css/themes/SegmentedButton.css +1 -0
  155. package/dist/css/themes/Select.css +1 -0
  156. package/dist/css/themes/SelectPopover.css +1 -0
  157. package/dist/css/themes/SliderBase.css +1 -0
  158. package/dist/css/themes/SplitButton.css +1 -0
  159. package/dist/css/themes/StepInput.css +1 -0
  160. package/dist/css/themes/Suggestions.css +1 -0
  161. package/dist/css/themes/Switch.css +1 -0
  162. package/dist/css/themes/Tab.css +1 -0
  163. package/dist/css/themes/TabContainer.css +1 -0
  164. package/dist/css/themes/TabInOverflow.css +1 -0
  165. package/dist/css/themes/TabInStrip.css +1 -0
  166. package/dist/css/themes/TabSeparatorInOverflow.css +1 -0
  167. package/dist/css/themes/TabSeparatorInStrip.css +1 -0
  168. package/dist/css/themes/Table.css +1 -0
  169. package/dist/css/themes/TableCell.css +1 -0
  170. package/dist/css/themes/TableColumn.css +1 -0
  171. package/dist/css/themes/TableGroupRow.css +1 -0
  172. package/dist/css/themes/TableRow.css +1 -0
  173. package/dist/css/themes/TapHighlightColor.css +1 -0
  174. package/dist/css/themes/TextArea.css +1 -0
  175. package/dist/css/themes/TimePicker.css +1 -0
  176. package/dist/css/themes/TimePickerPopover.css +1 -0
  177. package/dist/css/themes/TimeSelection.css +1 -0
  178. package/dist/css/themes/Title.css +1 -0
  179. package/dist/css/themes/Toast.css +1 -0
  180. package/dist/css/themes/ToggleButton.css +1 -0
  181. package/dist/css/themes/ToggleButton.ie11.css +1 -0
  182. package/dist/css/themes/Token.css +1 -0
  183. package/dist/css/themes/Tokenizer.css +1 -0
  184. package/dist/css/themes/Tree.css +1 -0
  185. package/dist/css/themes/TreeListItem.css +1 -0
  186. package/dist/css/themes/ValueStateMessage.css +1 -0
  187. package/dist/css/themes/WheelSlider.css +1 -0
  188. package/dist/css/themes/YearPicker.css +1 -0
  189. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -0
  190. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -0
  191. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -0
  192. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -0
  193. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
  194. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
  195. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
  196. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -0
  197. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -0
  198. package/dist/features/ColorPaletteMoreColors.js +42 -0
  199. package/dist/features/InputElementsFormSupport.js +35 -1
  200. package/dist/features/InputSuggestions.js +376 -52
  201. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
  206. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  211. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  212. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  213. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  214. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  216. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  220. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
  224. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  237. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  240. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  241. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  242. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  243. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  244. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  245. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  246. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  247. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  248. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  249. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  250. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  251. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -0
  252. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  253. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  254. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -0
  255. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -0
  256. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
  257. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
  258. package/dist/generated/i18n/i18n-defaults.js +2 -2
  259. package/dist/generated/json-imports/Themes-static.js +35 -0
  260. package/dist/generated/json-imports/Themes.js +23 -13
  261. package/dist/generated/json-imports/i18n-static.js +162 -0
  262. package/dist/generated/json-imports/i18n.js +113 -89
  263. package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
  264. package/dist/generated/templates/AvatarTemplate.lit.js +12 -0
  265. package/dist/generated/templates/BadgeTemplate.lit.js +5 -6
  266. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
  267. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
  268. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -5
  269. package/dist/generated/templates/ButtonTemplate.lit.js +6 -6
  270. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -4
  271. package/dist/generated/templates/CalendarTemplate.lit.js +4 -4
  272. package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
  273. package/dist/generated/templates/CardTemplate.lit.js +5 -7
  274. package/dist/generated/templates/CarouselTemplate.lit.js +16 -0
  275. package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -7
  276. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
  277. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
  278. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
  279. package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
  280. package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
  281. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +23 -0
  282. package/dist/generated/templates/ComboBoxTemplate.lit.js +11 -0
  283. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -12
  284. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +10 -0
  285. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -5
  286. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +12 -0
  287. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -11
  288. package/dist/generated/templates/DialogTemplate.lit.js +9 -8
  289. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +10 -0
  290. package/dist/generated/templates/FileUploaderTemplate.lit.js +10 -0
  291. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -4
  292. package/dist/generated/templates/IconTemplate.lit.js +6 -6
  293. package/dist/generated/templates/InputPopoverTemplate.lit.js +27 -0
  294. package/dist/generated/templates/InputTemplate.lit.js +9 -9
  295. package/dist/generated/templates/LabelTemplate.lit.js +4 -4
  296. package/dist/generated/templates/LinkTemplate.lit.js +5 -5
  297. package/dist/generated/templates/ListItemTemplate.lit.js +13 -12
  298. package/dist/generated/templates/ListTemplate.lit.js +12 -8
  299. package/dist/generated/templates/MessageStripTemplate.lit.js +6 -22
  300. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
  301. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +26 -0
  302. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -11
  303. package/dist/generated/templates/MultiInputTemplate.lit.js +16 -0
  304. package/dist/generated/templates/PanelTemplate.lit.js +9 -6
  305. package/dist/generated/templates/PopoverTemplate.lit.js +9 -7
  306. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +7 -0
  307. package/dist/generated/templates/PopupTemplate.lit.js +4 -4
  308. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +17 -0
  309. package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -7
  310. package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
  311. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +14 -0
  312. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +19 -0
  313. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  314. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +7 -0
  315. package/dist/generated/templates/SelectPopoverTemplate.lit.js +23 -0
  316. package/dist/generated/templates/SelectTemplate.lit.js +6 -6
  317. package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
  318. package/dist/generated/templates/SliderTemplate.lit.js +12 -0
  319. package/dist/generated/templates/SplitButtonTemplate.lit.js +7 -0
  320. package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -18
  321. package/dist/generated/templates/StepInputTemplate.lit.js +10 -0
  322. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +27 -0
  323. package/dist/generated/templates/SwitchTemplate.lit.js +8 -6
  324. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +11 -0
  325. package/dist/generated/templates/TabContainerTemplate.lit.js +15 -22
  326. package/dist/generated/templates/TabInOverflowTemplate.lit.js +9 -0
  327. package/dist/generated/templates/TabInStripTemplate.lit.js +11 -0
  328. package/dist/generated/templates/TabSeparatorInOverflowTemplate.lit.js +7 -0
  329. package/dist/generated/templates/TabSeparatorInStripTemplate.lit.js +7 -0
  330. package/dist/generated/templates/TabTemplate.lit.js +4 -4
  331. package/dist/generated/templates/TableCellTemplate.lit.js +4 -4
  332. package/dist/generated/templates/TableColumnTemplate.lit.js +4 -4
  333. package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
  334. package/dist/generated/templates/TableRowTemplate.lit.js +12 -6
  335. package/dist/generated/templates/TableTemplate.lit.js +13 -8
  336. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +11 -0
  337. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -8
  338. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +7 -0
  339. package/dist/generated/templates/TimePickerTemplate.lit.js +9 -0
  340. package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
  341. package/dist/generated/templates/TitleTemplate.lit.js +10 -10
  342. package/dist/generated/templates/ToastTemplate.lit.js +5 -4
  343. package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -6
  344. package/dist/generated/templates/TokenTemplate.lit.js +7 -5
  345. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +12 -0
  346. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -6
  347. package/dist/generated/templates/TreeListItemTemplate.lit.js +21 -0
  348. package/dist/generated/templates/TreeTemplate.lit.js +8 -0
  349. package/dist/generated/templates/WheelSliderTemplate.lit.js +10 -0
  350. package/dist/generated/templates/YearPickerTemplate.lit.js +6 -6
  351. package/dist/generated/themes/Avatar.css.js +8 -0
  352. package/dist/generated/themes/AvatarGroup.css.js +8 -0
  353. package/dist/generated/themes/Badge.css.js +6 -7
  354. package/dist/generated/themes/Breadcrumbs.css.js +8 -0
  355. package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
  356. package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
  357. package/dist/generated/themes/BusyIndicator.css.js +6 -7
  358. package/dist/generated/themes/Button.css.js +6 -7
  359. package/dist/generated/themes/Button.ie11.css.js +8 -0
  360. package/dist/generated/themes/Calendar.css.js +6 -7
  361. package/dist/generated/themes/CalendarHeader.css.js +6 -7
  362. package/dist/generated/themes/Card.css.js +6 -7
  363. package/dist/generated/themes/CardHeader.css.js +8 -0
  364. package/dist/generated/themes/Carousel.css.js +8 -0
  365. package/dist/generated/themes/CheckBox.css.js +6 -7
  366. package/dist/generated/themes/ColorPalette.css.js +8 -0
  367. package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
  368. package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
  369. package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
  370. package/dist/generated/themes/ColorPicker.css.js +8 -0
  371. package/dist/generated/themes/ComboBox.css.js +8 -0
  372. package/dist/generated/themes/ComboBoxPopover.css.js +8 -0
  373. package/dist/generated/themes/CustomListItem.css.js +6 -7
  374. package/dist/generated/themes/DatePicker.css.js +6 -7
  375. package/dist/generated/themes/DatePickerPopover.css.js +8 -0
  376. package/dist/generated/themes/DateRangePicker.css.js +8 -0
  377. package/dist/generated/themes/DateTimePicker.css.js +8 -0
  378. package/dist/generated/themes/DateTimePickerPopover.css.js +8 -0
  379. package/dist/generated/themes/DayPicker.css.js +6 -7
  380. package/dist/generated/themes/Dialog.css.js +6 -7
  381. package/dist/generated/themes/FileUploader.css.js +8 -0
  382. package/dist/generated/themes/GroupHeaderListItem.css.js +6 -7
  383. package/dist/generated/themes/GrowingButton.css.js +8 -0
  384. package/dist/generated/themes/Icon.css.js +6 -7
  385. package/dist/generated/themes/Input.css.js +6 -7
  386. package/dist/generated/themes/InputIcon.css.js +6 -7
  387. package/dist/generated/themes/InvisibleTextStyles.css.js +6 -7
  388. package/dist/generated/themes/Label.css.js +6 -7
  389. package/dist/generated/themes/Link.css.js +6 -7
  390. package/dist/generated/themes/List.css.js +6 -7
  391. package/dist/generated/themes/ListItem.css.js +6 -7
  392. package/dist/generated/themes/ListItemBase.css.js +6 -7
  393. package/dist/generated/themes/MessageStrip.css.js +6 -7
  394. package/dist/generated/themes/MonthPicker.css.js +6 -7
  395. package/dist/generated/themes/MultiComboBox.css.js +6 -7
  396. package/dist/generated/themes/MultiInput.css.js +8 -0
  397. package/dist/generated/themes/Panel.css.js +6 -7
  398. package/dist/generated/themes/Popover.css.js +6 -7
  399. package/dist/generated/themes/Popup.css.js +6 -7
  400. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  401. package/dist/generated/themes/PopupStaticAreaStyles.css.js +8 -0
  402. package/dist/generated/themes/PopupsCommon.css.js +8 -0
  403. package/dist/generated/themes/ProgressIndicator.css.js +8 -0
  404. package/dist/generated/themes/RadioButton.css.js +6 -7
  405. package/dist/generated/themes/RatingIndicator.css.js +8 -0
  406. package/dist/generated/themes/ResponsivePopover.css.js +8 -0
  407. package/dist/generated/themes/ResponsivePopoverCommon.css.js +8 -0
  408. package/dist/generated/themes/SegmentedButton.css.js +8 -0
  409. package/dist/generated/themes/Select.css.js +6 -7
  410. package/dist/generated/themes/SelectPopover.css.js +8 -0
  411. package/dist/generated/themes/SliderBase.css.js +8 -0
  412. package/dist/generated/themes/SplitButton.css.js +8 -0
  413. package/dist/generated/themes/StepInput.css.js +8 -0
  414. package/dist/generated/themes/Suggestions.css.js +8 -0
  415. package/dist/generated/themes/Switch.css.js +6 -7
  416. package/dist/generated/themes/Tab.css.js +6 -7
  417. package/dist/generated/themes/TabContainer.css.js +6 -7
  418. package/dist/generated/themes/TabInOverflow.css.js +8 -0
  419. package/dist/generated/themes/TabInStrip.css.js +8 -0
  420. package/dist/generated/themes/TabSeparatorInOverflow.css.js +8 -0
  421. package/dist/generated/themes/TabSeparatorInStrip.css.js +8 -0
  422. package/dist/generated/themes/Table.css.js +6 -7
  423. package/dist/generated/themes/TableCell.css.js +6 -7
  424. package/dist/generated/themes/TableColumn.css.js +6 -7
  425. package/dist/generated/themes/TableGroupRow.css.js +8 -0
  426. package/dist/generated/themes/TableRow.css.js +6 -7
  427. package/dist/generated/themes/TapHighlightColor.css.js +8 -0
  428. package/dist/generated/themes/TextArea.css.js +6 -7
  429. package/dist/generated/themes/TimePicker.css.js +8 -0
  430. package/dist/generated/themes/TimePickerPopover.css.js +8 -0
  431. package/dist/generated/themes/TimeSelection.css.js +8 -0
  432. package/dist/generated/themes/Title.css.js +6 -7
  433. package/dist/generated/themes/Toast.css.js +6 -7
  434. package/dist/generated/themes/ToggleButton.css.js +6 -7
  435. package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
  436. package/dist/generated/themes/Token.css.js +6 -7
  437. package/dist/generated/themes/Tokenizer.css.js +6 -7
  438. package/dist/generated/themes/Tree.css.js +8 -0
  439. package/dist/generated/themes/TreeListItem.css.js +8 -0
  440. package/dist/generated/themes/ValueStateMessage.css.js +8 -0
  441. package/dist/generated/themes/WheelSlider.css.js +8 -0
  442. package/dist/generated/themes/YearPicker.css.js +6 -7
  443. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  444. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  445. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -0
  446. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  447. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  448. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -0
  449. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -0
  450. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
  451. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
  452. package/dist/i18n/messagebundle.properties +360 -0
  453. package/dist/i18n/messagebundle_ar.properties +241 -0
  454. package/dist/i18n/messagebundle_bg.properties +241 -0
  455. package/dist/i18n/messagebundle_ca.properties +241 -0
  456. package/dist/i18n/messagebundle_cs.properties +241 -0
  457. package/dist/i18n/messagebundle_cy.properties +241 -0
  458. package/dist/i18n/messagebundle_da.properties +241 -0
  459. package/dist/i18n/messagebundle_de.properties +241 -0
  460. package/dist/i18n/messagebundle_el.properties +241 -0
  461. package/dist/i18n/messagebundle_en.properties +241 -0
  462. package/dist/i18n/messagebundle_en_GB.properties +241 -0
  463. package/dist/i18n/messagebundle_en_US_sappsd.properties +241 -0
  464. package/dist/i18n/messagebundle_en_US_saprigi.properties +241 -0
  465. package/dist/i18n/messagebundle_en_US_saptrc.properties +241 -0
  466. package/dist/i18n/messagebundle_es.properties +241 -0
  467. package/dist/i18n/messagebundle_es_MX.properties +241 -0
  468. package/dist/i18n/messagebundle_et.properties +241 -0
  469. package/dist/i18n/messagebundle_fi.properties +241 -0
  470. package/dist/i18n/messagebundle_fr.properties +241 -0
  471. package/dist/i18n/messagebundle_fr_CA.properties +241 -0
  472. package/dist/i18n/messagebundle_hi.properties +241 -0
  473. package/dist/i18n/messagebundle_hr.properties +241 -0
  474. package/dist/i18n/messagebundle_hu.properties +241 -0
  475. package/dist/i18n/messagebundle_id.properties +241 -0
  476. package/dist/i18n/messagebundle_in.properties +172 -0
  477. package/dist/i18n/messagebundle_it.properties +241 -0
  478. package/dist/i18n/messagebundle_iw.properties +241 -0
  479. package/dist/i18n/messagebundle_ja.properties +241 -0
  480. package/dist/i18n/messagebundle_kk.properties +241 -0
  481. package/dist/i18n/messagebundle_ko.properties +241 -0
  482. package/dist/i18n/messagebundle_lt.properties +241 -0
  483. package/dist/i18n/messagebundle_lv.properties +241 -0
  484. package/dist/i18n/messagebundle_ms.properties +241 -0
  485. package/dist/i18n/messagebundle_nl.properties +241 -0
  486. package/dist/i18n/messagebundle_no.properties +241 -0
  487. package/dist/i18n/messagebundle_pl.properties +241 -0
  488. package/dist/i18n/messagebundle_pt.properties +241 -0
  489. package/dist/i18n/messagebundle_pt_PT.properties +241 -0
  490. package/dist/i18n/messagebundle_ro.properties +241 -0
  491. package/dist/i18n/messagebundle_ru.properties +241 -0
  492. package/dist/i18n/messagebundle_sh.properties +241 -0
  493. package/dist/i18n/messagebundle_sk.properties +241 -0
  494. package/dist/i18n/messagebundle_sl.properties +241 -0
  495. package/dist/i18n/messagebundle_sv.properties +241 -0
  496. package/dist/i18n/messagebundle_th.properties +241 -0
  497. package/dist/i18n/messagebundle_tr.properties +241 -0
  498. package/dist/i18n/messagebundle_uk.properties +241 -0
  499. package/dist/i18n/messagebundle_vi.properties +241 -0
  500. package/dist/i18n/messagebundle_zh_CN.properties +241 -0
  501. package/dist/i18n/messagebundle_zh_TW.properties +241 -0
  502. package/dist/popup-utils/OpenedPopupsRegistry.js +18 -13
  503. package/dist/popup-utils/PopoverRegistry.js +55 -21
  504. package/dist/timepicker-utils/TimeSlider.js +103 -0
  505. package/dist/types/AvatarColorScheme.js +104 -0
  506. package/dist/types/AvatarGroupType.js +43 -0
  507. package/dist/types/AvatarShape.js +41 -0
  508. package/dist/types/AvatarSize.js +67 -0
  509. package/dist/types/BreadcrumbsDesign.js +42 -0
  510. package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
  511. package/dist/types/BusyIndicatorSize.js +18 -2
  512. package/dist/types/ButtonDesign.js +29 -2
  513. package/dist/types/CalendarSelectionMode.js +47 -0
  514. package/dist/types/CarouselArrowsPlacement.js +40 -0
  515. package/dist/types/GrowingMode.js +48 -0
  516. package/dist/types/HasPopup.js +62 -0
  517. package/dist/types/InputType.js +49 -1
  518. package/dist/types/LinkDesign.js +18 -2
  519. package/dist/types/ListGrowingMode.js +15 -0
  520. package/dist/types/ListItemType.js +21 -2
  521. package/dist/types/ListMode.js +28 -1
  522. package/dist/types/ListSeparators.js +17 -1
  523. package/dist/types/MessageStripDesign.js +54 -0
  524. package/dist/types/PanelAccessibleRole.js +29 -1
  525. package/dist/types/PopoverHorizontalAlign.js +37 -1
  526. package/dist/types/PopoverPlacementType.js +21 -1
  527. package/dist/types/PopoverVerticalAlign.js +37 -2
  528. package/dist/types/Priority.js +55 -0
  529. package/dist/types/SemanticColor.js +19 -2
  530. package/dist/types/SwitchDesign.js +40 -0
  531. package/dist/types/TabContainerTabsPlacement.js +40 -0
  532. package/dist/types/TabLayout.js +40 -0
  533. package/dist/types/TableGrowingMode.js +15 -0
  534. package/dist/types/TableMode.js +47 -0
  535. package/dist/types/TableRowType.js +40 -0
  536. package/dist/types/TabsOverflowMode.js +40 -0
  537. package/dist/types/TitleLevel.js +49 -1
  538. package/dist/types/ToastPlacement.js +23 -1
  539. package/dist/types/WrappingType.js +41 -0
  540. package/dist/webcomponentsjs/CHANGELOG.md +61 -0
  541. package/dist/webcomponentsjs/README.md +64 -47
  542. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
  543. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
  544. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
  545. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
  546. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
  547. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
  548. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
  549. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
  550. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
  551. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
  552. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
  553. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
  554. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
  555. package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
  556. package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
  557. package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
  558. package/package-scripts.js +1 -0
  559. package/package.json +23 -6
  560. package/src/Assets-static.js +6 -0
  561. package/src/Assets.js +7 -0
  562. package/src/Avatar.hbs +20 -0
  563. package/src/Avatar.js +392 -0
  564. package/src/AvatarGroup.hbs +30 -0
  565. package/src/AvatarGroup.js +603 -0
  566. package/src/Badge.hbs +14 -0
  567. package/src/Badge.js +165 -0
  568. package/src/Breadcrumbs.hbs +43 -0
  569. package/src/Breadcrumbs.js +575 -0
  570. package/src/BreadcrumbsItem.js +103 -0
  571. package/src/BreadcrumbsPopover.hbs +28 -0
  572. package/src/BusyIndicator.hbs +32 -0
  573. package/src/BusyIndicator.js +268 -0
  574. package/src/Button.hbs +45 -0
  575. package/src/Button.js +490 -0
  576. package/src/Calendar.hbs +69 -0
  577. package/src/Calendar.js +496 -0
  578. package/src/CalendarDate.js +45 -0
  579. package/src/CalendarHeader.hbs +54 -0
  580. package/src/CalendarHeader.js +209 -0
  581. package/src/CalendarPart.js +111 -0
  582. package/src/Card.hbs +14 -0
  583. package/src/Card.js +160 -0
  584. package/src/CardHeader.hbs +42 -0
  585. package/src/CardHeader.js +288 -0
  586. package/src/Carousel.hbs +86 -0
  587. package/src/Carousel.js +690 -0
  588. package/src/CheckBox.hbs +45 -0
  589. package/src/CheckBox.js +457 -0
  590. package/src/ColorPalette.hbs +52 -0
  591. package/src/ColorPalette.js +494 -0
  592. package/src/ColorPaletteDialog.hbs +18 -0
  593. package/src/ColorPaletteItem.hbs +11 -0
  594. package/src/ColorPaletteItem.js +137 -0
  595. package/src/ColorPalettePopover.hbs +31 -0
  596. package/src/ColorPalettePopover.js +244 -0
  597. package/src/ColorPicker.hbs +98 -0
  598. package/src/ColorPicker.js +524 -0
  599. package/src/ComboBox.hbs +50 -0
  600. package/src/ComboBox.js +1109 -0
  601. package/src/ComboBoxFilters.js +40 -0
  602. package/src/ComboBoxGroupItem.js +70 -0
  603. package/src/ComboBoxItem.js +49 -0
  604. package/src/ComboBoxPopover.hbs +126 -0
  605. package/src/CustomListItem.hbs +5 -0
  606. package/src/CustomListItem.js +99 -0
  607. package/src/DateComponentBase.js +168 -0
  608. package/src/DatePicker.hbs +44 -0
  609. package/src/DatePicker.js +831 -0
  610. package/src/DatePickerPopover.hbs +63 -0
  611. package/src/DateRangePicker.js +350 -0
  612. package/src/DateTimePicker.js +430 -0
  613. package/src/DateTimePickerPopover.hbs +74 -0
  614. package/src/DayPicker.hbs +66 -0
  615. package/src/DayPicker.js +754 -0
  616. package/src/Dialog.hbs +35 -0
  617. package/src/Dialog.js +584 -0
  618. package/src/DurationPicker.js +312 -0
  619. package/src/FileUploader.hbs +40 -0
  620. package/src/FileUploader.js +530 -0
  621. package/src/FileUploaderPopover.hbs +25 -0
  622. package/src/GroupHeaderListItem.hbs +15 -0
  623. package/src/GroupHeaderListItem.js +94 -0
  624. package/src/Icon.hbs +25 -0
  625. package/src/Icon.js +376 -0
  626. package/src/Input.hbs +78 -0
  627. package/src/Input.js +1473 -0
  628. package/src/InputPopover.hbs +117 -0
  629. package/src/Interfaces.js +192 -0
  630. package/src/Label.hbs +13 -0
  631. package/src/Label.js +152 -0
  632. package/src/Link.hbs +21 -0
  633. package/src/Link.js +367 -0
  634. package/src/List.hbs +89 -0
  635. package/src/List.js +1066 -0
  636. package/src/ListItem.hbs +103 -0
  637. package/src/ListItem.js +371 -0
  638. package/src/ListItemBase.js +179 -0
  639. package/src/MessageStrip.hbs +34 -0
  640. package/src/MessageStrip.js +264 -0
  641. package/src/MonthPicker.hbs +29 -0
  642. package/src/MonthPicker.js +299 -0
  643. package/src/MultiComboBox.hbs +78 -0
  644. package/src/MultiComboBox.js +1095 -0
  645. package/src/MultiComboBoxItem.js +43 -0
  646. package/src/MultiComboBoxPopover.hbs +133 -0
  647. package/src/MultiInput.hbs +41 -0
  648. package/src/MultiInput.js +348 -0
  649. package/src/Option.js +126 -0
  650. package/src/Panel.hbs +63 -0
  651. package/src/Panel.js +471 -0
  652. package/src/Popover.hbs +25 -0
  653. package/src/Popover.js +835 -0
  654. package/src/Popup.hbs +34 -0
  655. package/src/Popup.js +581 -0
  656. package/src/PopupBlockLayer.hbs +7 -0
  657. package/src/ProgressIndicator.hbs +35 -0
  658. package/src/ProgressIndicator.js +235 -0
  659. package/src/RadioButton.hbs +33 -0
  660. package/src/RadioButton.js +506 -0
  661. package/src/RadioButtonGroup.js +205 -0
  662. package/src/RangeSlider.hbs +70 -0
  663. package/src/RangeSlider.js +769 -0
  664. package/src/RatingIndicator.hbs +33 -0
  665. package/src/RatingIndicator.js +321 -0
  666. package/src/ResponsivePopover.hbs +41 -0
  667. package/src/ResponsivePopover.js +207 -0
  668. package/src/SegmentedButton.hbs +18 -0
  669. package/src/SegmentedButton.js +303 -0
  670. package/src/SegmentedButtonItem.hbs +42 -0
  671. package/src/SegmentedButtonItem.js +109 -0
  672. package/src/Select.hbs +45 -0
  673. package/src/Select.js +835 -0
  674. package/src/SelectPopover.hbs +90 -0
  675. package/src/Slider.hbs +42 -0
  676. package/src/Slider.js +320 -0
  677. package/src/SliderBase.hbs +38 -0
  678. package/src/SliderBase.js +846 -0
  679. package/src/SplitButton.hbs +53 -0
  680. package/src/SplitButton.js +425 -0
  681. package/src/StandardListItem.hbs +44 -0
  682. package/src/StandardListItem.js +191 -0
  683. package/src/StepInput.hbs +80 -0
  684. package/src/StepInput.js +684 -0
  685. package/src/SuggestionGroupItem.js +64 -0
  686. package/src/SuggestionItem.js +146 -0
  687. package/src/SuggestionListItem.hbs +33 -0
  688. package/src/SuggestionListItem.js +76 -0
  689. package/src/Switch.hbs +51 -0
  690. package/src/Switch.js +280 -0
  691. package/src/Tab.hbs +3 -0
  692. package/src/Tab.js +338 -0
  693. package/src/TabContainer.hbs +83 -0
  694. package/src/TabContainer.js +1051 -0
  695. package/src/TabContainerPopover.hbs +27 -0
  696. package/src/TabInOverflow.hbs +21 -0
  697. package/src/TabInStrip.hbs +38 -0
  698. package/src/TabSeparator.js +83 -0
  699. package/src/TabSeparatorInOverflow.hbs +8 -0
  700. package/src/TabSeparatorInStrip.hbs +6 -0
  701. package/src/Table.hbs +99 -0
  702. package/src/Table.js +771 -0
  703. package/src/TableCell.hbs +7 -0
  704. package/src/TableCell.js +88 -0
  705. package/src/TableColumn.hbs +8 -0
  706. package/src/TableColumn.js +136 -0
  707. package/src/TableGroupRow.hbs +12 -0
  708. package/src/TableGroupRow.js +160 -0
  709. package/src/TableRow.hbs +61 -0
  710. package/src/TableRow.js +388 -0
  711. package/src/TextArea.hbs +50 -0
  712. package/src/TextArea.js +697 -0
  713. package/src/TextAreaPopover.hbs +28 -0
  714. package/src/TimePicker.hbs +35 -0
  715. package/src/TimePicker.js +166 -0
  716. package/src/TimePickerBase.js +463 -0
  717. package/src/TimePickerPopover.hbs +34 -0
  718. package/src/TimeSelection.hbs +60 -0
  719. package/src/TimeSelection.js +493 -0
  720. package/src/Title.hbs +47 -0
  721. package/src/Title.js +132 -0
  722. package/src/Toast.hbs +13 -0
  723. package/src/Toast.js +243 -0
  724. package/src/ToggleButton.hbs +5 -0
  725. package/src/ToggleButton.js +89 -0
  726. package/src/Token.hbs +30 -0
  727. package/src/Token.js +219 -0
  728. package/src/Tokenizer.hbs +27 -0
  729. package/src/Tokenizer.js +541 -0
  730. package/src/TokenizerPopover.hbs +50 -0
  731. package/src/Tree.hbs +43 -0
  732. package/src/Tree.js +443 -0
  733. package/src/TreeItem.js +189 -0
  734. package/src/TreeListItem.hbs +48 -0
  735. package/src/TreeListItem.js +340 -0
  736. package/src/WheelSlider.hbs +48 -0
  737. package/src/WheelSlider.js +435 -0
  738. package/src/YearPicker.hbs +27 -0
  739. package/src/YearPicker.js +324 -0
  740. package/src/features/ColorPaletteMoreColors.js +42 -0
  741. package/src/features/InputElementsFormSupport.js +88 -0
  742. package/src/features/InputSuggestions.js +594 -0
  743. package/src/i18n/messagebundle.properties +360 -0
  744. package/src/i18n/messagebundle_ar.properties +241 -0
  745. package/src/i18n/messagebundle_bg.properties +241 -0
  746. package/src/i18n/messagebundle_ca.properties +241 -0
  747. package/src/i18n/messagebundle_cs.properties +241 -0
  748. package/src/i18n/messagebundle_cy.properties +241 -0
  749. package/src/i18n/messagebundle_da.properties +241 -0
  750. package/src/i18n/messagebundle_de.properties +241 -0
  751. package/src/i18n/messagebundle_el.properties +241 -0
  752. package/src/i18n/messagebundle_en.properties +241 -0
  753. package/src/i18n/messagebundle_en_GB.properties +241 -0
  754. package/src/i18n/messagebundle_en_US_sappsd.properties +241 -0
  755. package/src/i18n/messagebundle_en_US_saprigi.properties +241 -0
  756. package/src/i18n/messagebundle_en_US_saptrc.properties +241 -0
  757. package/src/i18n/messagebundle_es.properties +241 -0
  758. package/src/i18n/messagebundle_es_MX.properties +241 -0
  759. package/src/i18n/messagebundle_et.properties +241 -0
  760. package/src/i18n/messagebundle_fi.properties +241 -0
  761. package/src/i18n/messagebundle_fr.properties +241 -0
  762. package/src/i18n/messagebundle_fr_CA.properties +241 -0
  763. package/src/i18n/messagebundle_hi.properties +241 -0
  764. package/src/i18n/messagebundle_hr.properties +241 -0
  765. package/src/i18n/messagebundle_hu.properties +241 -0
  766. package/src/i18n/messagebundle_id.properties +241 -0
  767. package/src/i18n/messagebundle_in.properties +172 -0
  768. package/src/i18n/messagebundle_it.properties +241 -0
  769. package/src/i18n/messagebundle_iw.properties +241 -0
  770. package/src/i18n/messagebundle_ja.properties +241 -0
  771. package/src/i18n/messagebundle_kk.properties +241 -0
  772. package/src/i18n/messagebundle_ko.properties +241 -0
  773. package/src/i18n/messagebundle_lt.properties +241 -0
  774. package/src/i18n/messagebundle_lv.properties +241 -0
  775. package/src/i18n/messagebundle_ms.properties +241 -0
  776. package/src/i18n/messagebundle_nl.properties +241 -0
  777. package/src/i18n/messagebundle_no.properties +241 -0
  778. package/src/i18n/messagebundle_pl.properties +241 -0
  779. package/src/i18n/messagebundle_pt.properties +241 -0
  780. package/src/i18n/messagebundle_pt_PT.properties +241 -0
  781. package/src/i18n/messagebundle_ro.properties +241 -0
  782. package/src/i18n/messagebundle_ru.properties +241 -0
  783. package/src/i18n/messagebundle_sh.properties +241 -0
  784. package/src/i18n/messagebundle_sk.properties +241 -0
  785. package/src/i18n/messagebundle_sl.properties +241 -0
  786. package/src/i18n/messagebundle_sv.properties +241 -0
  787. package/src/i18n/messagebundle_th.properties +241 -0
  788. package/src/i18n/messagebundle_tr.properties +241 -0
  789. package/src/i18n/messagebundle_uk.properties +241 -0
  790. package/src/i18n/messagebundle_vi.properties +241 -0
  791. package/src/i18n/messagebundle_zh_CN.properties +241 -0
  792. package/src/i18n/messagebundle_zh_TW.properties +241 -0
  793. package/src/popup-utils/OpenedPopupsRegistry.js +50 -0
  794. package/src/popup-utils/PopoverRegistry.js +145 -0
  795. package/src/themes/Avatar.css +227 -0
  796. package/src/themes/AvatarGroup.css +82 -0
  797. package/src/themes/Badge.css +247 -0
  798. package/src/themes/Breadcrumbs.css +100 -0
  799. package/src/themes/BreadcrumbsPopover.css +6 -0
  800. package/src/themes/BrowserScrollbar.css +25 -0
  801. package/src/themes/BusyIndicator.css +143 -0
  802. package/src/themes/Button.css +306 -0
  803. package/src/themes/Button.ie11.css +48 -0
  804. package/src/themes/Calendar.css +18 -0
  805. package/src/themes/CalendarHeader.css +137 -0
  806. package/src/themes/Card.css +42 -0
  807. package/src/themes/CardHeader.css +133 -0
  808. package/src/themes/Carousel.css +140 -0
  809. package/src/themes/CheckBox.css +289 -0
  810. package/src/themes/ColorPalette.css +70 -0
  811. package/src/themes/ColorPaletteItem.css +70 -0
  812. package/src/themes/ColorPalettePopover.css +16 -0
  813. package/src/themes/ColorPaletteStaticArea.css +17 -0
  814. package/src/themes/ColorPicker.css +190 -0
  815. package/src/themes/ComboBox.css +9 -0
  816. package/src/themes/ComboBoxPopover.css +17 -0
  817. package/src/themes/CustomListItem.css +31 -0
  818. package/src/themes/DatePicker.css +46 -0
  819. package/src/themes/DatePickerPopover.css +5 -0
  820. package/src/themes/DateRangePicker.css +16 -0
  821. package/src/themes/DateTimePicker.css +11 -0
  822. package/src/themes/DateTimePickerPopover.css +78 -0
  823. package/src/themes/DayPicker.css +269 -0
  824. package/src/themes/Dialog.css +70 -0
  825. package/src/themes/FileUploader.css +40 -0
  826. package/src/themes/GroupHeaderListItem.css +24 -0
  827. package/src/themes/GrowingButton.css +67 -0
  828. package/src/themes/Icon.css +38 -0
  829. package/src/themes/Input.css +406 -0
  830. package/src/themes/InputIcon.css +53 -0
  831. package/src/themes/InvisibleTextStyles.css +9 -0
  832. package/src/themes/Label.css +85 -0
  833. package/src/themes/Link.css +77 -0
  834. package/src/themes/List.css +116 -0
  835. package/src/themes/ListItem.css +231 -0
  836. package/src/themes/ListItemBase.css +79 -0
  837. package/src/themes/MessageStrip.css +123 -0
  838. package/src/themes/MonthPicker.css +86 -0
  839. package/src/themes/MultiComboBox.css +37 -0
  840. package/src/themes/MultiInput.css +14 -0
  841. package/src/themes/Panel.css +100 -0
  842. package/src/themes/Popover.css +102 -0
  843. package/src/themes/Popup.css +5 -0
  844. package/src/themes/PopupGlobal.css +6 -0
  845. package/src/themes/PopupStaticAreaStyles.css +17 -0
  846. package/src/themes/PopupsCommon.css +87 -0
  847. package/src/themes/ProgressIndicator.css +158 -0
  848. package/src/themes/RadioButton.css +249 -0
  849. package/src/themes/RatingIndicator.css +52 -0
  850. package/src/themes/ResponsivePopover.css +34 -0
  851. package/src/themes/ResponsivePopoverCommon.css +207 -0
  852. package/src/themes/SegmentedButton.css +88 -0
  853. package/src/themes/Select.css +53 -0
  854. package/src/themes/SelectPopover.css +10 -0
  855. package/src/themes/SliderBase.css +253 -0
  856. package/src/themes/SplitButton.css +98 -0
  857. package/src/themes/StepInput.css +269 -0
  858. package/src/themes/Suggestions.css +14 -0
  859. package/src/themes/Switch.css +370 -0
  860. package/src/themes/Tab.css +9 -0
  861. package/src/themes/TabContainer.css +128 -0
  862. package/src/themes/TabInOverflow.css +61 -0
  863. package/src/themes/TabInStrip.css +374 -0
  864. package/src/themes/TabSeparatorInOverflow.css +8 -0
  865. package/src/themes/TabSeparatorInStrip.css +5 -0
  866. package/src/themes/Table.css +91 -0
  867. package/src/themes/TableCell.css +28 -0
  868. package/src/themes/TableColumn.css +29 -0
  869. package/src/themes/TableGroupRow.css +34 -0
  870. package/src/themes/TableRow.css +84 -0
  871. package/src/themes/TapHighlightColor.css +3 -0
  872. package/src/themes/TextArea.css +309 -0
  873. package/src/themes/TimePicker.css +50 -0
  874. package/src/themes/TimePickerPopover.css +11 -0
  875. package/src/themes/TimeSelection.css +27 -0
  876. package/src/themes/Title.css +65 -0
  877. package/src/themes/Toast.css +93 -0
  878. package/src/themes/ToggleButton.css +88 -0
  879. package/src/themes/ToggleButton.ie11.css +48 -0
  880. package/src/themes/Token.css +117 -0
  881. package/src/themes/Tokenizer.css +84 -0
  882. package/src/themes/Tree.css +11 -0
  883. package/src/themes/TreeListItem.css +107 -0
  884. package/src/themes/ValueStateMessage.css +76 -0
  885. package/src/themes/WheelSlider.css +203 -0
  886. package/src/themes/YearPicker.css +86 -0
  887. package/src/themes/base/Avatar-parameters.css +38 -0
  888. package/src/themes/base/AvatarGroup-parameter.css +6 -0
  889. package/src/themes/base/Badge-parameters.css +61 -0
  890. package/src/themes/base/BrowserScrollbar-parameters.css +4 -0
  891. package/src/themes/base/BusyIndicator-parameters.css +5 -0
  892. package/src/themes/base/Button-parameters.css +30 -0
  893. package/src/themes/base/CalendarHeader-parameters.css +20 -0
  894. package/src/themes/base/Card-parameters.css +17 -0
  895. package/src/themes/base/Carousel-parameters.css +9 -0
  896. package/src/themes/base/CheckBox-parameters.css +53 -0
  897. package/src/themes/base/ColorPalette-parameters.css +14 -0
  898. package/src/themes/base/ColorPicker-parameters.css +8 -0
  899. package/src/themes/base/DatePicker-parameters.css +6 -0
  900. package/src/themes/base/DayPicker-parameters.css +41 -0
  901. package/src/themes/base/Dialog-parameters.css +9 -0
  902. package/src/themes/base/GroupHeaderListItem-parameters.css +3 -0
  903. package/src/themes/base/GrowingButton-parameters.css +6 -0
  904. package/src/themes/base/Input-parameters.css +63 -0
  905. package/src/themes/base/InputIcon-parameters.css +11 -0
  906. package/src/themes/base/Link-parameters.css +8 -0
  907. package/src/themes/base/List-parameters.css +3 -0
  908. package/src/themes/base/ListItemBase-parameters.css +9 -0
  909. package/src/themes/base/MessageStrip-parameters.css +21 -0
  910. package/src/themes/base/MonthPicker-parameters.css +16 -0
  911. package/src/themes/base/MultiComboBox-parameters.css +3 -0
  912. package/src/themes/base/Panel-parameters.css +11 -0
  913. package/src/themes/base/PopupsCommon-parameters.css +8 -0
  914. package/src/themes/base/ProgressIndicator-parameters.css +21 -0
  915. package/src/themes/base/RadioButton-parameters.css +32 -0
  916. package/src/themes/base/RatingIndicator-parameters.css +3 -0
  917. package/src/themes/base/SegmentedButtton-parameters.css +8 -0
  918. package/src/themes/base/Select-parameters.css +11 -0
  919. package/src/themes/base/SelectPopover-parameters.css +4 -0
  920. package/src/themes/base/SliderBase-parameters.css +57 -0
  921. package/src/themes/base/StepInput-parameters.css +23 -0
  922. package/src/themes/base/Suggestions-parameters.css +3 -0
  923. package/src/themes/base/Switch-parameters.css +107 -0
  924. package/src/themes/base/TabContainer-parameters.css +84 -0
  925. package/src/themes/base/Table-parameters.css +6 -0
  926. package/src/themes/base/TableColumn-parameters.css +3 -0
  927. package/src/themes/base/TableRow-parameters.css +3 -0
  928. package/src/themes/base/TextArea-parameters.css +22 -0
  929. package/src/themes/base/TimePicker-parameters.css +4 -0
  930. package/src/themes/base/TimelineItem-parameters.css +10 -0
  931. package/src/themes/base/Title-parameters.css +8 -0
  932. package/src/themes/base/Toast-parameters.css +6 -0
  933. package/src/themes/base/ToggleButton-parameters.css +8 -0
  934. package/src/themes/base/Token-parameters.css +19 -0
  935. package/src/themes/base/Tokenizer-parameters.css +4 -0
  936. package/src/themes/base/ValueStateMessage-parameters.css +7 -0
  937. package/src/themes/base/WheelSlider-parameters.css +15 -0
  938. package/src/themes/base/YearPicker-parameters.css +16 -0
  939. package/src/themes/base/sizes-parameters.css +302 -0
  940. package/src/themes/sap_belize/BrowserScrollbar-parameters.css +4 -0
  941. package/src/themes/sap_belize/Carousel-parameters.css +9 -0
  942. package/src/themes/sap_belize/Dialog-parameters.css +5 -0
  943. package/src/themes/sap_belize/Input-parameters.css +6 -0
  944. package/src/themes/sap_belize/InputIcon-parameters.css +5 -0
  945. package/src/themes/sap_belize/ProgressIndicator-parameters.css +8 -0
  946. package/src/themes/sap_belize/SliderBase-parameters.css +22 -0
  947. package/src/themes/sap_belize/TabContainer-parameters.css +6 -0
  948. package/src/themes/sap_belize/Table-parameters.css +7 -0
  949. package/src/themes/sap_belize/TimePicker-parameters.css +5 -0
  950. package/src/themes/sap_belize/WheelSlider-parameters.css +17 -0
  951. package/src/themes/sap_belize/parameters-bundle.css +48 -0
  952. package/src/themes/sap_belize_hcb/Avatar-parameters.css +18 -0
  953. package/src/themes/sap_belize_hcb/Badge-parameters.css +43 -0
  954. package/src/themes/sap_belize_hcb/BrowserScrollbar-parameters.css +4 -0
  955. package/src/themes/sap_belize_hcb/Button-parameters.css +12 -0
  956. package/src/themes/sap_belize_hcb/CalendarHeader-parameters.css +11 -0
  957. package/src/themes/sap_belize_hcb/Card-parameters.css +6 -0
  958. package/src/themes/sap_belize_hcb/Carousel-parameters.css +9 -0
  959. package/src/themes/sap_belize_hcb/CheckBox-parameters.css +12 -0
  960. package/src/themes/sap_belize_hcb/DatePicker-parameters.css +6 -0
  961. package/src/themes/sap_belize_hcb/DayPicker-parameters.css +13 -0
  962. package/src/themes/sap_belize_hcb/Dialog-parameters.css +7 -0
  963. package/src/themes/sap_belize_hcb/GrowingButton-parameters.css +8 -0
  964. package/src/themes/sap_belize_hcb/Input-parameters.css +14 -0
  965. package/src/themes/sap_belize_hcb/InputIcon-parameters.css +5 -0
  966. package/src/themes/sap_belize_hcb/Link-parameters.css +7 -0
  967. package/src/themes/sap_belize_hcb/MessageStrip-parameters.css +10 -0
  968. package/src/themes/sap_belize_hcb/MonthPicker-parameters.css +10 -0
  969. package/src/themes/sap_belize_hcb/Panel-parameters.css +5 -0
  970. package/src/themes/sap_belize_hcb/ProgressIndicator-parameters.css +11 -0
  971. package/src/themes/sap_belize_hcb/RadioButton-parameters.css +10 -0
  972. package/src/themes/sap_belize_hcb/Select-parameters.css +12 -0
  973. package/src/themes/sap_belize_hcb/SliderBase-parameters.css +17 -0
  974. package/src/themes/sap_belize_hcb/Switch-parameters.css +46 -0
  975. package/src/themes/sap_belize_hcb/TabContainer-parameters.css +44 -0
  976. package/src/themes/sap_belize_hcb/Table-parameters.css +7 -0
  977. package/src/themes/sap_belize_hcb/TableRow-parameters.css +5 -0
  978. package/src/themes/sap_belize_hcb/TextArea-parameters.css +6 -0
  979. package/src/themes/sap_belize_hcb/ToggleButton-parameters.css +7 -0
  980. package/src/themes/sap_belize_hcb/Token-parameters.css +6 -0
  981. package/src/themes/sap_belize_hcb/ValueStateMessage-parameters.css +5 -0
  982. package/src/themes/sap_belize_hcb/WheelSlider-parameters.css +17 -0
  983. package/src/themes/sap_belize_hcb/YearPicker-parameters.css +10 -0
  984. package/src/themes/sap_belize_hcb/parameters-bundle.css +47 -0
  985. package/src/themes/sap_belize_hcw/Avatar-parameters.css +18 -0
  986. package/src/themes/sap_belize_hcw/Badge-parameters.css +43 -0
  987. package/src/themes/sap_belize_hcw/BrowserScrollbar-parameters.css +4 -0
  988. package/src/themes/sap_belize_hcw/Button-parameters.css +12 -0
  989. package/src/themes/sap_belize_hcw/CalendarHeader-parameters.css +11 -0
  990. package/src/themes/sap_belize_hcw/Card-parameters.css +6 -0
  991. package/src/themes/sap_belize_hcw/Carousel-parameters.css +9 -0
  992. package/src/themes/sap_belize_hcw/CheckBox-parameters.css +12 -0
  993. package/src/themes/sap_belize_hcw/DatePicker-parameters.css +5 -0
  994. package/src/themes/sap_belize_hcw/DayPicker-parameters.css +14 -0
  995. package/src/themes/sap_belize_hcw/Dialog-parameters.css +7 -0
  996. package/src/themes/sap_belize_hcw/GrowingButton-parameters.css +8 -0
  997. package/src/themes/sap_belize_hcw/Input-parameters.css +14 -0
  998. package/src/themes/sap_belize_hcw/InputIcon-parameters.css +5 -0
  999. package/src/themes/sap_belize_hcw/Link-parameters.css +7 -0
  1000. package/src/themes/sap_belize_hcw/MessageStrip-parameters.css +10 -0
  1001. package/src/themes/sap_belize_hcw/MonthPicker-parameters.css +10 -0
  1002. package/src/themes/sap_belize_hcw/Panel-parameters.css +5 -0
  1003. package/src/themes/sap_belize_hcw/ProgressIndicator-parameters.css +11 -0
  1004. package/src/themes/sap_belize_hcw/RadioButton-parameters.css +10 -0
  1005. package/src/themes/sap_belize_hcw/Select-parameters.css +12 -0
  1006. package/src/themes/sap_belize_hcw/SliderBase-parameters.css +17 -0
  1007. package/src/themes/sap_belize_hcw/Switch-parameters.css +45 -0
  1008. package/src/themes/sap_belize_hcw/TabContainer-parameters.css +44 -0
  1009. package/src/themes/sap_belize_hcw/Table-parameters.css +7 -0
  1010. package/src/themes/sap_belize_hcw/TableRow-parameters.css +5 -0
  1011. package/src/themes/sap_belize_hcw/TextArea-parameters.css +6 -0
  1012. package/src/themes/sap_belize_hcw/ToggleButton-parameters.css +6 -0
  1013. package/src/themes/sap_belize_hcw/Token-parameters.css +6 -0
  1014. package/src/themes/sap_belize_hcw/ValueStateMessage-parameters.css +5 -0
  1015. package/src/themes/sap_belize_hcw/WheelSlider-parameters.css +17 -0
  1016. package/src/themes/sap_belize_hcw/YearPicker-parameters.css +10 -0
  1017. package/src/themes/sap_belize_hcw/parameters-bundle.css +47 -0
  1018. package/src/themes/sap_fiori_3/Avatar-parameters.css +9 -0
  1019. package/src/themes/sap_fiori_3/Button-parameters.css +14 -0
  1020. package/src/themes/sap_fiori_3/CalendarHeader-parameters.css +8 -0
  1021. package/src/themes/sap_fiori_3/CheckBox-parameters.css +13 -0
  1022. package/src/themes/sap_fiori_3/DayPicker-parameters.css +6 -0
  1023. package/src/themes/sap_fiori_3/Input-parameters.css +7 -0
  1024. package/src/themes/sap_fiori_3/Link-parameters.css +7 -0
  1025. package/src/themes/sap_fiori_3/List-parameters.css +5 -0
  1026. package/src/themes/sap_fiori_3/MonthPicker-parameters.css +5 -0
  1027. package/src/themes/sap_fiori_3/MultiComboBox-parameters.css +5 -0
  1028. package/src/themes/sap_fiori_3/Panel-parameters.css +6 -0
  1029. package/src/themes/sap_fiori_3/SliderBase-parameters.css +5 -0
  1030. package/src/themes/sap_fiori_3/TabContainer-parameters.css +12 -0
  1031. package/src/themes/sap_fiori_3/TimePicker-parameters.css +5 -0
  1032. package/src/themes/sap_fiori_3/Token-parameters.css +9 -0
  1033. package/src/themes/sap_fiori_3/WheelSlider-parameters.css +16 -0
  1034. package/src/themes/sap_fiori_3/YearPicker-parameters.css +5 -0
  1035. package/src/themes/sap_fiori_3/parameters-bundle.css +48 -0
  1036. package/src/themes/sap_fiori_3_dark/Avatar-parameters.css +9 -0
  1037. package/src/themes/sap_fiori_3_dark/Button-parameters.css +14 -0
  1038. package/src/themes/sap_fiori_3_dark/CalendarHeader-parameters.css +8 -0
  1039. package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +13 -0
  1040. package/src/themes/sap_fiori_3_dark/DayPicker-parameters.css +6 -0
  1041. package/src/themes/sap_fiori_3_dark/Input-parameters.css +7 -0
  1042. package/src/themes/sap_fiori_3_dark/Link-parameters.css +7 -0
  1043. package/src/themes/sap_fiori_3_dark/List-parameters.css +5 -0
  1044. package/src/themes/sap_fiori_3_dark/MonthPicker-parameters.css +5 -0
  1045. package/src/themes/sap_fiori_3_dark/MultiComboBox-parameters.css +5 -0
  1046. package/src/themes/sap_fiori_3_dark/Panel-parameters.css +6 -0
  1047. package/src/themes/sap_fiori_3_dark/SliderBase-parameters.css +5 -0
  1048. package/src/themes/sap_fiori_3_dark/TabContainer-parameters.css +12 -0
  1049. package/src/themes/sap_fiori_3_dark/Token-parameters.css +8 -0
  1050. package/src/themes/sap_fiori_3_dark/WheelSlider-parameters.css +15 -0
  1051. package/src/themes/sap_fiori_3_dark/YearPicker-parameters.css +5 -0
  1052. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +47 -0
  1053. package/src/themes/sap_fiori_3_hcb/Avatar-parameters.css +24 -0
  1054. package/src/themes/sap_fiori_3_hcb/Badge-parameters.css +43 -0
  1055. package/src/themes/sap_fiori_3_hcb/Button-parameters.css +10 -0
  1056. package/src/themes/sap_fiori_3_hcb/CalendarHeader-parameters.css +11 -0
  1057. package/src/themes/sap_fiori_3_hcb/Card-parameters.css +6 -0
  1058. package/src/themes/sap_fiori_3_hcb/Carousel-parameters.css +9 -0
  1059. package/src/themes/sap_fiori_3_hcb/CheckBox-parameters.css +13 -0
  1060. package/src/themes/sap_fiori_3_hcb/DatePicker-parameters.css +5 -0
  1061. package/src/themes/sap_fiori_3_hcb/DayPicker-parameters.css +19 -0
  1062. package/src/themes/sap_fiori_3_hcb/Dialog-parameters.css +7 -0
  1063. package/src/themes/sap_fiori_3_hcb/GrowingButton-parameters.css +8 -0
  1064. package/src/themes/sap_fiori_3_hcb/Input-parameters.css +21 -0
  1065. package/src/themes/sap_fiori_3_hcb/InputIcon-parameters.css +5 -0
  1066. package/src/themes/sap_fiori_3_hcb/Link-parameters.css +7 -0
  1067. package/src/themes/sap_fiori_3_hcb/MessageStrip-parameters.css +10 -0
  1068. package/src/themes/sap_fiori_3_hcb/MonthPicker-parameters.css +11 -0
  1069. package/src/themes/sap_fiori_3_hcb/Panel-parameters.css +5 -0
  1070. package/src/themes/sap_fiori_3_hcb/ProgressIndicator-parameters.css +11 -0
  1071. package/src/themes/sap_fiori_3_hcb/RadioButton-parameters.css +10 -0
  1072. package/src/themes/sap_fiori_3_hcb/Select-parameters.css +12 -0
  1073. package/src/themes/sap_fiori_3_hcb/SliderBase-parameters.css +14 -0
  1074. package/src/themes/sap_fiori_3_hcb/Switch-parameters.css +45 -0
  1075. package/src/themes/sap_fiori_3_hcb/TabContainer-parameters.css +44 -0
  1076. package/src/themes/sap_fiori_3_hcb/Table-parameters.css +5 -0
  1077. package/src/themes/sap_fiori_3_hcb/TableRow-parameters.css +5 -0
  1078. package/src/themes/sap_fiori_3_hcb/TextArea-parameters.css +10 -0
  1079. package/src/themes/sap_fiori_3_hcb/TimePicker-parameters.css +5 -0
  1080. package/src/themes/sap_fiori_3_hcb/ToggleButton-parameters.css +6 -0
  1081. package/src/themes/sap_fiori_3_hcb/Token-parameters.css +7 -0
  1082. package/src/themes/sap_fiori_3_hcb/ValueStateMessage-parameters.css +5 -0
  1083. package/src/themes/sap_fiori_3_hcb/WheelSlider-parameters.css +17 -0
  1084. package/src/themes/sap_fiori_3_hcb/YearPicker-parameters.css +11 -0
  1085. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +48 -0
  1086. package/src/themes/sap_fiori_3_hcw/Avatar-parameters.css +24 -0
  1087. package/src/themes/sap_fiori_3_hcw/Badge-parameters.css +43 -0
  1088. package/src/themes/sap_fiori_3_hcw/Button-parameters.css +10 -0
  1089. package/src/themes/sap_fiori_3_hcw/CalendarHeader-parameters.css +11 -0
  1090. package/src/themes/sap_fiori_3_hcw/Card-parameters.css +6 -0
  1091. package/src/themes/sap_fiori_3_hcw/Carousel-parameters.css +9 -0
  1092. package/src/themes/sap_fiori_3_hcw/CheckBox-parameters.css +13 -0
  1093. package/src/themes/sap_fiori_3_hcw/DatePicker-parameters.css +5 -0
  1094. package/src/themes/sap_fiori_3_hcw/DayPicker-parameters.css +19 -0
  1095. package/src/themes/sap_fiori_3_hcw/Dialog-parameters.css +7 -0
  1096. package/src/themes/sap_fiori_3_hcw/GrowingButton-parameters.css +8 -0
  1097. package/src/themes/sap_fiori_3_hcw/Input-parameters.css +21 -0
  1098. package/src/themes/sap_fiori_3_hcw/InputIcon-parameters.css +5 -0
  1099. package/src/themes/sap_fiori_3_hcw/Link-parameters.css +7 -0
  1100. package/src/themes/sap_fiori_3_hcw/MessageStrip-parameters.css +10 -0
  1101. package/src/themes/sap_fiori_3_hcw/MonthPicker-parameters.css +11 -0
  1102. package/src/themes/sap_fiori_3_hcw/Panel-parameters.css +5 -0
  1103. package/src/themes/sap_fiori_3_hcw/ProgressIndicator-parameters.css +11 -0
  1104. package/src/themes/sap_fiori_3_hcw/RadioButton-parameters.css +10 -0
  1105. package/src/themes/sap_fiori_3_hcw/Select-parameters.css +12 -0
  1106. package/src/themes/sap_fiori_3_hcw/SliderBase-parameters.css +13 -0
  1107. package/src/themes/sap_fiori_3_hcw/Switch-parameters.css +45 -0
  1108. package/src/themes/sap_fiori_3_hcw/TabContainer-parameters.css +44 -0
  1109. package/src/themes/sap_fiori_3_hcw/Table-parameters.css +5 -0
  1110. package/src/themes/sap_fiori_3_hcw/TableRow-parameters.css +5 -0
  1111. package/src/themes/sap_fiori_3_hcw/TextArea-parameters.css +10 -0
  1112. package/src/themes/sap_fiori_3_hcw/TimePicker-parameters.css +5 -0
  1113. package/src/themes/sap_fiori_3_hcw/ToggleButton-parameters.css +6 -0
  1114. package/src/themes/sap_fiori_3_hcw/Token-parameters.css +7 -0
  1115. package/src/themes/sap_fiori_3_hcw/ValueStateMessage-parameters.css +5 -0
  1116. package/src/themes/sap_fiori_3_hcw/WheelSlider-parameters.css +17 -0
  1117. package/src/themes/sap_fiori_3_hcw/YearPicker-parameters.css +11 -0
  1118. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +48 -0
  1119. package/src/themes/sap_horizon/Avatar-parameters.css +33 -0
  1120. package/src/themes/sap_horizon/BusyIndicator-parameters.css +7 -0
  1121. package/src/themes/sap_horizon/Button-parameters.css +20 -0
  1122. package/src/themes/sap_horizon/CalendarHeader-parameters.css +19 -0
  1123. package/src/themes/sap_horizon/Card-parameters.css +10 -0
  1124. package/src/themes/sap_horizon/CheckBox-parameters.css +34 -0
  1125. package/src/themes/sap_horizon/ColorPalette-parameters.css +16 -0
  1126. package/src/themes/sap_horizon/ColorPicker-parameters.css +10 -0
  1127. package/src/themes/sap_horizon/DatePicker-parameters.css +6 -0
  1128. package/src/themes/sap_horizon/DayPicker-parameters.css +31 -0
  1129. package/src/themes/sap_horizon/Dialog-parameters.css +11 -0
  1130. package/src/themes/sap_horizon/GrowingButton-parameters.css +5 -0
  1131. package/src/themes/sap_horizon/Input-parameters.css +35 -0
  1132. package/src/themes/sap_horizon/InputIcon-parameters.css +17 -0
  1133. package/src/themes/sap_horizon/Link-parameters.css +10 -0
  1134. package/src/themes/sap_horizon/List-parameters.css +5 -0
  1135. package/src/themes/sap_horizon/ListItemBase-parameters.css +7 -0
  1136. package/src/themes/sap_horizon/MessageStrip-parameters.css +9 -0
  1137. package/src/themes/sap_horizon/MonthPicker-parameters.css +17 -0
  1138. package/src/themes/sap_horizon/MultiComboBox-parameters.css +5 -0
  1139. package/src/themes/sap_horizon/Panel-parameters.css +12 -0
  1140. package/src/themes/sap_horizon/PopupsCommon-parameters.css +10 -0
  1141. package/src/themes/sap_horizon/ProgressIndicator-parameters.css +23 -0
  1142. package/src/themes/sap_horizon/RadioButton-parameters.css +9 -0
  1143. package/src/themes/sap_horizon/RatingIndicator-parameters.css +3 -0
  1144. package/src/themes/sap_horizon/SegmentedButtton-parameters.css +10 -0
  1145. package/src/themes/sap_horizon/Select-parameters.css +5 -0
  1146. package/src/themes/sap_horizon/SelectPopover-parameters.css +4 -0
  1147. package/src/themes/sap_horizon/SliderBase-parameters.css +44 -0
  1148. package/src/themes/sap_horizon/StepInput-parameters.css +25 -0
  1149. package/src/themes/sap_horizon/Suggestions-parameters.css +5 -0
  1150. package/src/themes/sap_horizon/Switch-parameters.css +31 -0
  1151. package/src/themes/sap_horizon/TabContainer-parameters.css +25 -0
  1152. package/src/themes/sap_horizon/Table-parameters.css +8 -0
  1153. package/src/themes/sap_horizon/TableColumn-parameters.css +5 -0
  1154. package/src/themes/sap_horizon/TableRow-parameters.css +5 -0
  1155. package/src/themes/sap_horizon/TextArea-parameters.css +22 -0
  1156. package/src/themes/sap_horizon/TimePicker-parameters.css +6 -0
  1157. package/src/themes/sap_horizon/ToggleButton-parameters.css +11 -0
  1158. package/src/themes/sap_horizon/Token-parameters.css +28 -0
  1159. package/src/themes/sap_horizon/Tokenizer-parameters.css +6 -0
  1160. package/src/themes/sap_horizon/ValueStateMessage-parameters.css +8 -0
  1161. package/src/themes/sap_horizon/WheelSlider-parameters.css +19 -0
  1162. package/src/themes/sap_horizon/YearPicker-parameters.css +16 -0
  1163. package/src/themes/sap_horizon/parameters-bundle.css +57 -0
  1164. package/src/themes/sap_horizon/sizes-parameters.css +8 -0
  1165. package/src/themes/sap_horizon_exp/Badge-parameters.css +91 -0
  1166. package/src/themes/sap_horizon_exp/Button-parameters.css +12 -0
  1167. package/src/themes/sap_horizon_exp/CalendarHeader-parameters.css +8 -0
  1168. package/src/themes/sap_horizon_exp/CheckBox-parameters.css +35 -0
  1169. package/src/themes/sap_horizon_exp/DatePicker-parameters.css +5 -0
  1170. package/src/themes/sap_horizon_exp/DayPicker-parameters.css +6 -0
  1171. package/src/themes/sap_horizon_exp/Input-parameters.css +46 -0
  1172. package/src/themes/sap_horizon_exp/InputIcon-parameters.css +9 -0
  1173. package/src/themes/sap_horizon_exp/Link-parameters.css +7 -0
  1174. package/src/themes/sap_horizon_exp/List-parameters.css +5 -0
  1175. package/src/themes/sap_horizon_exp/MonthPicker-parameters.css +5 -0
  1176. package/src/themes/sap_horizon_exp/MultiComboBox-parameters.css +7 -0
  1177. package/src/themes/sap_horizon_exp/Panel-parameters.css +6 -0
  1178. package/src/themes/sap_horizon_exp/Popover-parameters.css +5 -0
  1179. package/src/themes/sap_horizon_exp/RadioButton-parameters.css +30 -0
  1180. package/src/themes/sap_horizon_exp/Select-parameters.css +5 -0
  1181. package/src/themes/sap_horizon_exp/SliderBase-parameters.css +30 -0
  1182. package/src/themes/sap_horizon_exp/Switch-parameters.css +46 -0
  1183. package/src/themes/sap_horizon_exp/TabContainer-parameters.css +40 -0
  1184. package/src/themes/sap_horizon_exp/TimePicker-parameters.css +5 -0
  1185. package/src/themes/sap_horizon_exp/Token-parameters.css +9 -0
  1186. package/src/themes/sap_horizon_exp/WheelSlider-parameters.css +16 -0
  1187. package/src/themes/sap_horizon_exp/YearPicker-parameters.css +5 -0
  1188. package/src/themes/sap_horizon_exp/parameters-bundle.css +46 -0
  1189. package/src/timepicker-utils/TimeSlider.js +103 -0
  1190. package/src/types/AvatarColorScheme.js +104 -0
  1191. package/src/types/AvatarGroupType.js +43 -0
  1192. package/src/types/AvatarShape.js +41 -0
  1193. package/src/types/AvatarSize.js +67 -0
  1194. package/src/types/BreadcrumbsDesign.js +42 -0
  1195. package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
  1196. package/src/types/BusyIndicatorSize.js +47 -0
  1197. package/src/types/ButtonDesign.js +68 -0
  1198. package/src/types/CalendarSelectionMode.js +47 -0
  1199. package/src/types/CarouselArrowsPlacement.js +40 -0
  1200. package/src/types/GrowingMode.js +48 -0
  1201. package/src/types/HasPopup.js +62 -0
  1202. package/src/types/InputType.js +68 -0
  1203. package/src/types/LinkDesign.js +47 -0
  1204. package/src/types/ListGrowingMode.js +15 -0
  1205. package/src/types/ListItemType.js +47 -0
  1206. package/src/types/ListMode.js +77 -0
  1207. package/src/types/ListSeparators.js +46 -0
  1208. package/src/types/MessageStripDesign.js +54 -0
  1209. package/src/types/PanelAccessibleRole.js +48 -0
  1210. package/src/types/PopoverHorizontalAlign.js +54 -0
  1211. package/src/types/PopoverPlacementType.js +54 -0
  1212. package/src/types/PopoverVerticalAlign.js +54 -0
  1213. package/src/types/Priority.js +55 -0
  1214. package/src/types/SemanticColor.js +61 -0
  1215. package/src/types/SwitchDesign.js +40 -0
  1216. package/src/types/TabContainerTabsPlacement.js +40 -0
  1217. package/src/types/TabLayout.js +40 -0
  1218. package/src/types/TableGrowingMode.js +15 -0
  1219. package/src/types/TableMode.js +47 -0
  1220. package/src/types/TableRowType.js +40 -0
  1221. package/src/types/TabsOverflowMode.js +40 -0
  1222. package/src/types/TitleLevel.js +68 -0
  1223. package/src/types/ToastPlacement.js +91 -0
  1224. package/src/types/WrappingType.js +41 -0
  1225. package/dist/Timeline.js +0 -81
  1226. package/dist/TimelineItem.js +0 -163
  1227. package/dist/generated/templates/TabSeparatorTemplate.lit.js +0 -7
  1228. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
  1229. package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
  1230. package/dist/generated/themes/Timeline.css.js +0 -9
  1231. package/dist/generated/themes/TimelineItem.css.js +0 -9
  1232. package/dist/popup-utils/PopupUtils.js +0 -42
  1233. package/dist/types/MessageStripType.js +0 -36
  1234. package/dist/types/MessageType.js +0 -46
  1235. package/dist/webcomponentsjs/package.json +0 -46
package/dist/Input.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
- import { isIE } from "@ui5/webcomponents-base/dist/Device.js";
3
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
4
+ import { isIE, isPhone, isSafari } from "@ui5/webcomponents-base/dist/Device.js";
4
5
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
5
6
  import { getFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
6
7
  import {
@@ -8,35 +9,60 @@ import {
8
9
  isDown,
9
10
  isSpace,
10
11
  isEnter,
11
- } from "@ui5/webcomponents-base/dist/events/PseudoEvents.js";
12
+ isBackSpace,
13
+ isDelete,
14
+ isEscape,
15
+ isTabNext,
16
+ isPageUp,
17
+ isPageDown,
18
+ isHome,
19
+ isEnd,
20
+ } from "@ui5/webcomponents-base/dist/Keys.js";
12
21
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
13
- import { fetchI18nBundle, getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
14
- // import Icon from "./Icon.js";
22
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
23
+ import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
24
+ import { getCaretPosition, setCaretPosition } from "@ui5/webcomponents-base/dist/util/Caret.js";
25
+ import "@ui5/webcomponents-icons/dist/decline.js";
26
+ import "@ui5/webcomponents-icons/dist/not-editable.js";
15
27
  import InputType from "./types/InputType.js";
16
- // Template
28
+ import Popover from "./Popover.js";
29
+ // Templates
17
30
  import InputTemplate from "./generated/templates/InputTemplate.lit.js";
31
+ import InputPopoverTemplate from "./generated/templates/InputPopoverTemplate.lit.js";
18
32
 
19
33
  import {
20
34
  VALUE_STATE_SUCCESS,
35
+ VALUE_STATE_INFORMATION,
21
36
  VALUE_STATE_ERROR,
22
37
  VALUE_STATE_WARNING,
23
38
  INPUT_SUGGESTIONS,
39
+ INPUT_SUGGESTIONS_TITLE,
40
+ INPUT_SUGGESTIONS_ONE_HIT,
41
+ INPUT_SUGGESTIONS_MORE_HITS,
42
+ INPUT_SUGGESTIONS_NO_HIT,
24
43
  } from "./generated/i18n/i18n-defaults.js";
25
44
 
26
45
  // Styles
27
46
  import styles from "./generated/themes/Input.css.js";
47
+ import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverCommon.css.js";
48
+ import ValueStateMessageCss from "./generated/themes/ValueStateMessage.css.js";
49
+ import SuggestionsCss from "./generated/themes/Suggestions.css.js";
50
+
51
+ const rgxFloat = new RegExp(/(\+|-)?\d+(\.|,)\d+/);
28
52
 
29
53
  /**
30
54
  * @public
31
55
  */
32
56
  const metadata = {
33
57
  tag: "ui5-input",
58
+ languageAware: true,
59
+ managedSlots: true,
34
60
  slots: /** @lends sap.ui.webcomponents.main.Input.prototype */ {
35
61
 
36
62
  /**
37
- * Defines the icon to be displayed in the <code>ui5-input</code>.
63
+ * Defines the icon to be displayed in the component.
38
64
  *
39
- * @type {HTMLElement[]}
65
+ * @type {sap.ui.webcomponents.main.IIcon[]}
40
66
  * @slot
41
67
  * @public
42
68
  */
@@ -45,24 +71,37 @@ const metadata = {
45
71
  },
46
72
 
47
73
  /**
48
- * Defines the <code>ui5-input</code> suggestion items.
74
+ * Defines the suggestion items.
75
+ * <br><br>
76
+ * Example:
49
77
  * <br><br>
50
- * Example: <br>
51
78
  * &lt;ui5-input show-suggestions><br>
52
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-li>Item #1&lt;/ui5-li><br>
53
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-li>Item #2&lt;/ui5-li><br>
79
+ * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-suggestion-item text="Item #1">&lt;/ui5-suggestion-item><br>
80
+ * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-suggestion-item text="Item #2">&lt;/ui5-suggestion-item><br>
54
81
  * &lt;/ui5-input>
55
- * <ui5-input show-suggestions><ui5-li>Item #1</ui5-li><ui5-li>Item #2</ui5-li></ui5-input>
82
+ * <br>
83
+ * <ui5-input show-suggestions>
84
+ * <ui5-suggestion-group-item text="Group #1"></ui5-suggestion-group-item>
85
+ * <ui5-suggestion-item text="Item #1"></ui5-suggestion-item>
86
+ * <ui5-suggestion-item text="Item #2"></ui5-suggestion-item>
87
+ * <ui5-suggestion-group-item text="Group #2"></ui5-suggestion-group-item>
88
+ * <ui5-suggestion-item text="Item #3"></ui5-suggestion-item>
89
+ * <ui5-suggestion-item text="Item #4"></ui5-suggestion-item>
90
+ * </ui5-input>
56
91
  * <br><br>
57
- * <b>Note:</b> The suggestion would be displayed only if the <code>showSuggestions</code>
92
+ * <b>Note:</b> The suggestions would be displayed only if the <code>showSuggestions</code>
58
93
  * property is set to <code>true</code>.
59
94
  * <br><br>
60
- * <b>Note:</b> The &lt;ui5-li> and &lt;ui5-li-custom> are recommended to be used as suggestion items.
95
+ * <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.
96
+ * <br><br>
97
+ * <b>Note:</b> Importing the Input Suggestions Support feature:
98
+ * <br>
99
+ * <code>import "@ui5/webcomponents/dist/features/InputSuggestions.js";</code>
61
100
  * <br>
62
- * In order to use them, you need to import either <code>"@ui5/webcomponents/dist/StandardListItem"</code>, or <code>"@ui5/webcomponents/dist/CustomListItem"</code> module.
101
+ * automatically imports the <code>&lt;ui5-suggestion-item></code> and <code>&lt;ui5-suggestion-group-item></code> for your convenience.
63
102
  *
64
- * @type {HTMLElement[]}
65
- * @slot
103
+ * @type {sap.ui.webcomponents.main.IInputSuggestionItem[]}
104
+ * @slot suggestionItems
66
105
  * @public
67
106
  */
68
107
  "default": {
@@ -71,7 +110,7 @@ const metadata = {
71
110
  },
72
111
 
73
112
  /**
74
- * The slot is used for native <code>input</code> HTML element to enable form sumbit,
113
+ * The slot is used for native <code>input</code> HTML element to enable form submit,
75
114
  * when <code>name</code> property is set.
76
115
  * @type {HTMLElement[]}
77
116
  * @private
@@ -79,13 +118,33 @@ const metadata = {
79
118
  formSupport: {
80
119
  type: HTMLElement,
81
120
  },
121
+
122
+ /**
123
+ * Defines the value state message that will be displayed as pop up under the component.
124
+ * <br><br>
125
+ *
126
+ * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.
127
+ * <br><br>
128
+ * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,
129
+ * when the component is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
130
+ * <br><br>
131
+ * <b>Note:</b> If the component has <code>suggestionItems</code>,
132
+ * the <code>valueStateMessage</code> would be displayed as part of the same popover, if used on desktop, or dialog - on phone.
133
+ * @type {HTMLElement[]}
134
+ * @since 1.0.0-rc.6
135
+ * @slot
136
+ * @public
137
+ */
138
+ valueStateMessage: {
139
+ type: HTMLElement,
140
+ },
82
141
  },
83
142
  properties: /** @lends sap.ui.webcomponents.main.Input.prototype */ {
84
143
 
85
144
  /**
86
- * Defines whether <code>ui5-input</code> is in disabled state.
145
+ * Defines whether the component is in disabled state.
87
146
  * <br><br>
88
- * <b>Note:</b> A disabled <code>ui5-input</code> is completely uninteractive.
147
+ * <b>Note:</b> A disabled component is completely noninteractive.
89
148
  *
90
149
  * @type {boolean}
91
150
  * @defaultvalue false
@@ -95,9 +154,24 @@ const metadata = {
95
154
  type: Boolean,
96
155
  },
97
156
 
157
+ /**
158
+ * Defines if characters within the suggestions are to be highlighted
159
+ * in case the input value matches parts of the suggestions text.
160
+ * <br><br>
161
+ * <b>Note:</b> takes effect when <code>showSuggestions</code> is set to <code>true</code>
162
+ *
163
+ * @type {boolean}
164
+ * @defaultvalue false
165
+ * @private
166
+ * @sicne 1.0.0-rc.8
167
+ */
168
+ highlight: {
169
+ type: Boolean,
170
+ },
171
+
98
172
  /**
99
173
  * Defines a short hint intended to aid the user with data entry when the
100
- * <code>ui5-input</code> has no value.
174
+ * component has no value.
101
175
  * @type {string}
102
176
  * @defaultvalue ""
103
177
  * @public
@@ -107,9 +181,9 @@ const metadata = {
107
181
  },
108
182
 
109
183
  /**
110
- * Defines whether the <code>ui5-input</code> is read-only.
184
+ * Defines whether the component is read-only.
111
185
  * <br><br>
112
- * <b>Note:</b> A read-only <code>ui5-input</code> is not editable,
186
+ * <b>Note:</b> A read-only component is not editable,
113
187
  * but still provides visual feedback upon user interaction.
114
188
  *
115
189
  * @type {boolean}
@@ -121,7 +195,7 @@ const metadata = {
121
195
  },
122
196
 
123
197
  /**
124
- * Defines whether the <code>ui5-input</code> is required.
198
+ * Defines whether the component is required.
125
199
  *
126
200
  * @type {boolean}
127
201
  * @defaultvalue false
@@ -133,7 +207,7 @@ const metadata = {
133
207
  },
134
208
 
135
209
  /**
136
- * Defines the HTML type of the <code>ui5-input</code>.
210
+ * Defines the HTML type of the component.
137
211
  * Available options are: <code>Text</code>, <code>Email</code>,
138
212
  * <code>Number</code>, <code>Password</code>, <code>Tel</code>, and <code>URL</code>.
139
213
  * <br><br>
@@ -145,7 +219,7 @@ const metadata = {
145
219
  * that use different soft keyboard layouts depending on the given input type.</li>
146
220
  * </ul>
147
221
  *
148
- * @type {string}
222
+ * @type {InputType}
149
223
  * @defaultvalue "Text"
150
224
  * @public
151
225
  */
@@ -155,7 +229,7 @@ const metadata = {
155
229
  },
156
230
 
157
231
  /**
158
- * Defines the value of the <code>ui5-input</code>.
232
+ * Defines the value of the component.
159
233
  * <br><br>
160
234
  * <b>Note:</b> The property is updated upon typing.
161
235
  *
@@ -168,10 +242,18 @@ const metadata = {
168
242
  },
169
243
 
170
244
  /**
171
- * Defines the value state of the <code>ui5-input</code>.
172
- * Available options are: <code>None</code>, <code>Success</code>, <code>Warning</code>, and <code>Error</code>.
245
+ * Defines the value state of the component.
246
+ * <br><br>
247
+ * Available options are:
248
+ * <ul>
249
+ * <li><code>None</code></li>
250
+ * <li><code>Error</code></li>
251
+ * <li><code>Warning</code></li>
252
+ * <li><code>Success</code></li>
253
+ * <li><code>Information</code></li>
254
+ * </ul>
173
255
  *
174
- * @type {string}
256
+ * @type {ValueState}
175
257
  * @defaultvalue "None"
176
258
  * @public
177
259
  */
@@ -181,13 +263,15 @@ const metadata = {
181
263
  },
182
264
 
183
265
  /**
184
- * Determines the name with which the <code>ui5-input</code> will be submitted in an HTML form.
266
+ * Determines the name with which the component will be submitted in an HTML form.
185
267
  *
268
+ * <br><br>
186
269
  * <b>Important:</b> For the <code>name</code> property to have effect, you must add the following import to your project:
187
270
  * <code>import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js";</code>
188
271
  *
272
+ * <br><br>
189
273
  * <b>Note:</b> When set, a native <code>input</code> HTML element
190
- * will be created inside the <code>ui5-input</code> so that it can be submitted as
274
+ * will be created inside the component so that it can be submitted as
191
275
  * part of an HTML form. Do not use this property unless you need to submit a form.
192
276
  *
193
277
  * @type {string}
@@ -199,11 +283,11 @@ const metadata = {
199
283
  },
200
284
 
201
285
  /**
202
- * Defines whether the <code>ui5-input</code> should show suggestions, if such are present.
286
+ * Defines whether the component should show suggestions, if such are present.
203
287
  * <br><br>
204
- * <b>Note:</b>
205
- * Don`t forget to import the <code>InputSuggestions</code> module from "@ui5/webcomponents/dist/features/InputSuggestions.js" to enable this functionality.
206
- * @type {Boolean}
288
+ * <b>Note:</b> You need to import the <code>InputSuggestions</code> module
289
+ * from <code>"@ui5/webcomponents/dist/features/InputSuggestions.js"</code> to enable this functionality.
290
+ * @type {boolean}
207
291
  * @defaultvalue false
208
292
  * @public
209
293
  */
@@ -222,6 +306,30 @@ const metadata = {
222
306
  type: Integer,
223
307
  },
224
308
 
309
+ /**
310
+ * Sets the accessible aria name of the component.
311
+ *
312
+ * @type {String}
313
+ * @public
314
+ * @since 1.0.0-rc.15
315
+ */
316
+ accessibleName: {
317
+ type: String,
318
+ },
319
+
320
+ /**
321
+ * Receives id(or many ids) of the elements that label the input.
322
+ *
323
+ * @type {String}
324
+ * @defaultvalue ""
325
+ * @public
326
+ * @since 1.0.0-rc.15
327
+ */
328
+ accessibleNameRef: {
329
+ type: String,
330
+ defaultValue: "",
331
+ },
332
+
225
333
  /**
226
334
  * @private
227
335
  */
@@ -229,11 +337,19 @@ const metadata = {
229
337
  type: Boolean,
230
338
  },
231
339
 
232
- _input: {
233
- type: Object,
340
+ /**
341
+ * Indicates whether the visual focus is on the value state header
342
+ * @private
343
+ */
344
+ _isValueStateFocused: {
345
+ type: Boolean,
346
+ },
347
+
348
+ open: {
349
+ type: Boolean,
234
350
  },
235
351
 
236
- _popover: {
352
+ _input: {
237
353
  type: Object,
238
354
  },
239
355
 
@@ -241,9 +357,27 @@ const metadata = {
241
357
  type: Object,
242
358
  },
243
359
 
244
- _wrapperAccInfo: {
360
+ _nativeInputAttributes: {
245
361
  type: Object,
246
362
  },
363
+
364
+ _inputWidth: {
365
+ type: Integer,
366
+ },
367
+
368
+ _listWidth: {
369
+ type: Integer,
370
+ },
371
+
372
+ _isPopoverOpen: {
373
+ type: Boolean,
374
+ noAttribute: true,
375
+ },
376
+
377
+ _inputIconFocused: {
378
+ type: Boolean,
379
+ noAttribute: true,
380
+ },
247
381
  },
248
382
  events: /** @lends sap.ui.webcomponents.main.Input.prototype */ {
249
383
  /**
@@ -255,7 +389,7 @@ const metadata = {
255
389
  change: {},
256
390
 
257
391
  /**
258
- * Fired when the value of the <code>ui5-input</code> changes at each keystroke,
392
+ * Fired when the value of the component changes at each keystroke,
259
393
  * and when a suggestion item has been selected.
260
394
  *
261
395
  * @event
@@ -264,27 +398,48 @@ const metadata = {
264
398
  input: {},
265
399
 
266
400
  /**
267
- * Fired when user presses Enter key on the <code>ui5-input</code>.
268
- * <br><br>
269
- * <b>Note:</b> The event is fired independent of whether there was a change before or not.
270
- * If change was performed, the event is fired after the change event.
271
- * The event is also fired when an item of the select list is selected by pressing Enter.
401
+ * Fired when a suggestion item, that is displayed in the suggestion popup, is selected.
272
402
  *
273
- * @event
403
+ * @event sap.ui.webcomponents.main.Input#suggestion-item-select
404
+ * @param {HTMLElement} item The selected item.
274
405
  * @public
275
406
  */
276
- submit: {},
407
+ "suggestion-item-select": {
408
+ detail: {
409
+ item: { type: HTMLElement },
410
+ },
411
+ },
277
412
 
278
413
  /**
279
- * Fired when a suggestion item, which displayed in the suggestion popup, is selected.
414
+ * Fired when the user navigates to a suggestion item via the ARROW keys,
415
+ * as a preview, before the final selection.
280
416
  *
281
- * @event
282
- * @param {HTMLElement} item The selected item
417
+ * @event sap.ui.webcomponents.main.Input#suggestion-item-preview
418
+ * @param {HTMLElement} item The previewed suggestion item.
419
+ * @param {HTMLElement} targetRef The DOM ref of the suggestion item.
283
420
  * @public
421
+ * @since 1.0.0-rc.8
284
422
  */
285
- suggestionItemSelect: {
423
+ "suggestion-item-preview": {
286
424
  detail: {
287
425
  item: { type: HTMLElement },
426
+ targetRef: { type: HTMLElement },
427
+ },
428
+ },
429
+
430
+ /**
431
+ * Fired when the user scrolls the suggestion popover.
432
+ *
433
+ * @event sap.ui.webcomponents.main.Input#suggestion-scroll
434
+ * @param {Integer} scrollTop The current scroll position.
435
+ * @param {HTMLElement} scrollContainer The scroll container.
436
+ * @protected
437
+ * @since 1.0.0-rc.8
438
+ */
439
+ "suggestion-scroll": {
440
+ detail: {
441
+ scrollTop: { type: Integer },
442
+ scrollContainer: { type: HTMLElement },
288
443
  },
289
444
  },
290
445
  },
@@ -300,16 +455,32 @@ const metadata = {
300
455
  * that are displayed in a popover right under the input.
301
456
  * <br><br>
302
457
  * The text field can be editable or read-only (<code>readonly</code> property),
303
- * and and it can be enabled or disabled (<code>enabled</code> property).
458
+ * and it can be enabled or disabled (<code>disabled</code> property).
304
459
  * To visualize semantic states, such as "error" or "warning", the <code>valueState</code> property is provided.
305
460
  * When the user makes changes to the text, the change event is fired,
306
461
  * which enables you to react on any text change.
307
462
  * <br><br>
308
463
  * <b>Note:</b> If you are using the <code>ui5-input</code> as a single npm module,
309
- * don"t forget to import the <code>InputSuggestions</code> module from
464
+ * don't forget to import the <code>InputSuggestions</code> module from
310
465
  * "@ui5/webcomponents/dist/features/InputSuggestions.js"
311
466
  * to enable the suggestions functionality.
312
467
  *
468
+ * <h3>Keyboard Handling</h3>
469
+ * The <code>ui5-input</code> provides the following keyboard shortcuts:
470
+ * <br>
471
+ *
472
+ * <ul>
473
+ * <li>[F4], [ALT]+[UP], or [ALT]+[DOWN] - Opens value help if available, same as clicking the value help icon. (Does not open suggestion list.)</li>
474
+ * <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>
475
+ * <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>
476
+ * <li>[DOWN] - Focuses the next matching item in the suggestion list.</li>
477
+ * <li>[UP] - Focuses the previous matching item in the suggestion list.</li>
478
+ * <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>
479
+ * <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>
480
+ * <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>
481
+ * <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>
482
+ * </ul>
483
+ *
313
484
  * <h3>ES6 Module Import</h3>
314
485
  *
315
486
  * <code>import "@ui5/webcomponents/dist/Input.js";</code>
@@ -321,6 +492,8 @@ const metadata = {
321
492
  * @alias sap.ui.webcomponents.main.Input
322
493
  * @extends sap.ui.webcomponents.base.UI5Element
323
494
  * @tagname ui5-input
495
+ * @appenddocs SuggestionItem SuggestionGroupItem
496
+ * @implements sap.ui.webcomponents.main.IInput
324
497
  * @public
325
498
  */
326
499
  class Input extends UI5Element {
@@ -336,8 +509,16 @@ class Input extends UI5Element {
336
509
  return InputTemplate;
337
510
  }
338
511
 
512
+ static get staticAreaTemplate() {
513
+ return InputPopoverTemplate;
514
+ }
515
+
339
516
  static get styles() {
340
- return [styles];
517
+ return styles;
518
+ }
519
+
520
+ static get staticAreaStyles() {
521
+ return [ResponsivePopoverCommonCss, ValueStateMessageCss, SuggestionsCss];
341
522
  }
342
523
 
343
524
  constructor() {
@@ -345,36 +526,71 @@ class Input extends UI5Element {
345
526
  // Indicates if there is selected suggestionItem.
346
527
  this.hasSuggestionItemSelected = false;
347
528
 
348
- // Represents the value before user moves selection between the suggestion items.
349
- // Used to register and fire "input" event upon [SPACE] or [ENTER].
350
- // Note: the property "value" is updated upon selection move and can`t be used.
529
+ // Represents the value before user moves selection from suggestion item to another
530
+ // and its value is updated after each move.
531
+ // Note: Used to register and fire "input" event upon [SPACE] or [ENTER].
532
+ // Note: The property "value" is updated upon selection move and can`t be used.
351
533
  this.valueBeforeItemSelection = "";
352
534
 
535
+ // Represents the value before user moves selection between the suggestion items
536
+ // and its value remains the same when the user navigates up or down the list.
537
+ // Note: Used to cancel selection upon [ESC].
538
+ this.valueBeforeItemPreview = "";
539
+
540
+ // Indicates if the user selection has been canceled with [ESC].
541
+ this.suggestionSelectionCanceled = false;
542
+
543
+ // Indicates if the change event has already been fired
544
+ this._changeFiredValue = null;
545
+
353
546
  // tracks the value between focus in and focus out to detect that change event should be fired.
354
547
  this.previousValue = undefined;
355
548
 
356
549
  // Indicates, if the component is rendering for first time.
357
550
  this.firstRendering = true;
358
551
 
552
+ // The value that should be highlited.
553
+ this.highlightValue = "";
554
+
555
+ // The last value confirmed by the user with "ENTER"
556
+ this.lastConfirmedValue = "";
557
+
558
+ // Indicates, if the user pressed the BACKSPACE key.
559
+ this._backspaceKeyDown = false;
560
+
359
561
  // all sementic events
360
- this.EVENT_SUBMIT = "submit";
361
562
  this.EVENT_CHANGE = "change";
362
563
  this.EVENT_INPUT = "input";
363
- this.EVENT_SUGGESTION_ITEM_SELECT = "suggestionItemSelect";
564
+ this.EVENT_SUGGESTION_ITEM_SELECT = "suggestion-item-select";
364
565
 
365
566
  // all user interactions
366
567
  this.ACTION_ENTER = "enter";
367
568
  this.ACTION_USER_INPUT = "input";
368
569
 
369
- this.i18nBundle = getI18nBundle("@ui5/webcomponents");
570
+ // Suggestions array initialization
571
+ this.suggestionsTexts = [];
572
+
573
+ this._handleResizeBound = this._handleResize.bind(this);
574
+ }
575
+
576
+ onEnterDOM() {
577
+ ResizeHandler.register(this, this._handleResizeBound);
578
+ }
579
+
580
+ onExitDOM() {
581
+ ResizeHandler.deregister(this, this._handleResizeBound);
370
582
  }
371
583
 
372
584
  onBeforeRendering() {
373
585
  if (this.showSuggestions) {
374
586
  this.enableSuggestions();
587
+ this.suggestionsTexts = this.Suggestions.defaultSlotProperties(this.highlightValue);
375
588
  }
376
589
 
590
+ this.open = this.open && (!!this.suggestionItems.length || this._isPhone);
591
+
377
592
  const FormSupport = getFeature("FormSupport");
593
+
378
594
  if (FormSupport) {
379
595
  FormSupport.syncNativeHiddenInput(this);
380
596
  } else if (this.name) {
@@ -382,11 +598,20 @@ class Input extends UI5Element {
382
598
  }
383
599
  }
384
600
 
385
- onAfterRendering() {
386
- if (!this.firstRendering && this.Suggestions) {
387
- this.Suggestions.toggle(this.shouldOpenSuggestions());
601
+ async onAfterRendering() {
602
+ if (this.Suggestions) {
603
+ this.Suggestions.toggle(this.open, {
604
+ preventFocusRestore: true,
605
+ });
606
+
607
+ this._listWidth = await this.Suggestions._getListWidth();
608
+ }
609
+
610
+ if (this.shouldDisplayOnlyValueStateMessage) {
611
+ this.openPopover();
612
+ } else {
613
+ this.closePopover();
388
614
  }
389
- this.firstRendering = false;
390
615
  }
391
616
 
392
617
  _onkeydown(event) {
@@ -402,26 +627,65 @@ class Input extends UI5Element {
402
627
  return this._handleSpace(event);
403
628
  }
404
629
 
630
+ if (isTabNext(event)) {
631
+ return this._handleTab(event);
632
+ }
633
+
405
634
  if (isEnter(event)) {
406
635
  return this._handleEnter(event);
407
636
  }
408
637
 
638
+ if (isPageUp(event)) {
639
+ return this._handlePageUp(event);
640
+ }
641
+
642
+ if (isPageDown(event)) {
643
+ return this._handlePageDown(event);
644
+ }
645
+
646
+ if (isHome(event)) {
647
+ return this._handleHome(event);
648
+ }
649
+
650
+ if (isEnd(event)) {
651
+ return this._handleEnd(event);
652
+ }
653
+
654
+ if (isEscape(event)) {
655
+ return this._handleEscape(event);
656
+ }
657
+
658
+ if (isBackSpace(event)) {
659
+ this._backspaceKeyDown = true;
660
+ this._selectedText = window.getSelection().toString();
661
+ }
662
+
663
+ if (this.showSuggestions) {
664
+ this._clearPopoverFocusAndSelection();
665
+ }
666
+
409
667
  this._keyDown = true;
410
668
  }
411
669
 
412
670
  _onkeyup(event) {
671
+ // The native Delete event does not update the value property "on time". So, the (native) change event is always fired with the old value
672
+ if (isDelete(event)) {
673
+ this.value = event.target.value;
674
+ }
675
+
413
676
  this._keyDown = false;
677
+ this._backspaceKeyDown = false;
414
678
  }
415
679
 
416
680
  /* Event handling */
417
681
  _handleUp(event) {
418
- if (this.Suggestions) {
682
+ if (this.Suggestions && this.Suggestions.isOpened()) {
419
683
  this.Suggestions.onUp(event);
420
684
  }
421
685
  }
422
686
 
423
687
  _handleDown(event) {
424
- if (this.Suggestions) {
688
+ if (this.Suggestions && this.Suggestions.isOpened()) {
425
689
  this.Suggestions.onDown(event);
426
690
  }
427
691
  }
@@ -432,29 +696,199 @@ class Input extends UI5Element {
432
696
  }
433
697
  }
434
698
 
699
+ _handleTab(event) {
700
+ if (this.Suggestions && (this.previousValue !== this.value)) {
701
+ this.Suggestions.onTab(event);
702
+ }
703
+ }
704
+
435
705
  _handleEnter(event) {
436
706
  const itemPressed = !!(this.Suggestions && this.Suggestions.onEnter(event));
707
+
437
708
  if (!itemPressed) {
438
709
  this.fireEventByAction(this.ACTION_ENTER);
710
+ this.lastConfirmedValue = this.value;
711
+ return;
712
+ }
713
+
714
+ this.focused = true;
715
+ }
716
+
717
+ _handlePageUp(event) {
718
+ if (this._isSuggestionsFocused) {
719
+ this.Suggestions.onPageUp(event);
720
+ } else {
721
+ event.preventDefault();
439
722
  }
440
723
  }
441
724
 
442
- _onfocusin(event) {
725
+ _handlePageDown(event) {
726
+ if (this._isSuggestionsFocused) {
727
+ this.Suggestions.onPageDown(event);
728
+ } else {
729
+ event.preventDefault();
730
+ }
731
+ }
732
+
733
+ _handleHome(event) {
734
+ if (this._isSuggestionsFocused) {
735
+ this.Suggestions.onHome(event);
736
+ }
737
+ }
738
+
739
+ _handleEnd(event) {
740
+ if (this._isSuggestionsFocused) {
741
+ this.Suggestions.onEnd(event);
742
+ }
743
+ }
744
+
745
+ _handleEscape() {
746
+ const hasSuggestions = this.showSuggestions && !!this.Suggestions;
747
+ const isOpen = hasSuggestions && this.open;
748
+
749
+ if (!isOpen) {
750
+ this.value = this.lastConfirmedValue ? this.lastConfirmedValue : this.previousValue;
751
+ return;
752
+ }
753
+
754
+ if (hasSuggestions && isOpen && this.Suggestions._isItemOnTarget()) {
755
+ // Restore the value.
756
+ this.value = this.valueBeforeItemPreview;
757
+
758
+ // Mark that the selection has been canceled, so the popover can close
759
+ // and not reopen, due to receiving focus.
760
+ this.suggestionSelectionCanceled = true;
761
+ this.focused = true;
762
+ }
763
+
764
+ if (this._isValueStateFocused) {
765
+ this._isValueStateFocused = false;
766
+ this.focused = true;
767
+ }
768
+
769
+ this.open = false;
770
+ }
771
+
772
+ async _onfocusin(event) {
773
+ await this.getInputDOMRef();
774
+
443
775
  this.focused = true; // invalidating property
444
776
  this.previousValue = this.value;
777
+ this.valueBeforeItemPreview = this.value;
778
+
779
+ this._inputIconFocused = event.target && event.target === this.querySelector("[ui5-icon]");
445
780
  }
446
781
 
447
782
  _onfocusout(event) {
448
- this.focused = false; // invalidating property
783
+ const focusedOutToSuggestions = this.Suggestions && event.relatedTarget && event.relatedTarget.shadowRoot && event.relatedTarget.shadowRoot.contains(this.Suggestions.responsivePopover);
784
+ const focusedOutToValueStateMessage = event.relatedTarget && event.relatedTarget.shadowRoot && event.relatedTarget.shadowRoot.querySelector(".ui5-valuestatemessage-root");
785
+
786
+ // if focusout is triggered by pressing on suggestion item or value state message popover, skip invalidation, because re-rendering
787
+ // will happen before "itemPress" event, which will make item "active" state not visualized
788
+ if (focusedOutToSuggestions || focusedOutToValueStateMessage) {
789
+ event.stopImmediatePropagation();
790
+ return;
791
+ }
792
+
793
+ const toBeFocused = event.relatedTarget;
794
+
795
+ if (toBeFocused && toBeFocused.classList.contains(this._id)) {
796
+ return;
797
+ }
798
+
799
+ this.closePopover();
800
+ this._clearPopoverFocusAndSelection();
801
+
449
802
  this.previousValue = "";
803
+ this.lastConfirmedValue = "";
804
+ this.focused = false; // invalidating property
805
+ this.open = false;
806
+ }
807
+
808
+ _clearPopoverFocusAndSelection() {
809
+ if (!this.showSuggestions || !this.Suggestions) {
810
+ return;
811
+ }
812
+
813
+ this._isValueStateFocused = false;
814
+ this.hasSuggestionItemSelected = false;
815
+
816
+ this.Suggestions._deselectItems();
817
+ this.Suggestions._clearItemFocus();
450
818
  }
451
819
 
452
- _handleChange(event) {
453
- this.fireEvent(this.EVENT_CHANGE);
820
+ _click(event) {
821
+ if (isPhone() && !this.readonly && this.Suggestions) {
822
+ this.blur();
823
+ this.open = true;
824
+ }
825
+ }
826
+
827
+ _handleNativeInputChange() {
828
+ // The native change sometimes fires too early and getting input's value in the listener would return
829
+ // the previous value instead of the most recent one. This would make things consistent.
830
+ clearTimeout(this._nativeChangeDebounce);
831
+ this._nativeChangeDebounce = setTimeout(() => this._handleChange(), 100);
832
+ }
833
+
834
+ _handleChange() {
835
+ if (this._changeFiredValue !== this.value) {
836
+ this._changeFiredValue = this.value;
837
+ this.fireEvent(this.EVENT_CHANGE);
838
+ }
839
+ }
840
+
841
+ _scroll(event) {
842
+ const detail = event.detail;
843
+ this.fireEvent("suggestion-scroll", {
844
+ scrollTop: detail.scrollTop,
845
+ scrollContainer: detail.targetRef,
846
+ });
454
847
  }
455
848
 
456
849
  _handleInput(event) {
457
- if (event.target === this.getInputDOMRef()) {
850
+ const inputDomRef = this.getInputDOMRefSync();
851
+ const emptyValueFiredOnNumberInput = this.value && this.isTypeNumber && !inputDomRef.value;
852
+
853
+ this.suggestionSelectionCanceled = false;
854
+
855
+ if (emptyValueFiredOnNumberInput && !this._backspaceKeyDown) {
856
+ // For input with type="Number", if the delimiter is entered second time,
857
+ // the inner input is firing event with empty value
858
+ return;
859
+ }
860
+
861
+ if (emptyValueFiredOnNumberInput && this._backspaceKeyDown) {
862
+ // Issue: when the user removes the character(s) after the delimeter of numeric Input,
863
+ // the native input is firing event with an empty value and we have to manually handle this case,
864
+ // otherwise the entire input will be cleared as we sync the "value".
865
+
866
+ // There are tree scenarios:
867
+ // Example: type "123.4" and press BACKSPACE - the native input is firing event with empty value.
868
+ // Example: type "123.456", select/mark "456" and press BACKSPACE - the native input is firing event with empty value.
869
+ // Example: type "123.456", select/mark "123.456" and press BACKSPACE - the native input is firing event with empty value,
870
+ // but this time that's really the case.
871
+
872
+ // Perform manual handling in case of floating number
873
+ // and if the user did not select the entire input value
874
+ if (rgxFloat.test(this.value) && this._selectedText !== this.value) {
875
+ const newValue = this.removeFractionalPart(this.value);
876
+
877
+ // update state
878
+ this.value = newValue;
879
+ this.highlightValue = newValue;
880
+ this.valueBeforeItemPreview = newValue;
881
+
882
+ // fire events
883
+ this.fireEvent(this.EVENT_INPUT);
884
+ this.fireEvent("value-changed");
885
+ return;
886
+ }
887
+ }
888
+
889
+ if (event.target === inputDomRef) {
890
+ this.focused = true;
891
+
458
892
  // stop the native event, as the semantic "input" would be fired.
459
893
  event.stopImmediatePropagation();
460
894
  }
@@ -463,69 +897,169 @@ class Input extends UI5Element {
463
897
  - value of the host and the internal input should be differnt in case of actual input
464
898
  - input is called when a key is pressed => keyup should not be called yet
465
899
  */
466
- const skipFiring = (this.getInputDOMRef().value === this.value) && isIE() && !this._keyDown && !!this.placeholder;
900
+ const skipFiring = (inputDomRef.value === this.value) && isIE() && !this._keyDown && !!this.placeholder;
467
901
 
468
902
  !skipFiring && this.fireEventByAction(this.ACTION_USER_INPUT);
469
903
 
470
904
  this.hasSuggestionItemSelected = false;
905
+ this._isValueStateFocused = false;
471
906
 
472
907
  if (this.Suggestions) {
473
908
  this.Suggestions.updateSelectedItemPosition(null);
909
+
910
+ if (!this._isPhone) {
911
+ this.open = !!inputDomRef.value;
912
+ }
913
+ }
914
+ }
915
+
916
+ _handleResize() {
917
+ this._inputWidth = this.offsetWidth;
918
+ }
919
+
920
+ _closeRespPopover(preventFocusRestore) {
921
+ this.Suggestions.close(preventFocusRestore);
922
+ }
923
+
924
+ async _afterOpenPopover() {
925
+ // Set initial focus to the native input
926
+ if (isPhone()) {
927
+ (await this.getInputDOMRef()).focus();
928
+ }
929
+ }
930
+
931
+ _afterClosePopover() {
932
+ this.announceSelectedItem();
933
+
934
+ // close device's keyboard and prevent further typing
935
+ if (isPhone()) {
936
+ this.blur();
937
+ this.focused = false;
474
938
  }
475
939
  }
476
940
 
941
+ /**
942
+ * Checks if the value state popover is open.
943
+ * @returns {boolean} true if the value state popover is open, false otherwise
944
+ */
945
+ isValueStateOpened() {
946
+ return !!this._isPopoverOpen;
947
+ }
948
+
949
+ async openPopover() {
950
+ const popover = await this._getPopover();
951
+
952
+ if (popover) {
953
+ this._isPopoverOpen = true;
954
+ popover.showAt(this);
955
+ }
956
+ }
957
+
958
+ async closePopover() {
959
+ const popover = await this._getPopover();
960
+
961
+ popover && popover.close();
962
+ }
963
+
964
+ async _getPopover() {
965
+ const staticAreaItem = await this.getStaticAreaItemDomRef();
966
+ return staticAreaItem && staticAreaItem.querySelector("[ui5-popover]");
967
+ }
968
+
477
969
  enableSuggestions() {
478
970
  if (this.Suggestions) {
479
971
  return;
480
972
  }
481
973
 
482
974
  const Suggestions = getFeature("InputSuggestions");
975
+
483
976
  if (Suggestions) {
484
- this.Suggestions = new Suggestions(this, "suggestionItems");
977
+ this.Suggestions = new Suggestions(this, "suggestionItems", true);
485
978
  } else {
486
979
  throw new Error(`You have to import "@ui5/webcomponents/dist/features/InputSuggestions.js" module to use ui5-input suggestions`);
487
980
  }
488
981
  }
489
982
 
490
- shouldOpenSuggestions() {
491
- return !!(this.suggestionItems.length
492
- && this.showSuggestions
493
- && this.focused
494
- && !this.hasSuggestionItemSelected);
495
- }
496
-
497
983
  selectSuggestion(item, keyboardUsed) {
498
- const itemText = item.textContent;
984
+ if (item.group) {
985
+ return;
986
+ }
987
+
988
+ const itemText = item.text || item.textContent; // keep textContent for compatibility
499
989
  const fireInput = keyboardUsed
500
990
  ? this.valueBeforeItemSelection !== itemText : this.value !== itemText;
501
991
 
502
- item.selected = false;
503
992
  this.hasSuggestionItemSelected = true;
504
- this.fireEvent(this.EVENT_SUGGESTION_ITEM_SELECT, { item });
505
993
 
506
994
  if (fireInput) {
507
995
  this.value = itemText;
508
996
  this.valueBeforeItemSelection = itemText;
997
+ this.lastConfirmedValue = itemText;
509
998
  this.fireEvent(this.EVENT_INPUT);
510
- this.fireEvent(this.EVENT_CHANGE);
999
+ this._handleChange();
511
1000
  }
1001
+
1002
+ this.valueBeforeItemPreview = "";
1003
+ this.suggestionSelectionCanceled = false;
1004
+
1005
+ this.fireEvent(this.EVENT_SUGGESTION_ITEM_SELECT, { item });
512
1006
  }
513
1007
 
514
1008
  previewSuggestion(item) {
515
1009
  this.valueBeforeItemSelection = this.value;
516
- this.value = item.textContent;
1010
+ this.updateValueOnPreview(item);
1011
+ this.announceSelectedItem();
1012
+ this._previewItem = item;
517
1013
  }
518
1014
 
519
- fireEventByAction(action) {
1015
+ /**
1016
+ * Updates the input value on item preview.
1017
+ * @param {Object} item The item that is on preview
1018
+ */
1019
+ updateValueOnPreview(item) {
1020
+ const noPreview = item.type === "Inactive" || item.group;
1021
+ const itemValue = noPreview ? this.valueBeforeItemPreview : (item.effectiveTitle || item.textContent);
1022
+ this.value = itemValue;
1023
+ }
1024
+
1025
+ /**
1026
+ * The suggestion item on preview.
1027
+ * @type { sap.ui.webcomponents.main.IInputSuggestionItem }
1028
+ * @readonly
1029
+ * @public
1030
+ */
1031
+ get previewItem() {
1032
+ if (!this._previewItem) {
1033
+ return null;
1034
+ }
1035
+
1036
+ return this.getSuggestionByListItem(this._previewItem);
1037
+ }
1038
+
1039
+ async fireEventByAction(action) {
1040
+ await this.getInputDOMRef();
1041
+
520
1042
  if (this.disabled || this.readonly) {
521
1043
  return;
522
1044
  }
523
1045
 
524
- const inputValue = this.getInputValue();
525
- const isSubmit = action === this.ACTION_ENTER;
1046
+ const inputValue = await this.getInputValue();
526
1047
  const isUserInput = action === this.ACTION_USER_INPUT;
527
1048
 
1049
+ const input = await this.getInputDOMRef();
1050
+ const cursorPosition = input.selectionStart;
1051
+
528
1052
  this.value = inputValue;
1053
+ this.highlightValue = inputValue;
1054
+ this.valueBeforeItemPreview = inputValue;
1055
+
1056
+ if (isSafari()) {
1057
+ // When setting the value by hand, Safari moves the cursor when typing in the middle of the text (See #1761)
1058
+ setTimeout(() => {
1059
+ input.selectionStart = cursorPosition;
1060
+ input.selectionEnd = cursorPosition;
1061
+ }, 0);
1062
+ }
529
1063
 
530
1064
  if (isUserInput) { // input
531
1065
  this.fireEvent(this.EVENT_INPUT);
@@ -534,34 +1068,74 @@ class Input extends UI5Element {
534
1068
  return;
535
1069
  }
536
1070
 
537
- if (isSubmit) { // submit
538
- this.fireEvent(this.EVENT_SUBMIT);
539
- }
540
-
541
1071
  // In IE, pressing the ENTER does not fire change
542
1072
  const valueChanged = (this.previousValue !== undefined) && (this.previousValue !== this.value);
543
- if (isIE() && isSubmit && valueChanged) {
544
- this.fireEvent(this.EVENT_CHANGE);
1073
+ if (isIE() && action === this.ACTION_ENTER && valueChanged) {
1074
+ this._handleChange();
545
1075
  }
546
1076
  }
547
1077
 
1078
+ async getInputValue() {
1079
+ const domRef = this.getDomRef();
548
1080
 
549
- getInputValue() {
550
- const inputDOM = this.getDomRef();
551
- if (inputDOM) {
552
- return this.getInputDOMRef().value;
1081
+ if (domRef) {
1082
+ return (await this.getInputDOMRef()).value;
553
1083
  }
554
1084
  return "";
555
1085
  }
556
1086
 
557
- getInputDOMRef() {
558
- return this.getDomRef().querySelector(`#${this.getInputId()}`);
1087
+ async getInputDOMRef() {
1088
+ if (isPhone() && this.Suggestions) {
1089
+ await this.Suggestions._getSuggestionPopover();
1090
+ return this.Suggestions && this.Suggestions.responsivePopover.querySelector(".ui5-input-inner-phone");
1091
+ }
1092
+
1093
+ return this.nativeInput;
1094
+ }
1095
+
1096
+ getInputDOMRefSync() {
1097
+ if (isPhone() && this.Suggestions) {
1098
+ return this.Suggestions && this.Suggestions.responsivePopover.querySelector(".ui5-input-inner-phone");
1099
+ }
1100
+
1101
+ return this.nativeInput;
1102
+ }
1103
+
1104
+ /**
1105
+ * Returns a reference to the native input element
1106
+ * @protected
1107
+ */
1108
+ get nativeInput() {
1109
+ return this.getDomRef() && this.getDomRef().querySelector(`input`);
1110
+ }
1111
+
1112
+ get nativeInputWidth() {
1113
+ return this.nativeInput && this.nativeInput.offsetWidth;
559
1114
  }
560
1115
 
561
1116
  getLabelableElementId() {
562
1117
  return this.getInputId();
563
1118
  }
564
1119
 
1120
+ getSuggestionByListItem(item) {
1121
+ const key = parseInt(item.getAttribute("data-ui5-key"));
1122
+ return this.suggestionItems[key];
1123
+ }
1124
+
1125
+ /**
1126
+ * Returns if the suggestions popover is scrollable.
1127
+ * The method returns <code>Promise</code> that resolves to true,
1128
+ * if the popup is scrollable and false otherwise.
1129
+ * @returns {Promise}
1130
+ */
1131
+ isSuggestionsScrollable() {
1132
+ if (!this.Suggestions) {
1133
+ return Promise.resolve(false);
1134
+ }
1135
+
1136
+ return this.Suggestions._isScrollable();
1137
+ }
1138
+
565
1139
  getInputId() {
566
1140
  return `${this._id}-inner`;
567
1141
  }
@@ -569,12 +1143,38 @@ class Input extends UI5Element {
569
1143
  /* Suggestions interface */
570
1144
  onItemFocused() {}
571
1145
 
1146
+ onItemMouseOver(event) {
1147
+ const item = event.target;
1148
+ const suggestion = this.getSuggestionByListItem(item);
1149
+ suggestion && suggestion.fireEvent("mouseover", {
1150
+ item: suggestion,
1151
+ targetRef: item,
1152
+ });
1153
+ }
1154
+
1155
+ onItemMouseOut(event) {
1156
+ const item = event.target;
1157
+ const suggestion = this.getSuggestionByListItem(item);
1158
+ suggestion && suggestion.fireEvent("mouseout", {
1159
+ item: suggestion,
1160
+ targetRef: item,
1161
+ });
1162
+ }
1163
+
1164
+ onItemMouseDown(event) {
1165
+ event.preventDefault();
1166
+ }
1167
+
572
1168
  onItemSelected(item, keyboardUsed) {
573
1169
  this.selectSuggestion(item, keyboardUsed);
574
1170
  }
575
1171
 
576
1172
  onItemPreviewed(item) {
577
1173
  this.previewSuggestion(item);
1174
+ this.fireEvent("suggestion-item-preview", {
1175
+ item: this.getSuggestionByListItem(item),
1176
+ targetRef: item,
1177
+ });
578
1178
  }
579
1179
 
580
1180
  onOpen() {}
@@ -582,23 +1182,40 @@ class Input extends UI5Element {
582
1182
  onClose() {}
583
1183
 
584
1184
  valueStateTextMappings() {
585
- const i18nBundle = this.i18nBundle;
586
-
587
1185
  return {
588
- "Success": i18nBundle.getText(VALUE_STATE_SUCCESS),
589
- "Error": i18nBundle.getText(VALUE_STATE_ERROR),
590
- "Warning": i18nBundle.getText(VALUE_STATE_WARNING),
1186
+ "Success": Input.i18nBundle.getText(VALUE_STATE_SUCCESS),
1187
+ "Information": Input.i18nBundle.getText(VALUE_STATE_INFORMATION),
1188
+ "Error": Input.i18nBundle.getText(VALUE_STATE_ERROR),
1189
+ "Warning": Input.i18nBundle.getText(VALUE_STATE_WARNING),
591
1190
  };
592
1191
  }
593
1192
 
1193
+ announceSelectedItem() {
1194
+ const invisibleText = this.shadowRoot.querySelector(`#${this._id}-selectionText`);
1195
+
1196
+ if (this.Suggestions && this.Suggestions._isItemOnTarget()) {
1197
+ invisibleText.textContent = this.itemSelectionAnnounce;
1198
+ } else {
1199
+ invisibleText.textContent = "";
1200
+ }
1201
+ }
1202
+
594
1203
  get _readonly() {
595
1204
  return this.readonly && !this.disabled;
596
1205
  }
597
1206
 
1207
+ get _headerTitleText() {
1208
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
1209
+ }
1210
+
598
1211
  get inputType() {
599
1212
  return this.type.toLowerCase();
600
1213
  }
601
1214
 
1215
+ get isTypeNumber() {
1216
+ return this.type === InputType.Number;
1217
+ }
1218
+
602
1219
  get suggestionsTextId() {
603
1220
  return this.showSuggestions ? `${this._id}-suggestionsText` : "";
604
1221
  }
@@ -610,38 +1227,244 @@ class Input extends UI5Element {
610
1227
  get accInfo() {
611
1228
  const ariaHasPopupDefault = this.showSuggestions ? "true" : undefined;
612
1229
  const ariaAutoCompleteDefault = this.showSuggestions ? "list" : undefined;
1230
+ const ariaDescribedBy = this._inputAccInfo.ariaDescribedBy ? `${this.suggestionsTextId} ${this.valueStateTextId} ${this._inputAccInfo.ariaDescribedBy}`.trim() : `${this.suggestionsTextId} ${this.valueStateTextId}`.trim();
1231
+
613
1232
  return {
614
- "wrapper": {
615
- },
616
1233
  "input": {
617
- "ariaDescribedBy": this._inputAccInfo.ariaDescribedBy ? `${this.suggestionsTextId} ${this.valueStateTextId} ${this._inputAccInfo.ariaDescribedBy}`.trim() : `${this.suggestionsTextId} ${this.valueStateTextId}`.trim(),
1234
+ "ariaRoledescription": this._inputAccInfo && (this._inputAccInfo.ariaRoledescription || undefined),
1235
+ "ariaDescribedBy": ariaDescribedBy || undefined,
618
1236
  "ariaInvalid": this.valueState === ValueState.Error ? "true" : undefined,
619
1237
  "ariaHasPopup": this._inputAccInfo.ariaHasPopup ? this._inputAccInfo.ariaHasPopup : ariaHasPopupDefault,
620
1238
  "ariaAutoComplete": this._inputAccInfo.ariaAutoComplete ? this._inputAccInfo.ariaAutoComplete : ariaAutoCompleteDefault,
621
1239
  "role": this._inputAccInfo && this._inputAccInfo.role,
622
- "ariaOwns": this._inputAccInfo && this._inputAccInfo.ariaOwns,
1240
+ "ariaControls": this._inputAccInfo && this._inputAccInfo.ariaControls,
623
1241
  "ariaExpanded": this._inputAccInfo && this._inputAccInfo.ariaExpanded,
624
1242
  "ariaDescription": this._inputAccInfo && this._inputAccInfo.ariaDescription,
1243
+ "ariaLabel": (this._inputAccInfo && this._inputAccInfo.ariaLabel) || getEffectiveAriaLabelText(this),
625
1244
  },
626
1245
  };
627
1246
  }
628
1247
 
1248
+ get nativeInputAttributes() {
1249
+ return {
1250
+ "min": this.isTypeNumber ? this._nativeInputAttributes.min : undefined,
1251
+ "max": this.isTypeNumber ? this._nativeInputAttributes.max : undefined,
1252
+ "step": this.isTypeNumber ? (this._nativeInputAttributes.step || "any") : undefined,
1253
+ };
1254
+ }
1255
+
1256
+ get ariaValueStateHiddenText() {
1257
+ if (!this.hasValueStateMessage) {
1258
+ return;
1259
+ }
1260
+
1261
+ if (this.shouldDisplayDefaultValueStateMessage) {
1262
+ return this.valueStateText;
1263
+ }
1264
+
1265
+ return this.valueStateMessageText.map(el => el.textContent).join(" ");
1266
+ }
1267
+
1268
+ get itemSelectionAnnounce() {
1269
+ return this.Suggestions ? this.Suggestions.itemSelectionAnnounce : undefined;
1270
+ }
1271
+
1272
+ get classes() {
1273
+ return {
1274
+ popover: {
1275
+ "ui5-suggestions-popover": !this.isPhone && this.showSuggestions,
1276
+ "ui5-suggestions-popover-with-value-state-header": !this.isPhone && this.showSuggestions && this.hasValueStateMessage,
1277
+ },
1278
+ popoverValueState: {
1279
+ "ui5-valuestatemessage-root": true,
1280
+ "ui5-valuestatemessage-header": true,
1281
+ "ui5-valuestatemessage--success": this.valueState === ValueState.Success,
1282
+ "ui5-valuestatemessage--error": this.valueState === ValueState.Error,
1283
+ "ui5-valuestatemessage--warning": this.valueState === ValueState.Warning,
1284
+ "ui5-valuestatemessage--information": this.valueState === ValueState.Information,
1285
+ },
1286
+ };
1287
+ }
1288
+
1289
+ get styles() {
1290
+ const remSizeIxPx = parseInt(getComputedStyle(document.documentElement).fontSize);
1291
+
1292
+ const stylesObject = {
1293
+ popoverHeader: {
1294
+ "max-width": `${this._inputWidth}px`,
1295
+ },
1296
+ suggestionPopoverHeader: {
1297
+ "display": this._listWidth === 0 ? "none" : "inline-block",
1298
+ "width": `${this._listWidth}px`,
1299
+ },
1300
+ suggestionsPopover: {
1301
+ "min-width": `${this._inputWidth}px`,
1302
+ "max-width": (this._inputWidth / remSizeIxPx) > 40 ? `${this._inputWidth}px` : "40rem",
1303
+ },
1304
+ innerInput: {},
1305
+ };
1306
+
1307
+ if (this.nativeInputWidth < 48) {
1308
+ stylesObject.innerInput.padding = "0";
1309
+ }
1310
+
1311
+ return stylesObject;
1312
+ }
1313
+
1314
+ get suggestionSeparators() {
1315
+ return "None";
1316
+ }
1317
+
1318
+ get valueStateMessageText() {
1319
+ return this.getSlottedNodes("valueStateMessage").map(el => el.cloneNode(true));
1320
+ }
1321
+
1322
+ get shouldDisplayOnlyValueStateMessage() {
1323
+ return this.hasValueStateMessage && !this.readonly && !this.open && this.focused;
1324
+ }
1325
+
1326
+ get shouldDisplayDefaultValueStateMessage() {
1327
+ return !this.valueStateMessage.length && this.hasValueStateMessage;
1328
+ }
1329
+
629
1330
  get hasValueState() {
630
1331
  return this.valueState !== ValueState.None;
631
1332
  }
632
1333
 
1334
+ get hasValueStateMessage() {
1335
+ return this.hasValueState && this.valueState !== ValueState.Success
1336
+ && (!this._inputIconFocused // Handles the cases when valueStateMessage is forwarded (from datepicker e.g.)
1337
+ || (this._isPhone && this.Suggestions)); // Handles Input with suggestions on mobile
1338
+ }
1339
+
633
1340
  get valueStateText() {
634
1341
  return this.valueStateTextMappings()[this.valueState];
635
1342
  }
636
1343
 
637
1344
  get suggestionsText() {
638
- return this.i18nBundle.getText(INPUT_SUGGESTIONS);
1345
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS);
1346
+ }
1347
+
1348
+ get availableSuggestionsCount() {
1349
+ if (this.showSuggestions && (this.value || this.Suggestions.isOpened())) {
1350
+ switch (this.suggestionsTexts.length) {
1351
+ case 0:
1352
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS_NO_HIT);
1353
+
1354
+ case 1:
1355
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS_ONE_HIT);
1356
+
1357
+ default:
1358
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS_MORE_HITS, this.suggestionsTexts.length);
1359
+ }
1360
+ }
1361
+
1362
+ return undefined;
639
1363
  }
640
1364
 
641
- static async define(...params) {
642
- await fetchI18nBundle("@ui5/webcomponents");
1365
+ get step() {
1366
+ return this.isTypeNumber ? "any" : undefined;
1367
+ }
1368
+
1369
+ get _isPhone() {
1370
+ return isPhone();
1371
+ }
1372
+
1373
+ get _isSuggestionsFocused() {
1374
+ return !this.focused && this.Suggestions && this.Suggestions.isOpened();
1375
+ }
1376
+
1377
+ /**
1378
+ * Returns the placeholder value.
1379
+ * @protected
1380
+ */
1381
+ get _placeholder() {
1382
+ return this.placeholder;
1383
+ }
1384
+
1385
+ /**
1386
+ * This method is relevant for sap_horizon theme only
1387
+ */
1388
+ get _valueStateInputIcon() {
1389
+ const iconPerValueState = {
1390
+ 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"/>`,
1391
+ 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"/>`,
1392
+ 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"/>`,
1393
+ 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"/>`,
1394
+ };
1395
+
1396
+ const result = `
1397
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="20" viewBox="0 0 20 20" fill="none">
1398
+ ${iconPerValueState[this.valueState]};
1399
+ </svg>
1400
+ `;
1401
+
1402
+ return this.valueState !== ValueState.None ? result : "";
1403
+ }
1404
+
1405
+ get _valueStatePopoverHorizontalAlign() {
1406
+ return this.effectiveDir !== "rtl" ? "Left" : "Right";
1407
+ }
1408
+
1409
+ /**
1410
+ * This method is relevant for sap_horizon theme only
1411
+ */
1412
+ get _valueStateMessageInputIcon() {
1413
+ const iconPerValueState = {
1414
+ Error: "error",
1415
+ Warning: "alert",
1416
+ Success: "sys-enter-2",
1417
+ Information: "information",
1418
+ };
1419
+
1420
+ return this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : "";
1421
+ }
1422
+
1423
+ /**
1424
+ * Returns the caret position inside the native input
1425
+ * @protected
1426
+ */
1427
+ getCaretPosition() {
1428
+ return getCaretPosition(this.nativeInput);
1429
+ }
1430
+
1431
+ /**
1432
+ * Sets the caret to a certain position inside the native input
1433
+ * @protected
1434
+ * @param pos
1435
+ */
1436
+ setCaretPosition(pos) {
1437
+ setCaretPosition(this.nativeInput, pos);
1438
+ }
1439
+
1440
+ /**
1441
+ * Removes the fractional part of floating-point number.
1442
+ * @param {String} value the numeric value of Input of type "Number"
1443
+ */
1444
+ removeFractionalPart(value) {
1445
+ if (value.includes(".")) {
1446
+ return value.slice(0, value.indexOf("."));
1447
+ }
1448
+ if (value.includes(",")) {
1449
+ return value.slice(0, value.indexOf(","));
1450
+ }
1451
+
1452
+ return value;
1453
+ }
1454
+
1455
+ static get dependencies() {
1456
+ const Suggestions = getFeature("InputSuggestions");
1457
+
1458
+ return [Popover].concat(Suggestions ? Suggestions.dependencies : []);
1459
+ }
1460
+
1461
+ static async onDefine() {
1462
+ const Suggestions = getFeature("InputSuggestions");
643
1463
 
644
- super.define(...params);
1464
+ [Input.i18nBundle] = await Promise.all([
1465
+ getI18nBundle("@ui5/webcomponents"),
1466
+ Suggestions ? Suggestions.init() : Promise.resolve(),
1467
+ ]);
645
1468
  }
646
1469
  }
647
1470