@ui5/webcomponents 2.10.0-rc.0 → 2.10.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/cypress/specs/Form.cy.tsx +21 -0
  3. package/cypress/specs/Input.cy.tsx +81 -26
  4. package/cypress/specs/List.cy.tsx +80 -1
  5. package/cypress/specs/List.mobile.cy.tsx +31 -0
  6. package/cypress/specs/Table.cy.tsx +163 -0
  7. package/cypress/specs/TableRowActions.cy.tsx +21 -6
  8. package/cypress/specs/TableSelection.cy.tsx +1 -1
  9. package/cypress/specs/TableSelections.cy.tsx +1 -1
  10. package/cypress/specs/TableUtils.cy.tsx +38 -1
  11. package/dist/.tsbuildinfo +1 -1
  12. package/dist/Form.d.ts +1 -0
  13. package/dist/Form.js +7 -0
  14. package/dist/Form.js.map +1 -1
  15. package/dist/Input.js +1 -0
  16. package/dist/Input.js.map +1 -1
  17. package/dist/List.d.ts +8 -3
  18. package/dist/List.js +19 -13
  19. package/dist/List.js.map +1 -1
  20. package/dist/ListItem.d.ts +6 -0
  21. package/dist/ListItem.js +9 -0
  22. package/dist/ListItem.js.map +1 -1
  23. package/dist/ListItemStandard.d.ts +44 -5
  24. package/dist/ListItemStandard.js +65 -8
  25. package/dist/ListItemStandard.js.map +1 -1
  26. package/dist/ListItemStandardTemplate.js +33 -1
  27. package/dist/ListItemStandardTemplate.js.map +1 -1
  28. package/dist/Menu.d.ts +9 -2
  29. package/dist/Menu.js +11 -2
  30. package/dist/Menu.js.map +1 -1
  31. package/dist/MenuTemplate.js +1 -1
  32. package/dist/MenuTemplate.js.map +1 -1
  33. package/dist/Table.js +24 -22
  34. package/dist/Table.js.map +1 -1
  35. package/dist/TableHeaderCell.d.ts +15 -13
  36. package/dist/TableHeaderCell.js +0 -35
  37. package/dist/TableHeaderCell.js.map +1 -1
  38. package/dist/TableRow.js +1 -0
  39. package/dist/TableRow.js.map +1 -1
  40. package/dist/TableTemplate.js.map +1 -1
  41. package/dist/TableUtils.d.ts +8 -1
  42. package/dist/TableUtils.js +12 -1
  43. package/dist/TableUtils.js.map +1 -1
  44. package/dist/Tokenizer.d.ts +4 -0
  45. package/dist/Tokenizer.js.map +1 -1
  46. package/dist/css/themes/Avatar.css +1 -1
  47. package/dist/css/themes/AvatarGroup.css +1 -1
  48. package/dist/css/themes/Bar.css +1 -1
  49. package/dist/css/themes/Breadcrumbs.css +1 -1
  50. package/dist/css/themes/BusyIndicator.css +1 -1
  51. package/dist/css/themes/Button.css +1 -1
  52. package/dist/css/themes/ButtonBadge.css +1 -1
  53. package/dist/css/themes/Calendar.css +1 -1
  54. package/dist/css/themes/CalendarHeader.css +1 -1
  55. package/dist/css/themes/CalendarLegend.css +1 -1
  56. package/dist/css/themes/CalendarLegendItem.css +1 -1
  57. package/dist/css/themes/Card.css +1 -1
  58. package/dist/css/themes/CardHeader.css +1 -1
  59. package/dist/css/themes/Carousel.css +1 -1
  60. package/dist/css/themes/CheckBox.css +1 -1
  61. package/dist/css/themes/ColorPalette.css +1 -1
  62. package/dist/css/themes/ColorPaletteItem.css +1 -1
  63. package/dist/css/themes/ColorPalettePopover.css +1 -1
  64. package/dist/css/themes/ColorPicker.css +1 -1
  65. package/dist/css/themes/ComboBox.css +1 -1
  66. package/dist/css/themes/ComboBoxItem.css +1 -1
  67. package/dist/css/themes/DatePicker.css +1 -1
  68. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  69. package/dist/css/themes/DayPicker.css +1 -1
  70. package/dist/css/themes/Dialog.css +1 -1
  71. package/dist/css/themes/FileUploader.css +1 -1
  72. package/dist/css/themes/Form.css +1 -1
  73. package/dist/css/themes/FormItem.css +1 -1
  74. package/dist/css/themes/FormItemSpan.css +1 -1
  75. package/dist/css/themes/GrowingButton.css +1 -1
  76. package/dist/css/themes/Icon.css +1 -1
  77. package/dist/css/themes/Input.css +1 -1
  78. package/dist/css/themes/InputIcon.css +1 -1
  79. package/dist/css/themes/InputSharedStyles.css +1 -1
  80. package/dist/css/themes/Link.css +1 -1
  81. package/dist/css/themes/List.css +1 -1
  82. package/dist/css/themes/ListItem.css +1 -1
  83. package/dist/css/themes/ListItemBase.css +1 -1
  84. package/dist/css/themes/ListItemCustom.css +1 -1
  85. package/dist/css/themes/ListItemGroup.css +1 -1
  86. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  87. package/dist/css/themes/ListItemIcon.css +1 -1
  88. package/dist/css/themes/Menu.css +1 -1
  89. package/dist/css/themes/MenuItem.css +1 -1
  90. package/dist/css/themes/MessageStrip.css +1 -1
  91. package/dist/css/themes/MonthPicker.css +1 -1
  92. package/dist/css/themes/MultiComboBox.css +1 -1
  93. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  94. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  95. package/dist/css/themes/MultiInput.css +1 -1
  96. package/dist/css/themes/OptionBase.css +1 -1
  97. package/dist/css/themes/Panel.css +1 -1
  98. package/dist/css/themes/Popover.css +1 -1
  99. package/dist/css/themes/PopupsCommon.css +1 -1
  100. package/dist/css/themes/ProgressIndicator.css +1 -1
  101. package/dist/css/themes/RadioButton.css +1 -1
  102. package/dist/css/themes/RangeSlider.css +1 -1
  103. package/dist/css/themes/RatingIndicator.css +1 -1
  104. package/dist/css/themes/ResponsivePopover.css +1 -1
  105. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  106. package/dist/css/themes/SegmentedButton.css +1 -1
  107. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  108. package/dist/css/themes/Select.css +1 -1
  109. package/dist/css/themes/SliderBase.css +1 -1
  110. package/dist/css/themes/SplitButton.css +1 -1
  111. package/dist/css/themes/StepInput.css +1 -1
  112. package/dist/css/themes/SuggestionItem.css +1 -1
  113. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  114. package/dist/css/themes/Switch.css +1 -1
  115. package/dist/css/themes/TabContainer.css +1 -1
  116. package/dist/css/themes/TabInOverflow.css +1 -1
  117. package/dist/css/themes/TabInStrip.css +1 -1
  118. package/dist/css/themes/TabSemanticIcon.css +1 -1
  119. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  120. package/dist/css/themes/Table.css +1 -1
  121. package/dist/css/themes/TableCellBase.css +1 -1
  122. package/dist/css/themes/TableHeaderRow.css +1 -1
  123. package/dist/css/themes/TableRow.css +1 -1
  124. package/dist/css/themes/TableRowActionBase.css +1 -1
  125. package/dist/css/themes/TableRowBase.css +1 -1
  126. package/dist/css/themes/Tag.css +1 -1
  127. package/dist/css/themes/Text.css +1 -1
  128. package/dist/css/themes/TextArea.css +1 -1
  129. package/dist/css/themes/TimePicker.css +1 -1
  130. package/dist/css/themes/Toast.css +1 -1
  131. package/dist/css/themes/ToggleButton.css +1 -1
  132. package/dist/css/themes/Token.css +1 -1
  133. package/dist/css/themes/Tokenizer.css +1 -1
  134. package/dist/css/themes/TokenizerPopover.css +1 -1
  135. package/dist/css/themes/Toolbar.css +1 -1
  136. package/dist/css/themes/ToolbarPopover.css +1 -1
  137. package/dist/css/themes/TreeItem.css +1 -1
  138. package/dist/css/themes/ValueStateMessage.css +1 -1
  139. package/dist/css/themes/YearPicker.css +1 -1
  140. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  141. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  142. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  143. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  144. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  145. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  146. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  147. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  148. package/dist/custom-elements-internal.json +126 -42
  149. package/dist/custom-elements.json +112 -42
  150. package/dist/features/ListItemStandardExpandableText.d.ts +1 -0
  151. package/dist/features/ListItemStandardExpandableText.js +5 -0
  152. package/dist/features/ListItemStandardExpandableText.js.map +1 -0
  153. package/dist/features/ListItemStandardExpandableTextTemplate.d.ts +10 -0
  154. package/dist/features/ListItemStandardExpandableTextTemplate.js +14 -0
  155. package/dist/features/ListItemStandardExpandableTextTemplate.js.map +1 -0
  156. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  157. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  158. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  159. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  160. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  161. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  162. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  163. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  164. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  165. package/dist/generated/themes/Avatar.css.js +1 -1
  166. package/dist/generated/themes/Avatar.css.js.map +1 -1
  167. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  168. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  169. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  170. package/dist/generated/themes/Bar.css.d.ts +1 -1
  171. package/dist/generated/themes/Bar.css.js +1 -1
  172. package/dist/generated/themes/Bar.css.js.map +1 -1
  173. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  174. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  175. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  176. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  177. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  178. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  179. package/dist/generated/themes/Button.css.d.ts +1 -1
  180. package/dist/generated/themes/Button.css.js +1 -1
  181. package/dist/generated/themes/Button.css.js.map +1 -1
  182. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  183. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  184. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  185. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  186. package/dist/generated/themes/Calendar.css.js +1 -1
  187. package/dist/generated/themes/Calendar.css.js.map +1 -1
  188. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  189. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  190. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  191. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  192. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  193. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  194. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  195. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  196. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  197. package/dist/generated/themes/Card.css.d.ts +1 -1
  198. package/dist/generated/themes/Card.css.js +1 -1
  199. package/dist/generated/themes/Card.css.js.map +1 -1
  200. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  201. package/dist/generated/themes/CardHeader.css.js +1 -1
  202. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  203. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  204. package/dist/generated/themes/Carousel.css.js +1 -1
  205. package/dist/generated/themes/Carousel.css.js.map +1 -1
  206. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  207. package/dist/generated/themes/CheckBox.css.js +1 -1
  208. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  209. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  210. package/dist/generated/themes/ColorPalette.css.js +1 -1
  211. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  212. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  213. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  214. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  215. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  216. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  217. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  218. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  219. package/dist/generated/themes/ColorPicker.css.js +1 -1
  220. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  221. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  222. package/dist/generated/themes/ComboBox.css.js +1 -1
  223. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  224. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  225. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  226. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  227. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  228. package/dist/generated/themes/DatePicker.css.js +1 -1
  229. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  230. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  231. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  232. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  233. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  234. package/dist/generated/themes/DayPicker.css.js +1 -1
  235. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  236. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  237. package/dist/generated/themes/Dialog.css.js +1 -1
  238. package/dist/generated/themes/Dialog.css.js.map +1 -1
  239. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  240. package/dist/generated/themes/FileUploader.css.js +1 -1
  241. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  242. package/dist/generated/themes/Form.css.d.ts +1 -1
  243. package/dist/generated/themes/Form.css.js +1 -1
  244. package/dist/generated/themes/Form.css.js.map +1 -1
  245. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  246. package/dist/generated/themes/FormItem.css.js +1 -1
  247. package/dist/generated/themes/FormItem.css.js.map +1 -1
  248. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  249. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  250. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  251. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  252. package/dist/generated/themes/GrowingButton.css.js +1 -1
  253. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  254. package/dist/generated/themes/Icon.css.d.ts +1 -1
  255. package/dist/generated/themes/Icon.css.js +1 -1
  256. package/dist/generated/themes/Icon.css.js.map +1 -1
  257. package/dist/generated/themes/Input.css.d.ts +1 -1
  258. package/dist/generated/themes/Input.css.js +1 -1
  259. package/dist/generated/themes/Input.css.js.map +1 -1
  260. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  261. package/dist/generated/themes/InputIcon.css.js +1 -1
  262. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  263. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  264. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  265. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  266. package/dist/generated/themes/Link.css.d.ts +1 -1
  267. package/dist/generated/themes/Link.css.js +1 -1
  268. package/dist/generated/themes/Link.css.js.map +1 -1
  269. package/dist/generated/themes/List.css.d.ts +1 -1
  270. package/dist/generated/themes/List.css.js +1 -1
  271. package/dist/generated/themes/List.css.js.map +1 -1
  272. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  273. package/dist/generated/themes/ListItem.css.js +1 -1
  274. package/dist/generated/themes/ListItem.css.js.map +1 -1
  275. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  276. package/dist/generated/themes/ListItemBase.css.js +1 -1
  277. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  278. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  279. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  280. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  281. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  282. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  283. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  284. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  285. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  286. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  287. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  288. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  289. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  290. package/dist/generated/themes/Menu.css.d.ts +1 -1
  291. package/dist/generated/themes/Menu.css.js +1 -1
  292. package/dist/generated/themes/Menu.css.js.map +1 -1
  293. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  294. package/dist/generated/themes/MenuItem.css.js +1 -1
  295. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  296. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  297. package/dist/generated/themes/MessageStrip.css.js +1 -1
  298. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  299. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  300. package/dist/generated/themes/MonthPicker.css.js +1 -1
  301. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  302. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  303. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  304. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  305. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  306. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  307. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  308. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  309. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  310. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  311. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  312. package/dist/generated/themes/MultiInput.css.js +1 -1
  313. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  314. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  315. package/dist/generated/themes/OptionBase.css.js +1 -1
  316. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  317. package/dist/generated/themes/Panel.css.d.ts +1 -1
  318. package/dist/generated/themes/Panel.css.js +1 -1
  319. package/dist/generated/themes/Panel.css.js.map +1 -1
  320. package/dist/generated/themes/Popover.css.d.ts +1 -1
  321. package/dist/generated/themes/Popover.css.js +1 -1
  322. package/dist/generated/themes/Popover.css.js.map +1 -1
  323. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  324. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  325. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  326. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  327. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  328. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  329. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  330. package/dist/generated/themes/RadioButton.css.js +1 -1
  331. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  332. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  333. package/dist/generated/themes/RangeSlider.css.js +1 -1
  334. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  335. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  336. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  337. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  338. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  339. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  340. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  341. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  342. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  343. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  344. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  345. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  346. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  347. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  348. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  349. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  350. package/dist/generated/themes/Select.css.d.ts +1 -1
  351. package/dist/generated/themes/Select.css.js +1 -1
  352. package/dist/generated/themes/Select.css.js.map +1 -1
  353. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  354. package/dist/generated/themes/SliderBase.css.js +1 -1
  355. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  356. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  357. package/dist/generated/themes/SplitButton.css.js +1 -1
  358. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  359. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  360. package/dist/generated/themes/StepInput.css.js +1 -1
  361. package/dist/generated/themes/StepInput.css.js.map +1 -1
  362. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  363. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  364. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  365. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  366. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  367. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  368. package/dist/generated/themes/Switch.css.d.ts +1 -1
  369. package/dist/generated/themes/Switch.css.js +1 -1
  370. package/dist/generated/themes/Switch.css.js.map +1 -1
  371. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  372. package/dist/generated/themes/TabContainer.css.js +1 -1
  373. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  374. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  375. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  376. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  377. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  378. package/dist/generated/themes/TabInStrip.css.js +1 -1
  379. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  380. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  381. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  382. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  383. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  384. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  385. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  386. package/dist/generated/themes/Table.css.d.ts +1 -1
  387. package/dist/generated/themes/Table.css.js +1 -1
  388. package/dist/generated/themes/Table.css.js.map +1 -1
  389. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  390. package/dist/generated/themes/TableCellBase.css.js +1 -1
  391. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  392. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  393. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  394. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  395. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  396. package/dist/generated/themes/TableRow.css.js +1 -1
  397. package/dist/generated/themes/TableRow.css.js.map +1 -1
  398. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  399. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  400. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  401. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  402. package/dist/generated/themes/TableRowBase.css.js +1 -1
  403. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  404. package/dist/generated/themes/Tag.css.d.ts +1 -1
  405. package/dist/generated/themes/Tag.css.js +1 -1
  406. package/dist/generated/themes/Tag.css.js.map +1 -1
  407. package/dist/generated/themes/Text.css.d.ts +1 -1
  408. package/dist/generated/themes/Text.css.js +1 -1
  409. package/dist/generated/themes/Text.css.js.map +1 -1
  410. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  411. package/dist/generated/themes/TextArea.css.js +1 -1
  412. package/dist/generated/themes/TextArea.css.js.map +1 -1
  413. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  414. package/dist/generated/themes/TimePicker.css.js +1 -1
  415. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  416. package/dist/generated/themes/Toast.css.d.ts +1 -1
  417. package/dist/generated/themes/Toast.css.js +1 -1
  418. package/dist/generated/themes/Toast.css.js.map +1 -1
  419. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  420. package/dist/generated/themes/ToggleButton.css.js +1 -1
  421. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  422. package/dist/generated/themes/Token.css.d.ts +1 -1
  423. package/dist/generated/themes/Token.css.js +1 -1
  424. package/dist/generated/themes/Token.css.js.map +1 -1
  425. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  426. package/dist/generated/themes/Tokenizer.css.js +1 -1
  427. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  428. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  429. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  430. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  431. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  432. package/dist/generated/themes/Toolbar.css.js +1 -1
  433. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  434. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  435. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  436. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  437. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  438. package/dist/generated/themes/TreeItem.css.js +1 -1
  439. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  440. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  441. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  442. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  443. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  444. package/dist/generated/themes/YearPicker.css.js +1 -1
  445. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  446. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  447. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  448. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  449. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  450. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  451. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  452. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  453. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  454. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  455. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  456. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  457. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  458. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  459. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  460. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  461. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  462. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  463. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  464. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  465. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  466. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  467. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  468. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  469. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  470. package/dist/types/ExpandableTextTemplateParams.d.ts +13 -0
  471. package/dist/types/ExpandableTextTemplateParams.js +2 -0
  472. package/dist/types/ExpandableTextTemplateParams.js.map +1 -0
  473. package/dist/vscode.html-custom-data.json +31 -16
  474. package/dist/web-types.json +68 -34
  475. package/package.json +9 -9
  476. package/src/ListItemStandardTemplate.tsx +55 -16
  477. package/src/MenuTemplate.tsx +1 -0
  478. package/src/TableTemplate.tsx +1 -0
  479. package/src/features/ListItemStandardExpandableTextTemplate.tsx +31 -0
  480. package/src/themes/BusyIndicator.css +2 -2
  481. package/src/themes/ListItem.css +69 -4
  482. package/src/themes/Table.css +2 -2
  483. package/src/themes/TableHeaderRow.css +2 -0
  484. package/src/themes/TableRow.css +4 -0
  485. package/src/themes/TableRowBase.css +11 -2
  486. package/src/themes/base/BusyIndicator-parameters.css +1 -2
  487. package/src/themes/base/Table-parameters.css +1 -0
  488. package/src/themes/base/sizes-parameters.css +1 -1
  489. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +0 -1
  490. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +0 -1
  491. package/src/themes/sap_horizon_hcb/BusyIndicator-parameters.css +0 -1
  492. package/src/themes/sap_horizon_hcw/BusyIndicator-parameters.css +0 -1
  493. package/src/themes/sap_fiori_3_hcb/BusyIndicator-parameters.css +0 -5
  494. package/src/themes/sap_fiori_3_hcw/BusyIndicator-parameters.css +0 -5
