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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (712) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/cypress/specs/Avatar.cy.tsx +15 -0
  3. package/cypress/specs/Calendar.cy.tsx +703 -0
  4. package/cypress/specs/Input.cy.tsx +60 -0
  5. package/cypress/specs/MultiInput.cy.tsx +1 -0
  6. package/cypress/specs/Popover.cy.tsx +91 -0
  7. package/cypress/specs/Table.cy.tsx +255 -61
  8. package/cypress/specs/TableSelection.cy.tsx +243 -0
  9. package/cypress/specs/base/Events.cy.tsx +4 -5
  10. package/cypress/support/commands/Calendar.commands.ts +15 -0
  11. package/cypress/support/commands.ts +7 -2
  12. package/dist/.tsbuildinfo +1 -1
  13. package/dist/AvatarTemplate.js +1 -1
  14. package/dist/AvatarTemplate.js.map +1 -1
  15. package/dist/ComboBox.d.ts +0 -1
  16. package/dist/ComboBox.js +0 -1
  17. package/dist/ComboBox.js.map +1 -1
  18. package/dist/DateTimeInput.d.ts +1 -0
  19. package/dist/DateTimeInput.js +5 -1
  20. package/dist/DateTimeInput.js.map +1 -1
  21. package/dist/ExpandableText.d.ts +0 -1
  22. package/dist/ExpandableText.js +0 -7
  23. package/dist/ExpandableText.js.map +1 -1
  24. package/dist/ExpandableTextTemplate.js +1 -1
  25. package/dist/ExpandableTextTemplate.js.map +1 -1
  26. package/dist/Input.js +1 -4
  27. package/dist/Input.js.map +1 -1
  28. package/dist/InputPopoverTemplate.d.ts +4 -1
  29. package/dist/InputPopoverTemplate.js +3 -2
  30. package/dist/InputPopoverTemplate.js.map +1 -1
  31. package/dist/InputTemplate.d.ts +3 -1
  32. package/dist/InputTemplate.js +2 -1
  33. package/dist/InputTemplate.js.map +1 -1
  34. package/dist/Link.d.ts +15 -0
  35. package/dist/Link.js +17 -0
  36. package/dist/Link.js.map +1 -1
  37. package/dist/ListItem.d.ts +0 -8
  38. package/dist/ListItem.js +0 -9
  39. package/dist/ListItem.js.map +1 -1
  40. package/dist/ListItemTemplate.js +2 -2
  41. package/dist/ListItemTemplate.js.map +1 -1
  42. package/dist/ListTemplate.js +1 -1
  43. package/dist/ListTemplate.js.map +1 -1
  44. package/dist/MultiComboBox.d.ts +1 -3
  45. package/dist/MultiComboBox.js +22 -19
  46. package/dist/MultiComboBox.js.map +1 -1
  47. package/dist/MultiComboBoxPopoverTemplate.d.ts +2 -0
  48. package/dist/MultiComboBoxPopoverTemplate.js +35 -0
  49. package/dist/MultiComboBoxPopoverTemplate.js.map +1 -0
  50. package/dist/MultiComboBoxTemplate.d.ts +2 -0
  51. package/dist/MultiComboBoxTemplate.js +26 -0
  52. package/dist/MultiComboBoxTemplate.js.map +1 -0
  53. package/dist/Popover.js +8 -5
  54. package/dist/Popover.js.map +1 -1
  55. package/dist/Select.js +1 -3
  56. package/dist/Select.js.map +1 -1
  57. package/dist/Table.d.ts +14 -9
  58. package/dist/Table.js +36 -31
  59. package/dist/Table.js.map +1 -1
  60. package/dist/TableCell.d.ts +1 -2
  61. package/dist/TableCell.js +13 -5
  62. package/dist/TableCell.js.map +1 -1
  63. package/dist/TableCellBase.d.ts +1 -0
  64. package/dist/TableCellBase.js +4 -0
  65. package/dist/TableCellBase.js.map +1 -1
  66. package/dist/TableHeaderCell.d.ts +33 -0
  67. package/dist/TableHeaderCell.js +45 -2
  68. package/dist/TableHeaderCell.js.map +1 -1
  69. package/dist/TableHeaderCellActionAI.d.ts +28 -0
  70. package/dist/TableHeaderCellActionAI.js +45 -0
  71. package/dist/TableHeaderCellActionAI.js.map +1 -0
  72. package/dist/TableHeaderCellActionBase.d.ts +33 -0
  73. package/dist/TableHeaderCellActionBase.js +58 -0
  74. package/dist/TableHeaderCellActionBase.js.map +1 -0
  75. package/dist/TableHeaderRow.d.ts +1 -0
  76. package/dist/TableHeaderRow.js +7 -5
  77. package/dist/TableHeaderRow.js.map +1 -1
  78. package/dist/TableNavigation.js +1 -2
  79. package/dist/TableNavigation.js.map +1 -1
  80. package/dist/TableRow.js +1 -1
  81. package/dist/TableRow.js.map +1 -1
  82. package/dist/TableRowAction.d.ts +1 -0
  83. package/dist/TableRowAction.js +1 -0
  84. package/dist/TableRowAction.js.map +1 -1
  85. package/dist/TableRowActionBase.d.ts +0 -2
  86. package/dist/TableRowActionBase.js +0 -4
  87. package/dist/TableRowActionBase.js.map +1 -1
  88. package/dist/TableRowActionNavigation.d.ts +12 -1
  89. package/dist/TableRowActionNavigation.js +18 -6
  90. package/dist/TableRowActionNavigation.js.map +1 -1
  91. package/dist/TableRowBase.js +1 -1
  92. package/dist/TableRowBase.js.map +1 -1
  93. package/dist/TimePicker.d.ts +4 -4
  94. package/dist/TimePicker.js +23 -17
  95. package/dist/TimePicker.js.map +1 -1
  96. package/dist/TimePickerPopoverTemplate.js +1 -1
  97. package/dist/TimePickerPopoverTemplate.js.map +1 -1
  98. package/dist/TimePickerTemplate.js +1 -1
  99. package/dist/TimePickerTemplate.js.map +1 -1
  100. package/dist/bundle.esm.d.ts +1 -0
  101. package/dist/bundle.esm.js +3 -0
  102. package/dist/bundle.esm.js.map +1 -1
  103. package/dist/css/themes/Avatar.css +1 -1
  104. package/dist/css/themes/AvatarGroup.css +1 -1
  105. package/dist/css/themes/Bar.css +1 -1
  106. package/dist/css/themes/Breadcrumbs.css +1 -1
  107. package/dist/css/themes/BusyIndicator.css +1 -1
  108. package/dist/css/themes/Button.css +1 -1
  109. package/dist/css/themes/ButtonBadge.css +1 -1
  110. package/dist/css/themes/Calendar.css +1 -1
  111. package/dist/css/themes/CalendarHeader.css +1 -1
  112. package/dist/css/themes/CalendarLegend.css +1 -1
  113. package/dist/css/themes/CalendarLegendItem.css +1 -1
  114. package/dist/css/themes/Card.css +1 -1
  115. package/dist/css/themes/CardHeader.css +1 -1
  116. package/dist/css/themes/Carousel.css +1 -1
  117. package/dist/css/themes/CheckBox.css +1 -1
  118. package/dist/css/themes/ColorPalette.css +1 -1
  119. package/dist/css/themes/ColorPaletteItem.css +1 -1
  120. package/dist/css/themes/ColorPalettePopover.css +1 -1
  121. package/dist/css/themes/ColorPicker.css +1 -1
  122. package/dist/css/themes/ComboBox.css +1 -1
  123. package/dist/css/themes/ComboBoxItem.css +1 -1
  124. package/dist/css/themes/DatePicker.css +1 -1
  125. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  126. package/dist/css/themes/DayPicker.css +1 -1
  127. package/dist/css/themes/Dialog.css +1 -1
  128. package/dist/css/themes/FileUploader.css +1 -1
  129. package/dist/css/themes/Form.css +1 -1
  130. package/dist/css/themes/FormItem.css +1 -1
  131. package/dist/css/themes/FormItemSpan.css +1 -1
  132. package/dist/css/themes/GrowingButton.css +1 -1
  133. package/dist/css/themes/Icon.css +1 -1
  134. package/dist/css/themes/Input.css +1 -1
  135. package/dist/css/themes/InputIcon.css +1 -1
  136. package/dist/css/themes/InputSharedStyles.css +1 -1
  137. package/dist/css/themes/Link.css +1 -1
  138. package/dist/css/themes/List.css +1 -1
  139. package/dist/css/themes/ListItem.css +1 -1
  140. package/dist/css/themes/ListItemBase.css +1 -1
  141. package/dist/css/themes/ListItemCustom.css +1 -1
  142. package/dist/css/themes/ListItemGroup.css +1 -1
  143. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  144. package/dist/css/themes/ListItemIcon.css +1 -1
  145. package/dist/css/themes/Menu.css +1 -1
  146. package/dist/css/themes/MenuItem.css +1 -1
  147. package/dist/css/themes/MessageStrip.css +1 -1
  148. package/dist/css/themes/MonthPicker.css +1 -1
  149. package/dist/css/themes/MultiComboBox.css +1 -1
  150. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  151. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  152. package/dist/css/themes/MultiInput.css +1 -1
  153. package/dist/css/themes/OptionBase.css +1 -1
  154. package/dist/css/themes/Panel.css +1 -1
  155. package/dist/css/themes/Popover.css +1 -1
  156. package/dist/css/themes/PopupsCommon.css +1 -1
  157. package/dist/css/themes/ProgressIndicator.css +1 -1
  158. package/dist/css/themes/RadioButton.css +1 -1
  159. package/dist/css/themes/RangeSlider.css +1 -1
  160. package/dist/css/themes/RatingIndicator.css +1 -1
  161. package/dist/css/themes/ResponsivePopover.css +1 -1
  162. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  163. package/dist/css/themes/SegmentedButton.css +1 -1
  164. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  165. package/dist/css/themes/Select.css +1 -1
  166. package/dist/css/themes/SliderBase.css +1 -1
  167. package/dist/css/themes/SplitButton.css +1 -1
  168. package/dist/css/themes/StepInput.css +1 -1
  169. package/dist/css/themes/SuggestionItem.css +1 -1
  170. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  171. package/dist/css/themes/Switch.css +1 -1
  172. package/dist/css/themes/TabContainer.css +1 -1
  173. package/dist/css/themes/TabInOverflow.css +1 -1
  174. package/dist/css/themes/TabInStrip.css +1 -1
  175. package/dist/css/themes/TabSemanticIcon.css +1 -1
  176. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  177. package/dist/css/themes/Table.css +1 -1
  178. package/dist/css/themes/TableCell.css +1 -1
  179. package/dist/css/themes/TableCellBase.css +1 -1
  180. package/dist/css/themes/TableHeaderCell.css +1 -1
  181. package/dist/css/themes/TableHeaderCellActionBase.css +1 -0
  182. package/dist/css/themes/TableHeaderRow.css +1 -1
  183. package/dist/css/themes/TableRow.css +1 -1
  184. package/dist/css/themes/TableRowActionBase.css +1 -1
  185. package/dist/css/themes/TableRowBase.css +1 -1
  186. package/dist/css/themes/Tag.css +1 -1
  187. package/dist/css/themes/Text.css +1 -1
  188. package/dist/css/themes/TextArea.css +1 -1
  189. package/dist/css/themes/TimePicker.css +1 -1
  190. package/dist/css/themes/Toast.css +1 -1
  191. package/dist/css/themes/ToggleButton.css +1 -1
  192. package/dist/css/themes/Token.css +1 -1
  193. package/dist/css/themes/Tokenizer.css +1 -1
  194. package/dist/css/themes/TokenizerPopover.css +1 -1
  195. package/dist/css/themes/Toolbar.css +1 -1
  196. package/dist/css/themes/ToolbarPopover.css +1 -1
  197. package/dist/css/themes/TreeItem.css +1 -1
  198. package/dist/css/themes/ValueStateMessage.css +1 -1
  199. package/dist/css/themes/YearPicker.css +1 -1
  200. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  201. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  202. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  203. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  204. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  205. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  206. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  207. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  208. package/dist/custom-elements-internal.json +295 -4
  209. package/dist/custom-elements.json +192 -1
  210. package/dist/features/InputSuggestions.d.ts +0 -2
  211. package/dist/features/InputSuggestions.js +0 -8
  212. package/dist/features/InputSuggestions.js.map +1 -1
  213. package/dist/features/InputSuggestionsTemplate.d.ts +5 -1
  214. package/dist/features/InputSuggestionsTemplate.js +7 -4
  215. package/dist/features/InputSuggestionsTemplate.js.map +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  237. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  240. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  241. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  242. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  243. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  244. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  245. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  246. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  247. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  248. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  249. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  250. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  251. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  252. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  253. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  254. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  255. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  256. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  257. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  258. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  259. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  260. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  261. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  262. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  263. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  264. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  265. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  266. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  267. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  268. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  269. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  270. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  271. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  272. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  273. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  274. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  275. package/dist/generated/i18n/i18n-defaults.js +3 -1
  276. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  277. package/dist/generated/templates/TableCellTemplate.lit.js +3 -6
  278. package/dist/generated/templates/TableCellTemplate.lit.js.map +1 -1
  279. package/dist/generated/templates/TableHeaderCellActionBaseTemplate.lit.d.ts +3 -0
  280. package/dist/generated/templates/TableHeaderCellActionBaseTemplate.lit.js +7 -0
  281. package/dist/generated/templates/TableHeaderCellActionBaseTemplate.lit.js.map +1 -0
  282. package/dist/generated/templates/TableHeaderCellTemplate.lit.js +2 -1
  283. package/dist/generated/templates/TableHeaderCellTemplate.lit.js.map +1 -1
  284. package/dist/generated/templates/TableRowActionBaseTemplate.lit.js +2 -2
  285. package/dist/generated/templates/TableRowActionBaseTemplate.lit.js.map +1 -1
  286. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  287. package/dist/generated/themes/Avatar.css.js +1 -1
  288. package/dist/generated/themes/Avatar.css.js.map +1 -1
  289. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  290. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  291. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  292. package/dist/generated/themes/Bar.css.d.ts +1 -1
  293. package/dist/generated/themes/Bar.css.js +1 -1
  294. package/dist/generated/themes/Bar.css.js.map +1 -1
  295. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  296. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  297. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  298. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  299. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  300. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  301. package/dist/generated/themes/Button.css.d.ts +1 -1
  302. package/dist/generated/themes/Button.css.js +1 -1
  303. package/dist/generated/themes/Button.css.js.map +1 -1
  304. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  305. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  306. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  307. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  308. package/dist/generated/themes/Calendar.css.js +1 -1
  309. package/dist/generated/themes/Calendar.css.js.map +1 -1
  310. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  311. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  312. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  313. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  314. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  315. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  316. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  317. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  318. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  319. package/dist/generated/themes/Card.css.d.ts +1 -1
  320. package/dist/generated/themes/Card.css.js +1 -1
  321. package/dist/generated/themes/Card.css.js.map +1 -1
  322. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  323. package/dist/generated/themes/CardHeader.css.js +1 -1
  324. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  325. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  326. package/dist/generated/themes/Carousel.css.js +1 -1
  327. package/dist/generated/themes/Carousel.css.js.map +1 -1
  328. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  329. package/dist/generated/themes/CheckBox.css.js +1 -1
  330. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  331. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  332. package/dist/generated/themes/ColorPalette.css.js +1 -1
  333. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  334. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  335. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  336. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  337. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  338. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  339. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  340. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  341. package/dist/generated/themes/ColorPicker.css.js +1 -1
  342. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  343. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  344. package/dist/generated/themes/ComboBox.css.js +1 -1
  345. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  346. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  347. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  348. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  349. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  350. package/dist/generated/themes/DatePicker.css.js +1 -1
  351. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  352. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  353. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  354. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  355. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  356. package/dist/generated/themes/DayPicker.css.js +1 -1
  357. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  358. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  359. package/dist/generated/themes/Dialog.css.js +1 -1
  360. package/dist/generated/themes/Dialog.css.js.map +1 -1
  361. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  362. package/dist/generated/themes/FileUploader.css.js +1 -1
  363. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  364. package/dist/generated/themes/Form.css.d.ts +1 -1
  365. package/dist/generated/themes/Form.css.js +1 -1
  366. package/dist/generated/themes/Form.css.js.map +1 -1
  367. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  368. package/dist/generated/themes/FormItem.css.js +1 -1
  369. package/dist/generated/themes/FormItem.css.js.map +1 -1
  370. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  371. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  372. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  373. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  374. package/dist/generated/themes/GrowingButton.css.js +1 -1
  375. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  376. package/dist/generated/themes/Icon.css.d.ts +1 -1
  377. package/dist/generated/themes/Icon.css.js +1 -1
  378. package/dist/generated/themes/Icon.css.js.map +1 -1
  379. package/dist/generated/themes/Input.css.d.ts +1 -1
  380. package/dist/generated/themes/Input.css.js +1 -1
  381. package/dist/generated/themes/Input.css.js.map +1 -1
  382. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  383. package/dist/generated/themes/InputIcon.css.js +1 -1
  384. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  385. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  386. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  387. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  388. package/dist/generated/themes/Link.css.d.ts +1 -1
  389. package/dist/generated/themes/Link.css.js +1 -1
  390. package/dist/generated/themes/Link.css.js.map +1 -1
  391. package/dist/generated/themes/List.css.d.ts +1 -1
  392. package/dist/generated/themes/List.css.js +1 -1
  393. package/dist/generated/themes/List.css.js.map +1 -1
  394. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  395. package/dist/generated/themes/ListItem.css.js +1 -1
  396. package/dist/generated/themes/ListItem.css.js.map +1 -1
  397. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  398. package/dist/generated/themes/ListItemBase.css.js +1 -1
  399. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  400. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  401. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  402. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  403. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  404. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  405. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  406. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  407. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  408. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  409. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  410. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  411. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  412. package/dist/generated/themes/Menu.css.d.ts +1 -1
  413. package/dist/generated/themes/Menu.css.js +1 -1
  414. package/dist/generated/themes/Menu.css.js.map +1 -1
  415. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  416. package/dist/generated/themes/MenuItem.css.js +1 -1
  417. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  418. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  419. package/dist/generated/themes/MessageStrip.css.js +1 -1
  420. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  421. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  422. package/dist/generated/themes/MonthPicker.css.js +1 -1
  423. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  424. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  425. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  426. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  427. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  428. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  429. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  430. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  431. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  432. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  433. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  434. package/dist/generated/themes/MultiInput.css.js +1 -1
  435. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  436. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  437. package/dist/generated/themes/OptionBase.css.js +1 -1
  438. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  439. package/dist/generated/themes/Panel.css.d.ts +1 -1
  440. package/dist/generated/themes/Panel.css.js +1 -1
  441. package/dist/generated/themes/Panel.css.js.map +1 -1
  442. package/dist/generated/themes/Popover.css.d.ts +1 -1
  443. package/dist/generated/themes/Popover.css.js +1 -1
  444. package/dist/generated/themes/Popover.css.js.map +1 -1
  445. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  446. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  447. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  448. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  449. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  450. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  451. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  452. package/dist/generated/themes/RadioButton.css.js +1 -1
  453. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  454. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  455. package/dist/generated/themes/RangeSlider.css.js +1 -1
  456. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  457. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  458. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  459. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  460. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  461. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  462. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  463. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  464. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  465. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  466. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  467. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  468. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  469. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  470. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  471. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  472. package/dist/generated/themes/Select.css.d.ts +1 -1
  473. package/dist/generated/themes/Select.css.js +1 -1
  474. package/dist/generated/themes/Select.css.js.map +1 -1
  475. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  476. package/dist/generated/themes/SliderBase.css.js +1 -1
  477. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  478. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  479. package/dist/generated/themes/SplitButton.css.js +1 -1
  480. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  481. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  482. package/dist/generated/themes/StepInput.css.js +1 -1
  483. package/dist/generated/themes/StepInput.css.js.map +1 -1
  484. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  485. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  486. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  487. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  488. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  489. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  490. package/dist/generated/themes/Switch.css.d.ts +1 -1
  491. package/dist/generated/themes/Switch.css.js +1 -1
  492. package/dist/generated/themes/Switch.css.js.map +1 -1
  493. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  494. package/dist/generated/themes/TabContainer.css.js +1 -1
  495. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  496. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  497. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  498. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  499. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  500. package/dist/generated/themes/TabInStrip.css.js +1 -1
  501. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  502. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  503. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  504. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  505. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  506. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  507. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  508. package/dist/generated/themes/Table.css.d.ts +1 -1
  509. package/dist/generated/themes/Table.css.js +1 -1
  510. package/dist/generated/themes/Table.css.js.map +1 -1
  511. package/dist/generated/themes/TableCell.css.d.ts +1 -1
  512. package/dist/generated/themes/TableCell.css.js +1 -1
  513. package/dist/generated/themes/TableCell.css.js.map +1 -1
  514. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  515. package/dist/generated/themes/TableCellBase.css.js +1 -1
  516. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  517. package/dist/generated/themes/TableHeaderCell.css.d.ts +1 -1
  518. package/dist/generated/themes/TableHeaderCell.css.js +1 -1
  519. package/dist/generated/themes/TableHeaderCell.css.js.map +1 -1
  520. package/dist/generated/themes/TableHeaderCellActionBase.css.d.ts +2 -0
  521. package/dist/generated/themes/TableHeaderCellActionBase.css.js +8 -0
  522. package/dist/generated/themes/TableHeaderCellActionBase.css.js.map +1 -0
  523. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  524. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  525. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  526. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  527. package/dist/generated/themes/TableRow.css.js +1 -1
  528. package/dist/generated/themes/TableRow.css.js.map +1 -1
  529. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  530. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  531. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  532. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  533. package/dist/generated/themes/TableRowBase.css.js +1 -1
  534. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  535. package/dist/generated/themes/Tag.css.d.ts +1 -1
  536. package/dist/generated/themes/Tag.css.js +1 -1
  537. package/dist/generated/themes/Tag.css.js.map +1 -1
  538. package/dist/generated/themes/Text.css.d.ts +1 -1
  539. package/dist/generated/themes/Text.css.js +1 -1
  540. package/dist/generated/themes/Text.css.js.map +1 -1
  541. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  542. package/dist/generated/themes/TextArea.css.js +1 -1
  543. package/dist/generated/themes/TextArea.css.js.map +1 -1
  544. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  545. package/dist/generated/themes/TimePicker.css.js +1 -1
  546. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  547. package/dist/generated/themes/Toast.css.d.ts +1 -1
  548. package/dist/generated/themes/Toast.css.js +1 -1
  549. package/dist/generated/themes/Toast.css.js.map +1 -1
  550. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  551. package/dist/generated/themes/ToggleButton.css.js +1 -1
  552. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  553. package/dist/generated/themes/Token.css.d.ts +1 -1
  554. package/dist/generated/themes/Token.css.js +1 -1
  555. package/dist/generated/themes/Token.css.js.map +1 -1
  556. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  557. package/dist/generated/themes/Tokenizer.css.js +1 -1
  558. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  559. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  560. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  561. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  562. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  563. package/dist/generated/themes/Toolbar.css.js +1 -1
  564. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  565. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  566. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  567. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  568. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  569. package/dist/generated/themes/TreeItem.css.js +1 -1
  570. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  571. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  572. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  573. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  574. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  575. package/dist/generated/themes/YearPicker.css.js +1 -1
  576. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  577. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  578. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  579. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  580. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  581. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  582. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  583. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  584. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  585. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  586. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  587. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  588. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  589. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  590. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  591. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  592. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  593. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  594. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  595. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  596. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  597. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  598. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  599. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  600. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  601. package/dist/types/InteractiveAreaSize.d.ts +19 -0
  602. package/dist/types/InteractiveAreaSize.js +21 -0
  603. package/dist/types/InteractiveAreaSize.js.map +1 -0
  604. package/dist/types/TableCellHorizontalAlign.d.ts +1 -0
  605. package/dist/types/TableCellHorizontalAlign.js +1 -0
  606. package/dist/types/TableCellHorizontalAlign.js.map +1 -1
  607. package/dist/types/TableGrowingMode.d.ts +1 -0
  608. package/dist/types/TableGrowingMode.js +1 -0
  609. package/dist/types/TableGrowingMode.js.map +1 -1
  610. package/dist/types/TableOverflowMode.d.ts +1 -0
  611. package/dist/types/TableOverflowMode.js +1 -0
  612. package/dist/types/TableOverflowMode.js.map +1 -1
  613. package/dist/types/TableSelectionMode.d.ts +1 -0
  614. package/dist/types/TableSelectionMode.js +1 -0
  615. package/dist/types/TableSelectionMode.js.map +1 -1
  616. package/dist/vscode.html-custom-data.json +33 -2
  617. package/dist/web-types.json +66 -3
  618. package/package.json +11 -10
  619. package/src/AvatarTemplate.tsx +1 -1
  620. package/src/ExpandableTextTemplate.tsx +0 -1
  621. package/src/InputPopoverTemplate.tsx +5 -2
  622. package/src/InputTemplate.tsx +5 -3
  623. package/src/ListItemTemplate.tsx +1 -2
  624. package/src/ListTemplate.tsx +1 -1
  625. package/src/MultiComboBoxPopoverTemplate.tsx +150 -0
  626. package/src/MultiComboBoxTemplate.tsx +121 -0
  627. package/src/TableCell.hbs +6 -11
  628. package/src/TableHeaderCell.hbs +5 -1
  629. package/src/TableHeaderCellActionBase.hbs +6 -0
  630. package/src/TableRowActionBase.hbs +1 -2
  631. package/src/TimePickerPopoverTemplate.tsx +1 -1
  632. package/src/TimePickerTemplate.tsx +1 -1
  633. package/src/features/InputSuggestionsTemplate.tsx +10 -6
  634. package/src/i18n/messagebundle.properties +4 -0
  635. package/src/i18n/messagebundle_ar.properties +0 -2
  636. package/src/i18n/messagebundle_bg.properties +0 -2
  637. package/src/i18n/messagebundle_ca.properties +0 -2
  638. package/src/i18n/messagebundle_cnr.properties +0 -2
  639. package/src/i18n/messagebundle_cs.properties +0 -2
  640. package/src/i18n/messagebundle_cy.properties +0 -2
  641. package/src/i18n/messagebundle_da.properties +0 -2
  642. package/src/i18n/messagebundle_de.properties +0 -2
  643. package/src/i18n/messagebundle_el.properties +0 -2
  644. package/src/i18n/messagebundle_en.properties +0 -2
  645. package/src/i18n/messagebundle_en_GB.properties +0 -2
  646. package/src/i18n/messagebundle_en_US_sappsd.properties +2 -2
  647. package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
  648. package/src/i18n/messagebundle_en_US_saptrc.properties +2 -2
  649. package/src/i18n/messagebundle_es.properties +0 -2
  650. package/src/i18n/messagebundle_es_MX.properties +0 -2
  651. package/src/i18n/messagebundle_et.properties +0 -2
  652. package/src/i18n/messagebundle_fi.properties +0 -2
  653. package/src/i18n/messagebundle_fr.properties +0 -2
  654. package/src/i18n/messagebundle_fr_CA.properties +9 -11
  655. package/src/i18n/messagebundle_hi.properties +0 -2
  656. package/src/i18n/messagebundle_hr.properties +0 -2
  657. package/src/i18n/messagebundle_hu.properties +0 -2
  658. package/src/i18n/messagebundle_id.properties +1 -3
  659. package/src/i18n/messagebundle_it.properties +0 -2
  660. package/src/i18n/messagebundle_iw.properties +0 -2
  661. package/src/i18n/messagebundle_ja.properties +0 -2
  662. package/src/i18n/messagebundle_kk.properties +0 -2
  663. package/src/i18n/messagebundle_ko.properties +0 -2
  664. package/src/i18n/messagebundle_lt.properties +0 -2
  665. package/src/i18n/messagebundle_lv.properties +0 -2
  666. package/src/i18n/messagebundle_mk.properties +0 -2
  667. package/src/i18n/messagebundle_ms.properties +0 -2
  668. package/src/i18n/messagebundle_nl.properties +5 -7
  669. package/src/i18n/messagebundle_no.properties +1 -3
  670. package/src/i18n/messagebundle_pl.properties +0 -2
  671. package/src/i18n/messagebundle_pt.properties +0 -2
  672. package/src/i18n/messagebundle_pt_PT.properties +0 -2
  673. package/src/i18n/messagebundle_ro.properties +0 -2
  674. package/src/i18n/messagebundle_ru.properties +0 -2
  675. package/src/i18n/messagebundle_sh.properties +0 -2
  676. package/src/i18n/messagebundle_sk.properties +0 -2
  677. package/src/i18n/messagebundle_sl.properties +0 -2
  678. package/src/i18n/messagebundle_sr.properties +0 -2
  679. package/src/i18n/messagebundle_sv.properties +1 -3
  680. package/src/i18n/messagebundle_th.properties +1 -3
  681. package/src/i18n/messagebundle_tr.properties +0 -2
  682. package/src/i18n/messagebundle_uk.properties +0 -2
  683. package/src/i18n/messagebundle_vi.properties +0 -2
  684. package/src/i18n/messagebundle_zh_CN.properties +0 -2
  685. package/src/i18n/messagebundle_zh_TW.properties +0 -2
  686. package/src/themes/Button.css +1 -0
  687. package/src/themes/CheckBox.css +1 -1
  688. package/src/themes/Link.css +9 -0
  689. package/src/themes/List.css +1 -1
  690. package/src/themes/TableCell.css +1 -0
  691. package/src/themes/TableHeaderCell.css +20 -3
  692. package/src/themes/TableHeaderCellActionBase.css +23 -0
  693. package/src/themes/TableRowActionBase.css +1 -0
  694. package/src/themes/Tag.css +1 -6
  695. package/src/themes/base/Link-parameters.css +1 -1
  696. package/src/themes/base/Select-parameters.css +0 -5
  697. package/src/themes/sap_fiori_3_hcb/Select-parameters.css +0 -5
  698. package/src/themes/sap_fiori_3_hcw/Select-parameters.css +0 -5
  699. package/src/themes/sap_horizon/Link-parameters.css +1 -0
  700. package/src/themes/sap_horizon_dark/Link-parameters.css +1 -0
  701. package/src/themes/sap_horizon_hcb/Link-parameters.css +1 -0
  702. package/src/themes/sap_horizon_hcb/Select-parameters.css +0 -5
  703. package/src/themes/sap_horizon_hcw/Link-parameters.css +1 -0
  704. package/src/themes/sap_horizon_hcw/Select-parameters.css +0 -5
  705. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.d.ts +0 -3
  706. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +0 -29
  707. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +0 -1
  708. package/dist/generated/templates/MultiComboBoxTemplate.lit.d.ts +0 -3
  709. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +0 -39
  710. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +0 -1
  711. package/src/MultiComboBox.hbs +0 -106
  712. package/src/MultiComboBoxPopover.hbs +0 -144
