@ui5/webcomponents 2.7.0 → 2.8.0-rc.0

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 (450) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/cypress/specs/Avatar.cy.tsx +18 -0
  3. package/cypress/specs/Card.cy.tsx +287 -8
  4. package/cypress/specs/FormSupport.cy.tsx +17 -77
  5. package/cypress/specs/Input.cy.tsx +409 -0
  6. package/cypress/specs/Link.cy.tsx +16 -0
  7. package/dist/.tsbuildinfo +1 -1
  8. package/dist/Avatar.d.ts +1 -1
  9. package/dist/Avatar.js +2 -1
  10. package/dist/Avatar.js.map +1 -1
  11. package/dist/ButtonBadge.d.ts +11 -5
  12. package/dist/ButtonBadge.js +12 -3
  13. package/dist/ButtonBadge.js.map +1 -1
  14. package/dist/ButtonBadgeTemplate.js +1 -1
  15. package/dist/ButtonBadgeTemplate.js.map +1 -1
  16. package/dist/Input.d.ts +3 -0
  17. package/dist/Input.js +18 -4
  18. package/dist/Input.js.map +1 -1
  19. package/dist/RadioButtonGroup.js +3 -2
  20. package/dist/RadioButtonGroup.js.map +1 -1
  21. package/dist/Select.js +4 -1
  22. package/dist/Select.js.map +1 -1
  23. package/dist/css/themes/Avatar.css +1 -1
  24. package/dist/css/themes/AvatarGroup.css +1 -1
  25. package/dist/css/themes/Bar.css +1 -1
  26. package/dist/css/themes/Breadcrumbs.css +1 -1
  27. package/dist/css/themes/BusyIndicator.css +1 -1
  28. package/dist/css/themes/Button.css +1 -1
  29. package/dist/css/themes/ButtonBadge.css +1 -1
  30. package/dist/css/themes/Calendar.css +1 -1
  31. package/dist/css/themes/CalendarHeader.css +1 -1
  32. package/dist/css/themes/CalendarLegend.css +1 -1
  33. package/dist/css/themes/CalendarLegendItem.css +1 -1
  34. package/dist/css/themes/Card.css +1 -1
  35. package/dist/css/themes/CardHeader.css +1 -1
  36. package/dist/css/themes/Carousel.css +1 -1
  37. package/dist/css/themes/CheckBox.css +1 -1
  38. package/dist/css/themes/ColorPalette.css +1 -1
  39. package/dist/css/themes/ColorPaletteItem.css +1 -1
  40. package/dist/css/themes/ColorPalettePopover.css +1 -1
  41. package/dist/css/themes/ColorPicker.css +1 -1
  42. package/dist/css/themes/ComboBox.css +1 -1
  43. package/dist/css/themes/ComboBoxItem.css +1 -1
  44. package/dist/css/themes/DatePicker.css +1 -1
  45. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  46. package/dist/css/themes/DayPicker.css +1 -1
  47. package/dist/css/themes/Dialog.css +1 -1
  48. package/dist/css/themes/FileUploader.css +1 -1
  49. package/dist/css/themes/Form.css +1 -1
  50. package/dist/css/themes/FormItem.css +1 -1
  51. package/dist/css/themes/FormItemSpan.css +1 -1
  52. package/dist/css/themes/GrowingButton.css +1 -1
  53. package/dist/css/themes/Icon.css +1 -1
  54. package/dist/css/themes/Input.css +1 -1
  55. package/dist/css/themes/InputIcon.css +1 -1
  56. package/dist/css/themes/InputSharedStyles.css +1 -1
  57. package/dist/css/themes/Link.css +1 -1
  58. package/dist/css/themes/List.css +1 -1
  59. package/dist/css/themes/ListItem.css +1 -1
  60. package/dist/css/themes/ListItemBase.css +1 -1
  61. package/dist/css/themes/ListItemCustom.css +1 -1
  62. package/dist/css/themes/ListItemGroup.css +1 -1
  63. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  64. package/dist/css/themes/ListItemIcon.css +1 -1
  65. package/dist/css/themes/Menu.css +1 -1
  66. package/dist/css/themes/MenuItem.css +1 -1
  67. package/dist/css/themes/MessageStrip.css +1 -1
  68. package/dist/css/themes/MonthPicker.css +1 -1
  69. package/dist/css/themes/MultiComboBox.css +1 -1
  70. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  71. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  72. package/dist/css/themes/MultiInput.css +1 -1
  73. package/dist/css/themes/OptionBase.css +1 -1
  74. package/dist/css/themes/Panel.css +1 -1
  75. package/dist/css/themes/Popover.css +1 -1
  76. package/dist/css/themes/PopupsCommon.css +1 -1
  77. package/dist/css/themes/ProgressIndicator.css +1 -1
  78. package/dist/css/themes/RadioButton.css +1 -1
  79. package/dist/css/themes/RangeSlider.css +1 -1
  80. package/dist/css/themes/RatingIndicator.css +1 -1
  81. package/dist/css/themes/ResponsivePopover.css +1 -1
  82. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  83. package/dist/css/themes/SegmentedButton.css +1 -1
  84. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  85. package/dist/css/themes/Select.css +1 -1
  86. package/dist/css/themes/SliderBase.css +1 -1
  87. package/dist/css/themes/SplitButton.css +1 -1
  88. package/dist/css/themes/StepInput.css +1 -1
  89. package/dist/css/themes/SuggestionItem.css +1 -1
  90. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  91. package/dist/css/themes/Switch.css +1 -1
  92. package/dist/css/themes/TabContainer.css +1 -1
  93. package/dist/css/themes/TabInOverflow.css +1 -1
  94. package/dist/css/themes/TabInStrip.css +1 -1
  95. package/dist/css/themes/TabSemanticIcon.css +1 -1
  96. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  97. package/dist/css/themes/Table.css +1 -1
  98. package/dist/css/themes/TableCellBase.css +1 -1
  99. package/dist/css/themes/TableHeaderRow.css +1 -1
  100. package/dist/css/themes/TableRow.css +1 -1
  101. package/dist/css/themes/TableRowActionBase.css +1 -1
  102. package/dist/css/themes/TableRowBase.css +1 -1
  103. package/dist/css/themes/Tag.css +1 -1
  104. package/dist/css/themes/Text.css +1 -1
  105. package/dist/css/themes/TextArea.css +1 -1
  106. package/dist/css/themes/TimePicker.css +1 -1
  107. package/dist/css/themes/Toast.css +1 -1
  108. package/dist/css/themes/ToggleButton.css +1 -1
  109. package/dist/css/themes/Token.css +1 -1
  110. package/dist/css/themes/Tokenizer.css +1 -1
  111. package/dist/css/themes/TokenizerPopover.css +1 -1
  112. package/dist/css/themes/Toolbar.css +1 -1
  113. package/dist/css/themes/ToolbarPopover.css +1 -1
  114. package/dist/css/themes/TreeItem.css +1 -1
  115. package/dist/css/themes/ValueStateMessage.css +1 -1
  116. package/dist/css/themes/YearPicker.css +1 -1
  117. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  118. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  119. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  120. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  121. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  122. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  123. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  124. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  125. package/dist/custom-elements-internal.json +8 -8
  126. package/dist/custom-elements.json +7 -7
  127. package/dist/features/InputSuggestions.d.ts +3 -3
  128. package/dist/features/InputSuggestions.js +8 -5
  129. package/dist/features/InputSuggestions.js.map +1 -1
  130. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  131. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  132. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  133. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  134. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  135. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  136. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  137. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  138. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  139. package/dist/generated/themes/Avatar.css.js +1 -1
  140. package/dist/generated/themes/Avatar.css.js.map +1 -1
  141. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  142. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  143. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  144. package/dist/generated/themes/Bar.css.d.ts +1 -1
  145. package/dist/generated/themes/Bar.css.js +1 -1
  146. package/dist/generated/themes/Bar.css.js.map +1 -1
  147. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  148. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  149. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  150. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  151. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  152. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  153. package/dist/generated/themes/Button.css.d.ts +1 -1
  154. package/dist/generated/themes/Button.css.js +1 -1
  155. package/dist/generated/themes/Button.css.js.map +1 -1
  156. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  157. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  158. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  159. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  160. package/dist/generated/themes/Calendar.css.js +1 -1
  161. package/dist/generated/themes/Calendar.css.js.map +1 -1
  162. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  163. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  164. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  165. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  166. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  167. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  168. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  169. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  170. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  171. package/dist/generated/themes/Card.css.d.ts +1 -1
  172. package/dist/generated/themes/Card.css.js +1 -1
  173. package/dist/generated/themes/Card.css.js.map +1 -1
  174. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  175. package/dist/generated/themes/CardHeader.css.js +1 -1
  176. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  177. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  178. package/dist/generated/themes/Carousel.css.js +1 -1
  179. package/dist/generated/themes/Carousel.css.js.map +1 -1
  180. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  181. package/dist/generated/themes/CheckBox.css.js +1 -1
  182. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  183. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  184. package/dist/generated/themes/ColorPalette.css.js +1 -1
  185. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  186. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  187. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  188. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  189. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  190. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  191. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  192. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  193. package/dist/generated/themes/ColorPicker.css.js +1 -1
  194. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  195. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  196. package/dist/generated/themes/ComboBox.css.js +1 -1
  197. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  198. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  199. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  200. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  201. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  202. package/dist/generated/themes/DatePicker.css.js +1 -1
  203. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  204. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  205. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  206. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  207. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  208. package/dist/generated/themes/DayPicker.css.js +1 -1
  209. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  210. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  211. package/dist/generated/themes/Dialog.css.js +1 -1
  212. package/dist/generated/themes/Dialog.css.js.map +1 -1
  213. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  214. package/dist/generated/themes/FileUploader.css.js +1 -1
  215. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  216. package/dist/generated/themes/Form.css.d.ts +1 -1
  217. package/dist/generated/themes/Form.css.js +1 -1
  218. package/dist/generated/themes/Form.css.js.map +1 -1
  219. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  220. package/dist/generated/themes/FormItem.css.js +1 -1
  221. package/dist/generated/themes/FormItem.css.js.map +1 -1
  222. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  223. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  224. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  225. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  226. package/dist/generated/themes/GrowingButton.css.js +1 -1
  227. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  228. package/dist/generated/themes/Icon.css.d.ts +1 -1
  229. package/dist/generated/themes/Icon.css.js +1 -1
  230. package/dist/generated/themes/Icon.css.js.map +1 -1
  231. package/dist/generated/themes/Input.css.d.ts +1 -1
  232. package/dist/generated/themes/Input.css.js +1 -1
  233. package/dist/generated/themes/Input.css.js.map +1 -1
  234. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  235. package/dist/generated/themes/InputIcon.css.js +1 -1
  236. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  237. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  238. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  239. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  240. package/dist/generated/themes/Link.css.d.ts +1 -1
  241. package/dist/generated/themes/Link.css.js +1 -1
  242. package/dist/generated/themes/Link.css.js.map +1 -1
  243. package/dist/generated/themes/List.css.d.ts +1 -1
  244. package/dist/generated/themes/List.css.js +1 -1
  245. package/dist/generated/themes/List.css.js.map +1 -1
  246. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  247. package/dist/generated/themes/ListItem.css.js +1 -1
  248. package/dist/generated/themes/ListItem.css.js.map +1 -1
  249. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  250. package/dist/generated/themes/ListItemBase.css.js +1 -1
  251. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  252. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  253. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  254. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  255. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  256. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  257. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  258. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  259. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  260. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  261. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  262. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  263. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  264. package/dist/generated/themes/Menu.css.d.ts +1 -1
  265. package/dist/generated/themes/Menu.css.js +1 -1
  266. package/dist/generated/themes/Menu.css.js.map +1 -1
  267. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  268. package/dist/generated/themes/MenuItem.css.js +1 -1
  269. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  270. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  271. package/dist/generated/themes/MessageStrip.css.js +1 -1
  272. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  273. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  274. package/dist/generated/themes/MonthPicker.css.js +1 -1
  275. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  276. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  277. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  278. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  279. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  280. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  281. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  282. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  283. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  284. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  285. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  286. package/dist/generated/themes/MultiInput.css.js +1 -1
  287. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  288. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  289. package/dist/generated/themes/OptionBase.css.js +1 -1
  290. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  291. package/dist/generated/themes/Panel.css.d.ts +1 -1
  292. package/dist/generated/themes/Panel.css.js +1 -1
  293. package/dist/generated/themes/Panel.css.js.map +1 -1
  294. package/dist/generated/themes/Popover.css.d.ts +1 -1
  295. package/dist/generated/themes/Popover.css.js +1 -1
  296. package/dist/generated/themes/Popover.css.js.map +1 -1
  297. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  298. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  299. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  300. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  301. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  302. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  303. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  304. package/dist/generated/themes/RadioButton.css.js +1 -1
  305. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  306. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  307. package/dist/generated/themes/RangeSlider.css.js +1 -1
  308. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  309. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  310. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  311. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  312. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  313. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  314. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  315. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  316. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  317. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  318. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  319. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  320. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  321. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  322. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  323. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  324. package/dist/generated/themes/Select.css.d.ts +1 -1
  325. package/dist/generated/themes/Select.css.js +1 -1
  326. package/dist/generated/themes/Select.css.js.map +1 -1
  327. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  328. package/dist/generated/themes/SliderBase.css.js +1 -1
  329. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  330. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  331. package/dist/generated/themes/SplitButton.css.js +1 -1
  332. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  333. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  334. package/dist/generated/themes/StepInput.css.js +1 -1
  335. package/dist/generated/themes/StepInput.css.js.map +1 -1
  336. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  337. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  338. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  339. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  340. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  341. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  342. package/dist/generated/themes/Switch.css.d.ts +1 -1
  343. package/dist/generated/themes/Switch.css.js +1 -1
  344. package/dist/generated/themes/Switch.css.js.map +1 -1
  345. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  346. package/dist/generated/themes/TabContainer.css.js +1 -1
  347. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  348. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  349. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  350. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  351. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  352. package/dist/generated/themes/TabInStrip.css.js +1 -1
  353. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  354. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  355. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  356. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  357. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  358. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  359. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  360. package/dist/generated/themes/Table.css.d.ts +1 -1
  361. package/dist/generated/themes/Table.css.js +1 -1
  362. package/dist/generated/themes/Table.css.js.map +1 -1
  363. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  364. package/dist/generated/themes/TableCellBase.css.js +1 -1
  365. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  366. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  367. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  368. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  369. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  370. package/dist/generated/themes/TableRow.css.js +1 -1
  371. package/dist/generated/themes/TableRow.css.js.map +1 -1
  372. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  373. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  374. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  375. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  376. package/dist/generated/themes/TableRowBase.css.js +1 -1
  377. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  378. package/dist/generated/themes/Tag.css.d.ts +1 -1
  379. package/dist/generated/themes/Tag.css.js +1 -1
  380. package/dist/generated/themes/Tag.css.js.map +1 -1
  381. package/dist/generated/themes/Text.css.d.ts +1 -1
  382. package/dist/generated/themes/Text.css.js +1 -1
  383. package/dist/generated/themes/Text.css.js.map +1 -1
  384. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  385. package/dist/generated/themes/TextArea.css.js +1 -1
  386. package/dist/generated/themes/TextArea.css.js.map +1 -1
  387. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  388. package/dist/generated/themes/TimePicker.css.js +1 -1
  389. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  390. package/dist/generated/themes/Toast.css.d.ts +1 -1
  391. package/dist/generated/themes/Toast.css.js +1 -1
  392. package/dist/generated/themes/Toast.css.js.map +1 -1
  393. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  394. package/dist/generated/themes/ToggleButton.css.js +1 -1
  395. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  396. package/dist/generated/themes/Token.css.d.ts +1 -1
  397. package/dist/generated/themes/Token.css.js +1 -1
  398. package/dist/generated/themes/Token.css.js.map +1 -1
  399. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  400. package/dist/generated/themes/Tokenizer.css.js +1 -1
  401. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  402. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  403. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  404. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  405. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  406. package/dist/generated/themes/Toolbar.css.js +1 -1
  407. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  408. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  409. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  410. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  411. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  412. package/dist/generated/themes/TreeItem.css.js +1 -1
  413. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  414. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  415. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  416. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  417. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  418. package/dist/generated/themes/YearPicker.css.js +1 -1
  419. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  420. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  421. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  422. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  423. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  424. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  425. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  426. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  427. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  428. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  429. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  430. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  431. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  432. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  433. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  434. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  435. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  436. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  437. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  438. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  439. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  440. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  441. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  442. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  443. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  444. package/dist/types/ButtonBadgeDesign.d.ts +1 -1
  445. package/dist/types/ButtonBadgeDesign.js +1 -1
  446. package/dist/types/ButtonBadgeDesign.js.map +1 -1
  447. package/dist/vscode.html-custom-data.json +3 -3
  448. package/dist/web-types.json +6 -6
  449. package/package.json +9 -9
  450. package/src/ButtonBadgeTemplate.tsx +1 -1
