@ui5/webcomponents 0.0.0-1b568f22b → 0.0.0-1e08ebdef

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 (1221) 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 +196 -46
  8. package/dist/AvatarGroup.js +603 -0
  9. package/dist/Badge.js +45 -19
  10. package/dist/Breadcrumbs.js +573 -0
  11. package/dist/BreadcrumbsItem.js +103 -0
  12. package/dist/BusyIndicator.js +140 -38
  13. package/dist/Button.js +128 -63
  14. package/dist/Calendar.js +341 -545
  15. package/dist/CalendarDate.js +45 -0
  16. package/dist/CalendarHeader.js +129 -53
  17. package/dist/CalendarPart.js +111 -0
  18. package/dist/Card.js +43 -153
  19. package/dist/CardHeader.js +288 -0
  20. package/dist/Carousel.js +266 -98
  21. package/dist/CheckBox.js +147 -55
  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 +602 -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 -4
  31. package/dist/DateComponentBase.js +170 -0
  32. package/dist/DatePicker.js +386 -422
  33. package/dist/DateRangePicker.js +350 -0
  34. package/dist/DateTimePicker.js +106 -385
  35. package/dist/DayPicker.js +508 -430
  36. package/dist/Dialog.js +497 -47
  37. package/dist/DurationPicker.js +135 -401
  38. package/dist/FileUploader.js +209 -30
  39. package/dist/GroupHeaderListItem.js +23 -14
  40. package/dist/Icon.js +140 -42
  41. package/dist/Input.js +621 -163
  42. package/dist/Interfaces.js +192 -0
  43. package/dist/Label.js +27 -12
  44. package/dist/Link.js +122 -29
  45. package/dist/List.js +425 -94
  46. package/dist/ListItem.js +87 -19
  47. package/dist/ListItemBase.js +29 -2
  48. package/dist/MessageStrip.js +84 -71
  49. package/dist/MonthPicker.js +180 -187
  50. package/dist/MultiComboBox.js +574 -153
  51. package/dist/MultiComboBoxItem.js +8 -2
  52. package/dist/MultiInput.js +301 -0
  53. package/dist/Option.js +48 -5
  54. package/dist/Panel.js +99 -37
  55. package/dist/Popover.js +276 -150
  56. package/dist/Popup.js +364 -90
  57. package/dist/ProgressIndicator.js +235 -0
  58. package/dist/RadioButton.js +130 -46
  59. package/dist/RadioButtonGroup.js +53 -29
  60. package/dist/RangeSlider.js +769 -0
  61. package/dist/RatingIndicator.js +46 -19
  62. package/dist/ResponsivePopover.js +67 -53
  63. package/dist/SegmentedButton.js +122 -74
  64. package/dist/SegmentedButtonItem.js +109 -0
  65. package/dist/Select.js +443 -106
  66. package/dist/Slider.js +320 -0
  67. package/dist/SliderBase.js +842 -0
  68. package/dist/StandardListItem.js +44 -13
  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 +59 -37
  74. package/dist/Tab.js +55 -24
  75. package/dist/TabContainer.js +141 -57
  76. package/dist/TabSeparator.js +1 -0
  77. package/dist/Table.js +476 -23
  78. package/dist/TableCell.js +11 -9
  79. package/dist/TableColumn.js +13 -3
  80. package/dist/TableGroupRow.js +160 -0
  81. package/dist/TableRow.js +235 -10
  82. package/dist/TextArea.js +145 -43
  83. package/dist/TimePicker.js +55 -688
  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 -8
  88. package/dist/ToggleButton.js +26 -8
  89. package/dist/Token.js +84 -43
  90. package/dist/Tokenizer.js +248 -60
  91. package/dist/Tree.js +137 -51
  92. package/dist/TreeItem.js +44 -9
  93. package/dist/TreeListItem.js +127 -7
  94. package/dist/WheelSlider.js +76 -56
  95. package/dist/YearPicker.js +198 -260
  96. package/dist/api.json +6892 -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 +239 -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 -87
  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 -6
  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 -9
  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 +8 -18
  297. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
  298. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -5
  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 +4 -4
  304. package/dist/generated/templates/PopupTemplate.lit.js +4 -9
  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 +11 -9
  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 -10
  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 -20
  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 -13
  323. package/dist/generated/templates/TabInStripTemplate.lit.js +8 -21
  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 -11
  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 -7
  333. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -8
  334. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -6
  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 +18 -16
  343. package/dist/generated/templates/TreeTemplate.lit.js +5 -5
  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 +5 -5
  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 +5 -5
  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 +5 -5
  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 +5 -5
  431. package/dist/generated/themes/TreeListItem.css.js +5 -5
  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 +350 -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 +6 -2
  495. package/dist/popup-utils/PopoverRegistry.js +2 -4
  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 +1 -1
  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 +1 -1
  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 +23 -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 +268 -0
  564. package/src/Button.hbs +45 -0
  565. package/src/Button.js +472 -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 +1045 -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 +126 -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 +350 -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 +605 -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 +1389 -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 +255 -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 +1095 -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 +799 -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 +18 -0
  659. package/src/SegmentedButton.js +303 -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 +96 -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 +696 -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 +89 -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 +421 -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 +350 -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 +257 -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 +374 -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 +289 -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 +47 -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 +70 -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 +463 -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 +116 -0
  822. package/src/themes/ListItem.css +235 -0
  823. package/src/themes/ListItemBase.css +71 -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 +87 -0
  834. package/src/themes/ProgressIndicator.css +158 -0
  835. package/src/themes/RadioButton.css +249 -0
  836. package/src/themes/RatingIndicator.css +52 -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 +72 -0
  841. package/src/themes/SelectPopover.css +13 -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 +309 -0
  857. package/src/themes/TimePicker.css +50 -0
  858. package/src/themes/TimePickerPopover.css +11 -0
  859. package/src/themes/TimeSelection.css +27 -0
  860. package/src/themes/Title.css +65 -0
  861. package/src/themes/Toast.css +93 -0
  862. package/src/themes/ToggleButton.css +89 -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 +108 -0
  874. package/src/themes/base/BusyIndicator-parameters.css +5 -0
  875. package/src/themes/base/Button-parameters.css +83 -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 +7 -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 +119 -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 +16 -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 +10 -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 +16 -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 +22 -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/base/vars.css +130 -0
  924. package/src/themes/sap_belize/Carousel-parameters.css +9 -0
  925. package/src/themes/sap_belize/Dialog-parameters.css +5 -0
  926. package/src/themes/sap_belize/Input-parameters.css +6 -0
  927. package/src/themes/sap_belize/InputIcon-parameters.css +5 -0
  928. package/src/themes/sap_belize/ProgressIndicator-parameters.css +8 -0
  929. package/src/themes/sap_belize/SliderBase-parameters.css +22 -0
  930. package/src/themes/sap_belize/TabContainer-parameters.css +6 -0
  931. package/src/themes/sap_belize/Table-parameters.css +4 -0
  932. package/src/themes/sap_belize/TimePicker-parameters.css +5 -0
  933. package/src/themes/sap_belize/WheelSlider-parameters.css +17 -0
  934. package/src/themes/sap_belize/parameters-bundle.css +47 -0
  935. package/src/themes/sap_belize_hcb/Avatar-parameters.css +18 -0
  936. package/src/themes/sap_belize_hcb/Badge-parameters.css +53 -0
  937. package/src/themes/sap_belize_hcb/Button-parameters.css +12 -0
  938. package/src/themes/sap_belize_hcb/CalendarHeader-parameters.css +11 -0
  939. package/src/themes/sap_belize_hcb/Card-parameters.css +6 -0
  940. package/src/themes/sap_belize_hcb/Carousel-parameters.css +9 -0
  941. package/src/themes/sap_belize_hcb/CheckBox-parameters.css +12 -0
  942. package/src/themes/sap_belize_hcb/DatePicker-parameters.css +6 -0
  943. package/src/themes/sap_belize_hcb/DayPicker-parameters.css +13 -0
  944. package/src/themes/sap_belize_hcb/Dialog-parameters.css +7 -0
  945. package/src/themes/sap_belize_hcb/GrowingButton-parameters.css +8 -0
  946. package/src/themes/sap_belize_hcb/Input-parameters.css +13 -0
  947. package/src/themes/sap_belize_hcb/InputIcon-parameters.css +5 -0
  948. package/src/themes/sap_belize_hcb/Link-parameters.css +7 -0
  949. package/src/themes/sap_belize_hcb/MessageStrip-parameters.css +10 -0
  950. package/src/themes/sap_belize_hcb/MonthPicker-parameters.css +10 -0
  951. package/src/themes/sap_belize_hcb/Panel-parameters.css +5 -0
  952. package/src/themes/sap_belize_hcb/ProgressIndicator-parameters.css +11 -0
  953. package/src/themes/sap_belize_hcb/RadioButton-parameters.css +10 -0
  954. package/src/themes/sap_belize_hcb/Select-parameters.css +12 -0
  955. package/src/themes/sap_belize_hcb/SliderBase-parameters.css +17 -0
  956. package/src/themes/sap_belize_hcb/Switch-parameters.css +46 -0
  957. package/src/themes/sap_belize_hcb/TabContainer-parameters.css +44 -0
  958. package/src/themes/sap_belize_hcb/Table-parameters.css +6 -0
  959. package/src/themes/sap_belize_hcb/TableRow-parameters.css +5 -0
  960. package/src/themes/sap_belize_hcb/TextArea-parameters.css +6 -0
  961. package/src/themes/sap_belize_hcb/ToggleButton-parameters.css +7 -0
  962. package/src/themes/sap_belize_hcb/Token-parameters.css +5 -0
  963. package/src/themes/sap_belize_hcb/ValueStateMessage-parameters.css +5 -0
  964. package/src/themes/sap_belize_hcb/WheelSlider-parameters.css +17 -0
  965. package/src/themes/sap_belize_hcb/YearPicker-parameters.css +10 -0
  966. package/src/themes/sap_belize_hcb/parameters-bundle.css +46 -0
  967. package/src/themes/sap_belize_hcw/Avatar-parameters.css +18 -0
  968. package/src/themes/sap_belize_hcw/Badge-parameters.css +53 -0
  969. package/src/themes/sap_belize_hcw/Button-parameters.css +12 -0
  970. package/src/themes/sap_belize_hcw/CalendarHeader-parameters.css +11 -0
  971. package/src/themes/sap_belize_hcw/Card-parameters.css +6 -0
  972. package/src/themes/sap_belize_hcw/Carousel-parameters.css +9 -0
  973. package/src/themes/sap_belize_hcw/CheckBox-parameters.css +12 -0
  974. package/src/themes/sap_belize_hcw/DatePicker-parameters.css +5 -0
  975. package/src/themes/sap_belize_hcw/DayPicker-parameters.css +14 -0
  976. package/src/themes/sap_belize_hcw/Dialog-parameters.css +7 -0
  977. package/src/themes/sap_belize_hcw/GrowingButton-parameters.css +8 -0
  978. package/src/themes/sap_belize_hcw/Input-parameters.css +13 -0
  979. package/src/themes/sap_belize_hcw/InputIcon-parameters.css +5 -0
  980. package/src/themes/sap_belize_hcw/Link-parameters.css +7 -0
  981. package/src/themes/sap_belize_hcw/MessageStrip-parameters.css +10 -0
  982. package/src/themes/sap_belize_hcw/MonthPicker-parameters.css +10 -0
  983. package/src/themes/sap_belize_hcw/Panel-parameters.css +5 -0
  984. package/src/themes/sap_belize_hcw/ProgressIndicator-parameters.css +11 -0
  985. package/src/themes/sap_belize_hcw/RadioButton-parameters.css +10 -0
  986. package/src/themes/sap_belize_hcw/Select-parameters.css +12 -0
  987. package/src/themes/sap_belize_hcw/SliderBase-parameters.css +17 -0
  988. package/src/themes/sap_belize_hcw/Switch-parameters.css +45 -0
  989. package/src/themes/sap_belize_hcw/TabContainer-parameters.css +44 -0
  990. package/src/themes/sap_belize_hcw/Table-parameters.css +6 -0
  991. package/src/themes/sap_belize_hcw/TableRow-parameters.css +5 -0
  992. package/src/themes/sap_belize_hcw/TextArea-parameters.css +6 -0
  993. package/src/themes/sap_belize_hcw/ToggleButton-parameters.css +6 -0
  994. package/src/themes/sap_belize_hcw/Token-parameters.css +5 -0
  995. package/src/themes/sap_belize_hcw/ValueStateMessage-parameters.css +5 -0
  996. package/src/themes/sap_belize_hcw/WheelSlider-parameters.css +17 -0
  997. package/src/themes/sap_belize_hcw/YearPicker-parameters.css +10 -0
  998. package/src/themes/sap_belize_hcw/parameters-bundle.css +46 -0
  999. package/src/themes/sap_fiori_3/Avatar-parameters.css +9 -0
  1000. package/src/themes/sap_fiori_3/Button-parameters.css +14 -0
  1001. package/src/themes/sap_fiori_3/CalendarHeader-parameters.css +8 -0
  1002. package/src/themes/sap_fiori_3/CheckBox-parameters.css +13 -0
  1003. package/src/themes/sap_fiori_3/DayPicker-parameters.css +6 -0
  1004. package/src/themes/sap_fiori_3/Input-parameters.css +7 -0
  1005. package/src/themes/sap_fiori_3/Link-parameters.css +7 -0
  1006. package/src/themes/sap_fiori_3/List-parameters.css +5 -0
  1007. package/src/themes/sap_fiori_3/MonthPicker-parameters.css +5 -0
  1008. package/src/themes/sap_fiori_3/MultiComboBox-parameters.css +5 -0
  1009. package/src/themes/sap_fiori_3/Panel-parameters.css +6 -0
  1010. package/src/themes/sap_fiori_3/SliderBase-parameters.css +5 -0
  1011. package/src/themes/sap_fiori_3/TabContainer-parameters.css +12 -0
  1012. package/src/themes/sap_fiori_3/TimePicker-parameters.css +5 -0
  1013. package/src/themes/sap_fiori_3/Token-parameters.css +9 -0
  1014. package/src/themes/sap_fiori_3/WheelSlider-parameters.css +16 -0
  1015. package/src/themes/sap_fiori_3/YearPicker-parameters.css +5 -0
  1016. package/src/themes/sap_fiori_3/parameters-bundle.css +47 -0
  1017. package/src/themes/sap_fiori_3_dark/Avatar-parameters.css +9 -0
  1018. package/src/themes/sap_fiori_3_dark/Button-parameters.css +14 -0
  1019. package/src/themes/sap_fiori_3_dark/CalendarHeader-parameters.css +8 -0
  1020. package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +13 -0
  1021. package/src/themes/sap_fiori_3_dark/DayPicker-parameters.css +6 -0
  1022. package/src/themes/sap_fiori_3_dark/Input-parameters.css +7 -0
  1023. package/src/themes/sap_fiori_3_dark/Link-parameters.css +7 -0
  1024. package/src/themes/sap_fiori_3_dark/List-parameters.css +5 -0
  1025. package/src/themes/sap_fiori_3_dark/MonthPicker-parameters.css +5 -0
  1026. package/src/themes/sap_fiori_3_dark/MultiComboBox-parameters.css +5 -0
  1027. package/src/themes/sap_fiori_3_dark/Panel-parameters.css +6 -0
  1028. package/src/themes/sap_fiori_3_dark/SliderBase-parameters.css +5 -0
  1029. package/src/themes/sap_fiori_3_dark/TabContainer-parameters.css +12 -0
  1030. package/src/themes/sap_fiori_3_dark/Token-parameters.css +8 -0
  1031. package/src/themes/sap_fiori_3_dark/WheelSlider-parameters.css +15 -0
  1032. package/src/themes/sap_fiori_3_dark/YearPicker-parameters.css +5 -0
  1033. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +46 -0
  1034. package/src/themes/sap_fiori_3_hcb/Avatar-parameters.css +24 -0
  1035. package/src/themes/sap_fiori_3_hcb/Badge-parameters.css +53 -0
  1036. package/src/themes/sap_fiori_3_hcb/Button-parameters.css +10 -0
  1037. package/src/themes/sap_fiori_3_hcb/CalendarHeader-parameters.css +11 -0
  1038. package/src/themes/sap_fiori_3_hcb/Card-parameters.css +6 -0
  1039. package/src/themes/sap_fiori_3_hcb/Carousel-parameters.css +9 -0
  1040. package/src/themes/sap_fiori_3_hcb/CheckBox-parameters.css +13 -0
  1041. package/src/themes/sap_fiori_3_hcb/DatePicker-parameters.css +5 -0
  1042. package/src/themes/sap_fiori_3_hcb/DayPicker-parameters.css +19 -0
  1043. package/src/themes/sap_fiori_3_hcb/Dialog-parameters.css +7 -0
  1044. package/src/themes/sap_fiori_3_hcb/GrowingButton-parameters.css +8 -0
  1045. package/src/themes/sap_fiori_3_hcb/Input-parameters.css +19 -0
  1046. package/src/themes/sap_fiori_3_hcb/InputIcon-parameters.css +5 -0
  1047. package/src/themes/sap_fiori_3_hcb/Link-parameters.css +7 -0
  1048. package/src/themes/sap_fiori_3_hcb/MessageStrip-parameters.css +10 -0
  1049. package/src/themes/sap_fiori_3_hcb/MonthPicker-parameters.css +11 -0
  1050. package/src/themes/sap_fiori_3_hcb/Panel-parameters.css +5 -0
  1051. package/src/themes/sap_fiori_3_hcb/ProgressIndicator-parameters.css +11 -0
  1052. package/src/themes/sap_fiori_3_hcb/RadioButton-parameters.css +10 -0
  1053. package/src/themes/sap_fiori_3_hcb/Select-parameters.css +12 -0
  1054. package/src/themes/sap_fiori_3_hcb/SliderBase-parameters.css +14 -0
  1055. package/src/themes/sap_fiori_3_hcb/Switch-parameters.css +45 -0
  1056. package/src/themes/sap_fiori_3_hcb/TabContainer-parameters.css +44 -0
  1057. package/src/themes/sap_fiori_3_hcb/Table-parameters.css +5 -0
  1058. package/src/themes/sap_fiori_3_hcb/TableRow-parameters.css +5 -0
  1059. package/src/themes/sap_fiori_3_hcb/TextArea-parameters.css +10 -0
  1060. package/src/themes/sap_fiori_3_hcb/TimePicker-parameters.css +5 -0
  1061. package/src/themes/sap_fiori_3_hcb/ToggleButton-parameters.css +6 -0
  1062. package/src/themes/sap_fiori_3_hcb/Token-parameters.css +6 -0
  1063. package/src/themes/sap_fiori_3_hcb/ValueStateMessage-parameters.css +5 -0
  1064. package/src/themes/sap_fiori_3_hcb/WheelSlider-parameters.css +17 -0
  1065. package/src/themes/sap_fiori_3_hcb/YearPicker-parameters.css +11 -0
  1066. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +47 -0
  1067. package/src/themes/sap_fiori_3_hcw/Avatar-parameters.css +24 -0
  1068. package/src/themes/sap_fiori_3_hcw/Badge-parameters.css +53 -0
  1069. package/src/themes/sap_fiori_3_hcw/Button-parameters.css +10 -0
  1070. package/src/themes/sap_fiori_3_hcw/CalendarHeader-parameters.css +11 -0
  1071. package/src/themes/sap_fiori_3_hcw/Card-parameters.css +6 -0
  1072. package/src/themes/sap_fiori_3_hcw/Carousel-parameters.css +9 -0
  1073. package/src/themes/sap_fiori_3_hcw/CheckBox-parameters.css +13 -0
  1074. package/src/themes/sap_fiori_3_hcw/DatePicker-parameters.css +5 -0
  1075. package/src/themes/sap_fiori_3_hcw/DayPicker-parameters.css +19 -0
  1076. package/src/themes/sap_fiori_3_hcw/Dialog-parameters.css +7 -0
  1077. package/src/themes/sap_fiori_3_hcw/GrowingButton-parameters.css +8 -0
  1078. package/src/themes/sap_fiori_3_hcw/Input-parameters.css +19 -0
  1079. package/src/themes/sap_fiori_3_hcw/InputIcon-parameters.css +5 -0
  1080. package/src/themes/sap_fiori_3_hcw/Link-parameters.css +7 -0
  1081. package/src/themes/sap_fiori_3_hcw/MessageStrip-parameters.css +10 -0
  1082. package/src/themes/sap_fiori_3_hcw/MonthPicker-parameters.css +11 -0
  1083. package/src/themes/sap_fiori_3_hcw/Panel-parameters.css +5 -0
  1084. package/src/themes/sap_fiori_3_hcw/ProgressIndicator-parameters.css +11 -0
  1085. package/src/themes/sap_fiori_3_hcw/RadioButton-parameters.css +10 -0
  1086. package/src/themes/sap_fiori_3_hcw/Select-parameters.css +12 -0
  1087. package/src/themes/sap_fiori_3_hcw/SliderBase-parameters.css +13 -0
  1088. package/src/themes/sap_fiori_3_hcw/Switch-parameters.css +45 -0
  1089. package/src/themes/sap_fiori_3_hcw/TabContainer-parameters.css +44 -0
  1090. package/src/themes/sap_fiori_3_hcw/Table-parameters.css +5 -0
  1091. package/src/themes/sap_fiori_3_hcw/TableRow-parameters.css +5 -0
  1092. package/src/themes/sap_fiori_3_hcw/TextArea-parameters.css +10 -0
  1093. package/src/themes/sap_fiori_3_hcw/TimePicker-parameters.css +5 -0
  1094. package/src/themes/sap_fiori_3_hcw/ToggleButton-parameters.css +6 -0
  1095. package/src/themes/sap_fiori_3_hcw/Token-parameters.css +6 -0
  1096. package/src/themes/sap_fiori_3_hcw/ValueStateMessage-parameters.css +5 -0
  1097. package/src/themes/sap_fiori_3_hcw/WheelSlider-parameters.css +17 -0
  1098. package/src/themes/sap_fiori_3_hcw/YearPicker-parameters.css +11 -0
  1099. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +47 -0
  1100. package/src/themes/sap_horizon/Avatar-parameters.css +33 -0
  1101. package/src/themes/sap_horizon/BusyIndicator-parameters.css +7 -0
  1102. package/src/themes/sap_horizon/Button-parameters.css +21 -0
  1103. package/src/themes/sap_horizon/CalendarHeader-parameters.css +19 -0
  1104. package/src/themes/sap_horizon/Card-parameters.css +11 -0
  1105. package/src/themes/sap_horizon/CheckBox-parameters.css +34 -0
  1106. package/src/themes/sap_horizon/ColorPalette-parameters.css +16 -0
  1107. package/src/themes/sap_horizon/ColorPicker-parameters.css +10 -0
  1108. package/src/themes/sap_horizon/DatePicker-parameters.css +6 -0
  1109. package/src/themes/sap_horizon/DayPicker-parameters.css +31 -0
  1110. package/src/themes/sap_horizon/Dialog-parameters.css +11 -0
  1111. package/src/themes/sap_horizon/GrowingButton-parameters.css +5 -0
  1112. package/src/themes/sap_horizon/Input-parameters.css +40 -0
  1113. package/src/themes/sap_horizon/InputIcon-parameters.css +17 -0
  1114. package/src/themes/sap_horizon/Link-parameters.css +10 -0
  1115. package/src/themes/sap_horizon/List-parameters.css +5 -0
  1116. package/src/themes/sap_horizon/ListItemBase-parameters.css +7 -0
  1117. package/src/themes/sap_horizon/MessageStrip-parameters.css +9 -0
  1118. package/src/themes/sap_horizon/MonthPicker-parameters.css +17 -0
  1119. package/src/themes/sap_horizon/MultiComboBox-parameters.css +5 -0
  1120. package/src/themes/sap_horizon/Panel-parameters.css +12 -0
  1121. package/src/themes/sap_horizon/PopupsCommon-parameters.css +10 -0
  1122. package/src/themes/sap_horizon/ProgressIndicator-parameters.css +23 -0
  1123. package/src/themes/sap_horizon/RadioButton-parameters.css +9 -0
  1124. package/src/themes/sap_horizon/RatingIndicator-parameters.css +3 -0
  1125. package/src/themes/sap_horizon/SegmentedButtton-parameters.css +10 -0
  1126. package/src/themes/sap_horizon/Select-parameters.css +5 -0
  1127. package/src/themes/sap_horizon/SelectPopover-parameters.css +4 -0
  1128. package/src/themes/sap_horizon/SliderBase-parameters.css +44 -0
  1129. package/src/themes/sap_horizon/StepInput-parameters.css +25 -0
  1130. package/src/themes/sap_horizon/Suggestions-parameters.css +5 -0
  1131. package/src/themes/sap_horizon/Switch-parameters.css +31 -0
  1132. package/src/themes/sap_horizon/TabContainer-parameters.css +25 -0
  1133. package/src/themes/sap_horizon/Table-parameters.css +7 -0
  1134. package/src/themes/sap_horizon/TableColumn-parameters.css +5 -0
  1135. package/src/themes/sap_horizon/TableRow-parameters.css +5 -0
  1136. package/src/themes/sap_horizon/TextArea-parameters.css +22 -0
  1137. package/src/themes/sap_horizon/TimePicker-parameters.css +6 -0
  1138. package/src/themes/sap_horizon/ToggleButton-parameters.css +11 -0
  1139. package/src/themes/sap_horizon/Token-parameters.css +28 -0
  1140. package/src/themes/sap_horizon/Tokenizer-parameters.css +6 -0
  1141. package/src/themes/sap_horizon/ValueStateMessage-parameters.css +8 -0
  1142. package/src/themes/sap_horizon/WheelSlider-parameters.css +19 -0
  1143. package/src/themes/sap_horizon/YearPicker-parameters.css +16 -0
  1144. package/src/themes/sap_horizon/parameters-bundle.css +56 -0
  1145. package/src/themes/sap_horizon/sizes-parameters.css +8 -0
  1146. package/src/themes/sap_horizon_exp/Badge-parameters.css +105 -0
  1147. package/src/themes/sap_horizon_exp/Button-parameters.css +69 -0
  1148. package/src/themes/sap_horizon_exp/CalendarHeader-parameters.css +8 -0
  1149. package/src/themes/sap_horizon_exp/CheckBox-parameters.css +35 -0
  1150. package/src/themes/sap_horizon_exp/DatePicker-parameters.css +6 -0
  1151. package/src/themes/sap_horizon_exp/DayPicker-parameters.css +6 -0
  1152. package/src/themes/sap_horizon_exp/Input-parameters.css +102 -0
  1153. package/src/themes/sap_horizon_exp/InputIcon-parameters.css +10 -0
  1154. package/src/themes/sap_horizon_exp/Link-parameters.css +7 -0
  1155. package/src/themes/sap_horizon_exp/List-parameters.css +5 -0
  1156. package/src/themes/sap_horizon_exp/ListItemBase-parameters.css +16 -0
  1157. package/src/themes/sap_horizon_exp/MonthPicker-parameters.css +5 -0
  1158. package/src/themes/sap_horizon_exp/MultiComboBox-parameters.css +7 -0
  1159. package/src/themes/sap_horizon_exp/Panel-parameters.css +6 -0
  1160. package/src/themes/sap_horizon_exp/Popover-parameters.css +5 -0
  1161. package/src/themes/sap_horizon_exp/PopupsCommon-parameters.css +7 -0
  1162. package/src/themes/sap_horizon_exp/RadioButton-parameters.css +30 -0
  1163. package/src/themes/sap_horizon_exp/Select-parameters.css +10 -0
  1164. package/src/themes/sap_horizon_exp/SelectPopover-parameters.css +5 -0
  1165. package/src/themes/sap_horizon_exp/SliderBase-parameters.css +30 -0
  1166. package/src/themes/sap_horizon_exp/Switch-parameters.css +46 -0
  1167. package/src/themes/sap_horizon_exp/TabContainer-parameters.css +40 -0
  1168. package/src/themes/sap_horizon_exp/TimePicker-parameters.css +5 -0
  1169. package/src/themes/sap_horizon_exp/Token-parameters.css +9 -0
  1170. package/src/themes/sap_horizon_exp/WheelSlider-parameters.css +16 -0
  1171. package/src/themes/sap_horizon_exp/YearPicker-parameters.css +5 -0
  1172. package/src/themes/sap_horizon_exp/parameters-bundle.css +48 -0
  1173. package/src/timepicker-utils/TimeSlider.js +103 -0
  1174. package/src/types/AvatarColorScheme.js +104 -0
  1175. package/src/types/AvatarGroupType.js +43 -0
  1176. package/src/types/AvatarShape.js +41 -0
  1177. package/src/types/AvatarSize.js +67 -0
  1178. package/src/types/BreadcrumbsDesign.js +42 -0
  1179. package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
  1180. package/src/types/BusyIndicatorSize.js +47 -0
  1181. package/src/types/ButtonDesign.js +68 -0
  1182. package/src/types/CalendarSelectionMode.js +47 -0
  1183. package/src/types/CarouselArrowsPlacement.js +40 -0
  1184. package/src/types/GrowingMode.js +48 -0
  1185. package/src/types/InputType.js +68 -0
  1186. package/src/types/LinkDesign.js +47 -0
  1187. package/src/types/ListGrowingMode.js +15 -0
  1188. package/src/types/ListItemType.js +47 -0
  1189. package/src/types/ListMode.js +77 -0
  1190. package/src/types/ListSeparators.js +46 -0
  1191. package/src/types/MessageStripDesign.js +54 -0
  1192. package/src/types/PanelAccessibleRole.js +48 -0
  1193. package/src/types/PopoverHorizontalAlign.js +54 -0
  1194. package/src/types/PopoverPlacementType.js +54 -0
  1195. package/src/types/PopoverVerticalAlign.js +54 -0
  1196. package/src/types/Priority.js +55 -0
  1197. package/src/types/SemanticColor.js +61 -0
  1198. package/src/types/SwitchDesign.js +40 -0
  1199. package/src/types/TabContainerTabsPlacement.js +40 -0
  1200. package/src/types/TabLayout.js +40 -0
  1201. package/src/types/TableGrowingMode.js +15 -0
  1202. package/src/types/TableMode.js +47 -0
  1203. package/src/types/TableRowType.js +40 -0
  1204. package/src/types/TitleLevel.js +68 -0
  1205. package/src/types/ToastPlacement.js +91 -0
  1206. package/src/types/WrappingType.js +41 -0
  1207. package/dist/Timeline.js +0 -98
  1208. package/dist/TimelineItem.js +0 -156
  1209. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -7
  1210. package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -10
  1211. package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -8
  1212. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
  1213. package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
  1214. package/dist/generated/themes/ComboBoxItem.css.js +0 -8
  1215. package/dist/generated/themes/DurationPicker.css.js +0 -8
  1216. package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
  1217. package/dist/generated/themes/Timeline.css.js +0 -8
  1218. package/dist/generated/themes/TimelineItem.css.js +0 -8
  1219. package/dist/popup-utils/PopupUtils.js +0 -55
  1220. package/dist/types/AvatarFitType.js +0 -40
  1221. 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,12 +32,18 @@ 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
