@ui5/webcomponents 2.0.0-rc.5 → 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 (1048) hide show
  1. package/CHANGELOG.md +240 -0
  2. package/README.md +5 -8
  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 +27 -7
  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 +110 -8
  24. package/dist/Button.js.map +1 -1
  25. package/dist/Calendar.d.ts +47 -8
  26. package/dist/Calendar.js +146 -19
  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 +2 -1
  32. package/dist/CalendarDateRange.js +18 -1
  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 +3 -3
  37. package/dist/CalendarLegendItem.js +16 -3
  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 +10 -9
  47. package/dist/Carousel.js +105 -14
  48. package/dist/Carousel.js.map +1 -1
  49. package/dist/CheckBox.d.ts +12 -11
  50. package/dist/CheckBox.js +86 -4
  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 +46 -29
  64. package/dist/ComboBox.js +214 -128
  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 +8 -7
  76. package/dist/DatePicker.js +62 -6
  77. package/dist/DatePicker.js.map +1 -1
  78. package/dist/DateRangePicker.d.ts +9 -2
  79. package/dist/DateRangePicker.js +21 -5
  80. package/dist/DateRangePicker.js.map +1 -1
  81. package/dist/DateTimePicker.d.ts +7 -0
  82. package/dist/DateTimePicker.js +35 -3
  83. package/dist/DateTimePicker.js.map +1 -1
  84. package/dist/DayPicker.js +52 -18
  85. package/dist/DayPicker.js.map +1 -1
  86. package/dist/Dialog.d.ts +2 -2
  87. package/dist/Dialog.js +48 -2
  88. package/dist/Dialog.js.map +1 -1
  89. package/dist/DropIndicator.js +31 -4
  90. package/dist/DropIndicator.js.map +1 -1
  91. package/dist/FileUploader.d.ts +9 -5
  92. package/dist/FileUploader.js +49 -2
  93. package/dist/FileUploader.js.map +1 -1
  94. package/dist/Filters.js +2 -2
  95. package/dist/Filters.js.map +1 -1
  96. package/dist/Form.d.ts +10 -3
  97. package/dist/Form.js +65 -15
  98. package/dist/Form.js.map +1 -1
  99. package/dist/FormGroup.d.ts +5 -3
  100. package/dist/FormGroup.js +20 -11
  101. package/dist/FormGroup.js.map +1 -1
  102. package/dist/FormItem.d.ts +3 -1
  103. package/dist/FormItem.js +16 -5
  104. package/dist/FormItem.js.map +1 -1
  105. package/dist/GridWalker.d.ts +35 -0
  106. package/dist/GridWalker.js +103 -0
  107. package/dist/GridWalker.js.map +1 -0
  108. package/dist/Icon.d.ts +5 -5
  109. package/dist/Icon.js +38 -6
  110. package/dist/Icon.js.map +1 -1
  111. package/dist/Input.d.ts +35 -40
  112. package/dist/Input.js +197 -79
  113. package/dist/Input.js.map +1 -1
  114. package/dist/Label.d.ts +3 -3
  115. package/dist/Label.js +30 -2
  116. package/dist/Label.js.map +1 -1
  117. package/dist/Link.d.ts +45 -15
  118. package/dist/Link.js +69 -8
  119. package/dist/Link.js.map +1 -1
  120. package/dist/List.d.ts +20 -20
  121. package/dist/List.js +75 -17
  122. package/dist/List.js.map +1 -1
  123. package/dist/ListItem.d.ts +11 -5
  124. package/dist/ListItem.js +70 -11
  125. package/dist/ListItem.js.map +1 -1
  126. package/dist/ListItemBase.d.ts +4 -3
  127. package/dist/ListItemBase.js +47 -4
  128. package/dist/ListItemBase.js.map +1 -1
  129. package/dist/{CustomListItem.d.ts → ListItemCustom.d.ts} +4 -4
  130. package/dist/{CustomListItem.js → ListItemCustom.js} +22 -12
  131. package/dist/ListItemCustom.js.map +1 -0
  132. package/dist/ListItemGroup.d.ts +5 -5
  133. package/dist/ListItemGroup.js +11 -4
  134. package/dist/ListItemGroup.js.map +1 -1
  135. package/dist/ListItemGroupHeader.d.ts +2 -3
  136. package/dist/ListItemGroupHeader.js +0 -6
  137. package/dist/ListItemGroupHeader.js.map +1 -1
  138. package/dist/{StandardListItem.d.ts → ListItemStandard.d.ts} +16 -26
  139. package/dist/{StandardListItem.js → ListItemStandard.js} +64 -31
  140. package/dist/ListItemStandard.js.map +1 -0
  141. package/dist/Menu.d.ts +24 -10
  142. package/dist/Menu.js +49 -16
  143. package/dist/Menu.js.map +1 -1
  144. package/dist/MenuItem.d.ts +21 -33
  145. package/dist/MenuItem.js +42 -9
  146. package/dist/MenuItem.js.map +1 -1
  147. package/dist/MenuSeparator.d.ts +25 -0
  148. package/dist/MenuSeparator.js +59 -0
  149. package/dist/MenuSeparator.js.map +1 -0
  150. package/dist/MessageStrip.d.ts +1 -0
  151. package/dist/MessageStrip.js +46 -6
  152. package/dist/MessageStrip.js.map +1 -1
  153. package/dist/MonthPicker.js +14 -7
  154. package/dist/MonthPicker.js.map +1 -1
  155. package/dist/MultiComboBox.d.ts +40 -25
  156. package/dist/MultiComboBox.js +263 -135
  157. package/dist/MultiComboBox.js.map +1 -1
  158. package/dist/MultiComboBoxItem.d.ts +5 -0
  159. package/dist/MultiComboBoxItem.js +11 -0
  160. package/dist/MultiComboBoxItem.js.map +1 -1
  161. package/dist/{MultiComboBoxGroupItem.d.ts → MultiComboBoxItemGroup.d.ts} +14 -6
  162. package/dist/{MultiComboBoxGroupItem.js → MultiComboBoxItemGroup.js} +22 -10
  163. package/dist/MultiComboBoxItemGroup.js.map +1 -0
  164. package/dist/MultiInput.d.ts +4 -4
  165. package/dist/MultiInput.js +18 -2
  166. package/dist/MultiInput.js.map +1 -1
  167. package/dist/NavigationMenu.d.ts +1 -1
  168. package/dist/NavigationMenu.js +0 -2
  169. package/dist/NavigationMenu.js.map +1 -1
  170. package/dist/NavigationMenuItem.d.ts +5 -5
  171. package/dist/NavigationMenuItem.js.map +1 -1
  172. package/dist/Option.d.ts +15 -10
  173. package/dist/Option.js +4 -8
  174. package/dist/Option.js.map +1 -1
  175. package/dist/OptionCustom.d.ts +13 -8
  176. package/dist/OptionCustom.js +4 -8
  177. package/dist/OptionCustom.js.map +1 -1
  178. package/dist/Panel.d.ts +7 -7
  179. package/dist/Panel.js +64 -4
  180. package/dist/Panel.js.map +1 -1
  181. package/dist/Popover.d.ts +2 -2
  182. package/dist/Popover.js +71 -11
  183. package/dist/Popover.js.map +1 -1
  184. package/dist/Popup.d.ts +5 -5
  185. package/dist/Popup.js +46 -4
  186. package/dist/Popup.js.map +1 -1
  187. package/dist/ProgressIndicator.d.ts +4 -4
  188. package/dist/ProgressIndicator.js +24 -4
  189. package/dist/ProgressIndicator.js.map +1 -1
  190. package/dist/RadioButton.d.ts +11 -11
  191. package/dist/RadioButton.js +78 -5
  192. package/dist/RadioButton.js.map +1 -1
  193. package/dist/RangeSlider.js +22 -3
  194. package/dist/RangeSlider.js.map +1 -1
  195. package/dist/RatingIndicator.d.ts +6 -6
  196. package/dist/RatingIndicator.js +55 -6
  197. package/dist/RatingIndicator.js.map +1 -1
  198. package/dist/ResponsivePopover.js +19 -0
  199. package/dist/ResponsivePopover.js.map +1 -1
  200. package/dist/SegmentedButton.d.ts +4 -1
  201. package/dist/SegmentedButton.js +15 -3
  202. package/dist/SegmentedButton.js.map +1 -1
  203. package/dist/SegmentedButtonItem.d.ts +13 -12
  204. package/dist/SegmentedButtonItem.js +51 -9
  205. package/dist/SegmentedButtonItem.js.map +1 -1
  206. package/dist/Select.d.ts +9 -10
  207. package/dist/Select.js +60 -12
  208. package/dist/Select.js.map +1 -1
  209. package/dist/Slider.js +9 -2
  210. package/dist/Slider.js.map +1 -1
  211. package/dist/SliderBase.d.ts +4 -4
  212. package/dist/SliderBase.js +61 -7
  213. package/dist/SliderBase.js.map +1 -1
  214. package/dist/SpecialCalendarDate.d.ts +11 -4
  215. package/dist/SpecialCalendarDate.js +23 -5
  216. package/dist/SpecialCalendarDate.js.map +1 -1
  217. package/dist/SplitButton.d.ts +3 -3
  218. package/dist/SplitButton.js +54 -4
  219. package/dist/SplitButton.js.map +1 -1
  220. package/dist/StepInput.d.ts +9 -9
  221. package/dist/StepInput.js +71 -21
  222. package/dist/StepInput.js.map +1 -1
  223. package/dist/SuggestionItem.d.ts +16 -60
  224. package/dist/SuggestionItem.js +26 -27
  225. package/dist/SuggestionItem.js.map +1 -1
  226. package/dist/SuggestionItemCustom.d.ts +31 -0
  227. package/dist/SuggestionItemCustom.js +48 -0
  228. package/dist/SuggestionItemCustom.js.map +1 -0
  229. package/dist/SuggestionItemGroup.d.ts +19 -0
  230. package/dist/SuggestionItemGroup.js +35 -0
  231. package/dist/SuggestionItemGroup.js.map +1 -0
  232. package/dist/SuggestionListItem.d.ts +4 -4
  233. package/dist/SuggestionListItem.js +3 -3
  234. package/dist/SuggestionListItem.js.map +1 -1
  235. package/dist/Switch.d.ts +17 -17
  236. package/dist/Switch.js +40 -2
  237. package/dist/Switch.js.map +1 -1
  238. package/dist/Tab.d.ts +12 -12
  239. package/dist/Tab.js +43 -4
  240. package/dist/Tab.js.map +1 -1
  241. package/dist/TabContainer.d.ts +6 -6
  242. package/dist/TabContainer.js +85 -18
  243. package/dist/TabContainer.js.map +1 -1
  244. package/dist/TabSeparator.d.ts +2 -2
  245. package/dist/TabSeparator.js.map +1 -1
  246. package/dist/Table.d.ts +271 -0
  247. package/dist/Table.js +464 -0
  248. package/dist/Table.js.map +1 -0
  249. package/dist/TableCell.d.ts +24 -0
  250. package/dist/TableCell.js +51 -0
  251. package/dist/TableCell.js.map +1 -0
  252. package/dist/TableCellBase.d.ts +27 -0
  253. package/dist/TableCellBase.js +64 -0
  254. package/dist/TableCellBase.js.map +1 -0
  255. package/dist/TableExtension.d.ts +6 -0
  256. package/dist/TableExtension.js +7 -0
  257. package/dist/TableExtension.js.map +1 -0
  258. package/dist/TableGrowing.d.ts +126 -0
  259. package/dist/TableGrowing.js +248 -0
  260. package/dist/TableGrowing.js.map +1 -0
  261. package/dist/TableHeaderCell.d.ts +63 -0
  262. package/dist/TableHeaderCell.js +105 -0
  263. package/dist/TableHeaderCell.js.map +1 -0
  264. package/dist/TableHeaderRow.d.ts +46 -0
  265. package/dist/TableHeaderRow.js +106 -0
  266. package/dist/TableHeaderRow.js.map +1 -0
  267. package/dist/TableNavigation.d.ts +38 -0
  268. package/dist/TableNavigation.js +267 -0
  269. package/dist/TableNavigation.js.map +1 -0
  270. package/dist/TableRow.d.ts +60 -0
  271. package/dist/TableRow.js +141 -0
  272. package/dist/TableRow.js.map +1 -0
  273. package/dist/TableRowBase.d.ts +38 -0
  274. package/dist/TableRowBase.js +111 -0
  275. package/dist/TableRowBase.js.map +1 -0
  276. package/dist/TableSelection.d.ts +104 -0
  277. package/dist/TableSelection.js +332 -0
  278. package/dist/TableSelection.js.map +1 -0
  279. package/dist/TableUtils.d.ts +7 -0
  280. package/dist/TableUtils.js +14 -0
  281. package/dist/TableUtils.js.map +1 -0
  282. package/dist/Tag.d.ts +3 -10
  283. package/dist/Tag.js +65 -14
  284. package/dist/Tag.js.map +1 -1
  285. package/dist/Text.js +10 -2
  286. package/dist/Text.js.map +1 -1
  287. package/dist/TextArea.d.ts +10 -10
  288. package/dist/TextArea.js +97 -8
  289. package/dist/TextArea.js.map +1 -1
  290. package/dist/TimePicker.d.ts +10 -9
  291. package/dist/TimePicker.js +45 -5
  292. package/dist/TimePicker.js.map +1 -1
  293. package/dist/TimePickerClock.d.ts +1 -1
  294. package/dist/TimePickerClock.js +121 -14
  295. package/dist/TimePickerClock.js.map +1 -1
  296. package/dist/TimePickerInternals.d.ts +5 -5
  297. package/dist/TimePickerInternals.js +34 -13
  298. package/dist/TimePickerInternals.js.map +1 -1
  299. package/dist/TimeSelectionClocks.js +15 -0
  300. package/dist/TimeSelectionClocks.js.map +1 -1
  301. package/dist/TimeSelectionInputs.d.ts +2 -2
  302. package/dist/TimeSelectionInputs.js +6 -3
  303. package/dist/TimeSelectionInputs.js.map +1 -1
  304. package/dist/Title.d.ts +1 -1
  305. package/dist/Title.js +20 -3
  306. package/dist/Title.js.map +1 -1
  307. package/dist/Toast.d.ts +1 -7
  308. package/dist/Toast.js +52 -23
  309. package/dist/Toast.js.map +1 -1
  310. package/dist/ToggleButton.js +9 -0
  311. package/dist/ToggleButton.js.map +1 -1
  312. package/dist/ToggleSpinButton.d.ts +1 -1
  313. package/dist/ToggleSpinButton.js +22 -4
  314. package/dist/ToggleSpinButton.js.map +1 -1
  315. package/dist/Token.d.ts +2 -2
  316. package/dist/Token.js +49 -1
  317. package/dist/Token.js.map +1 -1
  318. package/dist/Tokenizer.d.ts +4 -3
  319. package/dist/Tokenizer.js +76 -15
  320. package/dist/Tokenizer.js.map +1 -1
  321. package/dist/Toolbar.d.ts +16 -7
  322. package/dist/Toolbar.js +25 -7
  323. package/dist/Toolbar.js.map +1 -1
  324. package/dist/ToolbarButton.d.ts +15 -14
  325. package/dist/ToolbarButton.js +39 -6
  326. package/dist/ToolbarButton.js.map +1 -1
  327. package/dist/ToolbarItem.d.ts +2 -2
  328. package/dist/ToolbarItem.js +18 -3
  329. package/dist/ToolbarItem.js.map +1 -1
  330. package/dist/ToolbarSelect.d.ts +5 -5
  331. package/dist/ToolbarSelect.js +16 -4
  332. package/dist/ToolbarSelect.js.map +1 -1
  333. package/dist/ToolbarSelectOption.js +9 -0
  334. package/dist/ToolbarSelectOption.js.map +1 -1
  335. package/dist/ToolbarSeparator.js +4 -0
  336. package/dist/ToolbarSeparator.js.map +1 -1
  337. package/dist/ToolbarSpacer.js +1 -2
  338. package/dist/ToolbarSpacer.js.map +1 -1
  339. package/dist/Tree.d.ts +12 -12
  340. package/dist/Tree.js +11 -2
  341. package/dist/Tree.js.map +1 -1
  342. package/dist/TreeItem.d.ts +5 -5
  343. package/dist/TreeItem.js +1 -1
  344. package/dist/TreeItem.js.map +1 -1
  345. package/dist/TreeItemBase.d.ts +5 -5
  346. package/dist/TreeItemBase.js +61 -6
  347. package/dist/TreeItemBase.js.map +1 -1
  348. package/dist/TreeItemCustom.js +9 -0
  349. package/dist/TreeItemCustom.js.map +1 -1
  350. package/dist/YearPicker.js +14 -7
  351. package/dist/YearPicker.js.map +1 -1
  352. package/dist/bundle.common.bootstrap.d.ts +52 -1
  353. package/dist/bundle.common.bootstrap.js +103 -0
  354. package/dist/bundle.common.bootstrap.js.map +1 -1
  355. package/dist/bundle.esm.d.ts +7 -21
  356. package/dist/bundle.esm.js +14 -100
  357. package/dist/bundle.esm.js.map +1 -1
  358. package/dist/css/themes/Avatar.css +1 -1
  359. package/dist/css/themes/AvatarGroup.css +1 -1
  360. package/dist/css/themes/Bar.css +1 -1
  361. package/dist/css/themes/Breadcrumbs.css +1 -1
  362. package/dist/css/themes/BusyIndicator.css +1 -1
  363. package/dist/css/themes/Button.css +1 -1
  364. package/dist/css/themes/Calendar.css +1 -1
  365. package/dist/css/themes/CalendarHeader.css +1 -1
  366. package/dist/css/themes/CalendarLegend.css +1 -1
  367. package/dist/css/themes/CalendarLegendItem.css +1 -1
  368. package/dist/css/themes/Card.css +1 -1
  369. package/dist/css/themes/CardHeader.css +1 -1
  370. package/dist/css/themes/Carousel.css +1 -1
  371. package/dist/css/themes/CheckBox.css +1 -1
  372. package/dist/css/themes/ColorPalette.css +1 -1
  373. package/dist/css/themes/ColorPaletteItem.css +1 -1
  374. package/dist/css/themes/ColorPalettePopover.css +1 -1
  375. package/dist/css/themes/ColorPicker.css +1 -1
  376. package/dist/css/themes/ComboBox.css +1 -1
  377. package/dist/css/themes/DatePicker.css +1 -1
  378. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  379. package/dist/css/themes/DayPicker.css +1 -1
  380. package/dist/css/themes/Dialog.css +1 -1
  381. package/dist/css/themes/FileUploader.css +1 -1
  382. package/dist/css/themes/Form.css +1 -1
  383. package/dist/css/themes/FormItem.css +1 -1
  384. package/dist/css/themes/FormLabelSpan.css +1 -1
  385. package/dist/css/themes/GrowingButton.css +1 -1
  386. package/dist/css/themes/Icon.css +1 -1
  387. package/dist/css/themes/Input.css +1 -1
  388. package/dist/css/themes/InputIcon.css +1 -1
  389. package/dist/css/themes/InputSharedStyles.css +1 -1
  390. package/dist/css/themes/Link.css +1 -1
  391. package/dist/css/themes/List.css +1 -1
  392. package/dist/css/themes/ListItem.css +1 -1
  393. package/dist/css/themes/ListItemBase.css +1 -1
  394. package/dist/css/themes/ListItemCustom.css +1 -0
  395. package/dist/css/themes/ListItemGroup.css +1 -1
  396. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  397. package/dist/css/themes/ListItemIcon.css +1 -1
  398. package/dist/css/themes/Menu.css +1 -1
  399. package/dist/css/themes/MenuItem.css +1 -1
  400. package/dist/css/themes/MenuSeparator.css +1 -0
  401. package/dist/css/themes/MessageStrip.css +1 -1
  402. package/dist/css/themes/MonthPicker.css +1 -1
  403. package/dist/css/themes/MultiComboBox.css +1 -1
  404. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  405. package/dist/css/themes/MultiInput.css +1 -1
  406. package/dist/css/themes/NavigationMenu.css +1 -1
  407. package/dist/css/themes/NavigationMenuItem.css +1 -1
  408. package/dist/css/themes/OptionBase.css +1 -1
  409. package/dist/css/themes/Panel.css +1 -1
  410. package/dist/css/themes/Popover.css +1 -1
  411. package/dist/css/themes/PopupsCommon.css +1 -1
  412. package/dist/css/themes/ProgressIndicator.css +1 -1
  413. package/dist/css/themes/RadioButton.css +1 -1
  414. package/dist/css/themes/RangeSlider.css +1 -1
  415. package/dist/css/themes/RatingIndicator.css +1 -1
  416. package/dist/css/themes/ResponsivePopover.css +1 -1
  417. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  418. package/dist/css/themes/SegmentedButton.css +1 -1
  419. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  420. package/dist/css/themes/Select.css +1 -1
  421. package/dist/css/themes/SliderBase.css +1 -1
  422. package/dist/css/themes/SplitButton.css +1 -1
  423. package/dist/css/themes/StepInput.css +1 -1
  424. package/dist/css/themes/SuggestionItem.css +1 -0
  425. package/dist/css/themes/SuggestionItemCustom.css +1 -0
  426. package/dist/css/themes/Suggestions.css +1 -1
  427. package/dist/css/themes/Switch.css +1 -1
  428. package/dist/css/themes/TabContainer.css +1 -1
  429. package/dist/css/themes/TabInOverflow.css +1 -1
  430. package/dist/css/themes/TabInStrip.css +1 -1
  431. package/dist/css/themes/TabSemanticIcon.css +1 -1
  432. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  433. package/dist/css/themes/Table.css +1 -0
  434. package/dist/css/themes/TableCell.css +1 -0
  435. package/dist/css/themes/TableCellBase.css +1 -0
  436. package/dist/css/themes/TableGrowing.css +1 -0
  437. package/dist/css/themes/TableHeaderCell.css +1 -0
  438. package/dist/css/themes/TableHeaderRow.css +1 -0
  439. package/dist/css/themes/TableRow.css +1 -0
  440. package/dist/css/themes/TableRowBase.css +1 -0
  441. package/dist/css/themes/Tag.css +1 -1
  442. package/dist/css/themes/Text.css +1 -1
  443. package/dist/css/themes/TextArea.css +1 -1
  444. package/dist/css/themes/TimePicker.css +1 -1
  445. package/dist/css/themes/Toast.css +1 -1
  446. package/dist/css/themes/ToggleButton.css +1 -1
  447. package/dist/css/themes/Token.css +1 -1
  448. package/dist/css/themes/Tokenizer.css +1 -1
  449. package/dist/css/themes/TokenizerPopover.css +1 -1
  450. package/dist/css/themes/Toolbar.css +1 -1
  451. package/dist/css/themes/ToolbarPopover.css +1 -1
  452. package/dist/css/themes/TreeItem.css +1 -1
  453. package/dist/css/themes/ValueStateMessage.css +1 -1
  454. package/dist/css/themes/YearPicker.css +1 -1
  455. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  456. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  457. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  458. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  459. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  460. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  461. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  462. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  463. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  464. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  465. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  466. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  467. package/dist/custom-elements-internal.json +7869 -6647
  468. package/dist/custom-elements.json +5851 -4966
  469. package/dist/features/InputSuggestions.d.ts +23 -49
  470. package/dist/features/InputSuggestions.js +63 -107
  471. package/dist/features/InputSuggestions.js.map +1 -1
  472. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  473. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  474. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  475. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  476. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  477. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  478. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  479. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  480. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  481. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  482. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  483. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  484. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  485. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  486. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  487. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  488. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  489. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  490. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  491. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  492. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  493. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  494. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  495. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  496. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  497. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  498. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  499. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  500. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  501. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  502. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  503. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  504. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  505. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  506. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  507. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  508. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  509. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  510. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  511. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  512. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  513. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  514. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  515. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  516. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  517. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  518. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  519. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  520. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  521. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  522. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  523. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  524. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  525. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  526. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  527. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  528. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  529. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  530. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  531. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  532. package/dist/generated/i18n/i18n-defaults.d.ts +11 -2
  533. package/dist/generated/i18n/i18n-defaults.js +11 -2
  534. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  535. package/dist/generated/templates/AvatarTemplate.lit.js +1 -1
  536. package/dist/generated/templates/AvatarTemplate.lit.js.map +1 -1
  537. package/dist/generated/templates/CalendarHeaderTemplate.lit.d.ts +1 -1
  538. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +3 -3
  539. package/dist/generated/templates/CalendarHeaderTemplate.lit.js.map +1 -1
  540. package/dist/generated/templates/CalendarTemplate.lit.js +4 -2
  541. package/dist/generated/templates/CalendarTemplate.lit.js.map +1 -1
  542. package/dist/generated/templates/CarouselTemplate.lit.js +1 -1
  543. package/dist/generated/templates/CarouselTemplate.lit.js.map +1 -1
  544. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +7 -7
  545. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  546. package/dist/generated/templates/ComboBoxTemplate.lit.js +7 -7
  547. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  548. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
  549. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
  550. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  551. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  552. package/dist/generated/templates/DateRangePickerTemplate.lit.js +1 -1
  553. package/dist/generated/templates/DateRangePickerTemplate.lit.js.map +1 -1
  554. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  555. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  556. package/dist/generated/templates/DateTimePickerTemplate.lit.js +1 -1
  557. package/dist/generated/templates/DateTimePickerTemplate.lit.js.map +1 -1
  558. package/dist/generated/templates/InputPopoverTemplate.lit.js +8 -12
  559. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
  560. package/dist/generated/templates/InputTemplate.lit.js +8 -12
  561. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  562. package/dist/generated/templates/LinkTemplate.lit.js +5 -3
  563. package/dist/generated/templates/LinkTemplate.lit.js.map +1 -1
  564. package/dist/generated/templates/{CustomListItemTemplate.lit.d.ts → ListItemCustomTemplate.lit.d.ts} +2 -2
  565. package/dist/generated/templates/{CustomListItemTemplate.lit.js → ListItemCustomTemplate.lit.js} +1 -1
  566. package/dist/generated/templates/{CustomListItemTemplate.lit.js.map → ListItemCustomTemplate.lit.js.map} +1 -1
  567. package/dist/generated/templates/{StandardListItemTemplate.lit.d.ts → ListItemStandardTemplate.lit.d.ts} +2 -2
  568. package/dist/generated/templates/{StandardListItemTemplate.lit.js → ListItemStandardTemplate.lit.js} +19 -21
  569. package/dist/generated/templates/ListItemStandardTemplate.lit.js.map +1 -0
  570. package/dist/generated/templates/MenuSeparatorTemplate.lit.d.ts +4 -0
  571. package/dist/generated/templates/MenuSeparatorTemplate.lit.js +5 -0
  572. package/dist/generated/templates/MenuSeparatorTemplate.lit.js.map +1 -0
  573. package/dist/generated/templates/MessageStripTemplate.lit.js +1 -1
  574. package/dist/generated/templates/MessageStripTemplate.lit.js.map +1 -1
  575. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +19 -15
  576. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  577. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +40 -32
  578. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  579. package/dist/generated/templates/MultiInputTemplate.lit.js +7 -11
  580. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  581. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.d.ts +4 -0
  582. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.js +5 -0
  583. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.js.map +1 -0
  584. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.d.ts +4 -0
  585. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.js +8 -0
  586. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.js.map +1 -0
  587. package/dist/generated/templates/SuggestionItemTemplate.lit.d.ts +4 -0
  588. package/dist/generated/templates/SuggestionItemTemplate.lit.js +6 -0
  589. package/dist/generated/templates/SuggestionItemTemplate.lit.js.map +1 -0
  590. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +21 -23
  591. package/dist/generated/templates/SuggestionListItemTemplate.lit.js.map +1 -1
  592. package/dist/generated/templates/TabContainerTemplate.lit.js +2 -2
  593. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
  594. package/dist/generated/templates/TableCellTemplate.lit.d.ts +4 -0
  595. package/dist/generated/templates/TableCellTemplate.lit.js +8 -0
  596. package/dist/generated/templates/TableCellTemplate.lit.js.map +1 -0
  597. package/dist/generated/templates/TableGrowingTemplate.lit.d.ts +4 -0
  598. package/dist/generated/templates/TableGrowingTemplate.lit.js +7 -0
  599. package/dist/generated/templates/TableGrowingTemplate.lit.js.map +1 -0
  600. package/dist/generated/templates/TableHeaderCellTemplate.lit.d.ts +4 -0
  601. package/dist/generated/templates/TableHeaderCellTemplate.lit.js +5 -0
  602. package/dist/generated/templates/TableHeaderCellTemplate.lit.js.map +1 -0
  603. package/dist/generated/templates/TableHeaderRowTemplate.lit.d.ts +4 -0
  604. package/dist/generated/templates/TableHeaderRowTemplate.lit.js +9 -0
  605. package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +1 -0
  606. package/dist/generated/templates/TableRowTemplate.lit.d.ts +4 -0
  607. package/dist/generated/templates/TableRowTemplate.lit.js +12 -0
  608. package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -0
  609. package/dist/generated/templates/TableTemplate.lit.d.ts +4 -0
  610. package/dist/generated/templates/TableTemplate.lit.js +10 -0
  611. package/dist/generated/templates/TableTemplate.lit.js.map +1 -0
  612. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +1 -1
  613. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js.map +1 -1
  614. package/dist/generated/templates/TimePickerTemplate.lit.js +1 -1
  615. package/dist/generated/templates/TimePickerTemplate.lit.js.map +1 -1
  616. package/dist/generated/templates/ToastTemplate.lit.js +1 -1
  617. package/dist/generated/templates/ToastTemplate.lit.js.map +1 -1
  618. package/dist/generated/themes/Avatar.css.js +1 -1
  619. package/dist/generated/themes/Avatar.css.js.map +1 -1
  620. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  621. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  622. package/dist/generated/themes/Bar.css.js +1 -1
  623. package/dist/generated/themes/Bar.css.js.map +1 -1
  624. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  625. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  626. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  627. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  628. package/dist/generated/themes/Button.css.js +1 -1
  629. package/dist/generated/themes/Button.css.js.map +1 -1
  630. package/dist/generated/themes/Calendar.css.js +1 -1
  631. package/dist/generated/themes/Calendar.css.js.map +1 -1
  632. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  633. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  634. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  635. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  636. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  637. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  638. package/dist/generated/themes/Card.css.js +1 -1
  639. package/dist/generated/themes/Card.css.js.map +1 -1
  640. package/dist/generated/themes/CardHeader.css.js +1 -1
  641. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  642. package/dist/generated/themes/Carousel.css.js +1 -1
  643. package/dist/generated/themes/Carousel.css.js.map +1 -1
  644. package/dist/generated/themes/CheckBox.css.js +1 -1
  645. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  646. package/dist/generated/themes/ColorPalette.css.js +1 -1
  647. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  648. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  649. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  650. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  651. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  652. package/dist/generated/themes/ColorPicker.css.js +1 -1
  653. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  654. package/dist/generated/themes/ComboBox.css.js +1 -1
  655. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  656. package/dist/generated/themes/DatePicker.css.js +1 -1
  657. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  658. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  659. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  660. package/dist/generated/themes/DayPicker.css.js +1 -1
  661. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  662. package/dist/generated/themes/Dialog.css.js +1 -1
  663. package/dist/generated/themes/Dialog.css.js.map +1 -1
  664. package/dist/generated/themes/FileUploader.css.js +1 -1
  665. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  666. package/dist/generated/themes/Form.css.js +1 -1
  667. package/dist/generated/themes/Form.css.js.map +1 -1
  668. package/dist/generated/themes/FormItem.css.js +1 -1
  669. package/dist/generated/themes/FormItem.css.js.map +1 -1
  670. package/dist/generated/themes/FormLabelSpan.css.js +1 -1
  671. package/dist/generated/themes/FormLabelSpan.css.js.map +1 -1
  672. package/dist/generated/themes/GrowingButton.css.js +1 -1
  673. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  674. package/dist/generated/themes/Icon.css.js +1 -1
  675. package/dist/generated/themes/Icon.css.js.map +1 -1
  676. package/dist/generated/themes/Input.css.js +1 -1
  677. package/dist/generated/themes/Input.css.js.map +1 -1
  678. package/dist/generated/themes/InputIcon.css.js +1 -1
  679. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  680. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  681. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  682. package/dist/generated/themes/Link.css.js +1 -1
  683. package/dist/generated/themes/Link.css.js.map +1 -1
  684. package/dist/generated/themes/List.css.js +1 -1
  685. package/dist/generated/themes/List.css.js.map +1 -1
  686. package/dist/generated/themes/ListItem.css.js +1 -1
  687. package/dist/generated/themes/ListItem.css.js.map +1 -1
  688. package/dist/generated/themes/ListItemBase.css.js +1 -1
  689. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  690. package/dist/generated/themes/ListItemCustom.css.js +9 -0
  691. package/dist/generated/themes/{CustomListItem.css.js.map → ListItemCustom.css.js.map} +1 -1
  692. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  693. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  694. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  695. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  696. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  697. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  698. package/dist/generated/themes/Menu.css.js +1 -1
  699. package/dist/generated/themes/Menu.css.js.map +1 -1
  700. package/dist/generated/themes/MenuItem.css.js +1 -1
  701. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  702. package/dist/generated/themes/MenuSeparator.css.d.ts +3 -0
  703. package/dist/generated/themes/MenuSeparator.css.js +9 -0
  704. package/dist/generated/themes/MenuSeparator.css.js.map +1 -0
  705. package/dist/generated/themes/MessageStrip.css.js +1 -1
  706. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  707. package/dist/generated/themes/MonthPicker.css.js +1 -1
  708. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  709. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  710. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  711. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  712. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  713. package/dist/generated/themes/MultiInput.css.js +1 -1
  714. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  715. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  716. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  717. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  718. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  719. package/dist/generated/themes/OptionBase.css.js +1 -1
  720. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  721. package/dist/generated/themes/Panel.css.js +1 -1
  722. package/dist/generated/themes/Panel.css.js.map +1 -1
  723. package/dist/generated/themes/Popover.css.js +1 -1
  724. package/dist/generated/themes/Popover.css.js.map +1 -1
  725. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  726. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  727. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  728. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  729. package/dist/generated/themes/RadioButton.css.js +1 -1
  730. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  731. package/dist/generated/themes/RangeSlider.css.js +1 -1
  732. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  733. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  734. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  735. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  736. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  737. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  738. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  739. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  740. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  741. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  742. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  743. package/dist/generated/themes/Select.css.js +1 -1
  744. package/dist/generated/themes/Select.css.js.map +1 -1
  745. package/dist/generated/themes/SliderBase.css.js +1 -1
  746. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  747. package/dist/generated/themes/SplitButton.css.js +1 -1
  748. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  749. package/dist/generated/themes/StepInput.css.js +1 -1
  750. package/dist/generated/themes/StepInput.css.js.map +1 -1
  751. package/dist/generated/themes/SuggestionItem.css.d.ts +3 -0
  752. package/dist/generated/themes/SuggestionItem.css.js +9 -0
  753. package/dist/generated/themes/SuggestionItem.css.js.map +1 -0
  754. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +3 -0
  755. package/dist/generated/themes/SuggestionItemCustom.css.js +9 -0
  756. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -0
  757. package/dist/generated/themes/Suggestions.css.js +1 -1
  758. package/dist/generated/themes/Suggestions.css.js.map +1 -1
  759. package/dist/generated/themes/Switch.css.js +1 -1
  760. package/dist/generated/themes/Switch.css.js.map +1 -1
  761. package/dist/generated/themes/TabContainer.css.js +1 -1
  762. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  763. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  764. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  765. package/dist/generated/themes/TabInStrip.css.js +1 -1
  766. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  767. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  768. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  769. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  770. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  771. package/dist/generated/themes/Table.css.d.ts +3 -0
  772. package/dist/generated/themes/Table.css.js +9 -0
  773. package/dist/generated/themes/Table.css.js.map +1 -0
  774. package/dist/generated/themes/TableCell.css.d.ts +3 -0
  775. package/dist/generated/themes/TableCell.css.js +9 -0
  776. package/dist/generated/themes/TableCell.css.js.map +1 -0
  777. package/dist/generated/themes/TableCellBase.css.d.ts +3 -0
  778. package/dist/generated/themes/TableCellBase.css.js +9 -0
  779. package/dist/generated/themes/TableCellBase.css.js.map +1 -0
  780. package/dist/generated/themes/TableGrowing.css.d.ts +3 -0
  781. package/dist/generated/themes/TableGrowing.css.js +9 -0
  782. package/dist/generated/themes/TableGrowing.css.js.map +1 -0
  783. package/dist/generated/themes/TableHeaderCell.css.d.ts +3 -0
  784. package/dist/generated/themes/TableHeaderCell.css.js +9 -0
  785. package/dist/generated/themes/TableHeaderCell.css.js.map +1 -0
  786. package/dist/generated/themes/TableHeaderRow.css.d.ts +3 -0
  787. package/dist/generated/themes/TableHeaderRow.css.js +9 -0
  788. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -0
  789. package/dist/generated/themes/TableRow.css.d.ts +3 -0
  790. package/dist/generated/themes/TableRow.css.js +9 -0
  791. package/dist/generated/themes/TableRow.css.js.map +1 -0
  792. package/dist/generated/themes/TableRowBase.css.d.ts +3 -0
  793. package/dist/generated/themes/TableRowBase.css.js +9 -0
  794. package/dist/generated/themes/TableRowBase.css.js.map +1 -0
  795. package/dist/generated/themes/Tag.css.js +1 -1
  796. package/dist/generated/themes/Tag.css.js.map +1 -1
  797. package/dist/generated/themes/Text.css.js +1 -1
  798. package/dist/generated/themes/Text.css.js.map +1 -1
  799. package/dist/generated/themes/TextArea.css.js +1 -1
  800. package/dist/generated/themes/TextArea.css.js.map +1 -1
  801. package/dist/generated/themes/TimePicker.css.js +1 -1
  802. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  803. package/dist/generated/themes/Toast.css.js +1 -1
  804. package/dist/generated/themes/Toast.css.js.map +1 -1
  805. package/dist/generated/themes/ToggleButton.css.js +1 -1
  806. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  807. package/dist/generated/themes/Token.css.js +1 -1
  808. package/dist/generated/themes/Token.css.js.map +1 -1
  809. package/dist/generated/themes/Tokenizer.css.js +1 -1
  810. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  811. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  812. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  813. package/dist/generated/themes/Toolbar.css.js +1 -1
  814. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  815. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  816. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  817. package/dist/generated/themes/TreeItem.css.js +1 -1
  818. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  819. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  820. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  821. package/dist/generated/themes/YearPicker.css.js +1 -1
  822. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  823. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  824. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  825. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  826. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  827. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  828. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  829. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  830. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  831. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  832. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  833. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  834. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  835. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  836. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  837. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  838. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  839. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  840. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  841. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  842. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  843. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  844. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  845. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  846. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  847. package/dist/popup-utils/OpenedPopupsRegistry.d.ts +1 -1
  848. package/dist/popup-utils/OpenedPopupsRegistry.js +0 -1
  849. package/dist/popup-utils/OpenedPopupsRegistry.js.map +1 -1
  850. package/dist/types/IconMode.d.ts +4 -4
  851. package/dist/types/IconMode.js +4 -4
  852. package/dist/types/IconMode.js.map +1 -1
  853. package/dist/types/{ListSeparators.d.ts → ListSeparator.d.ts} +3 -2
  854. package/dist/types/{ListSeparators.js → ListSeparator.js} +9 -8
  855. package/dist/types/ListSeparator.js.map +1 -0
  856. package/dist/types/TableGrowingMode.d.ts +18 -0
  857. package/dist/types/TableGrowingMode.js +20 -0
  858. package/dist/types/TableGrowingMode.js.map +1 -0
  859. package/dist/types/TableOverflowMode.d.ts +18 -0
  860. package/dist/types/TableOverflowMode.js +20 -0
  861. package/dist/types/TableOverflowMode.js.map +1 -0
  862. package/dist/types/TableSelectionMode.d.ts +23 -0
  863. package/dist/types/TableSelectionMode.js +25 -0
  864. package/dist/types/TableSelectionMode.js.map +1 -0
  865. package/dist/types/TagDesign.d.ts +0 -6
  866. package/dist/types/TagDesign.js +0 -6
  867. package/dist/types/TagDesign.js.map +1 -1
  868. package/dist/types/ToolbarDesign.d.ts +18 -0
  869. package/dist/types/ToolbarDesign.js +20 -0
  870. package/dist/types/ToolbarDesign.js.map +1 -0
  871. package/dist/vscode.html-custom-data.json +375 -228
  872. package/dist/web-types.json +1533 -1160
  873. package/package.json +11 -9
  874. package/src/Avatar.hbs +1 -1
  875. package/src/Calendar.hbs +3 -19
  876. package/src/CalendarHeader.hbs +10 -10
  877. package/src/Carousel.hbs +1 -0
  878. package/src/ComboBoxPopover.hbs +22 -10
  879. package/src/DatePickerPopover.hbs +1 -0
  880. package/src/InputPopover.hbs +1 -22
  881. package/src/Link.hbs +22 -1
  882. package/src/{StandardListItem.hbs → ListItemStandard.hbs} +3 -9
  883. package/src/MenuSeparator.hbs +6 -0
  884. package/src/MessageStrip.hbs +1 -1
  885. package/src/MultiComboBox.hbs +18 -1
  886. package/src/MultiComboBoxPopover.hbs +26 -7
  887. package/src/SuggestionItem.hbs +14 -0
  888. package/src/SuggestionItemCustom.hbs +5 -0
  889. package/src/SuggestionItemGroup.hbs +1 -0
  890. package/src/SuggestionListItem.hbs +1 -1
  891. package/src/TabContainer.hbs +2 -2
  892. package/src/Table.hbs +53 -0
  893. package/src/TableCell.hbs +11 -0
  894. package/src/TableGrowing.hbs +19 -0
  895. package/src/TableHeaderCell.hbs +1 -0
  896. package/src/TableHeaderRow.hbs +23 -0
  897. package/src/TableRow.hbs +34 -0
  898. package/src/TimePickerPopover.hbs +1 -0
  899. package/src/Toast.hbs +1 -1
  900. package/src/i18n/messagebundle.properties +26 -4
  901. package/src/i18n/messagebundle_ar.properties +15 -2
  902. package/src/i18n/messagebundle_bg.properties +15 -2
  903. package/src/i18n/messagebundle_ca.properties +31 -18
  904. package/src/i18n/messagebundle_cnr.properties +15 -2
  905. package/src/i18n/messagebundle_cs.properties +15 -2
  906. package/src/i18n/messagebundle_cy.properties +25 -12
  907. package/src/i18n/messagebundle_da.properties +15 -2
  908. package/src/i18n/messagebundle_de.properties +18 -5
  909. package/src/i18n/messagebundle_el.properties +15 -2
  910. package/src/i18n/messagebundle_en.properties +15 -2
  911. package/src/i18n/messagebundle_en_GB.properties +15 -2
  912. package/src/i18n/messagebundle_en_US_saprigi.properties +15 -2
  913. package/src/i18n/messagebundle_es.properties +15 -2
  914. package/src/i18n/messagebundle_es_MX.properties +18 -5
  915. package/src/i18n/messagebundle_et.properties +15 -2
  916. package/src/i18n/messagebundle_fi.properties +21 -8
  917. package/src/i18n/messagebundle_fr.properties +33 -20
  918. package/src/i18n/messagebundle_fr_CA.properties +33 -20
  919. package/src/i18n/messagebundle_hi.properties +15 -2
  920. package/src/i18n/messagebundle_hr.properties +15 -2
  921. package/src/i18n/messagebundle_hu.properties +15 -2
  922. package/src/i18n/messagebundle_id.properties +15 -2
  923. package/src/i18n/messagebundle_it.properties +19 -6
  924. package/src/i18n/messagebundle_iw.properties +17 -4
  925. package/src/i18n/messagebundle_ja.properties +15 -2
  926. package/src/i18n/messagebundle_kk.properties +19 -6
  927. package/src/i18n/messagebundle_ko.properties +18 -5
  928. package/src/i18n/messagebundle_lt.properties +15 -2
  929. package/src/i18n/messagebundle_lv.properties +15 -2
  930. package/src/i18n/messagebundle_mk.properties +15 -2
  931. package/src/i18n/messagebundle_ms.properties +15 -2
  932. package/src/i18n/messagebundle_nl.properties +15 -2
  933. package/src/i18n/messagebundle_no.properties +15 -2
  934. package/src/i18n/messagebundle_pl.properties +15 -2
  935. package/src/i18n/messagebundle_pt.properties +15 -2
  936. package/src/i18n/messagebundle_pt_PT.properties +15 -2
  937. package/src/i18n/messagebundle_ro.properties +15 -2
  938. package/src/i18n/messagebundle_ru.properties +15 -2
  939. package/src/i18n/messagebundle_sh.properties +15 -2
  940. package/src/i18n/messagebundle_sk.properties +15 -2
  941. package/src/i18n/messagebundle_sl.properties +15 -2
  942. package/src/i18n/messagebundle_sr.properties +15 -2
  943. package/src/i18n/messagebundle_sv.properties +21 -8
  944. package/src/i18n/messagebundle_th.properties +16 -3
  945. package/src/i18n/messagebundle_tr.properties +16 -3
  946. package/src/i18n/messagebundle_uk.properties +16 -3
  947. package/src/i18n/messagebundle_vi.properties +15 -2
  948. package/src/i18n/messagebundle_zh_CN.properties +15 -2
  949. package/src/i18n/messagebundle_zh_TW.properties +15 -2
  950. package/src/themes/Avatar.css +1 -5
  951. package/src/themes/AvatarGroup.css +3 -3
  952. package/src/themes/BusyIndicator.css +4 -0
  953. package/src/themes/Calendar.css +6 -5
  954. package/src/themes/CheckBox.css +7 -12
  955. package/src/themes/Icon.css +1 -1
  956. package/src/themes/Link.css +27 -0
  957. package/src/themes/ListItem.css +9 -13
  958. package/src/themes/ListItemBase.css +10 -9
  959. package/src/themes/MenuItem.css +0 -4
  960. package/src/themes/MenuSeparator.css +11 -0
  961. package/src/themes/SegmentedButtonItem.css +7 -1
  962. package/src/themes/SuggestionItem.css +14 -0
  963. package/src/themes/SuggestionItemCustom.css +3 -0
  964. package/src/themes/Suggestions.css +0 -5
  965. package/src/themes/TabContainer.css +1 -1
  966. package/src/themes/Table.css +42 -0
  967. package/src/themes/TableCell.css +9 -0
  968. package/src/themes/TableCellBase.css +21 -0
  969. package/src/themes/TableGrowing.css +41 -0
  970. package/src/themes/TableHeaderCell.css +8 -0
  971. package/src/themes/TableHeaderRow.css +20 -0
  972. package/src/themes/TableRow.css +48 -0
  973. package/src/themes/TableRowBase.css +20 -0
  974. package/src/themes/Tag.css +21 -102
  975. package/src/themes/TextArea.css +2 -2
  976. package/src/themes/Toolbar.css +7 -1
  977. package/src/themes/TreeItem.css +5 -6
  978. package/src/themes/base/BusyIndicator-parameters.css +1 -0
  979. package/src/themes/base/CheckBox-parameters.css +2 -4
  980. package/src/themes/base/Table-parameters.css +5 -0
  981. package/src/themes/base/Tag-parameters.css +3 -51
  982. package/src/themes/base/sizes-parameters.css +3 -2
  983. package/src/themes/sap_fiori_3/CheckBox-parameters.css +0 -3
  984. package/src/themes/sap_fiori_3/Tag-parameters.css +5 -0
  985. package/src/themes/sap_fiori_3/parameters-bundle.css +2 -1
  986. package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +0 -3
  987. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
  988. package/src/themes/sap_fiori_3_hcb/BusyIndicator-parameters.css +5 -0
  989. package/src/themes/sap_fiori_3_hcb/CheckBox-parameters.css +1 -0
  990. package/src/themes/sap_fiori_3_hcb/Tag-parameters.css +0 -45
  991. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +3 -2
  992. package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +4 -0
  993. package/src/themes/sap_fiori_3_hcw/BusyIndicator-parameters.css +5 -0
  994. package/src/themes/sap_fiori_3_hcw/CheckBox-parameters.css +1 -0
  995. package/src/themes/sap_fiori_3_hcw/Tag-parameters.css +0 -45
  996. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +3 -2
  997. package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +4 -0
  998. package/src/themes/sap_horizon/CheckBox-parameters.css +0 -1
  999. package/src/themes/sap_horizon/ProgressIndicatorLayout-parameters.css +0 -5
  1000. package/src/themes/sap_horizon/RatingIndicator-parameters.css +5 -3
  1001. package/src/themes/sap_horizon/Tag-parameters.css +0 -33
  1002. package/src/themes/sap_horizon/parameters-bundle.css +1 -0
  1003. package/src/themes/sap_horizon/rtl-parameters.css +2 -0
  1004. package/src/themes/sap_horizon/sizes-parameters.css +3 -0
  1005. package/src/themes/sap_horizon_dark/CheckBox-parameters.css +0 -1
  1006. package/src/themes/sap_horizon_dark/RatingIndicator-parameters.css +5 -3
  1007. package/src/themes/sap_horizon_dark/Tag-parameters.css +0 -33
  1008. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -0
  1009. package/src/themes/sap_horizon_dark/sizes-parameters.css +3 -0
  1010. package/src/themes/sap_horizon_dark_exp/Tag-parameters.css +1 -43
  1011. package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -0
  1012. package/src/themes/sap_horizon_exp/CheckBox-parameters.css +0 -1
  1013. package/src/themes/sap_horizon_exp/Tag-parameters.css +1 -43
  1014. package/src/themes/sap_horizon_exp/parameters-bundle.css +1 -0
  1015. package/src/themes/sap_horizon_hcb/BusyIndicator-parameters.css +1 -0
  1016. package/src/themes/sap_horizon_hcb/CheckBox-parameters.css +1 -1
  1017. package/src/themes/sap_horizon_hcb/RatingIndicator-parameters.css +5 -3
  1018. package/src/themes/sap_horizon_hcb/Tag-parameters.css +0 -39
  1019. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -0
  1020. package/src/themes/sap_horizon_hcb/sizes-parameters.css +4 -0
  1021. package/src/themes/sap_horizon_hcb_exp/Tag-parameters.css +1 -43
  1022. package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -0
  1023. package/src/themes/sap_horizon_hcw/BusyIndicator-parameters.css +1 -0
  1024. package/src/themes/sap_horizon_hcw/CheckBox-parameters.css +1 -1
  1025. package/src/themes/sap_horizon_hcw/RatingIndicator-parameters.css +5 -3
  1026. package/src/themes/sap_horizon_hcw/Tag-parameters.css +0 -41
  1027. package/src/themes/sap_horizon_hcw/sizes-parameters.css +4 -0
  1028. package/src/themes/sap_horizon_hcw_exp/Tag-parameters.css +1 -43
  1029. package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -0
  1030. package/dist/CalendarHeader.d.ts +0 -80
  1031. package/dist/CalendarHeader.js +0 -160
  1032. package/dist/CalendarHeader.js.map +0 -1
  1033. package/dist/CustomListItem.js.map +0 -1
  1034. package/dist/MultiComboBoxGroupItem.js.map +0 -1
  1035. package/dist/StandardListItem.js.map +0 -1
  1036. package/dist/SuggestionGroupItem.d.ts +0 -28
  1037. package/dist/SuggestionGroupItem.js +0 -43
  1038. package/dist/SuggestionGroupItem.js.map +0 -1
  1039. package/dist/css/themes/CustomListItem.css +0 -1
  1040. package/dist/generated/templates/StandardListItemTemplate.lit.js.map +0 -1
  1041. package/dist/generated/themes/CustomListItem.css.js +0 -9
  1042. package/dist/styles/Icon.css +0 -33
  1043. package/dist/styles/Icon.module.css +0 -33
  1044. package/dist/types/ListSeparators.js.map +0 -1
  1045. package/src/styles/Icon.module.css +0 -1
  1046. /package/dist/generated/themes/{CustomListItem.css.d.ts → ListItemCustom.css.d.ts} +0 -0
  1047. /package/src/{CustomListItem.hbs → ListItemCustom.hbs} +0 -0
  1048. /package/src/themes/{CustomListItem.css → ListItemCustom.css} +0 -0
