@ui5/webcomponents 1.23.1 → 1.23.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 (320) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Tab.d.ts +1 -0
  4. package/dist/Tab.js +5 -2
  5. package/dist/Tab.js.map +1 -1
  6. package/dist/TabContainer.js +5 -0
  7. package/dist/TabContainer.js.map +1 -1
  8. package/dist/css/themes/Avatar.css +1 -1
  9. package/dist/css/themes/AvatarGroup.css +1 -1
  10. package/dist/css/themes/Badge.css +1 -1
  11. package/dist/css/themes/Breadcrumbs.css +1 -1
  12. package/dist/css/themes/BusyIndicator.css +1 -1
  13. package/dist/css/themes/Button.css +1 -1
  14. package/dist/css/themes/Calendar.css +1 -1
  15. package/dist/css/themes/CalendarHeader.css +1 -1
  16. package/dist/css/themes/CalendarLegend.css +1 -1
  17. package/dist/css/themes/CalendarLegendItem.css +1 -1
  18. package/dist/css/themes/Card.css +1 -1
  19. package/dist/css/themes/CardHeader.css +1 -1
  20. package/dist/css/themes/Carousel.css +1 -1
  21. package/dist/css/themes/CheckBox.css +1 -1
  22. package/dist/css/themes/ColorPalette.css +1 -1
  23. package/dist/css/themes/ColorPaletteItem.css +1 -1
  24. package/dist/css/themes/ColorPalettePopover.css +1 -1
  25. package/dist/css/themes/ColorPicker.css +1 -1
  26. package/dist/css/themes/ComboBox.css +1 -1
  27. package/dist/css/themes/CustomListItem.css +1 -1
  28. package/dist/css/themes/DatePicker.css +1 -1
  29. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  30. package/dist/css/themes/DayPicker.css +1 -1
  31. package/dist/css/themes/Dialog.css +1 -1
  32. package/dist/css/themes/FileUploader.css +1 -1
  33. package/dist/css/themes/GroupHeaderListItem.css +1 -1
  34. package/dist/css/themes/GrowingButton.css +1 -1
  35. package/dist/css/themes/Icon.css +1 -1
  36. package/dist/css/themes/Input.css +1 -1
  37. package/dist/css/themes/InputIcon.css +1 -1
  38. package/dist/css/themes/InputSharedStyles.css +1 -1
  39. package/dist/css/themes/Link.css +1 -1
  40. package/dist/css/themes/List.css +1 -1
  41. package/dist/css/themes/ListItem.css +1 -1
  42. package/dist/css/themes/ListItemBase.css +1 -1
  43. package/dist/css/themes/Menu.css +1 -1
  44. package/dist/css/themes/MenuListItem.css +1 -1
  45. package/dist/css/themes/MessageStrip.css +1 -1
  46. package/dist/css/themes/MonthPicker.css +1 -1
  47. package/dist/css/themes/MultiComboBox.css +1 -1
  48. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  49. package/dist/css/themes/MultiInput.css +1 -1
  50. package/dist/css/themes/NavigationMenu.css +1 -1
  51. package/dist/css/themes/Panel.css +1 -1
  52. package/dist/css/themes/Popover.css +1 -1
  53. package/dist/css/themes/PopupStaticAreaStyles.css +1 -1
  54. package/dist/css/themes/PopupsCommon.css +1 -1
  55. package/dist/css/themes/ProgressIndicator.css +1 -1
  56. package/dist/css/themes/RadioButton.css +1 -1
  57. package/dist/css/themes/RangeSlider.css +1 -1
  58. package/dist/css/themes/RatingIndicator.css +1 -1
  59. package/dist/css/themes/ResponsivePopover.css +1 -1
  60. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  61. package/dist/css/themes/SegmentedButton.css +1 -1
  62. package/dist/css/themes/Select.css +1 -1
  63. package/dist/css/themes/SelectMenu.css +1 -1
  64. package/dist/css/themes/SelectPopover.css +1 -1
  65. package/dist/css/themes/SliderBase.css +1 -1
  66. package/dist/css/themes/SplitButton.css +1 -1
  67. package/dist/css/themes/StepInput.css +1 -1
  68. package/dist/css/themes/Switch.css +1 -1
  69. package/dist/css/themes/TabContainer.css +1 -1
  70. package/dist/css/themes/TabInOverflow.css +1 -1
  71. package/dist/css/themes/TabInStrip.css +1 -1
  72. package/dist/css/themes/TabSemanticIcon.css +1 -1
  73. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  74. package/dist/css/themes/Table.css +1 -1
  75. package/dist/css/themes/TableCell.css +1 -1
  76. package/dist/css/themes/TableColumn.css +1 -1
  77. package/dist/css/themes/TableGroupRow.css +1 -1
  78. package/dist/css/themes/TableRow.css +1 -1
  79. package/dist/css/themes/TextArea.css +1 -1
  80. package/dist/css/themes/TimePicker.css +1 -1
  81. package/dist/css/themes/Toast.css +1 -1
  82. package/dist/css/themes/ToggleButton.css +1 -1
  83. package/dist/css/themes/Token.css +1 -1
  84. package/dist/css/themes/Tokenizer.css +1 -1
  85. package/dist/css/themes/TokenizerPopover.css +1 -1
  86. package/dist/css/themes/Toolbar.css +1 -1
  87. package/dist/css/themes/ToolbarPopover.css +1 -1
  88. package/dist/css/themes/TreeItem.css +1 -1
  89. package/dist/css/themes/ValueStateMessage.css +1 -1
  90. package/dist/css/themes/WheelSlider.css +1 -1
  91. package/dist/css/themes/YearPicker.css +1 -1
  92. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  93. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  94. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  95. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  96. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  97. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  98. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  99. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  100. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  101. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  102. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  103. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  104. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  105. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  106. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  107. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  108. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  109. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  110. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  111. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  112. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  113. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  114. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  115. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  116. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  117. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  118. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  119. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  120. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  121. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  122. package/dist/generated/themes/Avatar.css.js +1 -1
  123. package/dist/generated/themes/Avatar.css.js.map +1 -1
  124. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  125. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  126. package/dist/generated/themes/Badge.css.js +1 -1
  127. package/dist/generated/themes/Badge.css.js.map +1 -1
  128. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  129. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  130. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  131. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  132. package/dist/generated/themes/Button.css.js +1 -1
  133. package/dist/generated/themes/Button.css.js.map +1 -1
  134. package/dist/generated/themes/Calendar.css.js +1 -1
  135. package/dist/generated/themes/Calendar.css.js.map +1 -1
  136. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  137. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  138. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  139. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  140. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  141. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  142. package/dist/generated/themes/Card.css.js +1 -1
  143. package/dist/generated/themes/Card.css.js.map +1 -1
  144. package/dist/generated/themes/CardHeader.css.js +1 -1
  145. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  146. package/dist/generated/themes/Carousel.css.js +1 -1
  147. package/dist/generated/themes/Carousel.css.js.map +1 -1
  148. package/dist/generated/themes/CheckBox.css.js +1 -1
  149. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  150. package/dist/generated/themes/ColorPalette.css.js +1 -1
  151. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  152. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  153. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  154. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  155. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  156. package/dist/generated/themes/ColorPicker.css.js +1 -1
  157. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  158. package/dist/generated/themes/ComboBox.css.js +1 -1
  159. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  160. package/dist/generated/themes/CustomListItem.css.js +1 -1
  161. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  162. package/dist/generated/themes/DatePicker.css.js +1 -1
  163. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  164. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  165. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  166. package/dist/generated/themes/DayPicker.css.js +1 -1
  167. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  168. package/dist/generated/themes/Dialog.css.js +1 -1
  169. package/dist/generated/themes/Dialog.css.js.map +1 -1
  170. package/dist/generated/themes/FileUploader.css.js +1 -1
  171. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  172. package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
  173. package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -1
  174. package/dist/generated/themes/GrowingButton.css.js +1 -1
  175. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  176. package/dist/generated/themes/Icon.css.js +1 -1
  177. package/dist/generated/themes/Icon.css.js.map +1 -1
  178. package/dist/generated/themes/Input.css.js +1 -1
  179. package/dist/generated/themes/Input.css.js.map +1 -1
  180. package/dist/generated/themes/InputIcon.css.js +1 -1
  181. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  182. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  183. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  184. package/dist/generated/themes/Link.css.js +1 -1
  185. package/dist/generated/themes/Link.css.js.map +1 -1
  186. package/dist/generated/themes/List.css.js +1 -1
  187. package/dist/generated/themes/List.css.js.map +1 -1
  188. package/dist/generated/themes/ListItem.css.js +1 -1
  189. package/dist/generated/themes/ListItem.css.js.map +1 -1
  190. package/dist/generated/themes/ListItemBase.css.js +1 -1
  191. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  192. package/dist/generated/themes/Menu.css.js +1 -1
  193. package/dist/generated/themes/Menu.css.js.map +1 -1
  194. package/dist/generated/themes/MenuListItem.css.js +1 -1
  195. package/dist/generated/themes/MenuListItem.css.js.map +1 -1
  196. package/dist/generated/themes/MessageStrip.css.js +1 -1
  197. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  198. package/dist/generated/themes/MonthPicker.css.js +1 -1
  199. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  200. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  201. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  202. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  203. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  204. package/dist/generated/themes/MultiInput.css.js +1 -1
  205. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  206. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  207. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  208. package/dist/generated/themes/Panel.css.js +1 -1
  209. package/dist/generated/themes/Panel.css.js.map +1 -1
  210. package/dist/generated/themes/Popover.css.js +1 -1
  211. package/dist/generated/themes/Popover.css.js.map +1 -1
  212. package/dist/generated/themes/PopupStaticAreaStyles.css.js +1 -1
  213. package/dist/generated/themes/PopupStaticAreaStyles.css.js.map +1 -1
  214. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  215. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  216. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  217. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  218. package/dist/generated/themes/RadioButton.css.js +1 -1
  219. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  220. package/dist/generated/themes/RangeSlider.css.js +1 -1
  221. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  222. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  223. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  224. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  225. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  226. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  227. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  228. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  229. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  230. package/dist/generated/themes/Select.css.js +1 -1
  231. package/dist/generated/themes/Select.css.js.map +1 -1
  232. package/dist/generated/themes/SelectMenu.css.js +1 -1
  233. package/dist/generated/themes/SelectMenu.css.js.map +1 -1
  234. package/dist/generated/themes/SelectPopover.css.js +1 -1
  235. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  236. package/dist/generated/themes/SliderBase.css.js +1 -1
  237. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  238. package/dist/generated/themes/SplitButton.css.js +1 -1
  239. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  240. package/dist/generated/themes/StepInput.css.js +1 -1
  241. package/dist/generated/themes/StepInput.css.js.map +1 -1
  242. package/dist/generated/themes/Switch.css.js +1 -1
  243. package/dist/generated/themes/Switch.css.js.map +1 -1
  244. package/dist/generated/themes/TabContainer.css.js +1 -1
  245. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  246. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  247. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  248. package/dist/generated/themes/TabInStrip.css.js +1 -1
  249. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  250. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  251. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  252. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  253. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  254. package/dist/generated/themes/Table.css.js +1 -1
  255. package/dist/generated/themes/Table.css.js.map +1 -1
  256. package/dist/generated/themes/TableCell.css.js +1 -1
  257. package/dist/generated/themes/TableCell.css.js.map +1 -1
  258. package/dist/generated/themes/TableColumn.css.js +1 -1
  259. package/dist/generated/themes/TableColumn.css.js.map +1 -1
  260. package/dist/generated/themes/TableGroupRow.css.js +1 -1
  261. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  262. package/dist/generated/themes/TableRow.css.js +1 -1
  263. package/dist/generated/themes/TableRow.css.js.map +1 -1
  264. package/dist/generated/themes/TextArea.css.js +1 -1
  265. package/dist/generated/themes/TextArea.css.js.map +1 -1
  266. package/dist/generated/themes/TimePicker.css.js +1 -1
  267. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  268. package/dist/generated/themes/Toast.css.js +1 -1
  269. package/dist/generated/themes/Toast.css.js.map +1 -1
  270. package/dist/generated/themes/ToggleButton.css.js +1 -1
  271. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  272. package/dist/generated/themes/Token.css.js +1 -1
  273. package/dist/generated/themes/Token.css.js.map +1 -1
  274. package/dist/generated/themes/Tokenizer.css.js +1 -1
  275. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  276. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  277. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  278. package/dist/generated/themes/Toolbar.css.js +1 -1
  279. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  280. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  281. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  282. package/dist/generated/themes/TreeItem.css.js +1 -1
  283. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  284. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  285. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  286. package/dist/generated/themes/WheelSlider.css.js +1 -1
  287. package/dist/generated/themes/WheelSlider.css.js.map +1 -1
  288. package/dist/generated/themes/YearPicker.css.js +1 -1
  289. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  290. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  291. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  292. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  293. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  294. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  295. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  296. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  297. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  298. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  299. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  300. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  301. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  302. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  303. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  304. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  305. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  306. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  307. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  308. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  309. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  310. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  311. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  312. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  313. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  314. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  315. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  316. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  317. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  318. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  319. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  320. package/package.json +2 -2
