@ui5/webcomponents 2.0.0-rc.6 → 2.0.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 (902) hide show
  1. package/CHANGELOG.md +150 -0
  2. package/README.md +1 -4
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/Avatar.d.ts +13 -18
  5. package/dist/Avatar.js +77 -17
  6. package/dist/Avatar.js.map +1 -1
  7. package/dist/AvatarGroup.d.ts +1 -1
  8. package/dist/AvatarGroup.js +21 -3
  9. package/dist/AvatarGroup.js.map +1 -1
  10. package/dist/Bar.d.ts +1 -1
  11. package/dist/Bar.js +7 -2
  12. package/dist/Bar.js.map +1 -1
  13. package/dist/Breadcrumbs.d.ts +1 -1
  14. package/dist/Breadcrumbs.js +25 -5
  15. package/dist/Breadcrumbs.js.map +1 -1
  16. package/dist/BreadcrumbsItem.d.ts +3 -3
  17. package/dist/BreadcrumbsItem.js +1 -1
  18. package/dist/BreadcrumbsItem.js.map +1 -1
  19. package/dist/BusyIndicator.d.ts +5 -5
  20. package/dist/BusyIndicator.js +33 -5
  21. package/dist/BusyIndicator.js.map +1 -1
  22. package/dist/Button.d.ts +9 -9
  23. package/dist/Button.js +107 -7
  24. package/dist/Button.js.map +1 -1
  25. package/dist/Calendar.d.ts +46 -7
  26. package/dist/Calendar.js +143 -16
  27. package/dist/Calendar.js.map +1 -1
  28. package/dist/CalendarDate.d.ts +1 -0
  29. package/dist/CalendarDate.js +11 -0
  30. package/dist/CalendarDate.js.map +1 -1
  31. package/dist/CalendarDateRange.d.ts +1 -0
  32. package/dist/CalendarDateRange.js +18 -0
  33. package/dist/CalendarDateRange.js.map +1 -1
  34. package/dist/CalendarLegend.js +24 -0
  35. package/dist/CalendarLegend.js.map +1 -1
  36. package/dist/CalendarLegendItem.d.ts +2 -2
  37. package/dist/CalendarLegendItem.js +16 -2
  38. package/dist/CalendarLegendItem.js.map +1 -1
  39. package/dist/CalendarPart.js +1 -2
  40. package/dist/CalendarPart.js.map +1 -1
  41. package/dist/Card.d.ts +4 -4
  42. package/dist/Card.js.map +1 -1
  43. package/dist/CardHeader.d.ts +6 -6
  44. package/dist/CardHeader.js +20 -2
  45. package/dist/CardHeader.js.map +1 -1
  46. package/dist/Carousel.d.ts +9 -9
  47. package/dist/Carousel.js +104 -14
  48. package/dist/Carousel.js.map +1 -1
  49. package/dist/CheckBox.d.ts +9 -9
  50. package/dist/CheckBox.js +85 -3
  51. package/dist/CheckBox.js.map +1 -1
  52. package/dist/ColorPalette.d.ts +2 -4
  53. package/dist/ColorPalette.js +34 -17
  54. package/dist/ColorPalette.js.map +1 -1
  55. package/dist/ColorPaletteItem.d.ts +3 -3
  56. package/dist/ColorPaletteItem.js +37 -5
  57. package/dist/ColorPaletteItem.js.map +1 -1
  58. package/dist/ColorPalettePopover.js +30 -4
  59. package/dist/ColorPalettePopover.js.map +1 -1
  60. package/dist/ColorPicker.d.ts +3 -3
  61. package/dist/ColorPicker.js +49 -8
  62. package/dist/ColorPicker.js.map +1 -1
  63. package/dist/ComboBox.d.ts +12 -11
  64. package/dist/ComboBox.js +108 -12
  65. package/dist/ComboBox.js.map +1 -1
  66. package/dist/ComboBoxItem.d.ts +4 -4
  67. package/dist/ComboBoxItem.js +18 -0
  68. package/dist/ComboBoxItem.js.map +1 -1
  69. package/dist/ComboBoxItemGroup.d.ts +2 -2
  70. package/dist/ComboBoxItemGroup.js +9 -1
  71. package/dist/ComboBoxItemGroup.js.map +1 -1
  72. package/dist/DateComponentBase.d.ts +3 -3
  73. package/dist/DateComponentBase.js +20 -3
  74. package/dist/DateComponentBase.js.map +1 -1
  75. package/dist/DatePicker.d.ts +7 -7
  76. package/dist/DatePicker.js +58 -4
  77. package/dist/DatePicker.js.map +1 -1
  78. package/dist/DateRangePicker.d.ts +2 -2
  79. package/dist/DateRangePicker.js +11 -4
  80. package/dist/DateRangePicker.js.map +1 -1
  81. package/dist/DateTimePicker.js +25 -2
  82. package/dist/DateTimePicker.js.map +1 -1
  83. package/dist/DayPicker.js +52 -18
  84. package/dist/DayPicker.js.map +1 -1
  85. package/dist/Dialog.d.ts +2 -2
  86. package/dist/Dialog.js +48 -2
  87. package/dist/Dialog.js.map +1 -1
  88. package/dist/DropIndicator.js +31 -4
  89. package/dist/DropIndicator.js.map +1 -1
  90. package/dist/FileUploader.d.ts +5 -5
  91. package/dist/FileUploader.js +43 -2
  92. package/dist/FileUploader.js.map +1 -1
  93. package/dist/Filters.js +2 -2
  94. package/dist/Filters.js.map +1 -1
  95. package/dist/Form.d.ts +5 -3
  96. package/dist/Form.js +65 -15
  97. package/dist/Form.js.map +1 -1
  98. package/dist/FormGroup.d.ts +4 -3
  99. package/dist/FormGroup.js +19 -11
  100. package/dist/FormGroup.js.map +1 -1
  101. package/dist/FormItem.d.ts +2 -1
  102. package/dist/FormItem.js +15 -5
  103. package/dist/FormItem.js.map +1 -1
  104. package/dist/Icon.d.ts +5 -5
  105. package/dist/Icon.js +38 -6
  106. package/dist/Icon.js.map +1 -1
  107. package/dist/Input.d.ts +34 -39
  108. package/dist/Input.js +197 -78
  109. package/dist/Input.js.map +1 -1
  110. package/dist/Label.d.ts +3 -3
  111. package/dist/Label.js +30 -2
  112. package/dist/Label.js.map +1 -1
  113. package/dist/Link.d.ts +19 -19
  114. package/dist/Link.js +59 -8
  115. package/dist/Link.js.map +1 -1
  116. package/dist/List.d.ts +17 -17
  117. package/dist/List.js +73 -12
  118. package/dist/List.js.map +1 -1
  119. package/dist/ListItem.d.ts +10 -4
  120. package/dist/ListItem.js +63 -6
  121. package/dist/ListItem.js.map +1 -1
  122. package/dist/ListItemBase.d.ts +3 -3
  123. package/dist/ListItemBase.js +41 -1
  124. package/dist/ListItemBase.js.map +1 -1
  125. package/dist/ListItemCustom.d.ts +2 -2
  126. package/dist/ListItemCustom.js +10 -0
  127. package/dist/ListItemCustom.js.map +1 -1
  128. package/dist/ListItemGroup.d.ts +4 -4
  129. package/dist/ListItemGroup.js +9 -1
  130. package/dist/ListItemGroup.js.map +1 -1
  131. package/dist/ListItemGroupHeader.d.ts +2 -2
  132. package/dist/ListItemGroupHeader.js.map +1 -1
  133. package/dist/ListItemStandard.d.ts +14 -24
  134. package/dist/ListItemStandard.js +48 -15
  135. package/dist/ListItemStandard.js.map +1 -1
  136. package/dist/Menu.d.ts +23 -9
  137. package/dist/Menu.js +49 -15
  138. package/dist/Menu.js.map +1 -1
  139. package/dist/MenuItem.d.ts +20 -20
  140. package/dist/MenuItem.js +42 -8
  141. package/dist/MenuItem.js.map +1 -1
  142. package/dist/MenuSeparator.d.ts +25 -0
  143. package/dist/MenuSeparator.js +59 -0
  144. package/dist/MenuSeparator.js.map +1 -0
  145. package/dist/MessageStrip.d.ts +1 -0
  146. package/dist/MessageStrip.js +46 -6
  147. package/dist/MessageStrip.js.map +1 -1
  148. package/dist/MonthPicker.js +14 -7
  149. package/dist/MonthPicker.js.map +1 -1
  150. package/dist/MultiComboBox.d.ts +30 -23
  151. package/dist/MultiComboBox.js +206 -109
  152. package/dist/MultiComboBox.js.map +1 -1
  153. package/dist/MultiComboBoxItem.js +8 -0
  154. package/dist/MultiComboBoxItem.js.map +1 -1
  155. package/dist/MultiComboBoxItemGroup.d.ts +2 -2
  156. package/dist/MultiComboBoxItemGroup.js +1 -1
  157. package/dist/MultiComboBoxItemGroup.js.map +1 -1
  158. package/dist/MultiInput.d.ts +4 -4
  159. package/dist/MultiInput.js +18 -2
  160. package/dist/MultiInput.js.map +1 -1
  161. package/dist/NavigationMenuItem.d.ts +5 -5
  162. package/dist/NavigationMenuItem.js.map +1 -1
  163. package/dist/Option.d.ts +14 -8
  164. package/dist/Option.js +4 -1
  165. package/dist/Option.js.map +1 -1
  166. package/dist/OptionCustom.d.ts +12 -6
  167. package/dist/OptionCustom.js +4 -1
  168. package/dist/OptionCustom.js.map +1 -1
  169. package/dist/Panel.d.ts +7 -7
  170. package/dist/Panel.js +64 -4
  171. package/dist/Panel.js.map +1 -1
  172. package/dist/Popover.d.ts +2 -2
  173. package/dist/Popover.js +71 -11
  174. package/dist/Popover.js.map +1 -1
  175. package/dist/Popup.d.ts +5 -5
  176. package/dist/Popup.js +46 -4
  177. package/dist/Popup.js.map +1 -1
  178. package/dist/ProgressIndicator.d.ts +4 -4
  179. package/dist/ProgressIndicator.js +24 -4
  180. package/dist/ProgressIndicator.js.map +1 -1
  181. package/dist/RadioButton.d.ts +11 -11
  182. package/dist/RadioButton.js +78 -5
  183. package/dist/RadioButton.js.map +1 -1
  184. package/dist/RangeSlider.js +22 -3
  185. package/dist/RangeSlider.js.map +1 -1
  186. package/dist/RatingIndicator.d.ts +6 -6
  187. package/dist/RatingIndicator.js +55 -6
  188. package/dist/RatingIndicator.js.map +1 -1
  189. package/dist/ResponsivePopover.js +19 -0
  190. package/dist/ResponsivePopover.js.map +1 -1
  191. package/dist/SegmentedButton.d.ts +2 -0
  192. package/dist/SegmentedButton.js +15 -3
  193. package/dist/SegmentedButton.js.map +1 -1
  194. package/dist/SegmentedButtonItem.d.ts +9 -9
  195. package/dist/SegmentedButtonItem.js +49 -7
  196. package/dist/SegmentedButtonItem.js.map +1 -1
  197. package/dist/Select.d.ts +8 -9
  198. package/dist/Select.js +60 -11
  199. package/dist/Select.js.map +1 -1
  200. package/dist/Slider.js +9 -2
  201. package/dist/Slider.js.map +1 -1
  202. package/dist/SliderBase.d.ts +4 -4
  203. package/dist/SliderBase.js +61 -7
  204. package/dist/SliderBase.js.map +1 -1
  205. package/dist/SpecialCalendarDate.d.ts +11 -4
  206. package/dist/SpecialCalendarDate.js +23 -5
  207. package/dist/SpecialCalendarDate.js.map +1 -1
  208. package/dist/SplitButton.d.ts +3 -3
  209. package/dist/SplitButton.js +54 -4
  210. package/dist/SplitButton.js.map +1 -1
  211. package/dist/StepInput.d.ts +8 -8
  212. package/dist/StepInput.js +70 -19
  213. package/dist/StepInput.js.map +1 -1
  214. package/dist/SuggestionItem.d.ts +16 -60
  215. package/dist/SuggestionItem.js +26 -27
  216. package/dist/SuggestionItem.js.map +1 -1
  217. package/dist/SuggestionItemCustom.d.ts +31 -0
  218. package/dist/SuggestionItemCustom.js +48 -0
  219. package/dist/SuggestionItemCustom.js.map +1 -0
  220. package/dist/SuggestionItemGroup.d.ts +19 -0
  221. package/dist/SuggestionItemGroup.js +35 -0
  222. package/dist/SuggestionItemGroup.js.map +1 -0
  223. package/dist/SuggestionListItem.d.ts +1 -1
  224. package/dist/Switch.d.ts +17 -17
  225. package/dist/Switch.js +40 -2
  226. package/dist/Switch.js.map +1 -1
  227. package/dist/Tab.d.ts +10 -10
  228. package/dist/Tab.js +41 -2
  229. package/dist/Tab.js.map +1 -1
  230. package/dist/TabContainer.d.ts +6 -6
  231. package/dist/TabContainer.js +81 -16
  232. package/dist/TabContainer.js.map +1 -1
  233. package/dist/Table.d.ts +23 -7
  234. package/dist/Table.js +71 -5
  235. package/dist/Table.js.map +1 -1
  236. package/dist/TableCell.d.ts +1 -0
  237. package/dist/TableCell.js +1 -0
  238. package/dist/TableCell.js.map +1 -1
  239. package/dist/TableCellBase.d.ts +2 -0
  240. package/dist/TableCellBase.js +7 -0
  241. package/dist/TableCellBase.js.map +1 -1
  242. package/dist/TableGrowing.d.ts +6 -5
  243. package/dist/TableGrowing.js +27 -1
  244. package/dist/TableGrowing.js.map +1 -1
  245. package/dist/TableHeaderCell.d.ts +1 -0
  246. package/dist/TableHeaderCell.js +42 -5
  247. package/dist/TableHeaderCell.js.map +1 -1
  248. package/dist/TableHeaderRow.d.ts +1 -0
  249. package/dist/TableHeaderRow.js +11 -0
  250. package/dist/TableHeaderRow.js.map +1 -1
  251. package/dist/TableNavigation.d.ts +3 -1
  252. package/dist/TableNavigation.js +25 -9
  253. package/dist/TableNavigation.js.map +1 -1
  254. package/dist/TableRow.d.ts +9 -0
  255. package/dist/TableRow.js +38 -0
  256. package/dist/TableRow.js.map +1 -1
  257. package/dist/TableRowBase.d.ts +3 -2
  258. package/dist/TableRowBase.js +16 -9
  259. package/dist/TableRowBase.js.map +1 -1
  260. package/dist/TableSelection.d.ts +27 -0
  261. package/dist/TableSelection.js +160 -6
  262. package/dist/TableSelection.js.map +1 -1
  263. package/dist/TableUtils.d.ts +7 -0
  264. package/dist/TableUtils.js +14 -0
  265. package/dist/TableUtils.js.map +1 -0
  266. package/dist/Tag.d.ts +2 -2
  267. package/dist/Tag.js +64 -6
  268. package/dist/Tag.js.map +1 -1
  269. package/dist/Text.js +10 -2
  270. package/dist/Text.js.map +1 -1
  271. package/dist/TextArea.d.ts +9 -9
  272. package/dist/TextArea.js +97 -7
  273. package/dist/TextArea.js.map +1 -1
  274. package/dist/TimePicker.d.ts +9 -9
  275. package/dist/TimePicker.js +41 -4
  276. package/dist/TimePicker.js.map +1 -1
  277. package/dist/TimePickerClock.d.ts +1 -1
  278. package/dist/TimePickerClock.js +121 -14
  279. package/dist/TimePickerClock.js.map +1 -1
  280. package/dist/TimePickerInternals.d.ts +4 -4
  281. package/dist/TimePickerInternals.js +33 -11
  282. package/dist/TimePickerInternals.js.map +1 -1
  283. package/dist/TimeSelectionClocks.js +15 -0
  284. package/dist/TimeSelectionClocks.js.map +1 -1
  285. package/dist/TimeSelectionInputs.d.ts +2 -2
  286. package/dist/TimeSelectionInputs.js +6 -3
  287. package/dist/TimeSelectionInputs.js.map +1 -1
  288. package/dist/Title.d.ts +1 -1
  289. package/dist/Title.js +20 -3
  290. package/dist/Title.js.map +1 -1
  291. package/dist/Toast.d.ts +1 -7
  292. package/dist/Toast.js +52 -23
  293. package/dist/Toast.js.map +1 -1
  294. package/dist/ToggleButton.js +9 -0
  295. package/dist/ToggleButton.js.map +1 -1
  296. package/dist/ToggleSpinButton.d.ts +1 -1
  297. package/dist/ToggleSpinButton.js +22 -4
  298. package/dist/ToggleSpinButton.js.map +1 -1
  299. package/dist/Token.d.ts +2 -2
  300. package/dist/Token.js +49 -1
  301. package/dist/Token.js.map +1 -1
  302. package/dist/Tokenizer.d.ts +2 -1
  303. package/dist/Tokenizer.js +73 -10
  304. package/dist/Tokenizer.js.map +1 -1
  305. package/dist/Toolbar.d.ts +6 -6
  306. package/dist/Toolbar.js +23 -8
  307. package/dist/Toolbar.js.map +1 -1
  308. package/dist/ToolbarButton.d.ts +11 -11
  309. package/dist/ToolbarButton.js +39 -6
  310. package/dist/ToolbarButton.js.map +1 -1
  311. package/dist/ToolbarItem.d.ts +1 -1
  312. package/dist/ToolbarItem.js +18 -2
  313. package/dist/ToolbarItem.js.map +1 -1
  314. package/dist/ToolbarSelect.d.ts +5 -5
  315. package/dist/ToolbarSelect.js +16 -4
  316. package/dist/ToolbarSelect.js.map +1 -1
  317. package/dist/ToolbarSelectOption.js +9 -0
  318. package/dist/ToolbarSelectOption.js.map +1 -1
  319. package/dist/ToolbarSeparator.js +4 -0
  320. package/dist/ToolbarSeparator.js.map +1 -1
  321. package/dist/ToolbarSpacer.js +1 -2
  322. package/dist/ToolbarSpacer.js.map +1 -1
  323. package/dist/Tree.d.ts +12 -12
  324. package/dist/Tree.js +11 -2
  325. package/dist/Tree.js.map +1 -1
  326. package/dist/TreeItem.d.ts +5 -5
  327. package/dist/TreeItem.js +1 -1
  328. package/dist/TreeItem.js.map +1 -1
  329. package/dist/TreeItemBase.d.ts +5 -5
  330. package/dist/TreeItemBase.js +61 -6
  331. package/dist/TreeItemBase.js.map +1 -1
  332. package/dist/TreeItemCustom.js +9 -0
  333. package/dist/TreeItemCustom.js.map +1 -1
  334. package/dist/YearPicker.js +14 -7
  335. package/dist/YearPicker.js.map +1 -1
  336. package/dist/bundle.common.bootstrap.d.ts +1 -1
  337. package/dist/bundle.esm.d.ts +3 -1
  338. package/dist/bundle.esm.js +4 -0
  339. package/dist/bundle.esm.js.map +1 -1
  340. package/dist/css/themes/Avatar.css +1 -1
  341. package/dist/css/themes/AvatarGroup.css +1 -1
  342. package/dist/css/themes/Bar.css +1 -1
  343. package/dist/css/themes/Breadcrumbs.css +1 -1
  344. package/dist/css/themes/BusyIndicator.css +1 -1
  345. package/dist/css/themes/Button.css +1 -1
  346. package/dist/css/themes/Calendar.css +1 -1
  347. package/dist/css/themes/CalendarHeader.css +1 -1
  348. package/dist/css/themes/CalendarLegend.css +1 -1
  349. package/dist/css/themes/CalendarLegendItem.css +1 -1
  350. package/dist/css/themes/Card.css +1 -1
  351. package/dist/css/themes/CardHeader.css +1 -1
  352. package/dist/css/themes/Carousel.css +1 -1
  353. package/dist/css/themes/CheckBox.css +1 -1
  354. package/dist/css/themes/ColorPalette.css +1 -1
  355. package/dist/css/themes/ColorPaletteItem.css +1 -1
  356. package/dist/css/themes/ColorPalettePopover.css +1 -1
  357. package/dist/css/themes/ColorPicker.css +1 -1
  358. package/dist/css/themes/ComboBox.css +1 -1
  359. package/dist/css/themes/DatePicker.css +1 -1
  360. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  361. package/dist/css/themes/DayPicker.css +1 -1
  362. package/dist/css/themes/Dialog.css +1 -1
  363. package/dist/css/themes/FileUploader.css +1 -1
  364. package/dist/css/themes/Form.css +1 -1
  365. package/dist/css/themes/FormItem.css +1 -1
  366. package/dist/css/themes/FormLabelSpan.css +1 -1
  367. package/dist/css/themes/GrowingButton.css +1 -1
  368. package/dist/css/themes/Icon.css +1 -1
  369. package/dist/css/themes/Input.css +1 -1
  370. package/dist/css/themes/InputIcon.css +1 -1
  371. package/dist/css/themes/InputSharedStyles.css +1 -1
  372. package/dist/css/themes/Link.css +1 -1
  373. package/dist/css/themes/List.css +1 -1
  374. package/dist/css/themes/ListItem.css +1 -1
  375. package/dist/css/themes/ListItemBase.css +1 -1
  376. package/dist/css/themes/ListItemCustom.css +1 -1
  377. package/dist/css/themes/ListItemGroup.css +1 -1
  378. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  379. package/dist/css/themes/ListItemIcon.css +1 -1
  380. package/dist/css/themes/Menu.css +1 -1
  381. package/dist/css/themes/MenuItem.css +1 -1
  382. package/dist/css/themes/MenuSeparator.css +1 -0
  383. package/dist/css/themes/MessageStrip.css +1 -1
  384. package/dist/css/themes/MonthPicker.css +1 -1
  385. package/dist/css/themes/MultiComboBox.css +1 -1
  386. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  387. package/dist/css/themes/MultiInput.css +1 -1
  388. package/dist/css/themes/NavigationMenu.css +1 -1
  389. package/dist/css/themes/NavigationMenuItem.css +1 -1
  390. package/dist/css/themes/OptionBase.css +1 -1
  391. package/dist/css/themes/Panel.css +1 -1
  392. package/dist/css/themes/Popover.css +1 -1
  393. package/dist/css/themes/PopupsCommon.css +1 -1
  394. package/dist/css/themes/ProgressIndicator.css +1 -1
  395. package/dist/css/themes/RadioButton.css +1 -1
  396. package/dist/css/themes/RangeSlider.css +1 -1
  397. package/dist/css/themes/RatingIndicator.css +1 -1
  398. package/dist/css/themes/ResponsivePopover.css +1 -1
  399. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  400. package/dist/css/themes/SegmentedButton.css +1 -1
  401. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  402. package/dist/css/themes/Select.css +1 -1
  403. package/dist/css/themes/SliderBase.css +1 -1
  404. package/dist/css/themes/SplitButton.css +1 -1
  405. package/dist/css/themes/StepInput.css +1 -1
  406. package/dist/css/themes/SuggestionItem.css +1 -0
  407. package/dist/css/themes/SuggestionItemCustom.css +1 -0
  408. package/dist/css/themes/Suggestions.css +1 -1
  409. package/dist/css/themes/Switch.css +1 -1
  410. package/dist/css/themes/TabContainer.css +1 -1
  411. package/dist/css/themes/TabInOverflow.css +1 -1
  412. package/dist/css/themes/TabInStrip.css +1 -1
  413. package/dist/css/themes/TabSemanticIcon.css +1 -1
  414. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  415. package/dist/css/themes/Table.css +1 -1
  416. package/dist/css/themes/TableCellBase.css +1 -1
  417. package/dist/css/themes/TableHeaderRow.css +1 -1
  418. package/dist/css/themes/TableRow.css +1 -1
  419. package/dist/css/themes/TableRowBase.css +1 -1
  420. package/dist/css/themes/Tag.css +1 -1
  421. package/dist/css/themes/Text.css +1 -1
  422. package/dist/css/themes/TextArea.css +1 -1
  423. package/dist/css/themes/TimePicker.css +1 -1
  424. package/dist/css/themes/Toast.css +1 -1
  425. package/dist/css/themes/ToggleButton.css +1 -1
  426. package/dist/css/themes/Token.css +1 -1
  427. package/dist/css/themes/Tokenizer.css +1 -1
  428. package/dist/css/themes/TokenizerPopover.css +1 -1
  429. package/dist/css/themes/Toolbar.css +1 -1
  430. package/dist/css/themes/ToolbarPopover.css +1 -1
  431. package/dist/css/themes/TreeItem.css +1 -1
  432. package/dist/css/themes/ValueStateMessage.css +1 -1
  433. package/dist/css/themes/YearPicker.css +1 -1
  434. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  435. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  436. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  437. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  438. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  439. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  440. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  441. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  442. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  443. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  444. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  445. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  446. package/dist/custom-elements-internal.json +1748 -1765
  447. package/dist/custom-elements.json +1476 -1532
  448. package/dist/features/InputSuggestions.d.ts +22 -48
  449. package/dist/features/InputSuggestions.js +63 -106
  450. package/dist/features/InputSuggestions.js.map +1 -1
  451. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  452. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  453. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  454. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  455. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  456. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  457. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  458. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  459. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  460. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  461. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  462. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  463. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  464. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  465. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  466. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  467. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  468. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  469. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  470. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  471. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  472. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  473. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  474. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  475. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  476. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  477. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  478. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  479. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  480. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  481. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  482. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  483. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  484. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  485. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  486. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  487. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  488. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  489. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  490. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  491. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  492. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  493. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  494. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  495. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  496. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  497. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  498. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  499. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  500. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  501. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  502. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  503. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  504. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  505. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  506. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  507. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  508. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  509. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  510. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  511. package/dist/generated/templates/AvatarTemplate.lit.js +1 -1
  512. package/dist/generated/templates/AvatarTemplate.lit.js.map +1 -1
  513. package/dist/generated/templates/CalendarHeaderTemplate.lit.d.ts +1 -1
  514. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +3 -3
  515. package/dist/generated/templates/CalendarHeaderTemplate.lit.js.map +1 -1
  516. package/dist/generated/templates/CalendarTemplate.lit.js +4 -2
  517. package/dist/generated/templates/CalendarTemplate.lit.js.map +1 -1
  518. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +1 -1
  519. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  520. package/dist/generated/templates/ComboBoxTemplate.lit.js +1 -1
  521. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  522. package/dist/generated/templates/InputPopoverTemplate.lit.js +8 -12
  523. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
  524. package/dist/generated/templates/InputTemplate.lit.js +8 -12
  525. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  526. package/dist/generated/templates/ListItemStandardTemplate.lit.js +18 -20
  527. package/dist/generated/templates/ListItemStandardTemplate.lit.js.map +1 -1
  528. package/dist/generated/templates/MenuSeparatorTemplate.lit.d.ts +4 -0
  529. package/dist/generated/templates/MenuSeparatorTemplate.lit.js +5 -0
  530. package/dist/generated/templates/MenuSeparatorTemplate.lit.js.map +1 -0
  531. package/dist/generated/templates/MessageStripTemplate.lit.js +1 -1
  532. package/dist/generated/templates/MessageStripTemplate.lit.js.map +1 -1
  533. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +11 -11
  534. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  535. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +11 -11
  536. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  537. package/dist/generated/templates/MultiInputTemplate.lit.js +7 -11
  538. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  539. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.d.ts +4 -0
  540. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.js +5 -0
  541. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.js.map +1 -0
  542. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.d.ts +4 -0
  543. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.js +8 -0
  544. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.js.map +1 -0
  545. package/dist/generated/templates/SuggestionItemTemplate.lit.d.ts +4 -0
  546. package/dist/generated/templates/SuggestionItemTemplate.lit.js +6 -0
  547. package/dist/generated/templates/SuggestionItemTemplate.lit.js.map +1 -0
  548. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +21 -23
  549. package/dist/generated/templates/SuggestionListItemTemplate.lit.js.map +1 -1
  550. package/dist/generated/templates/TabContainerTemplate.lit.js +2 -2
  551. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
  552. package/dist/generated/templates/TableHeaderRowTemplate.lit.js +2 -2
  553. package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +1 -1
  554. package/dist/generated/templates/TableRowTemplate.lit.js +6 -5
  555. package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -1
  556. package/dist/generated/templates/TableTemplate.lit.js +6 -6
  557. package/dist/generated/templates/TableTemplate.lit.js.map +1 -1
  558. package/dist/generated/templates/ToastTemplate.lit.js +1 -1
  559. package/dist/generated/templates/ToastTemplate.lit.js.map +1 -1
  560. package/dist/generated/themes/Avatar.css.js +1 -1
  561. package/dist/generated/themes/Avatar.css.js.map +1 -1
  562. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  563. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  564. package/dist/generated/themes/Bar.css.js +1 -1
  565. package/dist/generated/themes/Bar.css.js.map +1 -1
  566. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  567. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  568. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  569. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  570. package/dist/generated/themes/Button.css.js +1 -1
  571. package/dist/generated/themes/Button.css.js.map +1 -1
  572. package/dist/generated/themes/Calendar.css.js +1 -1
  573. package/dist/generated/themes/Calendar.css.js.map +1 -1
  574. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  575. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  576. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  577. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  578. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  579. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  580. package/dist/generated/themes/Card.css.js +1 -1
  581. package/dist/generated/themes/Card.css.js.map +1 -1
  582. package/dist/generated/themes/CardHeader.css.js +1 -1
  583. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  584. package/dist/generated/themes/Carousel.css.js +1 -1
  585. package/dist/generated/themes/Carousel.css.js.map +1 -1
  586. package/dist/generated/themes/CheckBox.css.js +1 -1
  587. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  588. package/dist/generated/themes/ColorPalette.css.js +1 -1
  589. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  590. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  591. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  592. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  593. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  594. package/dist/generated/themes/ColorPicker.css.js +1 -1
  595. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  596. package/dist/generated/themes/ComboBox.css.js +1 -1
  597. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  598. package/dist/generated/themes/DatePicker.css.js +1 -1
  599. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  600. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  601. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  602. package/dist/generated/themes/DayPicker.css.js +1 -1
  603. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  604. package/dist/generated/themes/Dialog.css.js +1 -1
  605. package/dist/generated/themes/Dialog.css.js.map +1 -1
  606. package/dist/generated/themes/FileUploader.css.js +1 -1
  607. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  608. package/dist/generated/themes/Form.css.js +1 -1
  609. package/dist/generated/themes/Form.css.js.map +1 -1
  610. package/dist/generated/themes/FormItem.css.js +1 -1
  611. package/dist/generated/themes/FormItem.css.js.map +1 -1
  612. package/dist/generated/themes/FormLabelSpan.css.js +1 -1
  613. package/dist/generated/themes/FormLabelSpan.css.js.map +1 -1
  614. package/dist/generated/themes/GrowingButton.css.js +1 -1
  615. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  616. package/dist/generated/themes/Icon.css.js +1 -1
  617. package/dist/generated/themes/Icon.css.js.map +1 -1
  618. package/dist/generated/themes/Input.css.js +1 -1
  619. package/dist/generated/themes/Input.css.js.map +1 -1
  620. package/dist/generated/themes/InputIcon.css.js +1 -1
  621. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  622. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  623. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  624. package/dist/generated/themes/Link.css.js +1 -1
  625. package/dist/generated/themes/Link.css.js.map +1 -1
  626. package/dist/generated/themes/List.css.js +1 -1
  627. package/dist/generated/themes/List.css.js.map +1 -1
  628. package/dist/generated/themes/ListItem.css.js +1 -1
  629. package/dist/generated/themes/ListItem.css.js.map +1 -1
  630. package/dist/generated/themes/ListItemBase.css.js +1 -1
  631. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  632. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  633. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  634. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  635. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  636. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  637. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  638. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  639. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  640. package/dist/generated/themes/Menu.css.js +1 -1
  641. package/dist/generated/themes/Menu.css.js.map +1 -1
  642. package/dist/generated/themes/MenuItem.css.js +1 -1
  643. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  644. package/dist/generated/themes/MenuSeparator.css.d.ts +3 -0
  645. package/dist/generated/themes/MenuSeparator.css.js +9 -0
  646. package/dist/generated/themes/MenuSeparator.css.js.map +1 -0
  647. package/dist/generated/themes/MessageStrip.css.js +1 -1
  648. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  649. package/dist/generated/themes/MonthPicker.css.js +1 -1
  650. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  651. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  652. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  653. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  654. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  655. package/dist/generated/themes/MultiInput.css.js +1 -1
  656. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  657. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  658. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  659. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  660. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  661. package/dist/generated/themes/OptionBase.css.js +1 -1
  662. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  663. package/dist/generated/themes/Panel.css.js +1 -1
  664. package/dist/generated/themes/Panel.css.js.map +1 -1
  665. package/dist/generated/themes/Popover.css.js +1 -1
  666. package/dist/generated/themes/Popover.css.js.map +1 -1
  667. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  668. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  669. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  670. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  671. package/dist/generated/themes/RadioButton.css.js +1 -1
  672. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  673. package/dist/generated/themes/RangeSlider.css.js +1 -1
  674. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  675. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  676. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  677. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  678. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  679. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  680. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  681. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  682. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  683. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  684. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  685. package/dist/generated/themes/Select.css.js +1 -1
  686. package/dist/generated/themes/Select.css.js.map +1 -1
  687. package/dist/generated/themes/SliderBase.css.js +1 -1
  688. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  689. package/dist/generated/themes/SplitButton.css.js +1 -1
  690. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  691. package/dist/generated/themes/StepInput.css.js +1 -1
  692. package/dist/generated/themes/StepInput.css.js.map +1 -1
  693. package/dist/generated/themes/SuggestionItem.css.d.ts +3 -0
  694. package/dist/generated/themes/SuggestionItem.css.js +9 -0
  695. package/dist/generated/themes/SuggestionItem.css.js.map +1 -0
  696. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +3 -0
  697. package/dist/generated/themes/SuggestionItemCustom.css.js +9 -0
  698. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -0
  699. package/dist/generated/themes/Suggestions.css.js +1 -1
  700. package/dist/generated/themes/Suggestions.css.js.map +1 -1
  701. package/dist/generated/themes/Switch.css.js +1 -1
  702. package/dist/generated/themes/Switch.css.js.map +1 -1
  703. package/dist/generated/themes/TabContainer.css.js +1 -1
  704. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  705. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  706. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  707. package/dist/generated/themes/TabInStrip.css.js +1 -1
  708. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  709. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  710. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  711. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  712. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  713. package/dist/generated/themes/Table.css.js +1 -1
  714. package/dist/generated/themes/Table.css.js.map +1 -1
  715. package/dist/generated/themes/TableCellBase.css.js +1 -1
  716. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  717. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  718. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  719. package/dist/generated/themes/TableRow.css.js +1 -1
  720. package/dist/generated/themes/TableRow.css.js.map +1 -1
  721. package/dist/generated/themes/TableRowBase.css.js +1 -1
  722. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  723. package/dist/generated/themes/Tag.css.js +1 -1
  724. package/dist/generated/themes/Tag.css.js.map +1 -1
  725. package/dist/generated/themes/Text.css.js +1 -1
  726. package/dist/generated/themes/Text.css.js.map +1 -1
  727. package/dist/generated/themes/TextArea.css.js +1 -1
  728. package/dist/generated/themes/TextArea.css.js.map +1 -1
  729. package/dist/generated/themes/TimePicker.css.js +1 -1
  730. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  731. package/dist/generated/themes/Toast.css.js +1 -1
  732. package/dist/generated/themes/Toast.css.js.map +1 -1
  733. package/dist/generated/themes/ToggleButton.css.js +1 -1
  734. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  735. package/dist/generated/themes/Token.css.js +1 -1
  736. package/dist/generated/themes/Token.css.js.map +1 -1
  737. package/dist/generated/themes/Tokenizer.css.js +1 -1
  738. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  739. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  740. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  741. package/dist/generated/themes/Toolbar.css.js +1 -1
  742. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  743. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  744. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  745. package/dist/generated/themes/TreeItem.css.js +1 -1
  746. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  747. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  748. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  749. package/dist/generated/themes/YearPicker.css.js +1 -1
  750. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  751. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  752. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  753. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  754. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  755. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  756. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  757. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  758. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  759. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  760. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  761. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  762. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  763. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  764. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  765. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  766. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  767. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  768. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  769. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  770. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  771. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  772. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  773. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  774. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  775. package/dist/types/IconMode.d.ts +4 -4
  776. package/dist/types/IconMode.js +4 -4
  777. package/dist/types/IconMode.js.map +1 -1
  778. package/dist/types/{ListSeparators.d.ts → ListSeparator.d.ts} +3 -2
  779. package/dist/types/{ListSeparators.js → ListSeparator.js} +9 -8
  780. package/dist/types/ListSeparator.js.map +1 -0
  781. package/dist/vscode.html-custom-data.json +64 -80
  782. package/dist/web-types.json +511 -518
  783. package/package.json +11 -9
  784. package/src/Avatar.hbs +1 -1
  785. package/src/Calendar.hbs +3 -19
  786. package/src/CalendarHeader.hbs +10 -10
  787. package/src/ComboBoxPopover.hbs +1 -1
  788. package/src/InputPopover.hbs +1 -22
  789. package/src/ListItemStandard.hbs +3 -9
  790. package/src/MenuSeparator.hbs +6 -0
  791. package/src/MessageStrip.hbs +1 -1
  792. package/src/MultiComboBox.hbs +1 -0
  793. package/src/MultiComboBoxPopover.hbs +14 -7
  794. package/src/SuggestionItem.hbs +14 -0
  795. package/src/SuggestionItemCustom.hbs +5 -0
  796. package/src/SuggestionItemGroup.hbs +1 -0
  797. package/src/TabContainer.hbs +2 -2
  798. package/src/Table.hbs +6 -12
  799. package/src/TableHeaderRow.hbs +2 -1
  800. package/src/TableRow.hbs +6 -2
  801. package/src/Toast.hbs +1 -1
  802. package/src/i18n/messagebundle_ar.properties +15 -2
  803. package/src/i18n/messagebundle_bg.properties +15 -2
  804. package/src/i18n/messagebundle_ca.properties +31 -18
  805. package/src/i18n/messagebundle_cnr.properties +15 -2
  806. package/src/i18n/messagebundle_cs.properties +15 -2
  807. package/src/i18n/messagebundle_cy.properties +25 -12
  808. package/src/i18n/messagebundle_da.properties +15 -2
  809. package/src/i18n/messagebundle_de.properties +18 -5
  810. package/src/i18n/messagebundle_el.properties +15 -2
  811. package/src/i18n/messagebundle_en.properties +15 -2
  812. package/src/i18n/messagebundle_en_GB.properties +15 -2
  813. package/src/i18n/messagebundle_en_US_saprigi.properties +15 -2
  814. package/src/i18n/messagebundle_es.properties +15 -2
  815. package/src/i18n/messagebundle_es_MX.properties +18 -5
  816. package/src/i18n/messagebundle_et.properties +15 -2
  817. package/src/i18n/messagebundle_fi.properties +15 -2
  818. package/src/i18n/messagebundle_fr.properties +33 -20
  819. package/src/i18n/messagebundle_fr_CA.properties +33 -20
  820. package/src/i18n/messagebundle_hi.properties +15 -2
  821. package/src/i18n/messagebundle_hr.properties +15 -2
  822. package/src/i18n/messagebundle_hu.properties +15 -2
  823. package/src/i18n/messagebundle_id.properties +15 -2
  824. package/src/i18n/messagebundle_it.properties +19 -6
  825. package/src/i18n/messagebundle_iw.properties +17 -4
  826. package/src/i18n/messagebundle_ja.properties +15 -2
  827. package/src/i18n/messagebundle_kk.properties +19 -6
  828. package/src/i18n/messagebundle_ko.properties +18 -5
  829. package/src/i18n/messagebundle_lt.properties +15 -2
  830. package/src/i18n/messagebundle_lv.properties +15 -2
  831. package/src/i18n/messagebundle_mk.properties +15 -2
  832. package/src/i18n/messagebundle_ms.properties +15 -2
  833. package/src/i18n/messagebundle_nl.properties +15 -2
  834. package/src/i18n/messagebundle_no.properties +15 -2
  835. package/src/i18n/messagebundle_pl.properties +15 -2
  836. package/src/i18n/messagebundle_pt.properties +15 -2
  837. package/src/i18n/messagebundle_pt_PT.properties +15 -2
  838. package/src/i18n/messagebundle_ro.properties +15 -2
  839. package/src/i18n/messagebundle_ru.properties +15 -2
  840. package/src/i18n/messagebundle_sh.properties +15 -2
  841. package/src/i18n/messagebundle_sk.properties +15 -2
  842. package/src/i18n/messagebundle_sl.properties +15 -2
  843. package/src/i18n/messagebundle_sr.properties +15 -2
  844. package/src/i18n/messagebundle_sv.properties +15 -2
  845. package/src/i18n/messagebundle_th.properties +16 -3
  846. package/src/i18n/messagebundle_tr.properties +16 -3
  847. package/src/i18n/messagebundle_uk.properties +16 -3
  848. package/src/i18n/messagebundle_vi.properties +15 -2
  849. package/src/i18n/messagebundle_zh_CN.properties +15 -2
  850. package/src/i18n/messagebundle_zh_TW.properties +15 -2
  851. package/src/themes/Calendar.css +6 -5
  852. package/src/themes/CheckBox.css +3 -8
  853. package/src/themes/Link.css +2 -2
  854. package/src/themes/ListItem.css +9 -13
  855. package/src/themes/MenuItem.css +0 -4
  856. package/src/themes/MenuSeparator.css +11 -0
  857. package/src/themes/SegmentedButtonItem.css +2 -1
  858. package/src/themes/SuggestionItem.css +14 -0
  859. package/src/themes/SuggestionItemCustom.css +3 -0
  860. package/src/themes/Suggestions.css +0 -5
  861. package/src/themes/TabContainer.css +1 -1
  862. package/src/themes/Table.css +3 -2
  863. package/src/themes/TableRow.css +15 -1
  864. package/src/themes/Tag.css +5 -75
  865. package/src/themes/TextArea.css +2 -2
  866. package/src/themes/base/CheckBox-parameters.css +2 -4
  867. package/src/themes/base/Table-parameters.css +1 -0
  868. package/src/themes/base/Tag-parameters.css +2 -1
  869. package/src/themes/base/sizes-parameters.css +1 -2
  870. package/src/themes/sap_fiori_3/CheckBox-parameters.css +0 -3
  871. package/src/themes/sap_fiori_3/Tag-parameters.css +5 -0
  872. package/src/themes/sap_fiori_3/parameters-bundle.css +1 -1
  873. package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +0 -3
  874. package/src/themes/sap_fiori_3_hcb/CheckBox-parameters.css +1 -0
  875. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  876. package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +4 -0
  877. package/src/themes/sap_fiori_3_hcw/CheckBox-parameters.css +1 -0
  878. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  879. package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +4 -0
  880. package/src/themes/sap_horizon/CheckBox-parameters.css +0 -1
  881. package/src/themes/sap_horizon/RatingIndicator-parameters.css +5 -3
  882. package/src/themes/sap_horizon/sizes-parameters.css +3 -0
  883. package/src/themes/sap_horizon_dark/CheckBox-parameters.css +0 -1
  884. package/src/themes/sap_horizon_dark/RatingIndicator-parameters.css +5 -3
  885. package/src/themes/sap_horizon_dark/sizes-parameters.css +3 -0
  886. package/src/themes/sap_horizon_exp/CheckBox-parameters.css +0 -1
  887. package/src/themes/sap_horizon_hcb/CheckBox-parameters.css +1 -1
  888. package/src/themes/sap_horizon_hcb/RatingIndicator-parameters.css +5 -3
  889. package/src/themes/sap_horizon_hcb/sizes-parameters.css +4 -0
  890. package/src/themes/sap_horizon_hcw/CheckBox-parameters.css +1 -1
  891. package/src/themes/sap_horizon_hcw/RatingIndicator-parameters.css +5 -3
  892. package/src/themes/sap_horizon_hcw/sizes-parameters.css +4 -0
  893. package/dist/CalendarHeader.d.ts +0 -80
  894. package/dist/CalendarHeader.js +0 -160
  895. package/dist/CalendarHeader.js.map +0 -1
  896. package/dist/SuggestionGroupItem.d.ts +0 -28
  897. package/dist/SuggestionGroupItem.js +0 -43
  898. package/dist/SuggestionGroupItem.js.map +0 -1
  899. package/dist/styles/Icon.css +0 -33
  900. package/dist/styles/Icon.module.css +0 -33
  901. package/dist/types/ListSeparators.js.map +0 -1
  902. package/src/styles/Icon.module.css +0 -1
