@ui5/webcomponents 1.0.0-rc.7 → 1.0.1

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