@@ -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
- import ResponsivePopover from "../ResponsivePopover.js";
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,17 +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
- import "../ResponsivePopover.js";
8
5
  import SuggestionItem from "../SuggestionItem.js";
9
- import SuggestionGroupItem from "../SuggestionGroupItem.js";
10
6
  import Button from "../Button.js";
11
7
  import Icon from "../Icon.js";
12
- import ListItemGroupHeader from "../ListItemGroupHeader.js";
13
- import SuggestionListItem from "../SuggestionListItem.js";
14
8
  import { LIST_ITEM_POSITION, LIST_ITEM_GROUP_HEADER, } from "../generated/i18n/i18n-defaults.js";
9
+ import SuggestionItemGroup from "../SuggestionItemGroup.js";
15
10
  /**
16
11
  * A class to manage the `Input` suggestion items.
17
12
  * @class
@@ -27,36 +22,10 @@ class Suggestions {
27
22
  this.handleFocus = handleFocus;
28
23
  // Defines, if the suggestions should highlight.
29
24
  this.highlight = highlight;
30
- // Press and Focus handlers
31
- this.fnOnSuggestionItemPress = this.onItemPress.bind(this);
32
- this.fnOnSuggestionItemMouseOver = this.onItemMouseOver.bind(this);
33
- this.fnOnSuggestionItemMouseOut = this.onItemMouseOut.bind(this);
34
25
  // An integer value to store the currently selected item position,
35
26
  // that changes due to user interaction.
36
27
  this.selectedItemIndex = -1;
37
28
  }
38
- /* Public methods */
39
- defaultSlotProperties(hightlightValue) {
40
- const inputSuggestionItems = this._getComponent().suggestionItems;
41
- const highlight = this.highlight && !!hightlightValue;
42
- const suggestions = [];
43
- inputSuggestionItems.map((suggestion, idx) => {
44
- const text = highlight ? this.getHighlightedText(suggestion, hightlightValue) : this.getRowText(suggestion);
45
- const description = highlight ? this.getHighlightedDesc(suggestion, hightlightValue) : this.getRowDesc(suggestion);
46
- return suggestions.push({
47
- text,
48
- description,
49
- image: suggestion.image || undefined,
50
- icon: suggestion.icon || undefined,
51
- type: suggestion.type || undefined,
52
- additionalText: suggestion.additionalText || undefined,
53
- additionalTextState: suggestion.additionalTextState,
54
- groupItem: suggestion.groupItem,
55
- key: idx,
56
- });
57
- });
58
- return suggestions;
59
- }
60
29
  onUp(e) {
61
30
  e.preventDefault();
62
31
  this._handleItemNavigation(false /* forward */);
@@ -70,18 +39,18 @@ class Suggestions {
70
39
  onSpace(e) {
71
40
  if (this._isItemOnTarget()) {
72
41
  e.preventDefault();
73
- this.onItemSelected(null, true /* keyboardUsed */);
42
+ this.onItemSelected(this._selectedItem, true /* keyboardUsed */);
74
43
  return true;
75
44
  }
76
45
  return false;
77
46
  }
78
47
  onEnter(e) {
79
- if (this._isGroupOrInactiveItem) {
48
+ if (this._isGroupItem) {
80
49
  e.preventDefault();
81
50
  return false;
82
51
  }
83
52
  if (this._isItemOnTarget()) {
84
- this.onItemSelected(null, true /* keyboardUsed */);
53
+ this.onItemSelected(this._selectedItem, true /* keyboardUsed */);
85
54
  return true;
86
55
  }
87
56
  return false;
@@ -129,7 +98,7 @@ class Suggestions {
129
98
  }
130
99
  onTab() {
131
100
  if (this._isItemOnTarget()) {
132
- this.onItemSelected(null, true);
101
+ this.onItemSelected(this._selectedItem, true);
133
102
  return true;
134
103
  }
135
104
  return false;
@@ -137,19 +106,19 @@ class Suggestions {
137
106
  toggle(bToggle, options) {
138
107
  const toggle = bToggle !== undefined ? bToggle : !this.isOpened();
139
108
  if (toggle) {
140
- this.open();
109
+ this._getComponent().open = true;
141
110
  }
142
111
  else {
143
112
  this.close(options.preventFocusRestore);
144
113
  }
145
114
  }
115
+ get _selectedItem() {
116
+ return this._getNonGroupItems().find(item => item.selected);
117
+ }
146
118
  _isScrollable() {
147
119
  const sc = this._getScrollContainer();
148
120
  return sc.offsetHeight < sc.scrollHeight;
149
121
  }
150
- open() {
151
- this._getComponent().open = true;
152
- }
153
122
  close(preventFocusRestore = false) {
154
123
  const selectedItem = this._getItems() && this._getItems()[this.selectedItemIndex];
155
124
  this._getComponent().open = false;
@@ -163,32 +132,20 @@ class Suggestions {
163
132
  updateSelectedItemPosition(pos) {
164
133
  this.selectedItemIndex = pos;
165
134
  }
166
- /* Interface methods */
167
- onItemMouseOver(e) {
168
- this._getComponent().onItemMouseOver(e);
169
- }
170
- onItemMouseOut(e) {
171
- this._getComponent().onItemMouseOut(e);
172
- }
173
135
  onItemSelected(selectedItem, keyboardUsed) {
174
- const allItems = this._getItems();
175
- const item = selectedItem || allItems[this.selectedItemIndex];
136
+ const item = selectedItem;
176
137
  const nonGroupItems = this._getNonGroupItems();
177
- this.selectedItemIndex = allItems.indexOf(item);
138
+ if (!item) {
139
+ return;
140
+ }
178
141
  this.accInfo = {
179
- isGroup: item.groupItem,
142
+ isGroup: item.hasAttribute("ui5-suggestion-item-group"),
180
143
  currentPos: nonGroupItems.indexOf(item) + 1,
181
144
  listSize: nonGroupItems.length,
182
- itemText: this._getRealItems()[this.selectedItemIndex].text,
183
- description: this._getRealItems()[this.selectedItemIndex].description,
184
- additionalText: this._getRealItems()[this.selectedItemIndex].additionalText,
145
+ itemText: item.text || "",
146
+ additionalText: item.additionalText,
185
147
  };
186
- // If the item is "Inactive", prevent selection with SPACE or ENTER
187
- // to have consistency with the way "Inactive" items behave in the ui5-list
188
- if (item.type === "Inactive" || item.groupItem) {
189
- return;
190
- }
191
- this._getComponent().onItemSelected(this._getRealItems()[this.selectedItemIndex], item, keyboardUsed);
148
+ this._getComponent().onItemSelected(item, keyboardUsed);
192
149
  item.selected = false;
193
150
  item.focused = false;
194
151
  this._getComponent().open = false;
@@ -227,14 +184,14 @@ class Suggestions {
227
184
  }
228
185
  }
229
186
  _isItemOnTarget() {
230
- return this.isOpened() && this.selectedItemIndex !== null && this.selectedItemIndex !== -1 && !this._isGroupOrInactiveItem;
187
+ return this.isOpened() && this.selectedItemIndex !== null && this.selectedItemIndex !== -1 && !this._isGroupItem;
231
188
  }
232
- get _isGroupOrInactiveItem() {
189
+ get _isGroupItem() {
233
190
  const items = this._getItems();
234
191
  if (!items || !items[this.selectedItemIndex]) {
235
192
  return false;
236
193
  }
237
- return (items[this.selectedItemIndex].groupItem || items[this.selectedItemIndex].type === "Inactive");
194
+ return items[this.selectedItemIndex].hasAttribute("ui5-suggestion-item-group");
238
195
  }
239
196
  isOpened() {
240
197
  return !!(this._getPicker()?.open);
@@ -274,7 +231,9 @@ class Suggestions {
274
231
  this.component._isValueStateFocused = true;
275
232
  this.selectedItemIndex = 0;
276
233
  items[0].focused = false;
277
- items[0].selected = false;
234
+ if (items[0].hasAttribute("ui5-suggestion-item")) {
235
+ items[0].selected = false;
236
+ }
278
237
  return;
279
238
  }
280
239
  if (this.component._isValueStateFocused) {
@@ -287,7 +246,9 @@ class Suggestions {
287
246
  return;
288
247
  }
289
248
  if (previousSelectedIdx - 1 < 0) {
290
- 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
+ }
291
252
  items[previousSelectedIdx].focused = false;
292
253
  this.component.focused = true;
293
254
  this.component.hasSuggestionItemSelected = false;
@@ -301,26 +262,32 @@ class Suggestions {
301
262
  const currentItem = items[nextIdx];
302
263
  const previousItem = items[previousIdx];
303
264
  const nonGroupItems = this._getNonGroupItems();
265
+ const isGroupItem = currentItem.hasAttribute("ui5-suggestion-item-group");
304
266
  if (!currentItem) {
305
267
  return;
306
268
  }
307
269
  this.component.focused = false;
308
270
  this._clearValueStateFocus();
271
+ const selectedItem = this._getItems()[this.selectedItemIndex];
309
272
  this.accInfo = {
310
- isGroup: currentItem.groupItem,
311
- currentPos: nonGroupItems.indexOf(currentItem) + 1,
312
- listSize: nonGroupItems.length,
313
- itemText: this._getRealItems()[this.selectedItemIndex].text,
314
- description: this._getRealItems()[items.indexOf(currentItem)].description,
315
- additionalText: this._getRealItems()[items.indexOf(currentItem)].additionalText,
273
+ isGroup: isGroupItem,
274
+ currentPos: items.indexOf(currentItem) + 1,
275
+ itemText: (isGroupItem ? selectedItem.headerText : selectedItem.text) || "",
316
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
+ }
317
282
  if (previousItem) {
318
- previousItem.selected = false;
319
283
  previousItem.focused = false;
320
284
  }
285
+ if (previousItem?.hasAttribute("ui5-suggestion-item") || previousItem?.hasAttribute("ui5-suggestion-item-custom")) {
286
+ previousItem.selected = false;
287
+ }
321
288
  if (currentItem) {
322
289
  currentItem.focused = true;
323
- if (currentItem.type === "Active") {
290
+ if (!isGroupItem) {
324
291
  currentItem.selected = true;
325
292
  }
326
293
  if (this.handleFocus) {
@@ -330,13 +297,16 @@ class Suggestions {
330
297
  this.component.hasSuggestionItemSelected = true;
331
298
  this.onItemSelect(currentItem);
332
299
  if (!this._isItemIntoView(currentItem)) {
333
- this._scrollItemIntoView(currentItem);
300
+ const itemRef = this._isGroupItem ? currentItem.shadowRoot.querySelector("[ui5-li-group-header]") : currentItem;
301
+ this._scrollItemIntoView(itemRef);
334
302
  }
335
303
  }
336
304
  _deselectItems() {
337
305
  const items = this._getItems();
338
306
  items.forEach(item => {
339
- item.selected = false;
307
+ if (item.hasAttribute("ui5-suggestion-item")) {
308
+ item.selected = false;
309
+ }
340
310
  item.focused = false;
341
311
  });
342
312
  }
@@ -353,9 +323,11 @@ class Suggestions {
353
323
  return (rectItem.top + Suggestions.SCROLL_STEP <= windowHeight) && (rectItem.top >= rectInput.top);
354
324
  }
355
325
  _scrollItemIntoView(item) {
356
- const pos = item.getDomRef().offsetTop;
357
- const scrollContainer = this._getScrollContainer();
358
- scrollContainer.scrollTop = pos;
326
+ item.scrollIntoView({
327
+ behavior: "auto",
328
+ block: "nearest",
329
+ inline: "nearest",
330
+ });
359
331
  }
360
332
  _getScrollContainer() {
361
333
  if (!this._scrollContainer) {
@@ -363,11 +335,15 @@ class Suggestions {
363
335
  }
364
336
  return this._scrollContainer;
365
337
  }
338
+ /**
339
+ * Returns the items in 1D array.
340
+ *
341
+ */
366
342
  _getItems() {
367
- return [...this._getList().items] || [];
343
+ return Array.from(this._getComponent().querySelectorAll("[ui5-suggestion-item], [ui5-suggestion-item-group], [ui5-suggestion-item-custom]"));
368
344
  }
369
345
  _getNonGroupItems() {
370
- return this._getItems().filter(item => !item.groupItem);
346
+ return Array.from(this._getComponent().querySelectorAll("[ui5-suggestion-item], [ui5-suggestion-item-custom]"));
371
347
  }
372
348
  _getComponent() {
373
349
  return this.component;
@@ -378,9 +354,6 @@ class Suggestions {
378
354
  _getListWidth() {
379
355
  return this._getList()?.offsetWidth;
380
356
  }
381
- _getRealItems() {
382
- return this._getComponent().getSlottedNodes(this.slotName);
383
- }
384
357
  _getPicker() {
385
358
  return this._getComponent().shadowRoot.querySelector("[ui5-responsive-popover]");
386
359
  }
@@ -388,30 +361,15 @@ class Suggestions {
388
361
  if (!this.accInfo) {
389
362
  return "";
390
363
  }
391
- const itemPositionText = Suggestions.i18nBundle.getText(LIST_ITEM_POSITION, this.accInfo.currentPos, this.accInfo.listSize);
392
- const groupItemText = Suggestions.i18nBundle.getText(LIST_ITEM_GROUP_HEADER);
393
- return this.accInfo.isGroup ? `${groupItemText} ${this.accInfo.itemText}` : `${this.accInfo.description} ${this.accInfo.additionalText} ${itemPositionText}`;
394
- }
395
- getRowText(suggestion) {
396
- return this.sanitizeText(suggestion.text || suggestion.textContent || "");
397
- }
398
- getRowDesc(suggestion) {
399
- return this.sanitizeText(suggestion.description || "");
400
- }
401
- getHighlightedText(suggestion, input) {
402
- const text = suggestion.text || suggestion.textContent || "";
403
- return this.hightlightInput(text, input);
404
- }
405
- getHighlightedDesc(suggestion, input) {
406
- const text = suggestion.description || "";
407
- 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}`;
408
369
  }
409
370
  hightlightInput(text, input) {
410
371
  return generateHighlightedMarkup(text, input);
411
372
  }
412
- sanitizeText(text) {
413
- return encodeXML(text);
414
- }
415
373
  get _hasValueState() {
416
374
  return this.component.hasValueStateMessage;
417
375
  }
@@ -426,17 +384,15 @@ class Suggestions {
426
384
  _clearValueStateFocus() {
427
385
  this.component._isValueStateFocused = false;
428
386
  }
429
- _clearSelectedSuggestionAndAccInfo() {
387
+ _clearSelectedSuggestionAndaccInfo() {
430
388
  this.accInfo = undefined;
431
389
  this.selectedItemIndex = 0;
432
390
  }
433
391
  static get dependencies() {
434
392
  return [
435
393
  SuggestionItem,
436
- SuggestionGroupItem,
394
+ SuggestionItemGroup,
437
395
  List,
438
- SuggestionListItem,
439
- ListItemGroupHeader,
440
396
  Button,
441
397
  Icon,
442
398
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"InputSuggestions.js","sourceRoot":"","sources":["../../src/features/InputSuggestions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,aAAa;AACb,OAAO,SAAS,MAAM,6DAA6D,CAAC;AACpF,OAAO,yBAAyB,MAAM,gEAAgE,CAAC;AAEvG,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAA8B,yBAAyB,CAAC;AACxD,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,IAAI,MAAM,YAAY,CAAC;AAC9B,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EACN,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,oCAAoC,CAAC;AAyC5C;;;;GAIG;AACH,MAAM,WAAW;IAiBhB,YAAY,SAA8B,EAAE,QAAgB,EAAE,SAAkB,EAAE,WAAoB;QACrG,sDAAsD;QACtD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,gCAAgC;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,0DAA0D;QAC1D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,gDAAgD;QAChD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,2BAA2B;QAC3B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjE,kEAAkE;QAClE,wCAAwC;QACxC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,oBAAoB;IACpB,qBAAqB,CAAC,eAAuB;QAC5C,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,eAAe,CAAC;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,eAAe,CAAC;QACtD,MAAM,WAAW,GAA2B,EAAE,CAAC;QAE/C,oBAAoB,CAAC,GAAG,CAAC,CAAC,UAAgC,EAAE,GAAW,EAAE,EAAE;YAC1E,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5G,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAEnH,OAAO,WAAW,CAAC,IAAI,CAAC;gBACvB,IAAI;gBACJ,WAAW;gBACX,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,SAAS;gBACpC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,SAAS;gBAClC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,SAAS;gBAClC,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,SAAS;gBACtD,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;gBACnD,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,GAAG,EAAE,GAAG;aACR,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,CAAgB;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,CAAC,CAAgB;QACtB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CAAC,CAAgB;QACvB,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YAC3B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,CAAC,CAAgB;QACvB,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAChC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;SACb;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;SACZ;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,CAAgB;QACxB,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAE1D,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,gBAAgB,EAAE;YAC7C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,EAC7C,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC;IACb,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,GAAG,EAAE,IAAI,aAAa,CAAC;QAEtE,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,EAAE;YAClC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,EAC7C,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,CAAC,CAAgB;QACtB,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK,CAAC,CAAgB;QACrB,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAElD,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,EAAE;YAC1C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK;QACJ,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,CAAC,OAAgB,EAAE,OAAyC;QACjE,MAAM,MAAM,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAElE,IAAI,MAAM,EAAE;YACX,IAAI,CAAC,IAAI,EAAE,CAAC;SACZ;aAAM;YACN,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;SACxC;IACF,CAAC;IAED,aAAa;QACZ,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED,IAAI;QACH,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,mBAAmB,GAAG,KAAK;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAElF,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QACjD,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;QAEpB,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO,EAAE;YACzC,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;SAC7B;IACF,CAAC;IAED,0BAA0B,CAAC,GAAW;QACrC,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;IAC9B,CAAC;IAED,uBAAuB;IACvB,eAAe,CAAC,CAAa;QAC5B,IAAI,CAAC,aAAa,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,cAAc,CAAC,CAAa;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,cAAc,CAAC,YAAuC,EAAE,YAAqB;QAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,YAAY,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/C,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEhD,IAAI,CAAC,OAAO,GAAG;YACd,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3C,QAAQ,EAAE,aAAa,CAAC,MAAM;YAC9B,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI;YAC3D,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW;YACrE,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,cAAc;SAC3E,CAAC;QAEF,mEAAmE;QACnE,2EAA2E;QAC3E,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE;YAC/C,OAAO;SACP;QAED,IAAI,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QACtG,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,YAAY,CAAC,IAAwB;QACpC,IAAI,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,qBAAqB;IACrB,yCAAyC;IACzC,WAAW,CAAC,CAAyE;QACpF,IAAI,WAAyB,CAAC,CAAC,qBAAqB;QACpD,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC;QAEjD,qIAAqI;QACrI,yIAAyI;QACzI,IAAI,CAAC,YAAY,IAAI,CAAE,CAAC,CAAC,MAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,CAAC,EAAE;YACrH,OAAO;SACP;QAED,IAAI,YAAY,IAAK,CAAC,CAAC,MAAmC,CAAC,IAAI,CAAC,QAAQ,EAAE;YACzE,WAAW,GAAI,CAAC,CAAC,MAAmC,CAAC,IAAI,CAAC;YAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC1B;aAAM;YACN,WAAW,GAAI,CAAC,CAAC,MAAyC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SAC5E;QAED,IAAI,CAAC,cAAc,CAAC,WAAiC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAClF,CAAC;IAED,OAAO;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,WAAW;QACV,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC;SAClD;IACF,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC;IAC5H,CAAC;IAED,IAAI,sBAAsB;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YAC7C,OAAO,KAAK,CAAC;SACb;QAED,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACvG,CAAC;IAED,QAAQ;QACP,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,qBAAqB,CAAC,OAAgB;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE;YAC7B,OAAO;SACP;QAED,IAAI,OAAO,EAAE;YACZ,IAAI,CAAC,eAAe,EAAE,CAAC;SACvB;aAAM;YACN,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC3B;IACF,CAAC;IAED,eAAe;QACd,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;QAC3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEnD,IAAI,IAAI,CAAC,cAAc,IAAI,mBAAmB,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE;YAC9F,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO;SACP;QAED,IAAI,CAAC,mBAAmB,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE;YAChG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;SAC5B;QAED,IAAI,mBAAmB,KAAK,CAAC,CAAC,IAAI,mBAAmB,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE;YAC3E,OAAO;SACP;QAED,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxE,CAAC;IAED,mBAAmB;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEnD,IAAI,IAAI,CAAC,cAAc,IAAI,mBAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE;YAC7F,IAAI,CAAC,SAAS,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACjD,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAE3B,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;YACzB,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;YAE1B,OAAO;SACP;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE;YACxC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAC5C,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAE3B,OAAO;SACP;QAED,IAAI,mBAAmB,KAAK,CAAC,CAAC,IAAI,mBAAmB,KAAK,IAAI,EAAE;YAC/D,OAAO;SACP;QAED,IAAI,mBAAmB,GAAG,CAAC,GAAG,CAAC,EAAE;YAChC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC5C,KAAK,CAAC,mBAAmB,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;YAE3C,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACjD,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;YAC5B,OAAO;SACP;QAED,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxE,CAAC;IAED,kBAAkB,CAAC,WAAmB,EAAE,OAAe;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/C,IAAI,CAAC,WAAW,EAAE;YACjB,OAAO;SACP;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,OAAO,GAAG;YACd,OAAO,EAAE,WAAW,CAAC,SAAS;YAC9B,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC;YAClD,QAAQ,EAAE,aAAa,CAAC,MAAM;YAC9B,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI;YAC3D,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;YACzE,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc;SAC/E,CAAC;QAEF,IAAI,YAAY,EAAE;YACjB,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;SAC7B;QAED,IAAI,WAAW,EAAE;YAChB,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;YAE3B,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAClC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC;aAC5B;YAED,IAAI,IAAI,CAAC,WAAW,EAAE;gBACrB,WAAW,CAAC,KAAK,EAAE,CAAC;aACpB;SACD;QAED,IAAI,CAAC,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;SACtC;IACF,CAAC;IAED,cAAc;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,eAAe;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhE,IAAI,WAAW,EAAE;YAChB,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;SAC5B;IACF,CAAC;IAED,eAAe,CAAC,IAAwB;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAG,CAAC,qBAAqB,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,EAAG,CAAC,qBAAqB,EAAE,CAAC;QAC5E,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEnF,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,WAAW,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;IACpG,CAAC;IAED,mBAAmB,CAAC,IAAwB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAG,CAAC,SAAS,CAAC;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACnD,eAAe,CAAC,SAAS,GAAG,GAAG,CAAC;IACjC,CAAC;IAED,mBAAmB;QAClB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAG,CAAC,UAAW,CAAC,aAAa,CAAC,oBAAoB,CAAE,CAAC;SAC5F;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC9B,CAAC;IAED,SAAS;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAG,CAAC,KAAK,CAA8B,IAAI,EAAE,CAAC;IACvE,CAAC;IAED,iBAAiB;QAChB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,CAAO,YAAY,CAAE,CAAC;IAC7D,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC;IACrC,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,eAAe,CAAiB,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,UAAU;QACT,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,UAAW,CAAC,aAAa,CAAoB,0BAA0B,CAAE,CAAC;IACvG,CAAC;IAED,IAAI,qBAAqB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAClB,OAAO,EAAE,CAAC;SACV;QAED,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5H,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE7E,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,gBAAgB,EAAE,CAAC;IAC9J,CAAC;IAED,UAAU,CAAC,UAAgC;QAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,UAAU,CAAC,UAAgC;QAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,kBAAkB,CAAC,UAAgC,EAAE,KAAa;QACjE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,kBAAkB,CAAC,UAAgC,EAAE,KAAa;QACjE,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,KAAa;QAC1C,OAAO,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,YAAY,CAAC,IAAY;QACxB,OAAO,SAAS,CAAC,IAAI,CAAW,CAAC;IAClC,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;IAC5C,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QAEnD,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED,qBAAqB;QACpB,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,KAAK,CAAC;IAC7C,CAAC;IAED,kCAAkC;QACjC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,YAAY;QACtB,OAAO;YACN,cAAc;YACd,mBAAmB;YACnB,IAAI;YACJ,kBAAkB;YAClB,mBAAmB;YACnB,MAAM;YACN,IAAI;SACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI;QAChB,WAAW,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACpE,CAAC;;AA/hBM,uBAAW,GAAG,EAAE,CAAC;AAkiBzB,sFAAsF;AACtF,eAAe,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAEjD,eAAe,WAAW,CAAC","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 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":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,yBAAyB,MAAM,gEAAgE,CAAC;AACvG,OAAO,IAAI,MAAM,YAAY,CAAC;AAG9B,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,IAAI,MAAM,YAAY,CAAC;AAG9B,OAAO,EACN,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAwB5D;;;;GAIG;AACH,MAAM,WAAW;IAchB,YAAY,SAA8B,EAAE,QAAgB,EAAE,SAAkB,EAAE,WAAoB;QACrG,sDAAsD;QACtD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,gCAAgC;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,0DAA0D;QAC1D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,gDAAgD;QAChD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,kEAAkE;QAClE,wCAAwC;QACxC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,CAAgB;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,CAAC,CAAgB;QACtB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CAAC,CAAgB;QACvB,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YAC3B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,CAAC,CAAgB;QACvB,IAAI,IAAI,CAAC,YAAY,EAAE;YACtB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;SACb;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;SACZ;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,CAAgB;QACxB,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAE1D,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,gBAAgB,EAAE;YAC7C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,EAC7C,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC;IACb,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,GAAG,EAAE,IAAI,aAAa,CAAC;QAEtE,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,EAAE;YAClC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,EAC7C,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,CAAC,CAAgB;QACtB,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK,CAAC,CAAgB;QACrB,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAElD,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,EAAE;YAC1C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK;QACJ,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,CAAC,OAAgB,EAAE,OAAyC;QACjE,MAAM,MAAM,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAElE,IAAI,MAAM,EAAE;YACX,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;SACjC;aAAM;YACN,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;SACxC;IACF,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAA0B,CAAC;IACtF,CAAC;IAED,aAAa;QACZ,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,mBAAmB,GAAG,KAAK;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAElF,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QACjD,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;QAEpB,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO,EAAE;YACzC,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;SAC7B;IACF,CAAC;IAED,0BAA0B,CAAC,GAAW;QACrC,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;IAC9B,CAAC;IAED,cAAc,CAAC,YAAmD,EAAE,YAAqB;QACxF,MAAM,IAAI,GAAG,YAAY,CAAC;QAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/C,IAAI,CAAC,IAAI,EAAE;YACV,OAAO;SACP;QAED,IAAI,CAAC,OAAO,GAAG;YACd,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC;YACvD,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3C,QAAQ,EAAE,aAAa,CAAC,MAAM;YAC9B,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;SACnC,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,YAAY,CAAC,IAA0B;QACtC,IAAI,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,qBAAqB;IACrB,yCAAyC;IACzC,WAAW,CAAC,CAAyE;QACpF,IAAI,WAAyB,CAAC,CAAC,qBAAqB;QACpD,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC;QAEjD,qIAAqI;QACrI,yIAAyI;QACzI,IAAI,CAAC,YAAY,IAAI,CAAE,CAAC,CAAC,MAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,CAAC,EAAE;YACrH,OAAO;SACP;QAED,IAAI,YAAY,IAAK,CAAC,CAAC,MAAmC,CAAC,IAAI,CAAC,QAAQ,EAAE;YACzE,WAAW,GAAI,CAAC,CAAC,MAAmC,CAAC,IAAI,CAAC;YAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC1B;aAAM;YACN,WAAW,GAAI,CAAC,CAAC,MAAyC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SAC5E;QAED,IAAI,CAAC,cAAc,CAAC,WAA6B,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,WAAW;QACV,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC;SAClD;IACF,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IAClH,CAAC;IAED,IAAI,YAAY;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAE/B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YAC7C,OAAO,KAAK,CAAC;SACb;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAC;IAChF,CAAC;IAED,QAAQ;QACP,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,qBAAqB,CAAC,OAAgB;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE;YAC7B,OAAO;SACP;QAED,IAAI,OAAO,EAAE;YACZ,IAAI,CAAC,eAAe,EAAE,CAAC;SACvB;aAAM;YACN,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC3B;IACF,CAAC;IAED,eAAe;QACd,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;QAC3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEnD,IAAI,IAAI,CAAC,cAAc,IAAI,mBAAmB,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE;YAC9F,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO;SACP;QAED,IAAI,CAAC,mBAAmB,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE;YAChG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;SAC5B;QAED,IAAI,mBAAmB,KAAK,CAAC,CAAC,IAAI,mBAAmB,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE;YAC3E,OAAO;SACP;QAED,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxE,CAAC;IAED,mBAAmB;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEnD,IAAI,IAAI,CAAC,cAAc,IAAI,mBAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE;YAC7F,IAAI,CAAC,SAAS,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACjD,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAE3B,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;YAEzB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE;gBAChD,KAAK,CAAC,CAAC,CAAoB,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC9C;YAED,OAAO;SACP;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE;YACxC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAC5C,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAE3B,OAAO;SACP;QAED,IAAI,mBAAmB,KAAK,CAAC,CAAC,IAAI,mBAAmB,KAAK,IAAI,EAAE;YAC/D,OAAO;SACP;QAED,IAAI,mBAAmB,GAAG,CAAC,GAAG,CAAC,EAAE;YAChC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,4BAA4B,CAAC,EAAE;gBAC3I,KAAK,CAAC,mBAAmB,CAAoB,CAAC,QAAQ,GAAG,KAAK,CAAC;aAChE;YAED,KAAK,CAAC,mBAAmB,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;YAE3C,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACjD,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;YAC5B,OAAO;SACP;QAED,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxE,CAAC;IAED,kBAAkB,CAAC,WAAmB,EAAE,OAAe;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAE1E,IAAI,CAAC,WAAW,EAAE;YACjB,OAAO;SACP;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE9D,IAAI,CAAC,OAAO,GAAG;YACd,OAAO,EAAE,WAAW;YACpB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC;YAC1C,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC,CAAE,YAAoC,CAAC,UAAU,CAAC,CAAC,CAAE,YAA+C,CAAC,IAAI,CAAC,IAAI,EAAE;SACxI,CAAC;QAEF,IAAI,WAAW,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,WAAW,CAAC,YAAY,CAAC,4BAA4B,CAAC,EAAE;YAC9G,IAAI,CAAC,OAAO,CAAC,cAAc,GAAI,WAA8C,CAAC,cAAc,IAAI,EAAE,CAAC;YACnG,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,WAA6C,CAAC,GAAG,CAAC,CAAC;YACnG,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC;SAC7C;QAED,IAAI,YAAY,EAAE;YACjB,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;SAC7B;QACD,IAAI,YAAY,EAAE,YAAY,CAAC,qBAAqB,CAAC,IAAI,YAAY,EAAE,YAAY,CAAC,4BAA4B,CAAC,EAAE;YACjH,YAA+C,CAAC,QAAQ,GAAG,KAAK,CAAC;SAClE;QAED,IAAI,WAAW,EAAE;YAChB,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;YAE3B,IAAI,CAAC,WAAW,EAAE;gBAChB,WAA8C,CAAC,QAAQ,GAAG,IAAI,CAAC;aAChE;YAED,IAAI,IAAI,CAAC,WAAW,EAAE;gBACrB,WAAW,CAAC,KAAK,EAAE,CAAC;aACpB;SACD;QAED,IAAI,CAAC,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAE,WAAW,CAAC,UAAW,CAAC,aAAa,CAAC,uBAAuB,CAA0B,CAAC,CAAC,CAAC,WAAW,CAAC;YAC3I,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;SAClC;IACF,CAAC;IAED,cAAc;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACpB,IAAI,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE;gBAC5C,IAAuB,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC1C;YAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,eAAe;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhE,IAAI,WAAW,EAAE;YAChB,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;SAC5B;IACF,CAAC;IAED,eAAe,CAAC,IAA0B;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAG,CAAC,qBAAqB,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,EAAG,CAAC,qBAAqB,EAAE,CAAC;QAC5E,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEnF,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,WAAW,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;IACpG,CAAC;IAED,mBAAmB,CAAC,IAA0B;QAC7C,IAAI,CAAC,cAAc,CAAC;YACnB,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,SAAS;SACjB,CAAC,CAAC;IACJ,CAAC;IAED,mBAAmB;QAClB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAG,CAAC,UAAW,CAAC,aAAa,CAAC,oBAAoB,CAAE,CAAC;SAC5F;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,SAAS;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,gBAAgB,CAAC,kFAAkF,CAAC,CAAC,CAAC;IAC9I,CAAC;IAED,iBAAiB;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,gBAAgB,CAAC,qDAAqD,CAAC,CAAC,CAAC;IACjH,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,CAAO,YAAY,CAAE,CAAC;IAC7D,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC;IACrC,CAAC;IAED,UAAU;QACT,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,UAAW,CAAC,aAAa,CAAoB,0BAA0B,CAAE,CAAC;IACvG,CAAC;IAED,IAAI,qBAAqB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAClB,OAAO,EAAE,CAAC;SACV;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACzB,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC5F;QAED,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QAEtI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,gBAAgB,EAAE,CAAC;IAC7D,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,KAAa;QAC1C,OAAO,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;IAC5C,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QAEnD,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED,qBAAqB;QACpB,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,KAAK,CAAC;IAC7C,CAAC;IAED,kCAAkC;QACjC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,YAAY;QACtB,OAAO;YACN,cAAc;YACd,mBAAmB;YACnB,IAAI;YACJ,MAAM;YACN,IAAI;SACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI;QAChB,WAAW,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACpE,CAAC;;AAhfM,uBAAW,GAAG,EAAE,CAAC;AAmfzB,sFAAsF;AACtF,eAAe,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAEjD,eAAe,WAAW,CAAC","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"]}