@ui5/webcomponents 0.0.0-c6d8872f3 → 0.0.0-cf069fb29

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 (1237) 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 +2 -1
  6. package/dist/Avatar.js +223 -37
  7. package/dist/AvatarGroup.js +603 -0
  8. package/dist/Badge.js +44 -22
  9. package/dist/Breadcrumbs.js +575 -0
  10. package/dist/BreadcrumbsItem.js +103 -0
  11. package/dist/BusyIndicator.js +171 -17
  12. package/dist/Button.js +179 -37
  13. package/dist/Calendar.js +349 -546
  14. package/dist/CalendarDate.js +45 -0
  15. package/dist/CalendarHeader.js +133 -62
  16. package/dist/CalendarPart.js +111 -0
  17. package/dist/Card.js +45 -158
  18. package/dist/CardHeader.js +288 -0
  19. package/dist/Carousel.js +454 -76
  20. package/dist/CheckBox.js +186 -51
  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 +726 -104
  26. package/dist/ComboBoxFilters.js +8 -1
  27. package/dist/ComboBoxGroupItem.js +70 -0
  28. package/dist/ComboBoxItem.js +12 -24
  29. package/dist/CustomListItem.js +38 -9
  30. package/dist/DateComponentBase.js +168 -0
  31. package/dist/DatePicker.js +471 -376
  32. package/dist/DateRangePicker.js +350 -0
  33. package/dist/DateTimePicker.js +430 -0
  34. package/dist/DayPicker.js +509 -431
  35. package/dist/Dialog.js +481 -51
  36. package/dist/DurationPicker.js +312 -0
  37. package/dist/FileUploader.js +237 -32
  38. package/dist/GroupHeaderListItem.js +36 -8
  39. package/dist/Icon.js +202 -36
  40. package/dist/Input.js +884 -124
  41. package/dist/Interfaces.js +192 -0
  42. package/dist/Label.js +27 -12
  43. package/dist/Link.js +160 -32
  44. package/dist/List.js +530 -115
  45. package/dist/ListItem.js +139 -30
  46. package/dist/ListItemBase.js +52 -8
  47. package/dist/MessageStrip.js +95 -70
  48. package/dist/MonthPicker.js +180 -182
  49. package/dist/MultiComboBox.js +621 -195
  50. package/dist/MultiComboBoxItem.js +8 -5
  51. package/dist/MultiInput.js +348 -0
  52. package/dist/Option.js +59 -5
  53. package/dist/Panel.js +129 -37
  54. package/dist/Popover.js +378 -252
  55. package/dist/Popup.js +394 -282
  56. package/dist/ProgressIndicator.js +235 -0
  57. package/dist/RadioButton.js +162 -61
  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 +83 -40
  62. package/dist/SegmentedButton.js +151 -52
  63. package/dist/SegmentedButtonItem.js +109 -0
  64. package/dist/Select.js +496 -107
  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 -22
  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 +72 -38
  74. package/dist/Tab.js +190 -17
  75. package/dist/TabContainer.js +726 -283
  76. package/dist/TabSeparator.js +44 -4
  77. package/dist/Table.js +496 -39
  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 +246 -19
  82. package/dist/TextArea.js +322 -38
  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 +43 -37
  88. package/dist/ToggleButton.js +26 -13
  89. package/dist/Token.js +85 -45
  90. package/dist/Tokenizer.js +376 -63
  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 +199 -255
  96. package/dist/api.json +7144 -1
  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 +0 -1
  200. package/dist/features/InputSuggestions.js +358 -56
  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 -1
  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 -15
  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 +9 -9
  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 -8
  274. package/dist/generated/templates/CarouselTemplate.lit.js +13 -14
  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 +20 -5
  282. package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -5
  283. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -12
  284. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -4
  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 +7 -7
  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 +24 -6
  294. package/dist/generated/templates/InputTemplate.lit.js +9 -8
  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 -9
  299. package/dist/generated/templates/MessageStripTemplate.lit.js +6 -27
  300. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
  301. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -7
  302. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -8
  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 -9
  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 +16 -11
  313. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  314. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -9
  315. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -6
  316. package/dist/generated/templates/SelectTemplate.lit.js +6 -4
  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 +8 -8
  325. package/dist/generated/templates/TabContainerTemplate.lit.js +15 -18
  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 -10
  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 +6 -7
  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 +6 -7
  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 +6 -7
  372. package/dist/generated/themes/ComboBoxPopover.css.js +6 -7
  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 +6 -7
  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 +6 -7
  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 +6 -7
  407. package/dist/generated/themes/ResponsivePopoverCommon.css.js +6 -7
  408. package/dist/generated/themes/SegmentedButton.css.js +6 -7
  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 -1
  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/{AvatarBackgroundColor.js → AvatarColorScheme.js} +9 -9
  506. package/dist/types/AvatarGroupType.js +43 -0
  507. package/dist/types/AvatarShape.js +1 -1
  508. package/dist/types/AvatarSize.js +1 -1
  509. package/dist/types/BreadcrumbsDesign.js +42 -0
  510. package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
  511. package/dist/types/BusyIndicatorSize.js +1 -1
  512. package/dist/types/ButtonDesign.js +8 -1
  513. package/dist/types/CalendarSelectionMode.js +47 -0
  514. package/dist/types/CarouselArrowsPlacement.js +3 -3
  515. package/dist/types/GrowingMode.js +48 -0
  516. package/dist/types/HasPopup.js +62 -0
  517. package/dist/types/InputType.js +7 -7
  518. package/dist/types/LinkDesign.js +1 -1
  519. package/dist/types/ListGrowingMode.js +15 -0
  520. package/dist/types/ListItemType.js +8 -1
  521. package/dist/types/ListMode.js +9 -1
  522. package/dist/types/ListSeparators.js +1 -1
  523. package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  524. package/dist/types/PanelAccessibleRole.js +1 -1
  525. package/dist/types/PopoverHorizontalAlign.js +1 -1
  526. package/dist/types/PopoverPlacementType.js +2 -2
  527. package/dist/types/PopoverVerticalAlign.js +1 -2
  528. package/dist/types/Priority.js +55 -0
  529. package/dist/types/SemanticColor.js +1 -1
  530. package/dist/types/SwitchDesign.js +40 -0
  531. package/dist/types/TabContainerTabsPlacement.js +40 -0
  532. package/dist/types/TabLayout.js +1 -1
  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 +1 -1
  538. package/dist/types/ToastPlacement.js +1 -2
  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 -82
  1226. package/dist/TimelineItem.js +0 -161
  1227. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -7
  1228. package/dist/generated/templates/TabSeparatorTemplate.lit.js +0 -7
  1229. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
  1230. package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
  1231. package/dist/generated/themes/ComboBoxItem.css.js +0 -9
  1232. package/dist/generated/themes/TabContainerPopup.css.js +0 -9
  1233. package/dist/generated/themes/Timeline.css.js +0 -9
  1234. package/dist/generated/themes/TimelineItem.css.js +0 -9
  1235. package/dist/popup-utils/PopupUtils.js +0 -55
  1236. package/dist/types/AvatarFitType.js +0 -40
  1237. 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, isPhone } 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,39 +9,60 @@ import {
8
9
  isDown,
9
10
  isSpace,
10
11
  isEnter,
12
+ isBackSpace,
13
+ isDelete,
14
+ isEscape,
15
+ isTabNext,
16
+ isPageUp,
17
+ isPageDown,
18
+ isHome,
19
+ isEnd,
11
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";
28
+ import Popover from "./Popover.js";
16
29
  // Templates
17
30
  import InputTemplate from "./generated/templates/InputTemplate.lit.js";
18
31
  import InputPopoverTemplate from "./generated/templates/InputPopoverTemplate.lit.js";
19
32
 
20
33
  import {
21
34
  VALUE_STATE_SUCCESS,
35
+ VALUE_STATE_INFORMATION,
22
36
  VALUE_STATE_ERROR,
23
37
  VALUE_STATE_WARNING,
24
38
  INPUT_SUGGESTIONS,
25
39
  INPUT_SUGGESTIONS_TITLE,
40
+ INPUT_SUGGESTIONS_ONE_HIT,
41
+ INPUT_SUGGESTIONS_MORE_HITS,
42
+ INPUT_SUGGESTIONS_NO_HIT,
26
43
  } from "./generated/i18n/i18n-defaults.js";
27
44
 
28
45
  // Styles
29
46
  import styles from "./generated/themes/Input.css.js";
30
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+/);
31
52
 
