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

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 (640) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/cypress/specs/Dialog.cy.tsx +89 -0
  3. package/cypress/specs/Input.cy.tsx +170 -1
  4. package/cypress/specs/Popover.cy.tsx +151 -0
  5. package/cypress/specs/Select.cy.tsx +15 -0
  6. package/cypress/specs/Table.cy.tsx +3 -22
  7. package/cypress/specs/TableNavigation.cy.tsx +223 -0
  8. package/cypress/specs/TableNavigationFixedHeader.cy.tsx +199 -0
  9. package/cypress/specs/TableSelection.cy.tsx +37 -0
  10. package/cypress/specs/TableSelections.cy.tsx +296 -0
  11. package/cypress/specs/Text.cy.tsx +19 -3
  12. package/cypress/specs/Tokenizer.cy.tsx +36 -0
  13. package/dist/.tsbuildinfo +1 -1
  14. package/dist/Avatar.d.ts +4 -1
  15. package/dist/Avatar.js.map +1 -1
  16. package/dist/ComboBoxItemGroupTemplate.js +2 -2
  17. package/dist/ComboBoxItemGroupTemplate.js.map +1 -1
  18. package/dist/Input.d.ts +1 -1
  19. package/dist/Input.js +10 -5
  20. package/dist/Input.js.map +1 -1
  21. package/dist/List.d.ts +5 -2
  22. package/dist/List.js +24 -2
  23. package/dist/List.js.map +1 -1
  24. package/dist/ListBoxItemGroupTemplate.d.ts +4 -0
  25. package/dist/ListBoxItemGroupTemplate.js +13 -0
  26. package/dist/ListBoxItemGroupTemplate.js.map +1 -0
  27. package/dist/ListItemGroupHeader.d.ts +6 -0
  28. package/dist/ListItemGroupHeader.js +20 -3
  29. package/dist/ListItemGroupHeader.js.map +1 -1
  30. package/dist/ListItemGroupHeaderTemplate.js +3 -3
  31. package/dist/ListItemGroupHeaderTemplate.js.map +1 -1
  32. package/dist/ListItemGroupTemplate.d.ts +1 -3
  33. package/dist/ListItemGroupTemplate.js +5 -8
  34. package/dist/ListItemGroupTemplate.js.map +1 -1
  35. package/dist/ListTemplate.js +1 -1
  36. package/dist/ListTemplate.js.map +1 -1
  37. package/dist/MultiComboBoxItemGroupTemplate.js +2 -2
  38. package/dist/MultiComboBoxItemGroupTemplate.js.map +1 -1
  39. package/dist/Popover.d.ts +0 -6
  40. package/dist/Popover.js +0 -9
  41. package/dist/Popover.js.map +1 -1
  42. package/dist/Popup.js +3 -1
  43. package/dist/Popup.js.map +1 -1
  44. package/dist/Select.d.ts +7 -0
  45. package/dist/Select.js +3 -0
  46. package/dist/Select.js.map +1 -1
  47. package/dist/SelectTemplate.js +2 -2
  48. package/dist/SelectTemplate.js.map +1 -1
  49. package/dist/SuggestionItemGroup.js +2 -0
  50. package/dist/SuggestionItemGroup.js.map +1 -1
  51. package/dist/Table.d.ts +11 -5
  52. package/dist/Table.js +10 -14
  53. package/dist/Table.js.map +1 -1
  54. package/dist/TableHeaderRow.d.ts +0 -1
  55. package/dist/TableHeaderRow.js +0 -3
  56. package/dist/TableHeaderRow.js.map +1 -1
  57. package/dist/TableRow.d.ts +5 -3
  58. package/dist/TableRow.js +1 -8
  59. package/dist/TableRow.js.map +1 -1
  60. package/dist/TableRowAction.d.ts +9 -8
  61. package/dist/TableRowAction.js +9 -11
  62. package/dist/TableRowAction.js.map +1 -1
  63. package/dist/TableRowBase.d.ts +2 -2
  64. package/dist/TableRowBase.js +8 -6
  65. package/dist/TableRowBase.js.map +1 -1
  66. package/dist/TableSelection.d.ts +9 -7
  67. package/dist/TableSelection.js +34 -30
  68. package/dist/TableSelection.js.map +1 -1
  69. package/dist/TableSelectionBase.d.ts +79 -0
  70. package/dist/TableSelectionBase.js +108 -0
  71. package/dist/TableSelectionBase.js.map +1 -0
  72. package/dist/TableSelectionMulti.d.ts +92 -0
  73. package/dist/TableSelectionMulti.js +260 -0
  74. package/dist/TableSelectionMulti.js.map +1 -0
  75. package/dist/TableSelectionSingle.d.ts +49 -0
  76. package/dist/TableSelectionSingle.js +67 -0
  77. package/dist/TableSelectionSingle.js.map +1 -0
  78. package/dist/Tokenizer.js +2 -2
  79. package/dist/Tokenizer.js.map +1 -1
  80. package/dist/bundle.esm.js +2 -0
  81. package/dist/bundle.esm.js.map +1 -1
  82. package/dist/css/themes/Avatar.css +1 -1
  83. package/dist/css/themes/AvatarGroup.css +1 -1
  84. package/dist/css/themes/Bar.css +1 -1
  85. package/dist/css/themes/Breadcrumbs.css +1 -1
  86. package/dist/css/themes/BusyIndicator.css +1 -1
  87. package/dist/css/themes/Button.css +1 -1
  88. package/dist/css/themes/ButtonBadge.css +1 -1
  89. package/dist/css/themes/Calendar.css +1 -1
  90. package/dist/css/themes/CalendarHeader.css +1 -1
  91. package/dist/css/themes/CalendarLegend.css +1 -1
  92. package/dist/css/themes/CalendarLegendItem.css +1 -1
  93. package/dist/css/themes/Card.css +1 -1
  94. package/dist/css/themes/CardHeader.css +1 -1
  95. package/dist/css/themes/Carousel.css +1 -1
  96. package/dist/css/themes/CheckBox.css +1 -1
  97. package/dist/css/themes/ColorPalette.css +1 -1
  98. package/dist/css/themes/ColorPaletteItem.css +1 -1
  99. package/dist/css/themes/ColorPalettePopover.css +1 -1
  100. package/dist/css/themes/ColorPicker.css +1 -1
  101. package/dist/css/themes/ComboBox.css +1 -1
  102. package/dist/css/themes/ComboBoxItem.css +1 -1
  103. package/dist/css/themes/DatePicker.css +1 -1
  104. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  105. package/dist/css/themes/DayPicker.css +1 -1
  106. package/dist/css/themes/Dialog.css +1 -1
  107. package/dist/css/themes/FileUploader.css +1 -1
  108. package/dist/css/themes/Form.css +1 -1
  109. package/dist/css/themes/FormItem.css +1 -1
  110. package/dist/css/themes/FormItemSpan.css +1 -1
  111. package/dist/css/themes/GrowingButton.css +1 -1
  112. package/dist/css/themes/Icon.css +1 -1
  113. package/dist/css/themes/Input.css +1 -1
  114. package/dist/css/themes/InputIcon.css +1 -1
  115. package/dist/css/themes/InputSharedStyles.css +1 -1
  116. package/dist/css/themes/Link.css +1 -1
  117. package/dist/css/themes/List.css +1 -1
  118. package/dist/css/themes/ListItem.css +1 -1
  119. package/dist/css/themes/ListItemBase.css +1 -1
  120. package/dist/css/themes/ListItemCustom.css +1 -1
  121. package/dist/css/themes/ListItemGroup.css +1 -1
  122. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  123. package/dist/css/themes/ListItemIcon.css +1 -1
  124. package/dist/css/themes/Menu.css +1 -1
  125. package/dist/css/themes/MenuItem.css +1 -1
  126. package/dist/css/themes/MessageStrip.css +1 -1
  127. package/dist/css/themes/MonthPicker.css +1 -1
  128. package/dist/css/themes/MultiComboBox.css +1 -1
  129. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  130. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  131. package/dist/css/themes/MultiInput.css +1 -1
  132. package/dist/css/themes/OptionBase.css +1 -1
  133. package/dist/css/themes/Panel.css +1 -1
  134. package/dist/css/themes/Popover.css +1 -1
  135. package/dist/css/themes/PopupsCommon.css +1 -1
  136. package/dist/css/themes/ProgressIndicator.css +1 -1
  137. package/dist/css/themes/RadioButton.css +1 -1
  138. package/dist/css/themes/RangeSlider.css +1 -1
  139. package/dist/css/themes/RatingIndicator.css +1 -1
  140. package/dist/css/themes/ResponsivePopover.css +1 -1
  141. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  142. package/dist/css/themes/SegmentedButton.css +1 -1
  143. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  144. package/dist/css/themes/Select.css +1 -1
  145. package/dist/css/themes/SliderBase.css +1 -1
  146. package/dist/css/themes/SplitButton.css +1 -1
  147. package/dist/css/themes/StepInput.css +1 -1
  148. package/dist/css/themes/SuggestionItem.css +1 -1
  149. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  150. package/dist/css/themes/Switch.css +1 -1
  151. package/dist/css/themes/TabContainer.css +1 -1
  152. package/dist/css/themes/TabInOverflow.css +1 -1
  153. package/dist/css/themes/TabInStrip.css +1 -1
  154. package/dist/css/themes/TabSemanticIcon.css +1 -1
  155. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  156. package/dist/css/themes/Table.css +1 -1
  157. package/dist/css/themes/TableCellBase.css +1 -1
  158. package/dist/css/themes/TableHeaderRow.css +1 -1
  159. package/dist/css/themes/TableRow.css +1 -1
  160. package/dist/css/themes/TableRowActionBase.css +1 -1
  161. package/dist/css/themes/TableRowBase.css +1 -1
  162. package/dist/css/themes/Tag.css +1 -1
  163. package/dist/css/themes/Text.css +1 -1
  164. package/dist/css/themes/TextArea.css +1 -1
  165. package/dist/css/themes/TimePicker.css +1 -1
  166. package/dist/css/themes/Toast.css +1 -1
  167. package/dist/css/themes/ToggleButton.css +1 -1
  168. package/dist/css/themes/Token.css +1 -1
  169. package/dist/css/themes/Tokenizer.css +1 -1
  170. package/dist/css/themes/TokenizerPopover.css +1 -1
  171. package/dist/css/themes/Toolbar.css +1 -1
  172. package/dist/css/themes/ToolbarPopover.css +1 -1
  173. package/dist/css/themes/TreeItem.css +1 -1
  174. package/dist/css/themes/ValueStateMessage.css +1 -1
  175. package/dist/css/themes/YearPicker.css +1 -1
  176. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  177. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  178. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  179. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  180. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  181. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  182. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  183. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  184. package/dist/custom-elements-internal.json +742 -31
  185. package/dist/custom-elements.json +706 -31
  186. package/dist/features/InputSuggestions.js +0 -2
  187. package/dist/features/InputSuggestions.js.map +1 -1
  188. package/dist/features/InputSuggestionsTemplate.js +2 -1
  189. package/dist/features/InputSuggestionsTemplate.js.map +1 -1
  190. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  191. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  192. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  194. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  195. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  196. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  213. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  214. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  237. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  238. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  239. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  240. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  241. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  242. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  243. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  244. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  245. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  246. package/dist/generated/i18n/i18n-defaults.js +3 -1
  247. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  248. package/dist/generated/templates/TableHeaderRowTemplate.lit.js +1 -1
  249. package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +1 -1
  250. package/dist/generated/templates/TableRowTemplate.lit.js +2 -2
  251. package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -1
  252. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  253. package/dist/generated/themes/Avatar.css.js +1 -1
  254. package/dist/generated/themes/Avatar.css.js.map +1 -1
  255. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  256. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  257. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  258. package/dist/generated/themes/Bar.css.d.ts +1 -1
  259. package/dist/generated/themes/Bar.css.js +1 -1
  260. package/dist/generated/themes/Bar.css.js.map +1 -1
  261. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  262. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  263. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  264. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  265. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  266. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  267. package/dist/generated/themes/Button.css.d.ts +1 -1
  268. package/dist/generated/themes/Button.css.js +1 -1
  269. package/dist/generated/themes/Button.css.js.map +1 -1
  270. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  271. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  272. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  273. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  274. package/dist/generated/themes/Calendar.css.js +1 -1
  275. package/dist/generated/themes/Calendar.css.js.map +1 -1
  276. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  277. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  278. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  279. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  280. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  281. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  282. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  283. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  284. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  285. package/dist/generated/themes/Card.css.d.ts +1 -1
  286. package/dist/generated/themes/Card.css.js +1 -1
  287. package/dist/generated/themes/Card.css.js.map +1 -1
  288. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  289. package/dist/generated/themes/CardHeader.css.js +1 -1
  290. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  291. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  292. package/dist/generated/themes/Carousel.css.js +1 -1
  293. package/dist/generated/themes/Carousel.css.js.map +1 -1
  294. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  295. package/dist/generated/themes/CheckBox.css.js +1 -1
  296. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  297. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  298. package/dist/generated/themes/ColorPalette.css.js +1 -1
  299. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  300. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  301. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  302. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  303. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  304. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  305. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  306. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  307. package/dist/generated/themes/ColorPicker.css.js +1 -1
  308. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  309. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  310. package/dist/generated/themes/ComboBox.css.js +1 -1
  311. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  312. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  313. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  314. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  315. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  316. package/dist/generated/themes/DatePicker.css.js +1 -1
  317. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  318. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  319. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  320. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  321. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  322. package/dist/generated/themes/DayPicker.css.js +1 -1
  323. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  324. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  325. package/dist/generated/themes/Dialog.css.js +1 -1
  326. package/dist/generated/themes/Dialog.css.js.map +1 -1
  327. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  328. package/dist/generated/themes/FileUploader.css.js +1 -1
  329. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  330. package/dist/generated/themes/Form.css.d.ts +1 -1
  331. package/dist/generated/themes/Form.css.js +1 -1
  332. package/dist/generated/themes/Form.css.js.map +1 -1
  333. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  334. package/dist/generated/themes/FormItem.css.js +1 -1
  335. package/dist/generated/themes/FormItem.css.js.map +1 -1
  336. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  337. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  338. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  339. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  340. package/dist/generated/themes/GrowingButton.css.js +1 -1
  341. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  342. package/dist/generated/themes/Icon.css.d.ts +1 -1
  343. package/dist/generated/themes/Icon.css.js +1 -1
  344. package/dist/generated/themes/Icon.css.js.map +1 -1
  345. package/dist/generated/themes/Input.css.d.ts +1 -1
  346. package/dist/generated/themes/Input.css.js +1 -1
  347. package/dist/generated/themes/Input.css.js.map +1 -1
  348. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  349. package/dist/generated/themes/InputIcon.css.js +1 -1
  350. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  351. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  352. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  353. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  354. package/dist/generated/themes/Link.css.d.ts +1 -1
  355. package/dist/generated/themes/Link.css.js +1 -1
  356. package/dist/generated/themes/Link.css.js.map +1 -1
  357. package/dist/generated/themes/List.css.d.ts +1 -1
  358. package/dist/generated/themes/List.css.js +1 -1
  359. package/dist/generated/themes/List.css.js.map +1 -1
  360. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  361. package/dist/generated/themes/ListItem.css.js +1 -1
  362. package/dist/generated/themes/ListItem.css.js.map +1 -1
  363. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  364. package/dist/generated/themes/ListItemBase.css.js +1 -1
  365. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  366. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  367. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  368. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  369. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  370. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  371. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  372. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  373. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  374. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  375. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  376. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  377. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  378. package/dist/generated/themes/Menu.css.d.ts +1 -1
  379. package/dist/generated/themes/Menu.css.js +1 -1
  380. package/dist/generated/themes/Menu.css.js.map +1 -1
  381. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  382. package/dist/generated/themes/MenuItem.css.js +1 -1
  383. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  384. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  385. package/dist/generated/themes/MessageStrip.css.js +1 -1
  386. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  387. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  388. package/dist/generated/themes/MonthPicker.css.js +1 -1
  389. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  390. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  391. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  392. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  393. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  394. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  395. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  396. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  397. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  398. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  399. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  400. package/dist/generated/themes/MultiInput.css.js +1 -1
  401. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  402. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  403. package/dist/generated/themes/OptionBase.css.js +1 -1
  404. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  405. package/dist/generated/themes/Panel.css.d.ts +1 -1
  406. package/dist/generated/themes/Panel.css.js +1 -1
  407. package/dist/generated/themes/Panel.css.js.map +1 -1
  408. package/dist/generated/themes/Popover.css.d.ts +1 -1
  409. package/dist/generated/themes/Popover.css.js +1 -1
  410. package/dist/generated/themes/Popover.css.js.map +1 -1
  411. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  412. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  413. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  414. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  415. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  416. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  417. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  418. package/dist/generated/themes/RadioButton.css.js +1 -1
  419. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  420. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  421. package/dist/generated/themes/RangeSlider.css.js +1 -1
  422. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  423. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  424. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  425. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  426. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  427. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  428. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  429. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  430. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  431. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  432. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  433. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  434. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  435. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  436. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  437. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  438. package/dist/generated/themes/Select.css.d.ts +1 -1
  439. package/dist/generated/themes/Select.css.js +1 -1
  440. package/dist/generated/themes/Select.css.js.map +1 -1
  441. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  442. package/dist/generated/themes/SliderBase.css.js +1 -1
  443. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  444. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  445. package/dist/generated/themes/SplitButton.css.js +1 -1
  446. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  447. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  448. package/dist/generated/themes/StepInput.css.js +1 -1
  449. package/dist/generated/themes/StepInput.css.js.map +1 -1
  450. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  451. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  452. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  453. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  454. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  455. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  456. package/dist/generated/themes/Switch.css.d.ts +1 -1
  457. package/dist/generated/themes/Switch.css.js +1 -1
  458. package/dist/generated/themes/Switch.css.js.map +1 -1
  459. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  460. package/dist/generated/themes/TabContainer.css.js +1 -1
  461. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  462. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  463. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  464. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  465. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  466. package/dist/generated/themes/TabInStrip.css.js +1 -1
  467. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  468. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  469. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  470. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  471. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  472. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  473. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  474. package/dist/generated/themes/Table.css.d.ts +1 -1
  475. package/dist/generated/themes/Table.css.js +1 -1
  476. package/dist/generated/themes/Table.css.js.map +1 -1
  477. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  478. package/dist/generated/themes/TableCellBase.css.js +1 -1
  479. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  480. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  481. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  482. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  483. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  484. package/dist/generated/themes/TableRow.css.js +1 -1
  485. package/dist/generated/themes/TableRow.css.js.map +1 -1
  486. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  487. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  488. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  489. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  490. package/dist/generated/themes/TableRowBase.css.js +1 -1
  491. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  492. package/dist/generated/themes/Tag.css.d.ts +1 -1
  493. package/dist/generated/themes/Tag.css.js +1 -1
  494. package/dist/generated/themes/Tag.css.js.map +1 -1
  495. package/dist/generated/themes/Text.css.d.ts +1 -1
  496. package/dist/generated/themes/Text.css.js +1 -1
  497. package/dist/generated/themes/Text.css.js.map +1 -1
  498. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  499. package/dist/generated/themes/TextArea.css.js +1 -1
  500. package/dist/generated/themes/TextArea.css.js.map +1 -1
  501. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  502. package/dist/generated/themes/TimePicker.css.js +1 -1
  503. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  504. package/dist/generated/themes/Toast.css.d.ts +1 -1
  505. package/dist/generated/themes/Toast.css.js +1 -1
  506. package/dist/generated/themes/Toast.css.js.map +1 -1
  507. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  508. package/dist/generated/themes/ToggleButton.css.js +1 -1
  509. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  510. package/dist/generated/themes/Token.css.d.ts +1 -1
  511. package/dist/generated/themes/Token.css.js +1 -1
  512. package/dist/generated/themes/Token.css.js.map +1 -1
  513. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  514. package/dist/generated/themes/Tokenizer.css.js +1 -1
  515. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  516. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  517. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  518. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  519. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  520. package/dist/generated/themes/Toolbar.css.js +1 -1
  521. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  522. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  523. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  524. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  525. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  526. package/dist/generated/themes/TreeItem.css.js +1 -1
  527. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  528. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  529. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  530. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  531. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  532. package/dist/generated/themes/YearPicker.css.js +1 -1
  533. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  534. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  535. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  536. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  537. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  538. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  539. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  540. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  541. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  542. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  543. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  544. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  545. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  546. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  547. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  548. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  549. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  550. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  551. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  552. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  553. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  554. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  555. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  556. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  557. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  558. package/dist/types/ListItemAccessibleRole.d.ts +5 -0
  559. package/dist/types/ListItemAccessibleRole.js +5 -0
  560. package/dist/types/ListItemAccessibleRole.js.map +1 -1
  561. package/dist/types/TableSelectionMode.d.ts +1 -0
  562. package/dist/types/TableSelectionMode.js +1 -0
  563. package/dist/types/TableSelectionMode.js.map +1 -1
  564. package/dist/vscode.html-custom-data.json +46 -10
  565. package/dist/web-types.json +89 -23
  566. package/package.json +9 -9
  567. package/src/ComboBoxItemGroupTemplate.tsx +2 -2
  568. package/src/ListBoxItemGroupTemplate.tsx +33 -0
  569. package/src/ListItemGroupHeaderTemplate.tsx +5 -3
  570. package/src/ListItemGroupTemplate.tsx +21 -19
  571. package/src/ListTemplate.tsx +1 -0
  572. package/src/MultiComboBoxItemGroupTemplate.tsx +2 -2
  573. package/src/SelectTemplate.tsx +2 -0
  574. package/src/TableHeaderRow.hbs +1 -1
  575. package/src/TableRow.hbs +2 -2
  576. package/src/features/InputSuggestionsTemplate.tsx +2 -0
  577. package/src/i18n/messagebundle.properties +6 -0
  578. package/src/i18n/messagebundle_ar.properties +2 -0
  579. package/src/i18n/messagebundle_bg.properties +2 -0
  580. package/src/i18n/messagebundle_ca.properties +2 -0
  581. package/src/i18n/messagebundle_cnr.properties +2 -0
  582. package/src/i18n/messagebundle_cs.properties +2 -0
  583. package/src/i18n/messagebundle_cy.properties +2 -0
  584. package/src/i18n/messagebundle_da.properties +2 -0
  585. package/src/i18n/messagebundle_de.properties +2 -0
  586. package/src/i18n/messagebundle_el.properties +2 -0
  587. package/src/i18n/messagebundle_en.properties +2 -0
  588. package/src/i18n/messagebundle_en_GB.properties +2 -0
  589. package/src/i18n/messagebundle_es.properties +2 -0
  590. package/src/i18n/messagebundle_es_MX.properties +2 -0
  591. package/src/i18n/messagebundle_et.properties +2 -0
  592. package/src/i18n/messagebundle_fi.properties +2 -0
  593. package/src/i18n/messagebundle_fr.properties +2 -0
  594. package/src/i18n/messagebundle_fr_CA.properties +2 -0
  595. package/src/i18n/messagebundle_hi.properties +2 -0
  596. package/src/i18n/messagebundle_hr.properties +2 -0
  597. package/src/i18n/messagebundle_hu.properties +2 -0
  598. package/src/i18n/messagebundle_id.properties +2 -0
  599. package/src/i18n/messagebundle_it.properties +2 -0
  600. package/src/i18n/messagebundle_iw.properties +2 -0
  601. package/src/i18n/messagebundle_ja.properties +2 -0
  602. package/src/i18n/messagebundle_kk.properties +2 -0
  603. package/src/i18n/messagebundle_ko.properties +2 -0
  604. package/src/i18n/messagebundle_lt.properties +2 -0
  605. package/src/i18n/messagebundle_lv.properties +2 -0
  606. package/src/i18n/messagebundle_mk.properties +2 -0
  607. package/src/i18n/messagebundle_ms.properties +2 -0
  608. package/src/i18n/messagebundle_nl.properties +2 -0
  609. package/src/i18n/messagebundle_no.properties +2 -0
  610. package/src/i18n/messagebundle_pl.properties +2 -0
  611. package/src/i18n/messagebundle_pt.properties +2 -0
  612. package/src/i18n/messagebundle_pt_PT.properties +2 -0
  613. package/src/i18n/messagebundle_ro.properties +2 -0
  614. package/src/i18n/messagebundle_ru.properties +2 -0
  615. package/src/i18n/messagebundle_sh.properties +2 -0
  616. package/src/i18n/messagebundle_sk.properties +2 -0
  617. package/src/i18n/messagebundle_sl.properties +2 -0
  618. package/src/i18n/messagebundle_sr.properties +2 -0
  619. package/src/i18n/messagebundle_sv.properties +2 -0
  620. package/src/i18n/messagebundle_th.properties +2 -0
  621. package/src/i18n/messagebundle_tr.properties +2 -0
  622. package/src/i18n/messagebundle_uk.properties +2 -0
  623. package/src/i18n/messagebundle_vi.properties +2 -0
  624. package/src/i18n/messagebundle_zh_CN.properties +2 -0
  625. package/src/i18n/messagebundle_zh_TW.properties +2 -0
  626. package/src/themes/Avatar.css +51 -2
  627. package/src/themes/Menu.css +7 -0
  628. package/src/themes/PopupsCommon.css +7 -4
  629. package/src/themes/Text.css +9 -5
  630. package/src/themes/Toast.css +1 -1
  631. package/src/themes/base/Avatar-parameters.css +1 -1
  632. package/src/themes/base/Toast-parameters.css +2 -2
  633. package/src/themes/sap_horizon/Avatar-parameters.css +3 -2
  634. package/src/themes/sap_horizon_dark/Avatar-parameters.css +2 -1
  635. package/src/themes/sap_horizon_hcb/Avatar-parameters.css +3 -2
  636. package/src/themes/sap_horizon_hcw/Avatar-parameters.css +3 -2
  637. package/dist/SuggestionItemGroupTemplate.d.ts +0 -2
  638. package/dist/SuggestionItemGroupTemplate.js +0 -5
  639. package/dist/SuggestionItemGroupTemplate.js.map +0 -1
  640. package/src/SuggestionItemGroupTemplate.tsx +0 -6