package/dist/Table.d.ts CHANGED
@@ -1,17 +1,17 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import TableHeaderRow from "./TableHeaderRow.js";
3
+ import TableRow from "./TableRow.js";
4
+ import TableNavigation from "./TableNavigation.js";
5
+ import TableOverflowMode from "./types/TableOverflowMode.js";
6
+ import TableDragAndDrop from "./TableDragAndDrop.js";
7
+ import DropIndicator from "./DropIndicator.js";
2
8
  import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
3
- import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
4
9
  import type { MoveEventDetail } from "@ui5/webcomponents-base/dist/util/dragAndDrop/DragRegistry.js";
5
- import TableRow from "./TableRow.js";
6
- import TableHeaderRow from "./TableHeaderRow.js";
7
10
  import type TableHeaderCell from "./TableHeaderCell.js";
8
11
  import type TableSelection from "./TableSelection.js";
9
- import TableOverflowMode from "./types/TableOverflowMode.js";
10
- import TableNavigation from "./TableNavigation.js";
11
- import DropIndicator from "./DropIndicator.js";
12
- import TableDragAndDrop from "./TableDragAndDrop.js";
13
12
  import type TableRowActionBase from "./TableRowActionBase.js";
14
13
  import type TableVirtualizer from "./TableVirtualizer.js";