package/dist/Table.js.map CHANGED
@@ -1 +1 @@
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 query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport TableTemplate from \"./TableTemplate.js\";\nimport TableStyles from \"./generated/themes/Table.css.js\";\nimport TableExtension from \"./TableExtension.js\";\nimport TableNavigation from \"./TableNavigation.js\";\nimport TableOverflowMode from \"./types/TableOverflowMode.js\";\nimport TableDragAndDrop from \"./TableDragAndDrop.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 DropIndicator from \"./DropIndicator.js\";\nimport type TableHeaderRow from \"./TableHeaderRow.js\";\nimport type TableRow from \"./TableRow.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 TableSelectionBase from \"./TableSelectionBase.js\";\nimport type TableRowActionBase from \"./TableRowActionBase.js\";\nimport type TableVirtualizer from \"./TableVirtualizer.js\";\nimport type TableGrowing from \"./TableGrowing.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 every time before the table renders.\n\t * @param table Table instance\n\t */\n\tonTableBeforeRendering?(table?: Table): void;\n\t/**\n\t * Called every time after the table renders.\n\t * @param table Table instance\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: jsxRenderer,\n\tstyles: TableStyles,\n\ttemplate: TableTemplate,\n\tfastNavigation: true,\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\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 * <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 *\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 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/**\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@property({ type: Number, noAttribute: true })\n\t_invalidate = 0;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_renderNavigated = false;\n\n\t@query(\"[ui5-drop-indicator]\")\n\tdropIndicatorDOM!: DropIndicator;\n\n\t@query(\"#no-data-row\")\n\t_noDataRow?: TableRow;\n\n\t@query(\"#table-end-row\")\n\t_endRow!: TableRow;\n\n\t@query(\"#table\")\n\t_tableElement!: HTMLElement;\n\n\t@query(\"#before\")\n\t_beforeElement!: HTMLElement;\n\n\t@query(\"#after\")\n\t_afterElement!: HTMLElement;\n\n\t@query(\"#loading\")\n\t_loadingElement!: HTMLElement;\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: number}> = [];\n\t_containerWidth = 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, { capture: true }));\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\t[...this.headerRow, ...this.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\tthis.features.forEach(feature => feature.onTableBeforeRendering?.(this));\n\t}\n\n\tonAfterRendering(): void {\n\t\tthis.features.forEach(feature => feature.onTableAfterRendering?.(this));\n\t}\n\n\t_findFeature<T>(featureName: string): T {\n\t\treturn this.features.find(feature => isFeature<T>(feature, featureName)) as T;\n\t}\n\n\t_getSelection(): TableSelectionBase | TableSelection | undefined {\n\t\treturn this._findFeature<TableSelectionBase>(\"TableSelectionBase\") || this._findFeature<TableSelection>(\"TableSelection\");\n\t}\n\n\t_getVirtualizer(): TableVirtualizer | undefined {\n\t\treturn this._findFeature<TableVirtualizer>(\"TableVirtualizer\");\n\t}\n\n\t_getGrowing(): TableGrowing | undefined {\n\t\treturn this._findFeature<TableGrowing>(\"TableGrowing\");\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._getGrowing()?.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_isGrowingFeature(feature: any) {\n\t\treturn Boolean(feature.loadMore && feature.hasGrowingComponent && isFeature<ITableGrowing>(feature, \"TableGrowing\"));\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()?.isRowSelectorRequired()) {\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 _scrollContainer() {\n\t\treturn this._getVirtualizer() ? this._tableElement : findVerticalScrollContainer(this);\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\t\treturn [...stickyRows, ...stickyColumns];\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.isMultiSelectable() : undefined;\n\t}\n\n\tget isTable() {\n\t\treturn true;\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 query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport TableTemplate from \"./TableTemplate.js\";\nimport TableStyles from \"./generated/themes/Table.css.js\";\nimport TableExtension from \"./TableExtension.js\";\nimport TableNavigation from \"./TableNavigation.js\";\nimport TableOverflowMode from \"./types/TableOverflowMode.js\";\nimport TableDragAndDrop from \"./TableDragAndDrop.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport {\n\tfindVerticalScrollContainer, scrollElementIntoView, isFeature, isValidColumnWidth,\n} from \"./TableUtils.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport type DropIndicator from \"./DropIndicator.js\";\nimport type TableHeaderRow from \"./TableHeaderRow.js\";\nimport type TableRow from \"./TableRow.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 TableSelectionBase from \"./TableSelectionBase.js\";\nimport type TableRowActionBase from \"./TableRowActionBase.js\";\nimport type TableVirtualizer from \"./TableVirtualizer.js\";\nimport type TableGrowing from \"./TableGrowing.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 every time before the table renders.\n\t * @param table Table instance\n\t */\n\tonTableBeforeRendering?(table?: Table): void;\n\t/**\n\t * Called every time after the table renders.\n\t * @param table Table instance\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: jsxRenderer,\n\tstyles: TableStyles,\n\ttemplate: TableTemplate,\n\tfastNavigation: true,\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\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 * <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 *\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 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/**\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@property({ type: Number, noAttribute: true })\n\t_invalidate = 0;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_renderNavigated = false;\n\n\t@query(\"[ui5-drop-indicator]\")\n\tdropIndicatorDOM!: DropIndicator;\n\n\t@query(\"#no-data-row\")\n\t_noDataRow?: TableRow;\n\n\t@query(\"#table-end-row\")\n\t_endRow!: TableRow;\n\n\t@query(\"#table\")\n\t_tableElement!: HTMLElement;\n\n\t@query(\"#before\")\n\t_beforeElement!: HTMLElement;\n\n\t@query(\"#after\")\n\t_afterElement!: HTMLElement;\n\n\t@query(\"#loading\")\n\t_loadingElement!: HTMLElement;\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: number}> = [];\n\t_containerWidth = 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\tthis._events.forEach(eventType => this.addEventListener(eventType, this._onEventBound, { capture: true }));\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}\n\n\tonBeforeRendering(): void {\n\t\tthis._renderNavigated = this.rows.some(row => row.navigated);\n\t\t[...this.headerRow, ...this.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\tthis.features.forEach(feature => feature.onTableBeforeRendering?.(this));\n\n\t\tif (this.getDomRef()) {\n\t\t\tResizeHandler.deregister(this, this._onResizeBound);\n\t\t}\n\t}\n\n\tonAfterRendering(): void {\n\t\tthis.features.forEach(feature => feature.onTableAfterRendering?.(this));\n\t\tif (this.overflowMode === TableOverflowMode.Popin) {\n\t\t\tResizeHandler.register(this, this._onResizeBound);\n\t\t}\n\t}\n\n\t_findFeature<T>(featureName: string): T {\n\t\treturn this.features.find(feature => isFeature<T>(feature, featureName)) as T;\n\t}\n\n\t_getSelection(): TableSelectionBase | TableSelection | undefined {\n\t\treturn this._findFeature<TableSelectionBase>(\"TableSelectionBase\") || this._findFeature<TableSelection>(\"TableSelection\");\n\t}\n\n\t_getVirtualizer(): TableVirtualizer | undefined {\n\t\treturn this._findFeature<TableVirtualizer>(\"TableVirtualizer\");\n\t}\n\n\t_getGrowing(): TableGrowing | undefined {\n\t\treturn this._findFeature<TableGrowing>(\"TableGrowing\");\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._getGrowing()?.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 => {\n\t\t\tthis._setHeaderPopinState(header, header._popin, header._popinWidth);\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 && this.overflowMode === TableOverflowMode.Popin;\n\t\theaderCell._popinWidth = popinWidth;\n\t\tthis.rows.forEach(row => {\n\t\t\tconst cell = row.cells[headerIndex];\n\t\t\tif (cell) {\n\t\t\t\trow.cells[headerIndex]._popinHidden = headerCell.popinHidden;\n\t\t\t\trow.cells[headerIndex]._popin = headerCell._popin;\n\t\t\t}\n\t\t});\n\t}\n\n\t_isGrowingFeature(feature: any) {\n\t\treturn Boolean(feature.loadMore && feature.hasGrowingComponent && isFeature<ITableGrowing>(feature, \"TableGrowing\"));\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\n\t\t// Selection Cell Width\n\t\tif (this._getSelection()?.isRowSelectorRequired()) {\n\t\t\twidths.push(\"min-content\");\n\t\t}\n\n\t\t// Column Widths\n\t\twidths.push(...visibleHeaderCells.map(cell => {\n\t\t\tconst minWidth = cell.minWidth ?? \"3rem\";\n\t\t\tlet width = `minmax(${minWidth}, 1fr)`; // default width\n\t\t\tif (isValidColumnWidth(cell.width)) {\n\t\t\t\twidth = cell.width.includes(\"%\") ? `max(${minWidth}, ${cell.width})` : cell.width;\n\t\t\t}\n\t\t\treturn width;\n\t\t}));\n\n\t\t// Row Action Cell Width\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\t// Navigated Cell Width\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 _scrollContainer() {\n\t\treturn this._getVirtualizer() ? this._tableElement : findVerticalScrollContainer(this);\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\t\treturn [...stickyRows, ...stickyColumns];\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.isMultiSelectable() : undefined;\n\t}\n\n\tget isTable() {\n\t\treturn true;\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"]}
@@ -23,31 +23,34 @@ import type TableHeaderCellActionBase from "./TableHeaderCellActionBase.js";
23
23
  */