@@ -43,7 +43,6 @@ declare class TableHeaderRow extends TableRowBase {
43
43
  isHeaderRow(): boolean;
44
44
  get _hasRowActions(): boolean;
45
45
  get _isSelectable(): boolean | undefined;
46
- get _isSelected(): boolean | undefined;
47
46
  get _i18nSelection(): string;
48
47
  get _i18nRowPopin(): string;
49
48
  get _i18nRowActions(): string;
@@ -69,9 +69,6 @@ class TableHeaderRow extends TableRowBase {
69
69
  get _isSelectable() {
70
70
  return this._isMultiSelect;
71
71
  }
72
- get _isSelected() {
73
- return this._tableSelection?.areAllRowsSelected();
74
- }
75
72
  get _i18nSelection() {
76
73
  return TableRowBase.i18nBundle.getText(TABLE_SELECTION);
77
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeaderRow.js","sourceRoot":"","sources":["../src/TableHeaderRow.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,sBAAsB,MAAM,qDAAqD,CAAC;AACzF,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAC5E,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACN,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AAeH,IAAM,cAAc;AANpB;;;;;GAKG;AACH,MAAM,cAAe,SAAQ,YAAY;IAAzC;;QAmBC;;;;;;;WAOG;QAEH,WAAM,GAAG,KAAK,CAAC;IAwChB,CAAC;IAtCA,UAAU;QACT,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,CAAC;IACF,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;IACzD,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,eAAe;QAClB,OAAO,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3D,CAAC;CACD,CAAA;AAnDA;IATC,IAAI,CAAC;QACL,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAI;QACf,uBAAuB,EAAE;YACxB,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,CAAC;YACjE,KAAK,EAAE,KAAK;SACZ;QACD,eAAe,EAAE,IAAI;KACrB,CAAC;6CAC6B;AAW/B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8CACb;AA5BV,cAAc;IAdnB,aAAa,CAAC;QACd,GAAG,EAAE,sBAAsB;QAC3B,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,oBAAoB,CAAC;QACnD,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC;KAC7D,CAAC;IAEF;;;;;OAKG;GACG,cAAc,CAoEnB;AAED,cAAc,CAAC,MAAM,EAAE,CAAC;AAExB,eAAe,cAAc,CAAC","sourcesContent":["import { customElement, slot, property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport TableRowBase from \"./TableRowBase.js\";\nimport TableHeaderRowTemplate from \"./generated/templates/TableHeaderRowTemplate.lit.js\";\nimport TableHeaderRowStyles from \"./generated/themes/TableHeaderRow.css.js\";\nimport TableHeaderCell from \"./TableHeaderCell.js\";\nimport {\n\tTABLE_SELECTION,\n\tTABLE_ROW_POPIN,\n\tTABLE_ROW_ACTIONS,\n\tTABLE_COLUMN_HEADER_ROW,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-header-row` component represents the table headers of a `ui5-table`.\n *\n * It is tightly coupled to the `ui5-table` and should therefore be used in the `ui5-table` only.\n * The header row is placed in the `headerRow` slot of the table.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableHeaderRow.js\";`\n *\n * @constructor\n * @extends TableRowBase\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-header-row\",\n\tlanguageAware: true,\n\tstyles: [TableRowBase.styles, TableHeaderRowStyles],\n\ttemplate: TableHeaderRowTemplate,\n\tdependencies: [...TableRowBase.dependencies, TableHeaderCell],\n})\n\n/**\n * Example custom event.\n * Please keep in mind that all public events should be documented in the API Reference as shown below.\n *\n * @public\n */\nclass TableHeaderRow extends TableRowBase {\n\t/**\n\t * Defines the cells of the component.\n\t *\n\t * **Note:** Use `ui5-table-header-cell` 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: [\"width\", \"_popin\", \"horizontalAlign\", \"popinHidden\"],\n\t\t\tslots: false,\n\t\t},\n\t\tindividualSlots: true,\n\t})\n\tcells!: Array<TableHeaderCell>;\n\n\t/**\n\t * Sticks the `ui5-table-header-row` to the top of a table.\n\t *\n\t * Note: If used in combination with overflowMode \"Scroll\", the table needs a defined height for the sticky header to work as expected.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tsticky = false;\n\n\tonEnterDOM(): void {\n\t\tsuper.onEnterDOM();\n\t\tthis.setAttribute(\"aria-roledescription\", TableRowBase.i18nBundle.getText(TABLE_COLUMN_HEADER_ROW));\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tif (this._table) {\n\t\t\tthis.style.top = this._table.stickyTop;\n\t\t}\n\t}\n\n\tisHeaderRow(): boolean {\n\t\treturn true;\n\t}\n\n\tget _hasRowActions() {\n\t\treturn this._table ? this._table._hasRowActions : false;\n\t}\n\n\tget _isSelectable() {\n\t\treturn this._isMultiSelect;\n\t}\n\n\tget _isSelected() {\n\t\treturn this._tableSelection?.areAllRowsSelected();\n\t}\n\n\tget _i18nSelection() {\n\t\treturn TableRowBase.i18nBundle.getText(TABLE_SELECTION);\n\t}\n\n\tget _i18nRowPopin() {\n\t\treturn TableRowBase.i18nBundle.getText(TABLE_ROW_POPIN);\n\t}\n\tget _i18nRowActions() {\n\t\treturn TableRowBase.i18nBundle.getText(TABLE_ROW_ACTIONS);\n\t}\n}\n\nTableHeaderRow.define();\n\nexport default TableHeaderRow;\n"]}
1
+ {"version":3,"file":"TableHeaderRow.js","sourceRoot":"","sources":["../src/TableHeaderRow.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,sBAAsB,MAAM,qDAAqD,CAAC;AACzF,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAC5E,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACN,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AAeH,IAAM,cAAc;AANpB;;;;;GAKG;AACH,MAAM,cAAe,SAAQ,YAAY;IAAzC;;QAmBC;;;;;;;WAOG;QAEH,WAAM,GAAG,KAAK,CAAC;IAoChB,CAAC;IAlCA,UAAU;QACT,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,CAAC;IACF,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;IACzD,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,eAAe;QAClB,OAAO,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3D,CAAC;CACD,CAAA;AA/CA;IATC,IAAI,CAAC;QACL,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAI;QACf,uBAAuB,EAAE;YACxB,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,CAAC;YACjE,KAAK,EAAE,KAAK;SACZ;QACD,eAAe,EAAE,IAAI;KACrB,CAAC;6CAC6B;AAW/B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8CACb;AA5BV,cAAc;IAdnB,aAAa,CAAC;QACd,GAAG,EAAE,sBAAsB;QAC3B,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,oBAAoB,CAAC;QACnD,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC;KAC7D,CAAC;IAEF;;;;;OAKG;GACG,cAAc,CAgEnB;AAED,cAAc,CAAC,MAAM,EAAE,CAAC;AAExB,eAAe,cAAc,CAAC","sourcesContent":["import { customElement, slot, property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport TableRowBase from \"./TableRowBase.js\";\nimport TableHeaderRowTemplate from \"./generated/templates/TableHeaderRowTemplate.lit.js\";\nimport TableHeaderRowStyles from \"./generated/themes/TableHeaderRow.css.js\";\nimport TableHeaderCell from \"./TableHeaderCell.js\";\nimport {\n\tTABLE_SELECTION,\n\tTABLE_ROW_POPIN,\n\tTABLE_ROW_ACTIONS,\n\tTABLE_COLUMN_HEADER_ROW,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-header-row` component represents the table headers of a `ui5-table`.\n *\n * It is tightly coupled to the `ui5-table` and should therefore be used in the `ui5-table` only.\n * The header row is placed in the `headerRow` slot of the table.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableHeaderRow.js\";`\n *\n * @constructor\n * @extends TableRowBase\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-header-row\",\n\tlanguageAware: true,\n\tstyles: [TableRowBase.styles, TableHeaderRowStyles],\n\ttemplate: TableHeaderRowTemplate,\n\tdependencies: [...TableRowBase.dependencies, TableHeaderCell],\n})\n\n/**\n * Example custom event.\n * Please keep in mind that all public events should be documented in the API Reference as shown below.\n *\n * @public\n */\nclass TableHeaderRow extends TableRowBase {\n\t/**\n\t * Defines the cells of the component.\n\t *\n\t * **Note:** Use `ui5-table-header-cell` 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: [\"width\", \"_popin\", \"horizontalAlign\", \"popinHidden\"],\n\t\t\tslots: false,\n\t\t},\n\t\tindividualSlots: true,\n\t})\n\tcells!: Array<TableHeaderCell>;\n\n\t/**\n\t * Sticks the `ui5-table-header-row` to the top of a table.\n\t *\n\t * Note: If used in combination with overflowMode \"Scroll\", the table needs a defined height for the sticky header to work as expected.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tsticky = false;\n\n\tonEnterDOM(): void {\n\t\tsuper.onEnterDOM();\n\t\tthis.setAttribute(\"aria-roledescription\", TableRowBase.i18nBundle.getText(TABLE_COLUMN_HEADER_ROW));\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tif (this._table) {\n\t\t\tthis.style.top = this._table.stickyTop;\n\t\t}\n\t}\n\n\tisHeaderRow(): boolean {\n\t\treturn true;\n\t}\n\n\tget _hasRowActions() {\n\t\treturn this._table ? this._table._hasRowActions : false;\n\t}\n\n\tget _isSelectable() {\n\t\treturn this._isMultiSelect;\n\t}\n\n\tget _i18nSelection() {\n\t\treturn TableRowBase.i18nBundle.getText(TABLE_SELECTION);\n\t}\n\n\tget _i18nRowPopin() {\n\t\treturn TableRowBase.i18nBundle.getText(TABLE_ROW_POPIN);\n\t}\n\tget _i18nRowActions() {\n\t\treturn TableRowBase.i18nBundle.getText(TABLE_ROW_ACTIONS);\n\t}\n}\n\nTableHeaderRow.define();\n\nexport default TableHeaderRow;\n"]}
@@ -40,12 +40,14 @@ declare class TableRow extends TableRowBase {
40
40
  /**
41
41
  * Unique identifier of the row.
42
42
  *
43
- * @default ""
43
+ * **Note:** For selection features to work properly, this property is mandatory, and its value must not contain spaces.
44
+ *
45
+ * @default undefined
44
46
  * @public
45
47
  */
46
- rowKey: string;
48
+ rowKey?: string;
47
49
  /**
48
- * Defines the position of the row respect to the total number of rows within the table when the `ui5-table-virtualizer` feature is used.
50
+ * Defines the position of the row related to the total number of rows within the table when the `ui5-table-virtualizer` feature is used.
49
51
  *
50
52
  * @default -1
51
53
  * @since 2.5.0
package/dist/TableRow.js CHANGED
@@ -37,14 +37,7 @@ let TableRow = class TableRow extends TableRowBase {
37
37
  constructor() {
38
38
  super(...arguments);
39
39
  /**
40
- * Unique identifier of the row.
41
- *
42
- * @default ""
43
- * @public
44
- */
45
- this.rowKey = "";
46
- /**
47
- * Defines the position of the row respect to the total number of rows within the table when the `ui5-table-virtualizer` feature is used.
40
+ * Defines the position of the row related to the total number of rows within the table when the `ui5-table-virtualizer` feature is used.
48
41
  *
49
42
  * @default -1
50
43
  * @since 2.5.0
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../src/TableRow.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport { isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport Button from \"./Button.js\";\nimport RadioButton from \"./RadioButton.js\";\nimport TableRowTemplate from \"./generated/templates/TableRowTemplate.lit.js\";\nimport TableRowBase from \"./TableRowBase.js\";\nimport TableRowCss from \"./generated/themes/TableRow.css.js\";\nimport TableCell from \"./TableCell.js\";\nimport type TableRowActionBase from \"./TableRowActionBase.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-row` component represents a row in the `ui5-table`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableRow.js\";`\n *\n * @constructor\n * @extends TableRowBase\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-row\",\n\tstyles: [TableRowBase.styles, TableRowCss],\n\ttemplate: TableRowTemplate,\n\tdependencies: [...TableRowBase.dependencies, RadioButton, TableCell, Button],\n})\nclass TableRow extends TableRowBase {\n\t/**\n\t * Defines the cells of the component.\n\t *\n\t * **Note:** Use `ui5-table-cell` 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\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: [\"_popin\", \"_popinHidden\"],\n\t\t\tslots: false,\n\t\t},\n\t})\n\tcells!: Array<TableCell>;\n\n\t/**\n\t * Defines the actions of the component.\n\t *\n\t * **Note:** Use `ui5-table-row-action` or `ui5-table-row-action-navigation` for the intended design.\n\t *\n\t * @since 2.7.0\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t})\n\tactions!: Array<TableRowActionBase>;\n\n\t/**\n\t * Unique identifier of the row.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\trowKey = \"\";\n\n\t/**\n\t * Defines the position of the row respect to the total number of rows within the table when the `ui5-table-virtualizer` feature is used.\n\t *\n * @default -1\n\t * @since 2.5.0\n * @public\n */\n\t@property({ type: Number })\n\tposition = -1;\n\n\t/**\n\t * Defines the interactive state of the row.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tinteractive = false;\n\n\t/**\n\t * Defines the navigated state of the row.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tnavigated = false;\n\n\t/**\n\t * Defines whether the row is movable.\n\t *\n\t * @default false\n\t * @since 2.6.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmovable = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_renderNavigated = false;\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tthis.toggleAttribute(\"_interactive\", this._isInteractive);\n\t\tif (this.position !== -1) {\n\t\t\tthis.setAttribute(\"aria-rowindex\", `${this.position + 1}`);\n\t\t}\n\t\tif (this._renderNavigated && this.navigated) {\n\t\t\tthis.setAttribute(\"aria-current\", \"true\");\n\t\t} else {\n\t\t\tthis.removeAttribute(\"aria-current\");\n\t\t}\n\t\tif (this.movable) {\n\t\t\tthis.setAttribute(\"draggable\", \"true\");\n\t\t} else {\n\t\t\tthis.removeAttribute(\"draggable\");\n\t\t}\n\t}\n\n\tasync focus(focusOptions?: FocusOptions | undefined): Promise<void> {\n\t\tthis.setAttribute(\"tabindex\", \"-1\");\n\t\tHTMLElement.prototype.focus.call(this, focusOptions);\n\t\treturn Promise.resolve();\n\t}\n\n\t_onkeydown(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tsuper._onkeydown(e, eventOrigin);\n\t\tif (e.defaultPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (eventOrigin === this && this._isInteractive && isEnter(e)) {\n\t\t\tthis.toggleAttribute(\"_active\", true);\n\t\t\tthis._table?._onRowClick(this);\n\t\t}\n\t}\n\n\t_onclick() {\n\t\tif (this._isInteractive && this === getActiveElement()) {\n\t\t\tthis._table?._onRowClick(this);\n\t\t}\n\t}\n\n\t_onkeyup() {\n\t\tthis.removeAttribute(\"_active\");\n\t}\n\n\t_onfocusout() {\n\t\tthis.removeAttribute(\"_active\");\n\t}\n\n\t_onOverflowButtonClick(e: PointerEvent) {\n\t\tconst ctor = this.actions[0].constructor as typeof TableRowActionBase;\n\t\tctor.showMenu(this._overflowActions, e.target as HTMLElement);\n\t}\n\n\tget _isInteractive() {\n\t\treturn this.interactive;\n\t}\n\n\tget _hasRowActions() {\n\t\treturn this._rowActionCount > 0 && this.actions.some(action => action.isFixedAction() || !action.invisible);\n\t}\n\n\tget _hasOverflowActions() {\n\t\tlet renderedActionsCount = 0;\n\t\treturn this.actions.some(action => {\n\t\t\tif (action.isFixedAction() || !action.invisible) {\n\t\t\t\trenderedActionsCount++;\n\t\t\t}\n\t\t\treturn renderedActionsCount > this._rowActionCount;\n\t\t});\n\t}\n\n\tget _flexibleActions() {\n\t\tconst flexibleActions = this.actions.filter(action => !action.isFixedAction());\n\t\tconst fixedActionsCount = this.actions.length - flexibleActions.length;\n\t\tlet maxFlexibleActionsCount = this._rowActionCount - fixedActionsCount;\n\t\tif (maxFlexibleActionsCount < 1) {\n\t\t\treturn []; // fixed actions occupy all the available space\n\t\t}\n\t\tif (flexibleActions.length <= maxFlexibleActionsCount) {\n\t\t\treturn flexibleActions; // all actions fit the available space\n\t\t}\n\n\t\tconst visibleFlexibleActions = flexibleActions.filter(action => !action.invisible);\n\t\tif (visibleFlexibleActions.length > maxFlexibleActionsCount) {\n\t\t\tmaxFlexibleActionsCount--;\t// preserve space for the overflow button\n\t\t}\n\n\t\treturn visibleFlexibleActions.slice(0, maxFlexibleActionsCount);\n\t}\n\n\tget _fixedActions() {\n\t\tlet maxFixedActionsCount = this._rowActionCount;\n\t\tif (this._hasOverflowActions) {\n\t\t\tmaxFixedActionsCount--;\n\t\t}\n\n\t\tconst fixedActions = this.actions.filter(action => action.isFixedAction());\n\t\treturn fixedActions.slice(0, maxFixedActionsCount);\n\t}\n\n\tget _overflowActions() {\n\t\tconst fixedActions = this._fixedActions;\n\t\tconst flexibleActions = this._flexibleActions;\n\t\tconst overflowActions: Array<TableRowActionBase> = [];\n\t\tthis.actions.forEach(action => {\n\t\t\tif (!action.invisible && !fixedActions.includes(action) && !flexibleActions.includes(action)) {\n\t\t\t\toverflowActions.push(action);\n\t\t\t}\n\t\t});\n\n\t\treturn overflowActions;\n\t}\n}\n\nTableRow.define();\n\nexport default TableRow;\n"]}
1
+ {"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../src/TableRow.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport { isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport Button from \"./Button.js\";\nimport RadioButton from \"./RadioButton.js\";\nimport TableRowTemplate from \"./generated/templates/TableRowTemplate.lit.js\";\nimport TableRowBase from \"./TableRowBase.js\";\nimport TableRowCss from \"./generated/themes/TableRow.css.js\";\nimport TableCell from \"./TableCell.js\";\nimport type TableRowActionBase from \"./TableRowActionBase.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-row` component represents a row in the `ui5-table`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableRow.js\";`\n *\n * @constructor\n * @extends TableRowBase\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-row\",\n\tstyles: [TableRowBase.styles, TableRowCss],\n\ttemplate: TableRowTemplate,\n\tdependencies: [...TableRowBase.dependencies, RadioButton, TableCell, Button],\n})\nclass TableRow extends TableRowBase {\n\t/**\n\t * Defines the cells of the component.\n\t *\n\t * **Note:** Use `ui5-table-cell` 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\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: [\"_popin\", \"_popinHidden\"],\n\t\t\tslots: false,\n\t\t},\n\t})\n\tcells!: Array<TableCell>;\n\n\t/**\n\t * Defines the actions of the component.\n\t *\n\t * **Note:** Use `ui5-table-row-action` or `ui5-table-row-action-navigation` for the intended design.\n\t *\n\t * @since 2.7.0\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t})\n\tactions!: Array<TableRowActionBase>;\n\n\t/**\n\t * Unique identifier of the row.\n\t *\n\t * **Note:** For selection features to work properly, this property is mandatory, and its value must not contain spaces.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\trowKey?: string;\n\n\t/**\n\t * Defines the position of the row related to the total number of rows within the table when the `ui5-table-virtualizer` feature is used.\n\t *\n * @default -1\n\t * @since 2.5.0\n * @public\n */\n\t@property({ type: Number })\n\tposition = -1;\n\n\t/**\n\t * Defines the interactive state of the row.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tinteractive = false;\n\n\t/**\n\t * Defines the navigated state of the row.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tnavigated = false;\n\n\t/**\n\t * Defines whether the row is movable.\n\t *\n\t * @default false\n\t * @since 2.6.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmovable = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_renderNavigated = false;\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tthis.toggleAttribute(\"_interactive\", this._isInteractive);\n\t\tif (this.position !== -1) {\n\t\t\tthis.setAttribute(\"aria-rowindex\", `${this.position + 1}`);\n\t\t}\n\t\tif (this._renderNavigated && this.navigated) {\n\t\t\tthis.setAttribute(\"aria-current\", \"true\");\n\t\t} else {\n\t\t\tthis.removeAttribute(\"aria-current\");\n\t\t}\n\t\tif (this.movable) {\n\t\t\tthis.setAttribute(\"draggable\", \"true\");\n\t\t} else {\n\t\t\tthis.removeAttribute(\"draggable\");\n\t\t}\n\t}\n\n\tasync focus(focusOptions?: FocusOptions | undefined): Promise<void> {\n\t\tthis.setAttribute(\"tabindex\", \"-1\");\n\t\tHTMLElement.prototype.focus.call(this, focusOptions);\n\t\treturn Promise.resolve();\n\t}\n\n\t_onkeydown(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tsuper._onkeydown(e, eventOrigin);\n\t\tif (e.defaultPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (eventOrigin === this && this._isInteractive && isEnter(e)) {\n\t\t\tthis.toggleAttribute(\"_active\", true);\n\t\t\tthis._table?._onRowClick(this);\n\t\t}\n\t}\n\n\t_onclick() {\n\t\tif (this._isInteractive && this === getActiveElement()) {\n\t\t\tthis._table?._onRowClick(this);\n\t\t}\n\t}\n\n\t_onkeyup() {\n\t\tthis.removeAttribute(\"_active\");\n\t}\n\n\t_onfocusout() {\n\t\tthis.removeAttribute(\"_active\");\n\t}\n\n\t_onOverflowButtonClick(e: PointerEvent) {\n\t\tconst ctor = this.actions[0].constructor as typeof TableRowActionBase;\n\t\tctor.showMenu(this._overflowActions, e.target as HTMLElement);\n\t}\n\n\tget _isInteractive() {\n\t\treturn this.interactive;\n\t}\n\n\tget _hasRowActions() {\n\t\treturn this._rowActionCount > 0 && this.actions.some(action => action.isFixedAction() || !action.invisible);\n\t}\n\n\tget _hasOverflowActions() {\n\t\tlet renderedActionsCount = 0;\n\t\treturn this.actions.some(action => {\n\t\t\tif (action.isFixedAction() || !action.invisible) {\n\t\t\t\trenderedActionsCount++;\n\t\t\t}\n\t\t\treturn renderedActionsCount > this._rowActionCount;\n\t\t});\n\t}\n\n\tget _flexibleActions() {\n\t\tconst flexibleActions = this.actions.filter(action => !action.isFixedAction());\n\t\tconst fixedActionsCount = this.actions.length - flexibleActions.length;\n\t\tlet maxFlexibleActionsCount = this._rowActionCount - fixedActionsCount;\n\t\tif (maxFlexibleActionsCount < 1) {\n\t\t\treturn []; // fixed actions occupy all the available space\n\t\t}\n\t\tif (flexibleActions.length <= maxFlexibleActionsCount) {\n\t\t\treturn flexibleActions; // all actions fit the available space\n\t\t}\n\n\t\tconst visibleFlexibleActions = flexibleActions.filter(action => !action.invisible);\n\t\tif (visibleFlexibleActions.length > maxFlexibleActionsCount) {\n\t\t\tmaxFlexibleActionsCount--;\t// preserve space for the overflow button\n\t\t}\n\n\t\treturn visibleFlexibleActions.slice(0, maxFlexibleActionsCount);\n\t}\n\n\tget _fixedActions() {\n\t\tlet maxFixedActionsCount = this._rowActionCount;\n\t\tif (this._hasOverflowActions) {\n\t\t\tmaxFixedActionsCount--;\n\t\t}\n\n\t\tconst fixedActions = this.actions.filter(action => action.isFixedAction());\n\t\treturn fixedActions.slice(0, maxFixedActionsCount);\n\t}\n\n\tget _overflowActions() {\n\t\tconst fixedActions = this._fixedActions;\n\t\tconst flexibleActions = this._flexibleActions;\n\t\tconst overflowActions: Array<TableRowActionBase> = [];\n\t\tthis.actions.forEach(action => {\n\t\t\tif (!action.invisible && !fixedActions.includes(action) && !flexibleActions.includes(action)) {\n\t\t\t\toverflowActions.push(action);\n\t\t\t}\n\t\t});\n\n\t\treturn overflowActions;\n\t}\n}\n\nTableRow.define();\n\nexport default TableRow;\n"]}
@@ -1,7 +1,15 @@
1
1
  import TableRowActionBase from "./TableRowActionBase.js";
2
2
  /**
3
3
  * @class
4
- * The `TableRowAction` class defines a row action for table rows.
4
+ *
5
+ * ### Overview
6
+ *
7
+ * The `ui5-table-row-action` component defines an action for table rows.
8
+ *
9
+ * ### ES6 Module Import
10
+ *
11
+ * `import "@ui5/webcomponents/dist/TableRowAction.js";`
12
+ *
5
13
  * @constructor
6
14
  * @extends TableRowActionBase
7
15
  * @since 2.7.0
@@ -30,13 +38,6 @@ declare class TableRowAction extends TableRowActionBase {
30
38
  * @public
31
39
  */
32
40
  text: string;
33
- /**
34
- * Defines the disabled state of the row action.
35
- *
36
- * @default false
37
- * @public
38
- */
39
- disabled: boolean;
40
41
  getRenderInfo(): {
41
42
  text: string;
42
43
  icon: string;
@@ -9,7 +9,15 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
9
9
  import TableRowActionBase from "./TableRowActionBase.js";
10
10
  /**
11
11
  * @class
12
- * The `TableRowAction` class defines a row action for table rows.
12
+ *
13
+ * ### Overview
14
+ *
15
+ * The `ui5-table-row-action` component defines an action for table rows.
16
+ *
17
+ * ### ES6 Module Import
18
+ *
19
+ * `import "@ui5/webcomponents/dist/TableRowAction.js";`
20
+ *
13
21
  * @constructor
14
22
  * @extends TableRowActionBase
15
23
  * @since 2.7.0
@@ -40,13 +48,6 @@ let TableRowAction = class TableRowAction extends TableRowActionBase {
40
48
  * @public
41
49
  */
42
50
  this.text = "";
43
- /**
44
- * Defines the disabled state of the row action.
45
- *
46
- * @default false
47
- * @public
48
- */
49
- this.disabled = false;
50
51
  }
51
52
  getRenderInfo() {
52
53
  return {
@@ -62,9 +63,6 @@ __decorate([
62
63
  __decorate([
63
64
  property()
64
65
  ], TableRowAction.prototype, "text", void 0);
65
- __decorate([
66
- property({ type: Boolean })
67
- ], TableRowAction.prototype, "disabled", void 0);
68
66
  TableRowAction = __decorate([
69
67
  customElement({ tag: "ui5-table-row-action" })
70
68
  ], TableRowAction);
@@ -1 +1 @@
1
- {"version":3,"file":"TableRowAction.js","sourceRoot":"","sources":["../src/TableRowAction.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAEzD;;;;;;;;GAQG;AAGH,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,kBAAkB;IAA/C;;QACC;;;;;;;;;;WAUG;QAEH,SAAI,GAAG,EAAE,CAAC;QAEV;;;;;;;WAOG;QAEH,SAAI,GAAG,EAAE,CAAC;QAEV;;;;;WAKG;QAEH,aAAQ,GAAG,KAAK,CAAC;IASlB,CAAC;IAPA,aAAa;QACZ,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI;SACjB,CAAC;IACH,CAAC;CACD,CAAA;AA7BA;IADC,QAAQ,EAAE;4CACD;AAWV;IADC,QAAQ,EAAE;4CACD;AASV;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDACX;AAjCZ,cAAc;IAFnB,aAAa,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,CAAC;GAEzC,cAAc,CA0CnB;AAED,cAAc,CAAC,MAAM,EAAE,CAAC;AAExB,eAAe,cAAc,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport TableRowActionBase from \"./TableRowActionBase.js\";\n\n/**\n * @class\n * The `TableRowAction` class defines a row action for table rows.\n * @constructor\n * @extends TableRowActionBase\n * @since 2.7.0\n * @public\n * @experimental\n */\n@customElement({ tag: \"ui5-table-row-action\" })\n\nclass TableRowAction extends TableRowActionBase {\n\t/**\n\t * Defines the icon of the row action.\n\t *\n\t * **Note:** For row actions to work properly, this property is mandatory.\n\t *\n\t * **Note:** SAP-icons font provides numerous built-in icons. To find all the available icons, see the\n\t * [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon = \"\";\n\n\t/**\n\t * Defines the text of the row action.\n\t *\n\t * **Note:** For row actions to work properly, this property is mandatory.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ttext = \"\";\n\n\t/**\n\t * Defines the disabled state of the row action.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\tgetRenderInfo() {\n\t\treturn {\n\t\t\ttext: this.text,\n\t\t\ticon: this.icon,\n\t\t\tinteractive: true,\n\t\t};\n\t}\n}\n\nTableRowAction.define();\n\nexport default TableRowAction;\n"]}
1
+ {"version":3,"file":"TableRowAction.js","sourceRoot":"","sources":["../src/TableRowAction.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAEzD;;;;;;;;;;;;;;;;GAgBG;AAGH,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,kBAAkB;IAA/C;;QACC;;;;;;;;;;WAUG;QAEH,SAAI,GAAG,EAAE,CAAC;QAEV;;;;;;;WAOG;QAEH,SAAI,GAAG,EAAE,CAAC;IASX,CAAC;IAPA,aAAa;QACZ,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI;SACjB,CAAC;IACH,CAAC;CACD,CAAA;AApBA;IADC,QAAQ,EAAE;4CACD;AAWV;IADC,QAAQ,EAAE;4CACD;AAxBL,cAAc;IAFnB,aAAa,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,CAAC;GAEzC,cAAc,CAiCnB;AAED,cAAc,CAAC,MAAM,EAAE,CAAC;AAExB,eAAe,cAAc,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport TableRowActionBase from \"./TableRowActionBase.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-row-action` component defines an action for table rows.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableRowAction.js\";`\n *\n * @constructor\n * @extends TableRowActionBase\n * @since 2.7.0\n * @public\n * @experimental\n */\n@customElement({ tag: \"ui5-table-row-action\" })\n\nclass TableRowAction extends TableRowActionBase {\n\t/**\n\t * Defines the icon of the row action.\n\t *\n\t * **Note:** For row actions to work properly, this property is mandatory.\n\t *\n\t * **Note:** SAP-icons font provides numerous built-in icons. To find all the available icons, see the\n\t * [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon = \"\";\n\n\t/**\n\t * Defines the text of the row action.\n\t *\n\t * **Note:** For row actions to work properly, this property is mandatory.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ttext = \"\";\n\n\tgetRenderInfo() {\n\t\treturn {\n\t\t\ttext: this.text,\n\t\t\ticon: this.icon,\n\t\t\tinteractive: true,\n\t\t};\n\t}\n}\n\nTableRowAction.define();\n\nexport default TableRowAction;\n"]}
@@ -19,12 +19,12 @@ declare abstract class TableRowBase extends UI5Element {
19
19
  onEnterDOM(): void;
20
20
  onBeforeRendering(): void;
21
21
  getFocusDomRef(): this;
22
- _informSelectionChange(): void;
23
22
  isHeaderRow(): boolean;
23
+ _onSelectionChange(): void;
24
24
  _onkeydown(e: KeyboardEvent, eventOrigin: HTMLElement): void;
25
25
  get _table(): Table | undefined;
26
26
  get _tableId(): string | undefined;
27
- get _tableSelection(): import("./TableSelection.js").default | undefined;
27
+ get _tableSelection(): import("./TableSelectionBase.js").default | import("./TableSelection.js").default | undefined;
28
28
  get _isSelected(): boolean | undefined;
29
29
  get _isSelectable(): boolean | undefined;
30
30
  get _isMultiSelect(): boolean | undefined;
@@ -45,15 +45,17 @@ let TableRowBase = TableRowBase_1 = class TableRowBase extends UI5Element {
45
45
  getFocusDomRef() {
46
46
  return this;
47
47
  }
48
- _informSelectionChange() {
49
- this._tableSelection?.informSelectionChange(this);
50
- }
51
48
  isHeaderRow() {
52
49
  return false;
53
50
  }
51
+ _onSelectionChange() {
52
+ const tableSelection = this._tableSelection;
53
+ const selected = tableSelection.isMultiSelectable() ? !this._isSelected : true;
54
+ tableSelection.setSelected(this, selected, true);
55
+ }
54
56
  _onkeydown(e, eventOrigin) {
55
57
  if ((eventOrigin === this && this._isSelectable && isSpace(e)) || (eventOrigin === this._selectionCell && (isSpace(e) || isEnter(e)))) {
56
- this._informSelectionChange();
58
+ this._onSelectionChange();
57
59
  e.preventDefault();
58
60
  }
59
61
  }
@@ -74,10 +76,10 @@ let TableRowBase = TableRowBase_1 = class TableRowBase extends UI5Element {
74
76
  return this._tableSelection?.isSelectable();
75
77
  }
76
78
  get _isMultiSelect() {
77
- return this._tableSelection?.isMultiSelect();
79
+ return this._tableSelection?.isMultiSelectable();
78
80
  }
79
81
  get _hasRowSelector() {
80
- return this._tableSelection?.hasRowSelector();
82
+ return this._tableSelection?.isRowSelectorRequired();
81
83
  }
82
84
  get _selectionCell() {
83
85
  return this.shadowRoot.getElementById("selection-cell");
@@ -1 +1 @@
1
- {"version":3,"file":"TableRowBase.js","sourceRoot":"","sources":["../src/TableRowBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type TableCellBase from \"./TableCellBase.js\";\nimport TableRowBaseCss from \"./generated/themes/TableRowBase.css.js\";\nimport type Table from \"./Table.js\";\nimport CheckBox from \"./CheckBox.js\";\nimport { isInstanceOfTable } from \"./TableUtils.js\";\nimport {\n\tTABLE_ROW_SELECTOR,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n * A class to serve as a foundation for the `TableRow` and `TableHeaderRow` classes.\n * @constructor\n * @abstract\n * @extends UI5Element\n * @since 2.0.0\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: TableRowBaseCss,\n\tdependencies: [CheckBox],\n})\nabstract class TableRowBase extends UI5Element {\n\tcells!: Array<TableCellBase>;\n\n\t@property({ type: Number, noAttribute: true })\n\t_invalidate = 0;\n\n\t@property({ type: Number, noAttribute: true })\n\t_rowActionCount = 0;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonEnterDOM() {\n\t\tthis.setAttribute(\"role\", \"row\");\n\t\tthis.toggleAttribute(\"ui5-table-row-base\", true);\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._isSelectable) {\n\t\t\tthis.setAttribute(\"aria-selected\", `${this._isSelected}`);\n\t\t} else {\n\t\t\tthis.removeAttribute(\"aria-selected\");\n\t\t}\n\t}\n\n\tgetFocusDomRef() {\n\t\treturn this;\n\t}\n\n\t_informSelectionChange() {\n\t\tthis._tableSelection?.informSelectionChange(this);\n\t}\n\n\tisHeaderRow(): boolean {\n\t\treturn false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif ((eventOrigin === this && this._isSelectable && isSpace(e)) || (eventOrigin === this._selectionCell && (isSpace(e) || isEnter(e)))) {\n\t\t\tthis._informSelectionChange();\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tget _table(): Table | undefined {\n\t\tconst element = this.parentElement;\n\t\treturn isInstanceOfTable(element) ? element : undefined;\n\t}\n\n\tget _tableId() {\n\t\treturn this._table?._id;\n\t}\n\n\tget _tableSelection() {\n\t\treturn this._table?._getSelection();\n\t}\n\n\tget _isSelected() {\n\t\treturn this._tableSelection?.isSelected(this);\n\t}\n\n\tget _isSelectable() {\n\t\treturn this._tableSelection?.isSelectable();\n\t}\n\n\tget _isMultiSelect() {\n\t\treturn this._tableSelection?.isMultiSelect();\n\t}\n\n\tget _hasRowSelector() {\n\t\treturn this._tableSelection?.hasRowSelector();\n\t}\n\n\tget _selectionCell() {\n\t\treturn this.shadowRoot!.getElementById(\"selection-cell\");\n\t}\n\n\tget _visibleCells() {\n\t\treturn this.cells.filter(c => !c._popin);\n\t}\n\n\tget _popinCells() {\n\t\treturn this.cells.filter(c => c._popin && !c._popinHidden);\n\t}\n\n\tget _stickyCells() {\n\t\tconst selectionCell = this.shadowRoot?.querySelector(\"#selection-cell\"),\n\t\t\tnavigatedCell = this.shadowRoot?.querySelector(\"#navigated-cell\");\n\n\t\t// filter out null/undefined\n\t\treturn [selectionCell, ...this.cells, navigatedCell].filter(cell => cell?.hasAttribute(\"fixed\"));\n\t}\n\n\tget _i18nRowSelector(): string {\n\t\treturn TableRowBase.i18nBundle.getText(TABLE_ROW_SELECTOR);\n\t}\n}\n\nexport default TableRowBase;\n"]}
1
+ {"version":3,"file":"TableRowBase.js","sourceRoot":"","sources":["../src/TableRowBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type TableCellBase from \"./TableCellBase.js\";\nimport TableRowBaseCss from \"./generated/themes/TableRowBase.css.js\";\nimport type Table from \"./Table.js\";\nimport CheckBox from \"./CheckBox.js\";\nimport { isInstanceOfTable } from \"./TableUtils.js\";\nimport {\n\tTABLE_ROW_SELECTOR,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n * A class to serve as a foundation for the `TableRow` and `TableHeaderRow` classes.\n * @constructor\n * @abstract\n * @extends UI5Element\n * @since 2.0.0\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: TableRowBaseCss,\n\tdependencies: [CheckBox],\n})\nabstract class TableRowBase extends UI5Element {\n\tcells!: Array<TableCellBase>;\n\n\t@property({ type: Number, noAttribute: true })\n\t_invalidate = 0;\n\n\t@property({ type: Number, noAttribute: true })\n\t_rowActionCount = 0;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonEnterDOM() {\n\t\tthis.setAttribute(\"role\", \"row\");\n\t\tthis.toggleAttribute(\"ui5-table-row-base\", true);\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._isSelectable) {\n\t\t\tthis.setAttribute(\"aria-selected\", `${this._isSelected}`);\n\t\t} else {\n\t\t\tthis.removeAttribute(\"aria-selected\");\n\t\t}\n\t}\n\n\tgetFocusDomRef() {\n\t\treturn this;\n\t}\n\n\tisHeaderRow(): boolean {\n\t\treturn false;\n\t}\n\n\t_onSelectionChange() {\n\t\tconst tableSelection = this._tableSelection!;\n\t\tconst selected = tableSelection.isMultiSelectable() ? !this._isSelected : true;\n\t\ttableSelection.setSelected(this, selected, true);\n\t}\n\n\t_onkeydown(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif ((eventOrigin === this && this._isSelectable && isSpace(e)) || (eventOrigin === this._selectionCell && (isSpace(e) || isEnter(e)))) {\n\t\t\tthis._onSelectionChange();\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tget _table(): Table | undefined {\n\t\tconst element = this.parentElement;\n\t\treturn isInstanceOfTable(element) ? element : undefined;\n\t}\n\n\tget _tableId() {\n\t\treturn this._table?._id;\n\t}\n\n\tget _tableSelection() {\n\t\treturn this._table?._getSelection();\n\t}\n\n\tget _isSelected() {\n\t\treturn this._tableSelection?.isSelected(this);\n\t}\n\n\tget _isSelectable() {\n\t\treturn this._tableSelection?.isSelectable();\n\t}\n\n\tget _isMultiSelect() {\n\t\treturn this._tableSelection?.isMultiSelectable();\n\t}\n\n\tget _hasRowSelector() {\n\t\treturn this._tableSelection?.isRowSelectorRequired();\n\t}\n\n\tget _selectionCell() {\n\t\treturn this.shadowRoot!.getElementById(\"selection-cell\");\n\t}\n\n\tget _visibleCells() {\n\t\treturn this.cells.filter(c => !c._popin);\n\t}\n\n\tget _popinCells() {\n\t\treturn this.cells.filter(c => c._popin && !c._popinHidden);\n\t}\n\n\tget _stickyCells() {\n\t\tconst selectionCell = this.shadowRoot?.querySelector(\"#selection-cell\"),\n\t\t\tnavigatedCell = this.shadowRoot?.querySelector(\"#navigated-cell\");\n\n\t\t// filter out null/undefined\n\t\treturn [selectionCell, ...this.cells, navigatedCell].filter(cell => cell?.hasAttribute(\"fixed\"));\n\t}\n\n\tget _i18nRowSelector(): string {\n\t\treturn TableRowBase.i18nBundle.getText(TABLE_ROW_SELECTOR);\n\t}\n}\n\nexport default TableRowBase;\n"]}
@@ -9,7 +9,7 @@ import type TableRowBase from "./TableRowBase.js";
9
9
  *
10
10
  * ### Overview
11
11
  *
12
- * The `ui5-table-selection` component is used inside the `ui5-table` ti add key-based selection capabilities to the `ui5-table`.
12
+ * The `ui5-table-selection` component is used inside the `ui5-table` to add key-based selection capabilities to the `ui5-table`.
13
13
  *
14
14
  * The component offers three selection modes:
15
15
  * * Single - select a single row.
@@ -39,6 +39,7 @@ import type TableRowBase from "./TableRowBase.js";
39
39
  * @since 2.0.0
40
40
  * @public
41
41
  * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.
42
+ * @deprecated This component is deprecated and will be removed in future releases. Use the `ui5-table-selection-single` or `ui5-table-selection-multi` components instead.
42
43
  */
43
44
  declare class TableSelection extends UI5Element implements ITableFeature {
44
45
  eventDetails: {
@@ -60,6 +61,7 @@ declare class TableSelection extends UI5Element implements ITableFeature {
60
61
  selected: string;
61
62
  readonly identifier = "TableSelection";
62
63
  _table?: Table;
64
+ _rowsLength: number;
63
65
  _rangeSelection?: {
64
66
  selected: boolean;
65
67
  isUp: boolean | null;
@@ -70,21 +72,21 @@ declare class TableSelection extends UI5Element implements ITableFeature {
70
72
  onTableActivate(table: Table): void;
71
73
  onExitDOM(): void;
72
74
  onBeforeRendering(): void;
75
+ onTableBeforeRendering(): void;
73
76
  isSelectable(): boolean;
74
- isMultiSelect(): boolean;
75
- hasRowSelector(): boolean;
76
- getRowIdentifier(row: TableRow): string;
77
+ isMultiSelectable(): boolean;
78
+ isRowSelectorRequired(): boolean;
79
+ getRowKey(row: TableRow): string;
77
80
  isSelected(row: TableRowBase): boolean;
78
81
  hasSelectedRow(): boolean;
79
82
  areAllRowsSelected(): boolean;
80
- informSelectionChange(row: TableRowBase): void;
83
+ setSelected(row: TableRowBase, selected: boolean, fireEvent?: boolean): void;
81
84
  get selectedAsArray(): string[];
82
85
  set selectedAsArray(selectedArray: string[]);
83
86
  get selectedAsSet(): Set<string>;
84
87
  set selectedAsSet(selectedSet: Set<string>);
85
88
  _selectRow(row: TableRow, selected: boolean): void;
86
- _informRowSelectionChange(row: TableRow): void;
87
- _informHeaderRowSelectionChange(): void;
89
+ _selectHeaderRow(selected: boolean): void;
88
90
  _invalidateTableAndRows(): void;
89
91
  _onkeydown(e: KeyboardEvent): void;
90
92
  _onkeyup(e: KeyboardEvent, eventOrigin: HTMLElement): void;
@@ -17,7 +17,7 @@ import { isSelectionCheckbox, isHeaderSelector, findRowInPath } from "./TableUti
17
17
  *
18
18
  * ### Overview
19
19
  *
20
- * The `ui5-table-selection` component is used inside the `ui5-table` ti add key-based selection capabilities to the `ui5-table`.
20
+ * The `ui5-table-selection` component is used inside the `ui5-table` to add key-based selection capabilities to the `ui5-table`.
21
21
  *
22
22
  * The component offers three selection modes:
23
23
  * * Single - select a single row.
@@ -47,6 +47,7 @@ import { isSelectionCheckbox, isHeaderSelector, findRowInPath } from "./TableUti
47
47
  * @since 2.0.0
48
48
  * @public
49
49
  * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.
50
+ * @deprecated This component is deprecated and will be removed in future releases. Use the `ui5-table-selection-single` or `ui5-table-selection-multi` components instead.
50
51
  */
51
52
  let TableSelection = class TableSelection extends UI5Element {
52
53
  constructor() {
@@ -66,6 +67,7 @@ let TableSelection = class TableSelection extends UI5Element {
66
67
  */
67
68
  this.selected = "";
68
69
  this.identifier = "TableSelection";
70
+ this._rowsLength = 0;
69
71
  }
70
72
  onTableActivate(table) {
71
73
  this._table = table;
@@ -79,17 +81,23 @@ let TableSelection = class TableSelection extends UI5Element {
79
81
  onBeforeRendering() {
80
82
  this._invalidateTableAndRows();
81
83
  }
84
+ onTableBeforeRendering() {
85
+ if (this.isMultiSelectable() && this._table && this._table.headerRow[0] && this._rowsLength !== this._table.rows.length) {
86
+ this._rowsLength = this._table.rows.length;
87
+ this._table.headerRow[0]._invalidate++;
88
+ }
89
+ }
82
90
  isSelectable() {
83
91
  return this.mode !== TableSelectionMode.None;
84
92
  }
85
- isMultiSelect() {
93
+ isMultiSelectable() {
86
94
  return this.mode === TableSelectionMode.Multiple;
87
95
  }
88
- hasRowSelector() {
96
+ isRowSelectorRequired() {
89
97
  return this.mode !== TableSelectionMode.None;
90
98
  }
91
- getRowIdentifier(row) {
92
- return row.rowKey;
99
+ getRowKey(row) {
100
+ return row.rowKey || "";
93
101
  }
94
102
  isSelected(row) {
95
103
  if (!this._table || !this.isSelectable()) {
@@ -98,8 +106,8 @@ let TableSelection = class TableSelection extends UI5Element {
98
106
  if (row.isHeaderRow()) {
99
107
  return this.areAllRowsSelected();
100
108
  }
101
- const rowIdentifier = this.getRowIdentifier(row);
102
- return this.selectedAsArray.includes(rowIdentifier);
109
+ const rowKey = this.getRowKey(row);
110
+ return this.selectedAsArray.includes(rowKey);
103
111
  }
104
112
  hasSelectedRow() {
105
113
  if (!this._table || !this.isSelectable()) {
@@ -107,8 +115,8 @@ let TableSelection = class TableSelection extends UI5Element {
107
115
  }
108
116
  const selectedArray = this.selectedAsArray;
109
117
  return this._table.rows.some(row => {
110
- const rowIdentifier = this.getRowIdentifier(row);
111
- return selectedArray.includes(rowIdentifier);
118
+ const rowKey = this.getRowKey(row);
119
+ return selectedArray.includes(rowKey);
112
120
  });
113
121
  }
114
122
  areAllRowsSelected() {
@@ -117,19 +125,22 @@ let TableSelection = class TableSelection extends UI5Element {
117
125
  }
118
126
  const selectedArray = this.selectedAsArray;
119
127
  return this._table.rows.every(row => {
120
- const rowIdentifier = this.getRowIdentifier(row);
121
- return selectedArray.includes(rowIdentifier);
128
+ const rowKey = this.getRowKey(row);
129
+ return selectedArray.includes(rowKey);
122
130
  });
123
131
  }
124
- informSelectionChange(row) {
132
+ setSelected(row, selected, fireEvent = false) {
125
133
  if (this._rangeSelection?.isMouse && this._rangeSelection.shiftPressed) {
126
134
  return;
127
135
  }
128
136
  if (row.isHeaderRow()) {
129
- this._informHeaderRowSelectionChange();
137
+ this._selectHeaderRow(selected);
130
138
  }
131
139
  else {
132
- this._informRowSelectionChange(row);
140
+ this._selectRow(row, selected);
141
+ }
142
+ if (fireEvent) {
143
+ this.fireDecoratorEvent("change");
133
144
  }
134
145
  }
135
146
  get selectedAsArray() {
@@ -145,30 +156,23 @@ let TableSelection = class TableSelection extends UI5Element {
145
156
  this.selectedAsArray = [...selectedSet];
146
157
  }
147
158
  _selectRow(row, selected) {
148
- const rowIdentifier = this.getRowIdentifier(row);
159
+ const rowKey = this.getRowKey(row);
149
160
  if (this.mode === TableSelectionMode.Multiple) {
150
161
  const selectedSet = this.selectedAsSet;
151
- selectedSet[selected ? "add" : "delete"](rowIdentifier);
162
+ selectedSet[selected ? "add" : "delete"](rowKey);
152
163
  this.selectedAsSet = selectedSet;
153
164
  }
154
165
  else {
155
- this.selected = selected ? rowIdentifier : "";
166
+ this.selected = selected ? rowKey : "";
156
167
  }
157
168
  }
158
- _informRowSelectionChange(row) {
159
- const isRowSelected = this.isMultiSelect() ? !this.isSelected(row) : true;
160
- this._selectRow(row, isRowSelected);
161
- this.fireDecoratorEvent("change");
162
- }
163
- _informHeaderRowSelectionChange() {
164
- const isRowSelected = this.areAllRowsSelected();
169
+ _selectHeaderRow(selected) {
165
170
  const selectedSet = this.selectedAsSet;
166
171
  this._table.rows.forEach(row => {
167
- const rowIdentifier = this.getRowIdentifier(row);
168
- selectedSet[isRowSelected ? "delete" : "add"](rowIdentifier);
172
+ const rowKey = this.getRowKey(row);
173
+ selectedSet[selected ? "add" : "delete"](rowKey);
169
174
  });
170
175
  this.selectedAsSet = selectedSet;
171
- this.fireDecoratorEvent("change");
172
176
  }
173
177
  _invalidateTableAndRows() {
174
178
  if (!this._table) {
@@ -177,7 +181,7 @@ let TableSelection = class TableSelection extends UI5Element {
177
181
  if (!this.isSelectable()) {
178
182
  this.selected = "";
179
183
  }
180
- else if (!this.isMultiSelect()) {
184
+ else if (!this.isMultiSelectable()) {
181
185
  this.selected = this.selectedAsArray.shift() || "";
182
186
  }
183
187
  this._table._invalidate++;
@@ -185,7 +189,7 @@ let TableSelection = class TableSelection extends UI5Element {
185
189
  this._table.rows.forEach(row => row._invalidate++);
186
190
  }
187
191
  _onkeydown(e) {
188
- if (!this.isMultiSelect() || !this._table || !e.shiftKey) {
192
+ if (!this.isMultiSelectable() || !this._table || !e.shiftKey) {
189
193
  return;
190
194
  }
191
195
  const focusedElement = getActiveElement(); // Assumption: The focused element is always the "next" row after navigation.
@@ -321,7 +325,7 @@ __decorate([
321
325
  TableSelection = __decorate([
322
326
  customElement({ tag: "ui5-table-selection" })
323
327
  /**
324
- * Fired when selection is changed by user interaction.
328
+ * Fired when the selection is changed by user interaction.
325
329
  *
326
330
  * @public
327
331
  */