14
+ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
15
15
  /**
16
16
  * Interface for components that can be slotted inside the `features` slot of the `ui5-table`.
17
17
  *
@@ -49,6 +49,7 @@ interface ITableGrowing extends ITableFeature {
49
49
  }
50
50
  /**
51
51
  * Fired when an interactive row is clicked.
52
+ *
52
53
  * @param {TableRow} row The clicked row instance
53
54
  * @public
54
55
  */
@@ -58,6 +59,7 @@ type TableRowClickEventDetail = {
58
59
  type TableMoveEventDetail = MoveEventDetail;
59
60
  /**
60
61
  * Fired when a row action is clicked.
62
+ *
61
63
  * @param {TableRowActionBase} action The row action instance
62
64
  * @param {TableRow} row The row instance
63
65
  * @public
@@ -178,6 +180,7 @@ declare class Table extends UI5Element {
178
180
  nodata: Array<HTMLElement>;
179
181
  /**
180
182
  * Defines the features of the component.
183
+ *
181
184
  * @public
182
185
  */
183
186
  features: Array<ITableFeature>;
@@ -225,6 +228,7 @@ declare class Table extends UI5Element {
225
228
  loading: boolean;
226
229
  /**
227
230
  * Defines the delay in milliseconds, after which the loading indicator will show up for this component.
231
+ *
228
232
  * @default 1000
229
233
  * @public
230
234
  */
@@ -256,6 +260,7 @@ declare class Table extends UI5Element {
256
260
  width: float;
257
261
  }>;
258
262
  _containerWidth: number;
263
+ _rowsLength: number;
259
264
  constructor();
260
265
  onEnterDOM(): void;
261
266
  onExitDOM(): void;
@@ -266,6 +271,8 @@ declare class Table extends UI5Element {
266
271
  _onEvent(e: Event): void;
267
272
  _onResize(): void;
268
273
  _onfocusin(e: FocusEvent): void;
274
+ _onGrow(): void;
275
+ _getPopinOrderedColumns(reverse: boolean): TableHeaderCell[];
269
276
  /**
270
277
  * Refreshes the popin state of the columns.
271
278
  * Syncs the popin state of the columns with the popin state of the header cells.
@@ -273,8 +280,6 @@ declare class Table extends UI5Element {
273
280
  * @private
274
281
  */
275
282
  _refreshPopinState(): void;
276
- _onGrow(): void;
277
- _getPopinOrderedColumns(reverse: boolean): TableHeaderCell[];
278
283
  _setHeaderPopinState(headerCell: TableHeaderCell, inPopin: boolean, popinWidth: number): void;
279
284
  _isFeature(feature: any): boolean;
280
285
  _isGrowingFeature(feature: any): boolean;
package/dist/Table.js CHANGED
@@ -6,28 +6,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  var Table_1;
8
8
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
- import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
+ import { customElement, slot, property, eventStrict, i18n, } from "@ui5/webcomponents-base/dist/decorators.js";
10
10
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
11
- import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
12
- import property from "@ui5/webcomponents-base/dist/decorators/property.js";
13
- import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
14
- import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsScope.js";
15
- import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
16
- import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
17
- import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
18
11
  import TableTemplate from "./generated/templates/TableTemplate.lit.js";
19
12
  import TableStyles from "./generated/themes/Table.css.js";
20
- import TableRow from "./TableRow.js";
21
13
  import TableHeaderRow from "./TableHeaderRow.js";
14
+ import TableRow from "./TableRow.js";
15
+ import TableCell from "./TableCell.js";
22
16
  import TableExtension from "./TableExtension.js";
23
- import TableOverflowMode from "./types/TableOverflowMode.js";
24
17
  import TableNavigation from "./TableNavigation.js";
18
+ import TableOverflowMode from "./types/TableOverflowMode.js";
19
+ import TableDragAndDrop from "./TableDragAndDrop.js";
25
20
  import DropIndicator from "./DropIndicator.js";
26
- import { TABLE_NO_DATA, } from "./generated/i18n/i18n-defaults.js";
27
21
  import BusyIndicator from "./BusyIndicator.js";
28
- import TableCell from "./TableCell.js";
22
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
29
23
  import { findVerticalScrollContainer, scrollElementIntoView, isFeature } from "./TableUtils.js";
30
- import TableDragAndDrop from "./TableDragAndDrop.js";
24
+ import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsScope.js";
25
+ import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
26
+ import { TABLE_NO_DATA, } from "./generated/i18n/i18n-defaults.js";
31
27
  /**
32
28
  * @class
33
29
  *
@@ -135,6 +131,7 @@ let Table = Table_1 = class Table extends UI5Element {
135
131
  this.loading = false;
136
132
  /**
137
133
  * Defines the delay in milliseconds, after which the loading indicator will show up for this component.
134
+ *
138
135
  * @default 1000
139
136
  * @public
140
137
  */
@@ -158,6 +155,7 @@ let Table = Table_1 = class Table extends UI5Element {
158
155
  this._events = ["keydown", "keyup", "click", "focusin", "focusout", "dragenter", "dragleave", "dragover", "drop"];
159
156
  this._poppedIn = [];
160
157
  this._containerWidth = 0;
158
+ this._rowsLength = 0;
161
159
  this._onResizeBound = this._onResize.bind(this);
162
160
  this._onEventBound = this._onEvent.bind(this);
163
161
  }
@@ -182,6 +180,10 @@ let Table = Table_1 = class Table extends UI5Element {
182
180
  this._renderNavigated = this.rows.some(row => row.navigated);
183
181
  if (this.headerRow[0]) {
184
182
  this.headerRow[0]._rowActionCount = this.rowActionCount;
183
+ if (this._getSelection()?.isMultiSelect() && this._rowsLength !== this.rows.length) {
184
+ this._rowsLength = this.rows.length;
185
+ this.headerRow[0]._invalidate++;
186
+ }
185
187
  }
186
188
  this.rows.forEach(row => {
187
189
  row._renderNavigated = this._renderNavigated;
@@ -252,6 +254,19 @@ let Table = Table_1 = class Table extends UI5Element {
252
254
  // Handles focus in the table, when the focus is below a sticky element
253
255
  scrollElementIntoView(this._scrollContainer, e.target, this._stickyElements, this.effectiveDir === "rtl");
254
256
  }
257
+ _onGrow() {
258
+ this._growing?.loadMore();
259
+ }
260
+ _getPopinOrderedColumns(reverse) {
261
+ let headers = [...this.headerRow[0].cells];
262
+ headers = headers.reverse(); // reverse the "visual" order
263
+ headers = headers.sort((a, b) => a.importance - b.importance); // sort by importance (asc)
264
+ headers.pop(); // remove the most important column, as it will not be popped in
265
+ if (reverse) {
266
+ headers = headers.reverse();
267
+ }
268
+ return headers;
269
+ }
255
270
  /**
256
271
  * Refreshes the popin state of the columns.
257
272
  * Syncs the popin state of the columns with the popin state of the header cells.
@@ -262,30 +277,19 @@ let Table = Table_1 = class Table extends UI5Element {
262
277
  this.headerRow[0]?.cells.forEach((header, index) => {
263
278
  this.rows.forEach(row => {
264
279
  const cell = row.cells[index];
265
- if (cell && cell._popin !== header._popin) {
280
+ if (cell) {
281
+ cell._popinHidden = header.popinHidden;
266
282
  cell._popin = header._popin;
267
283
  }
268
284
  });
269
285
  });
270
286
  }
271
- _onGrow() {
272
- this._growing?.loadMore();
273
- }
274
- _getPopinOrderedColumns(reverse) {
275
- let headers = [...this.headerRow[0].cells];
276
- headers = headers.reverse(); // reverse the "visual" order
277
- headers = headers.sort((a, b) => a.importance - b.importance); // sort by importance (asc)
278
- headers.pop(); // remove the most important column, as it will not be popped in
279
- if (reverse) {
280
- headers = headers.reverse();
281
- }
282
- return headers;
283
- }
284
287
  _setHeaderPopinState(headerCell, inPopin, popinWidth) {
285
288
  const headerIndex = this.headerRow[0].cells.indexOf(headerCell);
286
289
  headerCell._popin = inPopin;
287
290
  headerCell._popinWidth = popinWidth;
288
291
  this.rows.forEach(row => {
292
+ row.cells[headerIndex]._popinHidden = headerCell.popinHidden;
289
293
  row.cells[headerIndex]._popin = inPopin;
290
294
  });
291
295
  }
@@ -478,7 +482,7 @@ Table = Table_1 = __decorate([
478
482
  * @public
479
483
  */
480
484
  ,
481
- event("row-click", {
485
+ eventStrict("row-click", {
482
486
  bubbles: false,
483
487
  })
484
488
  /**
@@ -495,7 +499,7 @@ Table = Table_1 = __decorate([
495
499
  * @public
496
500
  */
497
501
  ,
498
- event("move-over", {
502
+ eventStrict("move-over", {
499
503
  cancelable: true,
500
504
  bubbles: true,
501
505
  })
@@ -515,18 +519,19 @@ Table = Table_1 = __decorate([
515
519
  * @public
516
520
  */
517
521
  ,
518
- event("move", {
522
+ eventStrict("move", {
519
523
  bubbles: true,
520
524
  })
521
525
  /**
522
526
  * Fired when a row action is clicked.
523
527
  *
524
528
  * @param {TableRowActionBase} action The row action instance
529
+ * @param {TableRow} row The row instance
525
530
  * @since 2.6.0
526
531
  * @public
527
532
  */
528
533
  ,
529
- event("row-action-click", {
534
+ eventStrict("row-action-click", {
530
535
  bubbles: false,
531
536
  })
532
537
  ], Table);
package/dist/Table.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sourceRoot":"","sources":["../src/Table.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAE1G,OAAO,aAAa,MAAM,wDAAwD,CAAC;AAEnF,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,aAAa,MAAM,4CAA4C,CAAC;AACvE,OAAO,WAAW,MAAM,iCAAiC,CAAC;AAC1D,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,OAAO,iBAAiB,MAAM,8BAA8B,CAAC;AAC7D,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACN,aAAa,GACb,MAAM,mCAAmC,CAAC;AAC3C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AA+DrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AA0EH,IAAM,KAAK,aAAX,MAAM,KAAM,SAAQ,UAAU;IAgJ7B;QACC,KAAK,EAAE,CAAC;QArET;;;;;;;;;;;WAWG;QAEH,iBAAY,GAA2B,QAAQ,CAAC;QAEhD;;;;;;WAMG;QAEH,YAAO,GAAG,KAAK,CAAC;QAEhB;;;;WAIM;QAEN,iBAAY,GAAG,IAAI,CAAC;QAEpB;;WAEG;QAEH,cAAS,GAAG,GAAG,CAAC;QAEhB;;;;;;;;WAQG;QAEH,mBAAc,GAAG,CAAC,CAAC;QAGnB,gBAAW,GAAG,CAAC,CAAC;QAGhB,qBAAgB,GAAG,KAAK,CAAC;QAKzB,YAAO,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAU5G,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,UAAU;QACT,IAAI,IAAI,CAAC,YAAY,KAAK,iBAAiB,CAAC,KAAK,EAAE,CAAC;YACnD,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,iBAAiB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,SAAS;QACR,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3F,IAAI,IAAI,CAAC,YAAY,KAAK,iBAAiB,CAAC,KAAK,EAAE,CAAC;YACnD,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACrD,CAAC;IACF,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvB,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC7C,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAClF,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAiB,OAAO,EAAE,gBAAgB,CAAC,CAAmB,CAAC;IAC9G,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAmB,OAAO,EAAE,kBAAkB,CAAC,CAAqB,CAAC;IACpH,CAAC;IAED,QAAQ,CAAC,CAAQ;QAChB,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAgB,CAAC;QACnD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,IAAI,OAAO,YAAY,cAAc,IAAI,CAAC,OAAO,YAAY,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;gBACtH,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,IAAI,EAA0B,CAAC;gBAChE,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAmD,CAAC;gBACjG,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;oBACxC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC5C,CAAC;YACF,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,SAAS;QACR,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAExD,IAAI,WAAW,GAAG,WAAW,EAAE,CAAC;YAC/B,4EAA4E;YAC5E,MAAM,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,kBAAkB,EAAE,UAAU,EAAE,EAAE;gBACvE,IAAI,kBAAkB,GAAG,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;oBACzD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC;oBACxE,kBAAkB,IAAI,WAAW,CAAC;oBAClC,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC1D,CAAC;gBACD,OAAO,kBAAkB,CAAC;YAC3B,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,0DAA0D;YAC1D,MAAM,cAAc,GAAG,aAAa,GAAG,QAAQ,CAAC;YAChD,IAAI,CAAC,eAAe,GAAG,WAAW,GAAG,cAAc,CAAC;QACrD,CAAC;aAAM,CAAC;YACP,8EAA8E;YAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAE3E,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;gBAC1B,MAAM,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC;gBACrD,IAAI,SAAS,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;oBACzC,IAAI,CAAC,eAAe,IAAI,UAAU,CAAC,WAAW,CAAC;oBAC/C,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;oBAChD,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,OAAO,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,UAAU,CAAC,CAAa;QACvB,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO;QACR,CAAC;QAED,uEAAuE;QACvE,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAqB,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC;IAC1H,CAAC;IAED;;;;;OAKG;IACH,kBAAkB;QACjB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAClD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACvB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC7B,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,uBAAuB,CAAC,OAAgB;QACvC,IAAI,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,6BAA6B;QAC1D,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,2BAA2B;QAC1F,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,gEAAgE;QAE/E,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,oBAAoB,CAAC,UAA2B,EAAE,OAAgB,EAAE,UAAkB;QACrF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChE,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC;QAC5B,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvB,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC;QACzC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,OAAY;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC1E,CAAC;IAED,iBAAiB,CAAC,OAAY;QAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,WAAW,CAAC,GAAa;QACxB,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,iBAAiB,CAAC,MAA0B;QAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,aAAyB,CAAC;QAC7C,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,MAAM;QACT,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE;YACtF,IAAI,UAAU,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACpE,YAAY,CAAC,sBAAsB,UAAU,CAAC,eAAe,EAAE,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC;YAC/F,CAAC;YACD,OAAO,YAAY,CAAC;QACrB,CAAC,EAAE,EAA+B,CAAC,CAAC;QACpC,OAAO;YACN,KAAK,EAAE;gBACN,uBAAuB,EAAE,IAAI,CAAC,oBAAoB;gBAClD,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM;gBACnE,GAAG,cAAc;aACjB;YACD,MAAM,EAAE;gBACP,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE;gBACzC,aAAa,EAAE,WAAW,IAAI,WAAW;aACzC;SACD,CAAC;IACH,CAAC;IAED,IAAI,oBAAoB;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAkC,CAAC;QAChF,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnE,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjH,OAAO,UAAU,QAAQ,KAAK,IAAI,CAAC,QAAQ,GAAG,CAAC;YAChD,CAAC;YACD,OAAO,UAAU,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,gBAAgB,CAAC,8BAA8B,CAAC,OAAO,IAAI,CAAC,cAAc,UAAU,gBAAgB,CAAC,8BAA8B,CAAC,OAAO,IAAI,CAAC,cAAc,GAAG,CAAC,UAAU,gBAAgB,CAAC,sCAAsC,CAAC,QAAQ,CAAC,CAAC;QACvQ,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,mCAAmC,CAAC,GAAG,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1E,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,UAAW,CAAC,cAAc,CAAC,YAAY,CAAa,CAAC;IAClE,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,UAAW,CAAC,cAAc,CAAC,QAAQ,CAAgB,CAAC;IACjE,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,UAAW,CAAC,cAAc,CAAC,OAAO,CAAgB,CAAC;IAChE,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,UAAW,CAAC,cAAc,CAAC,OAAO,CAAgB,CAAC;IAChE,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,UAAW,CAAC,cAAc,CAAC,SAAS,CAAgB,CAAC;IAClE,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,IAAI,CAAC,UAAU,IAAI,OAAK,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,UAAU;QACb,OAAO,yBAAyB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IACrD,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,IAAI,SAAS,CAAC;IACtD,CAAC;IAED,IAAI,oBAAoB;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IACjE,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAkB,CAAC;IACxF,CAAC;IAED,IAAI,eAAe;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAiC,CAAC;QAE1E,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,aAAa,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAChC,CAAC;CACD,CAAA;AAlaA;IARC,IAAI,CAAC;QACL,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAI;QACf,uBAAuB,EAAE;YACxB,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;YACrC,KAAK,EAAE,KAAK;SACZ;KACD,CAAC;mCACqB;AAUvB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;wCACvD;AAQlC;IADC,IAAI,EAAE;qCACqB;AAO5B;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;uCACnB;AAShC;IADC,QAAQ,EAAE;6CACa;AASxB;IADC,QAAQ,EAAE;gDACgB;AAS3B;IADC,QAAQ,EAAE;yCACS;AAepB;IADC,QAAQ,EAAE;2CACqC;AAUhD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sCACZ;AAQhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CACP;AAMpB;IADC,QAAQ,EAAE;wCACK;AAYhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CACR;AAGnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;0CAC9B;AAGhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;+CACtB;AAGlB;IADN,IAAI,CAAC,oBAAoB,CAAC;+BACG;AAtIzB,KAAK;IAzEV,aAAa,CAAC;QACd,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,aAAa;QACvB,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE;YACb,aAAa;YACb,cAAc;YACd,SAAS;YACT,QAAQ;YACR,aAAa;SACb;KACD,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,WAAW,EAAE;QACnB,OAAO,EAAE,KAAK;KACd,CAAC;IAEF;;;;;;;;;;;;OAYG;;IACF,KAAK,CAAC,WAAW,EAAE;QACnB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;;;;;;;;;;OAcG;;IACF,KAAK,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;;OAMG;;IACF,KAAK,CAAC,kBAAkB,EAAE;QAC1B,OAAO,EAAE,KAAK;KACd,CAAC;GAEI,KAAK,CAwbV;AAED,KAAK,CAAC,MAAM,EAAE,CAAC;AAEf,eAAe,KAAK,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type { MoveEventDetail } from \"@ui5/webcomponents-base/dist/util/dragAndDrop/DragRegistry.js\";\nimport TableTemplate from \"./generated/templates/TableTemplate.lit.js\";\nimport TableStyles from \"./generated/themes/Table.css.js\";\nimport TableRow from \"./TableRow.js\";\nimport TableHeaderRow from \"./TableHeaderRow.js\";\nimport type TableHeaderCell from \"./TableHeaderCell.js\";\nimport TableExtension from \"./TableExtension.js\";\nimport type TableSelection from \"./TableSelection.js\";\nimport TableOverflowMode from \"./types/TableOverflowMode.js\";\nimport TableNavigation from \"./TableNavigation.js\";\nimport DropIndicator from \"./DropIndicator.js\";\nimport {\n\tTABLE_NO_DATA,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport TableCell from \"./TableCell.js\";\nimport { findVerticalScrollContainer, scrollElementIntoView, isFeature } from \"./TableUtils.js\";\nimport TableDragAndDrop from \"./TableDragAndDrop.js\";\nimport type TableRowActionBase from \"./TableRowActionBase.js\";\nimport type TableVirtualizer from \"./TableVirtualizer.js\";\n\n/**\n * Interface for components that can be slotted inside the `features` slot of the `ui5-table`.\n *\n * @public\n * @experimental\n */\ninterface ITableFeature extends UI5Element {\n\treadonly identifier: string;\n\t/**\n\t * Called when the table is activated.\n\t * @param table table instance\n\t */\n\tonTableActivate?(table: Table): void;\n\t/**\n\t * Called when the table finished rendering.\n\t */\n\tonTableAfterRendering?(table?: Table): void;\n}\n\n/**\n * Interface for components that can be slotted inside the `features` slot of the `ui5-table`\n * and provide growing/data loading functionality.\n * @public\n * @experimental\n */\ninterface ITableGrowing extends ITableFeature {\n\t/**\n\t * Called when the table needs to load more data.\n\t */\n\tloadMore(): void;\n\t/**\n\t * Determines whether the table has a growing control, that should be rendered in the table.\n\t */\n\thasGrowingComponent(): boolean;\n\t_individualSlot?: string;\n}\n\n/**\n * Fired when an interactive row is clicked.\n * @param {TableRow} row The clicked row instance\n * @public\n */\ntype TableRowClickEventDetail = {\n\trow: TableRow,\n};\n\ntype TableMoveEventDetail = MoveEventDetail;\n\n/**\n * Fired when a row action is clicked.\n * @param {TableRowActionBase} action The row action instance\n * @param {TableRow} row The row instance\n * @public\n */\ntype TableRowActionClickEventDetail = {\n\taction: TableRowActionBase,\n\trow: TableRow,\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table` component provides a set of sophisticated features for displaying and dealing with vast amounts of data in a responsive manner.\n * To render the `ui5-table`, you need to define the columns and rows. You can use the provided `ui5-table-header-row` and `ui5-table-row` components for this purpose.\n *\n * ### Features\n *\n * The `ui5-table` can be enhanced in its functionalities by applying different features.\n * Features can be slotted into the `features` slot, to enable them in the component.\n * Features need to be imported separately, as they are not enabled by default.\n *\n * The following features are currently available:\n *\n * * [TableSelection](../TableSelection) - adds selection capabilities to the table\n * * [TableGrowing](../TableGrowing) - provides growing capabilities to load more data\n *\n * ### Keyboard Handling\n *\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [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 * Furthermore, you can interact with `ui5-table` via the following keys:\n *\n * If the focus is on a row, the following keyboard shortcuts are available:\n * * <kbd>Down</kbd> - Navigates down\n * * <kbd>Up</kbd> - Navigates up\n * * <kbd>Right</kbd> - Selects the first cell of the row\n * * <kbd>Space</kbd> - Toggles the selection of the row\n * * <kbd>Ctrl/Cmd + A</kbd> - In multi selection mode, toggles the selection of all rows\n * * <kbd>Home</kbd> - Navigates to the first row, if the focus is on the first row, navigates to the header row\n * * <kbd>End</kbd> - Navigates to the last row, if the focus is on the last row, navigates to the growing button\n * * <kbd>Page Up</kbd> - Navigates one page up, if the focus is on the first row, navigates to the header row\n * * <kbd>Page Down</kbd> - Navigates one page down, if the focus is on the last row, navigates to the growing button\n * * <kbd>F2</kbd> - Focuses the first tabbable element in the row\n * * <kbd>F7</kbd> - If focus position is remembered, moves focus to the corresponding focus position row, otherwise to the first tabbable element within the row\n * * <kbd>[Shift]Tab</kbd> - Move focus to the element in the tab chain outside the table\n\n *\n * If the focus is on a cell, the following keyboard shortcuts are available:\n * * <kbd>Down</kbd> - Navigates down\n * * <kbd>Up</kbd> - Navigates up\n * * <kbd>Right</kbd> - Navigates right\n * * <kbd>Left</kbd> - Navigates left, if the focus is on the first cell of the row, the focus is moved to the row.\n * * <kbd>Home</kbd> - Navigates to the first cell of the current row, if the focus is on the first cell, navigates to the corresponding row\n * * <kbd>End</kbd> - Navigates to the last cell of the current row, if the focus is on the last cell, navigates to the corresponding row\n * * <kbd>Page Up</kbd> - Navigates one page up while keeping the focus in same column\n * * <kbd>Page Down</kbd> - Navigates one page down while keeping the focus in same column\n * * <kbd>F2</kbd> - Toggles the focus between the first tabbable cell content and the cell\n * * <kbd>Enter</kbd> - Focuses the first tabbable cell content\n * * <kbd>F7</kbd> - If the focus is on an interactive element inside a row, moves focus to the corresponding row and remembers the focus position of the element within the row\n * * <kbd>[Shift]Tab</kbd> - Move focus to the element in the tab chain outside the table\n\n *\n * If the focus is on an interactive cell content, the following keyboard shortcuts are available:\n * * <kbd>Down</kbd> - Move the focus to the interactive element in the same column of the previous row, unless the focused element prevents the default\n * * <kbd>Up</kbd> - Move the focus to the interactive element in the same column of the next row, unless the focused element prevents the default\n * * <kbd>[Shift]Tab</kbd> - Move the focus to the element in the tab chain\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Table.js\";`\\\n * `import \"@ui5/webcomponents/dist/TableRow.js\";` (`ui5-table-row`)\\\n * `import \"@ui5/webcomponents/dist/TableCell.js\";` (`ui5-table-cell`)\\\n * `import \"@ui5/webcomponents/dist/TableHeaderRow.js\";` (`ui5-table-header-row`)\\\n * `import \"@ui5/webcomponents/dist/TableHeaderCell.js\";` (`ui5-table-header-cell`)\n *\n * @constructor\n * @extends UI5Element\n * @since 2.0.0\n * @public\n * @experimental This Table web component is available since 2.0 and has been newly implemented to provide better screen reader and keyboard handling support.\n * Currently, it's considered experimental as its API is subject to change.\n * This Table replaces the previous Table web component, that has been part of **@ui5/webcomponents** version 1.x.\n * For compatibility reasons, we moved the previous Table implementation to the **@ui5/webcomponents-compat** package\n * and will be maintained until the new Table is experimental.\n * Keep in mind that you can use either the compat/Table, or the main/Table - you can't use them both as they both define the `ui5-table` tag name.\n */\n@customElement({\n\ttag: \"ui5-table\",\n\trenderer: litRender,\n\tstyles: TableStyles,\n\ttemplate: TableTemplate,\n\tfastNavigation: true,\n\tdependencies: [\n\t\tBusyIndicator,\n\t\tTableHeaderRow,\n\t\tTableCell,\n\t\tTableRow,\n\t\tDropIndicator,\n\t],\n})\n\n/**\n * Fired when an interactive row is clicked.\n *\n * @param {TableRow} row The row instance\n * @public\n */\n@event(\"row-click\", {\n\tbubbles: false,\n})\n\n/**\n * Fired when a movable item is moved over a potential drop target during a dragging operation.\n *\n * If the new position is valid, prevent the default action of the event using `preventDefault()`.\n *\n * **Note:** If the dragging operation is a cross-browser operation or files are moved to a potential drop target,\n * the `source` parameter will be `null`.\n *\n * @param {Event} originalEvent The original `dragover` event\n * @param {object} source The source object\n * @param {object} destination The destination object\n * @public\n */\n@event(\"move-over\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\n/**\n * Fired when a movable list item is dropped onto a drop target.\n *\n * **Notes:**\n *\n * The `move` event is fired only if there was a preceding `move-over` with prevented default action.\n *\n * If the dragging operation is a cross-browser operation or files are moved to a potential drop target,\n * the `source` parameter will be `null`.\n *\n * @param {Event} originalEvent The original `drop` event\n * @param {object} source The source object\n * @param {object} destination The destination object\n * @public\n */\n@event(\"move\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when a row action is clicked.\n *\n * @param {TableRowActionBase} action The row action instance\n * @since 2.6.0\n * @public\n */\n@event(\"row-action-click\", {\n\tbubbles: false,\n})\n\nclass Table extends UI5Element {\n\teventDetails!: {\n\t\t\"row-click\": TableRowClickEventDetail;\n\t\t\"move-over\": TableMoveEventDetail;\n\t\t\"move\": TableMoveEventDetail;\n\t\t\"row-action-click\": TableRowActionClickEventDetail;\n\t}\n\t/**\n\t * Defines the rows of the component.\n\t *\n\t * **Note:** Use `ui5-table-row` for the intended design.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: [\"navigated\", \"position\"],\n\t\t\tslots: false,\n\t\t},\n\t})\n\trows!: Array<TableRow>;\n\n\t/**\n\t * Defines the header row of the component.\n\t *\n\t * **Note:** Use `ui5-table-header-row` for the intended design.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: { properties: false, slots: true } })\n\theaderRow!: Array<TableHeaderRow>;\n\n\t/**\n\t * Defines the custom visualization if there is no data available.\n\t *\n\t * @public\n\t */\n\t@slot()\n\tnodata!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the features of the component.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true })\n\tfeatures!: Array<ITableFeature>;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Identifies the element (or elements) that labels the component.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the text to be displayed when there are no rows in the component.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tnoDataText?: string;\n\n\t/**\n\t * Defines the mode of the <code>ui5-table</code> overflow behavior.\n\t *\n\t * Available options are:\n\t *\n\t * <code>Scroll</code> - Columns are shown as regular columns and horizontal scrolling is enabled.\n\t *\n\t * <code>Popin</code> - Columns are shown as pop-ins instead of regular columns.\n\t *\n\t * @default \"Scroll\"\n\t * @public\n\t */\n\t@property()\n\toverflowMode: `${TableOverflowMode}` = \"Scroll\";\n\n\t/**\n\t * Defines if the loading indicator should be shown.\n\t *\n\t * **Note:** When the component is loading, it is not interactive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\t/**\n * Defines the delay in milliseconds, after which the loading indicator will show up for this component.\n * @default 1000\n * @public\n */\n\t@property({ type: Number })\n\tloadingDelay = 1000;\n\n\t/**\n\t * Defines the sticky top offset of the table, if other sticky elements outside of the table exist.\n\t */\n\t@property()\n\tstickyTop = \"0\";\n\n\t/**\n\t * Defines the maximum number of row actions that is displayed, which determines the width of the row action column.\n\t *\n\t * **Note:** It is recommended to use a maximum of 3 row actions, as exceeding this limit may take up too much space on smaller screens.\n\t *\n\t * @default 0\n\t * @since 2.7.0\n\t * @public\n\t */\n\t@property({ type: Number })\n\trowActionCount = 0;\n\n\t@property({ type: Number, noAttribute: true })\n\t_invalidate = 0;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_renderNavigated = false;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t_events = [\"keydown\", \"keyup\", \"click\", \"focusin\", \"focusout\", \"dragenter\", \"dragleave\", \"dragover\", \"drop\"];\n\t_onEventBound: (e: Event) => void;\n\t_onResizeBound: ResizeObserverCallback;\n\t_tableNavigation?: TableNavigation;\n\t_tableDragAndDrop?: TableDragAndDrop;\n\t_poppedIn: Array<{col: TableHeaderCell, width: float}>;\n\t_containerWidth: number;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._poppedIn = [];\n\t\tthis._containerWidth = 0;\n\t\tthis._onResizeBound = this._onResize.bind(this);\n\t\tthis._onEventBound = this._onEvent.bind(this);\n\t}\n\n\tonEnterDOM() {\n\t\tif (this.overflowMode === TableOverflowMode.Popin) {\n\t\t\tResizeHandler.register(this, this._onResizeBound);\n\t\t}\n\t\tthis._events.forEach(eventType => this.addEventListener(eventType, this._onEventBound));\n\t\tthis.features.forEach(feature => feature.onTableActivate?.(this));\n\t\tthis._tableNavigation = new TableNavigation(this);\n\t\tthis._tableDragAndDrop = new TableDragAndDrop(this);\n\t}\n\n\tonExitDOM() {\n\t\tthis._tableNavigation = undefined;\n\t\tthis._tableDragAndDrop = undefined;\n\t\tthis._events.forEach(eventType => this.removeEventListener(eventType, this._onEventBound));\n\t\tif (this.overflowMode === TableOverflowMode.Popin) {\n\t\t\tResizeHandler.deregister(this, this._onResizeBound);\n\t\t}\n\t}\n\n\tonBeforeRendering(): void {\n\t\tthis._renderNavigated = this.rows.some(row => row.navigated);\n\t\tif (this.headerRow[0]) {\n\t\t\tthis.headerRow[0]._rowActionCount = this.rowActionCount;\n\t\t}\n\t\tthis.rows.forEach(row => {\n\t\t\trow._renderNavigated = this._renderNavigated;\n\t\t\trow._rowActionCount = this.rowActionCount;\n\t\t});\n\n\t\tthis.style.setProperty(getScopedVarName(\"--ui5_grid_sticky_top\"), this.stickyTop);\n\t\tthis._refreshPopinState();\n\t}\n\n\tonAfterRendering(): void {\n\t\tthis.features.forEach(feature => feature.onTableAfterRendering?.(this));\n\t}\n\n\t_getSelection(): TableSelection | undefined {\n\t\treturn this.features.find(feature => isFeature<TableSelection>(feature, \"TableSelection\")) as TableSelection;\n\t}\n\n\t_getVirtualizer(): TableVirtualizer | undefined {\n\t\treturn this.features.find(feature => isFeature<TableVirtualizer>(feature, \"TableVirtualizer\")) as TableVirtualizer;\n\t}\n\n\t_onEvent(e: Event) {\n\t\tconst composedPath = e.composedPath();\n\t\tconst eventOrigin = composedPath[0] as HTMLElement;\n\t\tconst elements = [this._tableNavigation, this._tableDragAndDrop, ...composedPath, ...this.features];\n\t\telements.forEach(element => {\n\t\t\tif (element instanceof TableExtension || (element instanceof HTMLElement && element.localName.includes(\"ui5-table\"))) {\n\t\t\t\tconst eventHandlerName = `_on${e.type}` as keyof typeof element;\n\t\t\t\tconst eventHandler = element[eventHandlerName] as (e?: Event, eventOrigin?: HTMLElement) => void;\n\t\t\t\tif (typeof eventHandler === \"function\") {\n\t\t\t\t\teventHandler.call(element, e, eventOrigin);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t_onResize() {\n\t\tconst { clientWidth, scrollWidth } = this._tableElement;\n\n\t\tif (scrollWidth > clientWidth) {\n\t\t\t// Overflow Handling: Move columns into the popin until overflow is resolved\n\t\t\tconst overflow = scrollWidth - clientWidth;\n\t\t\tconst headers = this._getPopinOrderedColumns(false);\n\t\t\tconst poppedInWidth = headers.reduce((totalPoppedInWidth, headerCell) => {\n\t\t\t\tif (totalPoppedInWidth < overflow && !headerCell._popin) {\n\t\t\t\t\tconst headerWidth = Math.ceil(headerCell.getBoundingClientRect().width);\n\t\t\t\t\ttotalPoppedInWidth += headerWidth;\n\t\t\t\t\tthis._setHeaderPopinState(headerCell, true, headerWidth);\n\t\t\t\t}\n\t\t\t\treturn totalPoppedInWidth;\n\t\t\t}, 0);\n\t\t\t// Calculate container width considering popped-in columns\n\t\t\tconst columnOverflow = poppedInWidth - overflow;\n\t\t\tthis._containerWidth = clientWidth - columnOverflow;\n\t\t} else {\n\t\t\t// Underflow Handling: Restore columns from popin until container width is met\n\t\t\tconst headers = this._getPopinOrderedColumns(true).filter(it => it._popin);\n\n\t\t\theaders.every(headerCell => {\n\t\t\t\tconst underflow = clientWidth - this._containerWidth;\n\t\t\t\tif (underflow >= headerCell._popinWidth) {\n\t\t\t\t\tthis._containerWidth += headerCell._popinWidth;\n\t\t\t\t\tthis._setHeaderPopinState(headerCell, false, 0);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tif (e.target === this) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Handles focus in the table, when the focus is below a sticky element\n\t\tscrollElementIntoView(this._scrollContainer, e.target as HTMLElement, this._stickyElements, this.effectiveDir === \"rtl\");\n\t}\n\n\t/**\n\t * Refreshes the popin state of the columns.\n\t * Syncs the popin state of the columns with the popin state of the header cells.\n\t * This is needed when additional rows are manually added and no resize happens.\n\t * @private\n\t */\n\t_refreshPopinState() {\n\t\tthis.headerRow[0]?.cells.forEach((header, index) => {\n\t\t\tthis.rows.forEach(row => {\n\t\t\t\tconst cell = row.cells[index];\n\t\t\t\tif (cell && cell._popin !== header._popin) {\n\t\t\t\t\tcell._popin = header._popin;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t_onGrow() {\n\t\tthis._growing?.loadMore();\n\t}\n\n\t_getPopinOrderedColumns(reverse: boolean) {\n\t\tlet headers = [...this.headerRow[0].cells];\n\t\theaders = headers.reverse(); // reverse the \"visual\" order\n\t\theaders = headers.sort((a, b) => a.importance - b.importance); // sort by importance (asc)\n\t\theaders.pop(); // remove the most important column, as it will not be popped in\n\n\t\tif (reverse) {\n\t\t\theaders = headers.reverse();\n\t\t}\n\n\t\treturn headers;\n\t}\n\n\t_setHeaderPopinState(headerCell: TableHeaderCell, inPopin: boolean, popinWidth: number) {\n\t\tconst headerIndex = this.headerRow[0].cells.indexOf(headerCell);\n\t\theaderCell._popin = inPopin;\n\t\theaderCell._popinWidth = popinWidth;\n\t\tthis.rows.forEach(row => {\n\t\t\trow.cells[headerIndex]._popin = inPopin;\n\t\t});\n\t}\n\n\t_isFeature(feature: any) {\n\t\treturn Boolean(feature.onTableActivate || feature.onTableAfterRendering);\n\t}\n\n\t_isGrowingFeature(feature: any) {\n\t\treturn Boolean(feature.loadMore && feature.hasGrowingComponent && this._isFeature(feature));\n\t}\n\n\t_onRowClick(row: TableRow) {\n\t\tthis.fireDecoratorEvent(\"row-click\", { row });\n\t}\n\n\t_onRowActionClick(action: TableRowActionBase) {\n\t\tconst row = action.parentElement as TableRow;\n\t\tthis.fireDecoratorEvent(\"row-action-click\", { action, row });\n\t}\n\n\tget styles() {\n\t\tconst virtualizer = this._getVirtualizer();\n\t\tconst headerStyleMap = this.headerRow?.[0]?.cells?.reduce((headerStyles, headerCell) => {\n\t\t\tif (headerCell.horizontalAlign !== undefined && !headerCell._popin) {\n\t\t\t\theaderStyles[`--horizontal-align-${headerCell._individualSlot}`] = headerCell.horizontalAlign;\n\t\t\t}\n\t\t\treturn headerStyles;\n\t\t}, {} as { [key: string]: string });\n\t\treturn {\n\t\t\ttable: {\n\t\t\t\t\"grid-template-columns\": this._gridTemplateColumns,\n\t\t\t\t\"--row-height\": virtualizer ? `${virtualizer.rowHeight}px` : \"auto\",\n\t\t\t\t...headerStyleMap,\n\t\t\t},\n\t\t\tspacer: {\n\t\t\t\t\"transform\": virtualizer?._getTransform(),\n\t\t\t\t\"will-change\": virtualizer && \"transform\",\n\t\t\t},\n\t\t};\n\t}\n\n\tget _gridTemplateColumns() {\n\t\tif (!this.headerRow[0]) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst widths = [];\n\t\tconst visibleHeaderCells = this.headerRow[0]._visibleCells as TableHeaderCell[];\n\t\tif (this._getSelection()?.hasRowSelector()) {\n\t\t\twidths.push(\"min-content\");\n\t\t}\n\t\twidths.push(...visibleHeaderCells.map(cell => {\n\t\t\tconst minWidth = cell.minWidth === \"auto\" ? \"3rem\" : cell.minWidth;\n\t\t\tif (cell.width === \"auto\" || cell.width.includes(\"%\") || cell.width.includes(\"fr\") || cell.width.includes(\"vw\")) {\n\t\t\t\treturn `minmax(${minWidth}, ${cell.maxWidth})`;\n\t\t\t}\n\t\t\treturn `minmax(${cell.width}, ${cell.width})`;\n\t\t}));\n\n\t\tif (this.rowActionCount > 0) {\n\t\t\twidths.push(`calc(var(${getScopedVarName(\"--_ui5_button_base_min_width\")}) * ${this.rowActionCount} + var(${getScopedVarName(\"--_ui5_table_row_actions_gap\")}) * ${this.rowActionCount - 1} + var(${getScopedVarName(\"--_ui5_table_cell_horizontal_padding\")}) * 2)`);\n\t\t}\n\n\t\tif (this._renderNavigated) {\n\t\t\twidths.push(`var(${getScopedVarName(\"--_ui5_table_navigated_cell_width\")})`);\n\t\t}\n\n\t\treturn widths.join(\" \");\n\t}\n\n\tget _tableOverflowX() {\n\t\treturn (this.overflowMode === TableOverflowMode.Popin) ? \"clip\" : \"auto\";\n\t}\n\n\tget _tableOverflowY() {\n\t\treturn \"auto\";\n\t}\n\n\tget _nodataRow() {\n\t\treturn this.shadowRoot!.getElementById(\"nodata-row\") as TableRow;\n\t}\n\n\tget _beforeElement() {\n\t\treturn this.shadowRoot!.getElementById(\"before\") as HTMLElement;\n\t}\n\n\tget _afterElement() {\n\t\treturn this.shadowRoot!.getElementById(\"after\") as HTMLElement;\n\t}\n\n\tget _tableElement() {\n\t\treturn this.shadowRoot!.getElementById(\"table\") as HTMLElement;\n\t}\n\n\tget _loadingElement() {\n\t\treturn this.shadowRoot!.getElementById(\"loading\") as HTMLElement;\n\t}\n\n\tget _effectiveNoDataText() {\n\t\treturn this.noDataText || Table.i18nBundle.getText(TABLE_NO_DATA);\n\t}\n\n\tget _ariaLabel() {\n\t\treturn getEffectiveAriaLabelText(this) || undefined;\n\t}\n\n\tget _ariaRowCount() {\n\t\treturn this._getVirtualizer()?.rowCount || undefined;\n\t}\n\n\tget _ariaMultiSelectable() {\n\t\tconst selection = this._getSelection();\n\t\treturn (selection?.isSelectable() && this.rows.length) ? selection.isMultiSelect() : undefined;\n\t}\n\n\tget _shouldRenderGrowing() {\n\t\treturn this.rows.length && this._growing?.hasGrowingComponent();\n\t}\n\n\tget _growing() {\n\t\treturn this.features.find(feature => this._isGrowingFeature(feature)) as ITableGrowing;\n\t}\n\n\tget _stickyElements() {\n\t\tconst stickyRows = this.headerRow.filter(row => row.sticky);\n\t\tconst stickyColumns = this.headerRow[0]._stickyCells as TableHeaderCell[];\n\n\t\treturn [...stickyRows, ...stickyColumns];\n\t}\n\n\tget _scrollContainer() {\n\t\treturn this._getVirtualizer() ? this._tableElement : findVerticalScrollContainer(this);\n\t}\n\n\tget isTable() {\n\t\treturn true;\n\t}\n\n\tget dropIndicatorDOM(): DropIndicator | null {\n\t\treturn this.shadowRoot!.querySelector(\"[ui5-drop-indicator]\");\n\t}\n\n\tget _hasRowActions() {\n\t\treturn this.rowActionCount > 0;\n\t}\n}\n\nTable.define();\n\nexport default Table;\n\nexport type {\n\tITableFeature,\n\tITableGrowing,\n\tTableRowClickEventDetail,\n\tTableMoveEventDetail,\n\tTableRowActionClickEventDetail,\n};\n"]}
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../src/Table.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tcustomElement, slot, property, eventStrict, i18n,\n} from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport TableTemplate from \"./generated/templates/TableTemplate.lit.js\";\nimport TableStyles from \"./generated/themes/Table.css.js\";\nimport TableHeaderRow from \"./TableHeaderRow.js\";\nimport TableRow from \"./TableRow.js\";\nimport TableCell from \"./TableCell.js\";\nimport TableExtension from \"./TableExtension.js\";\nimport TableNavigation from \"./TableNavigation.js\";\nimport TableOverflowMode from \"./types/TableOverflowMode.js\";\nimport TableDragAndDrop from \"./TableDragAndDrop.js\";\nimport DropIndicator from \"./DropIndicator.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { findVerticalScrollContainer, scrollElementIntoView, isFeature } from \"./TableUtils.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { MoveEventDetail } from \"@ui5/webcomponents-base/dist/util/dragAndDrop/DragRegistry.js\";\nimport type TableHeaderCell from \"./TableHeaderCell.js\";\nimport type TableSelection from \"./TableSelection.js\";\nimport type TableRowActionBase from \"./TableRowActionBase.js\";\nimport type TableVirtualizer from \"./TableVirtualizer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tTABLE_NO_DATA,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * Interface for components that can be slotted inside the `features` slot of the `ui5-table`.\n *\n * @public\n * @experimental\n */\ninterface ITableFeature extends UI5Element {\n\treadonly identifier: string;\n\t/**\n\t * Called when the table is activated.\n\t * @param table table instance\n\t */\n\tonTableActivate?(table: Table): void;\n\t/**\n\t * Called when the table finished rendering.\n\t */\n\tonTableAfterRendering?(table?: Table): void;\n}\n\n/**\n * Interface for components that can be slotted inside the `features` slot of the `ui5-table`\n * and provide growing/data loading functionality.\n * @public\n * @experimental\n */\ninterface ITableGrowing extends ITableFeature {\n\t/**\n\t * Called when the table needs to load more data.\n\t */\n\tloadMore(): void;\n\t/**\n\t * Determines whether the table has a growing control, that should be rendered in the table.\n\t */\n\thasGrowingComponent(): boolean;\n\t_individualSlot?: string;\n}\n\n/**\n * Fired when an interactive row is clicked.\n *\n * @param {TableRow} row The clicked row instance\n * @public\n */\ntype TableRowClickEventDetail = {\n\trow: TableRow,\n};\n\ntype TableMoveEventDetail = MoveEventDetail;\n\n/**\n * Fired when a row action is clicked.\n *\n * @param {TableRowActionBase} action The row action instance\n * @param {TableRow} row The row instance\n * @public\n */\ntype TableRowActionClickEventDetail = {\n\taction: TableRowActionBase,\n\trow: TableRow,\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table` component provides a set of sophisticated features for displaying and dealing with vast amounts of data in a responsive manner.\n * To render the `ui5-table`, you need to define the columns and rows. You can use the provided `ui5-table-header-row` and `ui5-table-row` components for this purpose.\n *\n * ### Features\n *\n * The `ui5-table` can be enhanced in its functionalities by applying different features.\n * Features can be slotted into the `features` slot, to enable them in the component.\n * Features need to be imported separately, as they are not enabled by default.\n *\n * The following features are currently available:\n *\n * * [TableSelection](../TableSelection) - adds selection capabilities to the table\n * * [TableGrowing](../TableGrowing) - provides growing capabilities to load more data\n *\n * ### Keyboard Handling\n *\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [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 * Furthermore, you can interact with `ui5-table` via the following keys:\n *\n * If the focus is on a row, the following keyboard shortcuts are available:\n * * <kbd>Down</kbd> - Navigates down\n * * <kbd>Up</kbd> - Navigates up\n * * <kbd>Right</kbd> - Selects the first cell of the row\n * * <kbd>Space</kbd> - Toggles the selection of the row\n * * <kbd>Ctrl/Cmd + A</kbd> - In multi selection mode, toggles the selection of all rows\n * * <kbd>Home</kbd> - Navigates to the first row, if the focus is on the first row, navigates to the header row\n * * <kbd>End</kbd> - Navigates to the last row, if the focus is on the last row, navigates to the growing button\n * * <kbd>Page Up</kbd> - Navigates one page up, if the focus is on the first row, navigates to the header row\n * * <kbd>Page Down</kbd> - Navigates one page down, if the focus is on the last row, navigates to the growing button\n * * <kbd>F2</kbd> - Focuses the first tabbable element in the row\n * * <kbd>F7</kbd> - If focus position is remembered, moves focus to the corresponding focus position row, otherwise to the first tabbable element within the row\n * * <kbd>[Shift]Tab</kbd> - Move focus to the element in the tab chain outside the table\n\n *\n * If the focus is on a cell, the following keyboard shortcuts are available:\n * * <kbd>Down</kbd> - Navigates down\n * * <kbd>Up</kbd> - Navigates up\n * * <kbd>Right</kbd> - Navigates right\n * * <kbd>Left</kbd> - Navigates left, if the focus is on the first cell of the row, the focus is moved to the row.\n * * <kbd>Home</kbd> - Navigates to the first cell of the current row, if the focus is on the first cell, navigates to the corresponding row\n * * <kbd>End</kbd> - Navigates to the last cell of the current row, if the focus is on the last cell, navigates to the corresponding row\n * * <kbd>Page Up</kbd> - Navigates one page up while keeping the focus in same column\n * * <kbd>Page Down</kbd> - Navigates one page down while keeping the focus in same column\n * * <kbd>F2</kbd> - Toggles the focus between the first tabbable cell content and the cell\n * * <kbd>Enter</kbd> - Focuses the first tabbable cell content\n * * <kbd>F7</kbd> - If the focus is on an interactive element inside a row, moves focus to the corresponding row and remembers the focus position of the element within the row\n * * <kbd>[Shift]Tab</kbd> - Move focus to the element in the tab chain outside the table\n\n *\n * If the focus is on an interactive cell content, the following keyboard shortcuts are available:\n * * <kbd>Down</kbd> - Move the focus to the interactive element in the same column of the previous row, unless the focused element prevents the default\n * * <kbd>Up</kbd> - Move the focus to the interactive element in the same column of the next row, unless the focused element prevents the default\n * * <kbd>[Shift]Tab</kbd> - Move the focus to the element in the tab chain\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Table.js\";`\\\n * `import \"@ui5/webcomponents/dist/TableRow.js\";` (`ui5-table-row`)\\\n * `import \"@ui5/webcomponents/dist/TableCell.js\";` (`ui5-table-cell`)\\\n * `import \"@ui5/webcomponents/dist/TableHeaderRow.js\";` (`ui5-table-header-row`)\\\n * `import \"@ui5/webcomponents/dist/TableHeaderCell.js\";` (`ui5-table-header-cell`)\n *\n * @constructor\n * @extends UI5Element\n * @since 2.0.0\n * @public\n * @experimental This Table web component is available since 2.0 and has been newly implemented to provide better screen reader and keyboard handling support.\n * Currently, it's considered experimental as its API is subject to change.\n * This Table replaces the previous Table web component, that has been part of **@ui5/webcomponents** version 1.x.\n * For compatibility reasons, we moved the previous Table implementation to the **@ui5/webcomponents-compat** package\n * and will be maintained until the new Table is experimental.\n * Keep in mind that you can use either the compat/Table, or the main/Table - you can't use them both as they both define the `ui5-table` tag name.\n */\n@customElement({\n\ttag: \"ui5-table\",\n\trenderer: litRender,\n\tstyles: TableStyles,\n\ttemplate: TableTemplate,\n\tfastNavigation: true,\n\tdependencies: [\n\t\tBusyIndicator,\n\t\tTableHeaderRow,\n\t\tTableCell,\n\t\tTableRow,\n\t\tDropIndicator,\n\t],\n})\n\n/**\n * Fired when an interactive row is clicked.\n *\n * @param {TableRow} row The row instance\n * @public\n */\n@eventStrict(\"row-click\", {\n\tbubbles: false,\n})\n\n/**\n * Fired when a movable item is moved over a potential drop target during a dragging operation.\n *\n * If the new position is valid, prevent the default action of the event using `preventDefault()`.\n *\n * **Note:** If the dragging operation is a cross-browser operation or files are moved to a potential drop target,\n * the `source` parameter will be `null`.\n *\n * @param {Event} originalEvent The original `dragover` event\n * @param {object} source The source object\n * @param {object} destination The destination object\n * @public\n */\n@eventStrict(\"move-over\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\n/**\n * Fired when a movable list item is dropped onto a drop target.\n *\n * **Notes:**\n *\n * The `move` event is fired only if there was a preceding `move-over` with prevented default action.\n *\n * If the dragging operation is a cross-browser operation or files are moved to a potential drop target,\n * the `source` parameter will be `null`.\n *\n * @param {Event} originalEvent The original `drop` event\n * @param {object} source The source object\n * @param {object} destination The destination object\n * @public\n */\n@eventStrict(\"move\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when a row action is clicked.\n *\n * @param {TableRowActionBase} action The row action instance\n * @param {TableRow} row The row instance\n * @since 2.6.0\n * @public\n */\n@eventStrict(\"row-action-click\", {\n\tbubbles: false,\n})\n\nclass Table extends UI5Element {\n\teventDetails!: {\n\t\t\"row-click\": TableRowClickEventDetail;\n\t\t\"move-over\": TableMoveEventDetail;\n\t\t\"move\": TableMoveEventDetail;\n\t\t\"row-action-click\": TableRowActionClickEventDetail;\n\t}\n\t/**\n\t * Defines the rows of the component.\n\t *\n\t * **Note:** Use `ui5-table-row` for the intended design.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: [\"navigated\", \"position\"],\n\t\t\tslots: false,\n\t\t},\n\t})\n\trows!: Array<TableRow>;\n\n\t/**\n\t * Defines the header row of the component.\n\t *\n\t * **Note:** Use `ui5-table-header-row` for the intended design.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: { properties: false, slots: true } })\n\theaderRow!: Array<TableHeaderRow>;\n\n\t/**\n\t * Defines the custom visualization if there is no data available.\n\t *\n\t * @public\n\t */\n\t@slot()\n\tnodata!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the features of the component.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true })\n\tfeatures!: Array<ITableFeature>;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Identifies the element (or elements) that labels the component.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the text to be displayed when there are no rows in the component.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tnoDataText?: string;\n\n\t/**\n\t * Defines the mode of the <code>ui5-table</code> overflow behavior.\n\t *\n\t * Available options are:\n\t *\n\t * <code>Scroll</code> - Columns are shown as regular columns and horizontal scrolling is enabled.\n\t *\n\t * <code>Popin</code> - Columns are shown as pop-ins instead of regular columns.\n\t *\n\t * @default \"Scroll\"\n\t * @public\n\t */\n\t@property()\n\toverflowMode: `${TableOverflowMode}` = \"Scroll\";\n\n\t/**\n\t * Defines if the loading indicator should be shown.\n\t *\n\t * **Note:** When the component is loading, it is not interactive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\t/**\n * Defines the delay in milliseconds, after which the loading indicator will show up for this component.\n\t *\n * @default 1000\n * @public\n */\n\t@property({ type: Number })\n\tloadingDelay = 1000;\n\n\t/**\n\t * Defines the sticky top offset of the table, if other sticky elements outside of the table exist.\n\t */\n\t@property()\n\tstickyTop = \"0\";\n\n\t/**\n\t * Defines the maximum number of row actions that is displayed, which determines the width of the row action column.\n\t *\n\t * **Note:** It is recommended to use a maximum of 3 row actions, as exceeding this limit may take up too much space on smaller screens.\n\t *\n\t * @default 0\n\t * @since 2.7.0\n\t * @public\n\t */\n\t@property({ type: Number })\n\trowActionCount = 0;\n\n\t@property({ type: Number, noAttribute: true })\n\t_invalidate = 0;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_renderNavigated = false;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t_events = [\"keydown\", \"keyup\", \"click\", \"focusin\", \"focusout\", \"dragenter\", \"dragleave\", \"dragover\", \"drop\"];\n\t_onEventBound: (e: Event) => void;\n\t_onResizeBound: ResizeObserverCallback;\n\t_tableNavigation?: TableNavigation;\n\t_tableDragAndDrop?: TableDragAndDrop;\n\t_poppedIn: Array<{col: TableHeaderCell, width: float}> = [];\n\t_containerWidth = 0;\n\t_rowsLength = 0;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._onResizeBound = this._onResize.bind(this);\n\t\tthis._onEventBound = this._onEvent.bind(this);\n\t}\n\n\tonEnterDOM() {\n\t\tif (this.overflowMode === TableOverflowMode.Popin) {\n\t\t\tResizeHandler.register(this, this._onResizeBound);\n\t\t}\n\t\tthis._events.forEach(eventType => this.addEventListener(eventType, this._onEventBound));\n\t\tthis.features.forEach(feature => feature.onTableActivate?.(this));\n\t\tthis._tableNavigation = new TableNavigation(this);\n\t\tthis._tableDragAndDrop = new TableDragAndDrop(this);\n\t}\n\n\tonExitDOM() {\n\t\tthis._tableNavigation = undefined;\n\t\tthis._tableDragAndDrop = undefined;\n\t\tthis._events.forEach(eventType => this.removeEventListener(eventType, this._onEventBound));\n\t\tif (this.overflowMode === TableOverflowMode.Popin) {\n\t\t\tResizeHandler.deregister(this, this._onResizeBound);\n\t\t}\n\t}\n\n\tonBeforeRendering(): void {\n\t\tthis._renderNavigated = this.rows.some(row => row.navigated);\n\t\tif (this.headerRow[0]) {\n\t\t\tthis.headerRow[0]._rowActionCount = this.rowActionCount;\n\t\t\tif (this._getSelection()?.isMultiSelect() && this._rowsLength !== this.rows.length) {\n\t\t\t\tthis._rowsLength = this.rows.length;\n\t\t\t\tthis.headerRow[0]._invalidate++;\n\t\t\t}\n\t\t}\n\t\tthis.rows.forEach(row => {\n\t\t\trow._renderNavigated = this._renderNavigated;\n\t\t\trow._rowActionCount = this.rowActionCount;\n\t\t});\n\n\t\tthis.style.setProperty(getScopedVarName(\"--ui5_grid_sticky_top\"), this.stickyTop);\n\t\tthis._refreshPopinState();\n\t}\n\n\tonAfterRendering(): void {\n\t\tthis.features.forEach(feature => feature.onTableAfterRendering?.(this));\n\t}\n\n\t_getSelection(): TableSelection | undefined {\n\t\treturn this.features.find(feature => isFeature<TableSelection>(feature, \"TableSelection\")) as TableSelection;\n\t}\n\n\t_getVirtualizer(): TableVirtualizer | undefined {\n\t\treturn this.features.find(feature => isFeature<TableVirtualizer>(feature, \"TableVirtualizer\")) as TableVirtualizer;\n\t}\n\n\t_onEvent(e: Event) {\n\t\tconst composedPath = e.composedPath();\n\t\tconst eventOrigin = composedPath[0] as HTMLElement;\n\t\tconst elements = [this._tableNavigation, this._tableDragAndDrop, ...composedPath, ...this.features];\n\t\telements.forEach(element => {\n\t\t\tif (element instanceof TableExtension || (element instanceof HTMLElement && element.localName.includes(\"ui5-table\"))) {\n\t\t\t\tconst eventHandlerName = `_on${e.type}` as keyof typeof element;\n\t\t\t\tconst eventHandler = element[eventHandlerName] as (e?: Event, eventOrigin?: HTMLElement) => void;\n\t\t\t\tif (typeof eventHandler === \"function\") {\n\t\t\t\t\teventHandler.call(element, e, eventOrigin);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t_onResize() {\n\t\tconst { clientWidth, scrollWidth } = this._tableElement;\n\n\t\tif (scrollWidth > clientWidth) {\n\t\t\t// Overflow Handling: Move columns into the popin until overflow is resolved\n\t\t\tconst overflow = scrollWidth - clientWidth;\n\t\t\tconst headers = this._getPopinOrderedColumns(false);\n\t\t\tconst poppedInWidth = headers.reduce((totalPoppedInWidth, headerCell) => {\n\t\t\t\tif (totalPoppedInWidth < overflow && !headerCell._popin) {\n\t\t\t\t\tconst headerWidth = Math.ceil(headerCell.getBoundingClientRect().width);\n\t\t\t\t\ttotalPoppedInWidth += headerWidth;\n\t\t\t\t\tthis._setHeaderPopinState(headerCell, true, headerWidth);\n\t\t\t\t}\n\t\t\t\treturn totalPoppedInWidth;\n\t\t\t}, 0);\n\t\t\t// Calculate container width considering popped-in columns\n\t\t\tconst columnOverflow = poppedInWidth - overflow;\n\t\t\tthis._containerWidth = clientWidth - columnOverflow;\n\t\t} else {\n\t\t\t// Underflow Handling: Restore columns from popin until container width is met\n\t\t\tconst headers = this._getPopinOrderedColumns(true).filter(it => it._popin);\n\n\t\t\theaders.every(headerCell => {\n\t\t\t\tconst underflow = clientWidth - this._containerWidth;\n\t\t\t\tif (underflow >= headerCell._popinWidth) {\n\t\t\t\t\tthis._containerWidth += headerCell._popinWidth;\n\t\t\t\t\tthis._setHeaderPopinState(headerCell, false, 0);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tif (e.target === this) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Handles focus in the table, when the focus is below a sticky element\n\t\tscrollElementIntoView(this._scrollContainer, e.target as HTMLElement, this._stickyElements, this.effectiveDir === \"rtl\");\n\t}\n\n\t_onGrow() {\n\t\tthis._growing?.loadMore();\n\t}\n\n\t_getPopinOrderedColumns(reverse: boolean) {\n\t\tlet headers = [...this.headerRow[0].cells];\n\t\theaders = headers.reverse(); // reverse the \"visual\" order\n\t\theaders = headers.sort((a, b) => a.importance - b.importance); // sort by importance (asc)\n\t\theaders.pop(); // remove the most important column, as it will not be popped in\n\n\t\tif (reverse) {\n\t\t\theaders = headers.reverse();\n\t\t}\n\n\t\treturn headers;\n\t}\n\n\t/**\n\t * Refreshes the popin state of the columns.\n\t * Syncs the popin state of the columns with the popin state of the header cells.\n\t * This is needed when additional rows are manually added and no resize happens.\n\t * @private\n\t */\n\t_refreshPopinState() {\n\t\tthis.headerRow[0]?.cells.forEach((header, index) => {\n\t\t\tthis.rows.forEach(row => {\n\t\t\t\tconst cell = row.cells[index];\n\t\t\t\tif (cell) {\n\t\t\t\t\tcell._popinHidden = header.popinHidden;\n\t\t\t\t\tcell._popin = header._popin;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t_setHeaderPopinState(headerCell: TableHeaderCell, inPopin: boolean, popinWidth: number) {\n\t\tconst headerIndex = this.headerRow[0].cells.indexOf(headerCell);\n\t\theaderCell._popin = inPopin;\n\t\theaderCell._popinWidth = popinWidth;\n\t\tthis.rows.forEach(row => {\n\t\t\trow.cells[headerIndex]._popinHidden = headerCell.popinHidden;\n\t\t\trow.cells[headerIndex]._popin = inPopin;\n\t\t});\n\t}\n\n\t_isFeature(feature: any) {\n\t\treturn Boolean(feature.onTableActivate || feature.onTableAfterRendering);\n\t}\n\n\t_isGrowingFeature(feature: any) {\n\t\treturn Boolean(feature.loadMore && feature.hasGrowingComponent && this._isFeature(feature));\n\t}\n\n\t_onRowClick(row: TableRow) {\n\t\tthis.fireDecoratorEvent(\"row-click\", { row });\n\t}\n\n\t_onRowActionClick(action: TableRowActionBase) {\n\t\tconst row = action.parentElement as TableRow;\n\t\tthis.fireDecoratorEvent(\"row-action-click\", { action, row });\n\t}\n\n\tget styles() {\n\t\tconst virtualizer = this._getVirtualizer();\n\t\tconst headerStyleMap = this.headerRow?.[0]?.cells?.reduce((headerStyles, headerCell) => {\n\t\t\tif (headerCell.horizontalAlign !== undefined && !headerCell._popin) {\n\t\t\t\theaderStyles[`--horizontal-align-${headerCell._individualSlot}`] = headerCell.horizontalAlign;\n\t\t\t}\n\t\t\treturn headerStyles;\n\t\t}, {} as { [key: string]: string });\n\t\treturn {\n\t\t\ttable: {\n\t\t\t\t\"grid-template-columns\": this._gridTemplateColumns,\n\t\t\t\t\"--row-height\": virtualizer ? `${virtualizer.rowHeight}px` : \"auto\",\n\t\t\t\t...headerStyleMap,\n\t\t\t},\n\t\t\tspacer: {\n\t\t\t\t\"transform\": virtualizer?._getTransform(),\n\t\t\t\t\"will-change\": virtualizer && \"transform\",\n\t\t\t},\n\t\t};\n\t}\n\n\tget _gridTemplateColumns() {\n\t\tif (!this.headerRow[0]) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst widths = [];\n\t\tconst visibleHeaderCells = this.headerRow[0]._visibleCells as TableHeaderCell[];\n\t\tif (this._getSelection()?.hasRowSelector()) {\n\t\t\twidths.push(\"min-content\");\n\t\t}\n\t\twidths.push(...visibleHeaderCells.map(cell => {\n\t\t\tconst minWidth = cell.minWidth === \"auto\" ? \"3rem\" : cell.minWidth;\n\t\t\tif (cell.width === \"auto\" || cell.width.includes(\"%\") || cell.width.includes(\"fr\") || cell.width.includes(\"vw\")) {\n\t\t\t\treturn `minmax(${minWidth}, ${cell.maxWidth})`;\n\t\t\t}\n\t\t\treturn `minmax(${cell.width}, ${cell.width})`;\n\t\t}));\n\n\t\tif (this.rowActionCount > 0) {\n\t\t\twidths.push(`calc(var(${getScopedVarName(\"--_ui5_button_base_min_width\")}) * ${this.rowActionCount} + var(${getScopedVarName(\"--_ui5_table_row_actions_gap\")}) * ${this.rowActionCount - 1} + var(${getScopedVarName(\"--_ui5_table_cell_horizontal_padding\")}) * 2)`);\n\t\t}\n\n\t\tif (this._renderNavigated) {\n\t\t\twidths.push(`var(${getScopedVarName(\"--_ui5_table_navigated_cell_width\")})`);\n\t\t}\n\n\t\treturn widths.join(\" \");\n\t}\n\n\tget _tableOverflowX() {\n\t\treturn (this.overflowMode === TableOverflowMode.Popin) ? \"clip\" : \"auto\";\n\t}\n\n\tget _tableOverflowY() {\n\t\treturn \"auto\";\n\t}\n\n\tget _nodataRow() {\n\t\treturn this.shadowRoot!.getElementById(\"nodata-row\") as TableRow;\n\t}\n\n\tget _beforeElement() {\n\t\treturn this.shadowRoot!.getElementById(\"before\") as HTMLElement;\n\t}\n\n\tget _afterElement() {\n\t\treturn this.shadowRoot!.getElementById(\"after\") as HTMLElement;\n\t}\n\n\tget _tableElement() {\n\t\treturn this.shadowRoot!.getElementById(\"table\") as HTMLElement;\n\t}\n\n\tget _loadingElement() {\n\t\treturn this.shadowRoot!.getElementById(\"loading\") as HTMLElement;\n\t}\n\n\tget _effectiveNoDataText() {\n\t\treturn this.noDataText || Table.i18nBundle.getText(TABLE_NO_DATA);\n\t}\n\n\tget _ariaLabel() {\n\t\treturn getEffectiveAriaLabelText(this) || undefined;\n\t}\n\n\tget _ariaRowCount() {\n\t\treturn this._getVirtualizer()?.rowCount || undefined;\n\t}\n\n\tget _ariaMultiSelectable() {\n\t\tconst selection = this._getSelection();\n\t\treturn (selection?.isSelectable() && this.rows.length) ? selection.isMultiSelect() : undefined;\n\t}\n\n\tget _shouldRenderGrowing() {\n\t\treturn this.rows.length && this._growing?.hasGrowingComponent();\n\t}\n\n\tget _growing() {\n\t\treturn this.features.find(feature => this._isGrowingFeature(feature)) as ITableGrowing;\n\t}\n\n\tget _stickyElements() {\n\t\tconst stickyRows = this.headerRow.filter(row => row.sticky);\n\t\tconst stickyColumns = this.headerRow[0]._stickyCells as TableHeaderCell[];\n\n\t\treturn [...stickyRows, ...stickyColumns];\n\t}\n\n\tget _scrollContainer() {\n\t\treturn this._getVirtualizer() ? this._tableElement : findVerticalScrollContainer(this);\n\t}\n\n\tget isTable() {\n\t\treturn true;\n\t}\n\n\tget dropIndicatorDOM(): DropIndicator | null {\n\t\treturn this.shadowRoot!.querySelector(\"[ui5-drop-indicator]\");\n\t}\n\n\tget _hasRowActions() {\n\t\treturn this.rowActionCount > 0;\n\t}\n}\n\nTable.define();\n\nexport default Table;\n\nexport type {\n\tITableFeature,\n\tITableGrowing,\n\tTableRowClickEventDetail,\n\tTableMoveEventDetail,\n\tTableRowActionClickEventDetail,\n};\n"]}
@@ -20,8 +20,7 @@ import TableCellBase from "./TableCellBase.js";
20
20
  declare class TableCell extends TableCellBase {
21
21
  onBeforeRendering(): void;
22
22
  get _headerCell(): import("./TableHeaderCell.js").default;
23
- get _popinText(): string | undefined;
24
- get _popinHeader(): Node;
23
+ get _popinHeaderNodes(): (string | Node)[];
25
24
  get _i18nPopinColon(): string;
26
25
  }
27
26
  export default TableCell;
package/dist/TableCell.js CHANGED
@@ -43,11 +43,19 @@ let TableCell = class TableCell extends TableCellBase {
43
43
  const index = row.cells.indexOf(this);
44
44
  return table.headerRow[0].cells[index];
45
45
  }
46
- get _popinText() {
47
- return this._headerCell?.popinText;
48
- }
49
- get _popinHeader() {
50
- return this._headerCell?.content[0]?.cloneNode(true);
46
+ get _popinHeaderNodes() {
47
+ const nodes = [];
48
+ const headerCell = this._headerCell;
49
+ if (headerCell.popinText) {
50
+ nodes.push(headerCell.popinText);
51
+ }
52
+ else {
53
+ nodes.push(...this._headerCell.content.map(node => node.cloneNode(true)));
54
+ }
55
+ if (headerCell.action[0]) {
56
+ nodes.push(headerCell.action[0].cloneNode(true));
57
+ }
58
+ return nodes;
51
59
  }
52
60
  get _i18nPopinColon() {
53
61
  return TableCellBase.i18nBundle.getText(LABEL_COLON);
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.js","sourceRoot":"","sources":["../src/TableCell.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,iBAAiB,MAAM,gDAAgD,CAAC;AAC/E,OAAO,eAAe,MAAM,qCAAqC,CAAC;AAClE,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AAMH,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,aAAa;IACpC,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAClD,CAAC;aAAM,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,0BAA0B,IAAI,CAAC,eAAe,GAAG,CAAC;QAC/E,CAAC;IACF,CAAC;IAED,IAAI,WAAW;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,aAAyB,CAAC;QAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,aAAsB,CAAC;QACzC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;IACpC,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;CACD,CAAA;AA5BK,SAAS;IALd,aAAa,CAAC;QACd,GAAG,EAAE,gBAAgB;QACrB,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC;QAC/C,QAAQ,EAAE,iBAAiB;KAC3B,CAAC;GACI,SAAS,CA4Bd;AAED,SAAS,CAAC,MAAM,EAAE,CAAC;AAEnB,eAAe,SAAS,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport TableCellTemplate from \"./generated/templates/TableCellTemplate.lit.js\";\nimport TableCellStyles from \"./generated/themes/TableCell.css.js\";\nimport TableCellBase from \"./TableCellBase.js\";\nimport type TableRow from \"./TableRow.js\";\nimport type Table from \"./Table.js\";\nimport { LABEL_COLON } from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-cell` represents a cell inside of a `ui5-table`.\n * It is tightly coupled to the `ui5-table` and thus should only be used in the table component.\n *\n * ### ES6 Module Import\n *\n * `import @ui5/webcomponents/dist/TableCell.js;`\n *\n * @constructor\n * @extends TableCellBase\n * @since 2.0.0\n * @public\n * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.\n */\n@customElement({\n\ttag: \"ui5-table-cell\",\n\tstyles: [TableCellBase.styles, TableCellStyles],\n\ttemplate: TableCellTemplate,\n})\nclass TableCell extends TableCellBase {\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tif (this.horizontalAlign) {\n\t\t\tthis.style.justifyContent = this.horizontalAlign;\n\t\t} else if (this._individualSlot) {\n\t\t\tthis.style.justifyContent = `var(--horizontal-align-${this._individualSlot})`;\n\t\t}\n\t}\n\n\tget _headerCell() {\n\t\tconst row = this.parentElement as TableRow;\n\t\tconst table = row.parentElement as Table;\n\t\tconst index = row.cells.indexOf(this);\n\t\treturn table.headerRow[0].cells[index];\n\t}\n\n\tget _popinText() {\n\t\treturn this._headerCell?.popinText;\n\t}\n\n\tget _popinHeader() {\n\t\treturn this._headerCell?.content[0]?.cloneNode(true);\n\t}\n\n\tget _i18nPopinColon() {\n\t\treturn TableCellBase.i18nBundle.getText(LABEL_COLON);\n\t}\n}\n\nTableCell.define();\n\nexport default TableCell;\n"]}
1
+ {"version":3,"file":"TableCell.js","sourceRoot":"","sources":["../src/TableCell.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,iBAAiB,MAAM,gDAAgD,CAAC;AAC/E,OAAO,eAAe,MAAM,qCAAqC,CAAC;AAClE,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AAMH,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,aAAa;IACpC,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAClD,CAAC;aAAM,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,0BAA0B,IAAI,CAAC,eAAe,GAAG,CAAC;QAC/E,CAAC;IACF,CAAC;IAED,IAAI,WAAW;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,aAAyB,CAAC;QAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,aAAsB,CAAC;QACzC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,iBAAiB;QACpB,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;CACD,CAAA;AAlCK,SAAS;IALd,aAAa,CAAC;QACd,GAAG,EAAE,gBAAgB;QACrB,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC;QAC/C,QAAQ,EAAE,iBAAiB;KAC3B,CAAC;GACI,SAAS,CAkCd;AAED,SAAS,CAAC,MAAM,EAAE,CAAC;AAEnB,eAAe,SAAS,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport TableCellTemplate from \"./generated/templates/TableCellTemplate.lit.js\";\nimport TableCellStyles from \"./generated/themes/TableCell.css.js\";\nimport TableCellBase from \"./TableCellBase.js\";\nimport type TableRow from \"./TableRow.js\";\nimport type Table from \"./Table.js\";\nimport { LABEL_COLON } from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-cell` represents a cell inside of a `ui5-table`.\n * It is tightly coupled to the `ui5-table` and thus should only be used in the table component.\n *\n * ### ES6 Module Import\n *\n * `import @ui5/webcomponents/dist/TableCell.js;`\n *\n * @constructor\n * @extends TableCellBase\n * @since 2.0.0\n * @public\n * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.\n */\n@customElement({\n\ttag: \"ui5-table-cell\",\n\tstyles: [TableCellBase.styles, TableCellStyles],\n\ttemplate: TableCellTemplate,\n})\nclass TableCell extends TableCellBase {\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tif (this.horizontalAlign) {\n\t\t\tthis.style.justifyContent = this.horizontalAlign;\n\t\t} else if (this._individualSlot) {\n\t\t\tthis.style.justifyContent = `var(--horizontal-align-${this._individualSlot})`;\n\t\t}\n\t}\n\n\tget _headerCell() {\n\t\tconst row = this.parentElement as TableRow;\n\t\tconst table = row.parentElement as Table;\n\t\tconst index = row.cells.indexOf(this);\n\t\treturn table.headerRow[0].cells[index];\n\t}\n\n\tget _popinHeaderNodes() {\n\t\tconst nodes = [];\n\t\tconst headerCell = this._headerCell;\n\t\tif (headerCell.popinText) {\n\t\t\tnodes.push(headerCell.popinText);\n\t\t} else {\n\t\t\tnodes.push(...this._headerCell.content.map(node => node.cloneNode(true)));\n\t\t}\n\t\tif (headerCell.action[0]) {\n\t\t\tnodes.push(headerCell.action[0].cloneNode(true));\n\t\t}\n\t\treturn nodes;\n\t}\n\n\tget _i18nPopinColon() {\n\t\treturn TableCellBase.i18nBundle.getText(LABEL_COLON);\n\t}\n}\n\nTableCell.define();\n\nexport default TableCell;\n"]}
@@ -24,6 +24,7 @@ declare abstract class TableCellBase extends UI5Element {
24
24
  */
25
25
  horizontalAlign?: `${TableCellHorizontalAlign}`;
26
26
  _popin: boolean;
27
+ _popinHidden: boolean;
27
28
  protected ariaRole: string;
28
29
  static i18nBundle: I18nBundle;
29
30
  onEnterDOM(): void;
@@ -24,6 +24,7 @@ let TableCellBase = class TableCellBase extends UI5Element {
24
24
  constructor() {
25
25
  super(...arguments);
26
26
  this._popin = false;
27
+ this._popinHidden = false;
27
28
  this.ariaRole = "gridcell";
28
29
  }
29
30
  onEnterDOM() {
@@ -53,6 +54,9 @@ __decorate([
53
54
  __decorate([
54
55
  property({ type: Boolean })
55
56
  ], TableCellBase.prototype, "_popin", void 0);
57
+ __decorate([
58
+ property({ type: Boolean, noAttribute: true })
59
+ ], TableCellBase.prototype, "_popinHidden", void 0);
56
60
  __decorate([
57
61
  i18n("@ui5/webcomponents")
58
62
  ], TableCellBase, "i18nBundle", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"TableCellBase.js","sourceRoot":"","sources":["../src/TableCellBase.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,mBAAmB,MAAM,yCAAyC,CAAC;AAG1E;;;;;;;;GAQG;AAKH,IAAe,aAAa,GAA5B,MAAe,aAAc,SAAQ,UAAU;IAA/C;;QAkBC,WAAM,GAAG,KAAK,CAAC;QAEL,aAAQ,GAAW,UAAU,CAAC;IAwBzC,CAAC;IAnBA,UAAU;QACT,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,iBAAiB;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACF,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC;IACb,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AAtCA;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;8CAChB;AASnB;IADF,QAAQ,EAAE;sDACwC;AAGnD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACb;AAKR;IADN,IAAI,CAAC,oBAAoB,CAAC;uCACG;AAvBhB,aAAa;IAJ3B,aAAa,CAAC;QACd,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,mBAAmB;KAC3B,CAAC;GACa,aAAa,CA4C3B;AAED,eAAe,aAAa,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport TableCellBaseStyles from \"./generated/themes/TableCellBase.css.js\";\nimport type TableCellHorizontalAlign from \"./types/TableCellHorizontalAlign.js\";\n\n/**\n * @class\n * A class to serve as a foundation for the `TableCell` and `TableHeaderCell` classes.\n * @constructor\n * @abstract\n * @extends UI5Element\n * @since 2.0.0\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: TableCellBaseStyles,\n})\nabstract class TableCellBase extends UI5Element {\n\t/**\n\t * Defines the content of the component.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\tcontent!: Array<Node>;\n\n\t/**\n\t * Determines the horizontal alignment of table cells.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n horizontalAlign?: `${TableCellHorizontalAlign}`;\n\n\t@property({ type: Boolean })\n\t_popin = false;\n\n\tprotected ariaRole: string = \"gridcell\";\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonEnterDOM() {\n\t\tthis.toggleAttribute(\"ui5-table-cell-base\", true);\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._popin) {\n\t\t\tthis.removeAttribute(\"role\");\n\t\t} else {\n\t\t\tthis.setAttribute(\"role\", this.ariaRole);\n\t\t}\n\t}\n\n\tgetFocusDomRef() {\n\t\treturn this;\n\t}\n\n\tisTableCellBase() {\n\t\treturn true;\n\t}\n}\n\nexport default TableCellBase;\n"]}
1
+ {"version":3,"file":"TableCellBase.js","sourceRoot":"","sources":["../src/TableCellBase.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,mBAAmB,MAAM,yCAAyC,CAAC;AAG1E;;;;;;;;GAQG;AAKH,IAAe,aAAa,GAA5B,MAAe,aAAc,SAAQ,UAAU;IAA/C;;QAkBC,WAAM,GAAG,KAAK,CAAC;QAGf,iBAAY,GAAG,KAAK,CAAC;QAEX,aAAQ,GAAW,UAAU,CAAC;IAwBzC,CAAC;IAnBA,UAAU;QACT,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,iBAAiB;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACF,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC;IACb,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AAzCA;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;8CAChB;AASnB;IADF,QAAQ,EAAE;sDACwC;AAGnD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACb;AAGf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;mDAC1B;AAKd;IADN,IAAI,CAAC,oBAAoB,CAAC;uCACG;AA1BhB,aAAa;IAJ3B,aAAa,CAAC;QACd,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,mBAAmB;KAC3B,CAAC;GACa,aAAa,CA+C3B;AAED,eAAe,aAAa,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport TableCellBaseStyles from \"./generated/themes/TableCellBase.css.js\";\nimport type TableCellHorizontalAlign from \"./types/TableCellHorizontalAlign.js\";\n\n/**\n * @class\n * A class to serve as a foundation for the `TableCell` and `TableHeaderCell` classes.\n * @constructor\n * @abstract\n * @extends UI5Element\n * @since 2.0.0\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: TableCellBaseStyles,\n})\nabstract class TableCellBase extends UI5Element {\n\t/**\n\t * Defines the content of the component.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\tcontent!: Array<Node>;\n\n\t/**\n\t * Determines the horizontal alignment of table cells.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n horizontalAlign?: `${TableCellHorizontalAlign}`;\n\n\t@property({ type: Boolean })\n\t_popin = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_popinHidden = false;\n\n\tprotected ariaRole: string = \"gridcell\";\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonEnterDOM() {\n\t\tthis.toggleAttribute(\"ui5-table-cell-base\", true);\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._popin) {\n\t\t\tthis.removeAttribute(\"role\");\n\t\t} else {\n\t\t\tthis.setAttribute(\"role\", this.ariaRole);\n\t\t}\n\t}\n\n\tgetFocusDomRef() {\n\t\treturn this;\n\t}\n\n\tisTableCellBase() {\n\t\treturn true;\n\t}\n}\n\nexport default TableCellBase;\n"]}
@@ -1,4 +1,8 @@
1
1
  import TableCellBase from "./TableCellBase.js";
2
+ import SortOrder from "@ui5/webcomponents-base/dist/types/SortOrder.js";
3
+ import type TableHeaderCellActionBase from "./TableHeaderCellActionBase.js";
4
+ import "@ui5/webcomponents-icons/dist/sort-ascending.js";
5
+ import "@ui5/webcomponents-icons/dist/sort-descending.js";
2
6
  /**
3
7
  * @class
4
8
  *
@@ -65,10 +69,39 @@ declare class TableHeaderCell extends TableCellBase {
65
69
  * @public
66
70
  */
67
71
  popinText?: string;
72
+ /**
73
+ * Defines the sort indicator of the column.
74
+ *
75
+ * @default "None"
76
+ * @since 2.8.0
77
+ * @public
78
+ */
79
+ sortIndicator: `${SortOrder}`;
80
+ /**
81
+ * Defines if the column is hidden in the popin.
82
+ *
83
+ * **Note:** Please be aware that hiding the column in the popin might lead to accessibility issues as
84
+ * users might not be able to access the content of the column on small screens.
85
+ *
86
+ * @default false
87
+ * @since 2.8.0
88
+ * @public
89
+ */
90
+ popinHidden: boolean;
91
+ /**
92
+ * Defines the action of the column.
93
+ *
94
+ * **Note:** While multiple actions are technically possible, this is not supported.
95
+ *
96
+ * @public
97
+ * @since 2.8.0
98
+ */
99
+ action: Array<TableHeaderCellActionBase>;
68
100
  _popin: boolean;
69
101
  protected ariaRole: string;
70
102
  _popinWidth: number;
71
103
  onEnterDOM(): void;
72
104
  onBeforeRendering(): void;
105
+ get _sortIcon(): string | undefined;
73
106
  }
74
107
  export default TableHeaderCell;