@ui5/webcomponents 1.24.13 → 1.24.15

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 (348) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Dialog.d.ts +4 -5
  4. package/dist/Dialog.js +1 -2
  5. package/dist/Dialog.js.map +1 -1
  6. package/dist/Input.js +5 -0
  7. package/dist/Input.js.map +1 -1
  8. package/dist/ListItemBase.d.ts +1 -1
  9. package/dist/ListItemBase.js.map +1 -1
  10. package/dist/RadioButton.d.ts +5 -2
  11. package/dist/RadioButton.js +1 -1
  12. package/dist/RadioButton.js.map +1 -1
  13. package/dist/RadioButtonGroup.d.ts +2 -2
  14. package/dist/RadioButtonGroup.js +56 -34
  15. package/dist/RadioButtonGroup.js.map +1 -1
  16. package/dist/SliderBase.d.ts +1 -2
  17. package/dist/SliderBase.js +6 -8
  18. package/dist/SliderBase.js.map +1 -1
  19. package/dist/SuggestionListItem.d.ts +1 -0
  20. package/dist/SuggestionListItem.js +4 -0
  21. package/dist/SuggestionListItem.js.map +1 -1
  22. package/dist/css/themes/Avatar.css +1 -1
  23. package/dist/css/themes/AvatarGroup.css +1 -1
  24. package/dist/css/themes/Badge.css +1 -1
  25. package/dist/css/themes/Breadcrumbs.css +1 -1
  26. package/dist/css/themes/BusyIndicator.css +1 -1
  27. package/dist/css/themes/Button.css +1 -1
  28. package/dist/css/themes/Calendar.css +1 -1
  29. package/dist/css/themes/CalendarHeader.css +1 -1
  30. package/dist/css/themes/CalendarLegend.css +1 -1
  31. package/dist/css/themes/CalendarLegendItem.css +1 -1
  32. package/dist/css/themes/Card.css +1 -1
  33. package/dist/css/themes/CardHeader.css +1 -1
  34. package/dist/css/themes/Carousel.css +1 -1
  35. package/dist/css/themes/CheckBox.css +1 -1
  36. package/dist/css/themes/ColorPalette.css +1 -1
  37. package/dist/css/themes/ColorPaletteItem.css +1 -1
  38. package/dist/css/themes/ColorPalettePopover.css +1 -1
  39. package/dist/css/themes/ColorPicker.css +1 -1
  40. package/dist/css/themes/ComboBox.css +1 -1
  41. package/dist/css/themes/CustomListItem.css +1 -1
  42. package/dist/css/themes/DatePicker.css +1 -1
  43. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  44. package/dist/css/themes/DayPicker.css +1 -1
  45. package/dist/css/themes/Dialog.css +1 -1
  46. package/dist/css/themes/FileUploader.css +1 -1
  47. package/dist/css/themes/GroupHeaderListItem.css +1 -1
  48. package/dist/css/themes/GrowingButton.css +1 -1
  49. package/dist/css/themes/Icon.css +1 -1
  50. package/dist/css/themes/Input.css +1 -1
  51. package/dist/css/themes/InputIcon.css +1 -1
  52. package/dist/css/themes/InputSharedStyles.css +1 -1
  53. package/dist/css/themes/Link.css +1 -1
  54. package/dist/css/themes/List.css +1 -1
  55. package/dist/css/themes/ListItem.css +1 -1
  56. package/dist/css/themes/ListItemBase.css +1 -1
  57. package/dist/css/themes/Menu.css +1 -1
  58. package/dist/css/themes/MenuListItem.css +1 -1
  59. package/dist/css/themes/MessageStrip.css +1 -1
  60. package/dist/css/themes/MonthPicker.css +1 -1
  61. package/dist/css/themes/MultiComboBox.css +1 -1
  62. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  63. package/dist/css/themes/MultiInput.css +1 -1
  64. package/dist/css/themes/NavigationMenu.css +1 -1
  65. package/dist/css/themes/Panel.css +1 -1
  66. package/dist/css/themes/Popover.css +1 -1
  67. package/dist/css/themes/PopupStaticAreaStyles.css +1 -1
  68. package/dist/css/themes/PopupsCommon.css +1 -1
  69. package/dist/css/themes/ProgressIndicator.css +1 -1
  70. package/dist/css/themes/RadioButton.css +1 -1
  71. package/dist/css/themes/RangeSlider.css +1 -1
  72. package/dist/css/themes/RatingIndicator.css +1 -1
  73. package/dist/css/themes/ResponsivePopover.css +1 -1
  74. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  75. package/dist/css/themes/SegmentedButton.css +1 -1
  76. package/dist/css/themes/Select.css +1 -1
  77. package/dist/css/themes/SelectMenu.css +1 -1
  78. package/dist/css/themes/SelectPopover.css +1 -1
  79. package/dist/css/themes/SliderBase.css +1 -1
  80. package/dist/css/themes/SplitButton.css +1 -1
  81. package/dist/css/themes/StepInput.css +1 -1
  82. package/dist/css/themes/Switch.css +1 -1
  83. package/dist/css/themes/TabContainer.css +1 -1
  84. package/dist/css/themes/TabInOverflow.css +1 -1
  85. package/dist/css/themes/TabInStrip.css +1 -1
  86. package/dist/css/themes/TabSemanticIcon.css +1 -1
  87. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  88. package/dist/css/themes/Table.css +1 -1
  89. package/dist/css/themes/TableCell.css +1 -1
  90. package/dist/css/themes/TableColumn.css +1 -1
  91. package/dist/css/themes/TableGroupRow.css +1 -1
  92. package/dist/css/themes/TableRow.css +1 -1
  93. package/dist/css/themes/TextArea.css +1 -1
  94. package/dist/css/themes/TimePicker.css +1 -1
  95. package/dist/css/themes/Toast.css +1 -1
  96. package/dist/css/themes/ToggleButton.css +1 -1
  97. package/dist/css/themes/Token.css +1 -1
  98. package/dist/css/themes/Tokenizer.css +1 -1
  99. package/dist/css/themes/TokenizerPopover.css +1 -1
  100. package/dist/css/themes/Toolbar.css +1 -1
  101. package/dist/css/themes/ToolbarPopover.css +1 -1
  102. package/dist/css/themes/TreeItem.css +1 -1
  103. package/dist/css/themes/ValueStateMessage.css +1 -1
  104. package/dist/css/themes/WheelSlider.css +1 -1
  105. package/dist/css/themes/YearPicker.css +1 -1
  106. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  107. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  108. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  109. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  110. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  111. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  112. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  113. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  114. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  115. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  116. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  117. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  118. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  119. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  120. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  121. package/dist/custom-elements-internal.json +7 -7
  122. package/dist/custom-elements.json +7 -7
  123. package/dist/features/InputSuggestions.d.ts +3 -3
  124. package/dist/features/InputSuggestions.js +13 -15
  125. package/dist/features/InputSuggestions.js.map +1 -1
  126. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  127. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  128. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  129. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  130. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  131. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  132. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  133. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  134. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  135. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  136. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  137. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  138. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  139. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  140. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  141. package/dist/generated/templates/RadioButtonTemplate.lit.js +1 -1
  142. package/dist/generated/templates/RadioButtonTemplate.lit.js.map +1 -1
  143. package/dist/generated/themes/Avatar.css.js +1 -1
  144. package/dist/generated/themes/Avatar.css.js.map +1 -1
  145. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  146. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  147. package/dist/generated/themes/Badge.css.js +1 -1
  148. package/dist/generated/themes/Badge.css.js.map +1 -1
  149. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  150. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  151. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  152. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  153. package/dist/generated/themes/Button.css.js +1 -1
  154. package/dist/generated/themes/Button.css.js.map +1 -1
  155. package/dist/generated/themes/Calendar.css.js +1 -1
  156. package/dist/generated/themes/Calendar.css.js.map +1 -1
  157. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  158. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  159. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  160. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  161. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  162. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  163. package/dist/generated/themes/Card.css.js +1 -1
  164. package/dist/generated/themes/Card.css.js.map +1 -1
  165. package/dist/generated/themes/CardHeader.css.js +1 -1
  166. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  167. package/dist/generated/themes/Carousel.css.js +1 -1
  168. package/dist/generated/themes/Carousel.css.js.map +1 -1
  169. package/dist/generated/themes/CheckBox.css.js +1 -1
  170. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  171. package/dist/generated/themes/ColorPalette.css.js +1 -1
  172. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  173. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  174. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  175. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  176. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  177. package/dist/generated/themes/ColorPicker.css.js +1 -1
  178. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  179. package/dist/generated/themes/ComboBox.css.js +1 -1
  180. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  181. package/dist/generated/themes/CustomListItem.css.js +1 -1
  182. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  183. package/dist/generated/themes/DatePicker.css.js +1 -1
  184. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  185. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  186. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  187. package/dist/generated/themes/DayPicker.css.js +1 -1
  188. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  189. package/dist/generated/themes/Dialog.css.js +1 -1
  190. package/dist/generated/themes/Dialog.css.js.map +1 -1
  191. package/dist/generated/themes/FileUploader.css.js +1 -1
  192. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  193. package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
  194. package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -1
  195. package/dist/generated/themes/GrowingButton.css.js +1 -1
  196. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  197. package/dist/generated/themes/Icon.css.js +1 -1
  198. package/dist/generated/themes/Icon.css.js.map +1 -1
  199. package/dist/generated/themes/Input.css.js +1 -1
  200. package/dist/generated/themes/Input.css.js.map +1 -1
  201. package/dist/generated/themes/InputIcon.css.js +1 -1
  202. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  203. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  204. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  205. package/dist/generated/themes/Link.css.js +1 -1
  206. package/dist/generated/themes/Link.css.js.map +1 -1
  207. package/dist/generated/themes/List.css.js +1 -1
  208. package/dist/generated/themes/List.css.js.map +1 -1
  209. package/dist/generated/themes/ListItem.css.js +1 -1
  210. package/dist/generated/themes/ListItem.css.js.map +1 -1
  211. package/dist/generated/themes/ListItemBase.css.js +1 -1
  212. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  213. package/dist/generated/themes/Menu.css.js +1 -1
  214. package/dist/generated/themes/Menu.css.js.map +1 -1
  215. package/dist/generated/themes/MenuListItem.css.js +1 -1
  216. package/dist/generated/themes/MenuListItem.css.js.map +1 -1
  217. package/dist/generated/themes/MessageStrip.css.js +1 -1
  218. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  219. package/dist/generated/themes/MonthPicker.css.js +1 -1
  220. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  221. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  222. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  223. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  224. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  225. package/dist/generated/themes/MultiInput.css.js +1 -1
  226. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  227. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  228. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  229. package/dist/generated/themes/Panel.css.js +1 -1
  230. package/dist/generated/themes/Panel.css.js.map +1 -1
  231. package/dist/generated/themes/Popover.css.js +1 -1
  232. package/dist/generated/themes/Popover.css.js.map +1 -1
  233. package/dist/generated/themes/PopupStaticAreaStyles.css.js +1 -1
  234. package/dist/generated/themes/PopupStaticAreaStyles.css.js.map +1 -1
  235. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  236. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  237. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  238. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  239. package/dist/generated/themes/RadioButton.css.js +1 -1
  240. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  241. package/dist/generated/themes/RangeSlider.css.js +1 -1
  242. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  243. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  244. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  245. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  246. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  247. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  248. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  249. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  250. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  251. package/dist/generated/themes/Select.css.js +1 -1
  252. package/dist/generated/themes/Select.css.js.map +1 -1
  253. package/dist/generated/themes/SelectMenu.css.js +1 -1
  254. package/dist/generated/themes/SelectMenu.css.js.map +1 -1
  255. package/dist/generated/themes/SelectPopover.css.js +1 -1
  256. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  257. package/dist/generated/themes/SliderBase.css.js +1 -1
  258. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  259. package/dist/generated/themes/SplitButton.css.js +1 -1
  260. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  261. package/dist/generated/themes/StepInput.css.js +1 -1
  262. package/dist/generated/themes/StepInput.css.js.map +1 -1
  263. package/dist/generated/themes/Switch.css.js +1 -1
  264. package/dist/generated/themes/Switch.css.js.map +1 -1
  265. package/dist/generated/themes/TabContainer.css.js +1 -1
  266. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  267. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  268. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  269. package/dist/generated/themes/TabInStrip.css.js +1 -1
  270. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  271. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  272. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  273. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  274. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  275. package/dist/generated/themes/Table.css.js +1 -1
  276. package/dist/generated/themes/Table.css.js.map +1 -1
  277. package/dist/generated/themes/TableCell.css.js +1 -1
  278. package/dist/generated/themes/TableCell.css.js.map +1 -1
  279. package/dist/generated/themes/TableColumn.css.js +1 -1
  280. package/dist/generated/themes/TableColumn.css.js.map +1 -1
  281. package/dist/generated/themes/TableGroupRow.css.js +1 -1
  282. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  283. package/dist/generated/themes/TableRow.css.js +1 -1
  284. package/dist/generated/themes/TableRow.css.js.map +1 -1
  285. package/dist/generated/themes/TextArea.css.js +1 -1
  286. package/dist/generated/themes/TextArea.css.js.map +1 -1
  287. package/dist/generated/themes/TimePicker.css.js +1 -1
  288. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  289. package/dist/generated/themes/Toast.css.js +1 -1
  290. package/dist/generated/themes/Toast.css.js.map +1 -1
  291. package/dist/generated/themes/ToggleButton.css.js +1 -1
  292. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  293. package/dist/generated/themes/Token.css.js +1 -1
  294. package/dist/generated/themes/Token.css.js.map +1 -1
  295. package/dist/generated/themes/Tokenizer.css.js +1 -1
  296. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  297. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  298. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  299. package/dist/generated/themes/Toolbar.css.js +1 -1
  300. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  301. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  302. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  303. package/dist/generated/themes/TreeItem.css.js +1 -1
  304. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  305. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  306. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  307. package/dist/generated/themes/WheelSlider.css.js +1 -1
  308. package/dist/generated/themes/WheelSlider.css.js.map +1 -1
  309. package/dist/generated/themes/YearPicker.css.js +1 -1
  310. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  311. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  312. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  313. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  314. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  315. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  316. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  317. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  318. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  319. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  320. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  321. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  322. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  323. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  324. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  325. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  326. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  327. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  328. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  329. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  330. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  331. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  332. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  333. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  334. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  335. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  336. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  337. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  338. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  339. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  340. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  341. package/dist/vscode.html-custom-data.json +4 -4
  342. package/dist/web-types.json +8 -8
  343. package/package.json +10 -10
  344. package/src/RadioButton.hbs +1 -1
  345. package/src/themes/Dialog.css +1 -0
  346. package/src/themes/ListItem.css +8 -0
  347. package/src/themes/ListItemBase.css +4 -0
  348. package/src/themes/Table.css +6 -2
