@ui5/webcomponents 2.2.0 → 2.3.0-rc.1

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 (384) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/cypress/specs/Eventing.cy.ts +44 -0
  3. package/cypress/specs/F6.cy.ts +659 -0
  4. package/cypress/specs/Form.cy.ts +381 -0
  5. package/cypress/specs/FormSupport.cy.ts +896 -0
  6. package/cypress/specs/LitKeyFunction.cy.ts +50 -0
  7. package/cypress/specs/RTL.cy.ts +19 -0
  8. package/cypress.config.js +3 -1
  9. package/dist/.tsbuildinfo +1 -1
  10. package/dist/List.d.ts +4 -0
  11. package/dist/List.js +53 -2
  12. package/dist/List.js.map +1 -1
  13. package/dist/ListItemGroup.js +1 -1
  14. package/dist/ListItemGroup.js.map +1 -1
  15. package/dist/MultiComboBox.js +1 -0
  16. package/dist/MultiComboBox.js.map +1 -1
  17. package/dist/Popover.d.ts +1 -0
  18. package/dist/Popover.js +4 -0
  19. package/dist/Popover.js.map +1 -1
  20. package/dist/TabContainer.d.ts +3 -0
  21. package/dist/TabContainer.js +110 -10
  22. package/dist/TabContainer.js.map +1 -1
  23. package/dist/Text.d.ts +0 -1
  24. package/dist/Text.js +0 -1
  25. package/dist/Text.js.map +1 -1
  26. package/dist/Tree.js +1 -1
  27. package/dist/Tree.js.map +1 -1
  28. package/dist/css/themes/Avatar.css +1 -1
  29. package/dist/css/themes/AvatarGroup.css +1 -1
  30. package/dist/css/themes/Bar.css +1 -1
  31. package/dist/css/themes/Breadcrumbs.css +1 -1
  32. package/dist/css/themes/BusyIndicator.css +1 -1
  33. package/dist/css/themes/Button.css +1 -1
  34. package/dist/css/themes/Calendar.css +1 -1
  35. package/dist/css/themes/CalendarHeader.css +1 -1
  36. package/dist/css/themes/CalendarLegend.css +1 -1
  37. package/dist/css/themes/CalendarLegendItem.css +1 -1
  38. package/dist/css/themes/Card.css +1 -1
  39. package/dist/css/themes/CardHeader.css +1 -1
  40. package/dist/css/themes/Carousel.css +1 -1
  41. package/dist/css/themes/CheckBox.css +1 -1
  42. package/dist/css/themes/ColorPalette.css +1 -1
  43. package/dist/css/themes/ColorPaletteItem.css +1 -1
  44. package/dist/css/themes/ColorPalettePopover.css +1 -1
  45. package/dist/css/themes/ColorPicker.css +1 -1
  46. package/dist/css/themes/ComboBox.css +1 -1
  47. package/dist/css/themes/DatePicker.css +1 -1
  48. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  49. package/dist/css/themes/DayPicker.css +1 -1
  50. package/dist/css/themes/Dialog.css +1 -1
  51. package/dist/css/themes/FileUploader.css +1 -1
  52. package/dist/css/themes/Form.css +1 -1
  53. package/dist/css/themes/FormItem.css +1 -1
  54. package/dist/css/themes/FormLabelSpan.css +1 -1
  55. package/dist/css/themes/GrowingButton.css +1 -1
  56. package/dist/css/themes/Icon.css +1 -1
  57. package/dist/css/themes/Input.css +1 -1
  58. package/dist/css/themes/InputIcon.css +1 -1
  59. package/dist/css/themes/InputSharedStyles.css +1 -1
  60. package/dist/css/themes/Link.css +1 -1
  61. package/dist/css/themes/List.css +1 -1
  62. package/dist/css/themes/ListItem.css +1 -1
  63. package/dist/css/themes/ListItemBase.css +1 -1
  64. package/dist/css/themes/ListItemCustom.css +1 -1
  65. package/dist/css/themes/ListItemGroup.css +1 -1
  66. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  67. package/dist/css/themes/ListItemIcon.css +1 -1
  68. package/dist/css/themes/Menu.css +1 -1
  69. package/dist/css/themes/MenuItem.css +1 -1
  70. package/dist/css/themes/MessageStrip.css +1 -1
  71. package/dist/css/themes/MonthPicker.css +1 -1
  72. package/dist/css/themes/MultiComboBox.css +1 -1
  73. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  74. package/dist/css/themes/MultiInput.css +1 -1
  75. package/dist/css/themes/NavigationMenu.css +1 -1
  76. package/dist/css/themes/NavigationMenuItem.css +1 -1
  77. package/dist/css/themes/OptionBase.css +1 -1
  78. package/dist/css/themes/Panel.css +1 -1
  79. package/dist/css/themes/Popover.css +1 -1
  80. package/dist/css/themes/PopupsCommon.css +1 -1
  81. package/dist/css/themes/ProgressIndicator.css +1 -1
  82. package/dist/css/themes/RadioButton.css +1 -1
  83. package/dist/css/themes/RangeSlider.css +1 -1
  84. package/dist/css/themes/RatingIndicator.css +1 -1
  85. package/dist/css/themes/ResponsivePopover.css +1 -1
  86. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  87. package/dist/css/themes/SegmentedButton.css +1 -1
  88. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  89. package/dist/css/themes/Select.css +1 -1
  90. package/dist/css/themes/SliderBase.css +1 -1
  91. package/dist/css/themes/SplitButton.css +1 -1
  92. package/dist/css/themes/StepInput.css +1 -1
  93. package/dist/css/themes/SuggestionItem.css +1 -1
  94. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  95. package/dist/css/themes/Switch.css +1 -1
  96. package/dist/css/themes/TabContainer.css +1 -1
  97. package/dist/css/themes/TabInOverflow.css +1 -1
  98. package/dist/css/themes/TabInStrip.css +1 -1
  99. package/dist/css/themes/TabSemanticIcon.css +1 -1
  100. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  101. package/dist/css/themes/Table.css +1 -1
  102. package/dist/css/themes/TableCellBase.css +1 -1
  103. package/dist/css/themes/TableHeaderRow.css +1 -1
  104. package/dist/css/themes/TableRow.css +1 -1
  105. package/dist/css/themes/TableRowBase.css +1 -1
  106. package/dist/css/themes/Tag.css +1 -1
  107. package/dist/css/themes/Text.css +1 -1
  108. package/dist/css/themes/TextArea.css +1 -1
  109. package/dist/css/themes/TimePicker.css +1 -1
  110. package/dist/css/themes/Toast.css +1 -1
  111. package/dist/css/themes/ToggleButton.css +1 -1
  112. package/dist/css/themes/Token.css +1 -1
  113. package/dist/css/themes/Tokenizer.css +1 -1
  114. package/dist/css/themes/TokenizerPopover.css +1 -1
  115. package/dist/css/themes/Toolbar.css +1 -1
  116. package/dist/css/themes/ToolbarPopover.css +1 -1
  117. package/dist/css/themes/TreeItem.css +1 -1
  118. package/dist/css/themes/ValueStateMessage.css +1 -1
  119. package/dist/css/themes/YearPicker.css +1 -1
  120. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  121. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  122. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  123. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  124. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  125. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  126. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  127. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  128. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  129. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  130. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  131. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  132. package/dist/custom-elements-internal.json +52 -8
  133. package/dist/custom-elements.json +25 -4
  134. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  135. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  136. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  137. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  138. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  139. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  140. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  141. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  142. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  143. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  144. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  145. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  146. package/dist/generated/i18n/i18n-defaults.js +9 -9
  147. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  148. package/dist/generated/templates/LinkTemplate.lit.js +1 -1
  149. package/dist/generated/templates/LinkTemplate.lit.js.map +1 -1
  150. package/dist/generated/templates/ListTemplate.lit.js +1 -1
  151. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  152. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +1 -1
  153. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js.map +1 -1
  154. package/dist/generated/templates/TabContainerTemplate.lit.js +1 -1
  155. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
  156. package/dist/generated/themes/Avatar.css.js +1 -1
  157. package/dist/generated/themes/Avatar.css.js.map +1 -1
  158. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  159. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  160. package/dist/generated/themes/Bar.css.js +1 -1
  161. package/dist/generated/themes/Bar.css.js.map +1 -1
  162. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  163. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  164. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  165. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  166. package/dist/generated/themes/Button.css.js +1 -1
  167. package/dist/generated/themes/Button.css.js.map +1 -1
  168. package/dist/generated/themes/Calendar.css.js +1 -1
  169. package/dist/generated/themes/Calendar.css.js.map +1 -1
  170. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  171. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  172. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  173. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  174. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  175. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  176. package/dist/generated/themes/Card.css.js +1 -1
  177. package/dist/generated/themes/Card.css.js.map +1 -1
  178. package/dist/generated/themes/CardHeader.css.js +1 -1
  179. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  180. package/dist/generated/themes/Carousel.css.js +1 -1
  181. package/dist/generated/themes/Carousel.css.js.map +1 -1
  182. package/dist/generated/themes/CheckBox.css.js +1 -1
  183. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  184. package/dist/generated/themes/ColorPalette.css.js +1 -1
  185. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  186. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  187. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  188. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  189. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  190. package/dist/generated/themes/ColorPicker.css.js +1 -1
  191. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  192. package/dist/generated/themes/ComboBox.css.js +1 -1
  193. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  194. package/dist/generated/themes/DatePicker.css.js +1 -1
  195. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  196. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  197. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  198. package/dist/generated/themes/DayPicker.css.js +1 -1
  199. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  200. package/dist/generated/themes/Dialog.css.js +1 -1
  201. package/dist/generated/themes/Dialog.css.js.map +1 -1
  202. package/dist/generated/themes/FileUploader.css.js +1 -1
  203. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  204. package/dist/generated/themes/Form.css.js +1 -1
  205. package/dist/generated/themes/Form.css.js.map +1 -1
  206. package/dist/generated/themes/FormItem.css.js +1 -1
  207. package/dist/generated/themes/FormItem.css.js.map +1 -1
  208. package/dist/generated/themes/FormLabelSpan.css.js +1 -1
  209. package/dist/generated/themes/FormLabelSpan.css.js.map +1 -1
  210. package/dist/generated/themes/GrowingButton.css.js +1 -1
  211. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  212. package/dist/generated/themes/Icon.css.js +1 -1
  213. package/dist/generated/themes/Icon.css.js.map +1 -1
  214. package/dist/generated/themes/Input.css.js +1 -1
  215. package/dist/generated/themes/Input.css.js.map +1 -1
  216. package/dist/generated/themes/InputIcon.css.js +1 -1
  217. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  218. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  219. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  220. package/dist/generated/themes/Link.css.js +1 -1
  221. package/dist/generated/themes/Link.css.js.map +1 -1
  222. package/dist/generated/themes/List.css.js +1 -1
  223. package/dist/generated/themes/List.css.js.map +1 -1
  224. package/dist/generated/themes/ListItem.css.js +1 -1
  225. package/dist/generated/themes/ListItem.css.js.map +1 -1
  226. package/dist/generated/themes/ListItemBase.css.js +1 -1
  227. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  228. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  229. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  230. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  231. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  232. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  233. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  234. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  235. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  236. package/dist/generated/themes/Menu.css.js +1 -1
  237. package/dist/generated/themes/Menu.css.js.map +1 -1
  238. package/dist/generated/themes/MenuItem.css.js +1 -1
  239. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  240. package/dist/generated/themes/MessageStrip.css.js +1 -1
  241. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  242. package/dist/generated/themes/MonthPicker.css.js +1 -1
  243. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  244. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  245. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  246. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  247. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  248. package/dist/generated/themes/MultiInput.css.js +1 -1
  249. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  250. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  251. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  252. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  253. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  254. package/dist/generated/themes/OptionBase.css.js +1 -1
  255. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  256. package/dist/generated/themes/Panel.css.js +1 -1
  257. package/dist/generated/themes/Panel.css.js.map +1 -1
  258. package/dist/generated/themes/Popover.css.js +1 -1
  259. package/dist/generated/themes/Popover.css.js.map +1 -1
  260. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  261. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  262. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  263. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  264. package/dist/generated/themes/RadioButton.css.js +1 -1
  265. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  266. package/dist/generated/themes/RangeSlider.css.js +1 -1
  267. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  268. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  269. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  270. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  271. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  272. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  273. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  274. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  275. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  276. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  277. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  278. package/dist/generated/themes/Select.css.js +1 -1
  279. package/dist/generated/themes/Select.css.js.map +1 -1
  280. package/dist/generated/themes/SliderBase.css.js +1 -1
  281. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  282. package/dist/generated/themes/SplitButton.css.js +1 -1
  283. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  284. package/dist/generated/themes/StepInput.css.js +1 -1
  285. package/dist/generated/themes/StepInput.css.js.map +1 -1
  286. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  287. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  288. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  289. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  290. package/dist/generated/themes/Switch.css.js +1 -1
  291. package/dist/generated/themes/Switch.css.js.map +1 -1
  292. package/dist/generated/themes/TabContainer.css.js +1 -1
  293. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  294. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  295. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  296. package/dist/generated/themes/TabInStrip.css.js +1 -1
  297. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  298. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  299. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  300. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  301. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  302. package/dist/generated/themes/Table.css.js +1 -1
  303. package/dist/generated/themes/Table.css.js.map +1 -1
  304. package/dist/generated/themes/TableCellBase.css.js +1 -1
  305. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  306. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  307. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  308. package/dist/generated/themes/TableRow.css.js +1 -1
  309. package/dist/generated/themes/TableRow.css.js.map +1 -1
  310. package/dist/generated/themes/TableRowBase.css.js +1 -1
  311. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  312. package/dist/generated/themes/Tag.css.js +1 -1
  313. package/dist/generated/themes/Tag.css.js.map +1 -1
  314. package/dist/generated/themes/Text.css.js +1 -1
  315. package/dist/generated/themes/Text.css.js.map +1 -1
  316. package/dist/generated/themes/TextArea.css.js +1 -1
  317. package/dist/generated/themes/TextArea.css.js.map +1 -1
  318. package/dist/generated/themes/TimePicker.css.js +1 -1
  319. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  320. package/dist/generated/themes/Toast.css.js +1 -1
  321. package/dist/generated/themes/Toast.css.js.map +1 -1
  322. package/dist/generated/themes/ToggleButton.css.js +1 -1
  323. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  324. package/dist/generated/themes/Token.css.js +1 -1
  325. package/dist/generated/themes/Token.css.js.map +1 -1
  326. package/dist/generated/themes/Tokenizer.css.js +1 -1
  327. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  328. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  329. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  330. package/dist/generated/themes/Toolbar.css.js +1 -1
  331. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  332. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  333. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  334. package/dist/generated/themes/TreeItem.css.js +1 -1
  335. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  336. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  337. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  338. package/dist/generated/themes/YearPicker.css.js +1 -1
  339. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  340. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  341. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  342. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  343. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  344. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  345. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  346. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  347. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  348. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  349. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  350. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  351. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  352. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  353. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  354. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  355. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  356. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  357. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  358. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  359. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  360. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  361. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  362. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  363. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  364. package/dist/types/NotificationListGrowingMode.d.ts +18 -0
  365. package/dist/types/NotificationListGrowingMode.js +20 -0
  366. package/dist/types/NotificationListGrowingMode.js.map +1 -0
  367. package/dist/vscode.html-custom-data.json +2 -2
  368. package/dist/web-types.json +11 -7
  369. package/package.json +9 -9
  370. package/src/Link.hbs +1 -0
  371. package/src/List.hbs +2 -1
  372. package/src/TabContainerPopover.hbs +1 -0
  373. package/src/themes/Breadcrumbs.css +10 -0
  374. package/src/themes/GrowingButton.css +1 -1
  375. package/src/themes/Popover.css +1 -1
  376. package/src/themes/sap_fiori_3/parameters-bundle.css +1 -0
  377. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
  378. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
  379. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
  380. package/src/themes/sap_horizon/TextArea-parameters.css +1 -1
  381. package/src/themes/sap_horizon_dark/TextArea-parameters.css +1 -1
  382. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -0
  383. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -0
  384. package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.ts"],"names":[],"mappings":"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","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport isElementContainingBlock from \"@ui5/webcomponents-base/dist/util/isElementContainingBlock.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport getParentElement from \"@ui5/webcomponents-base/dist/util/getParentElement.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\n\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as PopoverBeforeCloseEventDetail } from \"./Popup.js\";\nimport PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport { addOpenedPopover, removeOpenedPopover } from \"./popup-utils/PopoverRegistry.js\";\n\n// Template\nimport PopoverTemplate from \"./generated/templates/PopoverTemplate.lit.js\";\n// Styles\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.js\";\n\nconst ARROW_SIZE = 8;\n\ntype PopoverSize = {\n\twidth: number;\n\theight: number;\n}\n\ntype ArrowPosition = {\n\tx: number;\n\ty: number;\n}\n\ntype CalculatedPlacement = {\n\tarrow: ArrowPosition,\n\ttop: number,\n\tleft: number,\n\tplacement: `${PopoverPlacement}`,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-popover` component displays additional information for an object\n * in a compact way and without leaving the page.\n * The Popover can contain various UI elements, such as fields, tables, images, and charts.\n * It can also include actions in the footer.\n *\n * ### Structure\n *\n * The popover has three main areas:\n *\n * - Header (optional)\n * - Content\n * - Footer (optional)\n *\n * **Note:** The `ui5-popover` is closed when the user clicks\n * or taps outside the popover\n * or selects an action within the popover. You can prevent this with the\n * `modal` property.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Popover.js\";`\n *\n * @constructor\n * @extends Popup\n * @since 1.0.0-rc.6\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-popover\",\n\tstyles: [\n\t\tPopup.styles,\n\t\tPopupsCommonCss,\n\t\tPopoverCss,\n\t\tgetEffectiveScrollbarStyle(),\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\theaderText?: string;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"End\"\n\t * @public\n\t */\n\t@property()\n\tplacement: `${PopoverPlacement}` = \"End\";\n\n\t/**\n\t * Determines the horizontal alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\thorizontalAlign: `${PopoverHorizontalAlign}` = \"Center\";\n\n\t/**\n\t * Determines the vertical alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\tverticalAlign: `${PopoverVerticalAlign}` = \"Center\";\n\n\t/**\n\t * Defines whether the component should close when\n\t * clicking/tapping outside of the popover.\n\t * If enabled, it blocks any interaction with the background.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmodal = false;\n\n\t/**\n\t * Determines whether the component arrow is hidden.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\thideArrow = false;\n\n\t/**\n\t * Determines if there is no enough space, the component can be placed\n\t * over the target.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tallowTargetOverlap = false;\n\n\t/**\n\t * Defines whether the content is scrollable.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdisableScrolling = false;\n\n\t/**\n\t * Sets the X translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateX = 0;\n\n\t/**\n\t * Sets the Y translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateY = 0;\n\n\t/**\n\t * Returns the calculated placement depending on the free space\n\t * @private\n\t */\n\t@property()\n\tactualPlacement: `${PopoverPlacement}` = \"End\";\n\n\t@property({ type: Number, noAttribute: true })\n\t_maxHeight?: number;\n\n\t@property({ type: Number, noAttribute: true })\n\t_maxWidth?: number;\n\n\t/**\n\t * Defines the header HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tfooter!: Array<HTMLElement>;\n\n\t_opener?: HTMLElement | string;\n\t_openerRect?: DOMRect;\n\t_preventRepositionAndClose?: boolean;\n\t_top?: number;\n\t_left?: number;\n\t_oldPlacement?: CalculatedPlacement;\n\t_width?: string;\n\n\tstatic get VIEWPORT_MARGIN() {\n\t\treturn 10; // px\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t/**\n\t * Defines the ID or DOM Reference of the element at which the popover is shown.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t * @since 1.2.0\n\t */\n\t@property({ converter: DOMReferenceConverter })\n\tset opener(value: HTMLElement | string) {\n\t\tif (this._opener === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = value;\n\n\t\tif (value && this.open) {\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tget opener(): HTMLElement | string | undefined {\n\t\treturn this._opener;\n\t}\n\n\tasync openPopup() {\n\t\tif (this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (!opener) {\n\t\t\tconsole.warn(\"Valid opener id is required. It must be defined before opening the popover.\"); // eslint-disable-line\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpenerOutsideViewport(opener.getBoundingClientRect())) {\n\t\t\tawait renderFinished();\n\t\t\tthis.open = false;\n\t\t\tthis.fireEvent(\"close\", {}, false, false);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._openerRect = opener.getBoundingClientRect();\n\n\t\tawait super.openPopup();\n\t}\n\n\tisOpenerClicked(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst ui5ElementTarget = target as UI5Element;\n\n\t\tif (ui5ElementTarget.getFocusDomRef && ui5ElementTarget.getFocusDomRef() === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn e.composedPath().indexOf(this._opener as EventTarget) > -1;\n\t}\n\n\t/**\n\t * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)\n\t * @private\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopover(this);\n\t}\n\n\t/**\n\t * Override for the _removeOpenedPopup hook, which would otherwise just call removeOpenedPopup(this)\n\t * @private\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopover(this);\n\t}\n\n\tgetOpenerHTMLElement(opener: HTMLElement | string | undefined): HTMLElement | null | undefined {\n\t\tif (opener === undefined || opener instanceof HTMLElement) {\n\t\t\treturn opener;\n\t\t}\n\n\t\tconst rootNode = this.getRootNode();\n\n\t\tif (rootNode instanceof Document) {\n\t\t\treturn rootNode.getElementById(opener);\n\t\t}\n\t\treturn document.getElementById(opener);\n\t}\n\n\tshouldCloseDueToOverflow(placement: `${PopoverPlacement}`, openerRect: DOMRect): boolean {\n\t\tconst threshold = 32;\n\t\tconst limits = {\n\t\t\t\"Start\": openerRect.right,\n\t\t\t\"End\": openerRect.left,\n\t\t\t\"Top\": openerRect.top,\n\t\t\t\"Bottom\": openerRect.bottom,\n\t\t};\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\t\tconst closedPopupParent = getClosedPopupParent(opener!);\n\t\tlet overflowsBottom = false;\n\t\tlet overflowsTop = false;\n\n\t\tif (closedPopupParent instanceof Popover) {\n\t\t\tconst contentRect = closedPopupParent.contentDOM.getBoundingClientRect();\n\t\t\toverflowsBottom = openerRect.top > (contentRect.top + contentRect.height);\n\t\t\toverflowsTop = (openerRect.top + openerRect.height) < contentRect.top;\n\t\t}\n\n\t\treturn (limits[placement] < 0 || (limits[placement] + threshold > (closedPopupParent as unknown as Window).innerHeight)) || overflowsBottom || overflowsTop;\n\t}\n\n\tshouldCloseDueToNoOpener(openerRect: DOMRect): boolean {\n\t\treturn openerRect.top === 0\n\t\t\t&& openerRect.bottom === 0\n\t\t\t&& openerRect.left === 0\n\t\t\t&& openerRect.right === 0;\n\t}\n\n\tisOpenerOutsideViewport(openerRect: DOMRect): boolean {\n\t\treturn openerRect.bottom < 0\n\t\t\t|| openerRect.top > window.innerHeight\n\t\t\t|| openerRect.right < 0\n\t\t\t|| openerRect.left > window.innerWidth;\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (this.open) {\n\t\t\tthis.reposition();\n\t\t}\n\t}\n\n\treposition() {\n\t\tthis._show();\n\t}\n\n\tasync _show() {\n\t\tsuper._show();\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (opener && this._isUI5Element(opener) && !opener.getDomRef()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._opened) {\n\t\t\tthis._showOutsideViewport();\n\t\t}\n\n\t\tconst popoverSize = this.getPopoverSize();\n\t\tlet placement;\n\n\t\tif (popoverSize.width === 0 || popoverSize.height === 0) {\n\t\t\t// size can not be determined properly at this point, popover will be shown with the next reposition\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.open) {\n\t\t\t// update opener rect if it was changed during the popover being opened\n\t\t\tthis._openerRect = opener!.getBoundingClientRect();\n\t\t}\n\n\t\tif (this._oldPlacement && this.shouldCloseDueToNoOpener(this._openerRect!) && this.isFocusWithin()) {\n\t\t\t// reuse the old placement as the opener is not available,\n\t\t\t// but keep the popover open as the focus is within\n\t\t\tplacement = this._oldPlacement;\n\t\t} else {\n\t\t\tplacement = this.calcPlacement(this._openerRect!, popoverSize);\n\t\t}\n\n\t\tif (this._preventRepositionAndClose || this.isOpenerOutsideViewport(this._openerRect!)) {\n\t\t\tawait this._waitForDomRef();\n\t\t\treturn this.closePopup();\n\t\t}\n\n\t\tthis._oldPlacement = placement;\n\t\tthis.actualPlacement = placement.placement;\n\n\t\tlet left = clamp(\n\t\t\tthis._left!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.End) {\n\t\t\tleft = Math.max(left, this._left!);\n\t\t}\n\n\t\tlet top = clamp(\n\t\t\tthis._top!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientHeight - popoverSize.height - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.Bottom) {\n\t\t\ttop = Math.max(top, this._top!);\n\t\t}\n\n\t\tthis.arrowTranslateX = placement.arrow.x;\n\t\tthis.arrowTranslateY = placement.arrow.y;\n\n\t\ttop = this._adjustForIOSKeyboard(top);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {\n\t\t\tthis.style.width = this._width;\n\t\t}\n\t}\n\n\t/**\n\t * Adjust the desired top position to compensate for shift of the screen\n\t * caused by opened keyboard on iOS which affects all elements with position:fixed.\n\t * @private\n\t * @param top The target top in px.\n\t * @returns The adjusted top in px.\n\t */\n\t_adjustForIOSKeyboard(top: number): number {\n\t\tif (!isIOS()) {\n\t\t\treturn top;\n\t\t}\n\n\t\tconst actualTop = Math.ceil(this.getBoundingClientRect().top);\n\n\t\treturn top + (Number.parseInt(this.style.top || \"0\") - actualTop);\n\t}\n\n\t_getContainingBlockClientLocation() {\n\t\tlet parentElement = getParentElement(this);\n\n\t\twhile (parentElement) {\n\t\t\tif (isElementContainingBlock(parentElement)) {\n\t\t\t\treturn parentElement.getBoundingClientRect();\n\t\t\t}\n\n\t\t\tparentElement = getParentElement(parentElement);\n\t\t}\n\n\t\treturn { left: 0, top: 0 };\n\t}\n\n\tgetPopoverSize(): PopoverSize {\n\t\tconst rect = this.getBoundingClientRect(),\n\t\t\twidth = rect.width,\n\t\t\theight = rect.height;\n\n\t\treturn { width, height };\n\t}\n\n\t_showOutsideViewport() {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"-10000px\",\n\t\t\tleft: \"-10000px\",\n\t\t});\n\t}\n\n\t_isUI5Element(el: HTMLElement): el is UI5Element {\n\t\treturn \"isUI5Element\" in el;\n\t}\n\n\tget arrowDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popover-arrow\")!;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tcalcPlacement(targetRect: DOMRect, popoverSize: PopoverSize): CalculatedPlacement {\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\t\tlet top = 0;\n\t\tconst allowTargetOverlap = this.allowTargetOverlap;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tlet maxHeight = clientHeight;\n\t\tlet maxWidth = clientWidth;\n\n\t\tconst placement = this.getActualPlacement(targetRect, popoverSize);\n\n\t\tthis._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(placement, targetRect);\n\n\t\tconst isVertical = placement === PopoverPlacement.Top\n\t\t\t|| placement === PopoverPlacement.Bottom;\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {\n\t\t\tpopoverSize.width = targetRect.width;\n\t\t\tthis._width = `${targetRect.width}px`;\n\t\t} else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {\n\t\t\tpopoverSize.height = targetRect.height;\n\t\t}\n\n\t\tconst arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;\n\n\t\t// calc popover positions\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = Math.max(targetRect.top - popoverSize.height - arrowOffset, 0);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxHeight = targetRect.top - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = targetRect.bottom + arrowOffset;\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\ttop = Math.max(Math.min(top, clientHeight - popoverSize.height), 0);\n\t\t\t} else {\n\t\t\t\tmaxHeight = clientHeight - targetRect.bottom - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tleft = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxWidth = targetRect.left - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tleft = targetRect.left + targetRect.width + arrowOffset;\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\tleft = Math.max(Math.min(left, clientWidth - popoverSize.width), 0);\n\t\t\t} else {\n\t\t\t\tmaxWidth = clientWidth - targetRect.right - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// correct popover positions\n\t\tif (isVertical) {\n\t\t\tif (popoverSize.width > clientWidth || left < Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (left + popoverSize.width > clientWidth - Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = clientWidth - Popover.VIEWPORT_MARGIN - popoverSize.width;\n\t\t\t}\n\t\t} else {\n\t\t\tif (popoverSize.height > clientHeight || top < 0) { // eslint-disable-line\n\t\t\t\ttop = 0;\n\t\t\t} else if (top + popoverSize.height > clientHeight) {\n\t\t\t\ttop -= top + popoverSize.height - clientHeight;\n\t\t\t}\n\t\t}\n\n\t\tthis._maxHeight = Math.round(maxHeight - Popover.VIEWPORT_MARGIN);\n\t\tthis._maxWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);\n\n\t\tif (this._left === undefined || Math.abs(this._left - left) > 1.5) {\n\t\t\tthis._left = Math.round(left);\n\t\t}\n\n\t\tif (this._top === undefined || Math.abs(this._top - top) > 1.5) {\n\t\t\tthis._top = Math.round(top);\n\t\t}\n\n\t\tconst borderRadius = Number.parseInt(window.getComputedStyle(this).getPropertyValue(\"border-radius\"));\n\t\tconst arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical, borderRadius);\n\n\t\treturn {\n\t\t\tarrow: arrowPos,\n\t\t\ttop: this._top,\n\t\t\tleft: this._left,\n\t\t\tplacement,\n\t\t};\n\t}\n\n\t/**\n\t * Calculates the position for the arrow.\n\t * @private\n\t * @param targetRect BoundingClientRect of the target element\n\t * @param popoverSize Width and height of the popover\n\t * @param left Left offset of the popover\n\t * @param top Top offset of the popover\n\t * @param isVertical If the popover is positioned vertically to the target element\n\t * @param borderRadius Value of the border-radius property\n\t * @returns Arrow's coordinates\n\t */\n\tgetArrowPosition(targetRect: DOMRect, popoverSize: PopoverSize, left: number, top: number, isVertical: boolean, borderRadius: number): ArrowPosition {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet arrowXCentered = horizontalAlign === PopoverHorizontalAlign.Center || horizontalAlign === PopoverHorizontalAlign.Stretch;\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.End && left <= targetRect.left) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.Start && left + popoverSize.width >= targetRect.left + targetRect.width) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tlet arrowTranslateX = 0;\n\t\tif (isVertical && arrowXCentered) {\n\t\t\tarrowTranslateX = targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2;\n\t\t}\n\n\t\tlet arrowTranslateY = 0;\n\t\tif (!isVertical) {\n\t\t\tarrowTranslateY = targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2;\n\t\t}\n\n\t\t// Restricts the arrow's translate value along each dimension,\n\t\t// so that the arrow does not clip over the popover's rounded borders.\n\t\tconst safeRangeForArrowY = popoverSize.height / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateY = clamp(\n\t\t\tarrowTranslateY,\n\t\t\t-safeRangeForArrowY,\n\t\t\tsafeRangeForArrowY,\n\t\t);\n\n\t\tconst safeRangeForArrowX = popoverSize.width / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateX = clamp(\n\t\t\tarrowTranslateX,\n\t\t\t-safeRangeForArrowX,\n\t\t\tsafeRangeForArrowX,\n\t\t);\n\n\t\treturn {\n\t\t\tx: Math.round(arrowTranslateX),\n\t\t\ty: Math.round(arrowTranslateY),\n\t\t};\n\t}\n\n\t/**\n\t * Fallbacks to new placement, prioritizing `Left` and `Right` placements.\n\t * @private\n\t */\n\tfallbackPlacement(clientWidth: number, clientHeight: number, targetRect: DOMRect, popoverSize: PopoverSize): PopoverPlacement | undefined {\n\t\tif (targetRect.left > popoverSize.width) {\n\t\t\treturn PopoverPlacement.Start;\n\t\t}\n\n\t\tif (clientWidth - targetRect.right > targetRect.left) {\n\t\t\treturn PopoverPlacement.End;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom > popoverSize.height) {\n\t\t\treturn PopoverPlacement.Bottom;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\treturn PopoverPlacement.Top;\n\t\t}\n\t}\n\n\tgetActualPlacement(targetRect: DOMRect, popoverSize: PopoverSize): `${PopoverPlacement}` {\n\t\tconst placement = this.placement;\n\t\tlet actualPlacement = placement;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tif (targetRect.top < popoverSize.height\n\t\t\t\t&& targetRect.top < clientHeight - targetRect.bottom) {\n\t\t\t\tactualPlacement = PopoverPlacement.Bottom;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tif (clientHeight - targetRect.bottom < popoverSize.height\n\t\t\t\t&& clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\t\tactualPlacement = PopoverPlacement.Top;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tif (targetRect.left < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tif (clientWidth - targetRect.right < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\treturn actualPlacement;\n\t}\n\n\tgetVerticalLeft(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\n\t\tswitch (horizontalAlign) {\n\t\tcase PopoverHorizontalAlign.Center:\n\t\tcase PopoverHorizontalAlign.Stretch:\n\t\t\tleft = targetRect.left - (popoverSize.width - targetRect.width) / 2;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.Start:\n\t\t\tleft = targetRect.left;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.End:\n\t\t\tleft = targetRect.right - popoverSize.width;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\tgetHorizontalTop(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tlet top = 0;\n\n\t\tswitch (this.verticalAlign) {\n\t\tcase PopoverVerticalAlign.Center:\n\t\tcase PopoverVerticalAlign.Stretch:\n\t\t\ttop = targetRect.top - (popoverSize.height - targetRect.height) / 2;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Top:\n\t\t\ttop = targetRect.top;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Bottom:\n\t\t\ttop = targetRect.bottom - popoverSize.height;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tget isModal() { // Required by Popup.js\n\t\treturn this.modal;\n\t}\n\n\tget _ariaLabelledBy() { // Required by Popup.js\n\t\tif (!this._ariaLabel && this._displayHeader) {\n\t\t\treturn \"ui5-popup-header\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\t...super.styles,\n\t\t\troot: {\n\t\t\t\t\"max-height\": this._maxHeight ? `${this._maxHeight}px` : \"\",\n\t\t\t\t\"max-width\": this._maxWidth ? `${this._maxWidth}px` : \"\",\n\t\t\t},\n\t\t\tarrow: {\n\t\t\t\ttransform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\tconst allClasses = super.classes;\n\t\tallClasses.root[\"ui5-popover-root\"] = true;\n\n\t\treturn allClasses;\n\t}\n\n\t/**\n\t * Hook for descendants to hide header.\n\t */\n\tget _displayHeader() {\n\t\treturn !!(this.header.length || this.headerText);\n\t}\n\n\t/**\n\t * Hook for descendants to hide footer.\n\t */\n\tget _displayFooter() {\n\t\treturn true;\n\t}\n\n\tget _actualHorizontalAlign() {\n\t\tif (this.effectiveDir === \"rtl\") {\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Start) {\n\t\t\t\treturn PopoverHorizontalAlign.End;\n\t\t\t}\n\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.End) {\n\t\t\t\treturn PopoverHorizontalAlign.Start;\n\t\t\t}\n\t\t}\n\n\t\treturn this.horizontalAlign;\n\t}\n}\n\nconst instanceOfPopover = (object: any): object is Popover => {\n\treturn \"opener\" in object;\n};\n\nPopover.define();\n\nexport default Popover;\n\nexport { instanceOfPopover };\n\nexport type {\n\tPopoverBeforeCloseEventDetail,\n};\n"]}