@@ -44,9 +55,9 @@ const metadata = {
44
55
  slots: /** @lends sap.ui.webcomponents.main.Input.prototype */ {
45
56
 
46
57
  /**
47
- * Defines the icon to be displayed in the <code>ui5-input</code>.
58
+ * Defines the icon to be displayed in the component.
48
59
  *
49
- * @type {HTMLElement[]}
60
+ * @type {sap.ui.webcomponents.main.IIcon[]}
50
61
  * @slot
51
62
  * @public
52
63
  */
@@ -55,7 +66,7 @@ const metadata = {
55
66
  },
56
67
 
57
68
  /**
58
- * Defines the <code>ui5-input</code> suggestion items.
69
+ * Defines the suggestion items.
59
70
  * <br><br>
60
71
  * Example:
61
72
  * <br><br>
@@ -65,22 +76,27 @@ const metadata = {
65
76
  * &lt;/ui5-input>
66
77
  * <br>
67
78
  * <ui5-input show-suggestions>
79
+ * <ui5-suggestion-group-item text="Group #1"></ui5-suggestion-group-item>
68
80
  * <ui5-suggestion-item text="Item #1"></ui5-suggestion-item>
69
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>
70
85
  * </ui5-input>
71
86
  * <br><br>
72
- * <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>
73
88
  * property is set to <code>true</code>.
74
89
  * <br><br>
75
- * <b>Note:</b> The &lt;ui5-suggestion-item> is recommended to be used as a suggestion item.
76
- * Importing the Input Suggestions Support feature:
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:
77
93
  * <br>
78
94
  * <code>import "@ui5/webcomponents/dist/features/InputSuggestions.js";</code>
79
95
  * <br>
80
- * 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.
81
97
  *
82
- * @type {HTMLElement[]}
83
- * @slot
98
+ * @type {sap.ui.webcomponents.main.IInputSuggestionItem[]}
99
+ * @slot suggestionItems
84
100
  * @public
85
101
  */
86
102
  "default": {
@@ -99,15 +115,15 @@ const metadata = {
99
115
  },
100
116
 
101
117
  /**
102
- * 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.
103
119
  * <br><br>
104
120
  *
105
121
  * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.
106
- * <br>
122
+ * <br><br>
107
123
  * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,
108
- * when the <code>ui5-input</code> is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
109
- * <br>
110
- * <b>Note:</b> If the <code>ui5-input</code> has <code>suggestionItems</code>,
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>,
111
127
  * the <code>valueStateMessage</code> would be displayed as part of the same popover, if used on desktop, or dialog - on phone.
112
128
  * @type {HTMLElement[]}
113
129
  * @since 1.0.0-rc.6
@@ -121,9 +137,9 @@ const metadata = {
121
137
  properties: /** @lends sap.ui.webcomponents.main.Input.prototype */ {
122
138
 
123
139
  /**
124
- * Defines whether the <code>ui5-input</code> is in disabled state.
140
+ * Defines whether the component is in disabled state.
125
141
  * <br><br>
126
- * <b>Note:</b> A disabled <code>ui5-input</code> is completely noninteractive.
142
+ * <b>Note:</b> A disabled component is completely noninteractive.
127
143
  *
128
144
  * @type {boolean}
129
145
  * @defaultvalue false
@@ -133,9 +149,24 @@ const metadata = {
133
149
  type: Boolean,
134
150
  },
135
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
+
136
167
  /**
137
168
  * Defines a short hint intended to aid the user with data entry when the
138
- * <code>ui5-input</code> has no value.
169
+ * component has no value.
139
170
  * @type {string}
140
171
  * @defaultvalue ""
141
172
  * @public
@@ -145,9 +176,9 @@ const metadata = {
145
176
  },
146
177
 
147
178
  /**
148
- * Defines whether the <code>ui5-input</code> is read-only.
179
+ * Defines whether the component is read-only.
149
180
  * <br><br>
150
- * <b>Note:</b> A read-only <code>ui5-input</code> is not editable,
181
+ * <b>Note:</b> A read-only component is not editable,
151
182
  * but still provides visual feedback upon user interaction.
152
183
  *
153
184
  * @type {boolean}
@@ -159,7 +190,7 @@ const metadata = {
159
190
  },
160
191
 
161
192
  /**
162
- * Defines whether the <code>ui5-input</code> is required.
193
+ * Defines whether the component is required.
163
194
  *
164
195
  * @type {boolean}
165
196
  * @defaultvalue false
@@ -171,7 +202,7 @@ const metadata = {
171
202
  },
172
203
 
173
204
  /**
174
- * Defines the HTML type of the <code>ui5-input</code>.
205
+ * Defines the HTML type of the component.
175
206
  * Available options are: <code>Text</code>, <code>Email</code>,
176
207
  * <code>Number</code>, <code>Password</code>, <code>Tel</code>, and <code>URL</code>.
177
208
  * <br><br>
@@ -193,7 +224,7 @@ const metadata = {
193
224
  },
194
225
 
195
226
  /**
196
- * Defines the value of the <code>ui5-input</code>.
227
+ * Defines the value of the component.
197
228
  * <br><br>
198
229
  * <b>Note:</b> The property is updated upon typing.
199
230
  *
@@ -206,7 +237,7 @@ const metadata = {
206
237
  },
207
238
 
208
239
  /**
209
- * Defines the value state of the <code>ui5-input</code>.
240
+ * Defines the value state of the component.
210
241
  * <br><br>
211
242
  * Available options are:
212
243
  * <ul>
@@ -227,7 +258,7 @@ const metadata = {
227
258
  },
228
259
 
229
260
  /**
230
- * 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.
231
262
  *
232
263
  * <br><br>
233
264
  * <b>Important:</b> For the <code>name</code> property to have effect, you must add the following import to your project:
@@ -235,7 +266,7 @@ const metadata = {
235
266
  *
236
267
  * <br><br>
237
268
  * <b>Note:</b> When set, a native <code>input</code> HTML element
238
- * will be created inside the <code>ui5-input</code> so that it can be submitted as
269
+ * will be created inside the component so that it can be submitted as
239
270
  * part of an HTML form. Do not use this property unless you need to submit a form.
240
271
  *
241
272
  * @type {string}
@@ -247,10 +278,10 @@ const metadata = {
247
278
  },
248
279
 
249
280
  /**
250
- * 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.
251
282
  * <br><br>
252
- * <b>Note:</b>
253
- * Don`t forget to import the <code>InputSuggestions</code> module from <code>"@ui5/webcomponents/dist/features/InputSuggestions.js"</code> to enable this functionality.
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.
254
285
  * @type {boolean}
255
286
  * @defaultvalue false
256
287
  * @public
@@ -270,6 +301,30 @@ const metadata = {
270
301
  type: Integer,
271
302
  },
272
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
+
273
328
  /**
274
329
  * @private
275
330
  */
@@ -277,6 +332,18 @@ const metadata = {
277
332
  type: Boolean,
278
333
  },
279
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
+
280
347
  _input: {
281
348
  type: Object,
282
349
  },
@@ -285,7 +352,7 @@ const metadata = {
285
352
  type: Object,
286
353
  },
287
354
 
288
- _wrapperAccInfo: {
355
+ _nativeInputAttributes: {
289
356
  type: Object,
290
357
  },
291
358
 
@@ -317,7 +384,7 @@ const metadata = {
317
384
  change: {},
318
385
 
319
386
  /**
320
- * 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,
321
388
  * and when a suggestion item has been selected.
322
389
  *
323
390
  * @event
@@ -326,27 +393,48 @@ const metadata = {
326
393
  input: {},
327
394
 
328
395
  /**
329
- * Fired when user presses Enter key on the <code>ui5-input</code>.
330
- * <br><br>
331
- * <b>Note:</b> The event is fired independent of whether there was a change before or not.
332
- * If change was performed, the event is fired after the change event.
333
- * 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.
334
397
  *
335
- * @event
398
+ * @event sap.ui.webcomponents.main.Input#suggestion-item-select
399
+ * @param {HTMLElement} item The selected item.
336
400
  * @public
337
401
  */
338
- submit: {},
402
+ "suggestion-item-select": {
403
+ detail: {
404
+ item: { type: HTMLElement },
405
+ },
406
+ },
339
407
 
340
408
  /**
341
- * 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.
342
411
  *
343
- * @event sap.ui.webcomponents.main.Input#suggestion-item-select
344
- * @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.
345
415
  * @public
416
+ * @since 1.0.0-rc.8
346
417
  */
347
- "suggestion-item-select": {
418
+ "suggestion-item-preview": {
348
419
  detail: {
349
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 },
350
438
  },
351
439
  },
352
440
  },
@@ -362,7 +450,7 @@ const metadata = {
362
450
  * that are displayed in a popover right under the input.
363
451
  * <br><br>
364
452
  * The text field can be editable or read-only (<code>readonly</code> property),
365
- * and it can be enabled or disabled (<code>enabled</code> property).
453
+ * and it can be enabled or disabled (<code>disabled</code> property).
366
454
  * To visualize semantic states, such as "error" or "warning", the <code>valueState</code> property is provided.
367
455
  * When the user makes changes to the text, the change event is fired,
368
456
  * which enables you to react on any text change.
@@ -383,7 +471,8 @@ const metadata = {
383
471
  * @alias sap.ui.webcomponents.main.Input
384
472
  * @extends sap.ui.webcomponents.base.UI5Element
385
473
  * @tagname ui5-input
386
- * @appenddocs SuggestionItem
474
+ * @appenddocs SuggestionItem SuggestionGroupItem
475
+ * @implements sap.ui.webcomponents.main.IInput
387
476
  * @public
388
477
  */
389
478
  class Input extends UI5Element {
@@ -408,7 +497,7 @@ class Input extends UI5Element {
408
497
  }
409
498
 
410
499
  static get staticAreaStyles() {
411
- return [ResponsivePopoverCommonCss, ValueStateMessageCss];
500
+ return [ResponsivePopoverCommonCss, ValueStateMessageCss, SuggestionsCss];
412
501
  }
413
502
 
414
503
  constructor() {
@@ -416,19 +505,39 @@ class Input extends UI5Element {
416
505
  // Indicates if there is selected suggestionItem.
417
506
  this.hasSuggestionItemSelected = false;
418
507
 
419
- // Represents the value before user moves selection between the suggestion items.
420
- // Used to register and fire "input" event upon [SPACE] or [ENTER].
421
- // 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.
422
512
  this.valueBeforeItemSelection = "";
423
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
+
424
525
  // tracks the value between focus in and focus out to detect that change event should be fired.
425
526
  this.previousValue = undefined;
426
527
 
427
528
  // Indicates, if the component is rendering for first time.
428
529
  this.firstRendering = true;
429
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
+
430
540
  // all sementic events
431
- this.EVENT_SUBMIT = "submit";
432
541
  this.EVENT_CHANGE = "change";
433
542
  this.EVENT_INPUT = "input";
434
543
  this.EVENT_SUGGESTION_ITEM_SELECT = "suggestion-item-select";
@@ -440,8 +549,6 @@ class Input extends UI5Element {
440
549
  // Suggestions array initialization
441
550
  this.suggestionsTexts = [];
442
551
 
443
- this.i18nBundle = getI18nBundle("@ui5/webcomponents");
444
-
445
552
  this._handleResizeBound = this._handleResize.bind(this);
446
553
  }
447
554
 
@@ -456,10 +563,13 @@ class Input extends UI5Element {
456
563
  onBeforeRendering() {
457
564
  if (this.showSuggestions) {
458
565
  this.enableSuggestions();
459
- this.suggestionsTexts = this.Suggestions.defaultSlotProperties();
566
+ this.suggestionsTexts = this.Suggestions.defaultSlotProperties(this.highlightValue);
460
567
  }
461
568
 
569
+ this.open = this.open && (!!this.suggestionItems.length || this._isPhone);
570
+
462
571
  const FormSupport = getFeature("FormSupport");
572
+
463
573
  if (FormSupport) {
464
574
  FormSupport.syncNativeHiddenInput(this);
465
575
  } else if (this.name) {
@@ -467,28 +577,20 @@ class Input extends UI5Element {
467
577
  }
468
578
  }
469
579
 
470
- onAfterRendering() {
471
- if (!this.firstRendering && !isPhone() && this.Suggestions) {
472
- const shouldOpenSuggestions = this.shouldOpenSuggestions();
473
-
474
- this.updateStaticAreaItemContentDensity();
475
- this.Suggestions.toggle(shouldOpenSuggestions);
476
-
477
- RenderScheduler.whenFinished().then(async () => {
478
- this._listWidth = await this.Suggestions._getListWidth();
580
+ async onAfterRendering() {
581
+ if (this.Suggestions) {
582
+ this.Suggestions.toggle(this.open, {
583
+ preventFocusRestore: true,
479
584
  });
480
585
 
481
- if (!isPhone() && shouldOpenSuggestions) {
482
- // Set initial focus to the native input
483
- this.inputDomRef && this.inputDomRef.focus();
484
- }
586
+ this._listWidth = await this.Suggestions._getListWidth();
485
587
  }
486
588
 
487
- if (!this.firstRendering && this.hasValueStateMessage) {
488
- this.toggle(this.shouldDisplayOnlyValueStateMessage);
589
+ if (this.shouldDisplayOnlyValueStateMessage) {
590
+ this.openPopover();
591
+ } else {
592
+ this.closePopover();
489
593
  }
490
-
491
- this.firstRendering = false;
492
594
  }
493
595
 
494
596
  _onkeydown(event) {
@@ -504,15 +606,33 @@ class Input extends UI5Element {
504
606
  return this._handleSpace(event);
505
607
  }
506
608
 
609
+ if (isTabNext(event)) {
610
+ return this._handleTab(event);
611
+ }
612
+
507
613
  if (isEnter(event)) {
508
614
  return this._handleEnter(event);
509
615
  }
510
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
+
511
630
  this._keyDown = true;
512
631
  }
513
632
 
514
633
  _onkeyup(event) {
515
634
  this._keyDown = false;
635
+ this._backspaceKeyDown = false;
516
636
  }
517
637
 
518
638
  /* Event handling */
@@ -534,19 +654,59 @@ class Input extends UI5Element {
534
654
  }
535
655
  }
536
656
 
657
+ _handleTab(event) {
658
+ if (this.Suggestions && (this.previousValue !== this.value)) {
659
+ this.Suggestions.onTab(event);
660
+ }
661
+ }
662
+
537
663
  _handleEnter(event) {
538
664
  const itemPressed = !!(this.Suggestions && this.Suggestions.onEnter(event));
665
+
539
666
  if (!itemPressed) {
540
667
  this.fireEventByAction(this.ACTION_ENTER);
668
+ this.lastConfirmedValue = this.value;
669
+ return;
670
+ }
671
+
672
+ this.focused = true;
673
+ }
674
+
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;
541
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;
542
700
  }
543
701
 
544
702
  async _onfocusin(event) {
703
+ await this.getInputDOMRef();
704
+
545
705
  this.focused = true; // invalidating property
546
706
  this.previousValue = this.value;
707
+ this.valueBeforeItemPreview = this.value;
547
708
 
548
- await this.getInputDOMRef();
549
- this._inputIconFocused = event.target && event.target === this.querySelector("ui5-icon");
709
+ this._inputIconFocused = event.target && event.target === this.querySelector("[ui5-icon]");
550
710
  }
551
711
 
552
712
  _onfocusout(event) {
@@ -555,7 +715,8 @@ class Input extends UI5Element {
555
715
 
556
716
  // if focusout is triggered by pressing on suggestion item or value state message popover, skip invalidation, because re-rendering
557
717
  // will happen before "itemPress" event, which will make item "active" state not visualized
558
- if (focusedOutToSuggestions || focusedOutToValueStateMessage) {
718
+ if (focusedOutToSuggestions || focusedOutToValueStateMessage) {
719
+ event.stopImmediatePropagation();
559
720
  return;
560
721
  }
561
722
 
@@ -565,29 +726,94 @@ class Input extends UI5Element {
565
726
  return;
566
727
  }
567
728
 
568
- if (this.popover) {
569
- this.popover.close(false, false, true);
570
- }
729
+ this.closePopover();
730
+ this._clearPopoverFocusAndSelection();
571
731
 
572
732
  this.previousValue = "";
733
+ this.lastConfirmedValue = "";
573
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();
574
748
  }
575
749
 
576
750
  _click(event) {
577
751
  if (isPhone() && !this.readonly && this.Suggestions) {
578
- this.updateStaticAreaItemContentDensity();
579
- this.Suggestions.open(this);
580
- this.isRespPopoverOpen = true;
752
+ this.blur();
753
+ this.open = true;
581
754
  }
582
755
  }
583
756
 
584
757
  _handleChange(event) {
585
- 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
+ });
586
772
  }
587
773
 
588
774
  async _handleInput(event) {
589
- await this.getInputDOMRef();
590
- if (event.target === this.inputDomRef) {
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
+
591
817
  // stop the native event, as the semantic "input" would be fired.
592
818
  event.stopImmediatePropagation();
593
819
  }
@@ -596,14 +822,19 @@ class Input extends UI5Element {
596
822
  - value of the host and the internal input should be differnt in case of actual input
597
823
  - input is called when a key is pressed => keyup should not be called yet
598
824
  */
599
- const skipFiring = (this.inputDomRef.value === this.value) && isIE() && !this._keyDown && !!this.placeholder;
825
+ const skipFiring = (inputDomRef.value === this.value) && isIE() && !this._keyDown && !!this.placeholder;
600
826
 
601
827
  !skipFiring && this.fireEventByAction(this.ACTION_USER_INPUT);
602
828
 
603
829
  this.hasSuggestionItemSelected = false;
830
+ this._isValueStateFocused = false;
604
831
 
605
832
  if (this.Suggestions) {
606
833
  this.Suggestions.updateSelectedItemPosition(null);
834
+
835
+ if (!this._isPhone) {
836
+ this.open = !!inputDomRef.value;
837
+ }
607
838
  }
608
839
  }
609
840
 
@@ -611,60 +842,53 @@ class Input extends UI5Element {
611
842
  this._inputWidth = this.offsetWidth;
612
843
  }
613
844
 
614
- _closeRespPopover() {
615
- this.Suggestions.close();
845
+ _closeRespPopover(preventFocusRestore) {
846
+ this.Suggestions.close(preventFocusRestore);
616
847
  }
617
848
 
618
849
  async _afterOpenPopover() {
619
850
  // Set initial focus to the native input
620
851
  if (isPhone()) {
621
- await this.getInputDOMRef();
622
- this.inputDomRef.focus();
852
+ (await this.getInputDOMRef()).focus();
623
853
  }
624
854
  }
625
855
 
626
856
  _afterClosePopover() {
627
- this._announceSelectedItem();
857
+ this.announceSelectedItem();
628
858
 
629
859
  // close device's keyboard and prevent further typing
630
860
  if (isPhone()) {
631
861
  this.blur();
632
- }
633
- }
634
-
635
- toggle(isToggled) {
636
- if (isToggled && !this.isRespPopoverOpen) {
637
- this.openPopover();
638
- } else {
639
- this.closePopover();
862
+ this.focused = false;
640
863
  }
641
864
  }
642
865
 
643
866
  /**
644
- * Checks if the popover is open.
645
- * @returns {Boolean} true if the popover is open, false otherwise
646
- * @public
867
+ * Checks if the value state popover is open.
868
+ * @returns {boolean} true if the value state popover is open, false otherwise
647
869
  */
648
- isOpen() {
870
+ isValueStateOpened() {
649
871
  return !!this._isPopoverOpen;
650
872
  }
651
873
 
652
874
  async openPopover() {
653
- this._isPopoverOpen = true;
654
- this.popover = await this._getPopover();
655
- this.popover.openBy(this);
656
- }
875
+ const popover = await this._getPopover();
657
876
 
658
- closePopover() {
659
- if (this.isOpen()) {
660
- this._isPopoverOpen = false;
661
- this.popover.close();
877
+ if (popover) {
878
+ this._isPopoverOpen = true;
879
+ popover.showAt(this);
662
880
  }
663
881
  }
664
882
 
883
+ async closePopover() {
884
+ const popover = await this._getPopover();
885
+
886
+ popover && popover.close();
887
+ }
888
+
665
889
  async _getPopover() {
666
890
  const staticAreaItem = await this.getStaticAreaItemDomRef();
667
- return staticAreaItem.querySelector("ui5-popover");
891
+ return staticAreaItem && staticAreaItem.querySelector("[ui5-popover]");
668
892
  }
669
893
 
670
894
  enableSuggestions() {
@@ -673,20 +897,14 @@ class Input extends UI5Element {
673
897
  }
674
898
 
675
899
  const Suggestions = getFeature("InputSuggestions");
900
+
676
901
  if (Suggestions) {
677
- this.Suggestions = new Suggestions(this, "suggestionItems");
902
+ this.Suggestions = new Suggestions(this, "suggestionItems", true);
678
903
  } else {
679
904
  throw new Error(`You have to import "@ui5/webcomponents/dist/features/InputSuggestions.js" module to use ui5-input suggestions`);
680
905
  }
681
906
  }
682
907
 
683
- shouldOpenSuggestions() {
684
- return !!(this.suggestionItems.length
685
- && this.focused
686
- && this.showSuggestions
687
- && !this.hasSuggestionItemSelected);
688
- }
689
-
690
908
  selectSuggestion(item, keyboardUsed) {
691
909
  if (item.group) {
692
910
  return;
@@ -697,20 +915,53 @@ class Input extends UI5Element {
697
915
  ? this.valueBeforeItemSelection !== itemText : this.value !== itemText;
698
916
 
699
917
  this.hasSuggestionItemSelected = true;
700
- this.fireEvent(this.EVENT_SUGGESTION_ITEM_SELECT, { item });
701
918
 
702
919
  if (fireInput) {
703
920
  this.value = itemText;
704
921
  this.valueBeforeItemSelection = itemText;
922
+ this.lastConfirmedValue = itemText;
705
923
  this.fireEvent(this.EVENT_INPUT);
706
924
  this.fireEvent(this.EVENT_CHANGE);
925
+
926
+ // Mark the change event to avoid double firing
927
+ this._changeFired = true;
707
928
  }
929
+
930
+ this.valueBeforeItemPreview = "";
931
+ this.suggestionSelectionCanceled = false;
932
+
933
+ this.fireEvent(this.EVENT_SUGGESTION_ITEM_SELECT, { item });
708
934
  }
709
935
 
710
936
  previewSuggestion(item) {
711
937
  this.valueBeforeItemSelection = this.value;
712
- this.value = item.group ? "" : item.textContent;
713
- this._announceSelectedItem();
938
+ this.updateValueOnPreview(item);
939
+ this.announceSelectedItem();
940
+ this._previewItem = item;
941
+ }
942
+
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);
714
965
  }
715
966
 
716
967
  async fireEventByAction(action) {
@@ -720,11 +971,23 @@ class Input extends UI5Element {
720
971
  return;
721
972
  }
722
973
 
723
- const inputValue = this.getInputValue();
724
- const isSubmit = action === this.ACTION_ENTER;
974
+ const inputValue = await this.getInputValue();
725
975
  const isUserInput = action === this.ACTION_USER_INPUT;
726
976
 
977
+ const input = await this.getInputDOMRef();
978
+ const cursorPosition = input.selectionStart;
979
+
727
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
+ }
728
991
 
729
992
  if (isUserInput) { // input
730
993
  this.fireEvent(this.EVENT_INPUT);
@@ -733,45 +996,66 @@ class Input extends UI5Element {
733
996
  return;
734
997
  }
735
998
 
736
- if (isSubmit) { // submit
737
- this.fireEvent(this.EVENT_SUBMIT);
738
- }
739
-
740
999
  // In IE, pressing the ENTER does not fire change
741
1000
  const valueChanged = (this.previousValue !== undefined) && (this.previousValue !== this.value);
742
- if (isIE() && isSubmit && valueChanged) {
1001
+ if (isIE() && action === this.ACTION_ENTER && valueChanged) {
743
1002
  this.fireEvent(this.EVENT_CHANGE);
744
1003
  }
745
1004
  }
746
1005
 
747
- getInputValue() {
748
- const inputDOM = this.getDomRef();
749
- if (inputDOM) {
750
- return this.inputDomRef.value;
1006
+ async getInputValue() {
1007
+ const domRef = this.getDomRef();
1008
+
1009
+ if (domRef) {
1010
+ return (await this.getInputDOMRef()).value;
751
1011
  }
752
1012
  return "";
753
1013
  }
754
1014
 
755
1015
  async getInputDOMRef() {
756
- let inputDomRef;
757
-
758
1016
  if (isPhone() && this.Suggestions) {
759
- await this.Suggestions._respPopover();
760
- inputDomRef = this.Suggestions && this.Suggestions.responsivePopover.querySelector(".ui5-input-inner-phone");
1017
+ await this.Suggestions._getSuggestionPopover();
1018
+ return this.Suggestions && this.Suggestions.responsivePopover.querySelector(".ui5-input-inner-phone");
761
1019
  }
762
1020
 
763
- if (!inputDomRef) {
764
- inputDomRef = this.getDomRef().querySelector(`#${this.getInputId()}`);
765
- }
1021
+ return this.nativeInput;
1022
+ }
766
1023
 
767
- this.inputDomRef = inputDomRef;
768
- return this.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;
769
1034
  }
770
1035
 
771
1036
  getLabelableElementId() {
772
1037
  return this.getInputId();
773
1038
  }
774
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
+
775
1059
  getInputId() {
776
1060
  return `${this._id}-inner`;
777
1061
  }
@@ -779,12 +1063,38 @@ class Input extends UI5Element {
779
1063
  /* Suggestions interface */
780
1064
  onItemFocused() {}
781
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
+
1084
+ onItemMouseDown(event) {
1085
+ event.preventDefault();
1086
+ }
1087
+
782
1088
  onItemSelected(item, keyboardUsed) {
783
1089
  this.selectSuggestion(item, keyboardUsed);
784
1090
  }
785
1091
 
786
1092
  onItemPreviewed(item) {
787
1093
  this.previewSuggestion(item);
1094
+ this.fireEvent("suggestion-item-preview", {
1095
+ item: this.getSuggestionByListItem(item),
1096
+ targetRef: item,
1097
+ });
788
1098
  }
789
1099
 
790
1100
  onOpen() {}
@@ -792,17 +1102,15 @@ class Input extends UI5Element {
792
1102
  onClose() {}
793
1103
 
794
1104
  valueStateTextMappings() {
795
- const i18nBundle = this.i18nBundle;
796
-
797
1105
  return {
798
- "Success": i18nBundle.getText(VALUE_STATE_SUCCESS),
799
- "Information": i18nBundle.getText(VALUE_STATE_INFORMATION),
800
- "Error": i18nBundle.getText(VALUE_STATE_ERROR),
801
- "Warning": i18nBundle.getText(VALUE_STATE_WARNING),
1106
+ "Success": Input.i18nBundle.getText(VALUE_STATE_SUCCESS),
1107
+ "Information": Input.i18nBundle.getText(VALUE_STATE_INFORMATION),
1108
+ "Error": Input.i18nBundle.getText(VALUE_STATE_ERROR),
1109
+ "Warning": Input.i18nBundle.getText(VALUE_STATE_WARNING),
802
1110
  };
803
1111
  }
804
1112
 
805
- _announceSelectedItem() {
1113
+ announceSelectedItem() {
806
1114
  const invisibleText = this.shadowRoot.querySelector(`#${this._id}-selectionText`);
807
1115
 
808
1116
  if (this.Suggestions && this.Suggestions._isItemOnTarget()) {
@@ -817,13 +1125,17 @@ class Input extends UI5Element {
817
1125
  }
818
1126
 
819
1127
  get _headerTitleText() {
820
- return this.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
1128
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
821
1129
  }
822
1130
 
823
1131
  get inputType() {
824
1132
  return this.type.toLowerCase();
825
1133
  }
826
1134
 
1135
+ get isTypeNumber() {
1136
+ return this.type === InputType.Number;
1137
+ }
1138
+
827
1139
  get suggestionsTextId() {
828
1140
  return this.showSuggestions ? `${this._id}-suggestionsText` : "";
829
1141
  }
@@ -835,30 +1147,57 @@ class Input extends UI5Element {
835
1147
  get accInfo() {
836
1148
  const ariaHasPopupDefault = this.showSuggestions ? "true" : undefined;
837
1149
  const ariaAutoCompleteDefault = this.showSuggestions ? "list" : undefined;
1150
+ const ariaDescribedBy = this._inputAccInfo.ariaDescribedBy ? `${this.suggestionsTextId} ${this.valueStateTextId} ${this._inputAccInfo.ariaDescribedBy}`.trim() : `${this.suggestionsTextId} ${this.valueStateTextId}`.trim();
1151
+
838
1152
  return {
839
- "wrapper": {
840
- },
841
1153
  "input": {
842
- "ariaDescribedBy": this._inputAccInfo.ariaDescribedBy ? `${this.suggestionsTextId} ${this.valueStateTextId} ${this._inputAccInfo.ariaDescribedBy}`.trim() : `${this.suggestionsTextId} ${this.valueStateTextId}`.trim(),
1154
+ "ariaRoledescription": this._inputAccInfo && (this._inputAccInfo.ariaRoledescription || undefined),
1155
+ "ariaDescribedBy": ariaDescribedBy || undefined,
843
1156
  "ariaInvalid": this.valueState === ValueState.Error ? "true" : undefined,
844
1157
  "ariaHasPopup": this._inputAccInfo.ariaHasPopup ? this._inputAccInfo.ariaHasPopup : ariaHasPopupDefault,
845
1158
  "ariaAutoComplete": this._inputAccInfo.ariaAutoComplete ? this._inputAccInfo.ariaAutoComplete : ariaAutoCompleteDefault,
846
1159
  "role": this._inputAccInfo && this._inputAccInfo.role,
847
- "ariaOwns": this._inputAccInfo && this._inputAccInfo.ariaOwns,
1160
+ "ariaControls": this._inputAccInfo && this._inputAccInfo.ariaControls,
848
1161
  "ariaExpanded": this._inputAccInfo && this._inputAccInfo.ariaExpanded,
849
1162
  "ariaDescription": this._inputAccInfo && this._inputAccInfo.ariaDescription,
1163
+ "ariaLabel": (this._inputAccInfo && this._inputAccInfo.ariaLabel) || getEffectiveAriaLabelText(this),
850
1164
  },
851
1165
  };
852
1166
  }
853
1167
 
1168
+ get nativeInputAttributes() {
1169
+ return {
1170
+ "min": this.isTypeNumber ? this._nativeInputAttributes.min : undefined,
1171
+ "max": this.isTypeNumber ? this._nativeInputAttributes.max : undefined,
1172
+ "step": this.isTypeNumber ? (this._nativeInputAttributes.step || "any") : undefined,
1173
+ };
1174
+ }
1175
+
1176
+ get ariaValueStateHiddenText() {
1177
+ if (!this.hasValueStateMessage) {
1178
+ return;
1179
+ }
1180
+
1181
+ if (this.shouldDisplayDefaultValueStateMessage) {
1182
+ return this.valueStateText;
1183
+ }
1184
+
1185
+ return this.valueStateMessageText.map(el => el.textContent).join(" ");
1186
+ }
1187
+
854
1188
  get itemSelectionAnnounce() {
855
1189
  return this.Suggestions ? this.Suggestions.itemSelectionAnnounce : undefined;
856
1190
  }
857
1191
 
858
1192
  get classes() {
859
1193
  return {
1194
+ popover: {
1195
+ "ui5-suggestions-popover": !this.isPhone && this.showSuggestions,
1196
+ "ui5-suggestions-popover-with-value-state-header": !this.isPhone && this.showSuggestions && this.hasValueStateMessage,
1197
+ },
860
1198
  popoverValueState: {
861
1199
  "ui5-valuestatemessage-root": true,
1200
+ "ui5-valuestatemessage-header": true,
862
1201
  "ui5-valuestatemessage--success": this.valueState === ValueState.Success,
863
1202
  "ui5-valuestatemessage--error": this.valueState === ValueState.Error,
864
1203
  "ui5-valuestatemessage--warning": this.valueState === ValueState.Warning,
@@ -868,16 +1207,32 @@ class Input extends UI5Element {
868
1207
  }
869
1208
 
870
1209
  get styles() {
871
- return {
1210
+ const remSizeIxPx = parseInt(getComputedStyle(document.documentElement).fontSize);
1211
+
1212
+ const stylesObject = {
872
1213
  popoverHeader: {
873
- "width": `${this._inputWidth}px`,
1214
+ "max-width": `${this._inputWidth}px`,
874
1215
  },
875
1216
  suggestionPopoverHeader: {
876
1217
  "display": this._listWidth === 0 ? "none" : "inline-block",
877
1218
  "width": `${this._listWidth}px`,
878
- "padding": "0.5625rem 1rem",
879
1219
  },
1220
+ suggestionsPopover: {
1221
+ "min-width": `${this._inputWidth}px`,
1222
+ "max-width": (this._inputWidth / remSizeIxPx) > 40 ? `${this._inputWidth}px` : "40rem",
1223
+ },
1224
+ innerInput: {},
880
1225
  };
1226
+
1227
+ if (this.nativeInputWidth < 48) {
1228
+ stylesObject.innerInput.padding = "0";
1229
+ }
1230
+
1231
+ return stylesObject;
1232
+ }
1233
+
1234
+ get suggestionSeparators() {
1235
+ return "None";
881
1236
  }
882
1237
 
883
1238
  get valueStateMessageText() {
@@ -885,7 +1240,7 @@ class Input extends UI5Element {
885
1240
  }
886
1241
 
887
1242
  get shouldDisplayOnlyValueStateMessage() {
888
- return this.hasValueStateMessage && !this.shouldOpenSuggestions() && this.focused;
1243
+ return this.hasValueStateMessage && !this.readonly && !this.open && this.focused;
889
1244
  }
890
1245
 
891
1246
  get shouldDisplayDefaultValueStateMessage() {
@@ -907,21 +1262,124 @@ class Input extends UI5Element {
907
1262
  }
908
1263
 
909
1264
  get suggestionsText() {
910
- return this.i18nBundle.getText(INPUT_SUGGESTIONS);
1265
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS);
1266
+ }
1267
+
1268
+ get availableSuggestionsCount() {
1269
+ if (this.showSuggestions && (this.value || this.Suggestions.isOpened())) {
1270
+ switch (this.suggestionsTexts.length) {
1271
+ case 0:
1272
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS_NO_HIT);
1273
+
1274
+ case 1:
1275
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS_ONE_HIT);
1276
+
1277
+ default:
1278
+ return Input.i18nBundle.getText(INPUT_SUGGESTIONS_MORE_HITS, this.suggestionsTexts.length);
1279
+ }
1280
+ }
1281
+
1282
+ return undefined;
911
1283
  }
912
1284
 
913
1285
  get step() {
914
- return this.type === InputType.Number ? "any" : undefined;
1286
+ return this.isTypeNumber ? "any" : undefined;
915
1287
  }
916
1288
 
917
1289
  get _isPhone() {
918
1290
  return isPhone();
919
1291
  }
920
1292
 
1293
+ /**
1294
+ * Returns the placeholder value.
1295
+ * @protected
1296
+ */
1297
+ get _placeholder() {
1298
+ return this.placeholder;
1299
+ }
1300
+
1301
+ /**
1302
+ * This method is relevant for sap_horizon theme only
1303
+ */
1304
+ get _valueStateInputIcon() {
1305
+ const iconPerValueState = {
1306
+ Error: ` d="M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM9.70711 15.7071C9.31658 16.0976 8.68342 16.0976 8.29289 15.7071C7.90237 15.3166 7.90237 14.6834 8.29289 14.2929L10.5858 12L8.29289 9.70711C7.90237 9.31658 7.90237 8.68342 8.29289 8.29289C8.68342 7.90237 9.31658 7.90237 9.70711 8.29289L12 10.5858L14.2929 8.29289C14.6834 7.90237 15.3166 7.90237 15.7071 8.29289C16.0976 8.68342 16.0976 9.31658 15.7071 9.70711L13.4142 12L15.7071 14.2929C16.0976 14.6834 16.0976 15.3166 15.7071 15.7071C15.3166 16.0976 14.6834 16.0976 14.2929 15.7071L12 13.4142L9.70711 15.7071Z" fill="#EE3939"`,
1307
+ Warning: ` d="M12.8619 2.49298C12.6823 2.18754 12.3544 2 12 2C11.6456 2 11.3177 2.18754 11.1381 2.49298L1.13807 19.493C0.956189 19.8022 0.953855 20.1851 1.13195 20.4965C1.31005 20.8079 1.64128 21 2 21H22C22.3587 21 22.69 20.8079 22.868 20.4965C23.0461 20.1851 23.0438 19.8022 22.8619 19.493L12.8619 2.49298ZM12 8C12.5523 8 13 8.44772 13 9V12C13 12.5523 12.5523 13 12 13C11.4477 13 11 12.5523 11 12V9C11 8.44772 11.4477 8 12 8ZM12 18C12.8284 18 13.5 17.3284 13.5 16.5C13.5 15.6716 12.8284 15 12 15C11.1716 15 10.5 15.6716 10.5 16.5C10.5 17.3284 11.1716 18 12 18Z" fill="#F58B00"`,
1308
+ Success: ` d="M2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12ZM16.7071 8.29289C16.3166 7.90237 15.6834 7.90237 15.2929 8.29289L10 13.5858L8.70711 12.2929C8.31658 11.9024 7.68342 11.9024 7.29289 12.2929C6.90237 12.6834 6.90237 13.3166 7.29289 13.7071L9.29289 15.7071C9.68342 16.0976 10.3166 16.0976 10.7071 15.7071L16.7071 9.70711C17.0976 9.31658 17.0976 8.68342 16.7071 8.29289Z" fill="#36A41D"`,
1309
+ Information: ` d="M6 3C4.34315 3 3 4.34315 3 6V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V6C21 4.34315 19.6569 3 18 3H6ZM12 9.5C12.8284 9.5 13.5 8.82843 13.5 8C13.5 7.17157 12.8284 6.5 12 6.5C11.1716 6.5 10.5 7.17157 10.5 8C10.5 8.82843 11.1716 9.5 12 9.5ZM12 11.5C12.5523 11.5 13 11.9477 13 12.5V16.5C13 17.0523 12.5523 17.5 12 17.5C11.4477 17.5 11 17.0523 11 16.5V12.5C11 11.9477 11.4477 11.5 12 11.5Z" fill="#1B90FF"`,
1310
+ };
1311
+
1312
+ const result = `
1313
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
1314
+ <path xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" ${iconPerValueState[this.valueState]}/>;
1315
+ </svg>
1316
+ `;
1317
+
1318
+ return this.valueState !== ValueState.None ? result : "";
1319
+ }
1320
+
1321
+ get _valueStatePopoverHorizontalAlign() {
1322
+ return this.effectiveDir !== "rtl" ? "Left" : "Right";
1323
+ }
1324
+
1325
+ /**
1326
+ * This method is relevant for sap_horizon theme only
1327
+ */
1328
+ get _valueStateMessageInputIcon() {
1329
+ const iconPerValueState = {
1330
+ Error: "error",
1331
+ Warning: "alert",
1332
+ Success: "sys-enter-2",
1333
+ Information: "information",
1334
+ };
1335
+
1336
+ return this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : "";
1337
+ }
1338
+
1339
+ /**
1340
+ * Returns the caret position inside the native input
1341
+ * @protected
1342
+ */
1343
+ getCaretPosition() {
1344
+ return getCaretPosition(this.nativeInput);
1345
+ }
1346
+
1347
+ /**
1348
+ * Sets the caret to a certain position inside the native input
1349
+ * @protected
1350
+ * @param pos
1351
+ */
1352
+ setCaretPosition(pos) {
1353
+ setCaretPosition(this.nativeInput, pos);
1354
+ }
1355
+
1356
+ /**
1357
+ * Removes the fractional part of floating-point number.
1358
+ * @param {String} value the numeric value of Input of type "Number"
1359
+ */
1360
+ removeFractionalPart(value) {
1361
+ if (value.includes(".")) {
1362
+ return value.slice(0, value.indexOf("."));
1363
+ }
1364
+ if (value.includes(",")) {
1365
+ return value.slice(0, value.indexOf(","));
1366
+ }
1367
+
1368
+ return value;
1369
+ }
1370
+
1371
+ static get dependencies() {
1372
+ const Suggestions = getFeature("InputSuggestions");
1373
+
1374
+ return [Popover].concat(Suggestions ? Suggestions.dependencies : []);
1375
+ }
1376
+
921
1377
  static async onDefine() {
922
- await Promise.all([
923
- Popover.define(),
924
- fetchI18nBundle("@ui5/webcomponents"),
1378
+ const Suggestions = getFeature("InputSuggestions");
1379
+
1380
+ [Input.i18nBundle] = await Promise.all([
1381
+ getI18nBundle("@ui5/webcomponents"),
1382
+ Suggestions ? Suggestions.init() : Promise.resolve(),
925
1383
  ]);
926
1384
  }
927
1385
  }