@@ -1,17 +1,13 @@
1
1
  import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
- import type ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
4
3
  import List from "../List.js";
5
4
  import type { ListItemClickEventDetail, ListSelectionChangeEventDetail } from "../List.js";
6
5
  import type ResponsivePopover from "../ResponsivePopover.js";
7
6
  import SuggestionItem from "../SuggestionItem.js";
8
- import SuggestionGroupItem from "../SuggestionGroupItem.js";
9
7
  import Button from "../Button.js";
10
8
  import Icon from "../Icon.js";
11
- import ListItemGroupHeader from "../ListItemGroupHeader.js";
12
- import SuggestionListItem from "../SuggestionListItem.js";
13
- import type ListItemType from "../types/ListItemType.js";
14
- import type { IInputSuggestionItem } from "../Input.js";
9
+ import SuggestionItemGroup from "../SuggestionItemGroup.js";
10
+ import type { IInputSuggestionItem, IInputSuggestionItemSelectable } from "../Input.js";
15
11
  interface SuggestionComponent extends UI5Element {
16
12
  _isValueStateFocused: boolean;
17
13
  focused: boolean;
@@ -21,29 +17,15 @@ interface SuggestionComponent extends UI5Element {
21
17
  hasValueStateMessage: boolean;
22
18
  suggestionItems: Array<IInputSuggestionItem>;
23
19
  open: boolean;
24
- onItemMouseOver: (e: MouseEvent) => void;
25
- onItemMouseOut: (e: MouseEvent) => void;
26
- onItemSelected: (pressedItem: SuggestionItem, listItem: SuggestionListItem | null, keyboardUsed: boolean) => void;
27
- onItemSelect: (item: SuggestionListItem) => void;
20
+ onItemSelected: (pressedItem: IInputSuggestionItemSelectable, keyboardUsed: boolean) => void;
21
+ onItemSelect: (item: IInputSuggestionItem) => void;
28
22
  }
29
- type InputSuggestion = {
30
- text: string;
31
- description?: string;
32
- image?: string;
33
- icon?: string;
34
- type?: `${ListItemType}`;
35
- additionalText?: string;
36
- additionalTextState?: `${ValueState}`;
37
- groupItem: boolean;
38
- key: number;
39
- };
40
23
  type SuggestionsAccInfo = {
41
24
  isGroup: boolean;
42
- currentPos: number;
43
- listSize: number;
25
+ currentPos?: number;
26
+ listSize?: number;
44
27
  itemText: string;
45
- description: string;
46
- additionalText: string;
28
+ additionalText?: string;
47
29
  };
48
30
  /**
49
31
  * A class to manage the `Input` suggestion items.
@@ -61,13 +43,9 @@ declare class Suggestions {
61
43
  _handledPress?: boolean;
62
44
  attachedAfterOpened?: boolean;
63
45
  attachedAfterClose?: boolean;
64
- fnOnSuggestionItemPress: (e: CustomEvent<ListItemClickEventDetail | ListSelectionChangeEventDetail>) => void;
65
- fnOnSuggestionItemMouseOver: (e: MouseEvent) => void;
66
- fnOnSuggestionItemMouseOut: (e: MouseEvent) => void;
67
46
  static i18nBundle: I18nBundle;
68
47
  static SCROLL_STEP: number;
69
48
  constructor(component: SuggestionComponent, slotName: string, highlight: boolean, handleFocus: boolean);
70
- defaultSlotProperties(hightlightValue: string): InputSuggestion[];
71
49
  onUp(e: KeyboardEvent): boolean;
72
50
  onDown(e: KeyboardEvent): boolean;
73
51
  onSpace(e: KeyboardEvent): boolean;
@@ -80,20 +58,18 @@ declare class Suggestions {
80
58
  toggle(bToggle: boolean, options: {
81
59
  preventFocusRestore: boolean;
82
60
  }): void;
61
+ get _selectedItem(): SuggestionItem | null;
83
62
  _isScrollable(): boolean;
84
- open(): void;
85
63
  close(preventFocusRestore?: boolean): void;
86
64
  updateSelectedItemPosition(pos: number): void;
87
- onItemMouseOver(e: MouseEvent): void;
88
- onItemMouseOut(e: MouseEvent): void;
89
- onItemSelected(selectedItem: SuggestionListItem | null, keyboardUsed: boolean): void;
90
- onItemSelect(item: SuggestionListItem): void;
65
+ onItemSelected(selectedItem: IInputSuggestionItemSelectable | null, keyboardUsed: boolean): void;
66
+ onItemSelect(item: IInputSuggestionItem): void;
91
67
  onItemPress(e: CustomEvent<ListItemClickEventDetail | ListSelectionChangeEventDetail>): void;
92
68
  _onOpen(): void;
93
69
  _onClose(): void;
94
70
  _applyFocus(): void;
95
71
  _isItemOnTarget(): boolean;
96
- get _isGroupOrInactiveItem(): boolean;
72
+ get _isGroupItem(): boolean;
97
73
  isOpened(): boolean;
98
74
  _handleItemNavigation(forward: boolean): void;
99
75
  _selectNextItem(): void;
@@ -101,29 +77,27 @@ declare class Suggestions {
101
77
  _moveItemSelection(previousIdx: number, nextIdx: number): void;
102
78
  _deselectItems(): void;
103
79
  _clearItemFocus(): void;
104
- _isItemIntoView(item: SuggestionListItem): boolean;
105
- _scrollItemIntoView(item: SuggestionListItem): void;
80
+ _isItemIntoView(item: IInputSuggestionItem): boolean;
81
+ _scrollItemIntoView(item: IInputSuggestionItem): void;
106
82
  _getScrollContainer(): HTMLElement;
107
- _getItems(): Array<SuggestionListItem>;
108
- _getNonGroupItems(): Array<SuggestionListItem>;
83
+ /**
84
+ * Returns the items in 1D array.
85
+ *
86
+ */
87
+ _getItems(): Array<IInputSuggestionItem>;
88
+ _getNonGroupItems(): Array<IInputSuggestionItemSelectable>;
109
89
  _getComponent(): SuggestionComponent;
110
90
  _getList(): List;
111
91
  _getListWidth(): number;
112
- _getRealItems(): SuggestionItem[];
113
92
  _getPicker(): ResponsivePopover;
114
93
  get itemSelectionAnnounce(): string;
115
- getRowText(suggestion: IInputSuggestionItem): string;
116
- getRowDesc(suggestion: IInputSuggestionItem): string;
117
- getHighlightedText(suggestion: IInputSuggestionItem, input: string): string;
118
- getHighlightedDesc(suggestion: IInputSuggestionItem, input: string): string;
119
94
  hightlightInput(text: string, input: string): string;
120
- sanitizeText(text: string): string;
121
95
  get _hasValueState(): boolean;
122
96
  _focusValueState(): void;
123
97
  _clearValueStateFocus(): void;
124
- _clearSelectedSuggestionAndAccInfo(): void;
125
- static get dependencies(): (typeof Button | typeof Icon | typeof ListItemGroupHeader | typeof List | typeof SuggestionListItem | typeof SuggestionGroupItem)[];
98
+ _clearSelectedSuggestionAndaccInfo(): void;
99
+ static get dependencies(): (typeof Button | typeof Icon | typeof List | typeof SuggestionItem | typeof SuggestionItemGroup)[];
126
100
  static init(): Promise<void>;
127
101
  }