24
24
  declare class TableHeaderCell extends TableCellBase {
25
25
  /**
26
- * Defines the width of column.
26
+ * Defines the width of the column.
27
27
  *
28
- * @default "auto"
28
+ * By default, the column will grow and shrink according to the available space.
29
+ * This will distribute the space proportionally among all columns with no specific width set.
30
+ *
31
+ * See [\<length\>](https://developer.mozilla.org/en-US/docs/Web/CSS/length) and
32
+ * [\<percentage\>](https://developer.mozilla.org/en-US/docs/Web/CSS/percentage) for possible width values.
33
+ *
34
+ * @default undefined
29
35
  * @public
30
36
  */
31
- width: string;
37
+ width?: string;
32
38
  /**
33
39
  * Defines the minimum width of the column.
34
40
  *
35
41
  * If the table is in `Popin` mode and the minimum width does not fit anymore,
36
42
  * the column will move into the popin.
37
43
  *
38
- * **Note:** If `minWidth` has the `auto` value, the table ensures that the column is wider than at least `3rem`.
44
+ * By default, the table prevents the column from becoming too small.
45
+ * Changing this value to a small value might lead to accessibility issues.
39
46
  *
40
- * @default "auto"
41
- * @public
42
- */
43
- minWidth: string;
44
- /**
45
- * Defines the maximum width of the column.
47
+ * **Note:** This property only takes effect for columns with a [\<percentage\>](https://developer.mozilla.org/en-US/docs/Web/CSS/percentage) value
48
+ * or the default width.
46
49
  *
47
- * @default "auto"
48
50
  * @public
51
+ * @default undefined
49
52
  */
50
- maxWidth: string;
53
+ minWidth?: string;
51
54
  /**
52
55
  * Defines the importance of the column.
53
56
  *
@@ -98,7 +101,6 @@ declare class TableHeaderCell extends TableCellBase {
98
101
  _popin: boolean;
99
102
  protected ariaRole: string;
100
103
  _popinWidth: number;
101
- onEnterDOM(): void;
102
104
  onBeforeRendering(): void;
103
105
  }
104
106
  export default TableHeaderCell;
@@ -33,32 +33,6 @@ import SortOrder from "@ui5/webcomponents-base/dist/types/SortOrder.js";
33
33
  let TableHeaderCell = class TableHeaderCell extends TableCellBase {
34
34
  constructor() {
35
35
  super(...arguments);
36
- /**
37
- * Defines the width of column.
38
- *
39
- * @default "auto"
40
- * @public
41
- */
42
- this.width = "auto";
43
- /**
44
- * Defines the minimum width of the column.
45
- *
46
- * If the table is in `Popin` mode and the minimum width does not fit anymore,
47
- * the column will move into the popin.
48
- *
49
- * **Note:** If `minWidth` has the `auto` value, the table ensures that the column is wider than at least `3rem`.
50
- *
51
- * @default "auto"
52
- * @public
53
- */
54
- this.minWidth = "auto";
55
- /**
56
- * Defines the maximum width of the column.
57
- *
58
- * @default "auto"
59
- * @public
60
- */
61
- this.maxWidth = "auto";
62
36
  /**
63
37
  * Defines the importance of the column.
64
38
  *
@@ -93,12 +67,6 @@ let TableHeaderCell = class TableHeaderCell extends TableCellBase {
93
67
  this.ariaRole = "columnheader";
94
68
  this._popinWidth = 0;
95
69
  }
96
- onEnterDOM() {
97
- super.onEnterDOM();
98
- this.style.minWidth = this.minWidth;
99
- this.style.maxWidth = this.maxWidth;
100
- this.style.width = this.width;
101
- }
102
70
  onBeforeRendering() {
103
71
  super.onBeforeRendering();
104
72
  if (this._individualSlot) {
@@ -114,9 +82,6 @@ __decorate([
114
82
  __decorate([
115
83
  property()
116
84
  ], TableHeaderCell.prototype, "minWidth", void 0);
117
- __decorate([
118
- property()
119
- ], TableHeaderCell.prototype, "maxWidth", void 0);
120
85
  __decorate([
121
86
  property({ type: Number })
122
87
  ], TableHeaderCell.prototype, "importance", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeaderCell.js","sourceRoot":"","sources":["../src/TableHeaderCell.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AACnE,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,SAAS,MAAM,iDAAiD,CAAC;AAGxE;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,aAAa;IAA3C;;QACC;;;;;WAKG;QAEH,UAAK,GAAG,MAAM,CAAC;QAEf;;;;;;;;;;WAUG;QAEH,aAAQ,GAAG,MAAM,CAAC;QAElB;;;;;WAKG;QAEH,aAAQ,GAAG,MAAM,CAAC;QAElB;;;;;;;;;WASG;QAEH,eAAU,GAAG,CAAC,CAAC;QAYf;;;;;;WAMG;QAEH,kBAAa,GAAmB,MAAM,CAAC;QAEvC;;;;;;;;;WASG;QAEH,gBAAW,GAAY,KAAK,CAAC;QAc7B,WAAM,GAAG,KAAK,CAAC;QAEL,aAAQ,GAAW,cAAc,CAAC;QAC5C,gBAAW,GAAW,CAAC,CAAC;IAiBzB,CAAC;IAfA,UAAU;QACT,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,+FAA+F;YAC/F,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,0BAA0B,IAAI,CAAC,eAAe,GAAG,CAAC;QAC/E,CAAC;QACD,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7G,CAAC;CACD,CAAA;AAvGA;IADC,QAAQ,EAAE;8CACI;AAcf;IADC,QAAQ,EAAE;iDACO;AASlB;IADC,QAAQ,EAAE;iDACO;AAalB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACZ;AAUf;IADC,QAAQ,EAAE;kDACQ;AAUnB;IADC,QAAQ,EAAE;sDAC4B;AAavC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACC;AAW7B;IADC,IAAI,EAAE;+CACmC;AAG1C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;+CAChC;AA3FV,eAAe;IALpB,aAAa,CAAC;QACd,GAAG,EAAE,uBAAuB;QAC5B,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC;QACrD,QAAQ,EAAE,uBAAuB;KACjC,CAAC;GACI,eAAe,CA+GpB;AAED,eAAe,CAAC,MAAM,EAAE,CAAC;AAEzB,eAAe,eAAe,CAAC","sourcesContent":["import { customElement, property, slot } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport { toggleAttribute } from \"./TableUtils.js\";\nimport TableCellBase from \"./TableCellBase.js\";\nimport TableHeaderCellTemplate from \"./TableHeaderCellTemplate.js\";\nimport TableHeaderCellStyles from \"./generated/themes/TableHeaderCell.css.js\";\nimport SortOrder from \"@ui5/webcomponents-base/dist/types/SortOrder.js\";\nimport type TableHeaderCellActionBase from \"./TableHeaderCellActionBase.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-header-cell` component represents a column in the `ui5-table`.\n *\n * As it is tightly coupled to the `ui5-table`, it should only be used in the `ui5-table-header-row`\n * to ensure correct layout and design.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableHeaderCell.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-header-cell\",\n\tstyles: [TableCellBase.styles, TableHeaderCellStyles],\n\ttemplate: TableHeaderCellTemplate,\n})\nclass TableHeaderCell extends TableCellBase {\n\t/**\n\t * Defines the width of column.\n\t *\n\t * @default \"auto\"\n\t * @public\n\t */\n\t@property()\n\twidth = \"auto\";\n\n\t/**\n \t * Defines the minimum width of the column.\n\t *\n\t * If the table is in `Popin` mode and the minimum width does not fit anymore,\n\t * the column will move into the popin.\n\t *\n\t * **Note:** If `minWidth` has the `auto` value, the table ensures that the column is wider than at least `3rem`.\n\t *\n\t * @default \"auto\"\n\t * @public\n\t */\n\t@property()\n\tminWidth = \"auto\";\n\n\t/**\n\t * Defines the maximum width of the column.\n\t *\n\t * @default \"auto\"\n\t * @public\n\t */\n\t@property()\n\tmaxWidth = \"auto\";\n\n\t/**\n\t * Defines the importance of the column.\n\t *\n\t * This property affects the popin behaviour.\n\t * Columns with higher importance will move into the popin area later then less important\n\t * columns.\n\t *\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number })\n\timportance = 0;\n\n\t/**\n\t * The text for the column when it pops in.\n\t *\n\t * @default undefined\n\t * @since 2.7.0\n\t * @public\n\t */\n\t@property()\n\tpopinText?: string;\n\n\t/**\n\t * Defines the sort indicator of the column.\n\t *\n\t * @default \"None\"\n\t * @since 2.8.0\n\t * @public\n\t */\n\t@property()\n\tsortIndicator: `${SortOrder}` = \"None\";\n\n\t/**\n\t * Defines if the column is hidden in the popin.\n\t *\n\t * **Note:** Please be aware that hiding the column in the popin might lead to accessibility issues as\n\t * users might not be able to access the content of the column on small screens.\n\t *\n\t * @default false\n\t * @since 2.8.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpopinHidden: boolean = false;\n\n\t/**\n\t * Defines the action of the column.\n\t *\n\t * **Note:** While multiple actions are technically possible, this is not supported.\n\t *\n\t * @public\n\t * @since 2.8.0\n\t */\n\t@slot()\n\taction!: Array<TableHeaderCellActionBase>;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_popin = false;\n\n\tprotected ariaRole: string = \"columnheader\";\n\t_popinWidth: number = 0;\n\n\tonEnterDOM() {\n\t\tsuper.onEnterDOM();\n\t\tthis.style.minWidth = this.minWidth;\n\t\tthis.style.maxWidth = this.maxWidth;\n\t\tthis.style.width = this.width;\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tif (this._individualSlot) {\n\t\t\t// overwrite setting of TableCellBase so that the TableHeaderCell always uses the slot variable\n\t\t\tthis.style.justifyContent = `var(--horizontal-align-${this._individualSlot})`;\n\t\t}\n\t\ttoggleAttribute(this, \"aria-sort\", this.sortIndicator !== SortOrder.None, this.sortIndicator.toLowerCase());\n\t}\n}\n\nTableHeaderCell.define();\n\nexport default TableHeaderCell;\n"]}