@@ -7032,7 +7032,7 @@
7032
7032
  "declarations": [
7033
7033
  {
7034
7034
  "kind": "class",
7035
- "description": "### Overview\nThe `ui5-dialog` component is used to temporarily display some information in a\nsize-limited window in front of the regular app screen.\nIt is used to prompt the user for an action or a confirmation.\nThe `ui5-dialog` interrupts the current app processing as it is the only focused UI element and\nthe main screen is dimmed/blocked.\nThe dialog combines concepts known from other technologies where the windows have\nnames such as dialog box, dialog window, pop-up, pop-up window, alert box, or message box.\n\nThe `ui5-dialog` is modal, which means that an user action is required before it is possible to return to the parent window.\nTo open multiple dialogs, each dialog element should be separate in the markup. This will ensure the correct modal behavior. Avoid nesting dialogs within each other.\nThe content of the `ui5-dialog` is fully customizable.\n\n### Structure\nA `ui5-dialog` consists of a header, content, and a footer for action buttons.\nThe `ui5-dialog` is usually displayed at the center of the screen.\nIts position can be changed by the user. To enable this, you need to set the property `draggable` accordingly.\n\n\n### Responsive Behavior\nThe `stretch` property can be used to stretch the\n`ui5-dialog` on full screen.\n\n**Note:** When a `ui5-bar` is used in the header or in the footer, you should remove the default dialog's paddings.\n\nFor more information see the sample \"Bar in Header/Footer\".\n\n### Keyboard Handling\n\n#### Basic Navigation\nWhen the `ui5-dialog` has the `draggable` property set to `true` and the header is focused, the user can move the dialog\nwith the following keyboard shortcuts:\n\n- [Up] or [Down] arrow keys - Move the dialog up/down.\n- [Left] or [Right] arrow keys - Move the dialog left/right.\n\n#### Resizing\nWhen the `ui5-dialog` has the `resizable` property set to `true` and the header is focused, the user can change the size of the dialog\nwith the following keyboard shortcuts:\n\n- [Shift] + [Up] or [Down] - Decrease/Increase the height of the dialog.\n- [Shift] + [Left] or [Right] - Decrease/Increase the width of the dialog.\n\n### ES6 Module Import\n\n`import \"@ui5/webcomponents/dist/Dialog\";`\n\n**Note:** We recommend placing popup-like components (`ui5-dialog` and `ui5-popover`)\noutside any other components. Preferably, the popup-like components should be placed\nin an upper level HTML element. Otherwise, in some cases the parent HTML elements can break\nthe position and/or z-index management of the popup-like components.\n\n**Note:** We don't recommend nesting popup-like components (`ui5-dialog`, `ui5-popover`).",
7035
+ "description": "### Overview\nThe `ui5-dialog` component is used to temporarily display some information in a\nsize-limited window in front of the regular app screen.\nIt is used to prompt the user for an action or a confirmation.\nThe `ui5-dialog` interrupts the current app processing as it is the only focused UI element and\nthe main screen is dimmed/blocked.\nThe dialog combines concepts known from other technologies where the windows have\nnames such as dialog box, dialog window, pop-up, pop-up window, alert box, or message box.\n\nThe `ui5-dialog` is modal, which means that an user action is required before it is possible to return to the parent window.\nTo open multiple dialogs, each dialog element should be separate in the markup. This will ensure the correct modal behavior. Avoid nesting dialogs within each other.\nThe content of the `ui5-dialog` is fully customizable.\n\n### Structure\nA `ui5-dialog` consists of a header, content, and a footer for action buttons.\nThe `ui5-dialog` is usually displayed at the center of the screen.\nIts position can be changed by the user. To enable this, you need to set the property `draggable` accordingly.\n\n\n### Responsive Behavior\nThe `stretch` property can be used to stretch the `ui5-dialog` to full screen. For better usability, it's recommended to stretch the dialog to full screen on phone devices.\n\n**Note:** When a `ui5-bar` is used in the header or in the footer, you should remove the default dialog's paddings.\n\nFor more information see the sample \"Bar in Header/Footer\".\n\n### Keyboard Handling\n\n#### Basic Navigation\nWhen the `ui5-dialog` has the `draggable` property set to `true` and the header is focused, the user can move the dialog\nwith the following keyboard shortcuts:\n\n- [Up] or [Down] arrow keys - Move the dialog up/down.\n- [Left] or [Right] arrow keys - Move the dialog left/right.\n\n#### Resizing\nWhen the `ui5-dialog` has the `resizable` property set to `true` and the header is focused, the user can change the size of the dialog\nwith the following keyboard shortcuts:\n\n- [Shift] + [Up] or [Down] - Decrease/Increase the height of the dialog.\n- [Shift] + [Left] or [Right] - Decrease/Increase the width of the dialog.\n\n### ES6 Module Import\n\n`import \"@ui5/webcomponents/dist/Dialog\";`\n\n**Note:** We recommend placing popup-like components (`ui5-dialog` and `ui5-popover`)\noutside any other components. Preferably, the popup-like components should be placed\nin an upper level HTML element. Otherwise, in some cases the parent HTML elements can break\nthe position and/or z-index management of the popup-like components.\n\n**Note:** We don't recommend nesting popup-like components (`ui5-dialog`, `ui5-popover`).",
7036
7036
  "name": "Dialog",
7037
7037
  "cssParts": [
7038
7038
  {
@@ -7075,7 +7075,7 @@
7075
7075
  "type": {
7076
7076
  "text": "boolean"
7077
7077
  },
7078
- "description": "Determines whether the component should be stretched to fullscreen.\n\n**Note:** The component will be stretched to approximately\n90% of the viewport.",
7078
+ "description": "Determines if the dialog will be stretched to full screen on mobile. On desktop,\nthe dialog will be stretched to approximately 90% of the viewport.\n\n**Note:** For better usability of the component it is recommended to set this property to \"true\" when the dialog is opened on phone.",
7079
7079
  "default": "false",
7080
7080
  "privacy": "public"
7081
7081
  },
@@ -7288,7 +7288,7 @@
7288
7288
  }
7289
7289
  },
7290
7290
  {
7291
- "description": "Determines whether the component should be stretched to fullscreen.\n\n**Note:** The component will be stretched to approximately\n90% of the viewport.",
7291
+ "description": "Determines if the dialog will be stretched to full screen on mobile. On desktop,\nthe dialog will be stretched to approximately 90% of the viewport.\n\n**Note:** For better usability of the component it is recommended to set this property to \"true\" when the dialog is opened on phone.",
7292
7292
  "name": "stretch",
7293
7293
  "default": "false",
7294
7294
  "fieldName": "stretch",
@@ -12572,7 +12572,7 @@
12572
12572
  "type": {
12573
12573
  "text": "boolean"
12574
12574
  },
12575
- "description": "Defines whether the component is read-only.\n\n**Note:** A read-only component is not editable,\nbut still provides visual feedback upon user interaction.",
12575
+ "description": "Defines whether the component is read-only.\n\n**Note:** A read-only component isn't editable or selectable.\nHowever, because it's focusable, it still provides visual feedback upon user interaction.",
12576
12576
  "default": "false",
12577
12577
  "privacy": "public"
12578
12578
  },
@@ -12592,7 +12592,7 @@
12592
12592
  "type": {
12593
12593
  "text": "boolean"
12594
12594
  },
12595
- "description": "Defines whether the component is checked or not.\n\n**Note:** The property value can be changed with user interaction,\neither by clicking/tapping on the component,\nor by using the Space or Enter key.",
12595
+ "description": "Defines whether the component is checked or not.\n\n**Note:** The property value can be changed with user interaction,\neither by clicking/tapping on the component,\nor by using the Space or Enter key.\n\n**Note:** Only enabled radio buttons can be checked.\nRead-only radio buttons are not selectable, and therefore are always unchecked.",
12596
12596
  "default": "false",
12597
12597
  "privacy": "public"
12598
12598
  },