package/dist/Tab.d.ts CHANGED
@@ -72,6 +72,7 @@ declare class Tab extends UI5Element implements ITab, ITabbable {
72
72
  forcedSelected: boolean;
73
73
  realTabReference: Tab;
74
74
  isTopLevelTab: boolean;
75
+ _selectedTabReference: Tab;
75
76
  /**
76
77
  * Holds the content associated with this tab.
77
78
  * @public
package/dist/Tab.js CHANGED
@@ -84,13 +84,13 @@ let Tab = Tab_1 = class Tab extends UI5Element {
84
84
  return this.subTabs.length > 0 && this.isTopLevelTab && this.hasOwnContent;
85
85
  }
86
86
  get isOnSelectedTabPath() {
87
- return this.selected || this.tabs.some(subTab => subTab.isOnSelectedTabPath);
87
+ return this._selectedTabReference === this || this.tabs.some(subTab => subTab.isOnSelectedTabPath);
88
88
  }
89
89
  get _effectiveSlotName() {
90
90
  return this.isOnSelectedTabPath ? this._individualSlot : `disabled-${this._individualSlot}`;
91
91
  }
92
92
  get _defaultSlotName() {
93
- return this.selected ? "" : "disabled-slot";
93
+ return this._selectedTabReference === this ? "" : "disabled-slot";
94
94
  }
95
95
  get hasOwnContent() {
96
96
  return willShowContent(this.content);
@@ -289,6 +289,9 @@ __decorate([
289
289
  __decorate([
290
290
  property({ type: Boolean })
291
291
  ], Tab.prototype, "isTopLevelTab", void 0);
292
+ __decorate([
293
+ property({ type: Object, defaultValue: null })
294
+ ], Tab.prototype, "_selectedTabReference", void 0);
292
295
  __decorate([
293
296
  slot({
294
297
  type: Node,
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 {\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 { 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 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\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 ITab, 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@property({ type: Boolean })\n\tforcedSelected!: boolean;\n\n\t@property({ type: Object, defaultValue: null })\n\trealTabReference!: Tab;\n\n\t@property({ type: Boolean })\n\tisTopLevelTab!: boolean;\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\tsubTabs!: Array<ITab>\n\n\tisInline?: boolean;\n\tforcedMixedMode?: boolean;\n\tgetElementInStrip?: () => ITab | null;\n\t_individualSlot!: string;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tset forcedTabIndex(val: string) {\n\t\tthis.getTabInStripDomRef()!.setAttribute(\"tabindex\", val);\n\t}\n\n\tget forcedTabIndex() {\n\t\treturn this.getTabInStripDomRef()!.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.subTabs.length > 0 && this.isTopLevelTab && this.hasOwnContent;\n\t}\n\n\tget isSingleClickArea() {\n\t\treturn this.subTabs.length > 0 && this.isTopLevelTab && !this.hasOwnContent;\n\t}\n\n\tget isTwoClickArea() {\n\t\treturn this.subTabs.length > 0 && this.isTopLevelTab && this.hasOwnContent;\n\t}\n\n\tget isOnSelectedTabPath(): boolean {\n\t\treturn this.selected || 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.selected ? \"\" : \"disabled-slot\";\n\t}\n\n\tget hasOwnContent() {\n\t\treturn willShowContent(this.content);\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 `subTabs` slot of other tabs are not shown in the header. Calling this method on such tabs will return `null`.\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\tgetTabInStripDomRef(): ITab | null {\n\t\tif (this.getElementInStrip) {\n\t\t\treturn this.getElementInStrip();\n\t\t}\n\n\t\treturn null;\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\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.subTabs.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.subTabs.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\nTab.define();\n\nTabContainer.registerTabStyles(stripCss);\nTabContainer.registerStaticAreaTabStyles(overflowCss);\n\nexport default Tab;\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 {\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 { 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 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\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 ITab, 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@property({ type: Boolean })\n\tforcedSelected!: boolean;\n\n\t@property({ type: Object, defaultValue: null })\n\trealTabReference!: Tab;\n\n\t@property({ type: Boolean })\n\tisTopLevelTab!: 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\tsubTabs!: Array<ITab>\n\n\tisInline?: boolean;\n\tforcedMixedMode?: boolean;\n\tgetElementInStrip?: () => ITab | null;\n\t_individualSlot!: string;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tset forcedTabIndex(val: string) {\n\t\tthis.getTabInStripDomRef()!.setAttribute(\"tabindex\", val);\n\t}\n\n\tget forcedTabIndex() {\n\t\treturn this.getTabInStripDomRef()!.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.subTabs.length > 0 && this.isTopLevelTab && this.hasOwnContent;\n\t}\n\n\tget isSingleClickArea() {\n\t\treturn this.subTabs.length > 0 && this.isTopLevelTab && !this.hasOwnContent;\n\t}\n\n\tget isTwoClickArea() {\n\t\treturn this.subTabs.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\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 `subTabs` slot of other tabs are not shown in the header. Calling this method on such tabs will return `null`.\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\tgetTabInStripDomRef(): ITab | null {\n\t\tif (this.getElementInStrip) {\n\t\t\treturn this.getElementInStrip();\n\t\t}\n\n\t\treturn null;\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\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.subTabs.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.subTabs.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\nTab.define();\n\nTabContainer.registerTabStyles(stripCss);\nTabContainer.registerStaticAreaTabStyles(overflowCss);\n\nexport default Tab;\n"]}
@@ -174,6 +174,11 @@ let TabContainer = TabContainer_1 = class TabContainer extends UI5Element {
174
174
  tab.forcedSetsize = arr.length;
175
175
  tab.isTopLevelTab = items.some(i => i === tab);
176
176
  });
177
+ walk(items, item => {
178
+ if (!item.isSeparator) {
179
+ item._selectedTabReference = this._selectedTab;
180
+ }
181
+ });
177
182
  this._setIndentLevels(items);
178
183
  }
179
184
  _onHeaderFocusin(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"TabContainer.js","sourceRoot":"","sources":["../src/TabContainer.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { StyleData } from \"@ui5/webcomponents-base/dist/types.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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport slideDown from \"@ui5/webcomponents-base/dist/animations/slideDown.js\";\nimport slideUp from \"@ui5/webcomponents-base/dist/animations/slideUp.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport {\n\tisSpace,\n\tisEnter,\n\tisDown,\n\tisRight,\n\tisLeft,\n\tisUp,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport MediaRange from \"@ui5/webcomponents-base/dist/MediaRange.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-up.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport arraysAreEqual from \"@ui5/webcomponents-base/dist/util/arraysAreEqual.js\";\nimport {\n\tTABCONTAINER_PREVIOUS_ICON_ACC_NAME,\n\tTABCONTAINER_NEXT_ICON_ACC_NAME,\n\tTABCONTAINER_OVERFLOW_MENU_TITLE,\n\tTABCONTAINER_END_OVERFLOW,\n\tTABCONTAINER_POPOVER_CANCEL_BUTTON,\n\tTABCONTAINER_SUBTABS_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Button from \"./Button.js\";\nimport Icon from \"./Icon.js\";\nimport List from \"./List.js\";\nimport type Tab from \"./Tab.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport type CustomListItem from \"./CustomListItem.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport TabContainerTabsPlacement from \"./types/TabContainerTabsPlacement.js\";\nimport SemanticColor from \"./types/SemanticColor.js\";\nimport TabContainerBackgroundDesign from \"./types/TabContainerBackgroundDesign.js\";\nimport TabLayout from \"./types/TabLayout.js\";\nimport TabsOverflowMode from \"./types/TabsOverflowMode.js\";\nimport type { IButton } from \"./Button.js\";\n\n// Templates\nimport TabContainerTemplate from \"./generated/templates/TabContainerTemplate.lit.js\";\nimport TabContainerPopoverTemplate from \"./generated/templates/TabContainerPopoverTemplate.lit.js\";\n\n// Styles\nimport tabContainerCss from \"./generated/themes/TabContainer.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\n\n/**\n * Interface for components that may be slotted inside `ui5-tabcontainer` as items\n * @public\n */\ninterface ITab extends UI5Element {\n\tisSeparator: boolean;\n\tgetTabInStripDomRef: () => ITab | null;\n\tadditionalText?: string;\n\tdesign?: `${SemanticColor}`;\n\tdisabled?: boolean;\n\ticon?: string;\n\tisSingleClickArea?: boolean;\n\trequiresExpandButton?: boolean;\n\tselected?: boolean;\n\tsubTabs?: Array<ITab>;\n\ttabs?: Array<ITab>\n\ttext?: string;\n\thasOwnContent?: boolean;\n\tforcedLevel?: number;\n\tforcedSelected?: boolean;\n\tgetElementInStrip?: () => ITab | null;\n\tisInline?: boolean;\n\tforcedMixedMode?: boolean;\n\tforcedPosinset?: number;\n\tforcedSetsize?: number;\n\trealTabReference?: Tab;\n\tisTopLevelTab?: boolean;\n\tforcedStyle?: Record<string, any>;\n}\n\ntype TabContainerPopoverOwner = \"start-overflow\" | \"end-overflow\" | Tab;\n\nconst tabStyles: Array<StyleData> = [];\nconst staticAreaTabStyles: Array<StyleData> = [];\nconst PAGE_UP_DOWN_SIZE = 5;\n\ntype TabContainerTabSelectEventDetail = {\n\ttab: ITab;\n\ttabIndex: number;\n}\n\ninterface TabContainerExpandButton extends Button {\n\ttab: Tab;\n}\n\ninterface TabContainerTabInOverflow extends CustomListItem {\n\trealTabReference: Tab;\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-tabcontainer` represents a collection of tabs with associated content.\n * Navigation through the tabs changes the content display of the currently active content area.\n * A tab can be labeled with text only, or icons with text.\n *\n * ### Structure\n *\n * The `ui5-tabcontainer` can hold two types of entities:\n *\n * - `ui5-tab` - contains all the information on an item (text and icon)\n * - `ui5-tab-separator` - used to separate tabs with a line\n *\n * ### Hierarchies\n * Multiple sub tabs could be placed underneath one main tab. Nesting allows deeper hierarchies with indentations\n * to indicate the level of each nested tab. When a tab has both sub tabs and own content its click area is split\n * to allow the user to display the content or alternatively to expand / collapse the list of sub tabs.\n *\n * ### Keyboard Handling\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via `F6 / Shift + F6` or ` Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up`.\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TabContainer.js\";`\n *\n * `import \"@ui5/webcomponents/dist/Tab.js\";` (for `ui5-tab`)\n *\n * `import \"@ui5/webcomponents/dist/TabSeparator.js\";` (for `ui5-tab-separator`)\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart content - Used to style the content of the component\n * @csspart tabstrip - Used to style the tabstrip of the component\n */\n@customElement({\n\ttag: \"ui5-tabcontainer\",\n\tlanguageAware: true,\n\tfastNavigation: true,\n\tstyles: [tabStyles, tabContainerCss],\n\tstaticAreaStyles: [ResponsivePopoverCommonCss, staticAreaTabStyles],\n\trenderer: litRender,\n\ttemplate: TabContainerTemplate,\n\tstaticAreaTemplate: TabContainerPopoverTemplate,\n\tdependencies: [\n\t\tButton,\n\t\tIcon,\n\t\tList,\n\t\tResponsivePopover,\n\t],\n})\n/**\n * Fired when a tab is selected.\n * @param {ITab} tab The selected `tab`.\n * @param {Integer} tabIndex The selected `tab` index in the flattened array of all tabs and their subTabs, provided by the `allItems` getter.\n * @public\n * @allowPreventDefault\n */\n@event<TabContainerTabSelectEventDetail>(\"tab-select\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttab: { type: HTMLElement },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttabIndex: { type: Number },\n\t},\n})\nclass TabContainer extends UI5Element {\n\t/**\n\t * Defines whether the tabs are in a fixed state that is not\n\t * expandable/collapsible by user interaction.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tfixed!: boolean;\n\n\t/**\n\t * Defines whether the tab content is collapsed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tcollapsed!: boolean;\n\n\t/**\n\t * Defines whether the overflow select list is displayed.\n\t *\n\t * The overflow select list represents a list, where all tabs are displayed\n\t * so that it's easier for the user to select a specific tab.\n\t * @default false\n\t * @public\n\t * @deprecated Since the introduction of TabsOverflowMode, overflows will always be visible if there is not enough space for all tabs,\n\t * all hidden tabs are moved to a select list in the respective overflows and are accessible via the `overflowButton` and / or `startOverflowButton` slots.\n\t */\n\t@property({ type: Boolean })\n\tshowOverflow!: boolean;\n\n\t/**\n\t * Defines the alignment of the content and the `additionalText` of a tab.\n\t *\n\t * **Note:**\n\t * The content and the `additionalText` would be displayed vertically by default,\n\t * but when set to `Inline`, they would be displayed horizontally.\n\t * @default \"Standard\"\n\t * @public\n\t */\n\t@property({ type: TabLayout, defaultValue: TabLayout.Standard })\n\ttabLayout!: `${TabLayout}`;\n\n\t/**\n\t * Defines the overflow mode of the header (the tab strip). If you have a large number of tabs, only the tabs that can fit on screen will be visible.\n\t * All other tabs that can 't fit on the screen are available in an overflow tab \"More\".\n\t *\n\t * **Note:**\n\t * Only one overflow at the end would be displayed by default,\n\t * but when set to `StartAndEnd`, there will be two overflows on both ends, and tab order will not change on tab selection.\n\t * @default \"End\"\n\t * @since 1.1.0\n\t * @public\n\t */\n\t@property({ type: TabsOverflowMode, defaultValue: TabsOverflowMode.End })\n\ttabsOverflowMode!: `${TabsOverflowMode}`;\n\n\t/**\n\t * Sets the background color of the Tab Container's header as `Solid`, `Transparent`, or `Translucent`.\n\t * @default \"Solid\"\n\t * @since 1.10.0\n\t * @public\n\t */\n\t@property({ type: TabContainerBackgroundDesign, defaultValue: TabContainerBackgroundDesign.Solid })\n\theaderBackgroundDesign!: `${TabContainerBackgroundDesign}`;\n\n\t/**\n\t * Sets the background color of the Tab Container's content as `Solid`, `Transparent`, or `Translucent`.\n\t * @default \"Solid\"\n\t * @since 1.10.0\n\t * @public\n\t */\n\t@property({ type: TabContainerBackgroundDesign, defaultValue: TabContainerBackgroundDesign.Solid })\n\tcontentBackgroundDesign!: `${TabContainerBackgroundDesign}`;\n\n\t/**\n\t * Defines the placement of the tab strip relative to the actual tabs' content.\n\t *\n\t * **Note:** By default the tab strip is displayed above the tabs' content area and this is the recommended\n\t * layout for most scenarios. Set to `Bottom` only when the component is at the\n\t * bottom of the page and you want the tab strip to act as a menu.\n\t * @default \"Top\"\n\t * @since 1.0.0-rc.7\n\t * @private\n\t */\n\t@property({ type: TabContainerTabsPlacement, defaultValue: TabContainerTabsPlacement.Top })\n\ttabsPlacement!: `${TabContainerTabsPlacement}`;\n\n\t/**\n\t * Defines the current media query size.\n\t * @private\n\t */\n\t@property()\n\tmediaRange!: string;\n\n\t@property({ type: Object })\n\t_selectedTab!: Tab;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_animationRunning!: boolean;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_contentCollapsed!: boolean;\n\n\t@property({ noAttribute: true, defaultValue: \"0\" })\n\t_startOverflowText!: string;\n\n\t@property({ noAttribute: true, defaultValue: \"More\" })\n\t_endOverflowText!: string;\n\n\t@property({ type: Object, multiple: true })\n\t_popoverItemsFlat!: Array<ITab>;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_width?: number;\n\n\t/**\n\t * Defines the 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\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: true,\n\t\t},\n\t})\n\titems!: Array<ITab>;\n\n\t/**\n\t * Defines the button which will open the overflow menu. If nothing is provided to this slot,\n\t * the default button will be used.\n\t * @public\n\t * @since 1.0.0-rc.9\n\t */\n\t@slot()\n\toverflowButton!: Array<IButton>;\n\n\t/**\n\t * Defines the button which will open the start overflow menu if available. If nothing is provided to this slot,\n\t * the default button will be used.\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@slot()\n\tstartOverflowButton!: Array<IButton>;\n\n\t_itemNavigation: ItemNavigation;\n\t_itemsFlat?: Array<ITab>;\n\tresponsivePopover?: ResponsivePopover;\n\t_handleResizeBound: () => void;\n\n\tstatic registerTabStyles(styles: StyleData) {\n\t\ttabStyles.push(styles);\n\t}\n\n\tstatic registerStaticAreaTabStyles(styles: StyleData) {\n\t\tstaticAreaTabStyles.push(styles);\n\t}\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._handleResizeBound = this._handleResize.bind(this);\n\n\t\t// Init ItemNavigation\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => this._getFocusableRefs(),\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE,\n\t\t});\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._itemsFlat = this._flatten(this.items);\n\t\tif (!this._itemsFlat.length) {\n\t\t\treturn;\n\t\t}\n\n\t\t// update selected tab\n\t\tconst selectedTabs = this._itemsFlat.filter(tab => tab.selected) as Array<Tab>;\n\t\tif (selectedTabs.length) {\n\t\t\tthis._selectedTab.forcedSelected = false;\n\t\t\tthis._selectedTab = selectedTabs[0];\n\t\t} else {\n\t\t\tthis._selectedTab = this._itemsFlat[0] as Tab;\n\t\t\tthis._selectedTab.forcedSelected = true;\n\t\t}\n\n\t\tthis._setItemsPrivateProperties(this.items);\n\n\t\tif (!this._animationRunning) {\n\t\t\tthis._contentCollapsed = this.collapsed;\n\t\t}\n\n\t\tif (this.showOverflow) {\n\t\t\tconsole.warn(`The \"show-overflow\" property is deprecated and will be removed in a future release.`); // eslint-disable-line\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._setItemsForStrip();\n\n\t\tif (!this.shadowRoot!.contains(document.activeElement)) {\n\t\t\tconst focusStart = this._getRootTab(this._selectedTab);\n\t\t\tthis._itemNavigation.setCurrentItem(focusStart);\n\t\t}\n\n\t\tif (this.responsivePopover?.opened) {\n\t\t\tconst popoverItems = this._getPopoverItemsFor(this._getPopoverOwner(this.responsivePopover._opener!));\n\n\t\t\tif (popoverItems.length) {\n\t\t\t\tthis._setPopoverItems(popoverItems);\n\t\t\t} else {\n\t\t\t\tthis.responsivePopover.close();\n\t\t\t}\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this._getHeader(), this._handleResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this._getHeader(), this._handleResizeBound);\n\t}\n\n\t_handleResize() {\n\t\tif (this.responsivePopover && this.responsivePopover.opened) {\n\t\t\tthis.responsivePopover.close();\n\t\t}\n\n\t\t// invalidate\n\t\tthis._width = this.offsetWidth;\n\t\tthis._updateMediaRange(this._width);\n\t}\n\n\t_updateMediaRange(width: number) {\n\t\tthis.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, width);\n\t}\n\n\t_setItemsPrivateProperties(items: Array<ITab>) {\n\t\t// set real dom ref to all items, then return only the tabs for further processing\n\t\tconst allTabs = items.filter(item => {\n\t\t\titem.getElementInStrip = () => this.getDomRef()!.querySelector(`[id=\"${item._id}\"]`);\n\t\t\treturn !item.isSeparator;\n\t\t});\n\n\t\tallTabs.forEach((tab, index, arr) => {\n\t\t\ttab.isInline = this.tabLayout === TabLayout.Inline;\n\t\t\ttab.forcedMixedMode = this.mixedMode;\n\t\t\ttab.forcedPosinset = index + 1;\n\t\t\ttab.forcedSetsize = arr.length;\n\t\t\ttab.isTopLevelTab = items.some(i => i === tab);\n\t\t});\n\n\t\tthis._setIndentLevels(items);\n\t}\n\n\t_onHeaderFocusin(e: FocusEvent) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\n\t\tif (tab) {\n\t\t\tthis._itemNavigation.setCurrentItem(tab.realTabReference);\n\t\t}\n\t}\n\n\tasync _onTabStripClick(e: Event) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\t\tif (!tab || tab.realTabReference.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\n\t\tif ((e.target as HTMLElement).hasAttribute(\"ui5-button\")) {\n\t\t\tthis._onTabExpandButtonClick(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!tab.realTabReference.hasOwnContent && tab.realTabReference.tabs.length) {\n\t\t\tawait this._togglePopover(tab);\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis._onHeaderItemSelect(tab);\n\t}\n\n\tasync _onTabExpandButtonClick(e: Event) {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\n\t\tlet tabInstance: Tab;\n\n\t\tif (isTabInStrip(e.target as HTMLElement)) {\n\t\t\ttabInstance = e.target as Tab;\n\t\t} else {\n\t\t\ttabInstance = (e.target as TabContainerExpandButton).tab;\n\t\t}\n\n\t\tlet opener = e.target as HTMLElement;\n\n\t\tif (tabInstance) {\n\t\t\ttabInstance.focus();\n\t\t}\n\n\t\tif (e.type === \"keydown\" && !(e.target as Tab).realTabReference.isSingleClickArea) {\n\t\t\topener = (e.target as Tab).querySelector<TabContainerExpandButton>(\".ui5-tab-expand-button [ui5-button]\")!;\n\t\t\ttabInstance = (e.target as Tab).realTabReference;\n\t\t}\n\n\t\t// if clicked between the expand button and the tab\n\t\tif (!tabInstance) {\n\t\t\tthis._onHeaderItemSelect(opener.parentElement as HTMLElement);\n\t\t\treturn;\n\t\t}\n\n\t\tawait this._togglePopover(opener, true);\n\t}\n\n\t_setPopoverInitialFocus() {\n\t\tconst selectedTabInOverflow = this._getSelectedTabInOverflow();\n\t\tconst tab = selectedTabInOverflow || this._getFirstFocusableItemInOverflow();\n\n\t\tthis.responsivePopover!.initialFocus = `${tab.realTabReference._id}-li`;\n\t}\n\n\t_getSelectedTabInOverflow() {\n\t\treturn <TabContainerTabInOverflow>(<List> this.responsivePopover!.content[0]).items.find(item => {\n\t\t\treturn (<TabContainerTabInOverflow>item).realTabReference && (<TabContainerTabInOverflow>item).realTabReference.selected;\n\t\t});\n\t}\n\n\t_getFirstFocusableItemInOverflow() {\n\t\treturn <TabContainerTabInOverflow>(<List> this.responsivePopover!.content[0]).items.find(item => item.classList.contains(\"ui5-tab-overflow-item\"));\n\t}\n\n\t_onTabStripKeyDown(e: KeyboardEvent) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\t\tif (!tab || tab.realTabReference.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tif (tab.realTabReference.isSingleClickArea) {\n\t\t\t\tthis._onTabStripClick(e);\n\t\t\t} else {\n\t\t\t\tthis._onHeaderItemSelect(tab);\n\t\t\t}\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault(); // prevent scrolling\n\t\t}\n\n\t\tif (isDown(e) || isUp(e)) {\n\t\t\tif (tab.realTabReference.requiresExpandButton) {\n\t\t\t\tthis._onTabExpandButtonClick(e);\n\t\t\t}\n\t\t\tif (tab.realTabReference.isSingleClickArea) {\n\t\t\t\tthis._onTabStripClick(e);\n\t\t\t}\n\t\t}\n\t}\n\n\t_onTabStripKeyUp(e: KeyboardEvent) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\t\tif (!tab || tab.realTabReference.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tif (tab.realTabReference.isSingleClickArea) {\n\t\t\t\tthis._onTabStripClick(e);\n\t\t\t} else {\n\t\t\t\tthis._onHeaderItemSelect(tab);\n\t\t\t}\n\t\t}\n\t}\n\n\t_onHeaderItemSelect(tab: HTMLElement) {\n\t\tif (!tab.hasAttribute(\"disabled\")) {\n\t\t\tthis._onItemSelect(tab.id);\n\t\t}\n\t}\n\n\tasync _onOverflowListItemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\te.preventDefault(); // cancel the item selection\n\n\t\tthis._onItemSelect(e.detail.item.id.slice(0, -3)); // strip \"-li\" from end of id\n\n\t\tthis.responsivePopover!.close();\n\t\tawait renderFinished();\n\n\t\tconst selectedTopLevel = this._getRootTab(this._selectedTab);\n\t\tselectedTopLevel.getTabInStripDomRef()!.focus();\n\t}\n\n\t/**\n\t * Returns all slotted tabs and their subTabs in a flattened array.\n\t * The order of tabs is depth-first.\n\t *\n\t * @public\n\t * @default []\n\t */\n\tget allItems() : Array<ITab> {\n\t\treturn this._flatten(this.items);\n\t}\n\n\t_setIndentLevels(items: Array<ITab>, level = 1) {\n\t\titems.forEach(item => {\n\t\t\tif (item.hasAttribute(\"ui5-tab\") || item.hasAttribute(\"ui5-tab-separator\")) {\n\t\t\t\titem.forcedLevel = level;\n\n\t\t\t\tif (item.subTabs) {\n\t\t\t\t\tthis._setIndentLevels(item.subTabs, level + 1);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t_flatten(items: Array<ITab>) {\n\t\tconst result: Array<ITab> = [];\n\n\t\twalk(items, item => {\n\t\t\tif (item.hasAttribute(\"ui5-tab\") || item.hasAttribute(\"ui5-tab-separator\")) {\n\t\t\t\tresult.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t_onItemSelect(selectedTabId: string) {\n\t\tconst previousTab = this._selectedTab;\n\t\tconst selectedTabIndex = this._itemsFlat!.findIndex(item => item.__id === selectedTabId);\n\t\tconst selectedTab = this._itemsFlat![selectedTabIndex] as Tab;\n\n\t\tconst selectionSuccessful = this.selectTab(selectedTab, selectedTabIndex);\n\t\tif (!selectionSuccessful) {\n\t\t\treturn;\n\t\t}\n\n\t\t// update selected property on all items\n\t\tthis._itemsFlat!.forEach((item, index) => {\n\t\t\tconst selected = selectedTabIndex === index;\n\t\t\titem.selected = selected;\n\n\t\t\tif (item.forcedSelected) {\n\t\t\t\titem.forcedSelected = false;\n\t\t\t}\n\t\t});\n\n\t\tif (this.fixed) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.shouldAnimate) {\n\t\t\tthis.toggle(selectedTab, previousTab);\n\t\t} else {\n\t\t\tthis.toggleAnimated(selectedTab, previousTab);\n\t\t}\n\t}\n\n\tasync toggleAnimated(selectedTab: Tab, previousTab: Tab) {\n\t\tconst content = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tc__content\")!;\n\t\tlet animationPromise = null;\n\n\t\tthis._animationRunning = true;\n\n\t\tif (selectedTab === previousTab) {\n\t\t\t// click on already selected tab - animate both directions\n\t\t\tthis.collapsed = !this.collapsed;\n\t\t\tanimationPromise = this.collapsed ? this.slideContentUp(content) : this.slideContentDown(content);\n\t\t} else {\n\t\t\t// click on new tab - animate if the content is currently collapsed\n\t\t\tanimationPromise = this.collapsed ? this.slideContentDown(content) : Promise.resolve();\n\t\t\tthis.collapsed = false;\n\t\t}\n\n\t\tawait animationPromise;\n\t\tthis._contentCollapsed = this.collapsed;\n\t\tthis._animationRunning = false;\n\t}\n\n\ttoggle(selectedTab: Tab, previousTab: Tab) {\n\t\tif (selectedTab === previousTab) {\n\t\t\tthis.collapsed = !this.collapsed;\n\t\t} else {\n\t\t\tthis.collapsed = false;\n\t\t}\n\t}\n\n\t/**\n\t * Fires the `tab-select` event and changes the internal reference for the currently selected tab.\n\t * If the event is prevented, the current tab is not changed.\n\t * @private\n\t * @param selectedTab selected tab instance\n\t * @param selectedTabIndex selected tab index for an array containing all tabs and sub tabs. **Note:** Use the method `allTabs` to get this array.\n\t * @returns true if the tab selection is successful, false if it was prevented\n\t */\n\tselectTab(selectedTab: Tab, selectedTabIndex: number) {\n\t\tif (!this.fireEvent<TabContainerTabSelectEventDetail>(\"tab-select\", { tab: selectedTab, tabIndex: selectedTabIndex }, true)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// select the tab\n\t\tthis._selectedTab = selectedTab;\n\t\treturn true;\n\t}\n\n\tslideContentDown(element: HTMLElement) {\n\t\treturn slideDown(element).promise();\n\t}\n\n\tslideContentUp(element: HTMLElement) {\n\t\treturn slideUp(element).promise();\n\t}\n\n\tasync _onOverflowClick(e: Event) {\n\t\tif ((e.target as HTMLElement).classList.contains(\"ui5-tc__overflow\")) {\n\t\t\t// the empty area in the overflow was clicked\n\t\t\treturn;\n\t\t}\n\n\t\tconst overflow = e.currentTarget as HTMLElement;\n\t\tconst isEndOverflow = overflow.classList.contains(\"ui5-tc__overflow--end\");\n\t\tlet opener;\n\n\t\tif (isEndOverflow) {\n\t\t\topener = this.overflowButton[0] || this._getEndOverflowBtnDOM();\n\t\t} else {\n\t\t\topener = this.startOverflowButton[0] || this._getStartOverflowBtnDOM();\n\t\t}\n\n\t\tawait this._togglePopover(opener, true);\n\t}\n\n\t_addStyleIndent(itemsFlat: Array<ITab>) {\n\t\tconst extraIndent = itemsFlat\n\t\t\t.filter(tab => !tab.isSeparator)\n\t\t\t.some(tab => tab.design !== SemanticColor.Default && tab.design !== SemanticColor.Neutral);\n\n\t\titemsFlat.forEach(item => {\n\t\t\tlet level = item.forcedLevel! - 1;\n\n\t\t\tif (item.isSeparator) {\n\t\t\t\tlevel += 1;\n\t\t\t}\n\n\t\t\titem.forcedStyle = {\n\t\t\t\t[getScopedVarName(\"--_ui5-tab-indentation-level\")]: level,\n\t\t\t\t[getScopedVarName(\"--_ui5-tab-extra-indent\")]: extraIndent ? 1 : null,\n\t\t\t};\n\t\t});\n\t}\n\n\tasync _onOverflowKeyDown(e: KeyboardEvent) {\n\t\tconst overflow = e.currentTarget as HTMLElement;\n\t\tconst isEndOverflow = overflow.classList.contains(\"ui5-tc__overflow--end\");\n\t\tconst isStartOverflow = overflow.classList.contains(\"ui5-tc__overflow--start\");\n\n\t\tif (isDown(e) || (isStartOverflow && isLeft(e)) || (isEndOverflow && isRight(e))) {\n\t\t\te.stopPropagation();\n\t\t\te.preventDefault();\n\t\t\tawait this._onOverflowClick(e);\n\t\t}\n\t}\n\n\t_setItemsForStrip() {\n\t\tconst tabStrip = this._getTabStrip();\n\t\tlet allItemsWidth = 0;\n\n\t\tif (!this._selectedTab) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst itemsDomRefs = this.items.map(item => item.getTabInStripDomRef()!);\n\n\t\t// make sure the overflows are hidden\n\t\tthis._getStartOverflow().setAttribute(\"hidden\", \"\");\n\t\tthis._getEndOverflow().setAttribute(\"hidden\", \"\");\n\n\t\t// show all tabs\n\t\tfor (let i = 0; i < itemsDomRefs.length; i++) {\n\t\t\titemsDomRefs[i].removeAttribute(\"hidden\");\n\t\t\titemsDomRefs[i].removeAttribute(\"start-overflow\");\n\t\t\titemsDomRefs[i].removeAttribute(\"end-overflow\");\n\t\t}\n\n\t\titemsDomRefs.forEach(item => {\n\t\t\tallItemsWidth += this._getItemWidth(item);\n\t\t});\n\n\t\tconst hasOverflow = tabStrip.offsetWidth < allItemsWidth;\n\t\tif (!hasOverflow) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isModeStartAndEnd) {\n\t\t\tthis._updateStartAndEndOverflow(itemsDomRefs);\n\t\t\tthis._updateOverflowCounters();\n\t\t} else {\n\t\t\tthis._updateEndOverflow(itemsDomRefs);\n\t\t}\n\t}\n\n\t_getRootTab(tab: Tab) {\n\t\twhile (tab.hasAttribute(\"ui5-tab\")) {\n\t\t\tif (tab.parentElement!.hasAttribute(\"ui5-tabcontainer\")) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\ttab = tab.parentElement as Tab;\n\t\t}\n\n\t\treturn tab;\n\t}\n\n\t_updateEndOverflow(itemsDomRefs: Array<ITab>) {\n\t\t// show end overflow\n\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\tconst selectedTab = this._getRootTab(this._selectedTab);\n\t\tconst selectedTabDomRef = selectedTab.getTabInStripDomRef()!;\n\t\tconst containerWidth = this._getTabStrip().offsetWidth;\n\n\t\tconst selectedItemIndexAndWidth = this._getSelectedItemIndexAndWidth(itemsDomRefs, selectedTabDomRef);\n\t\tconst lastVisibleTabIndex = this._findLastVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width);\n\n\t\tfor (let i = lastVisibleTabIndex + 1; i < itemsDomRefs.length; i++) {\n\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\titemsDomRefs[i].setAttribute(\"end-overflow\", \"\");\n\t\t}\n\n\t\tthis._endOverflowText = this.overflowButtonText;\n\t}\n\n\t_updateStartAndEndOverflow(itemsDomRefs: Array<ITab>) {\n\t\tlet containerWidth = this._getTabStrip().offsetWidth;\n\t\tconst selectedTab = this._getRootTab(this._selectedTab);\n\t\tconst selectedTabDomRef = selectedTab.getTabInStripDomRef()!;\n\t\tconst selectedItemIndexAndWidth = this._getSelectedItemIndexAndWidth(itemsDomRefs, selectedTabDomRef);\n\t\tconst hasStartOverflow = this._hasStartOverflow(containerWidth, itemsDomRefs, selectedItemIndexAndWidth);\n\t\tconst hasEndOverflow = this._hasEndOverflow(containerWidth, itemsDomRefs, selectedItemIndexAndWidth);\n\t\tlet firstVisible;\n\t\tlet lastVisible;\n\n\t\t// has \"end\", but no \"start\" overflow\n\t\tif (!hasStartOverflow) {\n\t\t\t// show \"end\" overflow\n\t\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\t\t// width is changed\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\n\t\t\tlastVisible = this._findLastVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width);\n\n\t\t\tfor (let i = lastVisible + 1; i < itemsDomRefs.length; i++) {\n\t\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\t\titemsDomRefs[i].setAttribute(\"end-overflow\", \"\");\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// has \"start\", but no \"end\" overflow\n\t\tif (!hasEndOverflow) {\n\t\t\t// show \"start\" overflow\n\t\t\tthis._getStartOverflow().removeAttribute(\"hidden\");\n\t\t\t// width is changed\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\n\t\t\tfirstVisible = this._findFirstVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width);\n\n\t\t\tfor (let i = firstVisible - 1; i >= 0; i--) {\n\t\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\t\titemsDomRefs[i].setAttribute(\"start-overflow\", \"\");\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// show \"start\" overflow\n\t\tthis._getStartOverflow().removeAttribute(\"hidden\");\n\t\t// show \"end\" overflow\n\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\t// width is changed\n\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\n\t\tfirstVisible = this._findFirstVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width, selectedItemIndexAndWidth.index - 1);\n\t\tlastVisible = this._findLastVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width, firstVisible);\n\n\t\tfor (let i = firstVisible - 1; i >= 0; i--) {\n\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\titemsDomRefs[i].setAttribute(\"start-overflow\", \"\");\n\t\t}\n\n\t\tfor (let i = lastVisible + 1; i < itemsDomRefs.length; i++) {\n\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\titemsDomRefs[i].setAttribute(\"end-overflow\", \"\");\n\t\t}\n\t}\n\n\t_hasStartOverflow(containerWidth: number, itemsDomRefs: Array<ITab>, selectedItemIndexAndWidth: { width: number; index: number}) {\n\t\tif (selectedItemIndexAndWidth.index === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet leftItemsWidth = 0;\n\n\t\tfor (let i = selectedItemIndexAndWidth.index - 1; i >= 0; i--) {\n\t\t\tleftItemsWidth += this._getItemWidth(itemsDomRefs[i]);\n\t\t}\n\n\t\tlet hasStartOverflow = containerWidth < leftItemsWidth + selectedItemIndexAndWidth.width;\n\n\t\t// if there is no \"start\" overflow, it has \"end\" overflow\n\t\t// check it again with the \"end\" overflow\n\t\tif (!hasStartOverflow) {\n\t\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\t\t\thasStartOverflow = containerWidth < leftItemsWidth + selectedItemIndexAndWidth.width;\n\t\t\tthis._getEndOverflow().setAttribute(\"hidden\", \"\");\n\t\t}\n\n\t\treturn hasStartOverflow;\n\t}\n\n\t_hasEndOverflow(containerWidth: number, itemsDomRefs: Array<ITab>, selectedItemIndexAndWidth: { width: number; index: number}) {\n\t\tif (selectedItemIndexAndWidth.index >= itemsDomRefs.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet rightItemsWidth = 0;\n\n\t\tfor (let i = selectedItemIndexAndWidth.index; i < itemsDomRefs.length; i++) {\n\t\t\trightItemsWidth += this._getItemWidth(itemsDomRefs[i]);\n\t\t}\n\n\t\tlet hasEndOverflow = containerWidth < rightItemsWidth + selectedItemIndexAndWidth.width;\n\n\t\t// if there is no \"end\" overflow, it has \"start\" overflow\n\t\t// check it again with the \"start\" overflow\n\t\tif (!hasEndOverflow) {\n\t\t\tthis._getStartOverflow().removeAttribute(\"hidden\");\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\t\t\thasEndOverflow = containerWidth < rightItemsWidth + selectedItemIndexAndWidth.width;\n\t\t\tthis._getStartOverflow().setAttribute(\"hidden\", \"\");\n\t\t}\n\n\t\treturn hasEndOverflow;\n\t}\n\n\t_getItemWidth(itemDomRef: HTMLElement) {\n\t\tconst styles = window.getComputedStyle(itemDomRef);\n\t\tconst margins = Number.parseInt(styles.marginLeft) + Number.parseInt(styles.marginRight);\n\n\t\treturn itemDomRef.offsetWidth + margins;\n\t}\n\n\t_getSelectedItemIndexAndWidth(itemsDomRefs: Array<ITab>, selectedTabDomRef: ITab) {\n\t\tlet index = itemsDomRefs.indexOf(selectedTabDomRef);\n\t\tlet width = selectedTabDomRef.offsetWidth;\n\t\tlet selectedSeparator;\n\n\t\tif (itemsDomRefs[index - 1] && itemsDomRefs[index - 1].isSeparator) {\n\t\t\tselectedSeparator = itemsDomRefs[index - 1];\n\t\t\twidth += this._getItemWidth(selectedSeparator);\n\t\t}\n\n\t\titemsDomRefs.splice(index, 1);\n\n\t\t// if previous item is a separator - remove it\n\t\tif (selectedSeparator) {\n\t\t\titemsDomRefs.splice(index - 1, 1);\n\t\t\tindex--;\n\t\t}\n\n\t\treturn {\n\t\t\tindex,\n\t\t\twidth,\n\t\t};\n\t}\n\n\t_findFirstVisibleItem(itemsDomRefs: Array<ITab>, containerWidth: number, selectedItemWidth: number, startIndex?: number) {\n\t\tif (startIndex === undefined) {\n\t\t\tstartIndex = itemsDomRefs.length - 1;\n\t\t}\n\n\t\tlet lastVisible = startIndex + 1;\n\n\t\tfor (let index = startIndex; index >= 0; index--) {\n\t\t\tconst itemWidth = this._getItemWidth(itemsDomRefs[index]);\n\n\t\t\tif (containerWidth < selectedItemWidth + itemWidth) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tselectedItemWidth += itemWidth;\n\t\t\tlastVisible = index;\n\t\t}\n\n\t\treturn lastVisible;\n\t}\n\n\t_findLastVisibleItem(itemsDomRefs: Array<ITab>, containerWidth: number, selectedItemWidth: number, startIndex = 0) {\n\t\tlet lastVisibleIndex = startIndex - 1;\n\t\tlet index = startIndex;\n\n\t\tfor (; index < itemsDomRefs.length; index++) {\n\t\t\tconst itemWidth = this._getItemWidth(itemsDomRefs[index]);\n\n\t\t\tif (containerWidth < selectedItemWidth + itemWidth) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tselectedItemWidth += itemWidth;\n\t\t\tlastVisibleIndex = index;\n\t\t}\n\n\t\t// if prev item is separator - hide it\n\t\tconst prevItem = itemsDomRefs[index - 1];\n\t\tif (prevItem && prevItem.isSeparator) {\n\t\t\tlastVisibleIndex -= 1;\n\t\t}\n\n\t\treturn lastVisibleIndex;\n\t}\n\n\tget isModeStartAndEnd() {\n\t\treturn this.tabsOverflowMode === TabsOverflowMode.StartAndEnd;\n\t}\n\n\t_updateOverflowCounters() {\n\t\tlet startOverflowItemsCount = 0;\n\t\tlet endOverflowItemsCount = 0;\n\n\t\tthis._getTabs()\n\t\t\t.map(tab => tab.getTabInStripDomRef()!)\n\t\t\t.forEach(tab => {\n\t\t\t\tif (tab.hasAttribute(\"start-overflow\")) {\n\t\t\t\t\tstartOverflowItemsCount++;\n\t\t\t\t}\n\n\t\t\t\tif (tab.hasAttribute(\"end-overflow\")) {\n\t\t\t\t\tendOverflowItemsCount++;\n\t\t\t\t}\n\t\t\t});\n\n\t\tthis._startOverflowText = `+${startOverflowItemsCount}`;\n\t\tthis._endOverflowText = `+${endOverflowItemsCount}`;\n\t}\n\n\t_getFocusableRefs() {\n\t\tif (!this.getDomRef()) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst focusableRefs = [];\n\n\t\tif (!this._getStartOverflow().hasAttribute(\"hidden\")) {\n\t\t\tfocusableRefs.push(this.startOverflowButton[0] || this._getStartOverflowBtnDOM());\n\t\t}\n\n\t\tthis._getTabs().forEach(tab => {\n\t\t\tconst ref = tab.getTabInStripDomRef();\n\t\t\tconst focusable = ref && !ref.hasAttribute(\"hidden\");\n\n\t\t\tif (focusable) {\n\t\t\t\tfocusableRefs.push(tab);\n\t\t\t}\n\t\t});\n\n\t\tif (!this._getEndOverflow().hasAttribute(\"hidden\")) {\n\t\t\tfocusableRefs.push(this.overflowButton[0] || this._getEndOverflowBtnDOM());\n\t\t}\n\n\t\treturn focusableRefs;\n\t}\n\n\t_getHeader() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`#${this._id}-header`)!;\n\t}\n\n\t_getTabs(): Array<Tab> {\n\t\treturn this.items.filter((item): item is Tab => !item.isSeparator);\n\t}\n\n\t_getPopoverOwner(opener: HTMLElement): TabContainerPopoverOwner {\n\t\tif (opener === this._getStartOverflowBtnDOM() || opener.slot === \"startOverflowButton\") {\n\t\t\treturn \"start-overflow\";\n\t\t}\n\n\t\tif (opener === this._getEndOverflowBtnDOM() || opener.slot === \"overflowButton\") {\n\t\t\treturn \"end-overflow\";\n\t\t}\n\n\t\tif (opener instanceof Button) {\n\t\t\treturn (opener as TabContainerExpandButton).tab;\n\t\t}\n\n\t\treturn (opener as Tab);\n\t}\n\n\t_getPopoverItemsFor(targetOwner: TabContainerPopoverOwner) {\n\t\tif (targetOwner === \"start-overflow\") {\n\t\t\treturn this.items.filter(item => {\n\t\t\t\tconst stripRef = item.getTabInStripDomRef();\n\n\t\t\t\treturn stripRef && stripRef.hasAttribute(\"start-overflow\");\n\t\t\t});\n\t\t}\n\n\t\tif (targetOwner === \"end-overflow\") {\n\t\t\treturn this.items.filter(item => {\n\t\t\t\tconst stripRef = item.getTabInStripDomRef();\n\n\t\t\t\treturn stripRef && stripRef.hasAttribute(\"end-overflow\");\n\t\t\t});\n\t\t}\n\n\t\tif (isTabInStrip(targetOwner)) {\n\t\t\treturn targetOwner.realTabReference.subTabs;\n\t\t}\n\n\t\treturn targetOwner.subTabs;\n\t}\n\n\t_setPopoverItems(items: Array<ITab>) {\n\t\tconst newItemsFlat = this._flatten(items);\n\n\t\tif (!arraysAreEqual(this._popoverItemsFlat, newItemsFlat)) {\n\t\t\tthis._popoverItemsFlat = newItemsFlat;\n\t\t\tthis._addStyleIndent(this._popoverItemsFlat);\n\t\t}\n\t}\n\n\tasync _togglePopover(opener: HTMLElement, setInitialFocus = false) {\n\t\tthis.responsivePopover = await this._respPopover();\n\n\t\tif (this.responsivePopover.isOpen()) {\n\t\t\tthis.responsivePopover.close();\n\t\t} else {\n\t\t\tthis._showPopoverAt(opener, setInitialFocus);\n\t\t}\n\t}\n\n\tasync _showPopoverAt(opener: HTMLElement, setInitialFocus = false) {\n\t\tthis._setPopoverItems(this._getPopoverItemsFor(this._getPopoverOwner(opener)));\n\t\tthis.responsivePopover = await this._respPopover();\n\n\t\tif (this.responsivePopover.isOpen() && this.responsivePopover._opener !== opener) {\n\t\t\tthis.responsivePopover.close();\n\t\t}\n\n\t\tif (setInitialFocus) {\n\t\t\tthis._setPopoverInitialFocus();\n\t\t}\n\n\t\tthis.responsivePopover.showAt(opener);\n\t}\n\n\tget hasSubTabs(): boolean {\n\t\tconst tabs = this._getTabs();\n\n\t\tfor (let i = 0; i < tabs.length; i++) {\n\t\t\tif (tabs[i].subTabs.length > 0) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t_getTabStrip() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`#${this._id}-tabStrip`)!;\n\t}\n\n\t_getStartOverflow() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tc__overflow--start\")!;\n\t}\n\n\t_getEndOverflow() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tc__overflow--end\")!;\n\t}\n\n\t_getStartOverflowBtnDOM() {\n\t\treturn this._getStartOverflow().querySelector<Button>(\"[ui5-button]\");\n\t}\n\n\t_getEndOverflowBtnDOM() {\n\t\treturn this._getEndOverflow().querySelector<Button>(\"[ui5-button]\");\n\t}\n\n\tasync _respPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<ResponsivePopover>(`#${this._id}-overflowMenu`)!;\n\t}\n\n\tasync _closeRespPopover() {\n\t\tthis.responsivePopover = await this._respPopover();\n\t\tthis.responsivePopover.close();\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-tc-root\": true,\n\t\t\t\t\"ui5-tc--textOnly\": this.textOnly,\n\t\t\t\t\"ui5-tc--withAdditionalText\": this.withAdditionalText,\n\t\t\t\t\"ui5-tc--standardTabLayout\": this.standardTabLayout,\n\t\t\t},\n\t\t\theader: {\n\t\t\t\t\"ui5-tc__header\": true,\n\t\t\t},\n\t\t\ttabStrip: {\n\t\t\t\t\"ui5-tc__tabStrip\": true,\n\t\t\t},\n\t\t\tseparator: {\n\t\t\t\t\"ui5-tc__separator\": true,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-tc__content\": true,\n\t\t\t\t\"ui5-tc__content--collapsed\": this._contentCollapsed,\n\t\t\t},\n\t\t};\n\t}\n\n\tget mixedMode() {\n\t\treturn this.items.some(item => item.icon) && this.items.some(item => item.text);\n\t}\n\n\tget textOnly() {\n\t\treturn this.items.every(item => !item.icon);\n\t}\n\n\tget withAdditionalText() {\n\t\treturn this.items.some(item => !!item.additionalText);\n\t}\n\n\tget standardTabLayout() {\n\t\treturn this.tabLayout === TabLayout.Standard;\n\t}\n\n\tget previousIconACCName() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_PREVIOUS_ICON_ACC_NAME);\n\t}\n\n\tget nextIconACCName() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_NEXT_ICON_ACC_NAME);\n\t}\n\n\tget overflowMenuTitle() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_OVERFLOW_MENU_TITLE);\n\t}\n\n\tget tabsAtTheBottom() {\n\t\treturn this.tabsPlacement === TabContainerTabsPlacement.Bottom;\n\t}\n\n\tget overflowMenuIcon() {\n\t\treturn this.tabsAtTheBottom ? \"slim-arrow-up\" : \"slim-arrow-down\";\n\t}\n\n\tget overflowButtonText() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_END_OVERFLOW);\n\t}\n\n\tget popoverCancelButtonText() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_POPOVER_CANCEL_BUTTON);\n\t}\n\n\tget accInvisibleText() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_SUBTABS_DESCRIPTION);\n\t}\n\n\tget tablistAriaDescribedById() {\n\t\treturn this.hasSubTabs ? `${this._id}-invisibleText` : undefined;\n\t}\n\n\tget shouldAnimate() {\n\t\treturn getAnimationMode() !== AnimationMode.None;\n\t}\n\n\tstatic async onDefine() {\n\t\tTabContainer.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nconst isTabInStrip = (el: HTMLElement) => el.localName === \"div\" && el.getAttribute(\"role\") === \"tab\";\n\nconst getTab = (el: HTMLElement | null) => {\n\twhile (el) {\n\t\tif (isTabInStrip(el)) {\n\t\t\treturn el as Tab;\n\t\t}\n\n\t\tel = el.parentElement;\n\t}\n\n\treturn false;\n};\n\nconst walk = (tabs: Array<ITab>, callback: (_: ITab) => void) => {\n\t[...tabs].forEach(tab => {\n\t\tcallback(tab);\n\t\tif (tab.subTabs) {\n\t\t\twalk(tab.subTabs, callback);\n\t\t}\n\t});\n};\n\nTabContainer.define();\n\nexport default TabContainer;\nexport type {\n\tITab,\n\tTabContainerTabSelectEventDetail,\n};\n"]}
