@ui5/webcomponents 2.0.0-rc.6 → 2.0.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 (906) hide show
  1. package/CHANGELOG.md +161 -0
  2. package/README.md +1 -4
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/Avatar.d.ts +13 -18
  5. package/dist/Avatar.js +77 -17
  6. package/dist/Avatar.js.map +1 -1
  7. package/dist/AvatarGroup.d.ts +1 -1
  8. package/dist/AvatarGroup.js +21 -3
  9. package/dist/AvatarGroup.js.map +1 -1
  10. package/dist/Bar.d.ts +1 -1
  11. package/dist/Bar.js +7 -2
  12. package/dist/Bar.js.map +1 -1
  13. package/dist/Breadcrumbs.d.ts +1 -1
  14. package/dist/Breadcrumbs.js +25 -5
  15. package/dist/Breadcrumbs.js.map +1 -1
  16. package/dist/BreadcrumbsItem.d.ts +3 -3
  17. package/dist/BreadcrumbsItem.js +1 -1
  18. package/dist/BreadcrumbsItem.js.map +1 -1
  19. package/dist/BusyIndicator.d.ts +5 -5
  20. package/dist/BusyIndicator.js +33 -5
  21. package/dist/BusyIndicator.js.map +1 -1
  22. package/dist/Button.d.ts +9 -9
  23. package/dist/Button.js +107 -7
  24. package/dist/Button.js.map +1 -1
  25. package/dist/Calendar.d.ts +46 -7
  26. package/dist/Calendar.js +143 -16
  27. package/dist/Calendar.js.map +1 -1
  28. package/dist/CalendarDate.d.ts +1 -0
  29. package/dist/CalendarDate.js +11 -0
  30. package/dist/CalendarDate.js.map +1 -1
  31. package/dist/CalendarDateRange.d.ts +1 -0
  32. package/dist/CalendarDateRange.js +18 -0
  33. package/dist/CalendarDateRange.js.map +1 -1
  34. package/dist/CalendarLegend.js +24 -0
  35. package/dist/CalendarLegend.js.map +1 -1
  36. package/dist/CalendarLegendItem.d.ts +2 -2
  37. package/dist/CalendarLegendItem.js +16 -2
  38. package/dist/CalendarLegendItem.js.map +1 -1
  39. package/dist/CalendarPart.js +1 -2
  40. package/dist/CalendarPart.js.map +1 -1
  41. package/dist/Card.d.ts +4 -4
  42. package/dist/Card.js.map +1 -1
  43. package/dist/CardHeader.d.ts +6 -6
  44. package/dist/CardHeader.js +20 -2
  45. package/dist/CardHeader.js.map +1 -1
  46. package/dist/Carousel.d.ts +9 -9
  47. package/dist/Carousel.js +104 -14
  48. package/dist/Carousel.js.map +1 -1
  49. package/dist/CheckBox.d.ts +9 -9
  50. package/dist/CheckBox.js +85 -3
  51. package/dist/CheckBox.js.map +1 -1
  52. package/dist/ColorPalette.d.ts +2 -4
  53. package/dist/ColorPalette.js +34 -17
  54. package/dist/ColorPalette.js.map +1 -1
  55. package/dist/ColorPaletteItem.d.ts +3 -3
  56. package/dist/ColorPaletteItem.js +37 -5
  57. package/dist/ColorPaletteItem.js.map +1 -1
  58. package/dist/ColorPalettePopover.js +30 -4
  59. package/dist/ColorPalettePopover.js.map +1 -1
  60. package/dist/ColorPicker.d.ts +3 -3
  61. package/dist/ColorPicker.js +49 -8
  62. package/dist/ColorPicker.js.map +1 -1
  63. package/dist/ComboBox.d.ts +12 -11
  64. package/dist/ComboBox.js +108 -12
  65. package/dist/ComboBox.js.map +1 -1
  66. package/dist/ComboBoxItem.d.ts +4 -4
  67. package/dist/ComboBoxItem.js +18 -0
  68. package/dist/ComboBoxItem.js.map +1 -1
  69. package/dist/ComboBoxItemGroup.d.ts +2 -2
  70. package/dist/ComboBoxItemGroup.js +9 -1
  71. package/dist/ComboBoxItemGroup.js.map +1 -1
  72. package/dist/DateComponentBase.d.ts +3 -3
  73. package/dist/DateComponentBase.js +20 -3
  74. package/dist/DateComponentBase.js.map +1 -1
  75. package/dist/DatePicker.d.ts +7 -7
  76. package/dist/DatePicker.js +58 -4
  77. package/dist/DatePicker.js.map +1 -1
  78. package/dist/DateRangePicker.d.ts +2 -2
  79. package/dist/DateRangePicker.js +11 -4
  80. package/dist/DateRangePicker.js.map +1 -1
  81. package/dist/DateTimePicker.js +25 -2
  82. package/dist/DateTimePicker.js.map +1 -1
  83. package/dist/DayPicker.js +52 -18
  84. package/dist/DayPicker.js.map +1 -1
  85. package/dist/Dialog.d.ts +2 -2
  86. package/dist/Dialog.js +48 -2
  87. package/dist/Dialog.js.map +1 -1
  88. package/dist/DropIndicator.js +31 -4
  89. package/dist/DropIndicator.js.map +1 -1
  90. package/dist/FileUploader.d.ts +5 -5
  91. package/dist/FileUploader.js +43 -2
  92. package/dist/FileUploader.js.map +1 -1
  93. package/dist/Filters.js +2 -2
  94. package/dist/Filters.js.map +1 -1
  95. package/dist/Form.d.ts +5 -3
  96. package/dist/Form.js +65 -15
  97. package/dist/Form.js.map +1 -1
  98. package/dist/FormGroup.d.ts +4 -3
  99. package/dist/FormGroup.js +19 -11
  100. package/dist/FormGroup.js.map +1 -1
  101. package/dist/FormItem.d.ts +2 -1
  102. package/dist/FormItem.js +15 -5
  103. package/dist/FormItem.js.map +1 -1
  104. package/dist/Icon.d.ts +5 -5
  105. package/dist/Icon.js +38 -6
  106. package/dist/Icon.js.map +1 -1
  107. package/dist/Input.d.ts +34 -39
  108. package/dist/Input.js +197 -78
  109. package/dist/Input.js.map +1 -1
  110. package/dist/Label.d.ts +3 -3
  111. package/dist/Label.js +30 -2
  112. package/dist/Label.js.map +1 -1
  113. package/dist/Link.d.ts +19 -19
  114. package/dist/Link.js +59 -8
  115. package/dist/Link.js.map +1 -1
  116. package/dist/List.d.ts +17 -17
  117. package/dist/List.js +73 -12
  118. package/dist/List.js.map +1 -1
  119. package/dist/ListItem.d.ts +10 -4
  120. package/dist/ListItem.js +63 -6
  121. package/dist/ListItem.js.map +1 -1
  122. package/dist/ListItemBase.d.ts +3 -3
  123. package/dist/ListItemBase.js +41 -1
  124. package/dist/ListItemBase.js.map +1 -1
  125. package/dist/ListItemCustom.d.ts +2 -2
  126. package/dist/ListItemCustom.js +10 -0
  127. package/dist/ListItemCustom.js.map +1 -1
  128. package/dist/ListItemGroup.d.ts +4 -4
  129. package/dist/ListItemGroup.js +9 -1
  130. package/dist/ListItemGroup.js.map +1 -1
  131. package/dist/ListItemGroupHeader.d.ts +2 -2
  132. package/dist/ListItemGroupHeader.js.map +1 -1
  133. package/dist/ListItemStandard.d.ts +14 -24
  134. package/dist/ListItemStandard.js +48 -15
  135. package/dist/ListItemStandard.js.map +1 -1
  136. package/dist/Menu.d.ts +23 -9
  137. package/dist/Menu.js +49 -18
  138. package/dist/Menu.js.map +1 -1
  139. package/dist/MenuItem.d.ts +20 -20
  140. package/dist/MenuItem.js +46 -9
  141. package/dist/MenuItem.js.map +1 -1
  142. package/dist/MenuSeparator.d.ts +25 -0
  143. package/dist/MenuSeparator.js +59 -0
  144. package/dist/MenuSeparator.js.map +1 -0
  145. package/dist/MessageStrip.d.ts +6 -4
  146. package/dist/MessageStrip.js +51 -10
  147. package/dist/MessageStrip.js.map +1 -1
  148. package/dist/MonthPicker.js +14 -7
  149. package/dist/MonthPicker.js.map +1 -1
  150. package/dist/MultiComboBox.d.ts +30 -23
  151. package/dist/MultiComboBox.js +206 -109
  152. package/dist/MultiComboBox.js.map +1 -1
  153. package/dist/MultiComboBoxItem.js +8 -0
  154. package/dist/MultiComboBoxItem.js.map +1 -1
  155. package/dist/MultiComboBoxItemGroup.d.ts +2 -2
  156. package/dist/MultiComboBoxItemGroup.js +1 -1
  157. package/dist/MultiComboBoxItemGroup.js.map +1 -1
  158. package/dist/MultiInput.d.ts +4 -4
  159. package/dist/MultiInput.js +18 -2
  160. package/dist/MultiInput.js.map +1 -1
  161. package/dist/NavigationMenuItem.d.ts +5 -5
  162. package/dist/NavigationMenuItem.js.map +1 -1
  163. package/dist/Option.d.ts +16 -10
  164. package/dist/Option.js +4 -1
  165. package/dist/Option.js.map +1 -1
  166. package/dist/OptionCustom.d.ts +13 -7
  167. package/dist/OptionCustom.js +4 -1
  168. package/dist/OptionCustom.js.map +1 -1
  169. package/dist/Panel.d.ts +7 -7
  170. package/dist/Panel.js +64 -4
  171. package/dist/Panel.js.map +1 -1
  172. package/dist/Popover.d.ts +2 -2
  173. package/dist/Popover.js +71 -11
  174. package/dist/Popover.js.map +1 -1
  175. package/dist/Popup.d.ts +5 -5
  176. package/dist/Popup.js +46 -4
  177. package/dist/Popup.js.map +1 -1
  178. package/dist/ProgressIndicator.d.ts +4 -4
  179. package/dist/ProgressIndicator.js +24 -4
  180. package/dist/ProgressIndicator.js.map +1 -1
  181. package/dist/RadioButton.d.ts +11 -11
  182. package/dist/RadioButton.js +78 -5
  183. package/dist/RadioButton.js.map +1 -1
  184. package/dist/RangeSlider.js +22 -3
  185. package/dist/RangeSlider.js.map +1 -1
  186. package/dist/RatingIndicator.d.ts +6 -6
  187. package/dist/RatingIndicator.js +55 -6
  188. package/dist/RatingIndicator.js.map +1 -1
  189. package/dist/ResponsivePopover.js +19 -0
  190. package/dist/ResponsivePopover.js.map +1 -1
  191. package/dist/SegmentedButton.d.ts +2 -0
  192. package/dist/SegmentedButton.js +15 -3
  193. package/dist/SegmentedButton.js.map +1 -1
  194. package/dist/SegmentedButtonItem.d.ts +9 -9
  195. package/dist/SegmentedButtonItem.js +49 -7
  196. package/dist/SegmentedButtonItem.js.map +1 -1
  197. package/dist/Select.d.ts +8 -9
  198. package/dist/Select.js +60 -11
  199. package/dist/Select.js.map +1 -1
  200. package/dist/Slider.js +9 -2
  201. package/dist/Slider.js.map +1 -1
  202. package/dist/SliderBase.d.ts +4 -4
  203. package/dist/SliderBase.js +61 -7
  204. package/dist/SliderBase.js.map +1 -1
  205. package/dist/SpecialCalendarDate.d.ts +11 -4
  206. package/dist/SpecialCalendarDate.js +23 -5
  207. package/dist/SpecialCalendarDate.js.map +1 -1
  208. package/dist/SplitButton.d.ts +3 -3
  209. package/dist/SplitButton.js +54 -4
  210. package/dist/SplitButton.js.map +1 -1
  211. package/dist/StepInput.d.ts +8 -8
  212. package/dist/StepInput.js +70 -19
  213. package/dist/StepInput.js.map +1 -1
  214. package/dist/SuggestionItem.d.ts +16 -60
  215. package/dist/SuggestionItem.js +26 -27
  216. package/dist/SuggestionItem.js.map +1 -1
  217. package/dist/SuggestionItemCustom.d.ts +31 -0
  218. package/dist/SuggestionItemCustom.js +48 -0
  219. package/dist/SuggestionItemCustom.js.map +1 -0
  220. package/dist/SuggestionItemGroup.d.ts +19 -0
  221. package/dist/SuggestionItemGroup.js +35 -0
  222. package/dist/SuggestionItemGroup.js.map +1 -0
  223. package/dist/SuggestionListItem.d.ts +1 -1
  224. package/dist/Switch.d.ts +17 -17
  225. package/dist/Switch.js +40 -2
  226. package/dist/Switch.js.map +1 -1
  227. package/dist/Tab.d.ts +10 -10
  228. package/dist/Tab.js +41 -2
  229. package/dist/Tab.js.map +1 -1
  230. package/dist/TabContainer.d.ts +6 -6
  231. package/dist/TabContainer.js +81 -16
  232. package/dist/TabContainer.js.map +1 -1
  233. package/dist/Table.d.ts +26 -9
  234. package/dist/Table.js +74 -10
  235. package/dist/Table.js.map +1 -1
  236. package/dist/TableCell.d.ts +1 -0
  237. package/dist/TableCell.js +1 -0
  238. package/dist/TableCell.js.map +1 -1
  239. package/dist/TableCellBase.d.ts +2 -0
  240. package/dist/TableCellBase.js +7 -0
  241. package/dist/TableCellBase.js.map +1 -1
  242. package/dist/TableGrowing.d.ts +7 -5
  243. package/dist/TableGrowing.js +28 -1
  244. package/dist/TableGrowing.js.map +1 -1
  245. package/dist/TableHeaderCell.d.ts +1 -0
  246. package/dist/TableHeaderCell.js +42 -5
  247. package/dist/TableHeaderCell.js.map +1 -1
  248. package/dist/TableHeaderRow.d.ts +1 -0
  249. package/dist/TableHeaderRow.js +11 -0
  250. package/dist/TableHeaderRow.js.map +1 -1
  251. package/dist/TableNavigation.d.ts +3 -1
  252. package/dist/TableNavigation.js +25 -9
  253. package/dist/TableNavigation.js.map +1 -1
  254. package/dist/TableRow.d.ts +11 -2
  255. package/dist/TableRow.js +39 -1
  256. package/dist/TableRow.js.map +1 -1
  257. package/dist/TableRowBase.d.ts +3 -2
  258. package/dist/TableRowBase.js +16 -9
  259. package/dist/TableRowBase.js.map +1 -1
  260. package/dist/TableSelection.d.ts +29 -1
  261. package/dist/TableSelection.js +163 -8
  262. package/dist/TableSelection.js.map +1 -1
  263. package/dist/TableUtils.d.ts +8 -0
  264. package/dist/TableUtils.js +17 -0
  265. package/dist/TableUtils.js.map +1 -0
  266. package/dist/Tag.d.ts +2 -2
  267. package/dist/Tag.js +64 -6
  268. package/dist/Tag.js.map +1 -1
  269. package/dist/Text.js +10 -2
  270. package/dist/Text.js.map +1 -1
  271. package/dist/TextArea.d.ts +10 -10
  272. package/dist/TextArea.js +97 -7
  273. package/dist/TextArea.js.map +1 -1
  274. package/dist/TimePicker.d.ts +9 -9
  275. package/dist/TimePicker.js +41 -4
  276. package/dist/TimePicker.js.map +1 -1
  277. package/dist/TimePickerClock.d.ts +1 -1
  278. package/dist/TimePickerClock.js +121 -14
  279. package/dist/TimePickerClock.js.map +1 -1
  280. package/dist/TimePickerInternals.d.ts +4 -4
  281. package/dist/TimePickerInternals.js +33 -11
  282. package/dist/TimePickerInternals.js.map +1 -1
  283. package/dist/TimeSelectionClocks.js +15 -0
  284. package/dist/TimeSelectionClocks.js.map +1 -1
  285. package/dist/TimeSelectionInputs.d.ts +2 -2
  286. package/dist/TimeSelectionInputs.js +6 -3
  287. package/dist/TimeSelectionInputs.js.map +1 -1
  288. package/dist/Title.d.ts +1 -1
  289. package/dist/Title.js +20 -3
  290. package/dist/Title.js.map +1 -1
  291. package/dist/Toast.d.ts +1 -7
  292. package/dist/Toast.js +52 -23
  293. package/dist/Toast.js.map +1 -1
  294. package/dist/ToggleButton.js +9 -0
  295. package/dist/ToggleButton.js.map +1 -1
  296. package/dist/ToggleSpinButton.d.ts +1 -1
  297. package/dist/ToggleSpinButton.js +22 -4
  298. package/dist/ToggleSpinButton.js.map +1 -1
  299. package/dist/Token.d.ts +2 -2
  300. package/dist/Token.js +49 -1
  301. package/dist/Token.js.map +1 -1
  302. package/dist/Tokenizer.d.ts +2 -1
  303. package/dist/Tokenizer.js +73 -10
  304. package/dist/Tokenizer.js.map +1 -1
  305. package/dist/Toolbar.d.ts +6 -6
  306. package/dist/Toolbar.js +23 -8
  307. package/dist/Toolbar.js.map +1 -1
  308. package/dist/ToolbarButton.d.ts +11 -11
  309. package/dist/ToolbarButton.js +39 -6
  310. package/dist/ToolbarButton.js.map +1 -1
  311. package/dist/ToolbarItem.d.ts +1 -1
  312. package/dist/ToolbarItem.js +18 -2
  313. package/dist/ToolbarItem.js.map +1 -1
  314. package/dist/ToolbarSelect.d.ts +5 -5
  315. package/dist/ToolbarSelect.js +16 -4
  316. package/dist/ToolbarSelect.js.map +1 -1
  317. package/dist/ToolbarSelectOption.js +9 -0
  318. package/dist/ToolbarSelectOption.js.map +1 -1
  319. package/dist/ToolbarSeparator.js +4 -0
  320. package/dist/ToolbarSeparator.js.map +1 -1
  321. package/dist/ToolbarSpacer.js +1 -2
  322. package/dist/ToolbarSpacer.js.map +1 -1
  323. package/dist/Tree.d.ts +12 -12
  324. package/dist/Tree.js +11 -2
  325. package/dist/Tree.js.map +1 -1
  326. package/dist/TreeItem.d.ts +5 -5
  327. package/dist/TreeItem.js +1 -1
  328. package/dist/TreeItem.js.map +1 -1
  329. package/dist/TreeItemBase.d.ts +5 -5
  330. package/dist/TreeItemBase.js +61 -6
  331. package/dist/TreeItemBase.js.map +1 -1
  332. package/dist/TreeItemCustom.js +9 -0
  333. package/dist/TreeItemCustom.js.map +1 -1
  334. package/dist/YearPicker.js +14 -7
  335. package/dist/YearPicker.js.map +1 -1
  336. package/dist/bundle.common.bootstrap.d.ts +1 -1
  337. package/dist/bundle.esm.d.ts +3 -1
  338. package/dist/bundle.esm.js +5 -0
  339. package/dist/bundle.esm.js.map +1 -1
  340. package/dist/css/themes/Avatar.css +1 -1
  341. package/dist/css/themes/AvatarGroup.css +1 -1
  342. package/dist/css/themes/Bar.css +1 -1
  343. package/dist/css/themes/Breadcrumbs.css +1 -1
  344. package/dist/css/themes/BusyIndicator.css +1 -1
  345. package/dist/css/themes/Button.css +1 -1
  346. package/dist/css/themes/Calendar.css +1 -1
  347. package/dist/css/themes/CalendarHeader.css +1 -1
  348. package/dist/css/themes/CalendarLegend.css +1 -1
  349. package/dist/css/themes/CalendarLegendItem.css +1 -1
  350. package/dist/css/themes/Card.css +1 -1
  351. package/dist/css/themes/CardHeader.css +1 -1
  352. package/dist/css/themes/Carousel.css +1 -1
  353. package/dist/css/themes/CheckBox.css +1 -1
  354. package/dist/css/themes/ColorPalette.css +1 -1
  355. package/dist/css/themes/ColorPaletteItem.css +1 -1
  356. package/dist/css/themes/ColorPalettePopover.css +1 -1
  357. package/dist/css/themes/ColorPicker.css +1 -1
  358. package/dist/css/themes/ComboBox.css +1 -1
  359. package/dist/css/themes/DatePicker.css +1 -1
  360. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  361. package/dist/css/themes/DayPicker.css +1 -1
  362. package/dist/css/themes/Dialog.css +1 -1
  363. package/dist/css/themes/FileUploader.css +1 -1
  364. package/dist/css/themes/Form.css +1 -1
  365. package/dist/css/themes/FormItem.css +1 -1
  366. package/dist/css/themes/FormLabelSpan.css +1 -1
  367. package/dist/css/themes/GrowingButton.css +1 -1
  368. package/dist/css/themes/Icon.css +1 -1
  369. package/dist/css/themes/Input.css +1 -1
  370. package/dist/css/themes/InputIcon.css +1 -1
  371. package/dist/css/themes/InputSharedStyles.css +1 -1
  372. package/dist/css/themes/Link.css +1 -1
  373. package/dist/css/themes/List.css +1 -1
  374. package/dist/css/themes/ListItem.css +1 -1
  375. package/dist/css/themes/ListItemBase.css +1 -1
  376. package/dist/css/themes/ListItemCustom.css +1 -1
  377. package/dist/css/themes/ListItemGroup.css +1 -1
  378. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  379. package/dist/css/themes/ListItemIcon.css +1 -1
  380. package/dist/css/themes/Menu.css +1 -1
  381. package/dist/css/themes/MenuItem.css +1 -1
  382. package/dist/css/themes/MenuSeparator.css +1 -0
  383. package/dist/css/themes/MessageStrip.css +1 -1
  384. package/dist/css/themes/MonthPicker.css +1 -1
  385. package/dist/css/themes/MultiComboBox.css +1 -1
  386. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  387. package/dist/css/themes/MultiInput.css +1 -1
  388. package/dist/css/themes/NavigationMenu.css +1 -1
  389. package/dist/css/themes/NavigationMenuItem.css +1 -1
  390. package/dist/css/themes/OptionBase.css +1 -1
  391. package/dist/css/themes/Panel.css +1 -1
  392. package/dist/css/themes/Popover.css +1 -1
  393. package/dist/css/themes/PopupsCommon.css +1 -1
  394. package/dist/css/themes/ProgressIndicator.css +1 -1
  395. package/dist/css/themes/RadioButton.css +1 -1
  396. package/dist/css/themes/RangeSlider.css +1 -1
  397. package/dist/css/themes/RatingIndicator.css +1 -1
  398. package/dist/css/themes/ResponsivePopover.css +1 -1
  399. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  400. package/dist/css/themes/SegmentedButton.css +1 -1
  401. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  402. package/dist/css/themes/Select.css +1 -1
  403. package/dist/css/themes/SliderBase.css +1 -1
  404. package/dist/css/themes/SplitButton.css +1 -1
  405. package/dist/css/themes/StepInput.css +1 -1
  406. package/dist/css/themes/SuggestionItem.css +1 -0
  407. package/dist/css/themes/SuggestionItemCustom.css +1 -0
  408. package/dist/css/themes/Suggestions.css +1 -1
  409. package/dist/css/themes/Switch.css +1 -1
  410. package/dist/css/themes/TabContainer.css +1 -1
  411. package/dist/css/themes/TabInOverflow.css +1 -1
  412. package/dist/css/themes/TabInStrip.css +1 -1
  413. package/dist/css/themes/TabSemanticIcon.css +1 -1
  414. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  415. package/dist/css/themes/Table.css +1 -1
  416. package/dist/css/themes/TableCellBase.css +1 -1
  417. package/dist/css/themes/TableHeaderRow.css +1 -1
  418. package/dist/css/themes/TableRow.css +1 -1
  419. package/dist/css/themes/TableRowBase.css +1 -1
  420. package/dist/css/themes/Tag.css +1 -1
  421. package/dist/css/themes/Text.css +1 -1
  422. package/dist/css/themes/TextArea.css +1 -1
  423. package/dist/css/themes/TimePicker.css +1 -1
  424. package/dist/css/themes/Toast.css +1 -1
  425. package/dist/css/themes/ToggleButton.css +1 -1
  426. package/dist/css/themes/Token.css +1 -1
  427. package/dist/css/themes/Tokenizer.css +1 -1
  428. package/dist/css/themes/TokenizerPopover.css +1 -1
  429. package/dist/css/themes/Toolbar.css +1 -1
  430. package/dist/css/themes/ToolbarPopover.css +1 -1
  431. package/dist/css/themes/TreeItem.css +1 -1
  432. package/dist/css/themes/ValueStateMessage.css +1 -1
  433. package/dist/css/themes/YearPicker.css +1 -1
  434. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  435. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  436. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  437. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  438. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  439. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  440. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  441. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  442. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  443. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  444. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  445. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  446. package/dist/custom-elements-internal.json +1769 -1783
  447. package/dist/custom-elements.json +1498 -1551
  448. package/dist/features/InputSuggestions.d.ts +22 -48
  449. package/dist/features/InputSuggestions.js +63 -106
  450. package/dist/features/InputSuggestions.js.map +1 -1
  451. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  452. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  453. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  454. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  455. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  456. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  457. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  458. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  459. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  460. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  461. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  462. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  463. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  464. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  465. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  466. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  467. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  468. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  469. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  470. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  471. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  472. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  473. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  474. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  475. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  476. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  477. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  478. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  479. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  480. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  481. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  482. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  483. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  484. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  485. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  486. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  487. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  488. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  489. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  490. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  491. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  492. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  493. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  494. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  495. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  496. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  497. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  498. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  499. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  500. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  501. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  502. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  503. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  504. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  505. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  506. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  507. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  508. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  509. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  510. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  511. package/dist/generated/templates/AvatarTemplate.lit.js +1 -1
  512. package/dist/generated/templates/AvatarTemplate.lit.js.map +1 -1
  513. package/dist/generated/templates/CalendarHeaderTemplate.lit.d.ts +1 -1
  514. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +3 -3
  515. package/dist/generated/templates/CalendarHeaderTemplate.lit.js.map +1 -1
  516. package/dist/generated/templates/CalendarTemplate.lit.js +4 -2
  517. package/dist/generated/templates/CalendarTemplate.lit.js.map +1 -1
  518. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +1 -1
  519. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  520. package/dist/generated/templates/ComboBoxTemplate.lit.js +1 -1
  521. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  522. package/dist/generated/templates/InputPopoverTemplate.lit.js +8 -12
  523. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
  524. package/dist/generated/templates/InputTemplate.lit.js +8 -12
  525. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  526. package/dist/generated/templates/ListItemStandardTemplate.lit.js +18 -20
  527. package/dist/generated/templates/ListItemStandardTemplate.lit.js.map +1 -1
  528. package/dist/generated/templates/MenuSeparatorTemplate.lit.d.ts +4 -0
  529. package/dist/generated/templates/MenuSeparatorTemplate.lit.js +5 -0
  530. package/dist/generated/templates/MenuSeparatorTemplate.lit.js.map +1 -0
  531. package/dist/generated/templates/MenuTemplate.lit.js +1 -1
  532. package/dist/generated/templates/MenuTemplate.lit.js.map +1 -1
  533. package/dist/generated/templates/MessageStripTemplate.lit.js +1 -1
  534. package/dist/generated/templates/MessageStripTemplate.lit.js.map +1 -1
  535. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +11 -11
  536. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  537. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +11 -11
  538. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  539. package/dist/generated/templates/MultiInputTemplate.lit.js +7 -11
  540. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  541. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.d.ts +4 -0
  542. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.js +5 -0
  543. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.js.map +1 -0
  544. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.d.ts +4 -0
  545. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.js +8 -0
  546. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.js.map +1 -0
  547. package/dist/generated/templates/SuggestionItemTemplate.lit.d.ts +4 -0
  548. package/dist/generated/templates/SuggestionItemTemplate.lit.js +6 -0
  549. package/dist/generated/templates/SuggestionItemTemplate.lit.js.map +1 -0
  550. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +21 -23
  551. package/dist/generated/templates/SuggestionListItemTemplate.lit.js.map +1 -1
  552. package/dist/generated/templates/TabContainerTemplate.lit.js +2 -2
  553. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
  554. package/dist/generated/templates/TableHeaderRowTemplate.lit.js +2 -2
  555. package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +1 -1
  556. package/dist/generated/templates/TableRowTemplate.lit.js +6 -5
  557. package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -1
  558. package/dist/generated/templates/TableTemplate.lit.js +6 -6
  559. package/dist/generated/templates/TableTemplate.lit.js.map +1 -1
  560. package/dist/generated/templates/ToastTemplate.lit.js +1 -1
  561. package/dist/generated/templates/ToastTemplate.lit.js.map +1 -1
  562. package/dist/generated/themes/Avatar.css.js +1 -1
  563. package/dist/generated/themes/Avatar.css.js.map +1 -1
  564. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  565. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  566. package/dist/generated/themes/Bar.css.js +1 -1
  567. package/dist/generated/themes/Bar.css.js.map +1 -1
  568. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  569. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  570. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  571. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  572. package/dist/generated/themes/Button.css.js +1 -1
  573. package/dist/generated/themes/Button.css.js.map +1 -1
  574. package/dist/generated/themes/Calendar.css.js +1 -1
  575. package/dist/generated/themes/Calendar.css.js.map +1 -1
  576. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  577. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  578. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  579. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  580. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  581. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  582. package/dist/generated/themes/Card.css.js +1 -1
  583. package/dist/generated/themes/Card.css.js.map +1 -1
  584. package/dist/generated/themes/CardHeader.css.js +1 -1
  585. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  586. package/dist/generated/themes/Carousel.css.js +1 -1
  587. package/dist/generated/themes/Carousel.css.js.map +1 -1
  588. package/dist/generated/themes/CheckBox.css.js +1 -1
  589. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  590. package/dist/generated/themes/ColorPalette.css.js +1 -1
  591. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  592. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  593. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  594. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  595. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  596. package/dist/generated/themes/ColorPicker.css.js +1 -1
  597. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  598. package/dist/generated/themes/ComboBox.css.js +1 -1
  599. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  600. package/dist/generated/themes/DatePicker.css.js +1 -1
  601. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  602. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  603. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  604. package/dist/generated/themes/DayPicker.css.js +1 -1
  605. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  606. package/dist/generated/themes/Dialog.css.js +1 -1
  607. package/dist/generated/themes/Dialog.css.js.map +1 -1
  608. package/dist/generated/themes/FileUploader.css.js +1 -1
  609. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  610. package/dist/generated/themes/Form.css.js +1 -1
  611. package/dist/generated/themes/Form.css.js.map +1 -1
  612. package/dist/generated/themes/FormItem.css.js +1 -1
  613. package/dist/generated/themes/FormItem.css.js.map +1 -1
  614. package/dist/generated/themes/FormLabelSpan.css.js +1 -1
  615. package/dist/generated/themes/FormLabelSpan.css.js.map +1 -1
  616. package/dist/generated/themes/GrowingButton.css.js +1 -1
  617. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  618. package/dist/generated/themes/Icon.css.js +1 -1
  619. package/dist/generated/themes/Icon.css.js.map +1 -1
  620. package/dist/generated/themes/Input.css.js +1 -1
  621. package/dist/generated/themes/Input.css.js.map +1 -1
  622. package/dist/generated/themes/InputIcon.css.js +1 -1
  623. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  624. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  625. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  626. package/dist/generated/themes/Link.css.js +1 -1
  627. package/dist/generated/themes/Link.css.js.map +1 -1
  628. package/dist/generated/themes/List.css.js +1 -1
  629. package/dist/generated/themes/List.css.js.map +1 -1
  630. package/dist/generated/themes/ListItem.css.js +1 -1
  631. package/dist/generated/themes/ListItem.css.js.map +1 -1
  632. package/dist/generated/themes/ListItemBase.css.js +1 -1
  633. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  634. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  635. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  636. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  637. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  638. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  639. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  640. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  641. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  642. package/dist/generated/themes/Menu.css.js +1 -1
  643. package/dist/generated/themes/Menu.css.js.map +1 -1
  644. package/dist/generated/themes/MenuItem.css.js +1 -1
  645. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  646. package/dist/generated/themes/MenuSeparator.css.d.ts +3 -0
  647. package/dist/generated/themes/MenuSeparator.css.js +9 -0
  648. package/dist/generated/themes/MenuSeparator.css.js.map +1 -0
  649. package/dist/generated/themes/MessageStrip.css.js +1 -1
  650. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  651. package/dist/generated/themes/MonthPicker.css.js +1 -1
  652. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  653. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  654. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  655. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  656. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  657. package/dist/generated/themes/MultiInput.css.js +1 -1
  658. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  659. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  660. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  661. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  662. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  663. package/dist/generated/themes/OptionBase.css.js +1 -1
  664. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  665. package/dist/generated/themes/Panel.css.js +1 -1
  666. package/dist/generated/themes/Panel.css.js.map +1 -1
  667. package/dist/generated/themes/Popover.css.js +1 -1
  668. package/dist/generated/themes/Popover.css.js.map +1 -1
  669. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  670. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  671. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  672. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  673. package/dist/generated/themes/RadioButton.css.js +1 -1
  674. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  675. package/dist/generated/themes/RangeSlider.css.js +1 -1
  676. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  677. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  678. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  679. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  680. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  681. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  682. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  683. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  684. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  685. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  686. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  687. package/dist/generated/themes/Select.css.js +1 -1
  688. package/dist/generated/themes/Select.css.js.map +1 -1
  689. package/dist/generated/themes/SliderBase.css.js +1 -1
  690. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  691. package/dist/generated/themes/SplitButton.css.js +1 -1
  692. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  693. package/dist/generated/themes/StepInput.css.js +1 -1
  694. package/dist/generated/themes/StepInput.css.js.map +1 -1
  695. package/dist/generated/themes/SuggestionItem.css.d.ts +3 -0
  696. package/dist/generated/themes/SuggestionItem.css.js +9 -0
  697. package/dist/generated/themes/SuggestionItem.css.js.map +1 -0
  698. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +3 -0
  699. package/dist/generated/themes/SuggestionItemCustom.css.js +9 -0
  700. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -0
  701. package/dist/generated/themes/Suggestions.css.js +1 -1
  702. package/dist/generated/themes/Suggestions.css.js.map +1 -1
  703. package/dist/generated/themes/Switch.css.js +1 -1
  704. package/dist/generated/themes/Switch.css.js.map +1 -1
  705. package/dist/generated/themes/TabContainer.css.js +1 -1
  706. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  707. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  708. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  709. package/dist/generated/themes/TabInStrip.css.js +1 -1
  710. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  711. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  712. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  713. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  714. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  715. package/dist/generated/themes/Table.css.js +1 -1
  716. package/dist/generated/themes/Table.css.js.map +1 -1
  717. package/dist/generated/themes/TableCellBase.css.js +1 -1
  718. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  719. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  720. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  721. package/dist/generated/themes/TableRow.css.js +1 -1
  722. package/dist/generated/themes/TableRow.css.js.map +1 -1
  723. package/dist/generated/themes/TableRowBase.css.js +1 -1
  724. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  725. package/dist/generated/themes/Tag.css.js +1 -1
  726. package/dist/generated/themes/Tag.css.js.map +1 -1
  727. package/dist/generated/themes/Text.css.js +1 -1
  728. package/dist/generated/themes/Text.css.js.map +1 -1
  729. package/dist/generated/themes/TextArea.css.js +1 -1
  730. package/dist/generated/themes/TextArea.css.js.map +1 -1
  731. package/dist/generated/themes/TimePicker.css.js +1 -1
  732. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  733. package/dist/generated/themes/Toast.css.js +1 -1
  734. package/dist/generated/themes/Toast.css.js.map +1 -1
  735. package/dist/generated/themes/ToggleButton.css.js +1 -1
  736. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  737. package/dist/generated/themes/Token.css.js +1 -1
  738. package/dist/generated/themes/Token.css.js.map +1 -1
  739. package/dist/generated/themes/Tokenizer.css.js +1 -1
  740. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  741. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  742. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  743. package/dist/generated/themes/Toolbar.css.js +1 -1
  744. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  745. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  746. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  747. package/dist/generated/themes/TreeItem.css.js +1 -1
  748. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  749. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  750. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  751. package/dist/generated/themes/YearPicker.css.js +1 -1
  752. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  753. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  754. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  755. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  756. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  757. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  758. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  759. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  760. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  761. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  762. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  763. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  764. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  765. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  766. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  767. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  768. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  769. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  770. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  771. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  772. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  773. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  774. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  775. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  776. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  777. package/dist/types/IconMode.d.ts +4 -4
  778. package/dist/types/IconMode.js +4 -4
  779. package/dist/types/IconMode.js.map +1 -1
  780. package/dist/types/{ListSeparators.d.ts → ListSeparator.d.ts} +3 -2
  781. package/dist/types/{ListSeparators.js → ListSeparator.js} +9 -8
  782. package/dist/types/ListSeparator.js.map +1 -0
  783. package/dist/vscode.html-custom-data.json +73 -89
  784. package/dist/web-types.json +526 -533
  785. package/package.json +11 -9
  786. package/src/Avatar.hbs +1 -1
  787. package/src/Calendar.hbs +3 -19
  788. package/src/CalendarHeader.hbs +10 -10
  789. package/src/ComboBoxPopover.hbs +1 -1
  790. package/src/InputPopover.hbs +1 -22
  791. package/src/ListItemStandard.hbs +3 -9
  792. package/src/Menu.hbs +0 -1
  793. package/src/MenuSeparator.hbs +6 -0
  794. package/src/MessageStrip.hbs +1 -1
  795. package/src/MultiComboBox.hbs +1 -0
  796. package/src/MultiComboBoxPopover.hbs +14 -7
  797. package/src/SuggestionItem.hbs +14 -0
  798. package/src/SuggestionItemCustom.hbs +5 -0
  799. package/src/SuggestionItemGroup.hbs +1 -0
  800. package/src/TabContainer.hbs +2 -2
  801. package/src/Table.hbs +6 -12
  802. package/src/TableHeaderRow.hbs +2 -1
  803. package/src/TableRow.hbs +6 -2
  804. package/src/Toast.hbs +1 -1
  805. package/src/i18n/messagebundle_ar.properties +15 -2
  806. package/src/i18n/messagebundle_bg.properties +15 -2
  807. package/src/i18n/messagebundle_ca.properties +31 -18
  808. package/src/i18n/messagebundle_cnr.properties +15 -2
  809. package/src/i18n/messagebundle_cs.properties +15 -2
  810. package/src/i18n/messagebundle_cy.properties +25 -12
  811. package/src/i18n/messagebundle_da.properties +15 -2
  812. package/src/i18n/messagebundle_de.properties +18 -5
  813. package/src/i18n/messagebundle_el.properties +15 -2
  814. package/src/i18n/messagebundle_en.properties +15 -2
  815. package/src/i18n/messagebundle_en_GB.properties +15 -2
  816. package/src/i18n/messagebundle_en_US_saprigi.properties +15 -2
  817. package/src/i18n/messagebundle_es.properties +15 -2
  818. package/src/i18n/messagebundle_es_MX.properties +18 -5
  819. package/src/i18n/messagebundle_et.properties +15 -2
  820. package/src/i18n/messagebundle_fi.properties +15 -2
  821. package/src/i18n/messagebundle_fr.properties +33 -20
  822. package/src/i18n/messagebundle_fr_CA.properties +33 -20
  823. package/src/i18n/messagebundle_hi.properties +15 -2
  824. package/src/i18n/messagebundle_hr.properties +15 -2
  825. package/src/i18n/messagebundle_hu.properties +15 -2
  826. package/src/i18n/messagebundle_id.properties +15 -2
  827. package/src/i18n/messagebundle_it.properties +19 -6
  828. package/src/i18n/messagebundle_iw.properties +17 -4
  829. package/src/i18n/messagebundle_ja.properties +15 -2
  830. package/src/i18n/messagebundle_kk.properties +19 -6
  831. package/src/i18n/messagebundle_ko.properties +18 -5
  832. package/src/i18n/messagebundle_lt.properties +15 -2
  833. package/src/i18n/messagebundle_lv.properties +15 -2
  834. package/src/i18n/messagebundle_mk.properties +15 -2
  835. package/src/i18n/messagebundle_ms.properties +15 -2
  836. package/src/i18n/messagebundle_nl.properties +15 -2
  837. package/src/i18n/messagebundle_no.properties +15 -2
  838. package/src/i18n/messagebundle_pl.properties +15 -2
  839. package/src/i18n/messagebundle_pt.properties +15 -2
  840. package/src/i18n/messagebundle_pt_PT.properties +15 -2
  841. package/src/i18n/messagebundle_ro.properties +15 -2
  842. package/src/i18n/messagebundle_ru.properties +15 -2
  843. package/src/i18n/messagebundle_sh.properties +15 -2
  844. package/src/i18n/messagebundle_sk.properties +15 -2
  845. package/src/i18n/messagebundle_sl.properties +15 -2
  846. package/src/i18n/messagebundle_sr.properties +15 -2
  847. package/src/i18n/messagebundle_sv.properties +16 -3
  848. package/src/i18n/messagebundle_th.properties +16 -3
  849. package/src/i18n/messagebundle_tr.properties +16 -3
  850. package/src/i18n/messagebundle_uk.properties +16 -3
  851. package/src/i18n/messagebundle_vi.properties +15 -2
  852. package/src/i18n/messagebundle_zh_CN.properties +15 -2
  853. package/src/i18n/messagebundle_zh_TW.properties +15 -2
  854. package/src/themes/Calendar.css +6 -5
  855. package/src/themes/CheckBox.css +3 -8
  856. package/src/themes/Input.css +7 -0
  857. package/src/themes/Link.css +2 -2
  858. package/src/themes/ListItem.css +9 -13
  859. package/src/themes/MenuItem.css +0 -4
  860. package/src/themes/MenuSeparator.css +11 -0
  861. package/src/themes/SegmentedButtonItem.css +2 -1
  862. package/src/themes/SuggestionItem.css +14 -0
  863. package/src/themes/SuggestionItemCustom.css +3 -0
  864. package/src/themes/Suggestions.css +0 -5
  865. package/src/themes/TabContainer.css +1 -1
  866. package/src/themes/Table.css +3 -2
  867. package/src/themes/TableRow.css +15 -1
  868. package/src/themes/Tag.css +5 -75
  869. package/src/themes/TextArea.css +2 -2
  870. package/src/themes/base/CheckBox-parameters.css +2 -4
  871. package/src/themes/base/Table-parameters.css +1 -0
  872. package/src/themes/base/Tag-parameters.css +2 -1
  873. package/src/themes/base/sizes-parameters.css +1 -2
  874. package/src/themes/sap_fiori_3/CheckBox-parameters.css +0 -3
  875. package/src/themes/sap_fiori_3/Tag-parameters.css +5 -0
  876. package/src/themes/sap_fiori_3/parameters-bundle.css +1 -1
  877. package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +0 -3
  878. package/src/themes/sap_fiori_3_hcb/CheckBox-parameters.css +1 -0
  879. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  880. package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +4 -0
  881. package/src/themes/sap_fiori_3_hcw/CheckBox-parameters.css +1 -0
  882. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  883. package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +4 -0
  884. package/src/themes/sap_horizon/CheckBox-parameters.css +0 -1
  885. package/src/themes/sap_horizon/RatingIndicator-parameters.css +5 -3
  886. package/src/themes/sap_horizon/sizes-parameters.css +3 -0
  887. package/src/themes/sap_horizon_dark/CheckBox-parameters.css +0 -1
  888. package/src/themes/sap_horizon_dark/RatingIndicator-parameters.css +5 -3
  889. package/src/themes/sap_horizon_dark/sizes-parameters.css +3 -0
  890. package/src/themes/sap_horizon_exp/CheckBox-parameters.css +0 -1
  891. package/src/themes/sap_horizon_hcb/CheckBox-parameters.css +1 -1
  892. package/src/themes/sap_horizon_hcb/RatingIndicator-parameters.css +5 -3
  893. package/src/themes/sap_horizon_hcb/sizes-parameters.css +4 -0
  894. package/src/themes/sap_horizon_hcw/CheckBox-parameters.css +1 -1
  895. package/src/themes/sap_horizon_hcw/RatingIndicator-parameters.css +5 -3
  896. package/src/themes/sap_horizon_hcw/sizes-parameters.css +4 -0
  897. package/dist/CalendarHeader.d.ts +0 -80
  898. package/dist/CalendarHeader.js +0 -160
  899. package/dist/CalendarHeader.js.map +0 -1
  900. package/dist/SuggestionGroupItem.d.ts +0 -28
  901. package/dist/SuggestionGroupItem.js +0 -43
  902. package/dist/SuggestionGroupItem.js.map +0 -1
  903. package/dist/styles/Icon.css +0 -33
  904. package/dist/styles/Icon.module.css +0 -33
  905. package/dist/types/ListSeparators.js.map +0 -1
  906. package/src/styles/Icon.module.css +0 -1
