@ui5/webcomponents 2.0.0-rc.0 → 2.0.0-rc.2

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 (520) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/AvatarGroup.js +4 -0
  4. package/dist/AvatarGroup.js.map +1 -1
  5. package/dist/Breadcrumbs.js +1 -1
  6. package/dist/Breadcrumbs.js.map +1 -1
  7. package/dist/Button.d.ts +1 -6
  8. package/dist/Button.js +6 -12
  9. package/dist/Button.js.map +1 -1
  10. package/dist/Calendar.js +4 -3
  11. package/dist/Calendar.js.map +1 -1
  12. package/dist/CalendarPart.d.ts +2 -1
  13. package/dist/CalendarPart.js +2 -1
  14. package/dist/CalendarPart.js.map +1 -1
  15. package/dist/ComboBox.js +4 -5
  16. package/dist/ComboBox.js.map +1 -1
  17. package/dist/CustomListItem.d.ts +1 -1
  18. package/dist/CustomListItem.js +4 -4
  19. package/dist/CustomListItem.js.map +1 -1
  20. package/dist/DateComponentBase.js +2 -1
  21. package/dist/DateComponentBase.js.map +1 -1
  22. package/dist/DateTimePicker.js +2 -1
  23. package/dist/DateTimePicker.js.map +1 -1
  24. package/dist/DayPicker.js +2 -1
  25. package/dist/DayPicker.js.map +1 -1
  26. package/dist/Dialog.d.ts +0 -1
  27. package/dist/Dialog.js +0 -9
  28. package/dist/Dialog.js.map +1 -1
  29. package/dist/DropIndicator.d.ts +0 -1
  30. package/dist/DropIndicator.js +13 -6
  31. package/dist/DropIndicator.js.map +1 -1
  32. package/dist/Icon.d.ts +1 -8
  33. package/dist/Icon.js +6 -13
  34. package/dist/Icon.js.map +1 -1
  35. package/dist/Input.js +1 -1
  36. package/dist/Input.js.map +1 -1
  37. package/dist/Link.d.ts +3 -3
  38. package/dist/Link.js +1 -1
  39. package/dist/Link.js.map +1 -1
  40. package/dist/ListItem.d.ts +1 -1
  41. package/dist/ListItem.js +12 -2
  42. package/dist/ListItem.js.map +1 -1
  43. package/dist/Menu.js +4 -4
  44. package/dist/Menu.js.map +1 -1
  45. package/dist/MenuListItem.js +2 -0
  46. package/dist/MenuListItem.js.map +1 -1
  47. package/dist/MessageStrip.d.ts +17 -8
  48. package/dist/MessageStrip.js +20 -9
  49. package/dist/MessageStrip.js.map +1 -1
  50. package/dist/MultiComboBox.d.ts +1 -1
  51. package/dist/MultiComboBox.js +11 -11
  52. package/dist/MultiComboBox.js.map +1 -1
  53. package/dist/Popover.d.ts +9 -8
  54. package/dist/Popover.js +39 -24
  55. package/dist/Popover.js.map +1 -1
  56. package/dist/Popup.d.ts +12 -19
  57. package/dist/Popup.js +44 -42
  58. package/dist/Popup.js.map +1 -1
  59. package/dist/ResponsivePopover.d.ts +1 -0
  60. package/dist/ResponsivePopover.js +7 -2
  61. package/dist/ResponsivePopover.js.map +1 -1
  62. package/dist/SegmentedButton.js +0 -1
  63. package/dist/SegmentedButton.js.map +1 -1
  64. package/dist/Select.js +2 -2
  65. package/dist/Select.js.map +1 -1
  66. package/dist/SplitButton.d.ts +3 -14
  67. package/dist/SplitButton.js +18 -34
  68. package/dist/SplitButton.js.map +1 -1
  69. package/dist/Tab.d.ts +4 -4
  70. package/dist/Tab.js +1 -0
  71. package/dist/Tab.js.map +1 -1
  72. package/dist/TabContainer.d.ts +24 -12
  73. package/dist/TabContainer.js +59 -7
  74. package/dist/TabContainer.js.map +1 -1
  75. package/dist/TabSeparator.d.ts +3 -2
  76. package/dist/TabSeparator.js +1 -0
  77. package/dist/TabSeparator.js.map +1 -1
  78. package/dist/Text.d.ts +40 -0
  79. package/dist/Text.js +64 -0
  80. package/dist/Text.js.map +1 -0
  81. package/dist/TextArea.d.ts +4 -4
  82. package/dist/TextArea.js +3 -3
  83. package/dist/TextArea.js.map +1 -1
  84. package/dist/TimePickerBase.js +3 -2
  85. package/dist/TimePickerBase.js.map +1 -1
  86. package/dist/TimePickerInternals.d.ts +2 -2
  87. package/dist/TimePickerInternals.js +3 -2
  88. package/dist/TimePickerInternals.js.map +1 -1
  89. package/dist/TimeSelection.d.ts +2 -2
  90. package/dist/TimeSelection.js +3 -2
  91. package/dist/TimeSelection.js.map +1 -1
  92. package/dist/Tree.d.ts +19 -1
  93. package/dist/Tree.js +84 -0
  94. package/dist/Tree.js.map +1 -1
  95. package/dist/TreeItemBase.d.ts +1 -1
  96. package/dist/TreeItemBase.js +2 -2
  97. package/dist/TreeItemBase.js.map +1 -1
  98. package/dist/TreeItemCustom.d.ts +2 -0
  99. package/dist/TreeItemCustom.js +15 -0
  100. package/dist/TreeItemCustom.js.map +1 -1
  101. package/dist/bundle.esm.js.map +1 -1
  102. package/dist/css/themes/Avatar.css +1 -1
  103. package/dist/css/themes/AvatarGroup.css +1 -1
  104. package/dist/css/themes/Badge.css +1 -1
  105. package/dist/css/themes/Bar.css +1 -1
  106. package/dist/css/themes/Breadcrumbs.css +1 -1
  107. package/dist/css/themes/BusyIndicator.css +1 -1
  108. package/dist/css/themes/Button.css +1 -1
  109. package/dist/css/themes/Calendar.css +1 -1
  110. package/dist/css/themes/CalendarHeader.css +1 -1
  111. package/dist/css/themes/CalendarLegend.css +1 -1
  112. package/dist/css/themes/CalendarLegendItem.css +1 -1
  113. package/dist/css/themes/Card.css +1 -1
  114. package/dist/css/themes/CardHeader.css +1 -1
  115. package/dist/css/themes/Carousel.css +1 -1
  116. package/dist/css/themes/CheckBox.css +1 -1
  117. package/dist/css/themes/ColorPalette.css +1 -1
  118. package/dist/css/themes/ColorPaletteItem.css +1 -1
  119. package/dist/css/themes/ColorPalettePopover.css +1 -1
  120. package/dist/css/themes/ColorPicker.css +1 -1
  121. package/dist/css/themes/ComboBox.css +1 -1
  122. package/dist/css/themes/CustomListItem.css +1 -1
  123. package/dist/css/themes/DatePicker.css +1 -1
  124. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  125. package/dist/css/themes/DayPicker.css +1 -1
  126. package/dist/css/themes/Dialog.css +1 -1
  127. package/dist/css/themes/DropIndicator.css +1 -1
  128. package/dist/css/themes/FileUploader.css +1 -1
  129. package/dist/css/themes/GroupHeaderListItem.css +1 -1
  130. package/dist/css/themes/GrowingButton.css +1 -1
  131. package/dist/css/themes/Icon.css +1 -1
  132. package/dist/css/themes/Input.css +1 -1
  133. package/dist/css/themes/InputIcon.css +1 -1
  134. package/dist/css/themes/InputSharedStyles.css +1 -1
  135. package/dist/css/themes/Link.css +1 -1
  136. package/dist/css/themes/List.css +1 -1
  137. package/dist/css/themes/ListItem.css +1 -1
  138. package/dist/css/themes/ListItemBase.css +1 -1
  139. package/dist/css/themes/Menu.css +1 -1
  140. package/dist/css/themes/MenuListItem.css +1 -1
  141. package/dist/css/themes/MessageStrip.css +1 -1
  142. package/dist/css/themes/MonthPicker.css +1 -1
  143. package/dist/css/themes/MultiComboBox.css +1 -1
  144. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  145. package/dist/css/themes/MultiInput.css +1 -1
  146. package/dist/css/themes/NavigationMenu.css +1 -1
  147. package/dist/css/themes/Panel.css +1 -1
  148. package/dist/css/themes/Popover.css +1 -1
  149. package/dist/css/themes/PopupBlockLayer.css +1 -1
  150. package/dist/css/themes/PopupsCommon.css +1 -1
  151. package/dist/css/themes/ProgressIndicator.css +1 -1
  152. package/dist/css/themes/RadioButton.css +1 -1
  153. package/dist/css/themes/RangeSlider.css +1 -1
  154. package/dist/css/themes/RatingIndicator.css +1 -1
  155. package/dist/css/themes/ResponsivePopover.css +1 -1
  156. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  157. package/dist/css/themes/SegmentedButton.css +1 -1
  158. package/dist/css/themes/Select.css +1 -1
  159. package/dist/css/themes/SelectMenu.css +1 -1
  160. package/dist/css/themes/SelectPopover.css +1 -1
  161. package/dist/css/themes/SliderBase.css +1 -1
  162. package/dist/css/themes/SplitButton.css +1 -1
  163. package/dist/css/themes/StepInput.css +1 -1
  164. package/dist/css/themes/Switch.css +1 -1
  165. package/dist/css/themes/TabContainer.css +1 -1
  166. package/dist/css/themes/TabInOverflow.css +1 -1
  167. package/dist/css/themes/TabInStrip.css +1 -1
  168. package/dist/css/themes/TabSemanticIcon.css +1 -1
  169. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  170. package/dist/css/themes/Table.css +1 -1
  171. package/dist/css/themes/TableCell.css +1 -1
  172. package/dist/css/themes/TableColumn.css +1 -1
  173. package/dist/css/themes/TableGroupRow.css +1 -1
  174. package/dist/css/themes/TableRow.css +1 -1
  175. package/dist/css/themes/Text.css +1 -0
  176. package/dist/css/themes/TextArea.css +1 -1
  177. package/dist/css/themes/TimePicker.css +1 -1
  178. package/dist/css/themes/Toast.css +1 -1
  179. package/dist/css/themes/ToggleButton.css +1 -1
  180. package/dist/css/themes/Token.css +1 -1
  181. package/dist/css/themes/Tokenizer.css +1 -1
  182. package/dist/css/themes/TokenizerPopover.css +1 -1
  183. package/dist/css/themes/Toolbar.css +1 -1
  184. package/dist/css/themes/ToolbarPopover.css +1 -1
  185. package/dist/css/themes/TreeItem.css +1 -1
  186. package/dist/css/themes/ValueStateMessage.css +1 -1
  187. package/dist/css/themes/WheelSlider.css +1 -1
  188. package/dist/css/themes/YearPicker.css +1 -1
  189. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  190. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  191. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  192. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  193. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  194. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  195. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  196. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  197. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  198. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  199. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  200. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  201. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  202. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  203. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  204. package/dist/custom-elements-internal.json +380 -137
  205. package/dist/custom-elements.json +264 -126
  206. package/dist/features/InputSuggestions.js +1 -1
  207. package/dist/features/InputSuggestions.js.map +1 -1
  208. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  209. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  210. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  211. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  212. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  213. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  214. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  215. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  216. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  217. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  218. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  219. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  220. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  221. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  222. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  223. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  224. package/dist/generated/i18n/i18n-defaults.js +2 -1
  225. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  226. package/dist/generated/templates/ComboBoxTemplate.lit.js +1 -1
  227. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  228. package/dist/generated/templates/DialogTemplate.lit.js +1 -1
  229. package/dist/generated/templates/DialogTemplate.lit.js.map +1 -1
  230. package/dist/generated/templates/IconTemplate.lit.js +1 -1
  231. package/dist/generated/templates/IconTemplate.lit.js.map +1 -1
  232. package/dist/generated/templates/LinkTemplate.lit.js +1 -1
  233. package/dist/generated/templates/LinkTemplate.lit.js.map +1 -1
  234. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +1 -1
  235. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  236. package/dist/generated/templates/PopoverTemplate.lit.js +1 -1
  237. package/dist/generated/templates/PopoverTemplate.lit.js.map +1 -1
  238. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +1 -1
  239. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js.map +1 -1
  240. package/dist/generated/templates/PopupTemplate.lit.js +1 -1
  241. package/dist/generated/templates/PopupTemplate.lit.js.map +1 -1
  242. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +2 -2
  243. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js.map +1 -1
  244. package/dist/generated/templates/SplitButtonTemplate.lit.js +1 -1
  245. package/dist/generated/templates/SplitButtonTemplate.lit.js.map +1 -1
  246. package/dist/generated/templates/TreeTemplate.lit.js +1 -1
  247. package/dist/generated/templates/TreeTemplate.lit.js.map +1 -1
  248. package/dist/generated/themes/Avatar.css.js +1 -1
  249. package/dist/generated/themes/Avatar.css.js.map +1 -1
  250. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  251. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  252. package/dist/generated/themes/Badge.css.js +1 -1
  253. package/dist/generated/themes/Badge.css.js.map +1 -1
  254. package/dist/generated/themes/Bar.css.js +1 -1
  255. package/dist/generated/themes/Bar.css.js.map +1 -1
  256. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  257. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  258. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  259. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  260. package/dist/generated/themes/Button.css.js +1 -1
  261. package/dist/generated/themes/Button.css.js.map +1 -1
  262. package/dist/generated/themes/Calendar.css.js +1 -1
  263. package/dist/generated/themes/Calendar.css.js.map +1 -1
  264. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  265. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  266. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  267. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  268. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  269. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  270. package/dist/generated/themes/Card.css.js +1 -1
  271. package/dist/generated/themes/Card.css.js.map +1 -1
  272. package/dist/generated/themes/CardHeader.css.js +1 -1
  273. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  274. package/dist/generated/themes/Carousel.css.js +1 -1
  275. package/dist/generated/themes/Carousel.css.js.map +1 -1
  276. package/dist/generated/themes/CheckBox.css.js +1 -1
  277. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  278. package/dist/generated/themes/ColorPalette.css.js +1 -1
  279. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  280. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  281. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  282. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  283. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  284. package/dist/generated/themes/ColorPicker.css.js +1 -1
  285. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  286. package/dist/generated/themes/ComboBox.css.js +1 -1
  287. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  288. package/dist/generated/themes/CustomListItem.css.js +1 -1
  289. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  290. package/dist/generated/themes/DatePicker.css.js +1 -1
  291. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  292. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  293. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  294. package/dist/generated/themes/DayPicker.css.js +1 -1
  295. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  296. package/dist/generated/themes/Dialog.css.js +1 -1
  297. package/dist/generated/themes/Dialog.css.js.map +1 -1
  298. package/dist/generated/themes/DropIndicator.css.js +1 -1
  299. package/dist/generated/themes/DropIndicator.css.js.map +1 -1
  300. package/dist/generated/themes/FileUploader.css.js +1 -1
  301. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  302. package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
  303. package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -1
  304. package/dist/generated/themes/GrowingButton.css.js +1 -1
  305. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  306. package/dist/generated/themes/Icon.css.js +1 -1
  307. package/dist/generated/themes/Icon.css.js.map +1 -1
  308. package/dist/generated/themes/Input.css.js +1 -1
  309. package/dist/generated/themes/Input.css.js.map +1 -1
  310. package/dist/generated/themes/InputIcon.css.js +1 -1
  311. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  312. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  313. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  314. package/dist/generated/themes/Link.css.js +1 -1
  315. package/dist/generated/themes/Link.css.js.map +1 -1
  316. package/dist/generated/themes/List.css.js +1 -1
  317. package/dist/generated/themes/List.css.js.map +1 -1
  318. package/dist/generated/themes/ListItem.css.js +1 -1
  319. package/dist/generated/themes/ListItem.css.js.map +1 -1
  320. package/dist/generated/themes/ListItemBase.css.js +1 -1
  321. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  322. package/dist/generated/themes/Menu.css.js +1 -1
  323. package/dist/generated/themes/Menu.css.js.map +1 -1
  324. package/dist/generated/themes/MenuListItem.css.js +1 -1
  325. package/dist/generated/themes/MenuListItem.css.js.map +1 -1
  326. package/dist/generated/themes/MessageStrip.css.js +1 -1
  327. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  328. package/dist/generated/themes/MonthPicker.css.js +1 -1
  329. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  330. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  331. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  332. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  333. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  334. package/dist/generated/themes/MultiInput.css.js +1 -1
  335. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  336. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  337. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  338. package/dist/generated/themes/Panel.css.js +1 -1
  339. package/dist/generated/themes/Panel.css.js.map +1 -1
  340. package/dist/generated/themes/Popover.css.js +1 -1
  341. package/dist/generated/themes/Popover.css.js.map +1 -1
  342. package/dist/generated/themes/PopupBlockLayer.css.js +1 -1
  343. package/dist/generated/themes/PopupBlockLayer.css.js.map +1 -1
  344. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  345. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  346. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  347. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  348. package/dist/generated/themes/RadioButton.css.js +1 -1
  349. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  350. package/dist/generated/themes/RangeSlider.css.js +1 -1
  351. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  352. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  353. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  354. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  355. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  356. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  357. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  358. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  359. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  360. package/dist/generated/themes/Select.css.js +1 -1
  361. package/dist/generated/themes/Select.css.js.map +1 -1
  362. package/dist/generated/themes/SelectMenu.css.js +1 -1
  363. package/dist/generated/themes/SelectMenu.css.js.map +1 -1
  364. package/dist/generated/themes/SelectPopover.css.js +1 -1
  365. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  366. package/dist/generated/themes/SliderBase.css.js +1 -1
  367. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  368. package/dist/generated/themes/SplitButton.css.js +1 -1
  369. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  370. package/dist/generated/themes/StepInput.css.js +1 -1
  371. package/dist/generated/themes/StepInput.css.js.map +1 -1
  372. package/dist/generated/themes/Switch.css.js +1 -1
  373. package/dist/generated/themes/Switch.css.js.map +1 -1
  374. package/dist/generated/themes/TabContainer.css.js +1 -1
  375. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  376. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  377. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  378. package/dist/generated/themes/TabInStrip.css.js +1 -1
  379. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  380. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  381. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  382. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  383. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  384. package/dist/generated/themes/Table.css.js +1 -1
  385. package/dist/generated/themes/Table.css.js.map +1 -1
  386. package/dist/generated/themes/TableCell.css.js +1 -1
  387. package/dist/generated/themes/TableCell.css.js.map +1 -1
  388. package/dist/generated/themes/TableColumn.css.js +1 -1
  389. package/dist/generated/themes/TableColumn.css.js.map +1 -1
  390. package/dist/generated/themes/TableGroupRow.css.js +1 -1
  391. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  392. package/dist/generated/themes/TableRow.css.js +1 -1
  393. package/dist/generated/themes/TableRow.css.js.map +1 -1
  394. package/dist/generated/themes/Text.css.d.ts +3 -0
  395. package/dist/generated/themes/Text.css.js +9 -0
  396. package/dist/generated/themes/Text.css.js.map +1 -0
  397. package/dist/generated/themes/TextArea.css.js +1 -1
  398. package/dist/generated/themes/TextArea.css.js.map +1 -1
  399. package/dist/generated/themes/TimePicker.css.js +1 -1
  400. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  401. package/dist/generated/themes/Toast.css.js +1 -1
  402. package/dist/generated/themes/Toast.css.js.map +1 -1
  403. package/dist/generated/themes/ToggleButton.css.js +1 -1
  404. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  405. package/dist/generated/themes/Token.css.js +1 -1
  406. package/dist/generated/themes/Token.css.js.map +1 -1
  407. package/dist/generated/themes/Tokenizer.css.js +1 -1
  408. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  409. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  410. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  411. package/dist/generated/themes/Toolbar.css.js +1 -1
  412. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  413. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  414. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  415. package/dist/generated/themes/TreeItem.css.js +1 -1
  416. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  417. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  418. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  419. package/dist/generated/themes/WheelSlider.css.js +1 -1
  420. package/dist/generated/themes/WheelSlider.css.js.map +1 -1
  421. package/dist/generated/themes/YearPicker.css.js +1 -1
  422. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  423. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  424. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  425. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  426. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  427. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  428. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  429. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  430. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  431. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  432. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  433. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  434. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  435. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  436. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  437. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  438. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  439. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  440. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  441. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  442. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  443. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  444. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  445. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  446. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  447. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  448. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  449. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  450. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  451. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  452. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  453. package/dist/types/MessageStripDesign.d.ts +11 -1
  454. package/dist/types/MessageStripDesign.js +10 -0
  455. package/dist/types/MessageStripDesign.js.map +1 -1
  456. package/dist/vscode.html-custom-data.json +55 -31
  457. package/dist/web-types.json +119 -60
  458. package/package.json +9 -9
  459. package/src/ComboBox.hbs +1 -1
  460. package/src/Icon.hbs +0 -2
  461. package/src/Link.hbs +1 -1
  462. package/src/MultiComboBox.hbs +1 -1
  463. package/src/Popup.hbs +3 -3
  464. package/src/PopupBlockLayer.hbs +0 -1
  465. package/src/ResponsivePopover.hbs +2 -1
  466. package/src/SplitButton.hbs +17 -17
  467. package/src/Tree.hbs +8 -0
  468. package/src/i18n/messagebundle.properties +3 -0
  469. package/src/themes/AvatarGroup.css +18 -3
  470. package/src/themes/Button.css +24 -12
  471. package/src/themes/DayPicker.css +3 -6
  472. package/src/themes/Dialog.css +8 -0
  473. package/src/themes/DropIndicator.css +16 -0
  474. package/src/themes/Icon.css +2 -1
  475. package/src/themes/MenuListItem.css +5 -0
  476. package/src/themes/MessageStrip.css +153 -0
  477. package/src/themes/Popover.css +8 -0
  478. package/src/themes/PopupBlockLayer.css +3 -12
  479. package/src/themes/PopupsCommon.css +5 -2
  480. package/src/themes/ProgressIndicator.css +6 -0
  481. package/src/themes/SplitButton.css +11 -6
  482. package/src/themes/StepInput.css +1 -0
  483. package/src/themes/Text.css +20 -0
  484. package/src/themes/TextArea.css +9 -9
  485. package/src/themes/ToggleButton.css +7 -7
  486. package/src/themes/base/Avatar-parameters.css +2 -0
  487. package/src/themes/base/DayPicker-parameters.css +3 -3
  488. package/src/themes/base/MessageStrip-parameters.css +25 -0
  489. package/src/themes/base/ProgressIndicator-parameters.css +3 -1
  490. package/src/themes/base/Text-parameters.css +3 -0
  491. package/src/themes/sap_belize/parameters-bundle.css +1 -0
  492. package/src/themes/sap_belize_hcb/MessageStrip-parameters.css +22 -0
  493. package/src/themes/sap_belize_hcb/parameters-bundle.css +1 -0
  494. package/src/themes/sap_belize_hcw/MessageStrip-parameters.css +22 -0
  495. package/src/themes/sap_belize_hcw/parameters-bundle.css +1 -0
  496. package/src/themes/sap_fiori_3/MessageStrip-parameters.css +7 -0
  497. package/src/themes/sap_fiori_3/parameters-bundle.css +2 -1
  498. package/src/themes/sap_fiori_3_dark/MessageStrip-parameters.css +9 -0
  499. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +2 -1
  500. package/src/themes/sap_fiori_3_hcb/MessageStrip-parameters.css +22 -0
  501. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
  502. package/src/themes/sap_fiori_3_hcw/MessageStrip-parameters.css +22 -0
  503. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
  504. package/src/themes/sap_horizon/DayPicker-parameters.css +0 -1
  505. package/src/themes/sap_horizon/ProgressIndicatorLayout-parameters.css +3 -2
  506. package/src/themes/sap_horizon/parameters-bundle.css +1 -0
  507. package/src/themes/sap_horizon_dark/DayPicker-parameters.css +0 -1
  508. package/src/themes/sap_horizon_dark/MessageStrip-parameters.css +5 -0
  509. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -0
  510. package/src/themes/sap_horizon_dark_exp/DayPicker-parameters.css +0 -1
  511. package/src/themes/sap_horizon_exp/DayPicker-parameters.css +0 -1
  512. package/src/themes/sap_horizon_exp/ProgressIndicatorLayout-parameters.css +3 -2
  513. package/src/themes/sap_horizon_hcb/DayPicker-parameters.css +0 -1
  514. package/src/themes/sap_horizon_hcb/MessageStrip-parameters.css +22 -0
  515. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -0
  516. package/src/themes/sap_horizon_hcb_exp/DayPicker-parameters.css +0 -1
  517. package/src/themes/sap_horizon_hcw/DayPicker-parameters.css +0 -1
  518. package/src/themes/sap_horizon_hcw/MessageStrip-parameters.css +22 -0
  519. package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -0
  520. package/src/themes/sap_horizon_hcw_exp/DayPicker-parameters.css +0 -1