1
+ {"version":3,"file":"TabContainer.js","sourceRoot":"","sources":["../src/TabContainer.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { StyleData } from \"@ui5/webcomponents-base/dist/types.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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport slideDown from \"@ui5/webcomponents-base/dist/animations/slideDown.js\";\nimport slideUp from \"@ui5/webcomponents-base/dist/animations/slideUp.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport {\n\tisSpace,\n\tisEnter,\n\tisDown,\n\tisRight,\n\tisLeft,\n\tisUp,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport MediaRange from \"@ui5/webcomponents-base/dist/MediaRange.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-up.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport arraysAreEqual from \"@ui5/webcomponents-base/dist/util/arraysAreEqual.js\";\nimport {\n\tTABCONTAINER_PREVIOUS_ICON_ACC_NAME,\n\tTABCONTAINER_NEXT_ICON_ACC_NAME,\n\tTABCONTAINER_OVERFLOW_MENU_TITLE,\n\tTABCONTAINER_END_OVERFLOW,\n\tTABCONTAINER_POPOVER_CANCEL_BUTTON,\n\tTABCONTAINER_SUBTABS_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Button from \"./Button.js\";\nimport Icon from \"./Icon.js\";\nimport List from \"./List.js\";\nimport type Tab from \"./Tab.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport type CustomListItem from \"./CustomListItem.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport TabContainerTabsPlacement from \"./types/TabContainerTabsPlacement.js\";\nimport SemanticColor from \"./types/SemanticColor.js\";\nimport TabContainerBackgroundDesign from \"./types/TabContainerBackgroundDesign.js\";\nimport TabLayout from \"./types/TabLayout.js\";\nimport TabsOverflowMode from \"./types/TabsOverflowMode.js\";\nimport type { IButton } from \"./Button.js\";\n\n// Templates\nimport TabContainerTemplate from \"./generated/templates/TabContainerTemplate.lit.js\";\nimport TabContainerPopoverTemplate from \"./generated/templates/TabContainerPopoverTemplate.lit.js\";\n\n// Styles\nimport tabContainerCss from \"./generated/themes/TabContainer.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\n\n/**\n * Interface for components that may be slotted inside `ui5-tabcontainer` as items\n * @public\n */\ninterface ITab extends UI5Element {\n\tisSeparator: boolean;\n\tgetTabInStripDomRef: () => ITab | null;\n\tadditionalText?: string;\n\tdesign?: `${SemanticColor}`;\n\tdisabled?: boolean;\n\ticon?: string;\n\tisSingleClickArea?: boolean;\n\trequiresExpandButton?: boolean;\n\tselected?: boolean;\n\tsubTabs?: Array<ITab>;\n\ttabs?: Array<ITab>\n\ttext?: string;\n\thasOwnContent?: boolean;\n\tforcedLevel?: number;\n\tforcedSelected?: boolean;\n\tgetElementInStrip?: () => ITab | null;\n\tisInline?: boolean;\n\tforcedMixedMode?: boolean;\n\tforcedPosinset?: number;\n\tforcedSetsize?: number;\n\trealTabReference?: Tab;\n\tisTopLevelTab?: boolean;\n\tforcedStyle?: Record<string, any>;\n}\n\ntype TabContainerPopoverOwner = \"start-overflow\" | \"end-overflow\" | Tab;\n\nconst tabStyles: Array<StyleData> = [];\nconst staticAreaTabStyles: Array<StyleData> = [];\nconst PAGE_UP_DOWN_SIZE = 5;\n\ntype TabContainerTabSelectEventDetail = {\n\ttab: ITab;\n\ttabIndex: number;\n}\n\ninterface TabContainerExpandButton extends Button {\n\ttab: Tab;\n}\n\ninterface TabContainerTabInOverflow extends CustomListItem {\n\trealTabReference: Tab;\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-tabcontainer` represents a collection of tabs with associated content.\n * Navigation through the tabs changes the content display of the currently active content area.\n * A tab can be labeled with text only, or icons with text.\n *\n * ### Structure\n *\n * The `ui5-tabcontainer` can hold two types of entities:\n *\n * - `ui5-tab` - contains all the information on an item (text and icon)\n * - `ui5-tab-separator` - used to separate tabs with a line\n *\n * ### Hierarchies\n * Multiple sub tabs could be placed underneath one main tab. Nesting allows deeper hierarchies with indentations\n * to indicate the level of each nested tab. When a tab has both sub tabs and own content its click area is split\n * to allow the user to display the content or alternatively to expand / collapse the list of sub tabs.\n *\n * ### Keyboard Handling\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via `F6 / Shift + F6` or ` Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up`.\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TabContainer.js\";`\n *\n * `import \"@ui5/webcomponents/dist/Tab.js\";` (for `ui5-tab`)\n *\n * `import \"@ui5/webcomponents/dist/TabSeparator.js\";` (for `ui5-tab-separator`)\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart content - Used to style the content of the component\n * @csspart tabstrip - Used to style the tabstrip of the component\n */\n@customElement({\n\ttag: \"ui5-tabcontainer\",\n\tlanguageAware: true,\n\tfastNavigation: true,\n\tstyles: [tabStyles, tabContainerCss],\n\tstaticAreaStyles: [ResponsivePopoverCommonCss, staticAreaTabStyles],\n\trenderer: litRender,\n\ttemplate: TabContainerTemplate,\n\tstaticAreaTemplate: TabContainerPopoverTemplate,\n\tdependencies: [\n\t\tButton,\n\t\tIcon,\n\t\tList,\n\t\tResponsivePopover,\n\t],\n})\n/**\n * Fired when a tab is selected.\n * @param {ITab} tab The selected `tab`.\n * @param {Integer} tabIndex The selected `tab` index in the flattened array of all tabs and their subTabs, provided by the `allItems` getter.\n * @public\n * @allowPreventDefault\n */\n@event<TabContainerTabSelectEventDetail>(\"tab-select\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttab: { type: HTMLElement },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttabIndex: { type: Number },\n\t},\n})\nclass TabContainer extends UI5Element {\n\t/**\n\t * Defines whether the tabs are in a fixed state that is not\n\t * expandable/collapsible by user interaction.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tfixed!: boolean;\n\n\t/**\n\t * Defines whether the tab content is collapsed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tcollapsed!: boolean;\n\n\t/**\n\t * Defines whether the overflow select list is displayed.\n\t *\n\t * The overflow select list represents a list, where all tabs are displayed\n\t * so that it's easier for the user to select a specific tab.\n\t * @default false\n\t * @public\n\t * @deprecated Since the introduction of TabsOverflowMode, overflows will always be visible if there is not enough space for all tabs,\n\t * all hidden tabs are moved to a select list in the respective overflows and are accessible via the `overflowButton` and / or `startOverflowButton` slots.\n\t */\n\t@property({ type: Boolean })\n\tshowOverflow!: boolean;\n\n\t/**\n\t * Defines the alignment of the content and the `additionalText` of a tab.\n\t *\n\t * **Note:**\n\t * The content and the `additionalText` would be displayed vertically by default,\n\t * but when set to `Inline`, they would be displayed horizontally.\n\t * @default \"Standard\"\n\t * @public\n\t */\n\t@property({ type: TabLayout, defaultValue: TabLayout.Standard })\n\ttabLayout!: `${TabLayout}`;\n\n\t/**\n\t * Defines the overflow mode of the header (the tab strip). If you have a large number of tabs, only the tabs that can fit on screen will be visible.\n\t * All other tabs that can 't fit on the screen are available in an overflow tab \"More\".\n\t *\n\t * **Note:**\n\t * Only one overflow at the end would be displayed by default,\n\t * but when set to `StartAndEnd`, there will be two overflows on both ends, and tab order will not change on tab selection.\n\t * @default \"End\"\n\t * @since 1.1.0\n\t * @public\n\t */\n\t@property({ type: TabsOverflowMode, defaultValue: TabsOverflowMode.End })\n\ttabsOverflowMode!: `${TabsOverflowMode}`;\n\n\t/**\n\t * Sets the background color of the Tab Container's header as `Solid`, `Transparent`, or `Translucent`.\n\t * @default \"Solid\"\n\t * @since 1.10.0\n\t * @public\n\t */\n\t@property({ type: TabContainerBackgroundDesign, defaultValue: TabContainerBackgroundDesign.Solid })\n\theaderBackgroundDesign!: `${TabContainerBackgroundDesign}`;\n\n\t/**\n\t * Sets the background color of the Tab Container's content as `Solid`, `Transparent`, or `Translucent`.\n\t * @default \"Solid\"\n\t * @since 1.10.0\n\t * @public\n\t */\n\t@property({ type: TabContainerBackgroundDesign, defaultValue: TabContainerBackgroundDesign.Solid })\n\tcontentBackgroundDesign!: `${TabContainerBackgroundDesign}`;\n\n\t/**\n\t * Defines the placement of the tab strip relative to the actual tabs' content.\n\t *\n\t * **Note:** By default the tab strip is displayed above the tabs' content area and this is the recommended\n\t * layout for most scenarios. Set to `Bottom` only when the component is at the\n\t * bottom of the page and you want the tab strip to act as a menu.\n\t * @default \"Top\"\n\t * @since 1.0.0-rc.7\n\t * @private\n\t */\n\t@property({ type: TabContainerTabsPlacement, defaultValue: TabContainerTabsPlacement.Top })\n\ttabsPlacement!: `${TabContainerTabsPlacement}`;\n\n\t/**\n\t * Defines the current media query size.\n\t * @private\n\t */\n\t@property()\n\tmediaRange!: string;\n\n\t@property({ type: Object })\n\t_selectedTab!: Tab;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_animationRunning!: boolean;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_contentCollapsed!: boolean;\n\n\t@property({ noAttribute: true, defaultValue: \"0\" })\n\t_startOverflowText!: string;\n\n\t@property({ noAttribute: true, defaultValue: \"More\" })\n\t_endOverflowText!: string;\n\n\t@property({ type: Object, multiple: true })\n\t_popoverItemsFlat!: Array<ITab>;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_width?: number;\n\n\t/**\n\t * Defines the 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\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: true,\n\t\t},\n\t})\n\titems!: Array<ITab>;\n\n\t/**\n\t * Defines the button which will open the overflow menu. If nothing is provided to this slot,\n\t * the default button will be used.\n\t * @public\n\t * @since 1.0.0-rc.9\n\t */\n\t@slot()\n\toverflowButton!: Array<IButton>;\n\n\t/**\n\t * Defines the button which will open the start overflow menu if available. If nothing is provided to this slot,\n\t * the default button will be used.\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@slot()\n\tstartOverflowButton!: Array<IButton>;\n\n\t_itemNavigation: ItemNavigation;\n\t_itemsFlat?: Array<ITab>;\n\tresponsivePopover?: ResponsivePopover;\n\t_handleResizeBound: () => void;\n\n\tstatic registerTabStyles(styles: StyleData) {\n\t\ttabStyles.push(styles);\n\t}\n\n\tstatic registerStaticAreaTabStyles(styles: StyleData) {\n\t\tstaticAreaTabStyles.push(styles);\n\t}\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._handleResizeBound = this._handleResize.bind(this);\n\n\t\t// Init ItemNavigation\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => this._getFocusableRefs(),\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE,\n\t\t});\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._itemsFlat = this._flatten(this.items);\n\t\tif (!this._itemsFlat.length) {\n\t\t\treturn;\n\t\t}\n\n\t\t// update selected tab\n\t\tconst selectedTabs = this._itemsFlat.filter(tab => tab.selected) as Array<Tab>;\n\t\tif (selectedTabs.length) {\n\t\t\tthis._selectedTab.forcedSelected = false;\n\t\t\tthis._selectedTab = selectedTabs[0];\n\t\t} else {\n\t\t\tthis._selectedTab = this._itemsFlat[0] as Tab;\n\t\t\tthis._selectedTab.forcedSelected = true;\n\t\t}\n\n\t\tthis._setItemsPrivateProperties(this.items);\n\n\t\tif (!this._animationRunning) {\n\t\t\tthis._contentCollapsed = this.collapsed;\n\t\t}\n\n\t\tif (this.showOverflow) {\n\t\t\tconsole.warn(`The \"show-overflow\" property is deprecated and will be removed in a future release.`); // eslint-disable-line\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._setItemsForStrip();\n\n\t\tif (!this.shadowRoot!.contains(document.activeElement)) {\n\t\t\tconst focusStart = this._getRootTab(this._selectedTab);\n\t\t\tthis._itemNavigation.setCurrentItem(focusStart);\n\t\t}\n\n\t\tif (this.responsivePopover?.opened) {\n\t\t\tconst popoverItems = this._getPopoverItemsFor(this._getPopoverOwner(this.responsivePopover._opener!));\n\n\t\t\tif (popoverItems.length) {\n\t\t\t\tthis._setPopoverItems(popoverItems);\n\t\t\t} else {\n\t\t\t\tthis.responsivePopover.close();\n\t\t\t}\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this._getHeader(), this._handleResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this._getHeader(), this._handleResizeBound);\n\t}\n\n\t_handleResize() {\n\t\tif (this.responsivePopover && this.responsivePopover.opened) {\n\t\t\tthis.responsivePopover.close();\n\t\t}\n\n\t\t// invalidate\n\t\tthis._width = this.offsetWidth;\n\t\tthis._updateMediaRange(this._width);\n\t}\n\n\t_updateMediaRange(width: number) {\n\t\tthis.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, width);\n\t}\n\n\t_setItemsPrivateProperties(items: Array<ITab>) {\n\t\t// set real dom ref to all items, then return only the tabs for further processing\n\t\tconst allTabs = items.filter(item => {\n\t\t\titem.getElementInStrip = () => this.getDomRef()!.querySelector(`[id=\"${item._id}\"]`);\n\t\t\treturn !item.isSeparator;\n\t\t});\n\n\t\tallTabs.forEach((tab, index, arr) => {\n\t\t\ttab.isInline = this.tabLayout === TabLayout.Inline;\n\t\t\ttab.forcedMixedMode = this.mixedMode;\n\t\t\ttab.forcedPosinset = index + 1;\n\t\t\ttab.forcedSetsize = arr.length;\n\t\t\ttab.isTopLevelTab = items.some(i => i === tab);\n\t\t});\n\n\t\twalk(items, item => {\n\t\t\tif (!item.isSeparator) {\n\t\t\t\t(item as Tab)._selectedTabReference = this._selectedTab;\n\t\t\t}\n\t\t});\n\n\t\tthis._setIndentLevels(items);\n\t}\n\n\t_onHeaderFocusin(e: FocusEvent) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\n\t\tif (tab) {\n\t\t\tthis._itemNavigation.setCurrentItem(tab.realTabReference);\n\t\t}\n\t}\n\n\tasync _onTabStripClick(e: Event) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\t\tif (!tab || tab.realTabReference.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\n\t\tif ((e.target as HTMLElement).hasAttribute(\"ui5-button\")) {\n\t\t\tthis._onTabExpandButtonClick(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!tab.realTabReference.hasOwnContent && tab.realTabReference.tabs.length) {\n\t\t\tawait this._togglePopover(tab);\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis._onHeaderItemSelect(tab);\n\t}\n\n\tasync _onTabExpandButtonClick(e: Event) {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\n\t\tlet tabInstance: Tab;\n\n\t\tif (isTabInStrip(e.target as HTMLElement)) {\n\t\t\ttabInstance = e.target as Tab;\n\t\t} else {\n\t\t\ttabInstance = (e.target as TabContainerExpandButton).tab;\n\t\t}\n\n\t\tlet opener = e.target as HTMLElement;\n\n\t\tif (tabInstance) {\n\t\t\ttabInstance.focus();\n\t\t}\n\n\t\tif (e.type === \"keydown\" && !(e.target as Tab).realTabReference.isSingleClickArea) {\n\t\t\topener = (e.target as Tab).querySelector<TabContainerExpandButton>(\".ui5-tab-expand-button [ui5-button]\")!;\n\t\t\ttabInstance = (e.target as Tab).realTabReference;\n\t\t}\n\n\t\t// if clicked between the expand button and the tab\n\t\tif (!tabInstance) {\n\t\t\tthis._onHeaderItemSelect(opener.parentElement as HTMLElement);\n\t\t\treturn;\n\t\t}\n\n\t\tawait this._togglePopover(opener, true);\n\t}\n\n\t_setPopoverInitialFocus() {\n\t\tconst selectedTabInOverflow = this._getSelectedTabInOverflow();\n\t\tconst tab = selectedTabInOverflow || this._getFirstFocusableItemInOverflow();\n\n\t\tthis.responsivePopover!.initialFocus = `${tab.realTabReference._id}-li`;\n\t}\n\n\t_getSelectedTabInOverflow() {\n\t\treturn <TabContainerTabInOverflow>(<List> this.responsivePopover!.content[0]).items.find(item => {\n\t\t\treturn (<TabContainerTabInOverflow>item).realTabReference && (<TabContainerTabInOverflow>item).realTabReference.selected;\n\t\t});\n\t}\n\n\t_getFirstFocusableItemInOverflow() {\n\t\treturn <TabContainerTabInOverflow>(<List> this.responsivePopover!.content[0]).items.find(item => item.classList.contains(\"ui5-tab-overflow-item\"));\n\t}\n\n\t_onTabStripKeyDown(e: KeyboardEvent) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\t\tif (!tab || tab.realTabReference.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tif (tab.realTabReference.isSingleClickArea) {\n\t\t\t\tthis._onTabStripClick(e);\n\t\t\t} else {\n\t\t\t\tthis._onHeaderItemSelect(tab);\n\t\t\t}\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault(); // prevent scrolling\n\t\t}\n\n\t\tif (isDown(e) || isUp(e)) {\n\t\t\tif (tab.realTabReference.requiresExpandButton) {\n\t\t\t\tthis._onTabExpandButtonClick(e);\n\t\t\t}\n\t\t\tif (tab.realTabReference.isSingleClickArea) {\n\t\t\t\tthis._onTabStripClick(e);\n\t\t\t}\n\t\t}\n\t}\n\n\t_onTabStripKeyUp(e: KeyboardEvent) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\t\tif (!tab || tab.realTabReference.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tif (tab.realTabReference.isSingleClickArea) {\n\t\t\t\tthis._onTabStripClick(e);\n\t\t\t} else {\n\t\t\t\tthis._onHeaderItemSelect(tab);\n\t\t\t}\n\t\t}\n\t}\n\n\t_onHeaderItemSelect(tab: HTMLElement) {\n\t\tif (!tab.hasAttribute(\"disabled\")) {\n\t\t\tthis._onItemSelect(tab.id);\n\t\t}\n\t}\n\n\tasync _onOverflowListItemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\te.preventDefault(); // cancel the item selection\n\n\t\tthis._onItemSelect(e.detail.item.id.slice(0, -3)); // strip \"-li\" from end of id\n\n\t\tthis.responsivePopover!.close();\n\t\tawait renderFinished();\n\n\t\tconst selectedTopLevel = this._getRootTab(this._selectedTab);\n\t\tselectedTopLevel.getTabInStripDomRef()!.focus();\n\t}\n\n\t/**\n\t * Returns all slotted tabs and their subTabs in a flattened array.\n\t * The order of tabs is depth-first.\n\t *\n\t * @public\n\t * @default []\n\t */\n\tget allItems() : Array<ITab> {\n\t\treturn this._flatten(this.items);\n\t}\n\n\t_setIndentLevels(items: Array<ITab>, level = 1) {\n\t\titems.forEach(item => {\n\t\t\tif (item.hasAttribute(\"ui5-tab\") || item.hasAttribute(\"ui5-tab-separator\")) {\n\t\t\t\titem.forcedLevel = level;\n\n\t\t\t\tif (item.subTabs) {\n\t\t\t\t\tthis._setIndentLevels(item.subTabs, level + 1);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t_flatten(items: Array<ITab>) {\n\t\tconst result: Array<ITab> = [];\n\n\t\twalk(items, item => {\n\t\t\tif (item.hasAttribute(\"ui5-tab\") || item.hasAttribute(\"ui5-tab-separator\")) {\n\t\t\t\tresult.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t_onItemSelect(selectedTabId: string) {\n\t\tconst previousTab = this._selectedTab;\n\t\tconst selectedTabIndex = this._itemsFlat!.findIndex(item => item.__id === selectedTabId);\n\t\tconst selectedTab = this._itemsFlat![selectedTabIndex] as Tab;\n\n\t\tconst selectionSuccessful = this.selectTab(selectedTab, selectedTabIndex);\n\t\tif (!selectionSuccessful) {\n\t\t\treturn;\n\t\t}\n\n\t\t// update selected property on all items\n\t\tthis._itemsFlat!.forEach((item, index) => {\n\t\t\tconst selected = selectedTabIndex === index;\n\t\t\titem.selected = selected;\n\n\t\t\tif (item.forcedSelected) {\n\t\t\t\titem.forcedSelected = false;\n\t\t\t}\n\t\t});\n\n\t\tif (this.fixed) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.shouldAnimate) {\n\t\t\tthis.toggle(selectedTab, previousTab);\n\t\t} else {\n\t\t\tthis.toggleAnimated(selectedTab, previousTab);\n\t\t}\n\t}\n\n\tasync toggleAnimated(selectedTab: Tab, previousTab: Tab) {\n\t\tconst content = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tc__content\")!;\n\t\tlet animationPromise = null;\n\n\t\tthis._animationRunning = true;\n\n\t\tif (selectedTab === previousTab) {\n\t\t\t// click on already selected tab - animate both directions\n\t\t\tthis.collapsed = !this.collapsed;\n\t\t\tanimationPromise = this.collapsed ? this.slideContentUp(content) : this.slideContentDown(content);\n\t\t} else {\n\t\t\t// click on new tab - animate if the content is currently collapsed\n\t\t\tanimationPromise = this.collapsed ? this.slideContentDown(content) : Promise.resolve();\n\t\t\tthis.collapsed = false;\n\t\t}\n\n\t\tawait animationPromise;\n\t\tthis._contentCollapsed = this.collapsed;\n\t\tthis._animationRunning = false;\n\t}\n\n\ttoggle(selectedTab: Tab, previousTab: Tab) {\n\t\tif (selectedTab === previousTab) {\n\t\t\tthis.collapsed = !this.collapsed;\n\t\t} else {\n\t\t\tthis.collapsed = false;\n\t\t}\n\t}\n\n\t/**\n\t * Fires the `tab-select` event and changes the internal reference for the currently selected tab.\n\t * If the event is prevented, the current tab is not changed.\n\t * @private\n\t * @param selectedTab selected tab instance\n\t * @param selectedTabIndex selected tab index for an array containing all tabs and sub tabs. **Note:** Use the method `allTabs` to get this array.\n\t * @returns true if the tab selection is successful, false if it was prevented\n\t */\n\tselectTab(selectedTab: Tab, selectedTabIndex: number) {\n\t\tif (!this.fireEvent<TabContainerTabSelectEventDetail>(\"tab-select\", { tab: selectedTab, tabIndex: selectedTabIndex }, true)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// select the tab\n\t\tthis._selectedTab = selectedTab;\n\t\treturn true;\n\t}\n\n\tslideContentDown(element: HTMLElement) {\n\t\treturn slideDown(element).promise();\n\t}\n\n\tslideContentUp(element: HTMLElement) {\n\t\treturn slideUp(element).promise();\n\t}\n\n\tasync _onOverflowClick(e: Event) {\n\t\tif ((e.target as HTMLElement).classList.contains(\"ui5-tc__overflow\")) {\n\t\t\t// the empty area in the overflow was clicked\n\t\t\treturn;\n\t\t}\n\n\t\tconst overflow = e.currentTarget as HTMLElement;\n\t\tconst isEndOverflow = overflow.classList.contains(\"ui5-tc__overflow--end\");\n\t\tlet opener;\n\n\t\tif (isEndOverflow) {\n\t\t\topener = this.overflowButton[0] || this._getEndOverflowBtnDOM();\n\t\t} else {\n\t\t\topener = this.startOverflowButton[0] || this._getStartOverflowBtnDOM();\n\t\t}\n\n\t\tawait this._togglePopover(opener, true);\n\t}\n\n\t_addStyleIndent(itemsFlat: Array<ITab>) {\n\t\tconst extraIndent = itemsFlat\n\t\t\t.filter(tab => !tab.isSeparator)\n\t\t\t.some(tab => tab.design !== SemanticColor.Default && tab.design !== SemanticColor.Neutral);\n\n\t\titemsFlat.forEach(item => {\n\t\t\tlet level = item.forcedLevel! - 1;\n\n\t\t\tif (item.isSeparator) {\n\t\t\t\tlevel += 1;\n\t\t\t}\n\n\t\t\titem.forcedStyle = {\n\t\t\t\t[getScopedVarName(\"--_ui5-tab-indentation-level\")]: level,\n\t\t\t\t[getScopedVarName(\"--_ui5-tab-extra-indent\")]: extraIndent ? 1 : null,\n\t\t\t};\n\t\t});\n\t}\n\n\tasync _onOverflowKeyDown(e: KeyboardEvent) {\n\t\tconst overflow = e.currentTarget as HTMLElement;\n\t\tconst isEndOverflow = overflow.classList.contains(\"ui5-tc__overflow--end\");\n\t\tconst isStartOverflow = overflow.classList.contains(\"ui5-tc__overflow--start\");\n\n\t\tif (isDown(e) || (isStartOverflow && isLeft(e)) || (isEndOverflow && isRight(e))) {\n\t\t\te.stopPropagation();\n\t\t\te.preventDefault();\n\t\t\tawait this._onOverflowClick(e);\n\t\t}\n\t}\n\n\t_setItemsForStrip() {\n\t\tconst tabStrip = this._getTabStrip();\n\t\tlet allItemsWidth = 0;\n\n\t\tif (!this._selectedTab) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst itemsDomRefs = this.items.map(item => item.getTabInStripDomRef()!);\n\n\t\t// make sure the overflows are hidden\n\t\tthis._getStartOverflow().setAttribute(\"hidden\", \"\");\n\t\tthis._getEndOverflow().setAttribute(\"hidden\", \"\");\n\n\t\t// show all tabs\n\t\tfor (let i = 0; i < itemsDomRefs.length; i++) {\n\t\t\titemsDomRefs[i].removeAttribute(\"hidden\");\n\t\t\titemsDomRefs[i].removeAttribute(\"start-overflow\");\n\t\t\titemsDomRefs[i].removeAttribute(\"end-overflow\");\n\t\t}\n\n\t\titemsDomRefs.forEach(item => {\n\t\t\tallItemsWidth += this._getItemWidth(item);\n\t\t});\n\n\t\tconst hasOverflow = tabStrip.offsetWidth < allItemsWidth;\n\t\tif (!hasOverflow) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isModeStartAndEnd) {\n\t\t\tthis._updateStartAndEndOverflow(itemsDomRefs);\n\t\t\tthis._updateOverflowCounters();\n\t\t} else {\n\t\t\tthis._updateEndOverflow(itemsDomRefs);\n\t\t}\n\t}\n\n\t_getRootTab(tab: Tab) {\n\t\twhile (tab.hasAttribute(\"ui5-tab\")) {\n\t\t\tif (tab.parentElement!.hasAttribute(\"ui5-tabcontainer\")) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\ttab = tab.parentElement as Tab;\n\t\t}\n\n\t\treturn tab;\n\t}\n\n\t_updateEndOverflow(itemsDomRefs: Array<ITab>) {\n\t\t// show end overflow\n\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\tconst selectedTab = this._getRootTab(this._selectedTab);\n\t\tconst selectedTabDomRef = selectedTab.getTabInStripDomRef()!;\n\t\tconst containerWidth = this._getTabStrip().offsetWidth;\n\n\t\tconst selectedItemIndexAndWidth = this._getSelectedItemIndexAndWidth(itemsDomRefs, selectedTabDomRef);\n\t\tconst lastVisibleTabIndex = this._findLastVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width);\n\n\t\tfor (let i = lastVisibleTabIndex + 1; i < itemsDomRefs.length; i++) {\n\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\titemsDomRefs[i].setAttribute(\"end-overflow\", \"\");\n\t\t}\n\n\t\tthis._endOverflowText = this.overflowButtonText;\n\t}\n\n\t_updateStartAndEndOverflow(itemsDomRefs: Array<ITab>) {\n\t\tlet containerWidth = this._getTabStrip().offsetWidth;\n\t\tconst selectedTab = this._getRootTab(this._selectedTab);\n\t\tconst selectedTabDomRef = selectedTab.getTabInStripDomRef()!;\n\t\tconst selectedItemIndexAndWidth = this._getSelectedItemIndexAndWidth(itemsDomRefs, selectedTabDomRef);\n\t\tconst hasStartOverflow = this._hasStartOverflow(containerWidth, itemsDomRefs, selectedItemIndexAndWidth);\n\t\tconst hasEndOverflow = this._hasEndOverflow(containerWidth, itemsDomRefs, selectedItemIndexAndWidth);\n\t\tlet firstVisible;\n\t\tlet lastVisible;\n\n\t\t// has \"end\", but no \"start\" overflow\n\t\tif (!hasStartOverflow) {\n\t\t\t// show \"end\" overflow\n\t\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\t\t// width is changed\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\n\t\t\tlastVisible = this._findLastVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width);\n\n\t\t\tfor (let i = lastVisible + 1; i < itemsDomRefs.length; i++) {\n\t\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\t\titemsDomRefs[i].setAttribute(\"end-overflow\", \"\");\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// has \"start\", but no \"end\" overflow\n\t\tif (!hasEndOverflow) {\n\t\t\t// show \"start\" overflow\n\t\t\tthis._getStartOverflow().removeAttribute(\"hidden\");\n\t\t\t// width is changed\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\n\t\t\tfirstVisible = this._findFirstVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width);\n\n\t\t\tfor (let i = firstVisible - 1; i >= 0; i--) {\n\t\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\t\titemsDomRefs[i].setAttribute(\"start-overflow\", \"\");\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// show \"start\" overflow\n\t\tthis._getStartOverflow().removeAttribute(\"hidden\");\n\t\t// show \"end\" overflow\n\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\t// width is changed\n\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\n\t\tfirstVisible = this._findFirstVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width, selectedItemIndexAndWidth.index - 1);\n\t\tlastVisible = this._findLastVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width, firstVisible);\n\n\t\tfor (let i = firstVisible - 1; i >= 0; i--) {\n\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\titemsDomRefs[i].setAttribute(\"start-overflow\", \"\");\n\t\t}\n\n\t\tfor (let i = lastVisible + 1; i < itemsDomRefs.length; i++) {\n\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\titemsDomRefs[i].setAttribute(\"end-overflow\", \"\");\n\t\t}\n\t}\n\n\t_hasStartOverflow(containerWidth: number, itemsDomRefs: Array<ITab>, selectedItemIndexAndWidth: { width: number; index: number}) {\n\t\tif (selectedItemIndexAndWidth.index === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet leftItemsWidth = 0;\n\n\t\tfor (let i = selectedItemIndexAndWidth.index - 1; i >= 0; i--) {\n\t\t\tleftItemsWidth += this._getItemWidth(itemsDomRefs[i]);\n\t\t}\n\n\t\tlet hasStartOverflow = containerWidth < leftItemsWidth + selectedItemIndexAndWidth.width;\n\n\t\t// if there is no \"start\" overflow, it has \"end\" overflow\n\t\t// check it again with the \"end\" overflow\n\t\tif (!hasStartOverflow) {\n\t\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\t\t\thasStartOverflow = containerWidth < leftItemsWidth + selectedItemIndexAndWidth.width;\n\t\t\tthis._getEndOverflow().setAttribute(\"hidden\", \"\");\n\t\t}\n\n\t\treturn hasStartOverflow;\n\t}\n\n\t_hasEndOverflow(containerWidth: number, itemsDomRefs: Array<ITab>, selectedItemIndexAndWidth: { width: number; index: number}) {\n\t\tif (selectedItemIndexAndWidth.index >= itemsDomRefs.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet rightItemsWidth = 0;\n\n\t\tfor (let i = selectedItemIndexAndWidth.index; i < itemsDomRefs.length; i++) {\n\t\t\trightItemsWidth += this._getItemWidth(itemsDomRefs[i]);\n\t\t}\n\n\t\tlet hasEndOverflow = containerWidth < rightItemsWidth + selectedItemIndexAndWidth.width;\n\n\t\t// if there is no \"end\" overflow, it has \"start\" overflow\n\t\t// check it again with the \"start\" overflow\n\t\tif (!hasEndOverflow) {\n\t\t\tthis._getStartOverflow().removeAttribute(\"hidden\");\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\t\t\thasEndOverflow = containerWidth < rightItemsWidth + selectedItemIndexAndWidth.width;\n\t\t\tthis._getStartOverflow().setAttribute(\"hidden\", \"\");\n\t\t}\n\n\t\treturn hasEndOverflow;\n\t}\n\n\t_getItemWidth(itemDomRef: HTMLElement) {\n\t\tconst styles = window.getComputedStyle(itemDomRef);\n\t\tconst margins = Number.parseInt(styles.marginLeft) + Number.parseInt(styles.marginRight);\n\n\t\treturn itemDomRef.offsetWidth + margins;\n\t}\n\n\t_getSelectedItemIndexAndWidth(itemsDomRefs: Array<ITab>, selectedTabDomRef: ITab) {\n\t\tlet index = itemsDomRefs.indexOf(selectedTabDomRef);\n\t\tlet width = selectedTabDomRef.offsetWidth;\n\t\tlet selectedSeparator;\n\n\t\tif (itemsDomRefs[index - 1] && itemsDomRefs[index - 1].isSeparator) {\n\t\t\tselectedSeparator = itemsDomRefs[index - 1];\n\t\t\twidth += this._getItemWidth(selectedSeparator);\n\t\t}\n\n\t\titemsDomRefs.splice(index, 1);\n\n\t\t// if previous item is a separator - remove it\n\t\tif (selectedSeparator) {\n\t\t\titemsDomRefs.splice(index - 1, 1);\n\t\t\tindex--;\n\t\t}\n\n\t\treturn {\n\t\t\tindex,\n\t\t\twidth,\n\t\t};\n\t}\n\n\t_findFirstVisibleItem(itemsDomRefs: Array<ITab>, containerWidth: number, selectedItemWidth: number, startIndex?: number) {\n\t\tif (startIndex === undefined) {\n\t\t\tstartIndex = itemsDomRefs.length - 1;\n\t\t}\n\n\t\tlet lastVisible = startIndex + 1;\n\n\t\tfor (let index = startIndex; index >= 0; index--) {\n\t\t\tconst itemWidth = this._getItemWidth(itemsDomRefs[index]);\n\n\t\t\tif (containerWidth < selectedItemWidth + itemWidth) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tselectedItemWidth += itemWidth;\n\t\t\tlastVisible = index;\n\t\t}\n\n\t\treturn lastVisible;\n\t}\n\n\t_findLastVisibleItem(itemsDomRefs: Array<ITab>, containerWidth: number, selectedItemWidth: number, startIndex = 0) {\n\t\tlet lastVisibleIndex = startIndex - 1;\n\t\tlet index = startIndex;\n\n\t\tfor (; index < itemsDomRefs.length; index++) {\n\t\t\tconst itemWidth = this._getItemWidth(itemsDomRefs[index]);\n\n\t\t\tif (containerWidth < selectedItemWidth + itemWidth) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tselectedItemWidth += itemWidth;\n\t\t\tlastVisibleIndex = index;\n\t\t}\n\n\t\t// if prev item is separator - hide it\n\t\tconst prevItem = itemsDomRefs[index - 1];\n\t\tif (prevItem && prevItem.isSeparator) {\n\t\t\tlastVisibleIndex -= 1;\n\t\t}\n\n\t\treturn lastVisibleIndex;\n\t}\n\n\tget isModeStartAndEnd() {\n\t\treturn this.tabsOverflowMode === TabsOverflowMode.StartAndEnd;\n\t}\n\n\t_updateOverflowCounters() {\n\t\tlet startOverflowItemsCount = 0;\n\t\tlet endOverflowItemsCount = 0;\n\n\t\tthis._getTabs()\n\t\t\t.map(tab => tab.getTabInStripDomRef()!)\n\t\t\t.forEach(tab => {\n\t\t\t\tif (tab.hasAttribute(\"start-overflow\")) {\n\t\t\t\t\tstartOverflowItemsCount++;\n\t\t\t\t}\n\n\t\t\t\tif (tab.hasAttribute(\"end-overflow\")) {\n\t\t\t\t\tendOverflowItemsCount++;\n\t\t\t\t}\n\t\t\t});\n\n\t\tthis._startOverflowText = `+${startOverflowItemsCount}`;\n\t\tthis._endOverflowText = `+${endOverflowItemsCount}`;\n\t}\n\n\t_getFocusableRefs() {\n\t\tif (!this.getDomRef()) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst focusableRefs = [];\n\n\t\tif (!this._getStartOverflow().hasAttribute(\"hidden\")) {\n\t\t\tfocusableRefs.push(this.startOverflowButton[0] || this._getStartOverflowBtnDOM());\n\t\t}\n\n\t\tthis._getTabs().forEach(tab => {\n\t\t\tconst ref = tab.getTabInStripDomRef();\n\t\t\tconst focusable = ref && !ref.hasAttribute(\"hidden\");\n\n\t\t\tif (focusable) {\n\t\t\t\tfocusableRefs.push(tab);\n\t\t\t}\n\t\t});\n\n\t\tif (!this._getEndOverflow().hasAttribute(\"hidden\")) {\n\t\t\tfocusableRefs.push(this.overflowButton[0] || this._getEndOverflowBtnDOM());\n\t\t}\n\n\t\treturn focusableRefs;\n\t}\n\n\t_getHeader() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`#${this._id}-header`)!;\n\t}\n\n\t_getTabs(): Array<Tab> {\n\t\treturn this.items.filter((item): item is Tab => !item.isSeparator);\n\t}\n\n\t_getPopoverOwner(opener: HTMLElement): TabContainerPopoverOwner {\n\t\tif (opener === this._getStartOverflowBtnDOM() || opener.slot === \"startOverflowButton\") {\n\t\t\treturn \"start-overflow\";\n\t\t}\n\n\t\tif (opener === this._getEndOverflowBtnDOM() || opener.slot === \"overflowButton\") {\n\t\t\treturn \"end-overflow\";\n\t\t}\n\n\t\tif (opener instanceof Button) {\n\t\t\treturn (opener as TabContainerExpandButton).tab;\n\t\t}\n\n\t\treturn (opener as Tab);\n\t}\n\n\t_getPopoverItemsFor(targetOwner: TabContainerPopoverOwner) {\n\t\tif (targetOwner === \"start-overflow\") {\n\t\t\treturn this.items.filter(item => {\n\t\t\t\tconst stripRef = item.getTabInStripDomRef();\n\n\t\t\t\treturn stripRef && stripRef.hasAttribute(\"start-overflow\");\n\t\t\t});\n\t\t}\n\n\t\tif (targetOwner === \"end-overflow\") {\n\t\t\treturn this.items.filter(item => {\n\t\t\t\tconst stripRef = item.getTabInStripDomRef();\n\n\t\t\t\treturn stripRef && stripRef.hasAttribute(\"end-overflow\");\n\t\t\t});\n\t\t}\n\n\t\tif (isTabInStrip(targetOwner)) {\n\t\t\treturn targetOwner.realTabReference.subTabs;\n\t\t}\n\n\t\treturn targetOwner.subTabs;\n\t}\n\n\t_setPopoverItems(items: Array<ITab>) {\n\t\tconst newItemsFlat = this._flatten(items);\n\n\t\tif (!arraysAreEqual(this._popoverItemsFlat, newItemsFlat)) {\n\t\t\tthis._popoverItemsFlat = newItemsFlat;\n\t\t\tthis._addStyleIndent(this._popoverItemsFlat);\n\t\t}\n\t}\n\n\tasync _togglePopover(opener: HTMLElement, setInitialFocus = false) {\n\t\tthis.responsivePopover = await this._respPopover();\n\n\t\tif (this.responsivePopover.isOpen()) {\n\t\t\tthis.responsivePopover.close();\n\t\t} else {\n\t\t\tthis._showPopoverAt(opener, setInitialFocus);\n\t\t}\n\t}\n\n\tasync _showPopoverAt(opener: HTMLElement, setInitialFocus = false) {\n\t\tthis._setPopoverItems(this._getPopoverItemsFor(this._getPopoverOwner(opener)));\n\t\tthis.responsivePopover = await this._respPopover();\n\n\t\tif (this.responsivePopover.isOpen() && this.responsivePopover._opener !== opener) {\n\t\t\tthis.responsivePopover.close();\n\t\t}\n\n\t\tif (setInitialFocus) {\n\t\t\tthis._setPopoverInitialFocus();\n\t\t}\n\n\t\tthis.responsivePopover.showAt(opener);\n\t}\n\n\tget hasSubTabs(): boolean {\n\t\tconst tabs = this._getTabs();\n\n\t\tfor (let i = 0; i < tabs.length; i++) {\n\t\t\tif (tabs[i].subTabs.length > 0) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t_getTabStrip() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`#${this._id}-tabStrip`)!;\n\t}\n\n\t_getStartOverflow() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tc__overflow--start\")!;\n\t}\n\n\t_getEndOverflow() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tc__overflow--end\")!;\n\t}\n\n\t_getStartOverflowBtnDOM() {\n\t\treturn this._getStartOverflow().querySelector<Button>(\"[ui5-button]\");\n\t}\n\n\t_getEndOverflowBtnDOM() {\n\t\treturn this._getEndOverflow().querySelector<Button>(\"[ui5-button]\");\n\t}\n\n\tasync _respPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<ResponsivePopover>(`#${this._id}-overflowMenu`)!;\n\t}\n\n\tasync _closeRespPopover() {\n\t\tthis.responsivePopover = await this._respPopover();\n\t\tthis.responsivePopover.close();\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-tc-root\": true,\n\t\t\t\t\"ui5-tc--textOnly\": this.textOnly,\n\t\t\t\t\"ui5-tc--withAdditionalText\": this.withAdditionalText,\n\t\t\t\t\"ui5-tc--standardTabLayout\": this.standardTabLayout,\n\t\t\t},\n\t\t\theader: {\n\t\t\t\t\"ui5-tc__header\": true,\n\t\t\t},\n\t\t\ttabStrip: {\n\t\t\t\t\"ui5-tc__tabStrip\": true,\n\t\t\t},\n\t\t\tseparator: {\n\t\t\t\t\"ui5-tc__separator\": true,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-tc__content\": true,\n\t\t\t\t\"ui5-tc__content--collapsed\": this._contentCollapsed,\n\t\t\t},\n\t\t};\n\t}\n\n\tget mixedMode() {\n\t\treturn this.items.some(item => item.icon) && this.items.some(item => item.text);\n\t}\n\n\tget textOnly() {\n\t\treturn this.items.every(item => !item.icon);\n\t}\n\n\tget withAdditionalText() {\n\t\treturn this.items.some(item => !!item.additionalText);\n\t}\n\n\tget standardTabLayout() {\n\t\treturn this.tabLayout === TabLayout.Standard;\n\t}\n\n\tget previousIconACCName() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_PREVIOUS_ICON_ACC_NAME);\n\t}\n\n\tget nextIconACCName() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_NEXT_ICON_ACC_NAME);\n\t}\n\n\tget overflowMenuTitle() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_OVERFLOW_MENU_TITLE);\n\t}\n\n\tget tabsAtTheBottom() {\n\t\treturn this.tabsPlacement === TabContainerTabsPlacement.Bottom;\n\t}\n\n\tget overflowMenuIcon() {\n\t\treturn this.tabsAtTheBottom ? \"slim-arrow-up\" : \"slim-arrow-down\";\n\t}\n\n\tget overflowButtonText() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_END_OVERFLOW);\n\t}\n\n\tget popoverCancelButtonText() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_POPOVER_CANCEL_BUTTON);\n\t}\n\n\tget accInvisibleText() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_SUBTABS_DESCRIPTION);\n\t}\n\n\tget tablistAriaDescribedById() {\n\t\treturn this.hasSubTabs ? `${this._id}-invisibleText` : undefined;\n\t}\n\n\tget shouldAnimate() {\n\t\treturn getAnimationMode() !== AnimationMode.None;\n\t}\n\n\tstatic async onDefine() {\n\t\tTabContainer.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nconst isTabInStrip = (el: HTMLElement) => el.localName === \"div\" && el.getAttribute(\"role\") === \"tab\";\n\nconst getTab = (el: HTMLElement | null) => {\n\twhile (el) {\n\t\tif (isTabInStrip(el)) {\n\t\t\treturn el as Tab;\n\t\t}\n\n\t\tel = el.parentElement;\n\t}\n\n\treturn false;\n};\n\nconst walk = (tabs: Array<ITab>, callback: (_: ITab) => void) => {\n\t[...tabs].forEach(tab => {\n\t\tcallback(tab);\n\t\tif (tab.subTabs) {\n\t\t\twalk(tab.subTabs, callback);\n\t\t}\n\t});\n};\n\nTabContainer.define();\n\nexport default TabContainer;\nexport type {\n\tITab,\n\tTabContainerTabSelectEventDetail,\n};\n"]}
@@ -1 +1 @@
1
- :host(:not([hidden])){display:inline-block;box-sizing:border-box;position:relative}:host(:not([hidden]).ui5_hovered){opacity:.7}:host(:is([interactive]):not([disabled])){cursor:pointer}:host(:is([interactive][pressed]):not([hidden])){background:var(--sapButton_Active_Background);border-color:var(--sapButton_Active_BorderColor);color:var(--sapButton_Active_TextColor)}:host(:is([interactive][pressed]):not([hidden]):hover){background:var(--sapButton_Selected_Hover_Background);border-color:var(--sapButton_Selected_Hover_BorderColor);color:var(--sapButton_Selected_TextColor)}:host(:is([interactive]):not([hidden]):not([pressed]):not([disabled]):hover){box-shadow:var(--ui5-v1-23-1-avatar-hover-box-shadow-offset)}:host(:is([interactive][focused]):not([hidden]):not([pressed])){outline:var(--_ui5-v1-23-1_avatar_outline);outline-offset:var(--_ui5-v1-23-1_avatar_focus_offset)}:host(:is([disabled])){opacity:var(--sapContent_DisabledOpacity)}:host{height:3rem;width:3rem;border-radius:50%;border:var(--ui5-v1-23-1-avatar-initials-border);outline:none;color:var(--ui5-v1-23-1-avatar-initials-color)}.ui5-avatar-root{display:flex;align-items:center;justify-content:center;outline:none;height:100%;width:100%}:host([_size="XS"]),:host([size="XS"]){height:2rem;width:2rem;min-height:2rem;min-width:2rem;font-size:var(--_ui5-v1-23-1_avatar_fontsize_XS)}:host([_size="S"]),:host([size="S"]){min-height:3rem;min-width:3rem;font-size:var(--_ui5-v1-23-1_avatar_fontsize_S)}:host([_size="M"]),:host([size="M"]){min-height:4rem;min-width:4rem;font-size:var(--_ui5-v1-23-1_avatar_fontsize_M)}:host([_size="L"]),:host([size="L"]){min-height:5rem;min-width:5rem;font-size:var(--_ui5-v1-23-1_avatar_fontsize_L)}:host([_size="XL"]),:host([size="XL"]){min-height:7rem;min-width:7rem;font-size:var(--_ui5-v1-23-1_avatar_fontsize_XL)}:host .ui5-avatar-icon{height:var(--_ui5-v1-23-1_avatar_fontsize_S);width:var(--_ui5-v1-23-1_avatar_fontsize_S);color:inherit}:host([_size="XS"]) .ui5-avatar-icon,:host([size="XS"]) .ui5-avatar-icon{height:var(--_ui5-v1-23-1_avatar_icon_XS);width:var(--_ui5-v1-23-1_avatar_icon_XS)}:host([_size="S"]) .ui5-avatar-icon,:host([size="S"]) .ui5-avatar-icon{height:var(--_ui5-v1-23-1_avatar_icon_S);width:var(--_ui5-v1-23-1_avatar_icon_S)}:host([_size="M"]) .ui5-avatar-icon,:host([size="M"]) .ui5-avatar-icon{height:var(--_ui5-v1-23-1_avatar_icon_M);width:var(--_ui5-v1-23-1_avatar_icon_M)}:host([_size="L"]) .ui5-avatar-icon,:host([size="L"]) .ui5-avatar-icon{height:var(--_ui5-v1-23-1_avatar_icon_L);width:var(--_ui5-v1-23-1_avatar_icon_L)}:host([_size="XL"]) .ui5-avatar-icon,:host([size="XL"]) .ui5-avatar-icon{height:var(--_ui5-v1-23-1_avatar_icon_XL);width:var(--_ui5-v1-23-1_avatar_icon_XL)}::slotted(*){border-radius:50%;width:100%;height:100%;pointer-events:none}:host([shape="Square"]){border-radius:var(--ui5-v1-23-1-avatar-border-radius)}:host([shape="Square"]) ::slotted(*){border-radius:calc(var(--ui5-v1-23-1-avatar-border-radius) - var(--ui5-v1-23-1-avatar-border-radius-img-deduction))}:host(:not([color-scheme])),:host(:not([_has-image])),:host([_color-scheme="Accent6"]),:host([ui5-avatar][color-scheme="Accent6"]){background-color:var(--ui5-v1-23-1-avatar-accent6);color:var(--ui5-v1-23-1-avatar-accent6-color);border-color:var(--ui5-v1-23-1-avatar-accent6-border-color)}:host([_color-scheme="Accent1"]),:host([ui5-avatar][color-scheme="Accent1"]){background-color:var(--ui5-v1-23-1-avatar-accent1);color:var(--ui5-v1-23-1-avatar-accent1-color);border-color:var(--ui5-v1-23-1-avatar-accent1-border-color)}:host([_color-scheme="Accent2"]),:host([ui5-avatar][color-scheme="Accent2"]){background-color:var(--ui5-v1-23-1-avatar-accent2);color:var(--ui5-v1-23-1-avatar-accent2-color);border-color:var(--ui5-v1-23-1-avatar-accent2-border-color)}:host([_color-scheme="Accent3"]),:host([ui5-avatar][color-scheme="Accent3"]){background-color:var(--ui5-v1-23-1-avatar-accent3);color:var(--ui5-v1-23-1-avatar-accent3-color);border-color:var(--ui5-v1-23-1-avatar-accent3-border-color)}:host([_color-scheme="Accent4"]),:host([ui5-avatar][color-scheme="Accent4"]){background-color:var(--ui5-v1-23-1-avatar-accent4);color:var(--ui5-v1-23-1-avatar-accent4-color);border-color:var(--ui5-v1-23-1-avatar-accent4-border-color)}:host([_color-scheme="Accent5"]),:host([ui5-avatar][color-scheme="Accent5"]){background-color:var(--ui5-v1-23-1-avatar-accent5);color:var(--ui5-v1-23-1-avatar-accent5-color);border-color:var(--ui5-v1-23-1-avatar-accent5-border-color)}:host([_color-scheme="Accent7"]),:host([ui5-avatar][color-scheme="Accent7"]){background-color:var(--ui5-v1-23-1-avatar-accent7);color:var(--ui5-v1-23-1-avatar-accent7-color);border-color:var(--ui5-v1-23-1-avatar-accent7-border-color)}:host([_color-scheme="Accent8"]),:host([ui5-avatar][color-scheme="Accent8"]){background-color:var(--ui5-v1-23-1-avatar-accent8);color:var(--ui5-v1-23-1-avatar-accent8-color);border-color:var(--ui5-v1-23-1-avatar-accent8-border-color)}:host([_color-scheme="Accent9"]),:host([ui5-avatar][color-scheme="Accent9"]){background-color:var(--ui5-v1-23-1-avatar-accent9);color:var(--ui5-v1-23-1-avatar-accent9-color);border-color:var(--ui5-v1-23-1-avatar-accent9-border-color)}:host([_color-scheme="Accent10"]),:host([ui5-avatar][color-scheme="Accent10"]){background-color:var(--ui5-v1-23-1-avatar-accent10);color:var(--ui5-v1-23-1-avatar-accent10-color);border-color:var(--ui5-v1-23-1-avatar-accent10-border-color)}:host([_color-scheme="Placeholder"]),:host([ui5-avatar][color-scheme="Placeholder"]){background-color:var(--ui5-v1-23-1-avatar-placeholder);color:var(--ui5-v1-23-1-avatar-placeholder-color);border-color:var(--ui5-v1-23-1-avatar-placeholder-border-color)}:host([_has-image]){color:var(--ui5-v1-23-1-avatar-accent10-color);background-color:transparent;vertical-align:middle}.ui5-avatar-initials{color:inherit}.ui5-avatar-icon~.ui5-avatar-initials,.ui5-avatar-icon~.ui5-avatar-icon-fallback{display:none}.ui5-avatar-fallback-icon-hidden{display:none}.ui5-avatar-initials-hidden{position:absolute;visibility:hidden;z-index:0;pointer-events:none}::slotted([slot="badge"]){position:absolute;bottom:0;right:0;width:1.125rem;height:1.125rem;background:var(--sapButton_Emphasized_Background);border:var(--sapButton_Emphasized_Background);border-radius:1rem;color:var(--sapContent_BadgeTextColor);justify-content:center;font-family:"72override",var(--sapFontFamily);font-size:var(--sapFontSmallSize)}::slotted([ui5-badge][slot="badge"]){padding:.1875rem}:host([_size="L"]) ::slotted([slot="badge"]),:host([size="L"]) ::slotted([slot="badge"]){width:1.25rem;height:1.25rem}:host([_size="XL"]) ::slotted([slot="badge"]),:host([size="XL"]) ::slotted([slot="badge"]){padding:.375rem;width:1.75rem;height:1.75rem}:host([shape="Square"]) ::slotted([slot="badge"]){bottom:-.125rem;right:-.125rem}:host([_size="L"][shape="Square"]) ::slotted([slot="badge"]),:host([size="L"][shape="Square"]) ::slotted([slot="badge"]){bottom:-.1875rem;right:-.1875rem}:host([_size="XL"][shape="Square"]) ::slotted([slot="badge"]),:host([size="XL"][shape="Square"]) ::slotted([slot="badge"]){bottom:-.25rem;right:-.25rem}
1
+ :host(:not([hidden])){display:inline-block;box-sizing:border-box;position:relative}:host(:not([hidden]).ui5_hovered){opacity:.7}:host(:is([interactive]):not([disabled])){cursor:pointer}:host(:is([interactive][pressed]):not([hidden])){background:var(--sapButton_Active_Background);border-color:var(--sapButton_Active_BorderColor);color:var(--sapButton_Active_TextColor)}:host(:is([interactive][pressed]):not([hidden]):hover){background:var(--sapButton_Selected_Hover_Background);border-color:var(--sapButton_Selected_Hover_BorderColor);color:var(--sapButton_Selected_TextColor)}:host(:is([interactive]):not([hidden]):not([pressed]):not([disabled]):hover){box-shadow:var(--ui5-v1-23-2-avatar-hover-box-shadow-offset)}:host(:is([interactive][focused]):not([hidden]):not([pressed])){outline:var(--_ui5-v1-23-2_avatar_outline);outline-offset:var(--_ui5-v1-23-2_avatar_focus_offset)}:host(:is([disabled])){opacity:var(--sapContent_DisabledOpacity)}:host{height:3rem;width:3rem;border-radius:50%;border:var(--ui5-v1-23-2-avatar-initials-border);outline:none;color:var(--ui5-v1-23-2-avatar-initials-color)}.ui5-avatar-root{display:flex;align-items:center;justify-content:center;outline:none;height:100%;width:100%}:host([_size="XS"]),:host([size="XS"]){height:2rem;width:2rem;min-height:2rem;min-width:2rem;font-size:var(--_ui5-v1-23-2_avatar_fontsize_XS)}:host([_size="S"]),:host([size="S"]){min-height:3rem;min-width:3rem;font-size:var(--_ui5-v1-23-2_avatar_fontsize_S)}:host([_size="M"]),:host([size="M"]){min-height:4rem;min-width:4rem;font-size:var(--_ui5-v1-23-2_avatar_fontsize_M)}:host([_size="L"]),:host([size="L"]){min-height:5rem;min-width:5rem;font-size:var(--_ui5-v1-23-2_avatar_fontsize_L)}:host([_size="XL"]),:host([size="XL"]){min-height:7rem;min-width:7rem;font-size:var(--_ui5-v1-23-2_avatar_fontsize_XL)}:host .ui5-avatar-icon{height:var(--_ui5-v1-23-2_avatar_fontsize_S);width:var(--_ui5-v1-23-2_avatar_fontsize_S);color:inherit}:host([_size="XS"]) .ui5-avatar-icon,:host([size="XS"]) .ui5-avatar-icon{height:var(--_ui5-v1-23-2_avatar_icon_XS);width:var(--_ui5-v1-23-2_avatar_icon_XS)}:host([_size="S"]) .ui5-avatar-icon,:host([size="S"]) .ui5-avatar-icon{height:var(--_ui5-v1-23-2_avatar_icon_S);width:var(--_ui5-v1-23-2_avatar_icon_S)}:host([_size="M"]) .ui5-avatar-icon,:host([size="M"]) .ui5-avatar-icon{height:var(--_ui5-v1-23-2_avatar_icon_M);width:var(--_ui5-v1-23-2_avatar_icon_M)}:host([_size="L"]) .ui5-avatar-icon,:host([size="L"]) .ui5-avatar-icon{height:var(--_ui5-v1-23-2_avatar_icon_L);width:var(--_ui5-v1-23-2_avatar_icon_L)}:host([_size="XL"]) .ui5-avatar-icon,:host([size="XL"]) .ui5-avatar-icon{height:var(--_ui5-v1-23-2_avatar_icon_XL);width:var(--_ui5-v1-23-2_avatar_icon_XL)}::slotted(*){border-radius:50%;width:100%;height:100%;pointer-events:none}:host([shape="Square"]){border-radius:var(--ui5-v1-23-2-avatar-border-radius)}:host([shape="Square"]) ::slotted(*){border-radius:calc(var(--ui5-v1-23-2-avatar-border-radius) - var(--ui5-v1-23-2-avatar-border-radius-img-deduction))}:host(:not([color-scheme])),:host(:not([_has-image])),:host([_color-scheme="Accent6"]),:host([ui5-avatar][color-scheme="Accent6"]){background-color:var(--ui5-v1-23-2-avatar-accent6);color:var(--ui5-v1-23-2-avatar-accent6-color);border-color:var(--ui5-v1-23-2-avatar-accent6-border-color)}:host([_color-scheme="Accent1"]),:host([ui5-avatar][color-scheme="Accent1"]){background-color:var(--ui5-v1-23-2-avatar-accent1);color:var(--ui5-v1-23-2-avatar-accent1-color);border-color:var(--ui5-v1-23-2-avatar-accent1-border-color)}:host([_color-scheme="Accent2"]),:host([ui5-avatar][color-scheme="Accent2"]){background-color:var(--ui5-v1-23-2-avatar-accent2);color:var(--ui5-v1-23-2-avatar-accent2-color);border-color:var(--ui5-v1-23-2-avatar-accent2-border-color)}:host([_color-scheme="Accent3"]),:host([ui5-avatar][color-scheme="Accent3"]){background-color:var(--ui5-v1-23-2-avatar-accent3);color:var(--ui5-v1-23-2-avatar-accent3-color);border-color:var(--ui5-v1-23-2-avatar-accent3-border-color)}:host([_color-scheme="Accent4"]),:host([ui5-avatar][color-scheme="Accent4"]){background-color:var(--ui5-v1-23-2-avatar-accent4);color:var(--ui5-v1-23-2-avatar-accent4-color);border-color:var(--ui5-v1-23-2-avatar-accent4-border-color)}:host([_color-scheme="Accent5"]),:host([ui5-avatar][color-scheme="Accent5"]){background-color:var(--ui5-v1-23-2-avatar-accent5);color:var(--ui5-v1-23-2-avatar-accent5-color);border-color:var(--ui5-v1-23-2-avatar-accent5-border-color)}:host([_color-scheme="Accent7"]),:host([ui5-avatar][color-scheme="Accent7"]){background-color:var(--ui5-v1-23-2-avatar-accent7);color:var(--ui5-v1-23-2-avatar-accent7-color);border-color:var(--ui5-v1-23-2-avatar-accent7-border-color)}:host([_color-scheme="Accent8"]),:host([ui5-avatar][color-scheme="Accent8"]){background-color:var(--ui5-v1-23-2-avatar-accent8);color:var(--ui5-v1-23-2-avatar-accent8-color);border-color:var(--ui5-v1-23-2-avatar-accent8-border-color)}:host([_color-scheme="Accent9"]),:host([ui5-avatar][color-scheme="Accent9"]){background-color:var(--ui5-v1-23-2-avatar-accent9);color:var(--ui5-v1-23-2-avatar-accent9-color);border-color:var(--ui5-v1-23-2-avatar-accent9-border-color)}:host([_color-scheme="Accent10"]),:host([ui5-avatar][color-scheme="Accent10"]){background-color:var(--ui5-v1-23-2-avatar-accent10);color:var(--ui5-v1-23-2-avatar-accent10-color);border-color:var(--ui5-v1-23-2-avatar-accent10-border-color)}:host([_color-scheme="Placeholder"]),:host([ui5-avatar][color-scheme="Placeholder"]){background-color:var(--ui5-v1-23-2-avatar-placeholder);color:var(--ui5-v1-23-2-avatar-placeholder-color);border-color:var(--ui5-v1-23-2-avatar-placeholder-border-color)}:host([_has-image]){color:var(--ui5-v1-23-2-avatar-accent10-color);background-color:transparent;vertical-align:middle}.ui5-avatar-initials{color:inherit}.ui5-avatar-icon~.ui5-avatar-initials,.ui5-avatar-icon~.ui5-avatar-icon-fallback{display:none}.ui5-avatar-fallback-icon-hidden{display:none}.ui5-avatar-initials-hidden{position:absolute;visibility:hidden;z-index:0;pointer-events:none}::slotted([slot="badge"]){position:absolute;bottom:0;right:0;width:1.125rem;height:1.125rem;background:var(--sapButton_Emphasized_Background);border:var(--sapButton_Emphasized_Background);border-radius:1rem;color:var(--sapContent_BadgeTextColor);justify-content:center;font-family:"72override",var(--sapFontFamily);font-size:var(--sapFontSmallSize)}::slotted([ui5-badge][slot="badge"]){padding:.1875rem}:host([_size="L"]) ::slotted([slot="badge"]),:host([size="L"]) ::slotted([slot="badge"]){width:1.25rem;height:1.25rem}:host([_size="XL"]) ::slotted([slot="badge"]),:host([size="XL"]) ::slotted([slot="badge"]){padding:.375rem;width:1.75rem;height:1.75rem}:host([shape="Square"]) ::slotted([slot="badge"]){bottom:-.125rem;right:-.125rem}:host([_size="L"][shape="Square"]) ::slotted([slot="badge"]),:host([size="L"][shape="Square"]) ::slotted([slot="badge"]){bottom:-.1875rem;right:-.1875rem}:host([_size="XL"][shape="Square"]) ::slotted([slot="badge"]),:host([size="XL"][shape="Square"]) ::slotted([slot="badge"]){bottom:-.25rem;right:-.25rem}
@@ -1 +1 @@
1
- :host{-webkit-tap-highlight-color:rgba(0,0,0,0)}:host(:not([hidden])){display:block;width:100%}:host{--_ui5-v1-23-1_button_focused_border: var(--_ui5-v1-23-1_avatar_group_button_focus_border)}.ui5-avatar-group-items:focus{outline:none}:host([type="Group"]) .ui5-avatar-group-items:focus{outline:var(--_ui5-v1-23-1_avatar_outline);outline-offset:var(--_ui5-v1-23-1_avatar_focus_offset);border-radius:var(--_ui5-v1-23-1_avatar_group_focus_border_radius)}.ui5-avatar-group-root{display:flex}.ui5-avatar-group-items{white-space:nowrap;position:relative;display:inline-flex}:host([type="Group"]) .ui5-avatar-group-items{cursor:pointer}:host([type="Group"]) ::slotted([ui5-button]),:host([type="Group"]) ::slotted([ui5-avatar]){pointer-events:none}::slotted([ui5-button]:not([hidden])),.ui5-avatar-group-overflow-btn:not([hidden]){--_ui5-v1-23-1_button_base_padding: 0;border-radius:50%;display:inline-flex;text-overflow:initial;z-index:0}::slotted([ui5-button][focused]),.ui5-avatar-group-overflow-btn[focused]{outline:var(--_ui5-v1-23-1_avatar_outline);outline-offset:var(--_ui5-v1-23-1_avatar_focus_offset)}.ui5-avatar-group-overflow-btn.ui5-avatar-group-overflow-btn-xs{height:2rem;width:2rem;min-width:2rem;font-size:.75rem}::slotted([ui5-button]),.ui5-avatar-group-overflow-btn.ui5-avatar-group-overflow-btn-s{height:3rem;width:3rem;min-width:3rem;font-size:1.125rem}.ui5-avatar-group-overflow-btn.ui5-avatar-group-overflow-btn-m{height:4rem;width:4rem;min-width:4rem;font-size:1.625rem}.ui5-avatar-group-overflow-btn.ui5-avatar-group-overflow-btn-l{height:5rem;width:5rem;min-width:5rem;font-size:2rem}.ui5-avatar-group-overflow-btn.ui5-avatar-group-overflow-btn-xl{height:7rem;width:7rem;min-width:7rem;font-size:2.75rem}
1
+ :host{-webkit-tap-highlight-color:rgba(0,0,0,0)}:host(:not([hidden])){display:block;width:100%}:host{--_ui5-v1-23-2_button_focused_border: var(--_ui5-v1-23-2_avatar_group_button_focus_border)}.ui5-avatar-group-items:focus{outline:none}:host([type="Group"]) .ui5-avatar-group-items:focus{outline:var(--_ui5-v1-23-2_avatar_outline);outline-offset:var(--_ui5-v1-23-2_avatar_focus_offset);border-radius:var(--_ui5-v1-23-2_avatar_group_focus_border_radius)}.ui5-avatar-group-root{display:flex}.ui5-avatar-group-items{white-space:nowrap;position:relative;display:inline-flex}:host([type="Group"]) .ui5-avatar-group-items{cursor:pointer}:host([type="Group"]) ::slotted([ui5-button]),:host([type="Group"]) ::slotted([ui5-avatar]){pointer-events:none}::slotted([ui5-button]:not([hidden])),.ui5-avatar-group-overflow-btn:not([hidden]){--_ui5-v1-23-2_button_base_padding: 0;border-radius:50%;display:inline-flex;text-overflow:initial;z-index:0}::slotted([ui5-button][focused]),.ui5-avatar-group-overflow-btn[focused]{outline:var(--_ui5-v1-23-2_avatar_outline);outline-offset:var(--_ui5-v1-23-2_avatar_focus_offset)}.ui5-avatar-group-overflow-btn.ui5-avatar-group-overflow-btn-xs{height:2rem;width:2rem;min-width:2rem;font-size:.75rem}::slotted([ui5-button]),.ui5-avatar-group-overflow-btn.ui5-avatar-group-overflow-btn-s{height:3rem;width:3rem;min-width:3rem;font-size:1.125rem}.ui5-avatar-group-overflow-btn.ui5-avatar-group-overflow-btn-m{height:4rem;width:4rem;min-width:4rem;font-size:1.625rem}.ui5-avatar-group-overflow-btn.ui5-avatar-group-overflow-btn-l{height:5rem;width:5rem;min-width:5rem;font-size:2rem}.ui5-avatar-group-overflow-btn.ui5-avatar-group-overflow-btn-xl{height:7rem;width:7rem;min-width:7rem;font-size:2.75rem}