package/dist/Table.d.ts CHANGED
@@ -5,15 +5,17 @@ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
5
5
  import TableRow from "./TableRow.js";
6
6
  import type TableHeaderRow from "./TableHeaderRow.js";
7
7
  import type TableHeaderCell from "./TableHeaderCell.js";
8
- import TableSelection from "./TableSelection.js";
8
+ import type TableSelection from "./TableSelection.js";
9
9
  import TableOverflowMode from "./types/TableOverflowMode.js";
10
10
  import TableNavigation from "./TableNavigation.js";
11
11
  /**
12
12
  * Interface for components that can be slotted inside the <code>features</code> slot of the <code>ui5-table</code>.
13
13
  *
14
14
  * @public
15
+ * @experimental
15
16
  */
16
17
  interface ITableFeature extends UI5Element {
18
+ readonly identifier: string;
17
19
  /**
18
20
  * Called when the table is activated.
19
21
  * @param table table instance
@@ -28,6 +30,7 @@ interface ITableFeature extends UI5Element {
28
30
  * Interface for components that can be slotted inside the <code>features</code> slot of the <code>ui5-table</code>
29
31
  * and provide growing/data loading functionality.
30
32
  * @public
33
+ * @experimental
31
34
  */
32
35
  interface ITableGrowing extends ITableFeature {
33
36
  /**
@@ -60,6 +63,7 @@ type TableRowClickEventDetail = {
60
63
  *
61
64
  * The `ui5-table` can be enhanced in its functionalities by applying different features.
62
65
  * Features can be slotted into the `features` slot, to enable them in the component.
66
+ * Features need to be imported separately, as they are not enabled by default.
63
67
  *
64
68
  * The following features are currently available:
65
69
  *
@@ -121,6 +125,11 @@ type TableRowClickEventDetail = {
121
125
  * @extends UI5Element
122
126
  * @since 2.0
123
127
  * @public
128
+ * @experimental This Table web component is available since 2.0 and has been newly implemented to provide better screen reader and keyboard handling support.
129
+ * Currently, it's considered experimental as its API is subject to change.
130
+ * This Table replaces the previous Table web component, that has been part of **@ui5/webcomponents** version 1.x.
131
+ * For compatibility reasons, we moved the previous Tabple implementation to the **@ui5/webcomponents-compat** package
132
+ * and will be maintained until the new Table is experimental.
124
133
  */
125
134
  declare class Table extends UI5Element {
126
135
  /**
@@ -153,24 +162,24 @@ declare class Table extends UI5Element {
153
162
  /**
154
163
  * Defines the accessible ARIA name of the component.
155
164
  *
156
- * @default ""
165
+ * @default undefined
157
166
  * @public
158
167
  */
159
- accessibleName: string;
168
+ accessibleName?: string;
160
169
  /**
161
170
  * Identifies the element (or elements) that labels the component.
162
171
  *
163
- * @default ""
172
+ * @default undefined
164
173
  * @public
165
174
  */
166
- accessibleNameRef: string;
175
+ accessibleNameRef?: string;
167
176
  /**
168
177
  * Defines the text to be displayed when there are no rows in the component.
169
178
  *
170
- * @default ""
179
+ * @default undefined
171
180
  * @public
172
181
  */
173
- noDataText: string;
182
+ noDataText?: string;
174
183
  /**
175
184
  * Defines the mode of the <code>ui5-table</code> overflow behavior.
176
185
  *
@@ -192,11 +201,18 @@ declare class Table extends UI5Element {
192
201
  * @public
193
202
  */
194
203
  loading: boolean;
204
+ /**
205
+ * Defines the delay in milliseconds, after which the loading indicator will show up for this component.
206
+ * @default 1000
207
+ * @public
208
+ */
209
+ loadingDelay: number;
195
210
  /**
196
211
  * Defines the sticky top offset of the table, if other sticky elements outside of the table exist.
197
212
  */
198
213
  stickyTop: string;
199
214
  _invalidate: number;
215
+ _renderNavigated: boolean;
200
216
  static i18nBundle: I18nBundle;
201
217
  static onDefine(): Promise<void>;
202
218
  _events: string[];
@@ -213,7 +229,6 @@ declare class Table extends UI5Element {
213
229
  onExitDOM(): void;
214
230
  onBeforeRendering(): void;
215
231
  onAfterRendering(): void;
216
- _getFeature<Klass>(klass: any): Klass | undefined;
217
232
  _getSelection(): TableSelection | undefined;
218
233
  _onEvent(e: Event): void;
219
234
  _onResize(): void;
@@ -237,12 +252,13 @@ declare class Table extends UI5Element {
237
252
  };
238
253
  };
239
254
  get _gridTemplateColumns(): string;
240
- get _tableOverflowX(): "hidden" | "auto";
255
+ get _tableOverflowX(): "auto" | "hidden";
241
256
  get _tableOverflowY(): string;
242
257
  get _nodataRow(): TableRow;
243
258
  get _beforeElement(): HTMLElement;
244
259
  get _afterElement(): HTMLElement;
245
260
  get _tableElement(): HTMLElement;
261
+ get _loadingElement(): HTMLElement;
246
262
  get _effectiveNoDataText(): string;
247
263
  get _ariaLabel(): string | undefined;
248
264
  get _ariaMultiSelectable(): boolean | undefined;
@@ -250,6 +266,7 @@ declare class Table extends UI5Element {
250
266
  get _growing(): ITableGrowing;
251
267
  get _scrollContainer(): HTMLElement;
252
268
  get _stickyElements(): TableHeaderRow[];
269
+ get isTable(): boolean;
253
270
  }
254
271
  export default Table;
255
272
  export type { ITableFeature, ITableGrowing, TableRowClickEventDetail, };
package/dist/Table.js CHANGED
@@ -15,17 +15,16 @@ import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsSco
15
15
  import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
16
16
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
17
17
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
18
- import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
19
18
  import TableTemplate from "./generated/templates/TableTemplate.lit.js";
20
19
  import TableStyles from "./generated/themes/Table.css.js";
21
20
  import TableRow from "./TableRow.js";
22
21
  import TableExtension from "./TableExtension.js";
23
- import TableSelection from "./TableSelection.js";
24
22
  import TableOverflowMode from "./types/TableOverflowMode.js";
25
23
  import TableNavigation from "./TableNavigation.js";
26
24
  import { TABLE_NO_DATA, } from "./generated/i18n/i18n-defaults.js";
27
25
  import BusyIndicator from "./BusyIndicator.js";
28
26
  import TableCell from "./TableCell.js";
27
+ import { isFeature } from "./TableUtils.js";
29
28
  /**
30
29
  * @class
31
30
  *
@@ -38,6 +37,7 @@ import TableCell from "./TableCell.js";
38
37
  *
39
38
  * The `ui5-table` can be enhanced in its functionalities by applying different features.
40
39
  * Features can be slotted into the `features` slot, to enable them in the component.
40
+ * Features need to be imported separately, as they are not enabled by default.
41
41
  *
42
42
  * The following features are currently available:
43
43
  *
@@ -99,6 +99,11 @@ import TableCell from "./TableCell.js";
99
99
  * @extends UI5Element
100
100
  * @since 2.0
101
101
  * @public
102
+ * @experimental This Table web component is available since 2.0 and has been newly implemented to provide better screen reader and keyboard handling support.
103
+ * Currently, it's considered experimental as its API is subject to change.
104
+ * This Table replaces the previous Table web component, that has been part of **@ui5/webcomponents** version 1.x.
105
+ * For compatibility reasons, we moved the previous Tabple implementation to the **@ui5/webcomponents-compat** package
106
+ * and will be maintained until the new Table is experimental.
102
107
  */
103
108
  let Table = Table_1 = class Table extends UI5Element {
104
109
  static async onDefine() {
@@ -106,6 +111,39 @@ let Table = Table_1 = class Table extends UI5Element {
106
111
  }
107
112
  constructor() {
108
113
  super();
114
+ /**
115
+ * Defines the mode of the <code>ui5-table</code> overflow behavior.
116
+ *
117
+ * Available options are:
118
+ *
119
+ * <code>Scroll</code> - Columns are shown as regular columns and horizontal scrolling is enabled.
120
+ *
121
+ * <code>Popin</code> - Columns are shown as pop-ins instead of regular columns.
122
+ *
123
+ * @default "Scroll"
124
+ * @public
125
+ */
126
+ this.overflowMode = "Scroll";
127
+ /**
128
+ * Defines if the loading indicator should be shown.
129
+ *
130
+ * <b>Note:</b> When the component is loading, it is non-interactive.
131
+ * @default false
132
+ * @public
133
+ */
134
+ this.loading = false;
135
+ /**
136
+ * Defines the delay in milliseconds, after which the loading indicator will show up for this component.
137
+ * @default 1000
138
+ * @public
139
+ */
140
+ this.loadingDelay = 1000;
141
+ /**
142
+ * Defines the sticky top offset of the table, if other sticky elements outside of the table exist.
143
+ */
144
+ this.stickyTop = "0";
145
+ this._invalidate = 0;
146
+ this._renderNavigated = false;
109
147
  this._events = ["keydown", "keyup", "click", "focusin", "focusout"];
110
148
  this._poppedIn = [];
111
149
  this._containerWidth = 0;
@@ -128,17 +166,21 @@ let Table = Table_1 = class Table extends UI5Element {
128
166
  }
129
167
  }
130
168
  onBeforeRendering() {
169
+ const renderNavigated = this._renderNavigated;
170
+ this._renderNavigated = this.rows.some(row => row.navigated);
171
+ if (renderNavigated !== this._renderNavigated) {
172
+ this.rows.forEach(row => {
173
+ row._renderNavigated = this._renderNavigated;
174
+ });
175
+ }
131
176
  this.style.setProperty(getScopedVarName("--ui5_grid_sticky_top"), this.stickyTop);
132
177
  this._refreshPopinState();
133
178
  }
134
179
  onAfterRendering() {
135
180
  this.features.forEach(feature => feature.onTableRendered?.());
136
181
  }
137
- _getFeature(klass) {
138
- return this.features.find(feature => feature instanceof klass);
139
- }
140
182
  _getSelection() {
141
- return this._getFeature(TableSelection);
183
+ return this.features.find(feature => isFeature(feature, "TableSelection"));
142
184
  }
143
185
  _onEvent(e) {
144
186
  const composedPath = e.composedPath();
@@ -279,6 +321,9 @@ let Table = Table_1 = class Table extends UI5Element {
279
321
  }
280
322
  return `minmax(${cell.width}, ${cell.width})`;
281
323
  }));
324
+ if (this._renderNavigated) {
325
+ widths.push(`var(${getScopedVarName("--_ui5_table_navigated_cell_width")})`);
326
+ }
282
327
  return widths.join(" ");
283
328
  }
284
329
  get _tableOverflowX() {
@@ -299,6 +344,9 @@ let Table = Table_1 = class Table extends UI5Element {
299
344
  get _tableElement() {
300
345
  return this.shadowRoot.getElementById("table");
301
346
  }
347
+ get _loadingElement() {
348
+ return this.shadowRoot.getElementById("loading");
349
+ }
302
350
  get _effectiveNoDataText() {
303
351
  return this.noDataText || Table_1.i18nBundle.getText(TABLE_NO_DATA);
304
352
  }
@@ -330,9 +378,19 @@ let Table = Table_1 = class Table extends UI5Element {
330
378
  get _stickyElements() {
331
379
  return [this.headerRow[0]].filter(row => row.sticky);
332
380
  }
381
+ get isTable() {
382
+ return true;
383
+ }
333
384
  };
334
385
  __decorate([
335
- slot({ type: HTMLElement, "default": true })
386
+ slot({
387
+ type: HTMLElement,
388
+ "default": true,
389
+ invalidateOnChildChange: {
390
+ properties: ["navigated"],
391
+ slots: false,
392
+ },
393
+ })
336
394
  ], Table.prototype, "rows", void 0);
337
395
  __decorate([
338
396
  slot({ type: HTMLElement, invalidateOnChildChange: { properties: false, slots: true } })
@@ -353,17 +411,23 @@ __decorate([
353
411
  property()
354
412
  ], Table.prototype, "noDataText", void 0);
355
413
  __decorate([
356
- property({ type: TableOverflowMode, defaultValue: TableOverflowMode.Scroll })
414
+ property()
357
415
  ], Table.prototype, "overflowMode", void 0);
358
416
  __decorate([
359
417
  property({ type: Boolean })
360
418
  ], Table.prototype, "loading", void 0);
361
419
  __decorate([
362
- property({ type: String, defaultValue: "0" })
420
+ property({ type: Number })
421
+ ], Table.prototype, "loadingDelay", void 0);
422
+ __decorate([
423
+ property()
363
424
  ], Table.prototype, "stickyTop", void 0);
364
425
  __decorate([
365
- property({ type: Integer, defaultValue: 0, noAttribute: true })
426
+ property({ type: Number, noAttribute: true })
366
427
  ], Table.prototype, "_invalidate", void 0);
428
+ __decorate([
429
+ property({ type: Boolean, noAttribute: true })
430
+ ], Table.prototype, "_renderNavigated", void 0);
367
431
  Table = Table_1 = __decorate([
368
432
  customElement({
369
433
  tag: "ui5-table",
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 customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport TableTemplate from \"./generated/templates/TableTemplate.lit.js\";\nimport TableStyles from \"./generated/themes/Table.css.js\";\nimport TableRow from \"./TableRow.js\";\nimport type TableHeaderRow from \"./TableHeaderRow.js\";\nimport type TableHeaderCell from \"./TableHeaderCell.js\";\nimport TableExtension from \"./TableExtension.js\";\nimport TableSelection from \"./TableSelection.js\";\nimport TableOverflowMode from \"./types/TableOverflowMode.js\";\nimport TableNavigation from \"./TableNavigation.js\";\nimport {\n\tTABLE_NO_DATA,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport TableCell from \"./TableCell.js\";\n\n/**\n * Interface for components that can be slotted inside the <code>features</code> slot of the <code>ui5-table</code>.\n *\n * @public\n */\ninterface ITableFeature extends UI5Element {\n\t/**\n\t * Called when the table is activated.\n\t * @param table table instance\n\t */\n\tonTableActivate(table: Table): void;\n\t/**\n\t * Called when the table finished rendering.\n\t */\n\tonTableRendered?(): void;\n}\n\n/**\n * Interface for components that can be slotted inside the <code>features</code> slot of the <code>ui5-table</code>\n * and provide growing/data loading functionality.\n * @public\n */\ninterface ITableGrowing extends ITableFeature {\n\t/**\n\t * Called when the table needs to load more data.\n\t */\n\tloadMore(): void;\n\t/**\n\t * Determines whether the table has a growing control, that should be rendered in the table.\n\t */\n\thasGrowingComponent(): boolean;\n\t_individualSlot?: string;\n}\n\n/**\n * Fired when an interactive row is clicked.\n * @param {TableRow} row The clicked row instance\n * @public\n */\ntype TableRowClickEventDetail = {\n\trow: TableRow,\n};\n\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 *\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\n * @public\n */\n@customElement({\n\ttag: \"ui5-table\",\n\trenderer: litRender,\n\tstyles: TableStyles,\n\ttemplate: TableTemplate,\n\tfastNavigation: true,\n\tdependencies: [\n\t\tBusyIndicator,\n\t\tTableCell,\n\t\tTableRow,\n\t],\n})\n\n/**\n * Fired when an interactive row is clicked.\n *\n * @param {TableRow} row The row instance\n * @public\n */\n@event<TableRowClickEventDetail>(\"row-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\trow: { type: TableRow },\n\t},\n})\n\nclass Table extends UI5Element {\n\t/**\n\t * Defines the rows of the component.\n\t *\n\t * Note: Use <code>ui5-table-row</code> for the intended design.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\trows!: Array<TableRow>;\n\n\t/**\n\t * Defines the header row of the component.\n\t *\n\t * Note: Use <code>ui5-table-header-row</code> for the intended design.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: { properties: false, slots: true } })\n\theaderRow!: Array<TableHeaderRow>;\n\n\t/**\n\t * Defines the custom visualization if there is no data available.\n\t *\n\t * @public\n\t */\n\t@slot()\n\tnodata!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the features of the component.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true })\n\tfeatures!: Array<ITableFeature>;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @default \"\"\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 \"\"\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 \"\"\n\t * @public\n\t */\n\t@property()\n\tnoDataText!: string;\n\n\t/**\n\t * Defines the mode of the <code>ui5-table</code> overflow behavior.\n\t *\n\t * Available options are:\n\t *\n\t * <code>Scroll</code> - Columns are shown as regular columns and horizontal scrolling is enabled.\n\t *\n\t * <code>Popin</code> - Columns are shown as pop-ins instead of regular columns.\n\t *\n\t * @default \"Scroll\"\n\t * @public\n\t */\n\t@property({ type: TableOverflowMode, defaultValue: TableOverflowMode.Scroll })\n\toverflowMode!: `${TableOverflowMode}`;\n\n\t/**\n\t * Defines if the loading indicator should be shown.\n\t *\n\t * <b>Note:</b> When the component is loading, it is non-interactive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tloading!: boolean;\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({ type: String, defaultValue: \"0\" })\n\tstickyTop!: string;\n\n\t@property({ type: Integer, defaultValue: 0, noAttribute: true })\n\t_invalidate!: number;\n\n\tstatic i18nBundle: I18nBundle;\n\tstatic async onDefine() {\n\t\tTable.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\t_events = [\"keydown\", \"keyup\", \"click\", \"focusin\", \"focusout\"];\n\t_onEventBound: (e: Event) => void;\n\t_onResizeBound: ResizeObserverCallback;\n\t_tableNavigation?: TableNavigation;\n\t_poppedIn: Array<{col: TableHeaderCell, width: float}>;\n\t_containerWidth: number;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._poppedIn = [];\n\t\tthis._containerWidth = 0;\n\t\tthis._onResizeBound = this._onResize.bind(this);\n\t\tthis._onEventBound = this._onEvent.bind(this);\n\t}\n\n\tonEnterDOM() {\n\t\tif (this.overflowMode === TableOverflowMode.Popin) {\n\t\t\tResizeHandler.register(this, this._onResizeBound);\n\t\t}\n\t\tthis._events.forEach(eventType => this.addEventListener(eventType, this._onEventBound));\n\t\tthis.features.forEach(feature => feature.onTableActivate(this));\n\t\tthis._tableNavigation = new TableNavigation(this);\n\t}\n\n\tonExitDOM() {\n\t\tthis._tableNavigation = undefined;\n\t\tthis._events.forEach(eventType => this.addEventListener(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.style.setProperty(getScopedVarName(\"--ui5_grid_sticky_top\"), this.stickyTop);\n\t\tthis._refreshPopinState();\n\t}\n\n\tonAfterRendering(): void {\n\t\tthis.features.forEach(feature => feature.onTableRendered?.());\n\t}\n\n\t_getFeature<Klass>(klass: any): Klass | undefined {\n\t\treturn this.features.find(feature => feature instanceof klass) as Klass;\n\t}\n\n\t_getSelection(): TableSelection | undefined {\n\t\treturn this._getFeature(TableSelection);\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, ...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\t// Handles focus that is below sticky element\n\t\tconst stickyElements = this._stickyElements;\n\n\t\tif (stickyElements.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find the sticky element that is closest to the focused element\n\t\tconst target = e.target as HTMLElement;\n\t\tconst element = target.closest(\"ui5-table-cell, ui5-table-row\") as HTMLElement ?? target;\n\t\tconst elementRect = element.getBoundingClientRect();\n\t\tconst stickyBottom = stickyElements.reduce((min, stickyElement) => {\n\t\t\tconst stickyRect = stickyElement.getBoundingClientRect();\n\n\t\t\tif (stickyRect.bottom > elementRect.top) {\n\t\t\t\treturn Math.max(min, stickyRect.bottom);\n\t\t\t}\n\t\t\treturn min;\n\t\t}, -Infinity);\n\n\t\t// If the focused element is not behind any sticky element, do nothing\n\t\tif (stickyBottom === -Infinity) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Scroll the focused element into view\n\t\tconst scrollContainer = this._scrollContainer;\n\t\tscrollContainer.scrollBy({\n\t\t\ttop: elementRect.top - stickyBottom,\n\t\t});\n\t}\n\n\t/**\n\t * Refreshes the popin state of the columns.\n\t * Syncs the popin state of the columns with the popin state of the header cells.\n\t * This is needed when additional rows are manually added and no resize happens.\n\t * @private\n\t */\n\t_refreshPopinState() {\n\t\tthis.headerRow[0].cells.forEach((header, index) => {\n\t\t\tthis.rows.forEach(row => {\n\t\t\t\tconst cell = row.cells[index];\n\t\t\t\tif (cell && cell._popin !== header._popin) {\n\t\t\t\t\tcell._popin = header._popin;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t_onGrow() {\n\t\tthis._growing?.loadMore();\n\t}\n\n\t_getPopinOrderedColumns(reverse: boolean) {\n\t\tlet headers = [...this.headerRow[0].cells];\n\t\theaders = headers.reverse(); // reverse the \"visual\" order\n\t\theaders = headers.sort((a, b) => a.importance - b.importance); // sort by importance (asc)\n\t\theaders.pop(); // remove the most important column, as it will not be popped in\n\n\t\tif (reverse) {\n\t\t\theaders = headers.reverse();\n\t\t}\n\n\t\treturn headers;\n\t}\n\n\t_setHeaderPopinState(headerCell: TableHeaderCell, inPopin: boolean, popinWidth: number) {\n\t\tconst headerIndex = this.headerRow[0].cells.indexOf(headerCell);\n\t\theaderCell._popin = inPopin;\n\t\theaderCell._popinWidth = popinWidth;\n\t\tthis.rows.forEach(row => {\n\t\t\trow.cells[headerIndex]._popin = inPopin;\n\t\t});\n\t}\n\n\t_isFeature(feature: any) {\n\t\treturn Boolean(feature.onTableActivate && feature.onTableRendered);\n\t}\n\n\t_isGrowingFeature(feature: any) {\n\t\treturn Boolean(feature.loadMore && feature.hasGrowingComponent && this._isFeature(feature));\n\t}\n\n\t_onRowPress(row: TableRow) {\n\t\tthis.fireEvent<TableRowClickEventDetail>(\"row-click\", { row });\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\ttable: {\n\t\t\t\t\"grid-template-columns\": this._gridTemplateColumns,\n\t\t\t},\n\t\t};\n\t}\n\n\tget _gridTemplateColumns() {\n\t\tconst widths = [];\n\t\tconst visibleHeaderCells = this.headerRow[0]._visibleCells as TableHeaderCell[];\n\t\tif (this._getSelection()?.hasRowSelector()) {\n\t\t\twidths.push(`var(${getScopedVarName(\"--_ui5_checkbox_width_height\")})`);\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\t\treturn widths.join(\" \");\n\t}\n\n\tget _tableOverflowX() {\n\t\treturn (this.overflowMode === TableOverflowMode.Popin) ? \"hidden\" : \"auto\";\n\t}\n\n\tget _tableOverflowY() {\n\t\treturn \"auto\";\n\t}\n\n\tget _nodataRow() {\n\t\treturn this.shadowRoot!.getElementById(\"nodata-row\") as TableRow;\n\t}\n\n\tget _beforeElement() {\n\t\treturn this.shadowRoot!.getElementById(\"before\") as HTMLElement;\n\t}\n\n\tget _afterElement() {\n\t\treturn this.shadowRoot!.getElementById(\"after\") as HTMLElement;\n\t}\n\n\tget _tableElement() {\n\t\treturn this.shadowRoot!.getElementById(\"table\") as HTMLElement;\n\t}\n\n\tget _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 _ariaMultiSelectable() {\n\t\tconst selection = this._getSelection();\n\t\treturn (selection?.isSelectable() && this.rows.length) ? selection.isMultiSelect() : undefined;\n\t}\n\n\tget _shouldRenderGrowing() {\n\t\treturn this.rows.length && this._growing?.hasGrowingComponent();\n\t}\n\n\tget _growing() {\n\t\treturn this.features.find(feature => this._isGrowingFeature(feature)) as ITableGrowing;\n\t}\n\n\t// TODO: Could be moved to UI5Element. TBD\n\tget _scrollContainer() {\n\t\tlet element: HTMLElement = this as HTMLElement;\n\t\twhile (element) {\n\t\t\tconst { overflowY } = window.getComputedStyle(element);\n\t\t\tif (overflowY === \"auto\" || overflowY === \"scroll\") {\n\t\t\t\treturn element;\n\t\t\t}\n\t\t\telement = element.parentElement as HTMLElement;\n\t\t}\n\n\t\treturn document.scrollingElement as HTMLElement || document.documentElement;\n\t}\n\n\tget _stickyElements() {\n\t\treturn [this.headerRow[0]].filter(row => row.sticky);\n\t}\n}\n\nTable.define();\n\nexport default Table;\n\nexport type {\n\tITableFeature,\n\tITableGrowing,\n\tTableRowClickEventDetail,\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 customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport TableTemplate from \"./generated/templates/TableTemplate.lit.js\";\nimport TableStyles from \"./generated/themes/Table.css.js\";\nimport TableRow from \"./TableRow.js\";\nimport type TableHeaderRow from \"./TableHeaderRow.js\";\nimport type TableHeaderCell from \"./TableHeaderCell.js\";\nimport TableExtension from \"./TableExtension.js\";\nimport type TableSelection from \"./TableSelection.js\";\nimport TableOverflowMode from \"./types/TableOverflowMode.js\";\nimport TableNavigation from \"./TableNavigation.js\";\nimport {\n\tTABLE_NO_DATA,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport TableCell from \"./TableCell.js\";\nimport { isFeature } from \"./TableUtils.js\";\n\n/**\n * Interface for components that can be slotted inside the <code>features</code> slot of the <code>ui5-table</code>.\n *\n * @public\n * @experimental\n */\ninterface ITableFeature extends UI5Element {\n\treadonly identifier: string;\n\t/**\n\t * Called when the table is activated.\n\t * @param table table instance\n\t */\n\tonTableActivate(table: Table): void;\n\t/**\n\t * Called when the table finished rendering.\n\t */\n\tonTableRendered?(): void;\n}\n\n/**\n * Interface for components that can be slotted inside the <code>features</code> slot of the <code>ui5-table</code>\n * and provide growing/data loading functionality.\n * @public\n * @experimental\n */\ninterface ITableGrowing extends ITableFeature {\n\t/**\n\t * Called when the table needs to load more data.\n\t */\n\tloadMore(): void;\n\t/**\n\t * Determines whether the table has a growing control, that should be rendered in the table.\n\t */\n\thasGrowingComponent(): boolean;\n\t_individualSlot?: string;\n}\n\n/**\n * Fired when an interactive row is clicked.\n * @param {TableRow} row The clicked row instance\n * @public\n */\ntype TableRowClickEventDetail = {\n\trow: TableRow,\n};\n\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\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 Tabple implementation to the **@ui5/webcomponents-compat** package\n * and will be maintained until the new Table is experimental.\n */\n@customElement({\n\ttag: \"ui5-table\",\n\trenderer: litRender,\n\tstyles: TableStyles,\n\ttemplate: TableTemplate,\n\tfastNavigation: true,\n\tdependencies: [\n\t\tBusyIndicator,\n\t\tTableCell,\n\t\tTableRow,\n\t],\n})\n\n/**\n * Fired when an interactive row is clicked.\n *\n * @param {TableRow} row The row instance\n * @public\n */\n@event<TableRowClickEventDetail>(\"row-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\trow: { type: TableRow },\n\t},\n})\n\nclass Table extends UI5Element {\n\t/**\n\t * Defines the rows of the component.\n\t *\n\t * Note: Use <code>ui5-table-row</code> 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\"],\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 <code>ui5-table-header-row</code> for the intended design.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: { properties: false, slots: true } })\n\theaderRow!: Array<TableHeaderRow>;\n\n\t/**\n\t * Defines the custom visualization if there is no data available.\n\t *\n\t * @public\n\t */\n\t@slot()\n\tnodata!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the features of the component.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true })\n\tfeatures!: Array<ITableFeature>;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Identifies the element (or elements) that labels the component.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the text to be displayed when there are no rows in the component.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tnoDataText?: string;\n\n\t/**\n\t * Defines the mode of the <code>ui5-table</code> overflow behavior.\n\t *\n\t * Available options are:\n\t *\n\t * <code>Scroll</code> - Columns are shown as regular columns and horizontal scrolling is enabled.\n\t *\n\t * <code>Popin</code> - Columns are shown as pop-ins instead of regular columns.\n\t *\n\t * @default \"Scroll\"\n\t * @public\n\t */\n\t@property()\n\toverflowMode: `${TableOverflowMode}` = \"Scroll\";\n\n\t/**\n\t * Defines if the loading indicator should be shown.\n\t *\n\t * <b>Note:</b> When the component is loading, it is non-interactive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\t/**\n * Defines the delay in milliseconds, after which the loading indicator will show up for this component.\n * @default 1000\n * @public\n */\n\t@property({ type: Number })\n\tloadingDelay = 1000;\n\n\t/**\n\t * Defines the sticky top offset of the table, if other sticky elements outside of the table exist.\n\t */\n\t@property()\n\tstickyTop = \"0\";\n\n\t@property({ type: Number, noAttribute: true })\n\t_invalidate = 0;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_renderNavigated = false;\n\n\tstatic i18nBundle: I18nBundle;\n\tstatic async onDefine() {\n\t\tTable.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\t_events = [\"keydown\", \"keyup\", \"click\", \"focusin\", \"focusout\"];\n\t_onEventBound: (e: Event) => void;\n\t_onResizeBound: ResizeObserverCallback;\n\t_tableNavigation?: TableNavigation;\n\t_poppedIn: Array<{col: TableHeaderCell, width: float}>;\n\t_containerWidth: number;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._poppedIn = [];\n\t\tthis._containerWidth = 0;\n\t\tthis._onResizeBound = this._onResize.bind(this);\n\t\tthis._onEventBound = this._onEvent.bind(this);\n\t}\n\n\tonEnterDOM() {\n\t\tif (this.overflowMode === TableOverflowMode.Popin) {\n\t\t\tResizeHandler.register(this, this._onResizeBound);\n\t\t}\n\t\tthis._events.forEach(eventType => this.addEventListener(eventType, this._onEventBound));\n\t\tthis.features.forEach(feature => feature.onTableActivate(this));\n\t\tthis._tableNavigation = new TableNavigation(this);\n\t}\n\n\tonExitDOM() {\n\t\tthis._tableNavigation = undefined;\n\t\tthis._events.forEach(eventType => this.addEventListener(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\tconst renderNavigated = this._renderNavigated;\n\t\tthis._renderNavigated = this.rows.some(row => row.navigated);\n\t\tif (renderNavigated !== this._renderNavigated) {\n\t\t\tthis.rows.forEach(row => {\n\t\t\t\trow._renderNavigated = this._renderNavigated;\n\t\t\t});\n\t\t}\n\n\t\tthis.style.setProperty(getScopedVarName(\"--ui5_grid_sticky_top\"), this.stickyTop);\n\t\tthis._refreshPopinState();\n\t}\n\n\tonAfterRendering(): void {\n\t\tthis.features.forEach(feature => feature.onTableRendered?.());\n\t}\n\n\t_getSelection(): TableSelection | undefined {\n\t\treturn this.features.find(feature => isFeature<TableSelection>(feature, \"TableSelection\")) as TableSelection;\n\t}\n\n\t_onEvent(e: Event) {\n\t\tconst composedPath = e.composedPath();\n\t\tconst eventOrigin = composedPath[0] as HTMLElement;\n\t\tconst elements = [this._tableNavigation, ...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\t// Handles focus that is below sticky element\n\t\tconst stickyElements = this._stickyElements;\n\n\t\tif (stickyElements.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find the sticky element that is closest to the focused element\n\t\tconst target = e.target as HTMLElement;\n\t\tconst element = target.closest(\"ui5-table-cell, ui5-table-row\") as HTMLElement ?? target;\n\t\tconst elementRect = element.getBoundingClientRect();\n\t\tconst stickyBottom = stickyElements.reduce((min, stickyElement) => {\n\t\t\tconst stickyRect = stickyElement.getBoundingClientRect();\n\n\t\t\tif (stickyRect.bottom > elementRect.top) {\n\t\t\t\treturn Math.max(min, stickyRect.bottom);\n\t\t\t}\n\t\t\treturn min;\n\t\t}, -Infinity);\n\n\t\t// If the focused element is not behind any sticky element, do nothing\n\t\tif (stickyBottom === -Infinity) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Scroll the focused element into view\n\t\tconst scrollContainer = this._scrollContainer;\n\t\tscrollContainer.scrollBy({\n\t\t\ttop: elementRect.top - stickyBottom,\n\t\t});\n\t}\n\n\t/**\n\t * Refreshes the popin state of the columns.\n\t * Syncs the popin state of the columns with the popin state of the header cells.\n\t * This is needed when additional rows are manually added and no resize happens.\n\t * @private\n\t */\n\t_refreshPopinState() {\n\t\tthis.headerRow[0].cells.forEach((header, index) => {\n\t\t\tthis.rows.forEach(row => {\n\t\t\t\tconst cell = row.cells[index];\n\t\t\t\tif (cell && cell._popin !== header._popin) {\n\t\t\t\t\tcell._popin = header._popin;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t_onGrow() {\n\t\tthis._growing?.loadMore();\n\t}\n\n\t_getPopinOrderedColumns(reverse: boolean) {\n\t\tlet headers = [...this.headerRow[0].cells];\n\t\theaders = headers.reverse(); // reverse the \"visual\" order\n\t\theaders = headers.sort((a, b) => a.importance - b.importance); // sort by importance (asc)\n\t\theaders.pop(); // remove the most important column, as it will not be popped in\n\n\t\tif (reverse) {\n\t\t\theaders = headers.reverse();\n\t\t}\n\n\t\treturn headers;\n\t}\n\n\t_setHeaderPopinState(headerCell: TableHeaderCell, inPopin: boolean, popinWidth: number) {\n\t\tconst headerIndex = this.headerRow[0].cells.indexOf(headerCell);\n\t\theaderCell._popin = inPopin;\n\t\theaderCell._popinWidth = popinWidth;\n\t\tthis.rows.forEach(row => {\n\t\t\trow.cells[headerIndex]._popin = inPopin;\n\t\t});\n\t}\n\n\t_isFeature(feature: any) {\n\t\treturn Boolean(feature.onTableActivate && feature.onTableRendered);\n\t}\n\n\t_isGrowingFeature(feature: any) {\n\t\treturn Boolean(feature.loadMore && feature.hasGrowingComponent && this._isFeature(feature));\n\t}\n\n\t_onRowPress(row: TableRow) {\n\t\tthis.fireEvent<TableRowClickEventDetail>(\"row-click\", { row });\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\ttable: {\n\t\t\t\t\"grid-template-columns\": this._gridTemplateColumns,\n\t\t\t},\n\t\t};\n\t}\n\n\tget _gridTemplateColumns() {\n\t\tconst widths = [];\n\t\tconst visibleHeaderCells = this.headerRow[0]._visibleCells as TableHeaderCell[];\n\t\tif (this._getSelection()?.hasRowSelector()) {\n\t\t\twidths.push(`var(${getScopedVarName(\"--_ui5_checkbox_width_height\")})`);\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\t\tif (this._renderNavigated) {\n\t\t\twidths.push(`var(${getScopedVarName(\"--_ui5_table_navigated_cell_width\")})`);\n\t\t}\n\t\treturn widths.join(\" \");\n\t}\n\n\tget _tableOverflowX() {\n\t\treturn (this.overflowMode === TableOverflowMode.Popin) ? \"hidden\" : \"auto\";\n\t}\n\n\tget _tableOverflowY() {\n\t\treturn \"auto\";\n\t}\n\n\tget _nodataRow() {\n\t\treturn this.shadowRoot!.getElementById(\"nodata-row\") as TableRow;\n\t}\n\n\tget _beforeElement() {\n\t\treturn this.shadowRoot!.getElementById(\"before\") as HTMLElement;\n\t}\n\n\tget _afterElement() {\n\t\treturn this.shadowRoot!.getElementById(\"after\") as HTMLElement;\n\t}\n\n\tget _tableElement() {\n\t\treturn this.shadowRoot!.getElementById(\"table\") as HTMLElement;\n\t}\n\n\tget _loadingElement() {\n\t\treturn this.shadowRoot!.getElementById(\"loading\") as HTMLElement;\n\t}\n\n\tget _effectiveNoDataText() {\n\t\treturn this.noDataText || Table.i18nBundle.getText(TABLE_NO_DATA);\n\t}\n\n\tget _ariaLabel() {\n\t\treturn getEffectiveAriaLabelText(this) || undefined;\n\t}\n\n\tget _ariaMultiSelectable() {\n\t\tconst selection = this._getSelection();\n\t\treturn (selection?.isSelectable() && this.rows.length) ? selection.isMultiSelect() : undefined;\n\t}\n\n\tget _shouldRenderGrowing() {\n\t\treturn this.rows.length && this._growing?.hasGrowingComponent();\n\t}\n\n\tget _growing() {\n\t\treturn this.features.find(feature => this._isGrowingFeature(feature)) as ITableGrowing;\n\t}\n\n\t// TODO: Could be moved to UI5Element. TBD\n\tget _scrollContainer() {\n\t\tlet element: HTMLElement = this as HTMLElement;\n\t\twhile (element) {\n\t\t\tconst { overflowY } = window.getComputedStyle(element);\n\t\t\tif (overflowY === \"auto\" || overflowY === \"scroll\") {\n\t\t\t\treturn element;\n\t\t\t}\n\t\t\telement = element.parentElement as HTMLElement;\n\t\t}\n\n\t\treturn document.scrollingElement as HTMLElement || document.documentElement;\n\t}\n\n\tget _stickyElements() {\n\t\treturn [this.headerRow[0]].filter(row => row.sticky);\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};\n"]}
@@ -15,6 +15,7 @@ import TableCellBase from "./TableCellBase.js";
15
15
  * @extends TableCellBase
16
16
  * @since 2.0
17
17
  * @public
18
+ * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.
18
19
  */
19
20
  declare class TableCell extends TableCellBase {
20
21
  get _popinHeader(): Node;
package/dist/TableCell.js CHANGED
@@ -25,6 +25,7 @@ import { LABEL_COLON } from "./generated/i18n/i18n-defaults.js";
25
25
  * @extends TableCellBase
26
26
  * @since 2.0
27
27
  * @public
28
+ * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.
28
29
  */
29
30
  let TableCell = class TableCell extends TableCellBase {
30
31
  get _popinHeader() {
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.js","sourceRoot":"","sources":["../src/TableCell.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,iBAAiB,MAAM,gDAAgD,CAAC;AAC/E,OAAO,eAAe,MAAM,qCAAqC,CAAC;AAClE,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE;;;;;;;;;;;;;;;;GAgBG;AAMH,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,aAAa;IACpC,IAAI,YAAY;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,aAAyB,CAAC;QAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,aAAsB,CAAC;QACzC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;CACD,CAAA;AAZK,SAAS;IALd,aAAa,CAAC;QACd,GAAG,EAAE,gBAAgB;QACrB,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC;QAC/C,QAAQ,EAAE,iBAAiB;KAC3B,CAAC;GACI,SAAS,CAYd;AAED,SAAS,CAAC,MAAM,EAAE,CAAC;AAEnB,eAAe,SAAS,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport TableCellTemplate from \"./generated/templates/TableCellTemplate.lit.js\";\nimport TableCellStyles from \"./generated/themes/TableCell.css.js\";\nimport TableCellBase from \"./TableCellBase.js\";\nimport type TableRow from \"./TableRow.js\";\nimport type Table from \"./Table.js\";\nimport { LABEL_COLON } from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-cell` represents a cell inside of a `ui5-table`.\n * It is tightly coupled to the `ui5-table` and thus should only be used in the table component.\n *\n * ### ES6 Module Import\n *\n * `import @ui5/webcomponents/dist/TableCell.js;`\n *\n * @constructor\n * @extends TableCellBase\n * @since 2.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-table-cell\",\n\tstyles: [TableCellBase.styles, TableCellStyles],\n\ttemplate: TableCellTemplate,\n})\nclass TableCell extends TableCellBase {\n\tget _popinHeader() {\n\t\tconst row = this.parentElement as TableRow;\n\t\tconst table = row.parentElement as Table;\n\t\tconst index = row.cells.indexOf(this);\n\t\tconst headerCell = table.headerRow[0].cells[index];\n\t\treturn headerCell.content[0]?.cloneNode(true);\n\t}\n\n\tget _i18nPopinColon() {\n\t\treturn TableCellBase.i18nBundle.getText(LABEL_COLON);\n\t}\n}\n\nTableCell.define();\n\nexport default TableCell;\n"]}
1
+ {"version":3,"file":"TableCell.js","sourceRoot":"","sources":["../src/TableCell.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,iBAAiB,MAAM,gDAAgD,CAAC;AAC/E,OAAO,eAAe,MAAM,qCAAqC,CAAC;AAClE,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AAMH,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,aAAa;IACpC,IAAI,YAAY;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,aAAyB,CAAC;QAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,aAAsB,CAAC;QACzC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;CACD,CAAA;AAZK,SAAS;IALd,aAAa,CAAC;QACd,GAAG,EAAE,gBAAgB;QACrB,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC;QAC/C,QAAQ,EAAE,iBAAiB;KAC3B,CAAC;GACI,SAAS,CAYd;AAED,SAAS,CAAC,MAAM,EAAE,CAAC;AAEnB,eAAe,SAAS,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport TableCellTemplate from \"./generated/templates/TableCellTemplate.lit.js\";\nimport TableCellStyles from \"./generated/themes/TableCell.css.js\";\nimport TableCellBase from \"./TableCellBase.js\";\nimport type TableRow from \"./TableRow.js\";\nimport type Table from \"./Table.js\";\nimport { LABEL_COLON } from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-cell` represents a cell inside of a `ui5-table`.\n * It is tightly coupled to the `ui5-table` and thus should only be used in the table component.\n *\n * ### ES6 Module Import\n *\n * `import @ui5/webcomponents/dist/TableCell.js;`\n *\n * @constructor\n * @extends TableCellBase\n * @since 2.0\n * @public\n * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.\n */\n@customElement({\n\ttag: \"ui5-table-cell\",\n\tstyles: [TableCellBase.styles, TableCellStyles],\n\ttemplate: TableCellTemplate,\n})\nclass TableCell extends TableCellBase {\n\tget _popinHeader() {\n\t\tconst row = this.parentElement as TableRow;\n\t\tconst table = row.parentElement as Table;\n\t\tconst index = row.cells.indexOf(this);\n\t\tconst headerCell = table.headerRow[0].cells[index];\n\t\treturn headerCell.content[0]?.cloneNode(true);\n\t}\n\n\tget _i18nPopinColon() {\n\t\treturn TableCellBase.i18nBundle.getText(LABEL_COLON);\n\t}\n}\n\nTableCell.define();\n\nexport default TableCell;\n"]}
@@ -19,7 +19,9 @@ declare abstract class TableCellBase extends UI5Element {
19
19
  protected ariaRole: string;
20
20
  static i18nBundle: I18nBundle;
21
21
  static onDefine(): Promise<void>;
22
+ onEnterDOM(): void;
22
23
  onBeforeRendering(): void;
23
24
  getFocusDomRef(): this;
25
+ isTableCellBase(): boolean;
24
26
  }
25
27
  export default TableCellBase;
@@ -24,11 +24,15 @@ import TableCellBaseStyles from "./generated/themes/TableCellBase.css.js";
24
24
  let TableCellBase = TableCellBase_1 = class TableCellBase extends UI5Element {
25
25
  constructor() {
26
26
  super(...arguments);
27
+ this._popin = false;
27
28
  this.ariaRole = "gridcell";
28
29
  }
29
30
  static async onDefine() {
30
31
  TableCellBase_1.i18nBundle = await getI18nBundle("@ui5/webcomponents");
31
32
  }
33
+ onEnterDOM() {
34
+ this.toggleAttribute("ui5-table-cell-base", true);
35
+ }
32
36
  onBeforeRendering() {
33
37
  if (this._popin) {
34
38
  this.removeAttribute("role");
@@ -40,6 +44,9 @@ let TableCellBase = TableCellBase_1 = class TableCellBase extends UI5Element {
40
44
  getFocusDomRef() {
41
45
  return this;
42
46
  }
47
+ isTableCellBase() {
48
+ return true;
49
+ }
43
50
  };
44
51
  __decorate([
45
52
  slot({ type: Node, "default": true })
@@ -1 +1 @@
1
- {"version":3,"file":"TableCellBase.js","sourceRoot":"","sources":["../src/TableCellBase.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,mBAAmB,MAAM,yCAAyC,CAAC;AAE1E;;;;;;;;GAQG;AAKH,IAAe,aAAa,qBAA5B,MAAe,aAAc,SAAQ,UAAU;IAA/C;;QAWW,aAAQ,GAAW,UAAU,CAAC;IAkBzC,CAAC;IAfA,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpB,eAAa,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACtE,CAAC;IAED,iBAAiB;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SAC7B;aAAM;YACN,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACzC;IACF,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AAvBA;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;8CAChB;AAGtB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACX;AATH,aAAa;IAJ3B,aAAa,CAAC;QACd,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,mBAAmB;KAC3B,CAAC;GACa,aAAa,CA6B3B;AAED,eAAe,aAAa,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport TableCellBaseStyles from \"./generated/themes/TableCellBase.css.js\";\n\n/**\n * @class\n * A class to serve as a foundation for the `TableCell` and `TableHeaderCell` classes.\n * @constructor\n * @abstract\n * @extends UI5Element\n * @since 2.0\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: TableCellBaseStyles,\n})\nabstract class TableCellBase extends UI5Element {\n\t/**\n\t * Defines the content of the component.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\tcontent!: Array<Node>;\n\n\t@property({ type: Boolean })\n\t_popin!: boolean;\n\n\tprotected ariaRole: string = \"gridcell\";\n\n\tstatic i18nBundle: I18nBundle;\n\tstatic async onDefine() {\n\t\tTableCellBase.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._popin) {\n\t\t\tthis.removeAttribute(\"role\");\n\t\t} else {\n\t\t\tthis.setAttribute(\"role\", this.ariaRole);\n\t\t}\n\t}\n\n\tgetFocusDomRef() {\n\t\treturn this;\n\t}\n}\n\nexport default TableCellBase;\n"]}
1
+ {"version":3,"file":"TableCellBase.js","sourceRoot":"","sources":["../src/TableCellBase.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,mBAAmB,MAAM,yCAAyC,CAAC;AAE1E;;;;;;;;GAQG;AAKH,IAAe,aAAa,qBAA5B,MAAe,aAAc,SAAQ,UAAU;IAA/C;;QASC,WAAM,GAAG,KAAK,CAAC;QAEL,aAAQ,GAAW,UAAU,CAAC;IA0BzC,CAAC;IAvBA,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpB,eAAa,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACtE,CAAC;IAED,UAAU;QACT,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,iBAAiB;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SAC7B;aAAM;YACN,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACzC;IACF,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC;IACb,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AA/BA;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;8CAChB;AAGtB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACb;AATD,aAAa;IAJ3B,aAAa,CAAC;QACd,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,mBAAmB;KAC3B,CAAC;GACa,aAAa,CAqC3B;AAED,eAAe,aAAa,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport TableCellBaseStyles from \"./generated/themes/TableCellBase.css.js\";\n\n/**\n * @class\n * A class to serve as a foundation for the `TableCell` and `TableHeaderCell` classes.\n * @constructor\n * @abstract\n * @extends UI5Element\n * @since 2.0\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: TableCellBaseStyles,\n})\nabstract class TableCellBase extends UI5Element {\n\t/**\n\t * Defines the content of the component.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\tcontent!: Array<Node>;\n\n\t@property({ type: Boolean })\n\t_popin = false;\n\n\tprotected ariaRole: string = \"gridcell\";\n\n\tstatic i18nBundle: I18nBundle;\n\tstatic async onDefine() {\n\t\tTableCellBase.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tonEnterDOM() {\n\t\tthis.toggleAttribute(\"ui5-table-cell-base\", true);\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._popin) {\n\t\t\tthis.removeAttribute(\"role\");\n\t\t} else {\n\t\t\tthis.setAttribute(\"role\", this.ariaRole);\n\t\t}\n\t}\n\n\tgetFocusDomRef() {\n\t\treturn this;\n\t}\n\n\tisTableCellBase() {\n\t\treturn true;\n\t}\n}\n\nexport default TableCellBase;\n"]}
@@ -35,6 +35,7 @@ import TableGrowingMode from "./types/TableGrowingMode.js";
35
35
  * @extends UI5Element
36
36
  * @since 2.0
37
37
  * @public
38
+ * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.
38
39
  */
39
40
  declare class TableGrowing extends UI5Element implements ITableGrowing {
40
41
  /**
@@ -56,18 +57,18 @@ declare class TableGrowing extends UI5Element implements ITableGrowing {
56
57
  * **Note:** When not provided and the type is set to Button, a default text is displayed, corresponding to the
57
58
  * current language.
58
59
  *
59
- * @default ""
60
+ * @default undefined
60
61
  * @public
61
62
  */
62
- growingText: string;
63
+ growingText?: string;
63
64
  /**
64
65
  * Defines the text that will be displayed below the `growingText` inside the growing button.
65
66
  * Has no effect when type is set to Scroll.
66
67
  *
67
- * @default ""
68
+ * @default undefined
68
69
  * @public
69
70
  */
70
- growingSubText: string;
71
+ growingSubText?: string;
71
72
  /**
72
73
  * Disables the growing feature.
73
74
  */
@@ -77,7 +78,8 @@ declare class TableGrowing extends UI5Element implements ITableGrowing {
77
78
  * Used for keyboard interaction.
78
79
  * @private
79
80
  */
80
- _activeState?: boolean;
81
+ _activeState: boolean;
82
+ readonly identifier = "TableGrowing";
81
83
  _table?: Table;
82
84
  _observer?: IntersectionObserver;
83
85
  _individualSlot?: string;
@@ -50,8 +50,35 @@ import { TABLE_MORE, TABLE_MORE_DESCRIPTION, } from "./generated/i18n/i18n-defau
50
50
  * @extends UI5Element
51
51
  * @since 2.0
52
52
  * @public
53
+ * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.
53
54
  */
54
55
  let TableGrowing = TableGrowing_1 = class TableGrowing extends UI5Element {
56
+ constructor() {
57
+ super(...arguments);
58
+ /**
59
+ * Defines the mode of the <code>ui5-table</code> growing.
60
+ *
61
+ * Available options are:
62
+ *
63
+ * Button - Shows a More button at the bottom of the table, pressing it will load more rows.
64
+ *
65
+ * Scroll - The rows are loaded automatically by scrolling to the bottom of the table. If the table is not scrollable, this option is the same as the Button.
66
+ * @default "Button"
67
+ * @public
68
+ */
69
+ this.type = "Button";
70
+ /**
71
+ * Disables the growing feature.
72
+ */
73
+ this.disabled = false;
74
+ /**
75
+ * Defines the active state of the growing button.
76
+ * Used for keyboard interaction.
77
+ * @private
78
+ */
79
+ this._activeState = false;
80
+ this.identifier = "TableGrowing";
81
+ }
55
82
  static async onDefine() {
56
83
  TableGrowing_1.i18nBundle = await getI18nBundle("@ui5/webcomponents");
57
84
  }
@@ -188,7 +215,7 @@ let TableGrowing = TableGrowing_1 = class TableGrowing extends UI5Element {
188
215
  }
189
216
  };
190
217
  __decorate([
191
- property({ type: TableGrowingMode, defaultValue: TableGrowingMode.Button })
218
+ property()
192
219
  ], TableGrowing.prototype, "type", void 0);
193
220
  __decorate([
194
221
  property()