@@ -2282,24 +2282,24 @@
2282
2282
  "declarations": [
2283
2283
  {
2284
2284
  "kind": "class",
2285
- "description": "The `ui5-button-badge` component defines a badge that appears in the `ui5-button`.\n\n * ### ES6 Module Import\n\n`import \"@ui5/webcomponents/dist/ButtonBadge.js\";`",
2285
+ "description": "The `ui5-button-badge` component defines a badge that appears in the `ui5-button`.\n\n### ES6 Module Import\n\n`import \"@ui5/webcomponents/dist/ButtonBadge.js\";`",
2286
2286
  "name": "ButtonBadge",
2287
2287
  "members": [
2288
2288
  {
2289
2289
  "kind": "field",
2290
2290
  "name": "design",
2291
2291
  "type": {
2292
- "text": "BadgeDesign",
2292
+ "text": "ButtonBadgeDesign",
2293
2293
  "references": [
2294
2294
  {
2295
- "name": "BadgeDesign",
2295
+ "name": "ButtonBadgeDesign",
2296
2296
  "package": "@ui5/webcomponents",
2297
2297
  "module": "dist/types/ButtonBadgeDesign.js"
2298
2298
  }
2299
2299
  ]
2300
2300
  },
2301
2301
  "default": "\"AttentionDot\"",
2302
- "description": "Determines where the badge should be placed and how it should be styled.",
2302
+ "description": "Defines the badge placement and appearance.\n- **InlineText** - displayed inside the button after its text, and recommended for **compact** density.\n- **OverlayText** - displayed at the top-end corner of the button, and recommended for **cozy** density.\n- **AttentionDot** - displayed at the top-end corner of the button as a dot, and suitable for both **cozy** and **compact** densities.",
2303
2303
  "privacy": "public"
2304
2304
  },
2305
2305
  {
@@ -2309,13 +2309,13 @@
2309
2309
  "text": "string"
2310
2310
  },
2311
2311
  "default": "\"\"",
2312
- "description": "Defines the text of the component.\n\n**Note:** Text is not needed when the `design` property is set to `AttentionDot`.",
2312
+ "description": "Defines the text of the component.\n\n**Note:** Text is not applied when the `design` property is set to `AttentionDot`.\n\n**Note:** The badge component only accepts numeric values and the \"+\" symbol. Using other characters or formats may result in unpredictable behavior, which is not guaranteed or supported.",
2313
2313
  "privacy": "public"
2314
2314
  }
2315
2315
  ],
2316
2316
  "attributes": [
2317
2317
  {
2318
- "description": "Determines where the badge should be placed and how it should be styled.",
2318
+ "description": "Defines the badge placement and appearance.\n- **InlineText** - displayed inside the button after its text, and recommended for **compact** density.\n- **OverlayText** - displayed at the top-end corner of the button, and recommended for **cozy** density.\n- **AttentionDot** - displayed at the top-end corner of the button as a dot, and suitable for both **cozy** and **compact** densities.",
2319
2319
  "name": "design",
2320
2320
  "default": "\"AttentionDot\"",
2321
2321
  "fieldName": "design",
@@ -2324,7 +2324,7 @@
2324
2324
  }
2325
2325
  },
2326
2326
  {
2327
- "description": "Defines the text of the component.\n\n**Note:** Text is not needed when the `design` property is set to `AttentionDot`.",
2327
+ "description": "Defines the text of the component.\n\n**Note:** Text is not applied when the `design` property is set to `AttentionDot`.\n\n**Note:** The badge component only accepts numeric values and the \"+\" symbol. Using other characters or formats may result in unpredictable behavior, which is not guaranteed or supported.",
2328
2328
  "name": "text",
2329
2329
  "default": "\"\"",
2330
2330
  "fieldName": "text",
@@ -47,8 +47,8 @@ declare class Suggestions {
47
47
  static SCROLL_STEP: number;
48
48
  get template(): typeof InputSuggestionsTemplate;
49
49
  constructor(component: SuggestionComponent, slotName: string, highlight: boolean, handleFocus: boolean);
50
- onUp(e: KeyboardEvent): boolean;
51
- onDown(e: KeyboardEvent): boolean;
50
+ onUp(e: KeyboardEvent, indexOfItem: number): boolean;
51
+ onDown(e: KeyboardEvent, indexOfItem: number): boolean;
52
52
  onSpace(e: KeyboardEvent): boolean;
53
53
  onEnter(e: KeyboardEvent): boolean;
54
54
  onPageUp(e: KeyboardEvent): boolean;
@@ -72,7 +72,7 @@ declare class Suggestions {
72
72
  _isItemOnTarget(): boolean;
73
73
  get _isGroupItem(): boolean;
74
74
  isOpened(): boolean;
75
- _handleItemNavigation(forward: boolean): void;
75
+ _handleItemNavigation(forward: boolean, index: number): void;
76
76
  _selectNextItem(): void;
77
77
  _selectPreviousItem(): void;
78
78
  _moveItemSelection(previousIdx: number, nextIdx: number): void;
@@ -26,14 +26,16 @@ class Suggestions {
26
26
  // that changes due to user interaction.
27
27
  this.selectedItemIndex = -1;
28
28
  }
29
- onUp(e) {
29
+ onUp(e, indexOfItem) {
30
30
  e.preventDefault();
31
- this._handleItemNavigation(false /* forward */);
31
+ const index = !this.isOpened && this._hasValueState && indexOfItem === -1 ? 0 : indexOfItem;
32
+ this._handleItemNavigation(false /* forward */, index);
32
33
  return true;
33
34
  }
34
- onDown(e) {
35
+ onDown(e, indexOfItem) {
35
36
  e.preventDefault();
36
- this._handleItemNavigation(true /* forward */);
37
+ const index = !this.isOpened && this._hasValueState && indexOfItem === -1 ? 0 : indexOfItem;
38
+ this._handleItemNavigation(true /* forward */, index);
37
39
  return true;
38
40
  }
39
41
  onSpace(e) {
@@ -196,7 +198,8 @@ class Suggestions {
196
198
  isOpened() {
197
199
  return !!(this._getPicker()?.open);
198
200
  }
199
- _handleItemNavigation(forward) {
201
+ _handleItemNavigation(forward, index) {
202
+ this.selectedItemIndex = index;
200
203
  if (!this._getItems().length) {
201
204
  return;
202
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InputSuggestions.js","sourceRoot":"","sources":["../../src/features/InputSuggestions.ts"],"names":[],"mappings":"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","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport generateHighlightedMarkup from \"@ui5/webcomponents-base/dist/util/generateHighlightedMarkup.js\";\nimport type List from \"../List.js\";\nimport type { ListItemClickEventDetail, ListSelectionChangeEventDetail } from \"../List.js\";\nimport type ResponsivePopover from \"../ResponsivePopover.js\";\nimport \"../SuggestionItem.js\";\nimport \"../SuggestionItemGroup.js\";\nimport type SuggestionItem from \"../SuggestionItem.js\";\nimport type ListItemGroupHeader from \"../ListItemGroupHeader.js\";\nimport InputSuggestionsTemplate from \"./InputSuggestionsTemplate.js\";\nimport Input from \"../Input.js\";\n\nimport {\n\tLIST_ITEM_POSITION,\n\tLIST_ITEM_GROUP_HEADER,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport type ListItemBase from \"../ListItemBase.js\";\nimport type SuggestionItemGroup from \"../SuggestionItemGroup.js\";\nimport type { IInputSuggestionItem, IInputSuggestionItemSelectable } from \"../Input.js\";\n\ninterface SuggestionComponent extends UI5Element {\n\t_isValueStateFocused: boolean;\n\tfocused: boolean;\n\thasSuggestionItemSelected: boolean;\n\tvalue: string;\n\ttypedInValue: string;\n\thasValueStateMessage: boolean;\n\tsuggestionItems: Array<IInputSuggestionItem>;\n\topen: boolean;\n\tonItemSelected: (pressedItem: IInputSuggestionItemSelectable, keyboardUsed: boolean) => void;\n\tonItemSelect: (item: IInputSuggestionItem) => void;\n}\n\ntype SuggestionsAccInfo = {\n\tisGroup: boolean;\n\tcurrentPos?: number;\n\tlistSize?: number;\n\titemText: string;\n\tadditionalText?: string;\n}\n\n/**\n * A class to manage the `Input` suggestion items.\n * @class\n * @private\n */\nclass Suggestions {\n\tcomponent: SuggestionComponent;\n\tslotName: string;\n\thandleFocus: boolean;\n\thighlight: boolean;\n\tselectedItemIndex: number;\n\taccInfo?: SuggestionsAccInfo;\n\t_scrollContainer?: HTMLElement;\n\t_handledPress?: boolean;\n\tattachedAfterOpened?: boolean;\n\tattachedAfterClose?: boolean;\n\tstatic i18nBundle: I18nBundle;\n\tstatic SCROLL_STEP = 60;\n\n\tget template() {\n\t\treturn InputSuggestionsTemplate;\n\t}\n\n\tconstructor(component: SuggestionComponent, slotName: string, highlight: boolean, handleFocus: boolean) {\n\t\t// The component, that the suggestion would plug into.\n\t\tthis.component = component;\n\n\t\t// Defines the items` slot name.\n\t\tthis.slotName = slotName;\n\n\t\t// Defines, if the focus will be moved via the arrow keys.\n\t\tthis.handleFocus = handleFocus;\n\n\t\t// Defines, if the suggestions should highlight.\n\t\tthis.highlight = highlight;\n\n\t\t// An integer value to store the currently selected item position,\n\t\t// that changes due to user interaction.\n\t\tthis.selectedItemIndex = -1;\n\t}\n\n\tonUp(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis._handleItemNavigation(false /* forward */);\n\t\treturn true;\n\t}\n\n\tonDown(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis._handleItemNavigation(true /* forward */);\n\t\treturn true;\n\t}\n\n\tonSpace(e: KeyboardEvent) {\n\t\tif (this._isItemOnTarget()) {\n\t\t\te.preventDefault();\n\t\t\tthis.onItemSelected(this._selectedItem, true /* keyboardUsed */);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonEnter(e: KeyboardEvent) {\n\t\tif (this._isGroupItem) {\n\t\t\te.preventDefault();\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this._isItemOnTarget()) {\n\t\t\tthis.onItemSelected(this._selectedItem, true /* keyboardUsed */);\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tonPageUp(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tconst isItemIndexValid = this.selectedItemIndex - 10 > -1;\n\n\t\tif (this._hasValueState && !isItemIndexValid) {\n\t\t\tthis._focusValueState();\n\t\t\treturn true;\n\t\t}\n\n\t\tthis._moveItemSelection(this.selectedItemIndex,\n\t\t\tisItemIndexValid ? this.selectedItemIndex -= 10 : this.selectedItemIndex = 0);\n\t\treturn true;\n\t}\n\n\tonPageDown(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tconst items = this._getItems();\n\t\tconst lastItemIndex = items.length - 1;\n\t\tconst isItemIndexValid = this.selectedItemIndex + 10 <= lastItemIndex;\n\n\t\tif (this._hasValueState && !items) {\n\t\t\tthis._focusValueState();\n\t\t\treturn true;\n\t\t}\n\n\t\tthis._moveItemSelection(this.selectedItemIndex,\n\t\t\tisItemIndexValid ? this.selectedItemIndex += 10 : this.selectedItemIndex = lastItemIndex);\n\t\treturn true;\n\t}\n\n\tonHome(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this._hasValueState) {\n\t\t\tthis._focusValueState();\n\t\t\treturn true;\n\t\t}\n\n\t\tthis._moveItemSelection(this.selectedItemIndex, this.selectedItemIndex = 0);\n\t\treturn true;\n\t}\n\n\tonEnd(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tconst lastItemIndex = this._getItems().length - 1;\n\n\t\tif (this._hasValueState && !lastItemIndex) {\n\t\t\tthis._focusValueState();\n\t\t\treturn true;\n\t\t}\n\n\t\tthis._moveItemSelection(this.selectedItemIndex, this.selectedItemIndex = lastItemIndex);\n\t\treturn true;\n\t}\n\n\tonTab() {\n\t\tif (this._isItemOnTarget()) {\n\t\t\tthis.onItemSelected(this._selectedItem, true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\ttoggle(bToggle: boolean, options: { preventFocusRestore: boolean }) {\n\t\tconst toggle = bToggle !== undefined ? bToggle : !this.isOpened();\n\n\t\tif (toggle) {\n\t\t\tthis._getComponent().open = true;\n\t\t} else {\n\t\t\tthis.close(options.preventFocusRestore);\n\t\t}\n\t}\n\n\tget _selectedItem() {\n\t\treturn this._getNonGroupItems().find(item => item.selected) as SuggestionItem | null;\n\t}\n\n\t_isScrollable() {\n\t\tconst sc = this._getScrollContainer();\n\t\treturn sc.offsetHeight < sc.scrollHeight;\n\t}\n\n\tclose(preventFocusRestore = false) {\n\t\tconst selectedItem = this._getItems() && this._getItems()[this.selectedItemIndex];\n\n\t\tthis._getComponent().open = false;\n\t\tconst picker = this._getPicker();\n\t\tpicker.preventFocusRestore = preventFocusRestore;\n\t\tpicker.open = false;\n\n\t\tif (selectedItem && selectedItem.focused) {\n\t\t\tselectedItem.focused = false;\n\t\t}\n\t}\n\n\tupdateSelectedItemPosition(pos: number) {\n\t\tthis.selectedItemIndex = pos;\n\t}\n\n\tonItemSelected(selectedItem: IInputSuggestionItemSelectable | null, keyboardUsed: boolean) {\n\t\tconst item = selectedItem;\n\t\tconst nonGroupItems = this._getNonGroupItems();\n\n\t\tif (!item) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.accInfo = {\n\t\t\tisGroup: item.hasAttribute(\"ui5-suggestion-item-group\"),\n\t\t\tcurrentPos: nonGroupItems.indexOf(item) + 1,\n\t\t\tlistSize: nonGroupItems.length,\n\t\t\titemText: item.text || \"\",\n\t\t\tadditionalText: item.additionalText,\n\t\t};\n\n\t\tthis._getComponent().onItemSelected(item, keyboardUsed);\n\t\titem.selected = false;\n\t\titem.focused = false;\n\t\tthis._getComponent().open = false;\n\t}\n\n\tonItemSelect(item: IInputSuggestionItem) {\n\t\tthis._getComponent().onItemSelect(item);\n\t}\n\n\t/* Private methods */\n\t// Note: Split into two separate handlers\n\tonItemPress(e: CustomEvent<ListItemClickEventDetail | ListSelectionChangeEventDetail>) {\n\t\tlet pressedItem: ListItemBase; // SuggestionListItem\n\t\tconst isPressEvent = e.type === \"ui5-item-click\";\n\n\t\t// Only use the press e if the item is already selected, in all other cases we are listening for 'ui5-selection-change' from the list\n\t\t// Also we have to check if the selection-change is fired by the list's 'item-click' event handling, to avoid double handling on our side\n\t\tif ((isPressEvent && !(e.detail as ListItemClickEventDetail).item.selected) || (this._handledPress && !isPressEvent)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isPressEvent && (e.detail as ListItemClickEventDetail).item.selected) {\n\t\t\tpressedItem = (e.detail as ListItemClickEventDetail).item;\n\t\t\tthis._handledPress = true;\n\t\t} else {\n\t\t\tpressedItem = (e.detail as ListSelectionChangeEventDetail).selectedItems[0];\n\t\t}\n\n\t\tthis.onItemSelected(pressedItem as SuggestionItem, false /* keyboardUsed */);\n\t}\n\n\t_onOpen() {\n\t\tthis._applyFocus();\n\t}\n\n\t_onClose() {\n\t\tthis._handledPress = false;\n\t}\n\n\t_applyFocus() {\n\t\tif (this.selectedItemIndex) {\n\t\t\tthis._getItems()[this.selectedItemIndex]?.focus();\n\t\t}\n\t}\n\n\t_isItemOnTarget() {\n\t\treturn this.isOpened() && this.selectedItemIndex !== null && this.selectedItemIndex !== -1 && !this._isGroupItem;\n\t}\n\n\tget _isGroupItem() {\n\t\tconst items = this._getItems();\n\n\t\tif (!items || !items[this.selectedItemIndex]) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn items[this.selectedItemIndex].hasAttribute(\"ui5-suggestion-item-group\");\n\t}\n\n\tisOpened() {\n\t\treturn !!(this._getPicker()?.open);\n\t}\n\n\t_handleItemNavigation(forward: boolean) {\n\t\tif (!this._getItems().length) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (forward) {\n\t\t\tthis._selectNextItem();\n\t\t} else {\n\t\t\tthis._selectPreviousItem();\n\t\t}\n\t}\n\n\t_selectNextItem() {\n\t\tconst itemsCount = this._getItems().length;\n\t\tconst previousSelectedIdx = this.selectedItemIndex;\n\n\t\tif (this._hasValueState && previousSelectedIdx === -1 && !this.component._isValueStateFocused) {\n\t\t\tthis._focusValueState();\n\t\t\treturn;\n\t\t}\n\n\t\tif ((previousSelectedIdx === -1 && !this._hasValueState) || this.component._isValueStateFocused) {\n\t\t\tthis._clearValueStateFocus();\n\t\t\tthis.selectedItemIndex = -1;\n\t\t}\n\n\t\tif (previousSelectedIdx !== -1 && previousSelectedIdx + 1 > itemsCount - 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._moveItemSelection(previousSelectedIdx, ++this.selectedItemIndex);\n\t}\n\n\t_selectPreviousItem() {\n\t\tconst items = this._getItems();\n\t\tconst previousSelectedIdx = this.selectedItemIndex;\n\n\t\tif (this._hasValueState && previousSelectedIdx === 0 && !this.component._isValueStateFocused) {\n\t\t\tthis.component.hasSuggestionItemSelected = false;\n\t\t\tthis.component._isValueStateFocused = true;\n\t\t\tthis.selectedItemIndex = 0;\n\n\t\t\titems[0].focused = false;\n\n\t\t\tif (items[0].hasAttribute(\"ui5-suggestion-item\")) {\n\t\t\t\t(items[0] as SuggestionItem).selected = false;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.component._isValueStateFocused) {\n\t\t\tthis.component.focused = true;\n\t\t\tthis.component._isValueStateFocused = false;\n\t\t\tthis.selectedItemIndex = 0;\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (previousSelectedIdx === -1 || previousSelectedIdx === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (previousSelectedIdx - 1 < 0) {\n\t\t\tif (items[previousSelectedIdx].hasAttribute(\"ui5-suggestion-item\") || items[previousSelectedIdx].hasAttribute(\"ui5-suggestion-item-custom\")) {\n\t\t\t\t(items[previousSelectedIdx] as SuggestionItem).selected = false;\n\t\t\t}\n\n\t\t\titems[previousSelectedIdx].focused = false;\n\n\t\t\tthis.component.focused = true;\n\t\t\tthis.component.hasSuggestionItemSelected = false;\n\t\t\tthis.selectedItemIndex -= 1;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._moveItemSelection(previousSelectedIdx, --this.selectedItemIndex);\n\t}\n\n\t_moveItemSelection(previousIdx: number, nextIdx: number) {\n\t\tconst items = this._getItems();\n\t\tconst currentItem = items[nextIdx];\n\t\tconst previousItem = items[previousIdx];\n\t\tconst nonGroupItems = this._getNonGroupItems();\n\t\tconst isGroupItem = currentItem.hasAttribute(\"ui5-suggestion-item-group\");\n\n\t\tif (!currentItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.component.focused = false;\n\t\tthis._clearValueStateFocus();\n\n\t\tconst selectedItem = this._getItems()[this.selectedItemIndex];\n\n\t\tthis.accInfo = {\n\t\t\tisGroup: isGroupItem,\n\t\t\tcurrentPos: items.indexOf(currentItem) + 1,\n\t\t\titemText: (isGroupItem ? (selectedItem as SuggestionItemGroup).headerText : (selectedItem as IInputSuggestionItemSelectable).text) || \"\",\n\t\t};\n\n\t\tif (currentItem.hasAttribute(\"ui5-suggestion-item\") || currentItem.hasAttribute(\"ui5-suggestion-item-custom\")) {\n\t\t\tthis.accInfo.additionalText = (currentItem as IInputSuggestionItemSelectable).additionalText || \"\";\n\t\t\tthis.accInfo.currentPos = nonGroupItems.indexOf(currentItem as IInputSuggestionItemSelectable) + 1;\n\t\t\tthis.accInfo.listSize = nonGroupItems.length;\n\t\t}\n\n\t\tif (previousItem) {\n\t\t\tpreviousItem.focused = false;\n\t\t}\n\t\tif (previousItem?.hasAttribute(\"ui5-suggestion-item\") || previousItem?.hasAttribute(\"ui5-suggestion-item-custom\")) {\n\t\t\t(previousItem as IInputSuggestionItemSelectable).selected = false;\n\t\t}\n\n\t\tif (currentItem) {\n\t\t\tcurrentItem.focused = true;\n\n\t\t\tif (!isGroupItem) {\n\t\t\t\t(currentItem as IInputSuggestionItemSelectable).selected = true;\n\t\t\t}\n\n\t\t\tif (this.handleFocus) {\n\t\t\t\tcurrentItem.focus();\n\t\t\t}\n\t\t}\n\n\t\tthis.component.hasSuggestionItemSelected = true;\n\t\tthis.onItemSelect(currentItem);\n\n\t\tif (!this._isItemIntoView(currentItem)) {\n\t\t\tconst itemRef = this._isGroupItem ? (currentItem.shadowRoot!.querySelector(\"[ui5-li-group-header]\") as ListItemGroupHeader)! : currentItem;\n\t\t\tthis._scrollItemIntoView(itemRef);\n\t\t}\n\t}\n\n\t_deselectItems() {\n\t\tconst items = this._getItems();\n\t\titems.forEach(item => {\n\t\t\tif (item.hasAttribute(\"ui5-suggestion-item\")) {\n\t\t\t\t(item as SuggestionItem).selected = false;\n\t\t\t}\n\n\t\t\titem.focused = false;\n\t\t});\n\t}\n\n\t_clearItemFocus() {\n\t\tconst focusedItem = this._getItems().find(item => item.focused);\n\n\t\tif (focusedItem) {\n\t\t\tfocusedItem.focused = false;\n\t\t}\n\t}\n\n\t_isItemIntoView(item: IInputSuggestionItem) {\n\t\tconst rectItem = item.getDomRef()!.getBoundingClientRect();\n\t\tconst rectInput = this._getComponent().getDomRef()!.getBoundingClientRect();\n\t\tconst windowHeight = (window.innerHeight || document.documentElement.clientHeight);\n\t\tlet headerHeight = 0;\n\n\t\tif (this._hasValueState) {\n\t\t\tconst valueStateHeader = this._getPicker().querySelector(\"[slot=header]\")!;\n\t\t\theaderHeight = valueStateHeader.getBoundingClientRect().height;\n\t\t}\n\n\t\treturn (rectItem.top + Suggestions.SCROLL_STEP <= windowHeight) && (rectItem.top >= rectInput.top + headerHeight);\n\t}\n\n\t_scrollItemIntoView(item: IInputSuggestionItem) {\n\t\titem.scrollIntoView({\n\t\t\tbehavior: \"auto\",\n\t\t\tblock: \"nearest\",\n\t\t\tinline: \"nearest\",\n\t\t});\n\t}\n\n\t_getScrollContainer() {\n\t\tif (!this._scrollContainer) {\n\t\t\tthis._scrollContainer = this._getPicker()!.shadowRoot!.querySelector(\".ui5-popup-content\")!;\n\t\t}\n\n\t\treturn this._scrollContainer;\n\t}\n\n\t/**\n\t * Returns the items in 1D array.\n\t *\n\t */\n\t_getItems(): Array<IInputSuggestionItem> {\n\t\tconst suggestionComponent = this._getComponent();\n\n\t\treturn suggestionComponent.getSlottedNodes<IInputSuggestionItem>(\"suggestionItems\").flatMap(item => {\n\t\t\treturn item.hasAttribute(\"ui5-suggestion-item-group\") ? [item, ...item.items!] : [item];\n\t\t});\n\t}\n\n\t_getNonGroupItems(): Array<IInputSuggestionItemSelectable> {\n\t\treturn this._getItems().filter(item => !item.hasAttribute(\"ui5-suggestion-item-group\")) as Array<IInputSuggestionItemSelectable>;\n\t}\n\n\t_getComponent(): SuggestionComponent {\n\t\treturn this.component;\n\t}\n\n\t_getList() {\n\t\treturn this._getPicker().querySelector<List>(\"[ui5-list]\")!;\n\t}\n\n\t_getListWidth() {\n\t\treturn this._getList()?.offsetWidth;\n\t}\n\n\t_getPicker() {\n\t\treturn this._getComponent().shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tget itemSelectionAnnounce() {\n\t\tif (!this.accInfo) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tif (this.accInfo.isGroup) {\n\t\t\treturn `${Suggestions.i18nBundle.getText(LIST_ITEM_GROUP_HEADER)} ${this.accInfo.itemText}`;\n\t\t}\n\n\t\tconst itemPositionText = Suggestions.i18nBundle.getText(LIST_ITEM_POSITION, this.accInfo.currentPos || 0, this.accInfo.listSize || 0);\n\n\t\treturn `${this.accInfo.additionalText} ${itemPositionText}`;\n\t}\n\n\thightlightInput(text: string, input: string) {\n\t\treturn generateHighlightedMarkup(text, input);\n\t}\n\n\tget _hasValueState() {\n\t\treturn this.component.hasValueStateMessage;\n\t}\n\n\t_focusValueState() {\n\t\tthis.component._isValueStateFocused = true;\n\t\tthis.component.focused = false;\n\t\tthis.component.hasSuggestionItemSelected = false;\n\t\tthis.selectedItemIndex = 0;\n\t\tthis.component.value = this.component.typedInValue;\n\n\t\tthis._deselectItems();\n\t}\n\n\t_clearValueStateFocus() {\n\t\tthis.component._isValueStateFocused = false;\n\t}\n\n\t_clearSelectedSuggestionAndaccInfo() {\n\t\tthis.accInfo = undefined;\n\t\tthis.selectedItemIndex = 0;\n\t}\n}\n\nInput.SuggestionsClass = Suggestions;\n\nexport default Suggestions;\n\nexport type {\n\tSuggestionComponent,\n};\n"]}
1
+ {"version":3,"file":"InputSuggestions.js","sourceRoot":"","sources":["../../src/features/InputSuggestions.ts"],"names":[],"mappings":"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","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport generateHighlightedMarkup from \"@ui5/webcomponents-base/dist/util/generateHighlightedMarkup.js\";\nimport type List from \"../List.js\";\nimport type { ListItemClickEventDetail, ListSelectionChangeEventDetail } from \"../List.js\";\nimport type ResponsivePopover from \"../ResponsivePopover.js\";\nimport \"../SuggestionItem.js\";\nimport \"../SuggestionItemGroup.js\";\nimport type SuggestionItem from \"../SuggestionItem.js\";\nimport type ListItemGroupHeader from \"../ListItemGroupHeader.js\";\nimport InputSuggestionsTemplate from \"./InputSuggestionsTemplate.js\";\nimport Input from \"../Input.js\";\n\nimport {\n\tLIST_ITEM_POSITION,\n\tLIST_ITEM_GROUP_HEADER,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport type ListItemBase from \"../ListItemBase.js\";\nimport type SuggestionItemGroup from \"../SuggestionItemGroup.js\";\nimport type { IInputSuggestionItem, IInputSuggestionItemSelectable } from \"../Input.js\";\n\ninterface SuggestionComponent extends UI5Element {\n\t_isValueStateFocused: boolean;\n\tfocused: boolean;\n\thasSuggestionItemSelected: boolean;\n\tvalue: string;\n\ttypedInValue: string;\n\thasValueStateMessage: boolean;\n\tsuggestionItems: Array<IInputSuggestionItem>;\n\topen: boolean;\n\tonItemSelected: (pressedItem: IInputSuggestionItemSelectable, keyboardUsed: boolean) => void;\n\tonItemSelect: (item: IInputSuggestionItem) => void;\n}\n\ntype SuggestionsAccInfo = {\n\tisGroup: boolean;\n\tcurrentPos?: number;\n\tlistSize?: number;\n\titemText: string;\n\tadditionalText?: string;\n}\n\n/**\n * A class to manage the `Input` suggestion items.\n * @class\n * @private\n */\nclass Suggestions {\n\tcomponent: SuggestionComponent;\n\tslotName: string;\n\thandleFocus: boolean;\n\thighlight: boolean;\n\tselectedItemIndex: number;\n\taccInfo?: SuggestionsAccInfo;\n\t_scrollContainer?: HTMLElement;\n\t_handledPress?: boolean;\n\tattachedAfterOpened?: boolean;\n\tattachedAfterClose?: boolean;\n\tstatic i18nBundle: I18nBundle;\n\tstatic SCROLL_STEP = 60;\n\n\tget template() {\n\t\treturn InputSuggestionsTemplate;\n\t}\n\n\tconstructor(component: SuggestionComponent, slotName: string, highlight: boolean, handleFocus: boolean) {\n\t\t// The component, that the suggestion would plug into.\n\t\tthis.component = component;\n\n\t\t// Defines the items` slot name.\n\t\tthis.slotName = slotName;\n\n\t\t// Defines, if the focus will be moved via the arrow keys.\n\t\tthis.handleFocus = handleFocus;\n\n\t\t// Defines, if the suggestions should highlight.\n\t\tthis.highlight = highlight;\n\n\t\t// An integer value to store the currently selected item position,\n\t\t// that changes due to user interaction.\n\t\tthis.selectedItemIndex = -1;\n\t}\n\n\tonUp(e: KeyboardEvent, indexOfItem: number) {\n\t\te.preventDefault();\n\t\tconst index = !this.isOpened && this._hasValueState && indexOfItem === -1 ? 0 : indexOfItem;\n\t\tthis._handleItemNavigation(false /* forward */, index);\n\t\treturn true;\n\t}\n\n\tonDown(e: KeyboardEvent, indexOfItem: number) {\n\t\te.preventDefault();\n\t\tconst index = !this.isOpened && this._hasValueState && indexOfItem === -1 ? 0 : indexOfItem;\n\t\tthis._handleItemNavigation(true /* forward */, index);\n\t\treturn true;\n\t}\n\n\tonSpace(e: KeyboardEvent) {\n\t\tif (this._isItemOnTarget()) {\n\t\t\te.preventDefault();\n\t\t\tthis.onItemSelected(this._selectedItem, true /* keyboardUsed */);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonEnter(e: KeyboardEvent) {\n\t\tif (this._isGroupItem) {\n\t\t\te.preventDefault();\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this._isItemOnTarget()) {\n\t\t\tthis.onItemSelected(this._selectedItem, true /* keyboardUsed */);\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tonPageUp(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tconst isItemIndexValid = this.selectedItemIndex - 10 > -1;\n\n\t\tif (this._hasValueState && !isItemIndexValid) {\n\t\t\tthis._focusValueState();\n\t\t\treturn true;\n\t\t}\n\n\t\tthis._moveItemSelection(this.selectedItemIndex,\n\t\t\tisItemIndexValid ? this.selectedItemIndex -= 10 : this.selectedItemIndex = 0);\n\t\treturn true;\n\t}\n\n\tonPageDown(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tconst items = this._getItems();\n\t\tconst lastItemIndex = items.length - 1;\n\t\tconst isItemIndexValid = this.selectedItemIndex + 10 <= lastItemIndex;\n\n\t\tif (this._hasValueState && !items) {\n\t\t\tthis._focusValueState();\n\t\t\treturn true;\n\t\t}\n\n\t\tthis._moveItemSelection(this.selectedItemIndex,\n\t\t\tisItemIndexValid ? this.selectedItemIndex += 10 : this.selectedItemIndex = lastItemIndex);\n\t\treturn true;\n\t}\n\n\tonHome(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this._hasValueState) {\n\t\t\tthis._focusValueState();\n\t\t\treturn true;\n\t\t}\n\n\t\tthis._moveItemSelection(this.selectedItemIndex, this.selectedItemIndex = 0);\n\t\treturn true;\n\t}\n\n\tonEnd(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tconst lastItemIndex = this._getItems().length - 1;\n\n\t\tif (this._hasValueState && !lastItemIndex) {\n\t\t\tthis._focusValueState();\n\t\t\treturn true;\n\t\t}\n\n\t\tthis._moveItemSelection(this.selectedItemIndex, this.selectedItemIndex = lastItemIndex);\n\t\treturn true;\n\t}\n\n\tonTab() {\n\t\tif (this._isItemOnTarget()) {\n\t\t\tthis.onItemSelected(this._selectedItem, true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\ttoggle(bToggle: boolean, options: { preventFocusRestore: boolean }) {\n\t\tconst toggle = bToggle !== undefined ? bToggle : !this.isOpened();\n\n\t\tif (toggle) {\n\t\t\tthis._getComponent().open = true;\n\t\t} else {\n\t\t\tthis.close(options.preventFocusRestore);\n\t\t}\n\t}\n\n\tget _selectedItem() {\n\t\treturn this._getNonGroupItems().find(item => item.selected) as SuggestionItem | null;\n\t}\n\n\t_isScrollable() {\n\t\tconst sc = this._getScrollContainer();\n\t\treturn sc.offsetHeight < sc.scrollHeight;\n\t}\n\n\tclose(preventFocusRestore = false) {\n\t\tconst selectedItem = this._getItems() && this._getItems()[this.selectedItemIndex];\n\n\t\tthis._getComponent().open = false;\n\t\tconst picker = this._getPicker();\n\t\tpicker.preventFocusRestore = preventFocusRestore;\n\t\tpicker.open = false;\n\n\t\tif (selectedItem && selectedItem.focused) {\n\t\t\tselectedItem.focused = false;\n\t\t}\n\t}\n\n\tupdateSelectedItemPosition(pos: number) {\n\t\tthis.selectedItemIndex = pos;\n\t}\n\n\tonItemSelected(selectedItem: IInputSuggestionItemSelectable | null, keyboardUsed: boolean) {\n\t\tconst item = selectedItem;\n\t\tconst nonGroupItems = this._getNonGroupItems();\n\n\t\tif (!item) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.accInfo = {\n\t\t\tisGroup: item.hasAttribute(\"ui5-suggestion-item-group\"),\n\t\t\tcurrentPos: nonGroupItems.indexOf(item) + 1,\n\t\t\tlistSize: nonGroupItems.length,\n\t\t\titemText: item.text || \"\",\n\t\t\tadditionalText: item.additionalText,\n\t\t};\n\n\t\tthis._getComponent().onItemSelected(item, keyboardUsed);\n\t\titem.selected = false;\n\t\titem.focused = false;\n\t\tthis._getComponent().open = false;\n\t}\n\n\tonItemSelect(item: IInputSuggestionItem) {\n\t\tthis._getComponent().onItemSelect(item);\n\t}\n\n\t/* Private methods */\n\t// Note: Split into two separate handlers\n\tonItemPress(e: CustomEvent<ListItemClickEventDetail | ListSelectionChangeEventDetail>) {\n\t\tlet pressedItem: ListItemBase; // SuggestionListItem\n\t\tconst isPressEvent = e.type === \"ui5-item-click\";\n\n\t\t// Only use the press e if the item is already selected, in all other cases we are listening for 'ui5-selection-change' from the list\n\t\t// Also we have to check if the selection-change is fired by the list's 'item-click' event handling, to avoid double handling on our side\n\t\tif ((isPressEvent && !(e.detail as ListItemClickEventDetail).item.selected) || (this._handledPress && !isPressEvent)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isPressEvent && (e.detail as ListItemClickEventDetail).item.selected) {\n\t\t\tpressedItem = (e.detail as ListItemClickEventDetail).item;\n\t\t\tthis._handledPress = true;\n\t\t} else {\n\t\t\tpressedItem = (e.detail as ListSelectionChangeEventDetail).selectedItems[0];\n\t\t}\n\n\t\tthis.onItemSelected(pressedItem as SuggestionItem, false /* keyboardUsed */);\n\t}\n\n\t_onOpen() {\n\t\tthis._applyFocus();\n\t}\n\n\t_onClose() {\n\t\tthis._handledPress = false;\n\t}\n\n\t_applyFocus() {\n\t\tif (this.selectedItemIndex) {\n\t\t\tthis._getItems()[this.selectedItemIndex]?.focus();\n\t\t}\n\t}\n\n\t_isItemOnTarget() {\n\t\treturn this.isOpened() && this.selectedItemIndex !== null && this.selectedItemIndex !== -1 && !this._isGroupItem;\n\t}\n\n\tget _isGroupItem() {\n\t\tconst items = this._getItems();\n\n\t\tif (!items || !items[this.selectedItemIndex]) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn items[this.selectedItemIndex].hasAttribute(\"ui5-suggestion-item-group\");\n\t}\n\n\tisOpened() {\n\t\treturn !!(this._getPicker()?.open);\n\t}\n\n\t_handleItemNavigation(forward: boolean, index: number) {\n\t\tthis.selectedItemIndex = index;\n\n\t\tif (!this._getItems().length) {\n\t\t\treturn;\n\t\t}\n\t\tif (forward) {\n\t\t\tthis._selectNextItem();\n\t\t} else {\n\t\t\tthis._selectPreviousItem();\n\t\t}\n\t}\n\n\t_selectNextItem() {\n\t\tconst itemsCount = this._getItems().length;\n\n\t\tconst previousSelectedIdx = this.selectedItemIndex;\n\n\t\tif (this._hasValueState && previousSelectedIdx === -1 && !this.component._isValueStateFocused) {\n\t\t\tthis._focusValueState();\n\t\t\treturn;\n\t\t}\n\n\t\tif ((previousSelectedIdx === -1 && !this._hasValueState) || this.component._isValueStateFocused) {\n\t\t\tthis._clearValueStateFocus();\n\t\t\tthis.selectedItemIndex = -1;\n\t\t}\n\n\t\tif (previousSelectedIdx !== -1 && previousSelectedIdx + 1 > itemsCount - 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._moveItemSelection(previousSelectedIdx, ++this.selectedItemIndex);\n\t}\n\n\t_selectPreviousItem() {\n\t\tconst items = this._getItems();\n\t\tconst previousSelectedIdx = this.selectedItemIndex;\n\n\t\tif (this._hasValueState && previousSelectedIdx === 0 && !this.component._isValueStateFocused) {\n\t\t\tthis.component.hasSuggestionItemSelected = false;\n\t\t\tthis.component._isValueStateFocused = true;\n\t\t\tthis.selectedItemIndex = 0;\n\n\t\t\titems[0].focused = false;\n\n\t\t\tif (items[0].hasAttribute(\"ui5-suggestion-item\")) {\n\t\t\t\t(items[0] as SuggestionItem).selected = false;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.component._isValueStateFocused) {\n\t\t\tthis.component.focused = true;\n\t\t\tthis.component._isValueStateFocused = false;\n\t\t\tthis.selectedItemIndex = 0;\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (previousSelectedIdx === -1 || previousSelectedIdx === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (previousSelectedIdx - 1 < 0) {\n\t\t\tif (items[previousSelectedIdx].hasAttribute(\"ui5-suggestion-item\") || items[previousSelectedIdx].hasAttribute(\"ui5-suggestion-item-custom\")) {\n\t\t\t\t(items[previousSelectedIdx] as SuggestionItem).selected = false;\n\t\t\t}\n\n\t\t\titems[previousSelectedIdx].focused = false;\n\n\t\t\tthis.component.focused = true;\n\t\t\tthis.component.hasSuggestionItemSelected = false;\n\t\t\tthis.selectedItemIndex -= 1;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._moveItemSelection(previousSelectedIdx, --this.selectedItemIndex);\n\t}\n\n\t_moveItemSelection(previousIdx: number, nextIdx: number) {\n\t\tconst items = this._getItems();\n\t\tconst currentItem = items[nextIdx];\n\t\tconst previousItem = items[previousIdx];\n\t\tconst nonGroupItems = this._getNonGroupItems();\n\t\tconst isGroupItem = currentItem.hasAttribute(\"ui5-suggestion-item-group\");\n\n\t\tif (!currentItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.component.focused = false;\n\t\tthis._clearValueStateFocus();\n\n\t\tconst selectedItem = this._getItems()[this.selectedItemIndex];\n\n\t\tthis.accInfo = {\n\t\t\tisGroup: isGroupItem,\n\t\t\tcurrentPos: items.indexOf(currentItem) + 1,\n\t\t\titemText: (isGroupItem ? (selectedItem as SuggestionItemGroup).headerText : (selectedItem as IInputSuggestionItemSelectable).text) || \"\",\n\t\t};\n\n\t\tif (currentItem.hasAttribute(\"ui5-suggestion-item\") || currentItem.hasAttribute(\"ui5-suggestion-item-custom\")) {\n\t\t\tthis.accInfo.additionalText = (currentItem as IInputSuggestionItemSelectable).additionalText || \"\";\n\t\t\tthis.accInfo.currentPos = nonGroupItems.indexOf(currentItem as IInputSuggestionItemSelectable) + 1;\n\t\t\tthis.accInfo.listSize = nonGroupItems.length;\n\t\t}\n\n\t\tif (previousItem) {\n\t\t\tpreviousItem.focused = false;\n\t\t}\n\t\tif (previousItem?.hasAttribute(\"ui5-suggestion-item\") || previousItem?.hasAttribute(\"ui5-suggestion-item-custom\")) {\n\t\t\t(previousItem as IInputSuggestionItemSelectable).selected = false;\n\t\t}\n\n\t\tif (currentItem) {\n\t\t\tcurrentItem.focused = true;\n\n\t\t\tif (!isGroupItem) {\n\t\t\t\t(currentItem as IInputSuggestionItemSelectable).selected = true;\n\t\t\t}\n\n\t\t\tif (this.handleFocus) {\n\t\t\t\tcurrentItem.focus();\n\t\t\t}\n\t\t}\n\n\t\tthis.component.hasSuggestionItemSelected = true;\n\t\tthis.onItemSelect(currentItem);\n\n\t\tif (!this._isItemIntoView(currentItem)) {\n\t\t\tconst itemRef = this._isGroupItem ? (currentItem.shadowRoot!.querySelector(\"[ui5-li-group-header]\") as ListItemGroupHeader)! : currentItem;\n\t\t\tthis._scrollItemIntoView(itemRef);\n\t\t}\n\t}\n\n\t_deselectItems() {\n\t\tconst items = this._getItems();\n\t\titems.forEach(item => {\n\t\t\tif (item.hasAttribute(\"ui5-suggestion-item\")) {\n\t\t\t\t(item as SuggestionItem).selected = false;\n\t\t\t}\n\n\t\t\titem.focused = false;\n\t\t});\n\t}\n\n\t_clearItemFocus() {\n\t\tconst focusedItem = this._getItems().find(item => item.focused);\n\n\t\tif (focusedItem) {\n\t\t\tfocusedItem.focused = false;\n\t\t}\n\t}\n\n\t_isItemIntoView(item: IInputSuggestionItem) {\n\t\tconst rectItem = item.getDomRef()!.getBoundingClientRect();\n\t\tconst rectInput = this._getComponent().getDomRef()!.getBoundingClientRect();\n\t\tconst windowHeight = (window.innerHeight || document.documentElement.clientHeight);\n\t\tlet headerHeight = 0;\n\n\t\tif (this._hasValueState) {\n\t\t\tconst valueStateHeader = this._getPicker().querySelector(\"[slot=header]\")!;\n\t\t\theaderHeight = valueStateHeader.getBoundingClientRect().height;\n\t\t}\n\n\t\treturn (rectItem.top + Suggestions.SCROLL_STEP <= windowHeight) && (rectItem.top >= rectInput.top + headerHeight);\n\t}\n\n\t_scrollItemIntoView(item: IInputSuggestionItem) {\n\t\titem.scrollIntoView({\n\t\t\tbehavior: \"auto\",\n\t\t\tblock: \"nearest\",\n\t\t\tinline: \"nearest\",\n\t\t});\n\t}\n\n\t_getScrollContainer() {\n\t\tif (!this._scrollContainer) {\n\t\t\tthis._scrollContainer = this._getPicker()!.shadowRoot!.querySelector(\".ui5-popup-content\")!;\n\t\t}\n\n\t\treturn this._scrollContainer;\n\t}\n\n\t/**\n\t * Returns the items in 1D array.\n\t *\n\t */\n\t_getItems(): Array<IInputSuggestionItem> {\n\t\tconst suggestionComponent = this._getComponent();\n\n\t\treturn suggestionComponent.getSlottedNodes<IInputSuggestionItem>(\"suggestionItems\").flatMap(item => {\n\t\t\treturn item.hasAttribute(\"ui5-suggestion-item-group\") ? [item, ...item.items!] : [item];\n\t\t});\n\t}\n\n\t_getNonGroupItems(): Array<IInputSuggestionItemSelectable> {\n\t\treturn this._getItems().filter(item => !item.hasAttribute(\"ui5-suggestion-item-group\")) as Array<IInputSuggestionItemSelectable>;\n\t}\n\n\t_getComponent(): SuggestionComponent {\n\t\treturn this.component;\n\t}\n\n\t_getList() {\n\t\treturn this._getPicker().querySelector<List>(\"[ui5-list]\")!;\n\t}\n\n\t_getListWidth() {\n\t\treturn this._getList()?.offsetWidth;\n\t}\n\n\t_getPicker() {\n\t\treturn this._getComponent().shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tget itemSelectionAnnounce() {\n\t\tif (!this.accInfo) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tif (this.accInfo.isGroup) {\n\t\t\treturn `${Suggestions.i18nBundle.getText(LIST_ITEM_GROUP_HEADER)} ${this.accInfo.itemText}`;\n\t\t}\n\n\t\tconst itemPositionText = Suggestions.i18nBundle.getText(LIST_ITEM_POSITION, this.accInfo.currentPos || 0, this.accInfo.listSize || 0);\n\n\t\treturn `${this.accInfo.additionalText} ${itemPositionText}`;\n\t}\n\n\thightlightInput(text: string, input: string) {\n\t\treturn generateHighlightedMarkup(text, input);\n\t}\n\n\tget _hasValueState() {\n\t\treturn this.component.hasValueStateMessage;\n\t}\n\n\t_focusValueState() {\n\t\tthis.component._isValueStateFocused = true;\n\t\tthis.component.focused = false;\n\t\tthis.component.hasSuggestionItemSelected = false;\n\t\tthis.selectedItemIndex = 0;\n\t\tthis.component.value = this.component.typedInValue;\n\n\t\tthis._deselectItems();\n\t}\n\n\t_clearValueStateFocus() {\n\t\tthis.component._isValueStateFocused = false;\n\t}\n\n\t_clearSelectedSuggestionAndaccInfo() {\n\t\tthis.accInfo = undefined;\n\t\tthis.selectedItemIndex = 0;\n\t}\n}\n\nInput.SuggestionsClass = Suggestions;\n\nexport default Suggestions;\n\nexport type {\n\tSuggestionComponent,\n};\n"]}