@@ -12701,7 +12701,7 @@
12701
12701
  }
12702
12702
  },
12703
12703
  {
12704
- "description": "Defines whether the component is read-only.\n\n**Note:** A read-only component is not editable,\nbut still provides visual feedback upon user interaction.",
12704
+ "description": "Defines whether the component is read-only.\n\n**Note:** A read-only component isn't editable or selectable.\nHowever, because it's focusable, it still provides visual feedback upon user interaction.",
12705
12705
  "name": "readonly",
12706
12706
  "default": "false",
12707
12707
  "fieldName": "readonly",
@@ -12719,7 +12719,7 @@
12719
12719
  }
12720
12720
  },
12721
12721
  {
12722
- "description": "Defines whether the component is checked or not.\n\n**Note:** The property value can be changed with user interaction,\neither by clicking/tapping on the component,\nor by using the Space or Enter key.",
12722
+ "description": "Defines whether the component is checked or not.\n\n**Note:** The property value can be changed with user interaction,\neither by clicking/tapping on the component,\nor by using the Space or Enter key.\n\n**Note:** Only enabled radio buttons can be checked.\nRead-only radio buttons are not selectable, and therefore are always unchecked.",
12723
12723
  "name": "checked",
12724
12724
  "default": "false",
12725
12725
  "fieldName": "checked",
@@ -83,7 +83,7 @@ declare class Suggestions {
83
83
  preventFocusRestore: boolean;
84
84
  }): void;