1
+ {"version":3,"file":"TableHeaderCell.js","sourceRoot":"","sources":["../src/TableHeaderCell.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AACnE,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,SAAS,MAAM,iDAAiD,CAAC;AAGxE;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,aAAa;IAA3C;;QAkCC;;;;;;;;;WASG;QAEH,eAAU,GAAG,CAAC,CAAC;QAYf;;;;;;WAMG;QAEH,kBAAa,GAAmB,MAAM,CAAC;QAEvC;;;;;;;;;WASG;QAEH,gBAAW,GAAY,KAAK,CAAC;QAc7B,WAAM,GAAG,KAAK,CAAC;QAEL,aAAQ,GAAW,cAAc,CAAC;QAC5C,gBAAW,GAAW,CAAC,CAAC;IAUzB,CAAC;IARA,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,+FAA+F;YAC/F,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,0BAA0B,IAAI,CAAC,eAAe,GAAG,CAAC;QAC/E,CAAC;QACD,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7G,CAAC;CACD,CAAA;AA3FA;IADC,QAAQ,EAAE;8CACI;AAkBf;IADC,QAAQ,EAAE;iDACO;AAalB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACZ;AAUf;IADC,QAAQ,EAAE;kDACQ;AAUnB;IADC,QAAQ,EAAE;sDAC4B;AAavC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACC;AAW7B;IADC,IAAI,EAAE;+CACmC;AAG1C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;+CAChC;AA5FV,eAAe;IALpB,aAAa,CAAC;QACd,GAAG,EAAE,uBAAuB;QAC5B,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC;QACrD,QAAQ,EAAE,uBAAuB;KACjC,CAAC;GACI,eAAe,CAyGpB;AAED,eAAe,CAAC,MAAM,EAAE,CAAC;AAEzB,eAAe,eAAe,CAAC","sourcesContent":["import { customElement, property, slot } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport { toggleAttribute } from \"./TableUtils.js\";\nimport TableCellBase from \"./TableCellBase.js\";\nimport TableHeaderCellTemplate from \"./TableHeaderCellTemplate.js\";\nimport TableHeaderCellStyles from \"./generated/themes/TableHeaderCell.css.js\";\nimport SortOrder from \"@ui5/webcomponents-base/dist/types/SortOrder.js\";\nimport type TableHeaderCellActionBase from \"./TableHeaderCellActionBase.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-header-cell` component represents a column in the `ui5-table`.\n *\n * As it is tightly coupled to the `ui5-table`, it should only be used in the `ui5-table-header-row`\n * to ensure correct layout and design.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableHeaderCell.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-header-cell\",\n\tstyles: [TableCellBase.styles, TableHeaderCellStyles],\n\ttemplate: TableHeaderCellTemplate,\n})\nclass TableHeaderCell extends TableCellBase {\n\t/**\n\t * Defines the width of the column.\n\t *\n\t * By default, the column will grow and shrink according to the available space.\n\t * This will distribute the space proportionally among all columns with no specific width set.\n\t *\n\t * See [\\<length\\>](https://developer.mozilla.org/en-US/docs/Web/CSS/length) and\n\t * [\\<percentage\\>](https://developer.mozilla.org/en-US/docs/Web/CSS/percentage) for possible width values.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\twidth?: string;\n\n\t/**\n \t * Defines the minimum width of the column.\n\t *\n\t * If the table is in `Popin` mode and the minimum width does not fit anymore,\n\t * the column will move into the popin.\n\t *\n\t * By default, the table prevents the column from becoming too small.\n\t * Changing this value to a small value might lead to accessibility issues.\n\t *\n\t * **Note:** This property only takes effect for columns with a [\\<percentage\\>](https://developer.mozilla.org/en-US/docs/Web/CSS/percentage) value\n\t * or the default width.\n\t *\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\tminWidth?: string;\n\n\t/**\n\t * Defines the importance of the column.\n\t *\n\t * This property affects the popin behaviour.\n\t * Columns with higher importance will move into the popin area later then less important\n\t * columns.\n\t *\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number })\n\timportance = 0;\n\n\t/**\n\t * The text for the column when it pops in.\n\t *\n\t * @default undefined\n\t * @since 2.7.0\n\t * @public\n\t */\n\t@property()\n\tpopinText?: string;\n\n\t/**\n\t * Defines the sort indicator of the column.\n\t *\n\t * @default \"None\"\n\t * @since 2.8.0\n\t * @public\n\t */\n\t@property()\n\tsortIndicator: `${SortOrder}` = \"None\";\n\n\t/**\n\t * Defines if the column is hidden in the popin.\n\t *\n\t * **Note:** Please be aware that hiding the column in the popin might lead to accessibility issues as\n\t * users might not be able to access the content of the column on small screens.\n\t *\n\t * @default false\n\t * @since 2.8.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpopinHidden: boolean = false;\n\n\t/**\n\t * Defines the action of the column.\n\t *\n\t * **Note:** While multiple actions are technically possible, this is not supported.\n\t *\n\t * @public\n\t * @since 2.8.0\n\t */\n\t@slot()\n\taction!: Array<TableHeaderCellActionBase>;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_popin = false;\n\n\tprotected ariaRole: string = \"columnheader\";\n\t_popinWidth: number = 0;\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tif (this._individualSlot) {\n\t\t\t// overwrite setting of TableCellBase so that the TableHeaderCell always uses the slot variable\n\t\t\tthis.style.justifyContent = `var(--horizontal-align-${this._individualSlot})`;\n\t\t}\n\t\ttoggleAttribute(this, \"aria-sort\", this.sortIndicator !== SortOrder.None, this.sortIndicator.toLowerCase());\n\t}\n}\n\nTableHeaderCell.define();\n\nexport default TableHeaderCell;\n"]}
package/dist/TableRow.js CHANGED
@@ -91,6 +91,7 @@ let TableRow = class TableRow extends TableRowBase {
91
91
  _onOverflowButtonClick(e) {
92
92
  const ctor = this.actions[0].constructor;
93
93
  ctor.showMenu(this._overflowActions, e.target);
94
+ e.stopPropagation();
94
95
  }
95
96
  get _isInteractive() {
96
97
  return this.interactive;
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../src/TableRow.ts"],"names":[],"mappings":"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","sourcesContent":["import { customElement, slot, property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport { isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { toggleAttribute } from \"./TableUtils.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport TableRowTemplate from \"./TableRowTemplate.js\";\nimport TableRowBase from \"./TableRowBase.js\";\nimport TableRowCss from \"./generated/themes/TableRow.css.js\";\nimport type 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})\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 undefined\n\t * @since 2.5.0\n * @public\n */\n\t@property({ type: Number })\n\tposition?: number;\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\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\ttoggleAttribute(this, \"_interactive\", this._isInteractive);\n\t\ttoggleAttribute(this, \"aria-rowindex\", this.position !== undefined, `${this.position! + 1}`);\n\t\ttoggleAttribute(this, \"aria-current\", this._renderNavigated && this.navigated, \"true\");\n\t\ttoggleAttribute(this, \"draggable\", this.movable, \"true\");\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: MouseEvent) {\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 _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, slot, property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport { isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { toggleAttribute } from \"./TableUtils.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport TableRowTemplate from \"./TableRowTemplate.js\";\nimport TableRowBase from \"./TableRowBase.js\";\nimport TableRowCss from \"./generated/themes/TableRow.css.js\";\nimport type 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})\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 undefined\n\t * @since 2.5.0\n * @public\n */\n\t@property({ type: Number })\n\tposition?: number;\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\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\ttoggleAttribute(this, \"_interactive\", this._isInteractive);\n\t\ttoggleAttribute(this, \"aria-rowindex\", this.position !== undefined, `${this.position! + 1}`);\n\t\ttoggleAttribute(this, \"aria-current\", this._renderNavigated && this.navigated, \"true\");\n\t\ttoggleAttribute(this, \"draggable\", this.movable, \"true\");\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: MouseEvent) {\n\t\tconst ctor = this.actions[0].constructor as typeof TableRowActionBase;\n\t\tctor.showMenu(this._overflowActions, e.target as HTMLElement);\n\t\te.stopPropagation();\n\t}\n\n\tget _isInteractive() {\n\t\treturn this.interactive;\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 +1 @@
1
- {"version":3,"file":"TableTemplate.js","sourceRoot":"","sources":["../src/TableTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,OAAO,UAAU,aAAa;IACpC,OAAO,CACN,8BACC,cAAK,EAAE,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,uCAAmC,EAE3E,eAAK,EAAE,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAC1B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,gBACZ,IAAI,CAAC,UAAU,mBACZ,IAAI,CAAC,aAAa,0BACX,IAAI,CAAC,oBAAoB,aAE/C,eAAM,IAAI,EAAC,WAAW,GAAQ,EAC9B,cAAK,EAAE,EAAC,MAAM,YACb,cAAK,EAAE,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,YACzC,gBAAa,GACR,GACD,EAEJ,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;wBACvB,KAAC,QAAQ,IAAC,EAAE,EAAC,aAAa,YACzB,KAAC,SAAS,IAAC,EAAE,EAAC,cAAc,6DAAgD,QAAQ,YACjF,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oCACzB,eAAM,IAAI,EAAC,SAAS,GAAQ;oCAC5B,CAAC;wCACD,IAAI,CAAC,oBAAoB,GAEf,GACF,EAGV,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,mBAAmB,EAAE;wBAClE,cAAK,EAAE,EAAC,QAAQ,EAAC,IAAI,EAAC,UAAU,YAC7B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAClB,EAGP,KAAC,aAAa,IACb,WAAW,EAAC,YAAY,EACxB,cAAc,EAAE,IAAI,GACJ,EAEjB,6BAAiB,MAAM,EAAC,EAAE,EAAC,eAAe,YACzC,cAAK,EAAE,EAAC,gBAAgB,YACvB,cAAK,EAAE,EAAC,WAAW,iBAAa,MAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,GAAQ,GACtD,GACD,EAEJ,IAAI,CAAC,OAAO;wBACb,KAAC,aAAa,IAAC,EAAE,EAAC,SAAS,EAC1B,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,MAAM,EAAE,IAAI,+BAEI,IAEb,EAEN,cAAK,EAAE,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,uCAAmC,IACxE,CACH,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IAClB,OAAO,CACN,KAAC,QAAQ,IAAC,EAAE,EAAC,aAAa,qCACzB,KAAC,SAAS,IAAC,EAAE,EAAC,cAAc,YAC3B,eAAM,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,eAAe,GAAS,GAC7C,GACF,CACX,CAAC;AACH,CAAC","sourcesContent":["import type Table from \"./Table.js\";\nimport TableRow from \"./TableRow.js\";\nimport TableCell from \"./TableCell.js\";\nimport DropIndicator from \"./DropIndicator.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\n\nexport default function TableTemplate(this: Table) {\n\treturn (\n\t\t<>\n\t\t\t<div id=\"before\" role=\"none\" tabindex={0} ui5-table-dummy-focus-area></div>\n\n\t\t\t<div id=\"table\" role=\"grid\"\n\t\t\t\tstyle={this.styles.table}\n\t\t\t\taria-label={this._ariaLabel}\n\t\t\t\taria-rowcount={this._ariaRowCount}\n\t\t\t\taria-multiselectable={this._ariaMultiSelectable}\n\t\t\t>\n\t\t\t\t<slot name=\"headerRow\"></slot>\n\t\t\t\t<div id=\"rows\">\n\t\t\t\t\t<div id=\"spacer\" style={this.styles.spacer}>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{ this.rows.length === 0 &&\n\t\t\t\t\t<TableRow id=\"no-data-row\">\n\t\t\t\t\t\t<TableCell id=\"no-data-cell\" data-excluded-from-navigation horizontal-align=\"Center\">\n\t\t\t\t\t\t\t{ this.noData.length > 0 ?\n\t\t\t\t\t\t\t\t<slot name=\"no-data\"></slot>\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\tthis._effectiveNoDataText\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t</TableRow>\n\t\t\t\t}\n\n\t\t\t\t{ this.rows.length > 0 && this._getGrowing()?.hasGrowingComponent() &&\n\t\t\t\t\t<div id=\"footer\" role=\"rowgroup\">\n\t\t\t\t\t\t{ growingRow.call(this) }\n\t\t\t\t\t</div>\n\t\t\t\t}\n\n\t\t\t\t<DropIndicator\n\t\t\t\t\torientation=\"Horizontal\"\n\t\t\t\t\townerReference={this}\n\t\t\t\t></DropIndicator>\n\n\t\t\t\t<div aria-hidden=\"true\" id=\"table-end-row\">\n\t\t\t\t\t<div id=\"table-end-cell\">\n\t\t\t\t\t\t<div id=\"table-end\" aria-hidden=\"true\" tabindex={-1}></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{ this.loading &&\n\t\t\t\t\t<BusyIndicator id=\"loading\"\n\t\t\t\t\t\tdelay={this.loadingDelay}\n\t\t\t\t\t\tactive={true}\n\t\t\t\t\t\tdata-sap-focus-ref\n\t\t\t\t\t></BusyIndicator>\n\t\t\t\t}\n\t\t\t</div>\n\n\t\t\t<div id=\"after\" role=\"none\" tabindex={0} ui5-table-dummy-focus-area></div>\n\t\t</>\n\t);\n}\n\nfunction growingRow(this: Table) {\n\treturn (\n\t\t<TableRow id=\"growing-row\" ui5-growing-row>\n\t\t\t<TableCell id=\"growing-cell\">\n\t\t\t\t<slot name={this._getGrowing()?._individualSlot}></slot>\n\t\t\t</TableCell>\n\t\t</TableRow>\n\t);\n}\n"]}
1
+ {"version":3,"file":"TableTemplate.js","sourceRoot":"","sources":["../src/TableTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,OAAO,UAAU,aAAa;IACpC,OAAO,CACN,8BACC,cAAK,EAAE,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,uCAAmC,EAE3E,eAAK,EAAE,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAC1B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,gBACZ,IAAI,CAAC,UAAU,mBACZ,IAAI,CAAC,aAAa,0BACX,IAAI,CAAC,oBAAoB,aAE/C,eAAM,IAAI,EAAC,WAAW,GAAQ,EAE9B,cAAK,EAAE,EAAC,MAAM,YACb,cAAK,EAAE,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,YACzC,gBAAa,GACR,GACD,EAEJ,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;wBACvB,KAAC,QAAQ,IAAC,EAAE,EAAC,aAAa,YACzB,KAAC,SAAS,IAAC,EAAE,EAAC,cAAc,6DAAgD,QAAQ,YACjF,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oCACzB,eAAM,IAAI,EAAC,SAAS,GAAQ;oCAC5B,CAAC;wCACD,IAAI,CAAC,oBAAoB,GAEf,GACF,EAGV,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,mBAAmB,EAAE;wBAClE,cAAK,EAAE,EAAC,QAAQ,EAAC,IAAI,EAAC,UAAU,YAC7B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAClB,EAGP,KAAC,aAAa,IACb,WAAW,EAAC,YAAY,EACxB,cAAc,EAAE,IAAI,GACJ,EAEjB,6BAAiB,MAAM,EAAC,EAAE,EAAC,eAAe,YACzC,cAAK,EAAE,EAAC,gBAAgB,YACvB,cAAK,EAAE,EAAC,WAAW,iBAAa,MAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,GAAQ,GACtD,GACD,EAEJ,IAAI,CAAC,OAAO;wBACb,KAAC,aAAa,IAAC,EAAE,EAAC,SAAS,EAC1B,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,MAAM,EAAE,IAAI,+BAEI,IAEb,EAEN,cAAK,EAAE,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,uCAAmC,IACxE,CACH,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IAClB,OAAO,CACN,KAAC,QAAQ,IAAC,EAAE,EAAC,aAAa,qCACzB,KAAC,SAAS,IAAC,EAAE,EAAC,cAAc,YAC3B,eAAM,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,eAAe,GAAS,GAC7C,GACF,CACX,CAAC;AACH,CAAC","sourcesContent":["import type Table from \"./Table.js\";\nimport TableRow from \"./TableRow.js\";\nimport TableCell from \"./TableCell.js\";\nimport DropIndicator from \"./DropIndicator.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\n\nexport default function TableTemplate(this: Table) {\n\treturn (\n\t\t<>\n\t\t\t<div id=\"before\" role=\"none\" tabindex={0} ui5-table-dummy-focus-area></div>\n\n\t\t\t<div id=\"table\" role=\"grid\"\n\t\t\t\tstyle={this.styles.table}\n\t\t\t\taria-label={this._ariaLabel}\n\t\t\t\taria-rowcount={this._ariaRowCount}\n\t\t\t\taria-multiselectable={this._ariaMultiSelectable}\n\t\t\t>\n\t\t\t\t<slot name=\"headerRow\"></slot>\n\n\t\t\t\t<div id=\"rows\">\n\t\t\t\t\t<div id=\"spacer\" style={this.styles.spacer}>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{ this.rows.length === 0 &&\n\t\t\t\t\t<TableRow id=\"no-data-row\">\n\t\t\t\t\t\t<TableCell id=\"no-data-cell\" data-excluded-from-navigation horizontal-align=\"Center\">\n\t\t\t\t\t\t\t{ this.noData.length > 0 ?\n\t\t\t\t\t\t\t\t<slot name=\"no-data\"></slot>\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\tthis._effectiveNoDataText\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t</TableRow>\n\t\t\t\t}\n\n\t\t\t\t{ this.rows.length > 0 && this._getGrowing()?.hasGrowingComponent() &&\n\t\t\t\t\t<div id=\"footer\" role=\"rowgroup\">\n\t\t\t\t\t\t{ growingRow.call(this) }\n\t\t\t\t\t</div>\n\t\t\t\t}\n\n\t\t\t\t<DropIndicator\n\t\t\t\t\torientation=\"Horizontal\"\n\t\t\t\t\townerReference={this}\n\t\t\t\t></DropIndicator>\n\n\t\t\t\t<div aria-hidden=\"true\" id=\"table-end-row\">\n\t\t\t\t\t<div id=\"table-end-cell\">\n\t\t\t\t\t\t<div id=\"table-end\" aria-hidden=\"true\" tabindex={-1}></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{ this.loading &&\n\t\t\t\t\t<BusyIndicator id=\"loading\"\n\t\t\t\t\t\tdelay={this.loadingDelay}\n\t\t\t\t\t\tactive={true}\n\t\t\t\t\t\tdata-sap-focus-ref\n\t\t\t\t\t></BusyIndicator>\n\t\t\t\t}\n\t\t\t</div>\n\n\t\t\t<div id=\"after\" role=\"none\" tabindex={0} ui5-table-dummy-focus-area></div>\n\t\t</>\n\t);\n}\n\nfunction growingRow(this: Table) {\n\treturn (\n\t\t<TableRow id=\"growing-row\" ui5-growing-row>\n\t\t\t<TableCell id=\"growing-cell\">\n\t\t\t\t<slot name={this._getGrowing()?._individualSlot}></slot>\n\t\t\t</TableCell>\n\t\t</TableRow>\n\t);\n}\n"]}
@@ -9,4 +9,11 @@ declare const scrollElementIntoView: (scrollContainer: HTMLElement, element: HTM
9
9
  declare const isFeature: <T>(element: any, identifier: string) => element is T;
10
10
  declare const throttle: (callback: () => void) => () => void;
11
11
  declare const toggleAttribute: (element: HTMLElement, attribute: string, condition: boolean | undefined, value?: string) => void;
12
- export { isInstanceOfTable, isSelectionCheckbox, isHeaderSelector, findRowInPath, findVerticalScrollContainer, scrollElementIntoView, isFeature, throttle, toggleAttribute, };
12
+ /**
13
+ * Checks if a given width is valid for a column.
14
+ *
15
+ * @param width Width string to check
16
+ * @returns {boolean} true if the width is valid, false otherwise
17
+ */
18
+ declare const isValidColumnWidth: (width: string | undefined) => width is string;
19
+ export { isInstanceOfTable, isSelectionCheckbox, isHeaderSelector, findRowInPath, findVerticalScrollContainer, scrollElementIntoView, isFeature, throttle, toggleAttribute, isValidColumnWidth, };
@@ -83,5 +83,16 @@ const toggleAttribute = (element, attribute, condition, value) => {
83
83
  element.removeAttribute(attribute);
84
84
  }
85
85
  };
86
- export { isInstanceOfTable, isSelectionCheckbox, isHeaderSelector, findRowInPath, findVerticalScrollContainer, scrollElementIntoView, isFeature, throttle, toggleAttribute, };
86
+ /**
87
+ * Checks if a given width is valid for a column.
88
+ *
89
+ * @param width Width string to check
90
+ * @returns {boolean} true if the width is valid, false otherwise
91
+ */
92
+ const isValidColumnWidth = (width) => {
93
+ const element = document.createElement("div");
94
+ element.style.width = `max(3rem, ${width})`;
95
+ return element.style.width !== "";
96
+ };
97
+ export { isInstanceOfTable, isSelectionCheckbox, isHeaderSelector, findRowInPath, findVerticalScrollContainer, scrollElementIntoView, isFeature, throttle, toggleAttribute, isValidColumnWidth, };
87
98
  //# sourceMappingURL=TableUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableUtils.js","sourceRoot":"","sources":["../src/TableUtils.ts"],"names":[],"mappings":"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","sourcesContent":["import type Table from \"./Table.js\";\nimport type TableRow from \"./TableRow.js\";\n\nconst isInstanceOfTable = (obj: any): obj is Table => {\n\treturn !!obj && \"isTable\" in obj && !!obj.isTable;\n};\n\nconst isSelectionCheckbox = (e: Event) => {\n\treturn e.composedPath().some((el: EventTarget) => (el as HTMLElement).hasAttribute?.(\"data-ui5-table-selection-component\"));\n};\n\nconst isHeaderSelector = (e: Event) => {\n\treturn isSelectionCheckbox(e) && e.composedPath().some((el: EventTarget) => el instanceof HTMLElement && el.hasAttribute(\"ui5-table-header-row\"));\n};\n\nconst findRowInPath = (composedPath: Array<EventTarget>) => {\n\treturn composedPath.find((el: EventTarget) => el instanceof HTMLElement && el.hasAttribute(\"ui5-table-row\")) as TableRow;\n};\n\nconst findVerticalScrollContainer = (element: HTMLElement): HTMLElement => {\n\twhile (element) {\n\t\tconst { overflowY } = window.getComputedStyle(element);\n\t\tif (overflowY === \"auto\" || overflowY === \"scroll\") {\n\t\t\treturn element;\n\t\t}\n\n\t\tif (element.parentNode instanceof ShadowRoot) {\n\t\t\telement = element.parentNode.host as HTMLElement;\n\t\t} else {\n\t\t\telement = element.parentElement as HTMLElement;\n\t\t}\n\t}\n\n\treturn document.scrollingElement as HTMLElement || document.documentElement;\n};\n\nconst scrollElementIntoView = (scrollContainer: HTMLElement, element: HTMLElement, stickyElements: HTMLElement[], isRtl: boolean) => {\n\tif (stickyElements.length === 0) {\n\t\treturn;\n\t}\n\n\tconst elementRect = element.getBoundingClientRect();\n\tconst inline = isRtl ? \"right\" : \"left\";\n\n\tconst { x: stickyX, y: stickyY } = stickyElements.reduce(({ x, y }, stickyElement) => {\n\t\tconst { top, [inline]: inlineStart } = getComputedStyle(stickyElement);\n\t\tconst stickyElementRect = stickyElement.getBoundingClientRect();\n\t\tif (top !== \"auto\" && stickyElementRect.bottom > elementRect.top) {\n\t\t\ty = Math.max(y, stickyElementRect.bottom);\n\t\t}\n\t\tif (inlineStart !== \"auto\") {\n\t\t\tif (!isRtl && stickyElementRect.right > elementRect.left) {\n\t\t\t\tx = Math.max(x, stickyElementRect.right);\n\t\t\t} else if (isRtl && stickyElementRect.left < elementRect.right) {\n\t\t\t\tx = Math.min(x, stickyElementRect.left);\n\t\t\t}\n\t\t}\n\n\t\treturn { x, y };\n\t}, { x: elementRect[inline], y: elementRect.top });\n\n\tconst scrollX = elementRect[inline] - stickyX;\n\tconst scrollY = elementRect.top - stickyY;\n\n\tif (scrollX === 0 && scrollY === 0) {\n\t\t// avoid unnecessary scroll call, when nothing changes\n\t\treturn;\n\t}\n\n\tscrollContainer.scrollBy({\n\t\ttop: scrollY,\n\t\tleft: scrollX,\n\t});\n};\n\nconst isFeature = <T>(element: any, identifier: string): element is T => {\n\treturn element.identifier === identifier;\n};\n\nconst throttle = (callback: () => void) => {\n\tlet timer: number;\n\treturn () => {\n\t\tcancelAnimationFrame(timer);\n\t\ttimer = requestAnimationFrame(() => {\n\t\t\tcallback();\n\t\t});\n\t};\n};\n\nconst toggleAttribute = (element: HTMLElement, attribute: string, condition: boolean | undefined, value?: string) => {\n\tif (condition) {\n\t\tif (value === undefined) {\n\t\t\telement.toggleAttribute(attribute, true);\n\t\t} else {\n\t\t\telement.setAttribute(attribute, value);\n\t\t}\n\t} else if (element.hasAttribute(attribute)) {\n\t\telement.removeAttribute(attribute);\n\t}\n};\n\nexport {\n\tisInstanceOfTable,\n\tisSelectionCheckbox,\n\tisHeaderSelector,\n\tfindRowInPath,\n\tfindVerticalScrollContainer,\n\tscrollElementIntoView,\n\tisFeature,\n\tthrottle,\n\ttoggleAttribute,\n};\n"]}
1
+ {"version":3,"file":"TableUtils.js","sourceRoot":"","sources":["../src/TableUtils.ts"],"names":[],"mappings":"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","sourcesContent":["import type Table from \"./Table.js\";\nimport type TableRow from \"./TableRow.js\";\n\nconst isInstanceOfTable = (obj: any): obj is Table => {\n\treturn !!obj && \"isTable\" in obj && !!obj.isTable;\n};\n\nconst isSelectionCheckbox = (e: Event) => {\n\treturn e.composedPath().some((el: EventTarget) => (el as HTMLElement).hasAttribute?.(\"data-ui5-table-selection-component\"));\n};\n\nconst isHeaderSelector = (e: Event) => {\n\treturn isSelectionCheckbox(e) && e.composedPath().some((el: EventTarget) => el instanceof HTMLElement && el.hasAttribute(\"ui5-table-header-row\"));\n};\n\nconst findRowInPath = (composedPath: Array<EventTarget>) => {\n\treturn composedPath.find((el: EventTarget) => el instanceof HTMLElement && el.hasAttribute(\"ui5-table-row\")) as TableRow;\n};\n\nconst findVerticalScrollContainer = (element: HTMLElement): HTMLElement => {\n\twhile (element) {\n\t\tconst { overflowY } = window.getComputedStyle(element);\n\t\tif (overflowY === \"auto\" || overflowY === \"scroll\") {\n\t\t\treturn element;\n\t\t}\n\n\t\tif (element.parentNode instanceof ShadowRoot) {\n\t\t\telement = element.parentNode.host as HTMLElement;\n\t\t} else {\n\t\t\telement = element.parentElement as HTMLElement;\n\t\t}\n\t}\n\n\treturn document.scrollingElement as HTMLElement || document.documentElement;\n};\n\nconst scrollElementIntoView = (scrollContainer: HTMLElement, element: HTMLElement, stickyElements: HTMLElement[], isRtl: boolean) => {\n\tif (stickyElements.length === 0) {\n\t\treturn;\n\t}\n\n\tconst elementRect = element.getBoundingClientRect();\n\tconst inline = isRtl ? \"right\" : \"left\";\n\n\tconst { x: stickyX, y: stickyY } = stickyElements.reduce(({ x, y }, stickyElement) => {\n\t\tconst { top, [inline]: inlineStart } = getComputedStyle(stickyElement);\n\t\tconst stickyElementRect = stickyElement.getBoundingClientRect();\n\t\tif (top !== \"auto\" && stickyElementRect.bottom > elementRect.top) {\n\t\t\ty = Math.max(y, stickyElementRect.bottom);\n\t\t}\n\t\tif (inlineStart !== \"auto\") {\n\t\t\tif (!isRtl && stickyElementRect.right > elementRect.left) {\n\t\t\t\tx = Math.max(x, stickyElementRect.right);\n\t\t\t} else if (isRtl && stickyElementRect.left < elementRect.right) {\n\t\t\t\tx = Math.min(x, stickyElementRect.left);\n\t\t\t}\n\t\t}\n\n\t\treturn { x, y };\n\t}, { x: elementRect[inline], y: elementRect.top });\n\n\tconst scrollX = elementRect[inline] - stickyX;\n\tconst scrollY = elementRect.top - stickyY;\n\n\tif (scrollX === 0 && scrollY === 0) {\n\t\t// avoid unnecessary scroll call, when nothing changes\n\t\treturn;\n\t}\n\n\tscrollContainer.scrollBy({\n\t\ttop: scrollY,\n\t\tleft: scrollX,\n\t});\n};\n\nconst isFeature = <T>(element: any, identifier: string): element is T => {\n\treturn element.identifier === identifier;\n};\n\nconst throttle = (callback: () => void) => {\n\tlet timer: number;\n\treturn () => {\n\t\tcancelAnimationFrame(timer);\n\t\ttimer = requestAnimationFrame(() => {\n\t\t\tcallback();\n\t\t});\n\t};\n};\n\nconst toggleAttribute = (element: HTMLElement, attribute: string, condition: boolean | undefined, value?: string) => {\n\tif (condition) {\n\t\tif (value === undefined) {\n\t\t\telement.toggleAttribute(attribute, true);\n\t\t} else {\n\t\t\telement.setAttribute(attribute, value);\n\t\t}\n\t} else if (element.hasAttribute(attribute)) {\n\t\telement.removeAttribute(attribute);\n\t}\n};\n\n/**\n * Checks if a given width is valid for a column.\n *\n * @param width Width string to check\n * @returns {boolean} true if the width is valid, false otherwise\n */\nconst isValidColumnWidth = (width: string | undefined): width is string => {\n\tconst element = document.createElement(\"div\");\n\telement.style.width = `max(3rem, ${width})`;\n\treturn element.style.width !== \"\";\n};\n\nexport {\n\tisInstanceOfTable,\n\tisSelectionCheckbox,\n\tisHeaderSelector,\n\tfindRowInPath,\n\tfindVerticalScrollContainer,\n\tscrollElementIntoView,\n\tisFeature,\n\tthrottle,\n\ttoggleAttribute,\n\tisValidColumnWidth,\n};\n"]}
@@ -167,6 +167,10 @@ declare class Tokenizer extends UI5Element {
167
167
  hidePopoverArrow: boolean;
168
168
  _nMoreCount: number;
169
169
  _tokensCount: number;
170
+ /**
171
+ * Defines the tokens to be displayed.
172
+ * @public
173
+ */
170
174
  tokens: Array<Token>;
171
175
  static i18nBundle: I18nBundle;
172
176
  _resizeHandler: ResizeObserverCallback;