32
53
  /**
33
54
  * @public
34
55
  */
35
56
  const metadata = {
36
57
  tag: "ui5-input",
58
+ languageAware: true,
37
59
  managedSlots: true,
38
60
  slots: /** @lends sap.ui.webcomponents.main.Input.prototype */ {
39
61
 
40
62
  /**
41
- * Defines the icon to be displayed in the <code>ui5-input</code>.
63
+ * Defines the icon to be displayed in the component.
42
64
  *
43
- * @type {HTMLElement[]}
65
+ * @type {sap.ui.webcomponents.main.IIcon[]}
44
66
  * @slot
45
67
  * @public
46
68
  */
@@ -49,24 +71,37 @@ const metadata = {
49
71
  },
50
72
 
51
73
  /**
52
- * Defines the <code>ui5-input</code> suggestion items.
74
+ * Defines the suggestion items.
75
+ * <br><br>
76
+ * Example:
53
77
  * <br><br>
54
- * Example: <br>
55
78
  * &lt;ui5-input show-suggestions><br>
56
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-li>Item #1&lt;/ui5-li><br>
57
- * &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>
58
81
  * &lt;/ui5-input>
59
- * <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>
60
91
  * <br><br>
61
- * <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>
62
93
  * property is set to <code>true</code>.
63
94
  * <br><br>
64
- * <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>
65
100
  * <br>
66
- * 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.
67
102
  *
68
- * @type {HTMLElement[]}
69
- * @slot
103
+ * @type {sap.ui.webcomponents.main.IInputSuggestionItem[]}
104
+ * @slot suggestionItems
70
105
  * @public
71
106
  */
72
107
  "default": {
@@ -83,13 +118,33 @@ const metadata = {
83
118
  formSupport: {
84
119
  type: HTMLElement,
85
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
+ },
86
141
  },
87
142
  properties: /** @lends sap.ui.webcomponents.main.Input.prototype */ {
88
143
 
89
144
  /**
90
- * Defines whether the <code>ui5-input</code> is in disabled state.
145
+ * Defines whether the component is in disabled state.
91
146
  * <br><br>
92
- * <b>Note:</b> A disabled <code>ui5-input</code> is completely noninteractive.
147
+ * <b>Note:</b> A disabled component is completely noninteractive.
93
148
  *
94
149
  * @type {boolean}
95
150
  * @defaultvalue false
@@ -99,9 +154,24 @@ const metadata = {
99
154
  type: Boolean,
100
155
  },
101
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
+
102
172
  /**
103
173
  * Defines a short hint intended to aid the user with data entry when the
104
- * <code>ui5-input</code> has no value.
174
+ * component has no value.
105
175
  * @type {string}
106
176
  * @defaultvalue ""
107
177
  * @public
@@ -111,9 +181,9 @@ const metadata = {
111
181
  },
112
182
 
113
183
  /**
114
- * Defines whether the <code>ui5-input</code> is read-only.
184
+ * Defines whether the component is read-only.
115
185
  * <br><br>
116
- * <b>Note:</b> A read-only <code>ui5-input</code> is not editable,
186
+ * <b>Note:</b> A read-only component is not editable,
117
187
  * but still provides visual feedback upon user interaction.
118
188
  *
119
189
  * @type {boolean}
@@ -125,7 +195,7 @@ const metadata = {
125
195
  },
126
196
 
127
197
  /**
128
- * Defines whether the <code>ui5-input</code> is required.
198
+ * Defines whether the component is required.
129
199
  *
130
200
  * @type {boolean}
131
201
  * @defaultvalue false
@@ -137,7 +207,7 @@ const metadata = {
137
207
  },
138
208
 
139
209
  /**
140
- * Defines the HTML type of the <code>ui5-input</code>.
210
+ * Defines the HTML type of the component.
141
211
  * Available options are: <code>Text</code>, <code>Email</code>,
142
212
  * <code>Number</code>, <code>Password</code>, <code>Tel</code>, and <code>URL</code>.
143
213
  * <br><br>
@@ -149,7 +219,7 @@ const metadata = {
149
219
  * that use different soft keyboard layouts depending on the given input type.</li>
150
220
  * </ul>
151
221
  *
152
- * @type {string}
222
+ * @type {InputType}
153
223
  * @defaultvalue "Text"
154
224
  * @public
155
225
  */
@@ -159,7 +229,7 @@ const metadata = {
159
229
  },
160
230
 
161
231
  /**
162
- * Defines the value of the <code>ui5-input</code>.
232
+ * Defines the value of the component.
163
233
  * <br><br>
164
234
  * <b>Note:</b> The property is updated upon typing.
165
235
  *
@@ -172,10 +242,18 @@ const metadata = {
172
242
  },
173
243
 
174
244
  /**
175
- * Defines the value state of the <code>ui5-input</code>.
176
- * 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>
177
255
  *
178
- * @type {string}
256
+ * @type {ValueState}
179
257
  * @defaultvalue "None"
180
258
  * @public
181
259
  */
@@ -185,13 +263,15 @@ const metadata = {
185
263
  },
186
264
 
187
265
  /**
188
- * 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.
189
267
  *
268
+ * <br><br>
190
269
  * <b>Important:</b> For the <code>name</code> property to have effect, you must add the following import to your project:
191
270
  * <code>import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js";</code>
192
271
  *
272
+ * <br><br>
193
273
  * <b>Note:</b> When set, a native <code>input</code> HTML element
194
- * 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
195
275
  * part of an HTML form. Do not use this property unless you need to submit a form.
196
276
  *
197
277
  * @type {string}
@@ -203,11 +283,11 @@ const metadata = {
203
283
  },
204
284
 
205
285
  /**
206
- * 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.
207
287
  * <br><br>
208
- * <b>Note:</b>
209
- * Don`t forget to import the <code>InputSuggestions</code> module from <code>"@ui5/webcomponents/dist/features/InputSuggestions.js"</code> to enable this functionality.
210
- * @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}
211
291
  * @defaultvalue false
212
292
  * @public
213
293
  */
@@ -226,6 +306,30 @@ const metadata = {
226
306
  type: Integer,
227
307
  },
228
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
+
229
333
  /**
230
334
  * @private
231
335
  */
@@ -233,6 +337,18 @@ const metadata = {
233
337
  type: Boolean,
234
338
  },
235
339
 
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,
350
+ },
351
+
236
352
  _input: {
237
353
  type: Object,
238
354
  },
@@ -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, that is 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,7 +455,7 @@ 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 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.
@@ -310,6 +465,22 @@ const metadata = {
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 {
@@ -345,7 +518,7 @@ class Input extends UI5Element {
345
518
  }
346
519
 
347
520
  static get staticAreaStyles() {
348
- return ResponsivePopoverCommonCss;
521
+ return [ResponsivePopoverCommonCss, ValueStateMessageCss, SuggestionsCss];
349
522
  }
350
523
 
351
524
  constructor() {
@@ -353,22 +526,42 @@ class Input extends UI5Element {
353
526
  // Indicates if there is selected suggestionItem.
354
527
  this.hasSuggestionItemSelected = false;
355
528
 
356
- // Represents the value before user moves selection between the suggestion items.
357
- // Used to register and fire "input" event upon [SPACE] or [ENTER].
358
- // 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.
359
533
  this.valueBeforeItemSelection = "";
360
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
+
361
546
  // tracks the value between focus in and focus out to detect that change event should be fired.
362
547
  this.previousValue = undefined;
363
548
 
364
549
  // Indicates, if the component is rendering for first time.
365
550
  this.firstRendering = true;
366
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
+
367
561
  // all sementic events
368
- this.EVENT_SUBMIT = "submit";
369
562
  this.EVENT_CHANGE = "change";
370
563
  this.EVENT_INPUT = "input";
371
- this.EVENT_SUGGESTION_ITEM_SELECT = "suggestionItemSelect";
564
+ this.EVENT_SUGGESTION_ITEM_SELECT = "suggestion-item-select";
372
565
 
373
566
  // all user interactions
374
567
  this.ACTION_ENTER = "enter";
@@ -377,16 +570,27 @@ class Input extends UI5Element {
377
570
  // Suggestions array initialization
378
571
  this.suggestionsTexts = [];
379
572
 
380
- this.i18nBundle = getI18nBundle("@ui5/webcomponents");
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);
381
582
  }
382
583
 
383
584
  onBeforeRendering() {
384
585
  if (this.showSuggestions) {
385
586
  this.enableSuggestions();
386
- this.suggestionsTexts = this.Suggestions.defaultSlotProperties();
587
+ this.suggestionsTexts = this.Suggestions.defaultSlotProperties(this.highlightValue);
387
588
  }
388
589
 
590
+ this.open = this.open && (!!this.suggestionItems.length || this._isPhone);
591
+
389
592
  const FormSupport = getFeature("FormSupport");
593
+
390
594
  if (FormSupport) {
391
595
  FormSupport.syncNativeHiddenInput(this);
392
596
  } else if (this.name) {
@@ -394,20 +598,20 @@ class Input extends UI5Element {
394
598
  }
395
599
  }
396
600
 
397
- onAfterRendering() {
398
- if (!this.firstRendering && !isPhone() && this.Suggestions) {
399
- const shouldOpenSuggestions = this.shouldOpenSuggestions();
400
-
401
- this.updateStaticAreaItemContentDensity();
402
- this.Suggestions.toggle(shouldOpenSuggestions);
601
+ async onAfterRendering() {
602
+ if (this.Suggestions) {
603
+ this.Suggestions.toggle(this.open, {
604
+ preventFocusRestore: true,
605
+ });
403
606
 
404
- if (!isPhone() && shouldOpenSuggestions) {
405
- // Set initial focus to the native input
406
- this.getInputDOMRef().focus();
407
- }
607
+ this._listWidth = await this.Suggestions._getListWidth();
408
608
  }
409
609
 
410
- this.firstRendering = false;
610
+ if (this.shouldDisplayOnlyValueStateMessage) {
611
+ this.openPopover();
612
+ } else {
613
+ this.closePopover();
614
+ }
411
615
  }
412
616
 
413
617
  _onkeydown(event) {
@@ -423,15 +627,54 @@ class Input extends UI5Element {
423
627
  return this._handleSpace(event);
424
628
  }
425
629
 
630
+ if (isTabNext(event)) {
631
+ return this._handleTab(event);
632
+ }
633
+
426
634
  if (isEnter(event)) {
427
635
  return this._handleEnter(event);
428
636
  }
429
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
+
430
667
  this._keyDown = true;
431
668
  }
432
669
 
433
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
+
434
676
  this._keyDown = false;
677
+ this._backspaceKeyDown = false;
435
678
  }
436
679
 
437
680
  /* Event handling */
@@ -453,42 +696,199 @@ class Input extends UI5Element {
453
696
  }
454
697
  }
455
698
 
699
+ _handleTab(event) {
700
+ if (this.Suggestions && (this.previousValue !== this.value)) {
701
+ this.Suggestions.onTab(event);
702
+ }
703
+ }
704
+
456
705
  _handleEnter(event) {
457
706
  const itemPressed = !!(this.Suggestions && this.Suggestions.onEnter(event));
707
+
458
708
  if (!itemPressed) {
459
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();
722
+ }
723
+ }
724
+
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;
460
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;
461
770
  }
462
771
 
463
- _onfocusin(event) {
772
+ async _onfocusin(event) {
773
+ await this.getInputDOMRef();
774
+
464
775
  this.focused = true; // invalidating property
465
776
  this.previousValue = this.value;
777
+ this.valueBeforeItemPreview = this.value;
778
+
779
+ this._inputIconFocused = event.target && event.target === this.querySelector("[ui5-icon]");
466
780
  }
467
781
 
468
782
  _onfocusout(event) {
469
- // if focusout is triggered by pressing on suggestion item skip invalidation, because re-rendering
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
470
787
  // will happen before "itemPress" event, which will make item "active" state not visualized
471
- if (this.Suggestions && event.relatedTarget && event.relatedTarget.shadowRoot.contains(this.Suggestions._respPopover)) {
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)) {
472
796
  return;
473
797
  }
474
798
 
799
+ this.closePopover();
800
+ this._clearPopoverFocusAndSelection();
801
+
475
802
  this.previousValue = "";
803
+ this.lastConfirmedValue = "";
476
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();
477
818
  }
478
819
 
479
820
  _click(event) {
480
821
  if (isPhone() && !this.readonly && this.Suggestions) {
481
- this.updateStaticAreaItemContentDensity();
482
- this.Suggestions.open(this);
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);
483
838
  }
484
839
  }
485
840
 
486
- _handleChange(event) {
487
- this.fireEvent(this.EVENT_CHANGE);
841
+ _scroll(event) {
842
+ const detail = event.detail;
843
+ this.fireEvent("suggestion-scroll", {
844
+ scrollTop: detail.scrollTop,
845
+ scrollContainer: detail.targetRef,
846
+ });
488
847
  }
489
848
 
490
849
  _handleInput(event) {
491
- 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
+
492
892
  // stop the native event, as the semantic "input" would be fired.
493
893
  event.stopImmediatePropagation();
494
894
  }
@@ -497,86 +897,169 @@ class Input extends UI5Element {
497
897
  - value of the host and the internal input should be differnt in case of actual input
498
898
  - input is called when a key is pressed => keyup should not be called yet
499
899
  */
500
- const skipFiring = (this.getInputDOMRef().value === this.value) && isIE() && !this._keyDown && !!this.placeholder;
900
+ const skipFiring = (inputDomRef.value === this.value) && isIE() && !this._keyDown && !!this.placeholder;
501
901
 
502
902
  !skipFiring && this.fireEventByAction(this.ACTION_USER_INPUT);
503
903
 
504
904
  this.hasSuggestionItemSelected = false;
905
+ this._isValueStateFocused = false;
505
906
 
506
907
  if (this.Suggestions) {
507
908
  this.Suggestions.updateSelectedItemPosition(null);
909
+
910
+ if (!this._isPhone) {
911
+ this.open = !!inputDomRef.value;
912
+ }
508
913
  }
509
914
  }
510
915
 
511
- _closeRespPopover() {
512
- this.Suggestions.close();
916
+ _handleResize() {
917
+ this._inputWidth = this.offsetWidth;
918
+ }
919
+
920
+ _closeRespPopover(preventFocusRestore) {
921
+ this.Suggestions.close(preventFocusRestore);
513
922
  }
514
923
 
515
- _afterOpenPopover() {
924
+ async _afterOpenPopover() {
516
925
  // Set initial focus to the native input
517
926
  if (isPhone()) {
518
- this.getInputDOMRef().focus();
927
+ (await this.getInputDOMRef()).focus();
519
928
  }
520
929
  }
521
930
 
522
931
  _afterClosePopover() {
932
+ this.announceSelectedItem();
933
+
523
934
  // close device's keyboard and prevent further typing
524
935
  if (isPhone()) {
525
936
  this.blur();
937
+ this.focused = false;
526
938
  }
527
939
  }
528
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
+
529
969
  enableSuggestions() {
530
970
  if (this.Suggestions) {
531
971
  return;
532
972
  }
533
973
 
534
974
  const Suggestions = getFeature("InputSuggestions");
975
+
535
976
  if (Suggestions) {
536
- this.Suggestions = new Suggestions(this, "suggestionItems");
977
+ this.Suggestions = new Suggestions(this, "suggestionItems", true);
537
978
  } else {
538
979
  throw new Error(`You have to import "@ui5/webcomponents/dist/features/InputSuggestions.js" module to use ui5-input suggestions`);
539
980
  }
540
981
  }
541
982
 
542
- shouldOpenSuggestions() {
543
- return !!(this.suggestionItems.length
544
- && this.focused
545
- && this.showSuggestions
546
- && !this.hasSuggestionItemSelected);
547
- }
548
-
549
983
  selectSuggestion(item, keyboardUsed) {
550
- const itemText = item.textContent;
984
+ if (item.group) {
985
+ return;
986
+ }
987
+
988
+ const itemText = item.text || item.textContent; // keep textContent for compatibility
551
989
  const fireInput = keyboardUsed
552
990
  ? this.valueBeforeItemSelection !== itemText : this.value !== itemText;
553
991
 
554
992
  this.hasSuggestionItemSelected = true;
555
- this.fireEvent(this.EVENT_SUGGESTION_ITEM_SELECT, { item });
556
993
 
557
994
  if (fireInput) {
558
995
  this.value = itemText;
559
996
  this.valueBeforeItemSelection = itemText;
997
+ this.lastConfirmedValue = itemText;
560
998
  this.fireEvent(this.EVENT_INPUT);
561
- this.fireEvent(this.EVENT_CHANGE);
999
+ this._handleChange();
562
1000
  }
1001
+
1002
+ this.valueBeforeItemPreview = "";
1003
+ this.suggestionSelectionCanceled = false;
1004
+
1005
+ this.fireEvent(this.EVENT_SUGGESTION_ITEM_SELECT, { item });
563
1006
  }
564
1007
 
565
1008
  previewSuggestion(item) {
566
1009
  this.valueBeforeItemSelection = this.value;
567
- this.value = item.textContent;
1010
+ this.updateValueOnPreview(item);
1011
+ this.announceSelectedItem();
1012
+ this._previewItem = item;
1013
+ }
1014
+
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);
568
1037
  }
569
1038
 
570
- fireEventByAction(action) {
1039
+ async fireEventByAction(action) {
1040
+ await this.getInputDOMRef();
1041
+
571
1042
  if (this.disabled || this.readonly) {
572
1043
  return;
573
1044
  }
574
1045
 
575
- const inputValue = this.getInputValue();
576
- const isSubmit = action === this.ACTION_ENTER;
1046
+ const inputValue = await this.getInputValue();
577
1047
  const isUserInput = action === this.ACTION_USER_INPUT;
578
1048
 
1049
+ const input = await this.getInputDOMRef();
1050
+ const cursorPosition = input.selectionStart;
1051
+
579
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
+ }
580
1063
 
581
1064
  if (isUserInput) { // input
582
1065
  this.fireEvent(this.EVENT_INPUT);
@@ -585,44 +1068,74 @@ class Input extends UI5Element {
585
1068
  return;
586
1069
  }
587
1070
 
588
- if (isSubmit) { // submit
589
- this.fireEvent(this.EVENT_SUBMIT);
590
- }
591
-
592
1071
  // In IE, pressing the ENTER does not fire change
593
1072
  const valueChanged = (this.previousValue !== undefined) && (this.previousValue !== this.value);
594
- if (isIE() && isSubmit && valueChanged) {
595
- this.fireEvent(this.EVENT_CHANGE);
1073
+ if (isIE() && action === this.ACTION_ENTER && valueChanged) {
1074
+ this._handleChange();
596
1075
  }
597
1076
  }
598
1077
 
1078
+ async getInputValue() {
1079
+ const domRef = this.getDomRef();
599
1080
 
600
- getInputValue() {
601
- const inputDOM = this.getDomRef();
602
- if (inputDOM) {
603
- return this.getInputDOMRef().value;
1081
+ if (domRef) {
1082
+ return (await this.getInputDOMRef()).value;
604
1083
  }
605
1084
  return "";
606
1085
  }
607
1086
 
608
- getInputDOMRef() {
609
- let inputDomRef;
610
-
611
- if (isPhone()) {
612
- inputDomRef = this.getStaticAreaItemDomRef().querySelector(".ui5-input-inner-phone");
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");
613
1091
  }
614
1092
 
615
- if (!inputDomRef) {
616
- inputDomRef = this.getDomRef().querySelector(`#${this.getInputId()}`);
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");
617
1099
  }
618
1100
 
619
- return inputDomRef;
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;
620
1114
  }
621
1115
 
622
1116
  getLabelableElementId() {
623
1117
  return this.getInputId();
624
1118
  }
625
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
+
626
1139
  getInputId() {
627
1140
  return `${this._id}-inner`;
628
1141
  }
@@ -630,12 +1143,38 @@ class Input extends UI5Element {
630
1143
  /* Suggestions interface */
631
1144
  onItemFocused() {}
632
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
+
633
1168
  onItemSelected(item, keyboardUsed) {
634
1169
  this.selectSuggestion(item, keyboardUsed);
635
1170
  }
636
1171
 
637
1172
  onItemPreviewed(item) {
638
1173
  this.previewSuggestion(item);
1174
+ this.fireEvent("suggestion-item-preview", {
1175
+ item: this.getSuggestionByListItem(item),
1176
+ targetRef: item,
1177
+ });
639
1178
  }
640
1179
 
641
1180
  onOpen() {}
@@ -643,27 +1182,40 @@ class Input extends UI5Element {
643
1182
  onClose() {}
644
1183
 
645
1184
  valueStateTextMappings() {
646
- const i18nBundle = this.i18nBundle;
647
-
648
1185
  return {
649
- "Success": i18nBundle.getText(VALUE_STATE_SUCCESS),
650
- "Error": i18nBundle.getText(VALUE_STATE_ERROR),
651
- "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),
652
1190
  };
653
1191
  }
654
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
+
655
1203
  get _readonly() {
656
1204
  return this.readonly && !this.disabled;
657
1205
  }
658
1206
 
659
1207
  get _headerTitleText() {
660
- return this.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
1208
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
661
1209
  }
662
1210
 
663
1211
  get inputType() {
664
1212
  return this.type.toLowerCase();
665
1213
  }
666
1214
 
1215
+ get isTypeNumber() {
1216
+ return this.type === InputType.Number;
1217
+ }
1218
+
667
1219
  get suggestionsTextId() {
668
1220
  return this.showSuggestions ? `${this._id}-suggestionsText` : "";
669
1221
  }
@@ -675,36 +1227,244 @@ class Input extends UI5Element {
675
1227
  get accInfo() {
676
1228
  const ariaHasPopupDefault = this.showSuggestions ? "true" : undefined;
677
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
+
678
1232
  return {
679
- "wrapper": {
680
- },
681
1233
  "input": {
682
- "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,
683
1236
  "ariaInvalid": this.valueState === ValueState.Error ? "true" : undefined,
684
1237
  "ariaHasPopup": this._inputAccInfo.ariaHasPopup ? this._inputAccInfo.ariaHasPopup : ariaHasPopupDefault,
685
1238
  "ariaAutoComplete": this._inputAccInfo.ariaAutoComplete ? this._inputAccInfo.ariaAutoComplete : ariaAutoCompleteDefault,
686
1239
  "role": this._inputAccInfo && this._inputAccInfo.role,
687
- "ariaOwns": this._inputAccInfo && this._inputAccInfo.ariaOwns,
1240
+ "ariaControls": this._inputAccInfo && this._inputAccInfo.ariaControls,
688
1241
  "ariaExpanded": this._inputAccInfo && this._inputAccInfo.ariaExpanded,
689
1242
  "ariaDescription": this._inputAccInfo && this._inputAccInfo.ariaDescription,
1243
+ "ariaLabel": (this._inputAccInfo && this._inputAccInfo.ariaLabel) || getEffectiveAriaLabelText(this),
690
1244
  },
691
1245
  };
692
1246
  }
693
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
+
694
1330
  get hasValueState() {
695
1331
  return this.valueState !== ValueState.None;
696
1332
  }
697
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
+
698
1340
  get valueStateText() {
699
1341
  return this.valueStateTextMappings()[this.valueState];
700
1342
  }
701
1343
 
702
1344
  get suggestionsText() {
703
- 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;
1363
+ }
1364
+
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 : []);
704
1459
  }
705
1460
 
706
1461
  static async onDefine() {
707
- await fetchI18nBundle("@ui5/webcomponents");
1462
+ const Suggestions = getFeature("InputSuggestions");
1463
+
1464
+ [Input.i18nBundle] = await Promise.all([
1465
+ getI18nBundle("@ui5/webcomponents"),
1466
+ Suggestions ? Suggestions.init() : Promise.resolve(),
1467
+ ]);
708
1468
  }
709
1469
  }
710
1470