1
+ {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.ts"],"names":[],"mappings":"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","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport isElementContainingBlock from \"@ui5/webcomponents-base/dist/util/isElementContainingBlock.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport getParentElement from \"@ui5/webcomponents-base/dist/util/getParentElement.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\n\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as PopoverBeforeCloseEventDetail } from \"./Popup.js\";\nimport PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport { addOpenedPopover, removeOpenedPopover } from \"./popup-utils/PopoverRegistry.js\";\n\n// Template\nimport PopoverTemplate from \"./generated/templates/PopoverTemplate.lit.js\";\n// Styles\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.js\";\n\nconst ARROW_SIZE = 8;\n\ntype PopoverSize = {\n\twidth: number;\n\theight: number;\n}\n\ntype ArrowPosition = {\n\tx: number;\n\ty: number;\n}\n\ntype CalculatedPlacement = {\n\tarrow: ArrowPosition,\n\ttop: number,\n\tleft: number,\n\tplacement: `${PopoverPlacement}`,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-popover` component displays additional information for an object\n * in a compact way and without leaving the page.\n * The Popover can contain various UI elements, such as fields, tables, images, and charts.\n * It can also include actions in the footer.\n *\n * ### Structure\n *\n * The popover has three main areas:\n *\n * - Header (optional)\n * - Content\n * - Footer (optional)\n *\n * **Note:** The `ui5-popover` is closed when the user clicks\n * or taps outside the popover\n * or selects an action within the popover. You can prevent this with the\n * `modal` property.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Popover.js\";`\n *\n * @constructor\n * @extends Popup\n * @since 1.0.0-rc.6\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-popover\",\n\tstyles: [\n\t\tPopup.styles,\n\t\tPopupsCommonCss,\n\t\tPopoverCss,\n\t\tgetEffectiveScrollbarStyle(),\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\theaderText?: string;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"End\"\n\t * @public\n\t */\n\t@property()\n\tplacement: `${PopoverPlacement}` = \"End\";\n\n\t/**\n\t * Determines the horizontal alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\thorizontalAlign: `${PopoverHorizontalAlign}` = \"Center\";\n\n\t/**\n\t * Determines the vertical alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\tverticalAlign: `${PopoverVerticalAlign}` = \"Center\";\n\n\t/**\n\t * Defines whether the component should close when\n\t * clicking/tapping outside of the popover.\n\t * If enabled, it blocks any interaction with the background.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmodal = false;\n\n\t/**\n\t * Determines whether the component arrow is hidden.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\thideArrow = false;\n\n\t/**\n\t * Determines if there is no enough space, the component can be placed\n\t * over the target.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tallowTargetOverlap = false;\n\n\t/**\n\t * Defines whether the content is scrollable.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdisableScrolling = false;\n\n\t/**\n\t * Sets the X translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateX = 0;\n\n\t/**\n\t * Sets the Y translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateY = 0;\n\n\t/**\n\t * Returns the calculated placement depending on the free space\n\t * @private\n\t */\n\t@property()\n\tactualPlacement: `${PopoverPlacement}` = \"End\";\n\n\t@property({ type: Number, noAttribute: true })\n\t_maxHeight?: number;\n\n\t@property({ type: Number, noAttribute: true })\n\t_maxWidth?: number;\n\n\t/**\n\t * Defines the header HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tfooter!: Array<HTMLElement>;\n\n\t_opener?: HTMLElement | string;\n\t_openerRect?: DOMRect;\n\t_preventRepositionAndClose?: boolean;\n\t_top?: number;\n\t_left?: number;\n\t_oldPlacement?: CalculatedPlacement;\n\t_width?: string;\n\t_height?: string;\n\n\tstatic get VIEWPORT_MARGIN() {\n\t\treturn 10; // px\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t/**\n\t * Defines the ID or DOM Reference of the element at which the popover is shown.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t * @since 1.2.0\n\t */\n\t@property({ converter: DOMReferenceConverter })\n\tset opener(value: HTMLElement | string) {\n\t\tif (this._opener === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = value;\n\n\t\tif (value && this.open) {\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tget opener(): HTMLElement | string | undefined {\n\t\treturn this._opener;\n\t}\n\n\tasync openPopup() {\n\t\tif (this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (!opener) {\n\t\t\tconsole.warn(\"Valid opener id is required. It must be defined before opening the popover.\"); // eslint-disable-line\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpenerOutsideViewport(opener.getBoundingClientRect())) {\n\t\t\tawait renderFinished();\n\t\t\tthis.open = false;\n\t\t\tthis.fireEvent(\"close\", {}, false, false);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._openerRect = opener.getBoundingClientRect();\n\n\t\tawait super.openPopup();\n\t}\n\n\tisOpenerClicked(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst ui5ElementTarget = target as UI5Element;\n\n\t\tif (ui5ElementTarget.getFocusDomRef && ui5ElementTarget.getFocusDomRef() === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn e.composedPath().indexOf(this._opener as EventTarget) > -1;\n\t}\n\n\t/**\n\t * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)\n\t * @private\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopover(this);\n\t}\n\n\t/**\n\t * Override for the _removeOpenedPopup hook, which would otherwise just call removeOpenedPopup(this)\n\t * @private\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopover(this);\n\t}\n\n\tgetOpenerHTMLElement(opener: HTMLElement | string | undefined): HTMLElement | null | undefined {\n\t\tif (opener === undefined || opener instanceof HTMLElement) {\n\t\t\treturn opener;\n\t\t}\n\n\t\tconst rootNode = this.getRootNode();\n\n\t\tif (rootNode instanceof Document) {\n\t\t\treturn rootNode.getElementById(opener);\n\t\t}\n\t\treturn document.getElementById(opener);\n\t}\n\n\tshouldCloseDueToOverflow(placement: `${PopoverPlacement}`, openerRect: DOMRect): boolean {\n\t\tconst threshold = 32;\n\t\tconst limits = {\n\t\t\t\"Start\": openerRect.right,\n\t\t\t\"End\": openerRect.left,\n\t\t\t\"Top\": openerRect.top,\n\t\t\t\"Bottom\": openerRect.bottom,\n\t\t};\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\t\tconst closedPopupParent = getClosedPopupParent(opener!);\n\t\tlet overflowsBottom = false;\n\t\tlet overflowsTop = false;\n\n\t\tif (closedPopupParent instanceof Popover) {\n\t\t\tconst contentRect = closedPopupParent.contentDOM.getBoundingClientRect();\n\t\t\toverflowsBottom = openerRect.top > (contentRect.top + contentRect.height);\n\t\t\toverflowsTop = (openerRect.top + openerRect.height) < contentRect.top;\n\t\t}\n\n\t\treturn (limits[placement] < 0 || (limits[placement] + threshold > (closedPopupParent as unknown as Window).innerHeight)) || overflowsBottom || overflowsTop;\n\t}\n\n\tshouldCloseDueToNoOpener(openerRect: DOMRect): boolean {\n\t\treturn openerRect.top === 0\n\t\t\t&& openerRect.bottom === 0\n\t\t\t&& openerRect.left === 0\n\t\t\t&& openerRect.right === 0;\n\t}\n\n\tisOpenerOutsideViewport(openerRect: DOMRect): boolean {\n\t\treturn openerRect.bottom < 0\n\t\t\t|| openerRect.top > window.innerHeight\n\t\t\t|| openerRect.right < 0\n\t\t\t|| openerRect.left > window.innerWidth;\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (this.open) {\n\t\t\tthis.reposition();\n\t\t}\n\t}\n\n\treposition() {\n\t\tthis._show();\n\t}\n\n\tasync _show() {\n\t\tsuper._show();\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (opener && this._isUI5Element(opener) && !opener.getDomRef()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._opened) {\n\t\t\tthis._showOutsideViewport();\n\t\t}\n\n\t\tconst popoverSize = this.getPopoverSize();\n\t\tlet placement;\n\n\t\tif (popoverSize.width === 0 || popoverSize.height === 0) {\n\t\t\t// size can not be determined properly at this point, popover will be shown with the next reposition\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.open) {\n\t\t\t// update opener rect if it was changed during the popover being opened\n\t\t\tthis._openerRect = opener!.getBoundingClientRect();\n\t\t}\n\n\t\tif (this._oldPlacement && this.shouldCloseDueToNoOpener(this._openerRect!) && this.isFocusWithin()) {\n\t\t\t// reuse the old placement as the opener is not available,\n\t\t\t// but keep the popover open as the focus is within\n\t\t\tplacement = this._oldPlacement;\n\t\t} else {\n\t\t\tplacement = this.calcPlacement(this._openerRect!, popoverSize);\n\t\t}\n\n\t\tif (this._preventRepositionAndClose || this.isOpenerOutsideViewport(this._openerRect!)) {\n\t\t\tawait this._waitForDomRef();\n\t\t\treturn this.closePopup();\n\t\t}\n\n\t\tthis._oldPlacement = placement;\n\t\tthis.actualPlacement = placement.placement;\n\n\t\tlet left = clamp(\n\t\t\tthis._left!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.End) {\n\t\t\tleft = Math.max(left, this._left!);\n\t\t}\n\n\t\tlet top = clamp(\n\t\t\tthis._top!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientHeight - popoverSize.height - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.Bottom) {\n\t\t\ttop = Math.max(top, this._top!);\n\t\t}\n\n\t\tthis.arrowTranslateX = placement.arrow.x;\n\t\tthis.arrowTranslateY = placement.arrow.y;\n\n\t\ttop = this._adjustForIOSKeyboard(top);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {\n\t\t\tthis.style.width = this._width;\n\t\t}\n\n\t\tif (this.verticalAlign === PopoverVerticalAlign.Stretch && this._height) {\n\t\t\tthis.style.height = this._height;\n\t\t}\n\t}\n\n\t/**\n\t * Adjust the desired top position to compensate for shift of the screen\n\t * caused by opened keyboard on iOS which affects all elements with position:fixed.\n\t * @private\n\t * @param top The target top in px.\n\t * @returns The adjusted top in px.\n\t */\n\t_adjustForIOSKeyboard(top: number): number {\n\t\tif (!isIOS()) {\n\t\t\treturn top;\n\t\t}\n\n\t\tconst actualTop = Math.ceil(this.getBoundingClientRect().top);\n\n\t\treturn top + (Number.parseInt(this.style.top || \"0\") - actualTop);\n\t}\n\n\t_getContainingBlockClientLocation() {\n\t\tlet parentElement = getParentElement(this);\n\n\t\twhile (parentElement) {\n\t\t\tif (isElementContainingBlock(parentElement)) {\n\t\t\t\treturn parentElement.getBoundingClientRect();\n\t\t\t}\n\n\t\t\tparentElement = getParentElement(parentElement);\n\t\t}\n\n\t\treturn { left: 0, top: 0 };\n\t}\n\n\tgetPopoverSize(): PopoverSize {\n\t\tconst rect = this.getBoundingClientRect(),\n\t\t\twidth = rect.width,\n\t\t\theight = rect.height;\n\n\t\treturn { width, height };\n\t}\n\n\t_showOutsideViewport() {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"-10000px\",\n\t\t\tleft: \"-10000px\",\n\t\t});\n\t}\n\n\t_isUI5Element(el: HTMLElement): el is UI5Element {\n\t\treturn \"isUI5Element\" in el;\n\t}\n\n\tget arrowDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popover-arrow\")!;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tcalcPlacement(targetRect: DOMRect, popoverSize: PopoverSize): CalculatedPlacement {\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\t\tlet top = 0;\n\t\tconst allowTargetOverlap = this.allowTargetOverlap;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tlet maxHeight = clientHeight;\n\t\tlet maxWidth = clientWidth;\n\n\t\tconst placement = this.getActualPlacement(targetRect, popoverSize);\n\n\t\tthis._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(placement, targetRect);\n\n\t\tconst isVertical = placement === PopoverPlacement.Top\n\t\t\t|| placement === PopoverPlacement.Bottom;\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {\n\t\t\tpopoverSize.width = targetRect.width;\n\t\t\tthis._width = `${targetRect.width}px`;\n\t\t} else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {\n\t\t\tpopoverSize.height = targetRect.height;\n\t\t\tthis._height = `${targetRect.height}px`;\n\t\t}\n\n\t\tconst arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;\n\n\t\t// calc popover positions\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = Math.max(targetRect.top - popoverSize.height - arrowOffset, 0);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxHeight = targetRect.top - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = targetRect.bottom + arrowOffset;\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\ttop = Math.max(Math.min(top, clientHeight - popoverSize.height), 0);\n\t\t\t} else {\n\t\t\t\tmaxHeight = clientHeight - targetRect.bottom - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tleft = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxWidth = targetRect.left - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tleft = targetRect.left + targetRect.width + arrowOffset;\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\tleft = Math.max(Math.min(left, clientWidth - popoverSize.width), 0);\n\t\t\t} else {\n\t\t\t\tmaxWidth = clientWidth - targetRect.right - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// correct popover positions\n\t\tif (isVertical) {\n\t\t\tif (popoverSize.width > clientWidth || left < Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (left + popoverSize.width > clientWidth - Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = clientWidth - Popover.VIEWPORT_MARGIN - popoverSize.width;\n\t\t\t}\n\t\t} else {\n\t\t\tif (popoverSize.height > clientHeight || top < 0) { // eslint-disable-line\n\t\t\t\ttop = 0;\n\t\t\t} else if (top + popoverSize.height > clientHeight) {\n\t\t\t\ttop -= top + popoverSize.height - clientHeight;\n\t\t\t}\n\t\t}\n\n\t\tthis._maxHeight = Math.round(maxHeight - Popover.VIEWPORT_MARGIN);\n\t\tthis._maxWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);\n\n\t\tif (this._left === undefined || Math.abs(this._left - left) > 1.5) {\n\t\t\tthis._left = Math.round(left);\n\t\t}\n\n\t\tif (this._top === undefined || Math.abs(this._top - top) > 1.5) {\n\t\t\tthis._top = Math.round(top);\n\t\t}\n\n\t\tconst borderRadius = Number.parseInt(window.getComputedStyle(this).getPropertyValue(\"border-radius\"));\n\t\tconst arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical, borderRadius);\n\n\t\treturn {\n\t\t\tarrow: arrowPos,\n\t\t\ttop: this._top,\n\t\t\tleft: this._left,\n\t\t\tplacement,\n\t\t};\n\t}\n\n\t/**\n\t * Calculates the position for the arrow.\n\t * @private\n\t * @param targetRect BoundingClientRect of the target element\n\t * @param popoverSize Width and height of the popover\n\t * @param left Left offset of the popover\n\t * @param top Top offset of the popover\n\t * @param isVertical If the popover is positioned vertically to the target element\n\t * @param borderRadius Value of the border-radius property\n\t * @returns Arrow's coordinates\n\t */\n\tgetArrowPosition(targetRect: DOMRect, popoverSize: PopoverSize, left: number, top: number, isVertical: boolean, borderRadius: number): ArrowPosition {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet arrowXCentered = horizontalAlign === PopoverHorizontalAlign.Center || horizontalAlign === PopoverHorizontalAlign.Stretch;\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.End && left <= targetRect.left) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.Start && left + popoverSize.width >= targetRect.left + targetRect.width) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tlet arrowTranslateX = 0;\n\t\tif (isVertical && arrowXCentered) {\n\t\t\tarrowTranslateX = targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2;\n\t\t}\n\n\t\tlet arrowTranslateY = 0;\n\t\tif (!isVertical) {\n\t\t\tarrowTranslateY = targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2;\n\t\t}\n\n\t\t// Restricts the arrow's translate value along each dimension,\n\t\t// so that the arrow does not clip over the popover's rounded borders.\n\t\tconst safeRangeForArrowY = popoverSize.height / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateY = clamp(\n\t\t\tarrowTranslateY,\n\t\t\t-safeRangeForArrowY,\n\t\t\tsafeRangeForArrowY,\n\t\t);\n\n\t\tconst safeRangeForArrowX = popoverSize.width / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateX = clamp(\n\t\t\tarrowTranslateX,\n\t\t\t-safeRangeForArrowX,\n\t\t\tsafeRangeForArrowX,\n\t\t);\n\n\t\treturn {\n\t\t\tx: Math.round(arrowTranslateX),\n\t\t\ty: Math.round(arrowTranslateY),\n\t\t};\n\t}\n\n\t/**\n\t * Fallbacks to new placement, prioritizing `Left` and `Right` placements.\n\t * @private\n\t */\n\tfallbackPlacement(clientWidth: number, clientHeight: number, targetRect: DOMRect, popoverSize: PopoverSize): PopoverPlacement | undefined {\n\t\tif (targetRect.left > popoverSize.width) {\n\t\t\treturn PopoverPlacement.Start;\n\t\t}\n\n\t\tif (clientWidth - targetRect.right > targetRect.left) {\n\t\t\treturn PopoverPlacement.End;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom > popoverSize.height) {\n\t\t\treturn PopoverPlacement.Bottom;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\treturn PopoverPlacement.Top;\n\t\t}\n\t}\n\n\tgetActualPlacement(targetRect: DOMRect, popoverSize: PopoverSize): `${PopoverPlacement}` {\n\t\tconst placement = this.placement;\n\t\tlet actualPlacement = placement;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tif (targetRect.top < popoverSize.height\n\t\t\t\t&& targetRect.top < clientHeight - targetRect.bottom) {\n\t\t\t\tactualPlacement = PopoverPlacement.Bottom;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tif (clientHeight - targetRect.bottom < popoverSize.height\n\t\t\t\t&& clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\t\tactualPlacement = PopoverPlacement.Top;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tif (targetRect.left < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tif (clientWidth - targetRect.right < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\treturn actualPlacement;\n\t}\n\n\tgetVerticalLeft(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\n\t\tswitch (horizontalAlign) {\n\t\tcase PopoverHorizontalAlign.Center:\n\t\tcase PopoverHorizontalAlign.Stretch:\n\t\t\tleft = targetRect.left - (popoverSize.width - targetRect.width) / 2;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.Start:\n\t\t\tleft = targetRect.left;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.End:\n\t\t\tleft = targetRect.right - popoverSize.width;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\tgetHorizontalTop(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tlet top = 0;\n\n\t\tswitch (this.verticalAlign) {\n\t\tcase PopoverVerticalAlign.Center:\n\t\tcase PopoverVerticalAlign.Stretch:\n\t\t\ttop = targetRect.top - (popoverSize.height - targetRect.height) / 2;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Top:\n\t\t\ttop = targetRect.top;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Bottom:\n\t\t\ttop = targetRect.bottom - popoverSize.height;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tget isModal() { // Required by Popup.js\n\t\treturn this.modal;\n\t}\n\n\tget _ariaLabelledBy() { // Required by Popup.js\n\t\tif (!this._ariaLabel && this._displayHeader) {\n\t\t\treturn \"ui5-popup-header\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\t...super.styles,\n\t\t\troot: {\n\t\t\t\t\"max-height\": this._maxHeight ? `${this._maxHeight}px` : \"\",\n\t\t\t\t\"max-width\": this._maxWidth ? `${this._maxWidth}px` : \"\",\n\t\t\t},\n\t\t\tarrow: {\n\t\t\t\ttransform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\tconst allClasses = super.classes;\n\t\tallClasses.root[\"ui5-popover-root\"] = true;\n\n\t\treturn allClasses;\n\t}\n\n\t/**\n\t * Hook for descendants to hide header.\n\t */\n\tget _displayHeader() {\n\t\treturn !!(this.header.length || this.headerText);\n\t}\n\n\t/**\n\t * Hook for descendants to hide footer.\n\t */\n\tget _displayFooter() {\n\t\treturn true;\n\t}\n\n\tget _actualHorizontalAlign() {\n\t\tif (this.effectiveDir === \"rtl\") {\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Start) {\n\t\t\t\treturn PopoverHorizontalAlign.End;\n\t\t\t}\n\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.End) {\n\t\t\t\treturn PopoverHorizontalAlign.Start;\n\t\t\t}\n\t\t}\n\n\t\treturn this.horizontalAlign;\n\t}\n}\n\nconst instanceOfPopover = (object: any): object is Popover => {\n\treturn \"opener\" in object;\n};\n\nPopover.define();\n\nexport default Popover;\n\nexport { instanceOfPopover };\n\nexport type {\n\tPopoverBeforeCloseEventDetail,\n};\n"]}
@@ -206,9 +206,11 @@ declare class TabContainer extends UI5Element {
206
206
  _onHeaderDragEnter(e: DragEvent): void;
207
207
  _onHeaderDragOver(e: DragEvent, isLongDragOver: boolean): void;
208
208
  _onHeaderDrop(e: DragEvent): void;
209
+ _moveHeaderItem(tab: Tab, e: KeyboardEvent): void;
209
210
  _onHeaderDragLeave(e: DragEvent): void;
210
211
  _onPopoverListMoveOver(e: CustomEvent<ListMoveEventDetail>): void;
211
212
  _onPopoverListMove(e: CustomEvent<ListMoveEventDetail>): void;
213
+ _onPopoverListKeyDown(e: KeyboardEvent): void;
212
214
  _onTabStripClick(e: Event): Promise<void>;
213
215
  _onTabExpandButtonClick(e: Event): Promise<void>;
214
216
  _setPopoverInitialFocus(): void;
@@ -281,6 +283,7 @@ declare class TabContainer extends UI5Element {
281
283
  _respPopover(): Promise<ResponsivePopover>;
282
284
  _closePopover(): void;
283
285
  get dropIndicatorDOM(): DropIndicator | null;
286
+ _findSiblings(tab: Tab): ITab[];
284
287
  get classes(): {
285
288
  root: {
286
289
  "ui5-tc-root": boolean;
@@ -17,14 +17,14 @@ import slideDown from "@ui5/webcomponents-base/dist/animations/slideDown.js";
17
17
  import slideUp from "@ui5/webcomponents-base/dist/animations/slideUp.js";
18
18
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
19
19
  import { isDesktop, } from "@ui5/webcomponents-base/dist/Device.js";
20
- import { isSpace, isEnter, isDown, isRight, isLeft, isUp, } from "@ui5/webcomponents-base/dist/Keys.js";
20
+ import { isSpace, isEnter, isDown, isRight, isLeft, isUp, isCtrl, } from "@ui5/webcomponents-base/dist/Keys.js";
21
21
  import MediaRange from "@ui5/webcomponents-base/dist/MediaRange.js";
22
22
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
23
23
  import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsScope.js";
24
24
  import "@ui5/webcomponents-icons/dist/slim-arrow-up.js";
25
25
  import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
26
26
  import arraysAreEqual from "@ui5/webcomponents-base/dist/util/arraysAreEqual.js";
27
- import findClosestPosition from "@ui5/webcomponents-base/dist/util/dragAndDrop/findClosestPosition.js";
27
+ import { findClosestPosition, findClosestPositionsByKey } from "@ui5/webcomponents-base/dist/util/dragAndDrop/findClosestPosition.js";
28
28
  import Orientation from "@ui5/webcomponents-base/dist/types/Orientation.js";
29
29
  import DragRegistry from "@ui5/webcomponents-base/dist/util/dragAndDrop/DragRegistry.js";
30
30
  import longDragOverHandler from "@ui5/webcomponents-base/dist/util/dragAndDrop/longDragOverHandler.js";
@@ -337,6 +337,51 @@ let TabContainer = TabContainer_1 = class TabContainer extends UI5Element {
337
337
  this.dropIndicatorDOM.targetReference = null;
338
338
  draggedElement.focus();
339
339
  }
340
+ _moveHeaderItem(tab, e) {
341
+ if (!tab.movable) {
342
+ return;
343
+ }
344
+ const headerItems = this.items.map(item => item.getDomRefInStrip())
345
+ .filter((item) => !item?.hasAttribute("hidden"));
346
+ let positions = findClosestPositionsByKey(headerItems, tab.getDomRefInStrip(), e);
347
+ positions = positions.map(({ element, placement }) => {
348
+ while (element && element.realTabReference.hasAttribute("ui5-tab-separator") && placement === MovePlacement.Before) {
349
+ element = headerItems.at(headerItems.indexOf(element) - 1);
350
+ placement = MovePlacement.After;
351
+ }
352
+ while (element && element.realTabReference.hasAttribute("ui5-tab-separator") && placement === MovePlacement.After) {
353
+ element = headerItems.at(headerItems.indexOf(element) + 1);
354
+ placement = MovePlacement.Before;
355
+ }
356
+ return {
357
+ element,
358
+ placement,
359
+ };
360
+ });
361
+ const acceptedPosition = positions.find(({ element, placement }) => {
362
+ return !this.fireEvent("move-over", {
363
+ source: {
364
+ element: tab,
365
+ },
366
+ destination: {
367
+ element: element.realTabReference,
368
+ placement,
369
+ },
370
+ }, true);
371
+ });
372
+ if (acceptedPosition) {
373
+ this.fireEvent("move", {
374
+ source: {
375
+ element: tab,
376
+ },
377
+ destination: {
378
+ element: acceptedPosition.element.realTabReference,
379
+ placement: acceptedPosition.placement,
380
+ },
381
+ });
382
+ tab.focus();
383
+ }
384
+ }
340
385
  _onHeaderDragLeave(e) {
341
386
  if (e.relatedTarget instanceof Node && this.shadowRoot.contains(e.relatedTarget)) {
342
387
  return;
@@ -344,13 +389,29 @@ let TabContainer = TabContainer_1 = class TabContainer extends UI5Element {
344
389
  this.dropIndicatorDOM.targetReference = null;
345
390
  }
346
391
  _onPopoverListMoveOver(e) {
347
- const { destination } = e.detail;
392
+ const { destination, source } = e.detail;
348
393
  const draggedElement = DragRegistry.getDraggedElement();
349
- const dropTarget = destination.element.realTabReference;
350
- if (destination.placement === MovePlacement.On && (dropTarget.isSeparator || draggedElement === dropTarget)) {
394
+ let destinationElement = destination.element.realTabReference;
395
+ // workaround to simulate tree behavior
396
+ if (e.detail.originalEvent instanceof KeyboardEvent) {
397
+ const realTabReference = source.element.realTabReference;
398
+ const siblings = this._findSiblings(realTabReference);
399
+ let items = siblings;
400
+ if (this.items.includes(realTabReference)) {
401
+ items = siblings.filter(sibling => {
402
+ return e.target.items.some(el => el.realTabReference === sibling);
403
+ });
404
+ }
405
+ const nextPosition = findClosestPositionsByKey(items, realTabReference, e.detail.originalEvent);
406
+ destinationElement = nextPosition[0]?.element;
407
+ }
408
+ if (!destinationElement) {
351
409
  return;
352
410
  }
353
- if (draggedElement !== dropTarget && draggedElement.contains(dropTarget)) {
411
+ if (destination.placement === MovePlacement.On && (destinationElement.hasAttribute("ui5-tab-separator") || draggedElement === destinationElement)) {
412
+ return;
413
+ }
414
+ if (draggedElement !== destinationElement && draggedElement.contains(destinationElement)) {
354
415
  return;
355
416
  }
356
417
  const placementAccepted = !this.fireEvent("move-over", {
@@ -358,7 +419,7 @@ let TabContainer = TabContainer_1 = class TabContainer extends UI5Element {
358
419
  element: draggedElement,
359
420
  },
360
421
  destination: {
361
- element: dropTarget,
422
+ element: destinationElement,
362
423
  placement: destination.placement,
363
424
  },
364
425
  }, true);
@@ -370,21 +431,43 @@ let TabContainer = TabContainer_1 = class TabContainer extends UI5Element {
370
431
  }
371
432
  }
372
433
  _onPopoverListMove(e) {
373
- const { destination } = e.detail;
434
+ const { destination, source } = e.detail;
374
435
  const draggedElement = DragRegistry.getDraggedElement();
436
+ let destinationElement = destination.element.realTabReference;
437
+ // Workaround to simulate tree behavior
438
+ if (e.detail.originalEvent instanceof KeyboardEvent) {
439
+ const realTabReference = source.element.realTabReference;
440
+ const siblings = this._findSiblings(realTabReference);
441
+ let items = siblings;
442
+ if (this.items.includes(realTabReference)) {
443
+ items = siblings.filter(sibling => {
444
+ return e.target.items.some(el => el.realTabReference === sibling);
445
+ });
446
+ }
447
+ const nextPosition = findClosestPositionsByKey(items, realTabReference, e.detail.originalEvent);
448
+ destinationElement = nextPosition[0]?.element;
449
+ }
450
+ if (!destinationElement) {
451
+ return;
452
+ }
375
453
  e.preventDefault();
376
454
  this.fireEvent("move", {
377
455
  source: {
378
456
  element: draggedElement,
379
457
  },
380
458
  destination: {
381
- element: destination.element.realTabReference,
459
+ element: destinationElement,
382
460
  placement: destination.placement,
383
461
  },
384
462
  }, true);
385
463
  this.dropIndicatorDOM.targetReference = null;
386
464
  draggedElement.focus();
387
465
  }
466
+ _onPopoverListKeyDown(e) {
467
+ if (isCtrl(e)) {
468
+ this._setDraggedElement(e.target.realTabReference);
469
+ }
470
+ }
388
471
  async _onTabStripClick(e) {
389
472
  const tab = getTabInStrip(e.target);
390
473
  if (!tab || tab.realTabReference.disabled) {
@@ -447,7 +530,15 @@ let TabContainer = TabContainer_1 = class TabContainer extends UI5Element {
447
530
  }
448
531
  _onTabStripKeyDown(e) {
449
532
  const tab = getTabInStrip(e.target);
450
- if (!tab || tab.realTabReference.disabled) {
533
+ if (!tab) {
534
+ return;
535
+ }
536
+ if (isCtrl(e)) {
537
+ this._moveHeaderItem(tab.realTabReference, e);
538
+ e.preventDefault();
539
+ return;
540
+ }
541
+ if (tab.realTabReference.disabled) {
451
542
  return;
452
543
  }
453
544
  if (isEnter(e)) {
@@ -937,6 +1028,15 @@ let TabContainer = TabContainer_1 = class TabContainer extends UI5Element {
937
1028
  get dropIndicatorDOM() {
938
1029
  return this.shadowRoot.querySelector("[ui5-drop-indicator]");
939
1030
  }
1031
+ _findSiblings(tab) {
1032
+ let parent;
1033
+ walk(this.items, item => {
1034
+ if (item.items && item.items.includes(tab)) {
1035
+ parent = item;
1036
+ }
1037
+ });
1038
+ return (parent ?? this).items;
1039
+ }
940
1040
  get classes() {
941
1041
  return {
942
1042
  root: {