128
102
  export default Suggestions;
129
- export type { SuggestionComponent, InputSuggestion, };
103
+ export type { SuggestionComponent, };
@@ -1,16 +1,12 @@
1
1
  import { registerFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
2
2
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
- // @ts-ignore
4
- import encodeXML from "@ui5/webcomponents-base/dist/sap/base/security/encodeXML.js";
5
3
  import generateHighlightedMarkup from "@ui5/webcomponents-base/dist/util/generateHighlightedMarkup.js";
6
4
  import List from "../List.js";
7
5
  import SuggestionItem from "../SuggestionItem.js";
8
- import SuggestionGroupItem from "../SuggestionGroupItem.js";
9
6
  import Button from "../Button.js";
10
7
  import Icon from "../Icon.js";
11
- import ListItemGroupHeader from "../ListItemGroupHeader.js";
12
- import SuggestionListItem from "../SuggestionListItem.js";
13
8
  import { LIST_ITEM_POSITION, LIST_ITEM_GROUP_HEADER, } from "../generated/i18n/i18n-defaults.js";
9
+ import SuggestionItemGroup from "../SuggestionItemGroup.js";
14
10
  /**
15
11
  * A class to manage the `Input` suggestion items.
16
12
  * @class
@@ -26,36 +22,10 @@ class Suggestions {
26
22
  this.handleFocus = handleFocus;
27
23
  // Defines, if the suggestions should highlight.
28
24
  this.highlight = highlight;
29
- // Press and Focus handlers
30
- this.fnOnSuggestionItemPress = this.onItemPress.bind(this);
31
- this.fnOnSuggestionItemMouseOver = this.onItemMouseOver.bind(this);
32
- this.fnOnSuggestionItemMouseOut = this.onItemMouseOut.bind(this);
33
25
  // An integer value to store the currently selected item position,
34
26
  // that changes due to user interaction.
35
27
  this.selectedItemIndex = -1;
36
28
  }
37
- /* Public methods */
38
- defaultSlotProperties(hightlightValue) {
39
- const inputSuggestionItems = this._getComponent().suggestionItems;
40
- const highlight = this.highlight && !!hightlightValue;
41
- const suggestions = [];
42
- inputSuggestionItems.map((suggestion, idx) => {
43
- const text = highlight ? this.getHighlightedText(suggestion, hightlightValue) : this.getRowText(suggestion);
44
- const description = highlight ? this.getHighlightedDesc(suggestion, hightlightValue) : this.getRowDesc(suggestion);
45
- return suggestions.push({
46
- text,
47
- description,
48
- image: suggestion.image || undefined,
49
- icon: suggestion.icon || undefined,
50
- type: suggestion.type || undefined,
51
- additionalText: suggestion.additionalText || undefined,
52
- additionalTextState: suggestion.additionalTextState,
53
- groupItem: suggestion.groupItem,
54
- key: idx,
55
- });
56
- });
57
- return suggestions;
58
- }
59
29
  onUp(e) {
60
30
  e.preventDefault();
61
31
  this._handleItemNavigation(false /* forward */);
@@ -69,18 +39,18 @@ class Suggestions {
69
39
  onSpace(e) {
70
40
  if (this._isItemOnTarget()) {
71
41
  e.preventDefault();
72
- this.onItemSelected(null, true /* keyboardUsed */);
42
+ this.onItemSelected(this._selectedItem, true /* keyboardUsed */);
73
43
  return true;
74
44
  }
75
45
  return false;
76
46
  }
77
47
  onEnter(e) {
78
- if (this._isGroupOrInactiveItem) {
48
+ if (this._isGroupItem) {
79
49
  e.preventDefault();
80
50
  return false;
81
51
  }
82
52
  if (this._isItemOnTarget()) {
83
- this.onItemSelected(null, true /* keyboardUsed */);
53
+ this.onItemSelected(this._selectedItem, true /* keyboardUsed */);
84
54
  return true;
85
55
  }
86
56
  return false;
@@ -128,7 +98,7 @@ class Suggestions {
128
98
  }
129
99
  onTab() {
130
100
  if (this._isItemOnTarget()) {
131
- this.onItemSelected(null, true);
101
+ this.onItemSelected(this._selectedItem, true);
132
102
  return true;
133
103
  }
134
104
  return false;
@@ -136,19 +106,19 @@ class Suggestions {
136
106
  toggle(bToggle, options) {
137
107
  const toggle = bToggle !== undefined ? bToggle : !this.isOpened();
138
108
  if (toggle) {
139
- this.open();
109
+ this._getComponent().open = true;
140
110
  }
141
111
  else {
142
112
  this.close(options.preventFocusRestore);
143
113
  }
144
114
  }
115
+ get _selectedItem() {
116
+ return this._getNonGroupItems().find(item => item.selected);
117
+ }
145
118
  _isScrollable() {
146
119
  const sc = this._getScrollContainer();
147
120
  return sc.offsetHeight < sc.scrollHeight;
148
121
  }
149
- open() {
150
- this._getComponent().open = true;
151
- }
152
122
  close(preventFocusRestore = false) {
153
123
  const selectedItem = this._getItems() && this._getItems()[this.selectedItemIndex];
154
124
  this._getComponent().open = false;
@@ -162,32 +132,20 @@ class Suggestions {
162
132
  updateSelectedItemPosition(pos) {
163
133
  this.selectedItemIndex = pos;
164
134
  }
165
- /* Interface methods */
166
- onItemMouseOver(e) {
167
- this._getComponent().onItemMouseOver(e);
168
- }
169
- onItemMouseOut(e) {
170
- this._getComponent().onItemMouseOut(e);
171
- }
172
135
  onItemSelected(selectedItem, keyboardUsed) {
173
- const allItems = this._getItems();
174
- const item = selectedItem || allItems[this.selectedItemIndex];
136
+ const item = selectedItem;
175
137
  const nonGroupItems = this._getNonGroupItems();
176
- this.selectedItemIndex = allItems.indexOf(item);
138
+ if (!item) {
139
+ return;
140
+ }
177
141
  this.accInfo = {
178
- isGroup: item.groupItem,
142
+ isGroup: item.hasAttribute("ui5-suggestion-item-group"),
179
143
  currentPos: nonGroupItems.indexOf(item) + 1,
180
144
  listSize: nonGroupItems.length,
181
- itemText: this._getRealItems()[this.selectedItemIndex].text,
182
- description: this._getRealItems()[this.selectedItemIndex].description,
183
- additionalText: this._getRealItems()[this.selectedItemIndex].additionalText,
145
+ itemText: item.text || "",
146
+ additionalText: item.additionalText,
184
147
  };
185
- // If the item is "Inactive", prevent selection with SPACE or ENTER
186
- // to have consistency with the way "Inactive" items behave in the ui5-list
187
- if (item.type === "Inactive" || item.groupItem) {
188
- return;
189
- }
190
- this._getComponent().onItemSelected(this._getRealItems()[this.selectedItemIndex], item, keyboardUsed);
148
+ this._getComponent().onItemSelected(item, keyboardUsed);
191
149
  item.selected = false;
192
150
  item.focused = false;
193
151
  this._getComponent().open = false;
@@ -226,14 +184,14 @@ class Suggestions {
226
184
  }
227
185
  }
228
186
  _isItemOnTarget() {
229
- return this.isOpened() && this.selectedItemIndex !== null && this.selectedItemIndex !== -1 && !this._isGroupOrInactiveItem;
187
+ return this.isOpened() && this.selectedItemIndex !== null && this.selectedItemIndex !== -1 && !this._isGroupItem;
230
188
  }
231
- get _isGroupOrInactiveItem() {
189
+ get _isGroupItem() {
232
190
  const items = this._getItems();
233
191
  if (!items || !items[this.selectedItemIndex]) {
234
192
  return false;
235
193
  }
236
- return (items[this.selectedItemIndex].groupItem || items[this.selectedItemIndex].type === "Inactive");
194
+ return items[this.selectedItemIndex].hasAttribute("ui5-suggestion-item-group");
237
195
  }
238
196
  isOpened() {
239
197
  return !!(this._getPicker()?.open);
@@ -273,7 +231,9 @@ class Suggestions {
273
231
  this.component._isValueStateFocused = true;
274
232
  this.selectedItemIndex = 0;
275
233
  items[0].focused = false;
276
- items[0].selected = false;
234
+ if (items[0].hasAttribute("ui5-suggestion-item")) {
235
+ items[0].selected = false;
236
+ }
277
237
  return;
278
238
  }
279
239
  if (this.component._isValueStateFocused) {
@@ -286,7 +246,9 @@ class Suggestions {
286
246
  return;
287
247
  }
288
248
  if (previousSelectedIdx - 1 < 0) {
289
- items[previousSelectedIdx].selected = false;
249
+ if (items[previousSelectedIdx].hasAttribute("ui5-suggestion-item") || items[previousSelectedIdx].hasAttribute("ui5-suggestion-item-custom")) {
250
+ items[previousSelectedIdx].selected = false;
251
+ }
290
252
  items[previousSelectedIdx].focused = false;
291
253
  this.component.focused = true;
292
254
  this.component.hasSuggestionItemSelected = false;
@@ -300,26 +262,32 @@ class Suggestions {
300
262
  const currentItem = items[nextIdx];
301
263
  const previousItem = items[previousIdx];
302
264
  const nonGroupItems = this._getNonGroupItems();
265
+ const isGroupItem = currentItem.hasAttribute("ui5-suggestion-item-group");
303
266
  if (!currentItem) {
304
267
  return;
305
268
  }
306
269
  this.component.focused = false;
307
270
  this._clearValueStateFocus();
271
+ const selectedItem = this._getItems()[this.selectedItemIndex];
308
272
  this.accInfo = {
309
- isGroup: currentItem.groupItem,
310
- currentPos: nonGroupItems.indexOf(currentItem) + 1,
311
- listSize: nonGroupItems.length,
312
- itemText: this._getRealItems()[this.selectedItemIndex].text,
313
- description: this._getRealItems()[items.indexOf(currentItem)].description,
314
- additionalText: this._getRealItems()[items.indexOf(currentItem)].additionalText,
273
+ isGroup: isGroupItem,
274
+ currentPos: items.indexOf(currentItem) + 1,
275
+ itemText: (isGroupItem ? selectedItem.headerText : selectedItem.text) || "",
315
276
  };
277
+ if (currentItem.hasAttribute("ui5-suggestion-item") || currentItem.hasAttribute("ui5-suggestion-item-custom")) {
278
+ this.accInfo.additionalText = currentItem.additionalText || "";
279
+ this.accInfo.currentPos = nonGroupItems.indexOf(currentItem) + 1;
280
+ this.accInfo.listSize = nonGroupItems.length;
281
+ }
316
282
  if (previousItem) {
317
- previousItem.selected = false;
318
283
  previousItem.focused = false;
319
284
  }
285
+ if (previousItem?.hasAttribute("ui5-suggestion-item") || previousItem?.hasAttribute("ui5-suggestion-item-custom")) {
286
+ previousItem.selected = false;
287
+ }
320
288
  if (currentItem) {
321
289
  currentItem.focused = true;
322
- if (currentItem.type === "Active") {
290
+ if (!isGroupItem) {
323
291
  currentItem.selected = true;
324
292
  }
325
293
  if (this.handleFocus) {
@@ -329,13 +297,16 @@ class Suggestions {
329
297
  this.component.hasSuggestionItemSelected = true;
330
298
  this.onItemSelect(currentItem);
331
299
  if (!this._isItemIntoView(currentItem)) {
332
- this._scrollItemIntoView(currentItem);
300
+ const itemRef = this._isGroupItem ? currentItem.shadowRoot.querySelector("[ui5-li-group-header]") : currentItem;
301
+ this._scrollItemIntoView(itemRef);
333
302
  }
334
303
  }
335
304
  _deselectItems() {
336
305
  const items = this._getItems();
337
306
  items.forEach(item => {
338
- item.selected = false;
307
+ if (item.hasAttribute("ui5-suggestion-item")) {
308
+ item.selected = false;
309
+ }
339
310
  item.focused = false;
340
311
  });
341
312
  }
@@ -352,9 +323,11 @@ class Suggestions {
352
323
  return (rectItem.top + Suggestions.SCROLL_STEP <= windowHeight) && (rectItem.top >= rectInput.top);
353
324
  }
354
325
  _scrollItemIntoView(item) {
355
- const pos = item.getDomRef().offsetTop;
356
- const scrollContainer = this._getScrollContainer();
357
- scrollContainer.scrollTop = pos;
326
+ item.scrollIntoView({
327
+ behavior: "auto",
328
+ block: "nearest",
329
+ inline: "nearest",
330
+ });
358
331
  }
359
332
  _getScrollContainer() {
360
333
  if (!this._scrollContainer) {
@@ -362,11 +335,15 @@ class Suggestions {
362
335
  }
363
336
  return this._scrollContainer;
364
337
  }
338
+ /**
339
+ * Returns the items in 1D array.
340
+ *
341
+ */
365
342
  _getItems() {
366
- return [...this._getList().items] || [];
343
+ return Array.from(this._getComponent().querySelectorAll("[ui5-suggestion-item], [ui5-suggestion-item-group], [ui5-suggestion-item-custom]"));
367
344
  }
368
345
  _getNonGroupItems() {
369
- return this._getItems().filter(item => !item.groupItem);
346
+ return Array.from(this._getComponent().querySelectorAll("[ui5-suggestion-item], [ui5-suggestion-item-custom]"));
370
347
  }
371
348
  _getComponent() {
372
349
  return this.component;
@@ -377,9 +354,6 @@ class Suggestions {
377
354
  _getListWidth() {
378
355
  return this._getList()?.offsetWidth;
379
356
  }
380
- _getRealItems() {
381
- return this._getComponent().getSlottedNodes(this.slotName);
382
- }
383
357
  _getPicker() {
384
358
  return this._getComponent().shadowRoot.querySelector("[ui5-responsive-popover]");
385
359
  }
@@ -387,30 +361,15 @@ class Suggestions {
387
361
  if (!this.accInfo) {
388
362
  return "";
389
363
  }
390
- const itemPositionText = Suggestions.i18nBundle.getText(LIST_ITEM_POSITION, this.accInfo.currentPos, this.accInfo.listSize);
391
- const groupItemText = Suggestions.i18nBundle.getText(LIST_ITEM_GROUP_HEADER);
392
- return this.accInfo.isGroup ? `${groupItemText} ${this.accInfo.itemText}` : `${this.accInfo.description} ${this.accInfo.additionalText} ${itemPositionText}`;
393
- }
394
- getRowText(suggestion) {
395
- return this.sanitizeText(suggestion.text || suggestion.textContent || "");
396
- }
397
- getRowDesc(suggestion) {
398
- return this.sanitizeText(suggestion.description || "");
399
- }
400
- getHighlightedText(suggestion, input) {
401
- const text = suggestion.text || suggestion.textContent || "";
402
- return this.hightlightInput(text, input);
403
- }
404
- getHighlightedDesc(suggestion, input) {
405
- const text = suggestion.description || "";
406
- return this.hightlightInput(text, input);
364
+ if (this.accInfo.isGroup) {
365
+ return `${Suggestions.i18nBundle.getText(LIST_ITEM_GROUP_HEADER)} ${this.accInfo.itemText}`;
366
+ }
367
+ const itemPositionText = Suggestions.i18nBundle.getText(LIST_ITEM_POSITION, this.accInfo.currentPos || 0, this.accInfo.listSize || 0);
368
+ return `${this.accInfo.additionalText} ${itemPositionText}`;
407
369
  }
408
370
  hightlightInput(text, input) {
409
371
  return generateHighlightedMarkup(text, input);
410
372
  }
411
- sanitizeText(text) {
412
- return encodeXML(text);
413
- }
414
373
  get _hasValueState() {
415
374
  return this.component.hasValueStateMessage;
416
375
  }
@@ -425,17 +384,15 @@ class Suggestions {
425
384
  _clearValueStateFocus() {
426
385
  this.component._isValueStateFocused = false;
427
386
  }
428
- _clearSelectedSuggestionAndAccInfo() {
387
+ _clearSelectedSuggestionAndaccInfo() {
429
388
  this.accInfo = undefined;
430
389
  this.selectedItemIndex = 0;
431
390
  }
432
391
  static get dependencies() {
433
392
  return [
434
393
  SuggestionItem,
435
- SuggestionGroupItem,
394
+ SuggestionItemGroup,
436
395
  List,
437
- SuggestionListItem,
438
- ListItemGroupHeader,
439
396
  Button,
440
397
  Icon,
441
398
  ];
@@ -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 { registerFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\n// @ts-ignore\nimport encodeXML from \"@ui5/webcomponents-base/dist/sap/base/security/encodeXML.js\";\nimport generateHighlightedMarkup from \"@ui5/webcomponents-base/dist/util/generateHighlightedMarkup.js\";\nimport type ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport List from \"../List.js\";\nimport type { ListItemClickEventDetail, ListSelectionChangeEventDetail } from \"../List.js\";\nimport type ResponsivePopover from \"../ResponsivePopover.js\";\nimport SuggestionItem from \"../SuggestionItem.js\";\nimport SuggestionGroupItem from \"../SuggestionGroupItem.js\";\nimport Button from \"../Button.js\";\nimport Icon from \"../Icon.js\";\nimport ListItemGroupHeader from \"../ListItemGroupHeader.js\";\nimport SuggestionListItem from \"../SuggestionListItem.js\";\n\nimport {\n\tLIST_ITEM_POSITION,\n\tLIST_ITEM_GROUP_HEADER,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport type ListItemType from \"../types/ListItemType.js\";\nimport type ListItemBase from \"../ListItemBase.js\";\nimport type { IInputSuggestionItem } 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\tonItemMouseOver: (e: MouseEvent) => void;\n\tonItemMouseOut: (e: MouseEvent) => void;\n\tonItemSelected: (pressedItem: SuggestionItem, listItem: SuggestionListItem | null, keyboardUsed: boolean) => void;\n\tonItemSelect: (item: SuggestionListItem) => void;\n}\n\ntype InputSuggestion = {\n\ttext: string;\n\tdescription?: string;\n\timage?: string;\n\ticon?: string;\n\ttype?: `${ListItemType}`;\n\tadditionalText?: string;\n\tadditionalTextState?: `${ValueState}`;\n\tgroupItem: boolean;\n\tkey: number;\n}\n\ntype SuggestionsAccInfo = {\n\tisGroup: boolean,\n\tcurrentPos: number;\n\tlistSize: number;\n\titemText: string;\n\tdescription: 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\tfnOnSuggestionItemPress: (e: CustomEvent<ListItemClickEventDetail | ListSelectionChangeEventDetail>) => void;\n\tfnOnSuggestionItemMouseOver: (e: MouseEvent) => void;\n\tfnOnSuggestionItemMouseOut: (e: MouseEvent) => void;\n\tstatic i18nBundle: I18nBundle;\n\tstatic SCROLL_STEP = 60;\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// Press and Focus handlers\n\t\tthis.fnOnSuggestionItemPress = this.onItemPress.bind(this);\n\t\tthis.fnOnSuggestionItemMouseOver = this.onItemMouseOver.bind(this);\n\t\tthis.fnOnSuggestionItemMouseOut = this.onItemMouseOut.bind(this);\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\t/* Public methods */\n\tdefaultSlotProperties(hightlightValue: string) {\n\t\tconst inputSuggestionItems = this._getComponent().suggestionItems;\n\t\tconst highlight = this.highlight && !!hightlightValue;\n\t\tconst suggestions: Array<InputSuggestion> = [];\n\n\t\tinputSuggestionItems.map((suggestion: IInputSuggestionItem, idx: number) => {\n\t\t\tconst text = highlight ? this.getHighlightedText(suggestion, hightlightValue) : this.getRowText(suggestion);\n\t\t\tconst description = highlight ? this.getHighlightedDesc(suggestion, hightlightValue) : this.getRowDesc(suggestion);\n\n\t\t\treturn suggestions.push({\n\t\t\t\ttext,\n\t\t\t\tdescription,\n\t\t\t\timage: suggestion.image || undefined,\n\t\t\t\ticon: suggestion.icon || undefined,\n\t\t\t\ttype: suggestion.type || undefined,\n\t\t\t\tadditionalText: suggestion.additionalText || undefined,\n\t\t\t\tadditionalTextState: suggestion.additionalTextState,\n\t\t\t\tgroupItem: suggestion.groupItem,\n\t\t\t\tkey: idx,\n\t\t\t});\n\t\t});\n\n\t\treturn suggestions;\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(null, 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._isGroupOrInactiveItem) {\n\t\t\te.preventDefault();\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this._isItemOnTarget()) {\n\t\t\tthis.onItemSelected(null, 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(null, 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.open();\n\t\t} else {\n\t\t\tthis.close(options.preventFocusRestore);\n\t\t}\n\t}\n\n\t_isScrollable() {\n\t\tconst sc = this._getScrollContainer();\n\t\treturn sc.offsetHeight < sc.scrollHeight;\n\t}\n\n\topen() {\n\t\tthis._getComponent().open = true;\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\t/* Interface methods */\n\tonItemMouseOver(e: MouseEvent) {\n\t\tthis._getComponent().onItemMouseOver(e);\n\t}\n\n\tonItemMouseOut(e: MouseEvent) {\n\t\tthis._getComponent().onItemMouseOut(e);\n\t}\n\n\tonItemSelected(selectedItem: SuggestionListItem | null, keyboardUsed: boolean) {\n\t\tconst allItems = this._getItems();\n\t\tconst item = selectedItem || allItems[this.selectedItemIndex];\n\t\tconst nonGroupItems = this._getNonGroupItems();\n\n\t\tthis.selectedItemIndex = allItems.indexOf(item);\n\n\t\tthis.accInfo = {\n\t\t\tisGroup: item.groupItem,\n\t\t\tcurrentPos: nonGroupItems.indexOf(item) + 1,\n\t\t\tlistSize: nonGroupItems.length,\n\t\t\titemText: this._getRealItems()[this.selectedItemIndex].text,\n\t\t\tdescription: this._getRealItems()[this.selectedItemIndex].description,\n\t\t\tadditionalText: this._getRealItems()[this.selectedItemIndex].additionalText,\n\t\t};\n\n\t\t// If the item is \"Inactive\", prevent selection with SPACE or ENTER\n\t\t// to have consistency with the way \"Inactive\" items behave in the ui5-list\n\t\tif (item.type === \"Inactive\" || item.groupItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._getComponent().onItemSelected(this._getRealItems()[this.selectedItemIndex], item, keyboardUsed);\n\t\titem.selected = false;\n\t\titem.focused = false;\n\t\tthis._getComponent().open = false;\n\t}\n\n\tonItemSelect(item: SuggestionListItem) {\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 SuggestionListItem, 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._isGroupOrInactiveItem;\n\t}\n\n\tget _isGroupOrInactiveItem() {\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].groupItem || items[this.selectedItemIndex].type === \"Inactive\");\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\t\t\titems[0].selected = false;\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\titems[previousSelectedIdx].selected = false;\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\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\tthis.accInfo = {\n\t\t\tisGroup: currentItem.groupItem,\n\t\t\tcurrentPos: nonGroupItems.indexOf(currentItem) + 1,\n\t\t\tlistSize: nonGroupItems.length,\n\t\t\titemText: this._getRealItems()[this.selectedItemIndex].text,\n\t\t\tdescription: this._getRealItems()[items.indexOf(currentItem)].description,\n\t\t\tadditionalText: this._getRealItems()[items.indexOf(currentItem)].additionalText,\n\t\t};\n\n\t\tif (previousItem) {\n\t\t\tpreviousItem.selected = false;\n\t\t\tpreviousItem.focused = false;\n\t\t}\n\n\t\tif (currentItem) {\n\t\t\tcurrentItem.focused = true;\n\n\t\t\tif (currentItem.type === \"Active\") {\n\t\t\t\tcurrentItem.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\tthis._scrollItemIntoView(currentItem);\n\t\t}\n\t}\n\n\t_deselectItems() {\n\t\tconst items = this._getItems();\n\t\titems.forEach(item => {\n\t\t\titem.selected = false;\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: SuggestionListItem) {\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\n\t\treturn (rectItem.top + Suggestions.SCROLL_STEP <= windowHeight) && (rectItem.top >= rectInput.top);\n\t}\n\n\t_scrollItemIntoView(item: SuggestionListItem) {\n\t\tconst pos = item.getDomRef()!.offsetTop;\n\t\tconst scrollContainer = this._getScrollContainer();\n\t\tscrollContainer.scrollTop = pos;\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_getItems(): Array<SuggestionListItem> {\n\t\treturn [...this._getList()!.items] as Array<SuggestionListItem> || [];\n\t}\n\n\t_getNonGroupItems(): Array<SuggestionListItem> {\n\t\treturn this._getItems().filter(item => !item.groupItem);\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_getRealItems() {\n\t\treturn this._getComponent().getSlottedNodes<SuggestionItem>(this.slotName);\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\tconst itemPositionText = Suggestions.i18nBundle.getText(LIST_ITEM_POSITION, this.accInfo.currentPos, this.accInfo.listSize);\n\t\tconst groupItemText = Suggestions.i18nBundle.getText(LIST_ITEM_GROUP_HEADER);\n\n\t\treturn this.accInfo.isGroup ? `${groupItemText} ${this.accInfo.itemText}` : `${this.accInfo.description} ${this.accInfo.additionalText} ${itemPositionText}`;\n\t}\n\n\tgetRowText(suggestion: IInputSuggestionItem) {\n\t\treturn this.sanitizeText(suggestion.text || suggestion.textContent || \"\");\n\t}\n\n\tgetRowDesc(suggestion: IInputSuggestionItem) {\n\t\treturn this.sanitizeText(suggestion.description || \"\");\n\t}\n\n\tgetHighlightedText(suggestion: IInputSuggestionItem, input: string) {\n\t\tconst text = suggestion.text || suggestion.textContent || \"\";\n\t\treturn this.hightlightInput(text, input);\n\t}\n\n\tgetHighlightedDesc(suggestion: IInputSuggestionItem, input: string) {\n\t\tconst text = suggestion.description || \"\";\n\t\treturn this.hightlightInput(text, input);\n\t}\n\n\thightlightInput(text: string, input: string) {\n\t\treturn generateHighlightedMarkup(text, input);\n\t}\n\n\tsanitizeText(text: string) {\n\t\treturn encodeXML(text) as string;\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\tstatic get dependencies() {\n\t\treturn [\n\t\t\tSuggestionItem,\n\t\t\tSuggestionGroupItem,\n\t\t\tList,\n\t\t\tSuggestionListItem,\n\t\t\tListItemGroupHeader,\n\t\t\tButton,\n\t\t\tIcon,\n\t\t];\n\t}\n\n\tstatic async init() {\n\t\tSuggestions.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\n// Add suggestions support to the global features registry so that Input.js can use it\nregisterFeature(\"InputSuggestions\", Suggestions);\n\nexport default Suggestions;\n\nexport type {\n\tSuggestionComponent,\n\tInputSuggestion,\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 { registerFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport generateHighlightedMarkup from \"@ui5/webcomponents-base/dist/util/generateHighlightedMarkup.js\";\nimport List from \"../List.js\";\nimport type { ListItemClickEventDetail, ListSelectionChangeEventDetail } from \"../List.js\";\nimport type ResponsivePopover from \"../ResponsivePopover.js\";\nimport SuggestionItem from \"../SuggestionItem.js\";\nimport Button from \"../Button.js\";\nimport Icon from \"../Icon.js\";\nimport type ListItemGroupHeader from \"../ListItemGroupHeader.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 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\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\n\t\treturn (rectItem.top + Suggestions.SCROLL_STEP <= windowHeight) && (rectItem.top >= rectInput.top);\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\treturn Array.from(this._getComponent().querySelectorAll(\"[ui5-suggestion-item], [ui5-suggestion-item-group], [ui5-suggestion-item-custom]\"));\n\t}\n\n\t_getNonGroupItems(): Array<IInputSuggestionItemSelectable> {\n\t\treturn Array.from(this._getComponent().querySelectorAll(\"[ui5-suggestion-item], [ui5-suggestion-item-custom]\"));\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\tstatic get dependencies() {\n\t\treturn [\n\t\t\tSuggestionItem,\n\t\t\tSuggestionItemGroup,\n\t\t\tList,\n\t\t\tButton,\n\t\t\tIcon,\n\t\t];\n\t}\n\n\tstatic async init() {\n\t\tSuggestions.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\n// Add suggestions support to the global features registry so that Input.js can use it\nregisterFeature(\"InputSuggestions\", Suggestions);\n\nexport default Suggestions;\n\nexport type {\n\tSuggestionComponent,\n};\n"]}