85
85
  _isScrollable(): Promise<boolean>;
86
- open(): void;
86
+ open(): Promise<void>;
87
87
  close(preventFocusRestore?: boolean): Promise<void>;
88
88
  updateSelectedItemPosition(pos: number): void;
89
89
  onItemMouseOver(e: MouseEvent): void;
@@ -112,8 +112,8 @@ declare class Suggestions {
112
112
  _getItems(): Array<SuggestionListItem>;
113
113
  _getNonGroupItems(): Array<SuggestionListItem>;
114
114
  _getComponent(): SuggestionComponent;
115
- _getList(): Promise<List>;
116
- _getListWidth(): Promise<number>;
115
+ _getList(): Promise<List | null>;
116
+ _getListWidth(): Promise<number | undefined>;
117
117
  _getRealItems(): SuggestionItem[];
118
118
  _getSuggestionPopover(): Promise<ResponsivePopover>;
119
119
  get itemSelectionAnnounce(): string;
@@ -149,16 +149,17 @@ class Suggestions {
149
149
  const sc = await this._getScrollContainer();
150
150
  return sc.offsetHeight < sc.scrollHeight;
151
151
  }
152
- open() {
152
+ async open() {
153
153
  this._getComponent().open = true;
154
154
  this._beforeOpen();
155
+ this.responsivePopover = await this._getSuggestionPopover();
155
156
  this.responsivePopover.showAt(this._getComponent());
156
157
  }
157
158
  async close(preventFocusRestore = false) {
158
159
  const selectedItem = this._getItems() && this._getItems()[this.selectedItemIndex];
159
160
  this._getComponent().open = false;
160
161
  this.responsivePopover = await this._getSuggestionPopover();
161
- this.responsivePopover.close(false, false, preventFocusRestore);
162
+ this.responsivePopover?.close(false, false, preventFocusRestore);
162
163
  if (selectedItem && selectedItem.focused) {
163
164
  selectedItem.focused = false;
164
165
  }
@@ -224,14 +225,14 @@ class Suggestions {
224
225
  }
225
226
  async _attachItemsListeners() {
226
227
  const list = await this._getList();
227
- list.removeEventListener("ui5-item-click", this.fnOnSuggestionItemPress);
228
- list.addEventListener("ui5-item-click", this.fnOnSuggestionItemPress);
229
- list.removeEventListener("ui5-selection-change", this.fnOnSuggestionItemPress);
230
- list.addEventListener("ui5-selection-change", this.fnOnSuggestionItemPress);
231
- list.removeEventListener("mouseover", this.fnOnSuggestionItemMouseOver);
232
- list.addEventListener("mouseover", this.fnOnSuggestionItemMouseOver);
233
- list.removeEventListener("mouseout", this.fnOnSuggestionItemMouseOut);
234
- list.addEventListener("mouseout", this.fnOnSuggestionItemMouseOut);
228
+ list?.removeEventListener("ui5-item-click", this.fnOnSuggestionItemPress);
229
+ list?.addEventListener("ui5-item-click", this.fnOnSuggestionItemPress);
230
+ list?.removeEventListener("ui5-selection-change", this.fnOnSuggestionItemPress);
231
+ list?.addEventListener("ui5-selection-change", this.fnOnSuggestionItemPress);
232
+ list?.removeEventListener("mouseover", this.fnOnSuggestionItemMouseOver);
233
+ list?.addEventListener("mouseover", this.fnOnSuggestionItemMouseOver);
234
+ list?.removeEventListener("mouseout", this.fnOnSuggestionItemMouseOut);
235
+ list?.addEventListener("mouseout", this.fnOnSuggestionItemMouseOut);
235
236
  }
236
237
  _attachPopupListeners() {
237
238
  if (!this.handleFocus) {
@@ -406,19 +407,16 @@ class Suggestions {
406
407
  }
407
408
  async _getList() {
408
409
  this.responsivePopover = await this._getSuggestionPopover();
409
- return this.responsivePopover.querySelector("[ui5-list]");
410
+ return this.responsivePopover?.querySelector("[ui5-list]");
410
411
  }
411
412
  async _getListWidth() {
412
413
  const list = await this._getList();
413
- return list.offsetWidth;
414
+ return list?.offsetWidth;
414
415
  }
415
416
  _getRealItems() {
416
417
  return this._getComponent().getSlottedNodes(this.slotName);
417
418
  }
418
419
  async _getSuggestionPopover() {
419
- if (this.responsivePopover) {
420
- return this.responsivePopover;
421
- }
422
420
  const staticAreaItem = await this._getComponent().getStaticAreaItemDomRef();
423
421
  this.responsivePopover = staticAreaItem.querySelector("[ui5-responsive-popover]");
424
422
  return this.responsivePopover;
@@ -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 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 Popover from \"../Popover.js\";\nimport GroupHeaderListItem from \"../GroupHeaderListItem.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, keyboardUsed: boolean) => void;\n\tonItemPreviewed: (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\tresponsivePopover?: ResponsivePopover;\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\tthis._getSuggestionPopover();\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\tasync _isScrollable() {\n\t\tconst sc = await this._getScrollContainer();\n\t\treturn sc.offsetHeight < sc.scrollHeight;\n\t}\n\n\topen() {\n\t\tthis._getComponent().open = true;\n\t\tthis._beforeOpen();\n\n\t\tthis.responsivePopover!.showAt(this._getComponent());\n\t}\n\n\tasync close(preventFocusRestore = false) {\n\t\tconst selectedItem = this._getItems() && this._getItems()[this.selectedItemIndex];\n\n\t\tthis._getComponent().open = false;\n\t\tthis.responsivePopover = await this._getSuggestionPopover();\n\t\tthis.responsivePopover.close(false, false, preventFocusRestore);\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], keyboardUsed);\n\t\titem.selected = false;\n\t\titem.focused = false;\n\t\tthis._getComponent().open = false;\n\t}\n\n\tonItemPreviewed(item: SuggestionListItem) {\n\t\tthis._getComponent().onItemPreviewed(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_beforeOpen() {\n\t\tthis._attachItemsListeners();\n\t\tthis._attachPopupListeners();\n\t}\n\n\tasync _attachItemsListeners() {\n\t\tconst list = await this._getList();\n\t\tlist.removeEventListener(\"ui5-item-click\", this.fnOnSuggestionItemPress as EventListener);\n\t\tlist.addEventListener(\"ui5-item-click\", this.fnOnSuggestionItemPress as EventListener);\n\t\tlist.removeEventListener(\"ui5-selection-change\", this.fnOnSuggestionItemPress as EventListener);\n\t\tlist.addEventListener(\"ui5-selection-change\", this.fnOnSuggestionItemPress as EventListener);\n\t\tlist.removeEventListener(\"mouseover\", this.fnOnSuggestionItemMouseOver);\n\t\tlist.addEventListener(\"mouseover\", this.fnOnSuggestionItemMouseOver);\n\t\tlist.removeEventListener(\"mouseout\", this.fnOnSuggestionItemMouseOut);\n\t\tlist.addEventListener(\"mouseout\", this.fnOnSuggestionItemMouseOut);\n\t}\n\n\t_attachPopupListeners() {\n\t\tif (!this.handleFocus) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.attachedAfterOpened) {\n\t\t\tthis.responsivePopover!.addEventListener(\"ui5-after-open\", this._onOpen.bind(this));\n\t\t\tthis.attachedAfterOpened = true;\n\t\t}\n\n\t\tif (!this.attachedAfterClose) {\n\t\t\tthis.responsivePopover!.addEventListener(\"ui5-after-close\", this._onClose.bind(this));\n\t\t\tthis.attachedAfterClose = true;\n\t\t}\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.responsivePopover && this.responsivePopover.opened);\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.onItemPreviewed(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\tasync _scrollItemIntoView(item: SuggestionListItem) {\n\t\tconst pos = item.getDomRef()!.offsetTop;\n\t\tconst scrollContainer = await this._getScrollContainer();\n\t\tscrollContainer.scrollTop = pos;\n\t}\n\n\tasync _getScrollContainer() {\n\t\tif (!this._scrollContainer) {\n\t\t\tawait this._getSuggestionPopover();\n\t\t\tthis._scrollContainer = this.responsivePopover!.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.responsivePopover ? [...this.responsivePopover.querySelector<List>(\"[ui5-list]\")!.children] 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\tasync _getList() {\n\t\tthis.responsivePopover = await this._getSuggestionPopover();\n\t\treturn this.responsivePopover.querySelector<List>(\"[ui5-list]\")!;\n\t}\n\n\tasync _getListWidth() {\n\t\tconst list = await this._getList();\n\t\treturn list.offsetWidth;\n\t}\n\n\t_getRealItems() {\n\t\treturn this._getComponent().getSlottedNodes<SuggestionItem>(this.slotName);\n\t}\n\n\tasync _getSuggestionPopover() {\n\t\tif (this.responsivePopover) {\n\t\t\treturn this.responsivePopover;\n\t\t}\n\n\t\tconst staticAreaItem = await this._getComponent().getStaticAreaItemDomRef();\n\t\tthis.responsivePopover = staticAreaItem!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t\treturn this.responsivePopover;\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\tResponsivePopover,\n\t\t\tList,\n\t\t\tSuggestionListItem,\n\t\t\tGroupHeaderListItem,\n\t\t\tButton,\n\t\t\tIcon,\n\t\t\tPopover,\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\";\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 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 Popover from \"../Popover.js\";\nimport GroupHeaderListItem from \"../GroupHeaderListItem.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, keyboardUsed: boolean) => void;\n\tonItemPreviewed: (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\tresponsivePopover?: ResponsivePopover;\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\tthis._getSuggestionPopover();\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\tasync _isScrollable() {\n\t\tconst sc = await this._getScrollContainer();\n\t\treturn sc.offsetHeight < sc.scrollHeight;\n\t}\n\n\tasync open() {\n\t\tthis._getComponent().open = true;\n\t\tthis._beforeOpen();\n\n\t\tthis.responsivePopover = await this._getSuggestionPopover();\n\n\t\tthis.responsivePopover.showAt(this._getComponent());\n\t}\n\n\tasync close(preventFocusRestore = false) {\n\t\tconst selectedItem = this._getItems() && this._getItems()[this.selectedItemIndex];\n\n\t\tthis._getComponent().open = false;\n\t\tthis.responsivePopover = await this._getSuggestionPopover();\n\t\tthis.responsivePopover?.close(false, false, preventFocusRestore);\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], keyboardUsed);\n\t\titem.selected = false;\n\t\titem.focused = false;\n\t\tthis._getComponent().open = false;\n\t}\n\n\tonItemPreviewed(item: SuggestionListItem) {\n\t\tthis._getComponent().onItemPreviewed(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_beforeOpen() {\n\t\tthis._attachItemsListeners();\n\t\tthis._attachPopupListeners();\n\t}\n\n\tasync _attachItemsListeners() {\n\t\tconst list = await this._getList();\n\t\tlist?.removeEventListener(\"ui5-item-click\", this.fnOnSuggestionItemPress as EventListener);\n\t\tlist?.addEventListener(\"ui5-item-click\", this.fnOnSuggestionItemPress as EventListener);\n\t\tlist?.removeEventListener(\"ui5-selection-change\", this.fnOnSuggestionItemPress as EventListener);\n\t\tlist?.addEventListener(\"ui5-selection-change\", this.fnOnSuggestionItemPress as EventListener);\n\t\tlist?.removeEventListener(\"mouseover\", this.fnOnSuggestionItemMouseOver);\n\t\tlist?.addEventListener(\"mouseover\", this.fnOnSuggestionItemMouseOver);\n\t\tlist?.removeEventListener(\"mouseout\", this.fnOnSuggestionItemMouseOut);\n\t\tlist?.addEventListener(\"mouseout\", this.fnOnSuggestionItemMouseOut);\n\t}\n\n\t_attachPopupListeners() {\n\t\tif (!this.handleFocus) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.attachedAfterOpened) {\n\t\t\tthis.responsivePopover!.addEventListener(\"ui5-after-open\", this._onOpen.bind(this));\n\t\t\tthis.attachedAfterOpened = true;\n\t\t}\n\n\t\tif (!this.attachedAfterClose) {\n\t\t\tthis.responsivePopover!.addEventListener(\"ui5-after-close\", this._onClose.bind(this));\n\t\t\tthis.attachedAfterClose = true;\n\t\t}\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.responsivePopover && this.responsivePopover.opened);\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.onItemPreviewed(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\tasync _scrollItemIntoView(item: SuggestionListItem) {\n\t\tconst pos = item.getDomRef()!.offsetTop;\n\t\tconst scrollContainer = await this._getScrollContainer();\n\t\tscrollContainer.scrollTop = pos;\n\t}\n\n\tasync _getScrollContainer() {\n\t\tif (!this._scrollContainer) {\n\t\t\tawait this._getSuggestionPopover();\n\t\t\tthis._scrollContainer = this.responsivePopover!.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.responsivePopover ? [...this.responsivePopover.querySelector<List>(\"[ui5-list]\")!.children] 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\tasync _getList() {\n\t\tthis.responsivePopover = await this._getSuggestionPopover();\n\t\treturn this.responsivePopover?.querySelector<List>(\"[ui5-list]\");\n\t}\n\n\tasync _getListWidth() {\n\t\tconst list = await this._getList();\n\t\treturn list?.offsetWidth;\n\t}\n\n\t_getRealItems() {\n\t\treturn this._getComponent().getSlottedNodes<SuggestionItem>(this.slotName);\n\t}\n\n\tasync _getSuggestionPopover() {\n\t\tconst staticAreaItem = await this._getComponent().getStaticAreaItemDomRef();\n\t\tthis.responsivePopover = staticAreaItem!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t\treturn this.responsivePopover;\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\tResponsivePopover,\n\t\t\tList,\n\t\t\tSuggestionListItem,\n\t\t\tGroupHeaderListItem,\n\t\t\tButton,\n\t\t\tIcon,\n\t\t\tPopover,\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"]}