@@ -93,12 +93,6 @@ declare class SplitButton extends UI5Element {
93
93
  * @public
94
94
  */
95
95
  accessibleName?: string;
96
- /**
97
- * Indicates if the elements is on focus
98
- * @default false
99
- * @private
100
- */
101
- focused: boolean;
102
96
  /**
103
97
  * Accessibility-related properties for inner elements of the Split Button
104
98
  * @private
@@ -148,7 +142,7 @@ declare class SplitButton extends UI5Element {
148
142
  */
149
143
  text: Array<Node>;
150
144
  _textButtonPress: {
151
- handleEvent: () => void;
145
+ handleEvent: (e: MouseEvent) => void;
152
146
  passive: boolean;
153
147
  };
154
148
  _isDefaultActionPressed: boolean;
@@ -156,16 +150,11 @@ declare class SplitButton extends UI5Element {
156
150
  static i18nBundle: I18nBundle;
157
151
  static onDefine(): Promise<void>;
158
152
  constructor();
159
- /**
160
- * Function that makes sure the focus is properly managed.
161
- * @private
162
- */
163
- _manageFocus(button?: Button | SplitButton): void;
164
153
  onBeforeRendering(): void;
165
154
  _handleMouseClick(e: MouseEvent): void;
166
155
  _onFocusOut(e: FocusEvent): void;
167
156
  _onFocusIn(e: FocusEvent): void;
168
- _textButtonFocusIn(e?: FocusEvent): void;
157
+ _onInnerButtonFocusIn(e: FocusEvent): void;
169
158
  _onKeyDown(e: KeyboardEvent): void;
170
159
  _onKeyUp(e: KeyboardEvent): void;
171
160
  _fireClick(e?: Event): void;
@@ -173,7 +162,7 @@ declare class SplitButton extends UI5Element {
173
162
  _textButtonRelease(): void;
174
163
  _arrowButtonPress(e: MouseEvent): void;
175
164
  _arrowButtonRelease(e: MouseEvent): void;
176
- _setTabIndexValue(): void;
165
+ _setTabIndexValue(innerButtonPressed?: boolean): void;
177
166
  _onArrowButtonActiveStateChange(e: CustomEvent): void;
178
167
  /**
179
168
  * Checks if the pressed key is an arrow key.
@@ -75,9 +75,9 @@ let SplitButton = SplitButton_1 = class SplitButton extends UI5Element {
75
75
  super();
76
76
  this._isDefaultActionPressed = false;
77
77
  this._isKeyDownOperation = false;
78
- const handleTouchStartEvent = () => {
78
+ const handleTouchStartEvent = (e) => {
79
+ e.stopPropagation();
79
80
  this._textButtonActive = true;
80
- this.focused = false;
81
81
  this._tabIndex = "-1";
82
82
  };
83
83
  this._textButtonPress = {
@@ -85,16 +85,6 @@ let SplitButton = SplitButton_1 = class SplitButton extends UI5Element {
85
85
  passive: true,
86
86
  };
87
87
  }
88
- /**
89
- * Function that makes sure the focus is properly managed.
90
- * @private
91
- */
92
- _manageFocus(button) {
93
- const buttons = [this.textButton, this.arrowButton, this];
94
- buttons.forEach(btn => {
95
- btn.focused = btn === button;
96
- });
97
- }
98
88
  onBeforeRendering() {
99
89
  this._textButtonIcon = this.textButton && this.activeIcon !== "" && (this._textButtonActive) && !this._shiftOrEscapePressed ? this.activeIcon : this.icon;
100
90
  if (this.disabled) {
@@ -102,8 +92,6 @@ let SplitButton = SplitButton_1 = class SplitButton extends UI5Element {
102
92
  }
103
93
  }
104
94
  _handleMouseClick(e) {
105
- const target = e.target;
106
- this._manageFocus(target);
107
95
  this._fireClick(e);
108
96
  }
109
97
  _onFocusOut(e) {
@@ -112,19 +100,18 @@ let SplitButton = SplitButton_1 = class SplitButton extends UI5Element {
112
100
  }
113
101
  this._shiftOrEscapePressed = false;
114
102
  this._setTabIndexValue();
115
- this._manageFocus();
116
103
  }
117
104
  _onFocusIn(e) {
118
105
  if (this.disabled || getEventMark(e)) {
119
106
  return;
120
107
  }
121
108
  this._shiftOrEscapePressed = false;
122
- this._manageFocus(this);
123
109
  }
124
- _textButtonFocusIn(e) {
125
- e?.stopPropagation();
126
- this._manageFocus(this.textButton);
127
- this._setTabIndexValue();
110
+ _onInnerButtonFocusIn(e) {
111
+ e.stopPropagation();
112
+ this._setTabIndexValue(true);
113
+ const target = e.target;
114
+ target.focus();
128
115
  }
129
116
  _onKeyDown(e) {
130
117
  this._isKeyDownOperation = true;
@@ -186,17 +173,16 @@ let SplitButton = SplitButton_1 = class SplitButton extends UI5Element {
186
173
  this._tabIndex = "-1";
187
174
  }
188
175
  _arrowButtonPress(e) {
189
- e.preventDefault();
190
- this.arrowButton.focus();
176
+ e.stopPropagation();
191
177
  this._tabIndex = "-1";
192
178
  }
193
179
  _arrowButtonRelease(e) {
194
180
  e.preventDefault();
195
181
  this._tabIndex = "-1";
196
182
  }
197
- _setTabIndexValue() {
183
+ _setTabIndexValue(innerButtonPressed) {
198
184
  this._tabIndex = this.disabled ? "-1" : "0";
199
- if (this._tabIndex === "-1" && (this.textButton?.focused || this.arrowButton?.focused)) {
185
+ if (this._tabIndex === "-1" && innerButtonPressed) {
200
186
  this._tabIndex = "0";
201
187
  }
202
188
  }
@@ -249,19 +235,20 @@ let SplitButton = SplitButton_1 = class SplitButton extends UI5Element {
249
235
  _handleDefaultAction(e) {
250
236
  e.preventDefault();
251
237
  const wasSpacePressed = isSpace(e);
252
- if (this.focused || this.textButton?.focused) {
253
- this._textButtonActive = true;
254
- this._fireClick();
238
+ const target = e.target;
239
+ if (this.arrowButton && target === this.arrowButton) {
240
+ this._activeArrowButton = true;
241
+ this._fireArrowClick();
255
242
  if (wasSpacePressed) {
256
243
  this._spacePressed = true;
244
+ this._textButtonActive = false;
257
245
  }
258
246
  }
259
- else if (this.arrowButton && this.arrowButton.focused) {
260
- this._activeArrowButton = true;
261
- this._fireArrowClick();
247
+ else {
248
+ this._textButtonActive = true;
249
+ this._fireClick();
262
250
  if (wasSpacePressed) {
263
251
  this._spacePressed = true;
264
- this._textButtonActive = false;
265
252
  }
266
253
  }
267
254
  }
@@ -317,9 +304,6 @@ __decorate([
317
304
  __decorate([
318
305
  property({ defaultValue: undefined })
319
306
  ], SplitButton.prototype, "accessibleName", void 0);
320
- __decorate([
321
- property({ type: Boolean })
322
- ], SplitButton.prototype, "focused", void 0);
323
307
  __decorate([
324
308
  property({ type: Object })
325
309
  ], SplitButton.prototype, "_splitButtonAccInfo", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"SplitButton.js","sourceRoot":"","sources":["../src/SplitButton.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport {\n\tisEscape,\n\tisSpace,\n\tisEnter,\n\tisDown,\n\tisUp,\n\tisDownAlt,\n\tisUpAlt,\n\tisF4,\n\tisShift,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getEventMark } from \"@ui5/webcomponents-base/dist/MarkedEvents.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport ButtonDesign from \"./types/ButtonDesign.js\";\nimport Button from \"./Button.js\";\n\nimport {\n\tSPLIT_BUTTON_DESCRIPTION,\n\tSPLIT_BUTTON_KEYBOARD_HINT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport SplitButtonTemplate from \"./generated/templates/SplitButtonTemplate.lit.js\";\n\n// Styles\nimport SplitButtonCss from \"./generated/themes/SplitButton.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-split-button` enables users to trigger actions. It is constructed of two separate actions -\n * default action and arrow action that can be activated by clicking or tapping, or by\n * pressing certain keyboard keys - `Space` or `Enter` for default action,\n * and `Arrow Down` or `Arrow Up` for arrow action.\n *\n * ### Usage\n *\n * `ui5-split-button` consists two separate buttons:\n *\n * - for the first one (default action) you can define some `text` or an `icon`, or both.\n * Also, it is possible to define different icon for active state of this button - `activeIcon`.\n * - the second one (arrow action) contains only `slim-arrow-down` icon.\n *\n * You can choose a `design` from a set of predefined types (the same as for ui5-button) that offer\n * different styling to correspond to the triggered action. Both text and arrow actions have the same design.\n *\n * You can set the `ui5-split-button` as enabled or disabled. Both parts of an enabled\n * `ui5-split-button` can be pressed by clicking or tapping it, or by certain keys, which changes\n * the style to provide visual feedback to the user that it is pressed or hovered over with\n * the mouse cursor. A disabled `ui5-split-button` appears inactive and any of the two buttons\n * cannot be pressed.\n *\n * ### Keyboard Handling\n *\n * - `Space` or `Enter` - triggers the default action\n * - `Shift` or `Escape` - if `Space` is pressed, releases the default action button without triggering the click event.\n * - `Arrow Down`, `Arrow Up`, `Alt`+`Arrow Down`, `Alt`+`Arrow Up`, or `F4` - triggers the arrow action\n * There are separate events that are fired on activating of `ui5-split-button` parts:\n *\n * - `click` for the first button (default action)\n * - `arrow-click` for the second button (arrow action)\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/SplitButton.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.1.0\n */\n@customElement({\n\ttag: \"ui5-split-button\",\n\trenderer: litRender,\n\tstyles: SplitButtonCss,\n\ttemplate: SplitButtonTemplate,\n\tdependencies: [Button],\n})\n/**\n * Fired when the user clicks on the default action.\n * @public\n */\n@event(\"click\")\n\n/**\n * Fired when the user clicks on the arrow action.\n * @public\n */\n@event(\"arrow-click\")\nclass SplitButton extends UI5Element {\n\t/**\n\t * Defines the icon to be displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t *\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines the icon to be displayed in active state as graphical element within the component.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tactiveIcon!: string;\n\n\t/**\n\t * Defines whether the arrow button should have the active state styles or not.\n\t * @default false\n\t * @public\n\t * @since 1.21.0\n\t */\n\t@property({ type: Boolean })\n\tactiveArrowButton!: boolean;\n\n\t/**\n\t * Defines the component design.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property({ type: ButtonDesign, defaultValue: ButtonDesign.Default })\n\tdesign!: `${ButtonDesign}`;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ defaultValue: undefined })\n\taccessibleName?: string;\n\n\t/**\n\t * Indicates if the elements is on focus\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * Accessibility-related properties for inner elements of the Split Button\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_splitButtonAccInfo!: Record<string, boolean>;\n\n\t/**\n\t * Defines the tabIndex of the component.\n\t * @default \"0\"\n\t * @private\n\t */\n\t@property({ defaultValue: \"0\", noAttribute: true })\n\t_tabIndex!: string;\n\n\t/**\n\t * Indicates if there is Space key pressed\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_spacePressed!: boolean;\n\n\t/**\n\t * Indicates if there is SHIFT or ESCAPE key pressed\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_shiftOrEscapePressed!: boolean;\n\n\t/**\n\t * Defines the active state of the text button\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_textButtonActive!: boolean;\n\n\t/**\n\t * Defines the icon of the text button\n\t * @default \"\"\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_textButtonIcon!: string;\n\n\t/**\n\t * Defines the state of the internal Button used for the Arrow button of the SplitButton.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_activeArrowButton!: boolean;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\t_textButtonPress: { handleEvent: () => void, passive: boolean };\n\t_isDefaultActionPressed = false;\n\t_isKeyDownOperation = false;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\tSplitButton.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tconst handleTouchStartEvent = () => {\n\t\t\tthis._textButtonActive = true;\n\t\t\tthis.focused = false;\n\t\t\tthis._tabIndex = \"-1\";\n\t\t};\n\n\t\tthis._textButtonPress = {\n\t\t\thandleEvent: handleTouchStartEvent,\n\t\t\tpassive: true,\n\t\t};\n\t}\n\n\t/**\n\t * Function that makes sure the focus is properly managed.\n\t * @private\n\t */\n\t_manageFocus(button?: Button | SplitButton) {\n\t\tconst buttons: Array<Button | SplitButton> = [this.textButton!, this.arrowButton!, this];\n\n\t\tbuttons.forEach(btn => {\n\t\t\tbtn.focused = btn === button;\n\t\t});\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._textButtonIcon = this.textButton && this.activeIcon !== \"\" && (this._textButtonActive) && !this._shiftOrEscapePressed ? this.activeIcon : this.icon;\n\t\tif (this.disabled) {\n\t\t\tthis._tabIndex = \"-1\";\n\t\t}\n\t}\n\n\t_handleMouseClick(e: MouseEvent) {\n\t\tconst target = e.target as Button;\n\n\t\tthis._manageFocus(target);\n\t\tthis._fireClick(e);\n\t}\n\n\t_onFocusOut(e: FocusEvent) {\n\t\tif (this.disabled || getEventMark(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._shiftOrEscapePressed = false;\n\t\tthis._setTabIndexValue();\n\t\tthis._manageFocus();\n\t}\n\n\t_onFocusIn(e: FocusEvent) {\n\t\tif (this.disabled || getEventMark(e)) {\n\t\t\treturn;\n\t\t}\n\t\tthis._shiftOrEscapePressed = false;\n\t\tthis._manageFocus(this);\n\t}\n\n\t_textButtonFocusIn(e?: FocusEvent) {\n\t\te?.stopPropagation();\n\t\tthis._manageFocus(this.textButton!);\n\n\t\tthis._setTabIndexValue();\n\t}\n\n\t_onKeyDown(e: KeyboardEvent) {\n\t\tthis._isKeyDownOperation = true;\n\t\tif (this._isArrowKeyAction(e)) {\n\t\t\tthis._handleArrowButtonAction(e);\n\t\t\tthis._activeArrowButton = true;\n\t\t} else if (this._isDefaultAction(e)) {\n\t\t\tthis._handleDefaultAction(e);\n\t\t\tthis._isDefaultActionPressed = true;\n\t\t}\n\n\t\tif (this._spacePressed && this._isShiftOrEscape(e)) {\n\t\t\tthis._handleShiftOrEscapePressed();\n\t\t}\n\n\t\t// Handles button freeze issue when pressing Enter/Space and navigating with Tab/Shift+Tab simultaneously.\n\t\tif (this._isDefaultActionPressed && (isTabNext(e) || isTabPrevious(e))) {\n\t\t\tthis._activeArrowButton = false;\n\t\t\tthis._textButtonActive = false;\n\t\t}\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_onKeyUp(e: KeyboardEvent) {\n\t\tthis._isKeyDownOperation = false;\n\t\tif (this._isArrowKeyAction(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._activeArrowButton = false;\n\t\t\tthis._textButtonActive = false;\n\t\t} else if (this._isDefaultAction(e)) {\n\t\t\tthis._isDefaultActionPressed = false;\n\t\t\tthis._textButtonActive = false;\n\t\t\tif (isSpace(e)) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\tthis._fireClick();\n\t\t\t\tthis._spacePressed = false;\n\t\t\t\tthis._textButtonActive = false;\n\t\t\t}\n\t\t}\n\n\t\tif (this._isShiftOrEscape(e)) {\n\t\t\tthis._handleShiftOrEscapePressed();\n\t\t}\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_fireClick(e?: Event) {\n\t\te?.stopPropagation();\n\t\tif (!this._shiftOrEscapePressed) {\n\t\t\tthis.fireEvent(\"click\");\n\t\t}\n\t\tthis._shiftOrEscapePressed = false;\n\t}\n\n\t_fireArrowClick(e?: Event) {\n\t\te?.stopPropagation();\n\n\t\tthis.fireEvent(\"arrow-click\");\n\t}\n\n\t_textButtonRelease() {\n\t\tthis._textButtonActive = false;\n\t\tthis._textButtonIcon = this.textButton && this.activeIcon !== \"\" && (this._textButtonActive) && !this._shiftOrEscapePressed ? this.activeIcon : this.icon;\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_arrowButtonPress(e: MouseEvent) {\n\t\te.preventDefault();\n\t\tthis.arrowButton!.focus();\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_arrowButtonRelease(e: MouseEvent) {\n\t\te.preventDefault();\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_setTabIndexValue() {\n\t\tthis._tabIndex = this.disabled ? \"-1\" : \"0\";\n\n\t\tif (this._tabIndex === \"-1\" && (this.textButton?.focused || this.arrowButton?.focused)) {\n\t\t\tthis._tabIndex = \"0\";\n\t\t}\n\t}\n\n\t_onArrowButtonActiveStateChange(e: CustomEvent) {\n\t\tif (this.activeArrowButton) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the pressed key is an arrow key.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isArrowKeyAction(e: KeyboardEvent): boolean {\n\t\treturn isDown(e) || isUp(e) || isDownAlt(e) || isUpAlt(e) || isF4(e);\n\t}\n\n\t/**\n\t * Checks if the pressed key is a default action key (Space or Enter).\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isDefaultAction(e: KeyboardEvent): boolean {\n\t\treturn isSpace(e) || isEnter(e);\n\t}\n\n\t/**\n\t * Checks if the pressed key is an escape key or shift key.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isShiftOrEscape(e: KeyboardEvent): boolean {\n\t\treturn isEscape(e) || isShift(e);\n\t}\n\n\t/**\n\t * Handles the click event and the focus on the arrow button.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_handleArrowButtonAction(e: KeyboardEvent | MouseEvent) {\n\t\te.preventDefault();\n\n\t\tthis._fireArrowClick(e);\n\n\t\tif (isSpace((e as KeyboardEvent))) {\n\t\t\tthis._spacePressed = true;\n\t\t}\n\t}\n\n\t/**\n\t * Handles the default action and the active state of the respective button.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_handleDefaultAction(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tconst wasSpacePressed = isSpace(e);\n\n\t\tif (this.focused || this.textButton?.focused) {\n\t\t\tthis._textButtonActive = true;\n\t\t\tthis._fireClick();\n\t\t\tif (wasSpacePressed) {\n\t\t\t\tthis._spacePressed = true;\n\t\t\t}\n\t\t} else if (this.arrowButton && this.arrowButton.focused) {\n\t\t\tthis._activeArrowButton = true;\n\t\t\tthis._fireArrowClick();\n\t\t\tif (wasSpacePressed) {\n\t\t\t\tthis._spacePressed = true;\n\t\t\t\tthis._textButtonActive = false;\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleShiftOrEscapePressed() {\n\t\tthis._shiftOrEscapePressed = true;\n\t\tthis._textButtonActive = false;\n\t\tthis._isKeyDownOperation = false;\n\t}\n\n\tget effectiveActiveArrowButton() {\n\t\treturn this.activeArrowButton || this._activeArrowButton;\n\t}\n\n\tget textButtonAccText() {\n\t\treturn this.textContent;\n\t}\n\n\tget isTextButton() {\n\t\treturn !!this.textContent;\n\t}\n\n\tget textButton() {\n\t\treturn this.getDomRef()?.querySelector<Button>(\".ui5-split-text-button\");\n\t}\n\n\tget arrowButton() {\n\t\treturn this.getDomRef()?.querySelector<Button>(\".ui5-split-arrow-button\");\n\t}\n\n\tget accessibilityInfo() {\n\t\treturn {\n\t\t\t// affects arrow button\n\t\t\tariaExpanded: this._splitButtonAccInfo && this._splitButtonAccInfo.ariaExpanded,\n\t\t\tariaHaspopup: this._splitButtonAccInfo && this._splitButtonAccInfo.ariaHaspopup,\n\t\t\t// affects root element\n\t\t\tdescription: SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION),\n\t\t\tkeyboardHint: SplitButton.i18nBundle.getText(SPLIT_BUTTON_KEYBOARD_HINT),\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn [SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION), SplitButton.i18nBundle.getText(SPLIT_BUTTON_KEYBOARD_HINT)].join(\" \");\n\t}\n}\n\nSplitButton.define();\n\nexport default SplitButton;\n"]}
1
+ {"version":3,"file":"SplitButton.js","sourceRoot":"","sources":["../src/SplitButton.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport {\n\tisEscape,\n\tisSpace,\n\tisEnter,\n\tisDown,\n\tisUp,\n\tisDownAlt,\n\tisUpAlt,\n\tisF4,\n\tisShift,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getEventMark } from \"@ui5/webcomponents-base/dist/MarkedEvents.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport ButtonDesign from \"./types/ButtonDesign.js\";\nimport Button from \"./Button.js\";\n\nimport {\n\tSPLIT_BUTTON_DESCRIPTION,\n\tSPLIT_BUTTON_KEYBOARD_HINT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport SplitButtonTemplate from \"./generated/templates/SplitButtonTemplate.lit.js\";\n\n// Styles\nimport SplitButtonCss from \"./generated/themes/SplitButton.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-split-button` enables users to trigger actions. It is constructed of two separate actions -\n * default action and arrow action that can be activated by clicking or tapping, or by\n * pressing certain keyboard keys - `Space` or `Enter` for default action,\n * and `Arrow Down` or `Arrow Up` for arrow action.\n *\n * ### Usage\n *\n * `ui5-split-button` consists two separate buttons:\n *\n * - for the first one (default action) you can define some `text` or an `icon`, or both.\n * Also, it is possible to define different icon for active state of this button - `activeIcon`.\n * - the second one (arrow action) contains only `slim-arrow-down` icon.\n *\n * You can choose a `design` from a set of predefined types (the same as for ui5-button) that offer\n * different styling to correspond to the triggered action. Both text and arrow actions have the same design.\n *\n * You can set the `ui5-split-button` as enabled or disabled. Both parts of an enabled\n * `ui5-split-button` can be pressed by clicking or tapping it, or by certain keys, which changes\n * the style to provide visual feedback to the user that it is pressed or hovered over with\n * the mouse cursor. A disabled `ui5-split-button` appears inactive and any of the two buttons\n * cannot be pressed.\n *\n * ### Keyboard Handling\n *\n * - `Space` or `Enter` - triggers the default action\n * - `Shift` or `Escape` - if `Space` is pressed, releases the default action button without triggering the click event.\n * - `Arrow Down`, `Arrow Up`, `Alt`+`Arrow Down`, `Alt`+`Arrow Up`, or `F4` - triggers the arrow action\n * There are separate events that are fired on activating of `ui5-split-button` parts:\n *\n * - `click` for the first button (default action)\n * - `arrow-click` for the second button (arrow action)\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/SplitButton.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.1.0\n */\n@customElement({\n\ttag: \"ui5-split-button\",\n\trenderer: litRender,\n\tstyles: SplitButtonCss,\n\ttemplate: SplitButtonTemplate,\n\tdependencies: [Button],\n})\n/**\n * Fired when the user clicks on the default action.\n * @public\n */\n@event(\"click\")\n\n/**\n * Fired when the user clicks on the arrow action.\n * @public\n */\n@event(\"arrow-click\")\nclass SplitButton extends UI5Element {\n\t/**\n\t * Defines the icon to be displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t *\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines the icon to be displayed in active state as graphical element within the component.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tactiveIcon!: string;\n\n\t/**\n\t * Defines whether the arrow button should have the active state styles or not.\n\t * @default false\n\t * @public\n\t * @since 1.21.0\n\t */\n\t@property({ type: Boolean })\n\tactiveArrowButton!: boolean;\n\n\t/**\n\t * Defines the component design.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property({ type: ButtonDesign, defaultValue: ButtonDesign.Default })\n\tdesign!: `${ButtonDesign}`;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ defaultValue: undefined })\n\taccessibleName?: string;\n\n\t/**\n\t * Accessibility-related properties for inner elements of the Split Button\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_splitButtonAccInfo!: Record<string, boolean>;\n\n\t/**\n\t * Defines the tabIndex of the component.\n\t * @default \"0\"\n\t * @private\n\t */\n\t@property({ defaultValue: \"0\", noAttribute: true })\n\t_tabIndex!: string;\n\n\t/**\n\t * Indicates if there is Space key pressed\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_spacePressed!: boolean;\n\n\t/**\n\t * Indicates if there is SHIFT or ESCAPE key pressed\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_shiftOrEscapePressed!: boolean;\n\n\t/**\n\t * Defines the active state of the text button\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_textButtonActive!: boolean;\n\n\t/**\n\t * Defines the icon of the text button\n\t * @default \"\"\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_textButtonIcon!: string;\n\n\t/**\n\t * Defines the state of the internal Button used for the Arrow button of the SplitButton.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_activeArrowButton!: boolean;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\t_textButtonPress: { handleEvent: (e: MouseEvent) => void, passive: boolean };\n\t_isDefaultActionPressed = false;\n\t_isKeyDownOperation = false;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\tSplitButton.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tconst handleTouchStartEvent = (e: MouseEvent) => {\n\t\t\te.stopPropagation();\n\t\t\tthis._textButtonActive = true;\n\t\t\tthis._tabIndex = \"-1\";\n\t\t};\n\n\t\tthis._textButtonPress = {\n\t\t\thandleEvent: handleTouchStartEvent,\n\t\t\tpassive: true,\n\t\t};\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._textButtonIcon = this.textButton && this.activeIcon !== \"\" && (this._textButtonActive) && !this._shiftOrEscapePressed ? this.activeIcon : this.icon;\n\t\tif (this.disabled) {\n\t\t\tthis._tabIndex = \"-1\";\n\t\t}\n\t}\n\n\t_handleMouseClick(e: MouseEvent) {\n\t\tthis._fireClick(e);\n\t}\n\n\t_onFocusOut(e: FocusEvent) {\n\t\tif (this.disabled || getEventMark(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._shiftOrEscapePressed = false;\n\t\tthis._setTabIndexValue();\n\t}\n\n\t_onFocusIn(e: FocusEvent) {\n\t\tif (this.disabled || getEventMark(e)) {\n\t\t\treturn;\n\t\t}\n\t\tthis._shiftOrEscapePressed = false;\n\t}\n\n\t_onInnerButtonFocusIn(e: FocusEvent) {\n\t\te.stopPropagation();\n\t\tthis._setTabIndexValue(true);\n\t\tconst target = e.target as Button;\n\t\ttarget.focus();\n\t}\n\n\t_onKeyDown(e: KeyboardEvent) {\n\t\tthis._isKeyDownOperation = true;\n\t\tif (this._isArrowKeyAction(e)) {\n\t\t\tthis._handleArrowButtonAction(e);\n\t\t\tthis._activeArrowButton = true;\n\t\t} else if (this._isDefaultAction(e)) {\n\t\t\tthis._handleDefaultAction(e);\n\t\t\tthis._isDefaultActionPressed = true;\n\t\t}\n\n\t\tif (this._spacePressed && this._isShiftOrEscape(e)) {\n\t\t\tthis._handleShiftOrEscapePressed();\n\t\t}\n\n\t\t// Handles button freeze issue when pressing Enter/Space and navigating with Tab/Shift+Tab simultaneously.\n\t\tif (this._isDefaultActionPressed && (isTabNext(e) || isTabPrevious(e))) {\n\t\t\tthis._activeArrowButton = false;\n\t\t\tthis._textButtonActive = false;\n\t\t}\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_onKeyUp(e: KeyboardEvent) {\n\t\tthis._isKeyDownOperation = false;\n\t\tif (this._isArrowKeyAction(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._activeArrowButton = false;\n\t\t\tthis._textButtonActive = false;\n\t\t} else if (this._isDefaultAction(e)) {\n\t\t\tthis._isDefaultActionPressed = false;\n\t\t\tthis._textButtonActive = false;\n\t\t\tif (isSpace(e)) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\tthis._fireClick();\n\t\t\t\tthis._spacePressed = false;\n\t\t\t\tthis._textButtonActive = false;\n\t\t\t}\n\t\t}\n\n\t\tif (this._isShiftOrEscape(e)) {\n\t\t\tthis._handleShiftOrEscapePressed();\n\t\t}\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_fireClick(e?: Event) {\n\t\te?.stopPropagation();\n\t\tif (!this._shiftOrEscapePressed) {\n\t\t\tthis.fireEvent(\"click\");\n\t\t}\n\t\tthis._shiftOrEscapePressed = false;\n\t}\n\n\t_fireArrowClick(e?: Event) {\n\t\te?.stopPropagation();\n\n\t\tthis.fireEvent(\"arrow-click\");\n\t}\n\n\t_textButtonRelease() {\n\t\tthis._textButtonActive = false;\n\t\tthis._textButtonIcon = this.textButton && this.activeIcon !== \"\" && (this._textButtonActive) && !this._shiftOrEscapePressed ? this.activeIcon : this.icon;\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_arrowButtonPress(e: MouseEvent) {\n\t\te.stopPropagation();\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_arrowButtonRelease(e: MouseEvent) {\n\t\te.preventDefault();\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_setTabIndexValue(innerButtonPressed?: boolean) {\n\t\tthis._tabIndex = this.disabled ? \"-1\" : \"0\";\n\n\t\tif (this._tabIndex === \"-1\" && innerButtonPressed) {\n\t\t\tthis._tabIndex = \"0\";\n\t\t}\n\t}\n\n\t_onArrowButtonActiveStateChange(e: CustomEvent) {\n\t\tif (this.activeArrowButton) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the pressed key is an arrow key.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isArrowKeyAction(e: KeyboardEvent): boolean {\n\t\treturn isDown(e) || isUp(e) || isDownAlt(e) || isUpAlt(e) || isF4(e);\n\t}\n\n\t/**\n\t * Checks if the pressed key is a default action key (Space or Enter).\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isDefaultAction(e: KeyboardEvent): boolean {\n\t\treturn isSpace(e) || isEnter(e);\n\t}\n\n\t/**\n\t * Checks if the pressed key is an escape key or shift key.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isShiftOrEscape(e: KeyboardEvent): boolean {\n\t\treturn isEscape(e) || isShift(e);\n\t}\n\n\t/**\n\t * Handles the click event and the focus on the arrow button.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_handleArrowButtonAction(e: KeyboardEvent | MouseEvent) {\n\t\te.preventDefault();\n\n\t\tthis._fireArrowClick(e);\n\n\t\tif (isSpace((e as KeyboardEvent))) {\n\t\t\tthis._spacePressed = true;\n\t\t}\n\t}\n\n\t/**\n\t * Handles the default action and the active state of the respective button.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_handleDefaultAction(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tconst wasSpacePressed = isSpace(e);\n\t\tconst target = e.target as Button;\n\n\t\tif (this.arrowButton && target === this.arrowButton) {\n\t\t\tthis._activeArrowButton = true;\n\t\t\tthis._fireArrowClick();\n\t\t\tif (wasSpacePressed) {\n\t\t\t\tthis._spacePressed = true;\n\t\t\t\tthis._textButtonActive = false;\n\t\t\t}\n\t\t} else {\n\t\t\tthis._textButtonActive = true;\n\t\t\tthis._fireClick();\n\t\t\tif (wasSpacePressed) {\n\t\t\t\tthis._spacePressed = true;\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleShiftOrEscapePressed() {\n\t\tthis._shiftOrEscapePressed = true;\n\t\tthis._textButtonActive = false;\n\t\tthis._isKeyDownOperation = false;\n\t}\n\n\tget effectiveActiveArrowButton() {\n\t\treturn this.activeArrowButton || this._activeArrowButton;\n\t}\n\n\tget textButtonAccText() {\n\t\treturn this.textContent;\n\t}\n\n\tget isTextButton() {\n\t\treturn !!this.textContent;\n\t}\n\n\tget textButton() {\n\t\treturn this.getDomRef()?.querySelector<Button>(\".ui5-split-text-button\");\n\t}\n\n\tget arrowButton() {\n\t\treturn this.getDomRef()?.querySelector<Button>(\".ui5-split-arrow-button\");\n\t}\n\n\tget accessibilityInfo() {\n\t\treturn {\n\t\t\t// affects arrow button\n\t\t\tariaExpanded: this._splitButtonAccInfo && this._splitButtonAccInfo.ariaExpanded,\n\t\t\tariaHaspopup: this._splitButtonAccInfo && this._splitButtonAccInfo.ariaHaspopup,\n\t\t\t// affects root element\n\t\t\tdescription: SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION),\n\t\t\tkeyboardHint: SplitButton.i18nBundle.getText(SPLIT_BUTTON_KEYBOARD_HINT),\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn [SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION), SplitButton.i18nBundle.getText(SPLIT_BUTTON_KEYBOARD_HINT)].join(\" \");\n\t}\n}\n\nSplitButton.define();\n\nexport default SplitButton;\n"]}
package/dist/Tab.d.ts CHANGED
@@ -6,8 +6,7 @@ import "@ui5/webcomponents-icons/dist/alert.js";
6
6
  import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
7
7
  import SemanticColor from "./types/SemanticColor.js";
8
8
  import ListItemType from "./types/ListItemType.js";
9
- import type TabSeparator from "./TabSeparator.js";
10
- import type { TabContainerStripInfo, TabContainerOverflowInfo } from "./TabContainer.js";
9
+ import type { TabContainerStripInfo, TabContainerOverflowInfo, ITab } from "./TabContainer.js";
11
10
  import CustomListItem from "./CustomListItem.js";
12
11
  import TabInStripTemplate from "./generated/templates/TabInStripTemplate.lit.js";
13
12
  import TabInOverflowTemplate from "./generated/templates/TabInOverflowTemplate.lit.js";
@@ -25,9 +24,10 @@ interface TabInOverflow extends CustomListItem {
25
24
  * @abstract
26
25
  * @constructor
27
26
  * @extends UI5Element
27
+ * @implements {ITab}
28
28
  * @public
29
29
  */
30
- declare class Tab extends UI5Element implements ITabbable {
30
+ declare class Tab extends UI5Element implements ITabbable, ITab {
31
31
  /**
32
32
  * The text to be displayed for the item.
33
33
  * @default ""
@@ -97,7 +97,7 @@ declare class Tab extends UI5Element implements ITabbable {
97
97
  * **Note:** Use `ui5-tab` and `ui5-tab-separator` for the intended design.
98
98
  * @public
99
99
  */
100
- items: Array<Tab | TabSeparator>;
100
+ items: Array<ITab>;
101
101
  _isInline?: boolean;
102
102
  _forcedMixedMode?: boolean;
103
103
  _getElementInStrip?: () => HTMLElement | undefined;
package/dist/Tab.js CHANGED
@@ -47,6 +47,7 @@ const DESIGN_DESCRIPTIONS = {
47
47
  * @abstract
48
48
  * @constructor
49
49
  * @extends UI5Element
50
+ * @implements {ITab}
50
51
  * @public
51
52
  */
52
53
  let Tab = Tab_1 = class Tab extends UI5Element {
package/dist/Tab.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../src/Tab.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tTAB_ARIA_DESIGN_POSITIVE,\n\tTAB_ARIA_DESIGN_NEGATIVE,\n\tTAB_ARIA_DESIGN_CRITICAL,\n\tTAB_ARIA_DESIGN_NEUTRAL,\n\tTABCONTAINER_END_OVERFLOW,\n\tTAB_SPLIT_ROLE_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport SemanticColor from \"./types/SemanticColor.js\";\nimport ListItemType from \"./types/ListItemType.js\";\nimport TabContainer from \"./TabContainer.js\";\nimport type TabSeparator from \"./TabSeparator.js\";\nimport type { TabContainerStripInfo, TabContainerOverflowInfo } from \"./TabContainer.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport CustomListItem from \"./CustomListItem.js\";\n\n// Templates\nimport TabTemplate from \"./generated/templates/TabTemplate.lit.js\";\nimport TabInStripTemplate from \"./generated/templates/TabInStripTemplate.lit.js\";\nimport TabInOverflowTemplate from \"./generated/templates/TabInOverflowTemplate.lit.js\";\n\n// Styles\nimport css from \"./generated/themes/Tab.css.js\";\nimport stripCss from \"./generated/themes/TabInStrip.css.js\";\nimport draggableElementStyles from \"./generated/themes/DraggableElement.css.js\";\nimport overflowCss from \"./generated/themes/TabInOverflow.css.js\";\n\nconst DESIGN_DESCRIPTIONS = {\n\t[SemanticColor.Positive]: TAB_ARIA_DESIGN_POSITIVE,\n\t[SemanticColor.Negative]: TAB_ARIA_DESIGN_NEGATIVE,\n\t[SemanticColor.Neutral]: TAB_ARIA_DESIGN_NEUTRAL,\n\t[SemanticColor.Critical]: TAB_ARIA_DESIGN_CRITICAL,\n};\n\ninterface TabInStrip extends HTMLElement {\n\trealTabReference: Tab;\n}\n\ninterface TabInOverflow extends CustomListItem {\n\trealTabReference: Tab;\n}\n\n/**\n * @class\n * The `ui5-tab` represents a selectable item inside a `ui5-tabcontainer`.\n * It defines both the item in the tab strip (top part of the `ui5-tabcontainer`) and the\n * content that is presented to the user once the tab is selected.\n * @abstract\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\ttag: \"ui5-tab\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: TabTemplate,\n\tstyles: css,\n\tdependencies: [\n\t\tIcon,\n\t\tButton,\n\t\tCustomListItem,\n\t],\n})\nclass Tab extends UI5Element implements ITabbable {\n\t/**\n\t * The text to be displayed for the item.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ttext!: string;\n\n\t/**\n\t * Disabled tabs can't be selected.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Represents the \"additionalText\" text, which is displayed in the tab. In the cases when in the same time there are tabs with icons and tabs without icons, if a tab has no icon the \"additionalText\" is displayed larger.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tadditionalText!: string;\n\n\t/**\n\t * Defines the icon source URI to be displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous built-in icons.\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines the component's design color.\n\t *\n\t * The design is applied to:\n\t *\n\t * - the component icon\n\t * - the `text` when the component overflows\n\t * - the tab selection line\n\t *\n\t * Available designs are: `\"Default\"`, `\"Neutral\"`, `\"Positive\"`, `\"Critical\"` and `\"Negative\"`.\n\t *\n\t * **Note:** The design depends on the current theme.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property({ type: SemanticColor, defaultValue: SemanticColor.Default })\n\tdesign!: `${SemanticColor}`;\n\n\t/**\n\t * Specifies if the component is selected.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean;\n\n\t/**\n\t * Defines if the tab is movable.\n\t *\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tmovable!: boolean;\n\n\t@property({ type: Boolean })\n\tforcedSelected!: boolean;\n\n\t@property({ type: Boolean })\n\t_isTopLevelTab!: boolean;\n\n\t@property({ type: Object, defaultValue: null })\n\t_selectedTabReference!: Tab;\n\n\t/**\n\t * Holds the content associated with this tab.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: Node,\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\tcontent!: Array<Node>;\n\n\t/**\n\t * Defines hierarchies with nested sub tabs.\n\t *\n\t * **Note:** Use `ui5-tab` and `ui5-tab-separator` for the intended design.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\titems!: Array<Tab | TabSeparator>\n\n\t_isInline?: boolean;\n\t_forcedMixedMode?: boolean;\n\t_getElementInStrip?: () => HTMLElement | undefined;\n\t_individualSlot!: string;\n\t_forcedPosinset?: number;\n\t_forcedSetsize?: number;\n\t_forcedStyleInOverflow?: Record<string, any>;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tset forcedTabIndex(val: string) {\n\t\tthis.getDomRefInStrip()!.setAttribute(\"tabindex\", val);\n\t}\n\n\tget forcedTabIndex() {\n\t\treturn this.getDomRefInStrip()!.getAttribute(\"tabindex\")!;\n\t}\n\n\tget displayText() {\n\t\tlet text = this.text;\n\n\t\tif (this._isInline && this.additionalText) {\n\t\t\ttext += ` (${this.additionalText})`;\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tget isSeparator() {\n\t\treturn false;\n\t}\n\n\tget stripPresentation() {\n\t\treturn executeTemplate(Tab.stripTemplate, this);\n\t}\n\n\tget overflowPresentation() {\n\t\treturn executeTemplate(Tab.overflowTemplate, this);\n\t}\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n\n\tget requiresExpandButton() {\n\t\treturn this.items.length > 0 && this._isTopLevelTab && this.hasOwnContent;\n\t}\n\n\tget isSingleClickArea() {\n\t\treturn this.items.length > 0 && this._isTopLevelTab && !this.hasOwnContent;\n\t}\n\n\tget isTwoClickArea() {\n\t\treturn this.items.length > 0 && this._isTopLevelTab && this.hasOwnContent;\n\t}\n\n\tget isOnSelectedTabPath(): boolean {\n\t\treturn this._selectedTabReference === this || this.tabs.some(subTab => subTab.isOnSelectedTabPath);\n\t}\n\n\tget _effectiveSlotName() {\n\t\treturn this.isOnSelectedTabPath ? this._individualSlot : `disabled-${this._individualSlot}`;\n\t}\n\n\tget _defaultSlotName() {\n\t\treturn this._selectedTabReference === this ? \"\" : \"disabled-slot\";\n\t}\n\n\tget hasOwnContent() {\n\t\treturn willShowContent(this.content);\n\t}\n\n\treceiveStripInfo({\n\t\tgetElementInStrip, posinset, setsize, isInline, isTopLevelTab, mixedMode,\n\t}: TabContainerStripInfo) {\n\t\tthis._getElementInStrip = getElementInStrip;\n\t\tthis._forcedPosinset = posinset;\n\t\tthis._forcedSetsize = setsize;\n\t\tthis._forcedMixedMode = mixedMode;\n\t\tthis._isInline = isInline;\n\t\tthis._isTopLevelTab = !!isTopLevelTab;\n\t}\n\n\treceiveOverflowInfo({ style }: TabContainerOverflowInfo) {\n\t\tthis._forcedStyleInOverflow = style;\n\t}\n\n\t/**\n\t * Returns the DOM reference of the tab that is placed in the header.\n\t *\n\t * **Note:** Tabs, placed in the `items` slot of other tabs are not shown in the header. Calling this method on such tabs will return `undefined`.\n\t *\n\t * **Note:** If you need a DOM ref to the tab content please use the `getDomRef` method.\n\t * @public\n\t * @since 1.0.0-rc.16\n\t */\n\tgetDomRefInStrip(): HTMLElement | undefined {\n\t\treturn this._getElementInStrip?.();\n\t}\n\n\tgetFocusDomRef() {\n\t\tlet focusedDomRef = super.getFocusDomRef();\n\n\t\tif (this._getElementInStrip && this._getElementInStrip()) {\n\t\t\tfocusedDomRef = this._getElementInStrip()!;\n\t\t}\n\n\t\treturn focusedDomRef;\n\t}\n\n\tasync focus(focusOptions?: FocusOptions): Promise<void> {\n\t\tawait renderFinished();\n\t\treturn super.focus(focusOptions);\n\t}\n\n\tget isMixedModeTab() {\n\t\treturn !this.icon && this._forcedMixedMode;\n\t}\n\n\tget isTextOnlyTab() {\n\t\treturn !this.icon && !this._forcedMixedMode;\n\t}\n\n\tget isIconTab() {\n\t\treturn !!this.icon;\n\t}\n\n\tget effectiveDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget effectiveSelected() {\n\t\tconst subItemSelected = this.tabs.some(elem => elem.effectiveSelected);\n\t\treturn this.selected || this.forcedSelected || subItemSelected;\n\t}\n\n\tget effectiveHidden() {\n\t\treturn !this.effectiveSelected;\n\t}\n\n\tget tabs(): Array<Tab> {\n\t\treturn this.items.filter((tab): tab is Tab => !tab.isSeparator);\n\t}\n\n\tget ariaLabelledBy() {\n\t\tconst labels = [];\n\n\t\tif (this.text) {\n\t\t\tlabels.push(`${this._id}-text`);\n\t\t}\n\n\t\tif (this.additionalText) {\n\t\t\tlabels.push(`${this._id}-additionalText`);\n\t\t}\n\n\t\tif (this.icon) {\n\t\t\tlabels.push(`${this._id}-icon`);\n\t\t}\n\n\t\tif (this._designDescription) {\n\t\t\tlabels.push(`${this._id}-designDescription`);\n\t\t}\n\n\t\treturn labels.join(\" \");\n\t}\n\n\tget stripClasses() {\n\t\tconst classes = [\"ui5-tab-strip-item\"];\n\n\t\tif (this.effectiveSelected) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--selected\");\n\t\t}\n\n\t\tif (this.disabled) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--disabled\");\n\t\t}\n\n\t\tif (this._isInline) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--inline\");\n\t\t}\n\n\t\tif (this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--withAdditionalText\");\n\t\t}\n\n\t\tif (!this.icon && !this._forcedMixedMode) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--textOnly\");\n\t\t}\n\n\t\tif (this.icon) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--withIcon\");\n\t\t}\n\n\t\tif (!this.icon && this._forcedMixedMode) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--mixedMode\");\n\t\t}\n\n\t\tif (this.design !== SemanticColor.Default) {\n\t\t\tclasses.push(`ui5-tab-strip-item--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\tif (this.isSingleClickArea) {\n\t\t\tclasses.push(`ui5-tab-strip-item--singleClickArea`);\n\t\t}\n\n\t\tif (this.isTwoClickArea) {\n\t\t\tclasses.push(`ui5-tab-strip-item--twoClickArea`);\n\t\t}\n\n\t\treturn {\n\t\t\titemClasses: classes.join(\" \"),\n\t\t\tadditionalTextClasses: this.additionalTextClasses,\n\t\t};\n\t}\n\n\tget additionalTextClasses() {\n\t\tconst classes = [];\n\t\tif (this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-itemAdditionalText\");\n\t\t}\n\n\t\tif (this.icon && !this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-itemAdditionalText-hidden\");\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget expandButtonTitle() {\n\t\treturn Tab.i18nBundle.getText(TABCONTAINER_END_OVERFLOW);\n\t}\n\n\tget _roleDescription() {\n\t\treturn this.items.length > 0 ? Tab.i18nBundle.getText(TAB_SPLIT_ROLE_DESCRIPTION) : undefined;\n\t}\n\n\tget _ariaHasPopup() {\n\t\treturn this.isSingleClickArea ? \"menu\" : undefined;\n\t}\n\n\tget semanticIconName() {\n\t\tswitch (this.design) {\n\t\tcase SemanticColor.Positive:\n\t\t\treturn \"sys-enter-2\";\n\t\tcase SemanticColor.Negative:\n\t\t\treturn \"error\";\n\t\tcase SemanticColor.Critical:\n\t\t\treturn \"alert\";\n\t\tdefault:\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tget _designDescription() {\n\t\tif (this.design === SemanticColor.Default) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn Tab.i18nBundle.getText(DESIGN_DESCRIPTIONS[this.design]);\n\t}\n\n\tget semanticIconClasses() {\n\t\tconst classes = [\"ui5-tab-semantic-icon\"];\n\n\t\tif (this.design !== SemanticColor.Default && this.design !== SemanticColor.Neutral) {\n\t\t\tclasses.push(`ui5-tab-semantic-icon--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget overflowClasses() {\n\t\tconst classes = [\"ui5-tab-overflow-item\"];\n\n\t\tif (this.design !== SemanticColor.Default && this.design !== SemanticColor.Neutral) {\n\t\t\tclasses.push(`ui5-tab-overflow-item--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\tif (this.effectiveDisabled) {\n\t\t\tclasses.push(\"ui5-tab-overflow-item--disabled\");\n\t\t}\n\n\t\tif (this.selected) {\n\t\t\tclasses.push(\"ui5-tab-overflow-item--selectedSubTab\");\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget overflowState() {\n\t\treturn (this.disabled || this.isSingleClickArea) ? ListItemType.Inactive : ListItemType.Active;\n\t}\n\n\tstatic get stripTemplate() {\n\t\treturn TabInStripTemplate;\n\t}\n\n\tstatic get overflowTemplate() {\n\t\treturn TabInOverflowTemplate;\n\t}\n\n\tstatic async onDefine() {\n\t\tTab.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\t_ondragstart(e: DragEvent) {\n\t\tif (e.target instanceof HTMLElement) {\n\t\t\te.target.setAttribute(\"data-moving\", \"\");\n\t\t}\n\t}\n\n\t_ondragend(e: DragEvent) {\n\t\tif (e.target instanceof HTMLElement) {\n\t\t\te.target.removeAttribute(\"data-moving\");\n\t\t}\n\t}\n}\n\nTab.define();\n\nTabContainer.registerTabStyles(stripCss);\nTabContainer.registerTabStyles(draggableElementStyles);\nTabContainer.registerTabStyles(overflowCss);\n\nexport default Tab;\nexport type {\n\tTabInStrip,\n\tTabInOverflow,\n};\n"]}
1
+ {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../src/Tab.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tTAB_ARIA_DESIGN_POSITIVE,\n\tTAB_ARIA_DESIGN_NEGATIVE,\n\tTAB_ARIA_DESIGN_CRITICAL,\n\tTAB_ARIA_DESIGN_NEUTRAL,\n\tTABCONTAINER_END_OVERFLOW,\n\tTAB_SPLIT_ROLE_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport SemanticColor from \"./types/SemanticColor.js\";\nimport ListItemType from \"./types/ListItemType.js\";\nimport TabContainer from \"./TabContainer.js\";\nimport type { TabContainerStripInfo, TabContainerOverflowInfo, ITab } from \"./TabContainer.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport CustomListItem from \"./CustomListItem.js\";\n\n// Templates\nimport TabTemplate from \"./generated/templates/TabTemplate.lit.js\";\nimport TabInStripTemplate from \"./generated/templates/TabInStripTemplate.lit.js\";\nimport TabInOverflowTemplate from \"./generated/templates/TabInOverflowTemplate.lit.js\";\n\n// Styles\nimport css from \"./generated/themes/Tab.css.js\";\nimport stripCss from \"./generated/themes/TabInStrip.css.js\";\nimport draggableElementStyles from \"./generated/themes/DraggableElement.css.js\";\nimport overflowCss from \"./generated/themes/TabInOverflow.css.js\";\n\nconst DESIGN_DESCRIPTIONS = {\n\t[SemanticColor.Positive]: TAB_ARIA_DESIGN_POSITIVE,\n\t[SemanticColor.Negative]: TAB_ARIA_DESIGN_NEGATIVE,\n\t[SemanticColor.Neutral]: TAB_ARIA_DESIGN_NEUTRAL,\n\t[SemanticColor.Critical]: TAB_ARIA_DESIGN_CRITICAL,\n};\n\ninterface TabInStrip extends HTMLElement {\n\trealTabReference: Tab;\n}\n\ninterface TabInOverflow extends CustomListItem {\n\trealTabReference: Tab;\n}\n\n/**\n * @class\n * The `ui5-tab` represents a selectable item inside a `ui5-tabcontainer`.\n * It defines both the item in the tab strip (top part of the `ui5-tabcontainer`) and the\n * content that is presented to the user once the tab is selected.\n * @abstract\n * @constructor\n * @extends UI5Element\n * @implements {ITab}\n * @public\n */\n@customElement({\n\ttag: \"ui5-tab\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: TabTemplate,\n\tstyles: css,\n\tdependencies: [\n\t\tIcon,\n\t\tButton,\n\t\tCustomListItem,\n\t],\n})\nclass Tab extends UI5Element implements ITabbable, ITab {\n\t/**\n\t * The text to be displayed for the item.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ttext!: string;\n\n\t/**\n\t * Disabled tabs can't be selected.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Represents the \"additionalText\" text, which is displayed in the tab. In the cases when in the same time there are tabs with icons and tabs without icons, if a tab has no icon the \"additionalText\" is displayed larger.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tadditionalText!: string;\n\n\t/**\n\t * Defines the icon source URI to be displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous built-in icons.\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines the component's design color.\n\t *\n\t * The design is applied to:\n\t *\n\t * - the component icon\n\t * - the `text` when the component overflows\n\t * - the tab selection line\n\t *\n\t * Available designs are: `\"Default\"`, `\"Neutral\"`, `\"Positive\"`, `\"Critical\"` and `\"Negative\"`.\n\t *\n\t * **Note:** The design depends on the current theme.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property({ type: SemanticColor, defaultValue: SemanticColor.Default })\n\tdesign!: `${SemanticColor}`;\n\n\t/**\n\t * Specifies if the component is selected.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean;\n\n\t/**\n\t * Defines if the tab is movable.\n\t *\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tmovable!: boolean;\n\n\t@property({ type: Boolean })\n\tforcedSelected!: boolean;\n\n\t@property({ type: Boolean })\n\t_isTopLevelTab!: boolean;\n\n\t@property({ type: Object, defaultValue: null })\n\t_selectedTabReference!: Tab;\n\n\t/**\n\t * Holds the content associated with this tab.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: Node,\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\tcontent!: Array<Node>;\n\n\t/**\n\t * Defines hierarchies with nested sub tabs.\n\t *\n\t * **Note:** Use `ui5-tab` and `ui5-tab-separator` for the intended design.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\titems!: Array<ITab>\n\n\t_isInline?: boolean;\n\t_forcedMixedMode?: boolean;\n\t_getElementInStrip?: () => HTMLElement | undefined;\n\t_individualSlot!: string;\n\t_forcedPosinset?: number;\n\t_forcedSetsize?: number;\n\t_forcedStyleInOverflow?: Record<string, any>;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tset forcedTabIndex(val: string) {\n\t\tthis.getDomRefInStrip()!.setAttribute(\"tabindex\", val);\n\t}\n\n\tget forcedTabIndex() {\n\t\treturn this.getDomRefInStrip()!.getAttribute(\"tabindex\")!;\n\t}\n\n\tget displayText() {\n\t\tlet text = this.text;\n\n\t\tif (this._isInline && this.additionalText) {\n\t\t\ttext += ` (${this.additionalText})`;\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tget isSeparator() {\n\t\treturn false;\n\t}\n\n\tget stripPresentation() {\n\t\treturn executeTemplate(Tab.stripTemplate, this);\n\t}\n\n\tget overflowPresentation() {\n\t\treturn executeTemplate(Tab.overflowTemplate, this);\n\t}\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n\n\tget requiresExpandButton() {\n\t\treturn this.items.length > 0 && this._isTopLevelTab && this.hasOwnContent;\n\t}\n\n\tget isSingleClickArea() {\n\t\treturn this.items.length > 0 && this._isTopLevelTab && !this.hasOwnContent;\n\t}\n\n\tget isTwoClickArea() {\n\t\treturn this.items.length > 0 && this._isTopLevelTab && this.hasOwnContent;\n\t}\n\n\tget isOnSelectedTabPath(): boolean {\n\t\treturn this._selectedTabReference === this || this.tabs.some(subTab => subTab.isOnSelectedTabPath);\n\t}\n\n\tget _effectiveSlotName() {\n\t\treturn this.isOnSelectedTabPath ? this._individualSlot : `disabled-${this._individualSlot}`;\n\t}\n\n\tget _defaultSlotName() {\n\t\treturn this._selectedTabReference === this ? \"\" : \"disabled-slot\";\n\t}\n\n\tget hasOwnContent() {\n\t\treturn willShowContent(this.content);\n\t}\n\n\treceiveStripInfo({\n\t\tgetElementInStrip, posinset, setsize, isInline, isTopLevelTab, mixedMode,\n\t}: TabContainerStripInfo) {\n\t\tthis._getElementInStrip = getElementInStrip;\n\t\tthis._forcedPosinset = posinset;\n\t\tthis._forcedSetsize = setsize;\n\t\tthis._forcedMixedMode = mixedMode;\n\t\tthis._isInline = isInline;\n\t\tthis._isTopLevelTab = !!isTopLevelTab;\n\t}\n\n\treceiveOverflowInfo({ style }: TabContainerOverflowInfo) {\n\t\tthis._forcedStyleInOverflow = style;\n\t}\n\n\t/**\n\t * Returns the DOM reference of the tab that is placed in the header.\n\t *\n\t * **Note:** Tabs, placed in the `items` slot of other tabs are not shown in the header. Calling this method on such tabs will return `undefined`.\n\t *\n\t * **Note:** If you need a DOM ref to the tab content please use the `getDomRef` method.\n\t * @public\n\t * @since 1.0.0-rc.16\n\t */\n\tgetDomRefInStrip(): HTMLElement | undefined {\n\t\treturn this._getElementInStrip?.();\n\t}\n\n\tgetFocusDomRef() {\n\t\tlet focusedDomRef = super.getFocusDomRef();\n\n\t\tif (this._getElementInStrip && this._getElementInStrip()) {\n\t\t\tfocusedDomRef = this._getElementInStrip()!;\n\t\t}\n\n\t\treturn focusedDomRef;\n\t}\n\n\tasync focus(focusOptions?: FocusOptions): Promise<void> {\n\t\tawait renderFinished();\n\t\treturn super.focus(focusOptions);\n\t}\n\n\tget isMixedModeTab() {\n\t\treturn !this.icon && this._forcedMixedMode;\n\t}\n\n\tget isTextOnlyTab() {\n\t\treturn !this.icon && !this._forcedMixedMode;\n\t}\n\n\tget isIconTab() {\n\t\treturn !!this.icon;\n\t}\n\n\tget effectiveDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget effectiveSelected() {\n\t\tconst subItemSelected = this.tabs.some(elem => elem.effectiveSelected);\n\t\treturn this.selected || this.forcedSelected || subItemSelected;\n\t}\n\n\tget effectiveHidden() {\n\t\treturn !this.effectiveSelected;\n\t}\n\n\tget tabs(): Array<Tab> {\n\t\treturn this.items.filter((tab): tab is Tab => !tab.isSeparator);\n\t}\n\n\tget ariaLabelledBy() {\n\t\tconst labels = [];\n\n\t\tif (this.text) {\n\t\t\tlabels.push(`${this._id}-text`);\n\t\t}\n\n\t\tif (this.additionalText) {\n\t\t\tlabels.push(`${this._id}-additionalText`);\n\t\t}\n\n\t\tif (this.icon) {\n\t\t\tlabels.push(`${this._id}-icon`);\n\t\t}\n\n\t\tif (this._designDescription) {\n\t\t\tlabels.push(`${this._id}-designDescription`);\n\t\t}\n\n\t\treturn labels.join(\" \");\n\t}\n\n\tget stripClasses() {\n\t\tconst classes = [\"ui5-tab-strip-item\"];\n\n\t\tif (this.effectiveSelected) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--selected\");\n\t\t}\n\n\t\tif (this.disabled) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--disabled\");\n\t\t}\n\n\t\tif (this._isInline) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--inline\");\n\t\t}\n\n\t\tif (this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--withAdditionalText\");\n\t\t}\n\n\t\tif (!this.icon && !this._forcedMixedMode) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--textOnly\");\n\t\t}\n\n\t\tif (this.icon) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--withIcon\");\n\t\t}\n\n\t\tif (!this.icon && this._forcedMixedMode) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--mixedMode\");\n\t\t}\n\n\t\tif (this.design !== SemanticColor.Default) {\n\t\t\tclasses.push(`ui5-tab-strip-item--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\tif (this.isSingleClickArea) {\n\t\t\tclasses.push(`ui5-tab-strip-item--singleClickArea`);\n\t\t}\n\n\t\tif (this.isTwoClickArea) {\n\t\t\tclasses.push(`ui5-tab-strip-item--twoClickArea`);\n\t\t}\n\n\t\treturn {\n\t\t\titemClasses: classes.join(\" \"),\n\t\t\tadditionalTextClasses: this.additionalTextClasses,\n\t\t};\n\t}\n\n\tget additionalTextClasses() {\n\t\tconst classes = [];\n\t\tif (this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-itemAdditionalText\");\n\t\t}\n\n\t\tif (this.icon && !this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-itemAdditionalText-hidden\");\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget expandButtonTitle() {\n\t\treturn Tab.i18nBundle.getText(TABCONTAINER_END_OVERFLOW);\n\t}\n\n\tget _roleDescription() {\n\t\treturn this.items.length > 0 ? Tab.i18nBundle.getText(TAB_SPLIT_ROLE_DESCRIPTION) : undefined;\n\t}\n\n\tget _ariaHasPopup() {\n\t\treturn this.isSingleClickArea ? \"menu\" : undefined;\n\t}\n\n\tget semanticIconName() {\n\t\tswitch (this.design) {\n\t\tcase SemanticColor.Positive:\n\t\t\treturn \"sys-enter-2\";\n\t\tcase SemanticColor.Negative:\n\t\t\treturn \"error\";\n\t\tcase SemanticColor.Critical:\n\t\t\treturn \"alert\";\n\t\tdefault:\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tget _designDescription() {\n\t\tif (this.design === SemanticColor.Default) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn Tab.i18nBundle.getText(DESIGN_DESCRIPTIONS[this.design]);\n\t}\n\n\tget semanticIconClasses() {\n\t\tconst classes = [\"ui5-tab-semantic-icon\"];\n\n\t\tif (this.design !== SemanticColor.Default && this.design !== SemanticColor.Neutral) {\n\t\t\tclasses.push(`ui5-tab-semantic-icon--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget overflowClasses() {\n\t\tconst classes = [\"ui5-tab-overflow-item\"];\n\n\t\tif (this.design !== SemanticColor.Default && this.design !== SemanticColor.Neutral) {\n\t\t\tclasses.push(`ui5-tab-overflow-item--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\tif (this.effectiveDisabled) {\n\t\t\tclasses.push(\"ui5-tab-overflow-item--disabled\");\n\t\t}\n\n\t\tif (this.selected) {\n\t\t\tclasses.push(\"ui5-tab-overflow-item--selectedSubTab\");\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget overflowState() {\n\t\treturn (this.disabled || this.isSingleClickArea) ? ListItemType.Inactive : ListItemType.Active;\n\t}\n\n\tstatic get stripTemplate() {\n\t\treturn TabInStripTemplate;\n\t}\n\n\tstatic get overflowTemplate() {\n\t\treturn TabInOverflowTemplate;\n\t}\n\n\tstatic async onDefine() {\n\t\tTab.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\t_ondragstart(e: DragEvent) {\n\t\tif (e.target instanceof HTMLElement) {\n\t\t\te.target.setAttribute(\"data-moving\", \"\");\n\t\t}\n\t}\n\n\t_ondragend(e: DragEvent) {\n\t\tif (e.target instanceof HTMLElement) {\n\t\t\te.target.removeAttribute(\"data-moving\");\n\t\t}\n\t}\n}\n\nTab.define();\n\nTabContainer.registerTabStyles(stripCss);\nTabContainer.registerTabStyles(draggableElementStyles);\nTabContainer.registerTabStyles(overflowCss);\n\nexport default Tab;\nexport type {\n\tTabInStrip,\n\tTabInOverflow,\n};\n"]}
@@ -10,7 +10,6 @@ import Button from "./Button.js";
10
10
  import DropIndicator from "./DropIndicator.js";
11
11
  import type Tab from "./Tab.js";
12
12
  import type { TabInStrip, TabInOverflow } from "./Tab.js";
13
- import type TabSeparator from "./TabSeparator.js";
14
13
  import type { TabSeparatorInStrip } from "./TabSeparator.js";
15
14
  import type { ListItemClickEventDetail, ListMoveEventDetail } from "./List.js";
16
15
  import ResponsivePopover from "./ResponsivePopover.js";
@@ -44,6 +43,19 @@ type TabContainerMoveEventDetail = {
44
43
  placement: `${MovePlacement}`;
45
44
  };
46
45
  };
46
+ /**
47
+ * Interface for components that may be slotted inside `ui5-tabcontainer` as items
48
+ *
49
+ * **Note:** Use directly `ui5-tab` or `ui5-tab-seprator`. Implementing the interface does not guarantee that the class can work as a tab.
50
+ * @public
51
+ */
52
+ interface ITab extends UI5Element {
53
+ isSeparator: boolean;
54
+ receiveStripInfo: (arg0: TabContainerStripInfo) => void;
55
+ receiveOverflowInfo: (arg0: TabContainerOverflowInfo) => void;
56
+ getDomRefInStrip: () => HTMLElement | undefined;
57
+ items?: Array<ITab>;
58
+ }
47
59
  /**
48
60
  * @class
49
61
  *
@@ -149,7 +161,7 @@ declare class TabContainer extends UI5Element {
149
161
  _contentCollapsed: boolean;
150
162
  _startOverflowText: string;
151
163
  _endOverflowText: string;
152
- _popoverItemsFlat: Array<Tab | TabSeparator>;
164
+ _popoverItemsFlat: Array<ITab>;
153
165
  _width?: number;
154
166
  /**
155
167
  * Defines the tabs.
@@ -157,7 +169,7 @@ declare class TabContainer extends UI5Element {
157
169
  * **Note:** Use `ui5-tab` and `ui5-tab-separator` for the intended design.
158
170
  * @public
159
171
  */
160
- items: Array<Tab | TabSeparator>;
172
+ items: Array<ITab>;
161
173
  /**
162
174
  * Defines the button which will open the overflow menu. If nothing is provided to this slot,
163
175
  * the default button will be used.
@@ -173,7 +185,7 @@ declare class TabContainer extends UI5Element {
173
185
  */
174
186
  startOverflowButton: Array<IButton>;
175
187
  _itemNavigation: ItemNavigation;
176
- _itemsFlat?: Array<Tab | TabSeparator>;
188
+ _itemsFlat?: Array<ITab>;
177
189
  responsivePopover?: ResponsivePopover;
178
190
  _hasScheduledPopoverOpen: boolean;
179
191
  _handleResizeBound: () => void;
@@ -187,7 +199,7 @@ declare class TabContainer extends UI5Element {
187
199
  onExitDOM(): void;
188
200
  _handleResize(): void;
189
201
  _updateMediaRange(width: number): void;
190
- _sendStripPresentationInfos(items: Array<Tab | TabSeparator>): void;
202
+ _sendStripPresentationInfos(items: Array<ITab>): void;
191
203
  _onHeaderFocusin(e: FocusEvent): void;
192
204
  _onDragStart(e: DragEvent): void;
193
205
  _onHeaderDragEnter(e: DragEvent): void;
@@ -212,8 +224,8 @@ declare class TabContainer extends UI5Element {
212
224
  * @public
213
225
  * @default []
214
226
  */
215
- get allItems(): Array<Tab | TabSeparator>;
216
- _flatten(items: Array<Tab | TabSeparator>): (TabSeparator | Tab)[];
227
+ get allItems(): Array<ITab>;
228
+ _flatten(items: Array<ITab>): ITab[];
217
229
  _onItemSelect(selectedTabId: string): void;
218
230
  /**
219
231
  * Fires the `tab-select` event and changes the internal reference for the currently selected tab.
@@ -227,8 +239,8 @@ declare class TabContainer extends UI5Element {
227
239
  slideContentDown(element: HTMLElement): Promise<void | Error>;
228
240
  slideContentUp(element: HTMLElement): Promise<void | Error>;
229
241
  _onOverflowClick(e: Event): Promise<void>;
230
- _setIndentLevels(items: Array<Tab | TabSeparator>, level: number, extraIndent: boolean): void;
231
- _sendOverflowPresentationInfos(items: Array<Tab | TabSeparator>): void;
242
+ _setIndentLevels(items: Array<ITab>, level: number, extraIndent: boolean): void;
243
+ _sendOverflowPresentationInfos(items: Array<ITab>): void;
232
244
  _onOverflowKeyDown(e: KeyboardEvent): Promise<void>;
233
245
  _setItemsForStrip(): void;
234
246
  _getRootTab(tab: Tab): Tab;
@@ -255,8 +267,8 @@ declare class TabContainer extends UI5Element {
255
267
  _getHeader(): HTMLElement;
256
268
  _getTabs(): Array<Tab>;
257
269
  _getPopoverOwner(opener: HTMLElement): TabContainerPopoverOwner;
258
- _getPopoverItemsFor(targetOwner: TabContainerPopoverOwner): (TabSeparator | Tab)[];
259
- _setPopoverItems(items: Array<Tab | TabSeparator>): void;
270
+ _getPopoverItemsFor(targetOwner: TabContainerPopoverOwner): ITab[];
271
+ _setPopoverItems(items: Array<ITab>): void;
260
272
  _togglePopover(opener: HTMLElement, setInitialFocus?: boolean): Promise<void>;
261
273
  _showPopoverAt(opener: HTMLElement, setInitialFocus?: boolean, preventInitialFocus?: boolean): Promise<void>;
262
274
  get hasItems(): boolean;
@@ -305,4 +317,4 @@ declare class TabContainer extends UI5Element {
305
317
  static onDefine(): Promise<void>;
306
318
  }
307
319
  export default TabContainer;
308
- export type { TabContainerTabSelectEventDetail, TabContainerMoveEventDetail, TabContainerStripInfo, TabContainerOverflowInfo, };
320
+ export type { TabContainerTabSelectEventDetail, TabContainerMoveEventDetail, TabContainerStripInfo, TabContainerOverflowInfo, ITab, };