@ui5/webcomponents 0.0.0-323968e1b → 0.0.0-4180fe799

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 (730) hide show
  1. package/CHANGELOG.md +717 -1
  2. package/README.md +144 -41
  3. package/csp.js +7 -0
  4. package/customI18n.js +50 -0
  5. package/dist/Assets-static.js +6 -0
  6. package/dist/Assets.js +3 -2
  7. package/dist/Avatar.js +224 -40
  8. package/dist/AvatarGroup.js +603 -0
  9. package/dist/Badge.js +48 -28
  10. package/dist/Breadcrumbs.js +563 -0
  11. package/dist/BreadcrumbsItem.js +109 -0
  12. package/dist/BusyIndicator.js +172 -19
  13. package/dist/Button.js +180 -49
  14. package/dist/Calendar.js +345 -554
  15. package/dist/CalendarDate.js +45 -0
  16. package/dist/CalendarHeader.js +133 -64
  17. package/dist/CalendarPart.js +111 -0
  18. package/dist/Card.js +47 -161
  19. package/dist/CardHeader.js +288 -0
  20. package/dist/Carousel.js +681 -0
  21. package/dist/CheckBox.js +154 -54
  22. package/dist/ColorPalette.js +493 -0
  23. package/dist/ColorPaletteItem.js +137 -0
  24. package/dist/ColorPalettePopover.js +219 -0
  25. package/dist/ColorPicker.js +524 -0
  26. package/dist/ComboBox.js +664 -107
  27. package/dist/ComboBoxFilters.js +8 -1
  28. package/dist/ComboBoxGroupItem.js +70 -0
  29. package/dist/ComboBoxItem.js +33 -30
  30. package/dist/CustomListItem.js +38 -9
  31. package/dist/DateComponentBase.js +170 -0
  32. package/dist/DatePicker.js +468 -384
  33. package/dist/DateRangePicker.js +328 -0
  34. package/dist/DateTimePicker.js +430 -0
  35. package/dist/DayPicker.js +513 -438
  36. package/dist/Dialog.js +501 -47
  37. package/dist/DurationPicker.js +312 -0
  38. package/dist/FileUploader.js +532 -0
  39. package/dist/GroupHeaderListItem.js +36 -8
  40. package/dist/Icon.js +221 -43
  41. package/dist/Input.js +796 -127
  42. package/dist/Interfaces.js +192 -0
  43. package/dist/Label.js +27 -12
  44. package/dist/Link.js +143 -35
  45. package/dist/List.js +560 -73
  46. package/dist/ListItem.js +139 -30
  47. package/dist/ListItemBase.js +53 -9
  48. package/dist/MessageStrip.js +82 -93
  49. package/dist/MonthPicker.js +181 -184
  50. package/dist/MultiComboBox.js +625 -200
  51. package/dist/MultiComboBoxItem.js +43 -0
  52. package/dist/MultiInput.js +301 -0
  53. package/dist/Option.js +48 -5
  54. package/dist/Panel.js +123 -41
  55. package/dist/Popover.js +314 -234
  56. package/dist/Popup.js +382 -287
  57. package/dist/ProgressIndicator.js +235 -0
  58. package/dist/RadioButton.js +153 -66
  59. package/dist/RadioButtonGroup.js +53 -29
  60. package/dist/RangeSlider.js +769 -0
  61. package/dist/RatingIndicator.js +291 -0
  62. package/dist/ResponsivePopover.js +117 -61
  63. package/dist/SegmentedButton.js +290 -0
  64. package/dist/SegmentedButtonItem.js +109 -0
  65. package/dist/Select.js +500 -110
  66. package/dist/Slider.js +320 -0
  67. package/dist/SliderBase.js +842 -0
  68. package/dist/StandardListItem.js +46 -24
  69. package/dist/StepInput.js +684 -0
  70. package/dist/SuggestionGroupItem.js +64 -0
  71. package/dist/SuggestionItem.js +146 -0
  72. package/dist/SuggestionListItem.js +76 -0
  73. package/dist/Switch.js +62 -48
  74. package/dist/Tab.js +184 -18
  75. package/dist/TabContainer.js +337 -235
  76. package/dist/TabSeparator.js +2 -1
  77. package/dist/Table.js +492 -39
  78. package/dist/TableCell.js +13 -15
  79. package/dist/TableColumn.js +18 -7
  80. package/dist/TableGroupRow.js +160 -0
  81. package/dist/TableRow.js +254 -31
  82. package/dist/TextArea.js +314 -38
  83. package/dist/TimePicker.js +166 -0
  84. package/dist/TimePickerBase.js +463 -0
  85. package/dist/TimeSelection.js +493 -0
  86. package/dist/Title.js +18 -10
  87. package/dist/Toast.js +63 -37
  88. package/dist/ToggleButton.js +21 -13
  89. package/dist/Token.js +87 -49
  90. package/dist/Tokenizer.js +250 -65
  91. package/dist/Tree.js +443 -0
  92. package/dist/TreeItem.js +168 -0
  93. package/dist/TreeListItem.js +332 -0
  94. package/dist/WheelSlider.js +435 -0
  95. package/dist/YearPicker.js +201 -258
  96. package/dist/api.json +6877 -0
  97. package/dist/features/ColorPaletteMoreColors.js +42 -0
  98. package/dist/features/InputElementsFormSupport.js +35 -1
  99. package/dist/features/InputSuggestions.js +294 -52
  100. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
  105. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  110. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  111. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  112. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  113. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  114. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  115. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  116. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  117. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  118. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  119. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  120. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  121. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  122. package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
  123. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  124. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  125. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  126. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  127. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  128. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  129. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  131. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  132. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  133. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  134. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  135. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  136. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  137. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  138. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  139. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  140. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  141. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  142. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  143. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  144. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  145. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  146. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  147. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  148. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  149. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  150. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -0
  151. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  152. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  153. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -0
  154. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -0
  155. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
  156. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
  157. package/dist/generated/i18n/i18n-defaults.js +2 -2
  158. package/dist/generated/json-imports/Themes-static.js +35 -0
  159. package/dist/generated/json-imports/Themes.js +23 -13
  160. package/dist/generated/json-imports/i18n-static.js +162 -0
  161. package/dist/generated/json-imports/i18n.js +113 -89
  162. package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
  163. package/dist/generated/templates/AvatarTemplate.lit.js +9 -9
  164. package/dist/generated/templates/BadgeTemplate.lit.js +5 -6
  165. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
  166. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
  167. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -5
  168. package/dist/generated/templates/ButtonTemplate.lit.js +6 -6
  169. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -4
  170. package/dist/generated/templates/CalendarTemplate.lit.js +4 -4
  171. package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
  172. package/dist/generated/templates/CardTemplate.lit.js +5 -8
  173. package/dist/generated/templates/CarouselTemplate.lit.js +16 -0
  174. package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -7
  175. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
  176. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
  177. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
  178. package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
  179. package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
  180. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -5
  181. package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -5
  182. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -12
  183. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -4
  184. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -5
  185. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +12 -0
  186. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -11
  187. package/dist/generated/templates/DialogTemplate.lit.js +9 -8
  188. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +10 -0
  189. package/dist/generated/templates/FileUploaderTemplate.lit.js +10 -0
  190. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -4
  191. package/dist/generated/templates/IconTemplate.lit.js +6 -6
  192. package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -6
  193. package/dist/generated/templates/InputTemplate.lit.js +9 -8
  194. package/dist/generated/templates/LabelTemplate.lit.js +4 -4
  195. package/dist/generated/templates/LinkTemplate.lit.js +5 -5
  196. package/dist/generated/templates/ListItemTemplate.lit.js +13 -12
  197. package/dist/generated/templates/ListTemplate.lit.js +12 -8
  198. package/dist/generated/templates/MessageStripTemplate.lit.js +6 -22
  199. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
  200. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -7
  201. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -8
  202. package/dist/generated/templates/MultiInputTemplate.lit.js +16 -0
  203. package/dist/generated/templates/PanelTemplate.lit.js +9 -6
  204. package/dist/generated/templates/PopoverTemplate.lit.js +9 -9
  205. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +7 -0
  206. package/dist/generated/templates/PopupTemplate.lit.js +4 -4
  207. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +17 -0
  208. package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -7
  209. package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
  210. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +14 -0
  211. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -11
  212. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  213. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +7 -0
  214. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -6
  215. package/dist/generated/templates/SelectTemplate.lit.js +6 -4
  216. package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
  217. package/dist/generated/templates/SliderTemplate.lit.js +12 -0
  218. package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -18
  219. package/dist/generated/templates/StepInputTemplate.lit.js +10 -0
  220. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +27 -0
  221. package/dist/generated/templates/SwitchTemplate.lit.js +8 -6
  222. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +6 -8
  223. package/dist/generated/templates/TabContainerTemplate.lit.js +16 -18
  224. package/dist/generated/templates/TabInOverflowTemplate.lit.js +9 -0
  225. package/dist/generated/templates/TabInStripTemplate.lit.js +11 -0
  226. package/dist/generated/templates/TabSeparatorTemplate.lit.js +4 -4
  227. package/dist/generated/templates/TabTemplate.lit.js +4 -4
  228. package/dist/generated/templates/TableCellTemplate.lit.js +4 -4
  229. package/dist/generated/templates/TableColumnTemplate.lit.js +4 -4
  230. package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
  231. package/dist/generated/templates/TableRowTemplate.lit.js +12 -6
  232. package/dist/generated/templates/TableTemplate.lit.js +13 -8
  233. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +11 -0
  234. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -8
  235. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +7 -0
  236. package/dist/generated/templates/TimePickerTemplate.lit.js +9 -0
  237. package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
  238. package/dist/generated/templates/TitleTemplate.lit.js +10 -10
  239. package/dist/generated/templates/ToastTemplate.lit.js +5 -4
  240. package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -6
  241. package/dist/generated/templates/TokenTemplate.lit.js +7 -5
  242. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +12 -0
  243. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -6
  244. package/dist/generated/templates/TreeListItemTemplate.lit.js +21 -0
  245. package/dist/generated/templates/TreeTemplate.lit.js +8 -0
  246. package/dist/generated/templates/WheelSliderTemplate.lit.js +10 -0
  247. package/dist/generated/templates/YearPickerTemplate.lit.js +6 -6
  248. package/dist/generated/themes/Avatar.css.js +6 -7
  249. package/dist/generated/themes/AvatarGroup.css.js +8 -0
  250. package/dist/generated/themes/Badge.css.js +6 -7
  251. package/dist/generated/themes/Breadcrumbs.css.js +8 -0
  252. package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
  253. package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
  254. package/dist/generated/themes/BusyIndicator.css.js +6 -7
  255. package/dist/generated/themes/Button.css.js +6 -7
  256. package/dist/generated/themes/Button.ie11.css.js +8 -0
  257. package/dist/generated/themes/Calendar.css.js +6 -7
  258. package/dist/generated/themes/CalendarHeader.css.js +6 -7
  259. package/dist/generated/themes/Card.css.js +6 -7
  260. package/dist/generated/themes/CardHeader.css.js +8 -0
  261. package/dist/generated/themes/Carousel.css.js +8 -0
  262. package/dist/generated/themes/CheckBox.css.js +6 -7
  263. package/dist/generated/themes/ColorPalette.css.js +8 -0
  264. package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
  265. package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
  266. package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
  267. package/dist/generated/themes/ColorPicker.css.js +8 -0
  268. package/dist/generated/themes/ComboBox.css.js +6 -7
  269. package/dist/generated/themes/ComboBoxPopover.css.js +6 -7
  270. package/dist/generated/themes/CustomListItem.css.js +6 -7
  271. package/dist/generated/themes/DatePicker.css.js +6 -7
  272. package/dist/generated/themes/DatePickerPopover.css.js +6 -7
  273. package/dist/generated/themes/DateRangePicker.css.js +8 -0
  274. package/dist/generated/themes/DateTimePicker.css.js +8 -0
  275. package/dist/generated/themes/DateTimePickerPopover.css.js +8 -0
  276. package/dist/generated/themes/DayPicker.css.js +6 -7
  277. package/dist/generated/themes/Dialog.css.js +6 -7
  278. package/dist/generated/themes/FileUploader.css.js +8 -0
  279. package/dist/generated/themes/GroupHeaderListItem.css.js +6 -7
  280. package/dist/generated/themes/GrowingButton.css.js +8 -0
  281. package/dist/generated/themes/Icon.css.js +6 -7
  282. package/dist/generated/themes/Input.css.js +6 -7
  283. package/dist/generated/themes/InputIcon.css.js +6 -7
  284. package/dist/generated/themes/InvisibleTextStyles.css.js +6 -7
  285. package/dist/generated/themes/Label.css.js +6 -7
  286. package/dist/generated/themes/Link.css.js +6 -7
  287. package/dist/generated/themes/List.css.js +6 -7
  288. package/dist/generated/themes/ListItem.css.js +6 -7
  289. package/dist/generated/themes/ListItemBase.css.js +6 -7
  290. package/dist/generated/themes/MessageStrip.css.js +6 -7
  291. package/dist/generated/themes/MonthPicker.css.js +6 -7
  292. package/dist/generated/themes/MultiComboBox.css.js +6 -7
  293. package/dist/generated/themes/MultiInput.css.js +8 -0
  294. package/dist/generated/themes/Panel.css.js +6 -7
  295. package/dist/generated/themes/Popover.css.js +6 -7
  296. package/dist/generated/themes/Popup.css.js +6 -7
  297. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  298. package/dist/generated/themes/PopupStaticAreaStyles.css.js +8 -0
  299. package/dist/generated/themes/PopupsCommon.css.js +8 -0
  300. package/dist/generated/themes/ProgressIndicator.css.js +8 -0
  301. package/dist/generated/themes/RadioButton.css.js +6 -7
  302. package/dist/generated/themes/RatingIndicator.css.js +8 -0
  303. package/dist/generated/themes/ResponsivePopover.css.js +6 -7
  304. package/dist/generated/themes/ResponsivePopoverCommon.css.js +6 -7
  305. package/dist/generated/themes/SegmentedButton.css.js +8 -0
  306. package/dist/generated/themes/Select.css.js +6 -7
  307. package/dist/generated/themes/SelectPopover.css.js +8 -0
  308. package/dist/generated/themes/SliderBase.css.js +8 -0
  309. package/dist/generated/themes/StepInput.css.js +8 -0
  310. package/dist/generated/themes/Suggestions.css.js +8 -0
  311. package/dist/generated/themes/Switch.css.js +6 -7
  312. package/dist/generated/themes/Tab.css.js +6 -7
  313. package/dist/generated/themes/TabContainer.css.js +6 -7
  314. package/dist/generated/themes/TabInOverflow.css.js +8 -0
  315. package/dist/generated/themes/TabInStrip.css.js +8 -0
  316. package/dist/generated/themes/Table.css.js +6 -7
  317. package/dist/generated/themes/TableCell.css.js +6 -7
  318. package/dist/generated/themes/TableColumn.css.js +6 -7
  319. package/dist/generated/themes/TableGroupRow.css.js +8 -0
  320. package/dist/generated/themes/TableRow.css.js +6 -7
  321. package/dist/generated/themes/TapHighlightColor.css.js +8 -0
  322. package/dist/generated/themes/TextArea.css.js +6 -7
  323. package/dist/generated/themes/TimePicker.css.js +8 -0
  324. package/dist/generated/themes/TimePickerPopover.css.js +8 -0
  325. package/dist/generated/themes/TimeSelection.css.js +8 -0
  326. package/dist/generated/themes/Title.css.js +6 -7
  327. package/dist/generated/themes/Toast.css.js +6 -7
  328. package/dist/generated/themes/ToggleButton.css.js +6 -7
  329. package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
  330. package/dist/generated/themes/Token.css.js +6 -7
  331. package/dist/generated/themes/Tokenizer.css.js +6 -7
  332. package/dist/generated/themes/Tree.css.js +8 -0
  333. package/dist/generated/themes/TreeListItem.css.js +8 -0
  334. package/dist/generated/themes/ValueStateMessage.css.js +8 -0
  335. package/dist/generated/themes/WheelSlider.css.js +8 -0
  336. package/dist/generated/themes/YearPicker.css.js +6 -7
  337. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  338. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  339. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -0
  340. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  341. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  342. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -0
  343. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -0
  344. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
  345. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
  346. package/dist/i18n/messagebundle.properties +335 -0
  347. package/dist/i18n/messagebundle_ar.properties +224 -0
  348. package/dist/i18n/messagebundle_bg.properties +224 -0
  349. package/dist/i18n/messagebundle_ca.properties +224 -0
  350. package/dist/i18n/messagebundle_cs.properties +224 -0
  351. package/dist/i18n/messagebundle_cy.properties +224 -0
  352. package/dist/i18n/messagebundle_da.properties +224 -0
  353. package/dist/i18n/messagebundle_de.properties +224 -0
  354. package/dist/i18n/messagebundle_el.properties +224 -0
  355. package/dist/i18n/messagebundle_en.properties +224 -0
  356. package/dist/i18n/messagebundle_en_GB.properties +224 -0
  357. package/dist/i18n/messagebundle_en_US_sappsd.properties +224 -0
  358. package/dist/i18n/messagebundle_en_US_saprigi.properties +224 -0
  359. package/dist/i18n/messagebundle_en_US_saptrc.properties +224 -0
  360. package/dist/i18n/messagebundle_es.properties +224 -0
  361. package/dist/i18n/messagebundle_es_MX.properties +224 -0
  362. package/dist/i18n/messagebundle_et.properties +224 -0
  363. package/dist/i18n/messagebundle_fi.properties +224 -0
  364. package/dist/i18n/messagebundle_fr.properties +224 -0
  365. package/dist/i18n/messagebundle_fr_CA.properties +224 -0
  366. package/dist/i18n/messagebundle_hi.properties +224 -0
  367. package/dist/i18n/messagebundle_hr.properties +224 -0
  368. package/dist/i18n/messagebundle_hu.properties +224 -0
  369. package/dist/i18n/messagebundle_id.properties +224 -0
  370. package/dist/i18n/messagebundle_in.properties +172 -0
  371. package/dist/i18n/messagebundle_it.properties +224 -0
  372. package/dist/i18n/messagebundle_iw.properties +224 -0
  373. package/dist/i18n/messagebundle_ja.properties +224 -0
  374. package/dist/i18n/messagebundle_kk.properties +224 -0
  375. package/dist/i18n/messagebundle_ko.properties +224 -0
  376. package/dist/i18n/messagebundle_lt.properties +224 -0
  377. package/dist/i18n/messagebundle_lv.properties +224 -0
  378. package/dist/i18n/messagebundle_ms.properties +224 -0
  379. package/dist/i18n/messagebundle_nl.properties +224 -0
  380. package/dist/i18n/messagebundle_no.properties +224 -0
  381. package/dist/i18n/messagebundle_pl.properties +224 -0
  382. package/dist/i18n/messagebundle_pt.properties +224 -0
  383. package/dist/i18n/messagebundle_pt_PT.properties +224 -0
  384. package/dist/i18n/messagebundle_ro.properties +224 -0
  385. package/dist/i18n/messagebundle_ru.properties +224 -0
  386. package/dist/i18n/messagebundle_sh.properties +224 -0
  387. package/dist/i18n/messagebundle_sk.properties +224 -0
  388. package/dist/i18n/messagebundle_sl.properties +224 -0
  389. package/dist/i18n/messagebundle_sv.properties +224 -0
  390. package/dist/i18n/messagebundle_th.properties +224 -0
  391. package/dist/i18n/messagebundle_tr.properties +224 -0
  392. package/dist/i18n/messagebundle_uk.properties +224 -0
  393. package/dist/i18n/messagebundle_vi.properties +224 -0
  394. package/dist/i18n/messagebundle_zh_CN.properties +224 -0
  395. package/dist/i18n/messagebundle_zh_TW.properties +224 -0
  396. package/dist/popup-utils/OpenedPopupsRegistry.js +18 -13
  397. package/dist/popup-utils/PopoverRegistry.js +55 -21
  398. package/dist/timepicker-utils/TimeSlider.js +103 -0
  399. package/dist/types/{AvatarBackgroundColor.js → AvatarColorScheme.js} +9 -9
  400. package/dist/types/AvatarGroupType.js +43 -0
  401. package/dist/types/AvatarShape.js +1 -1
  402. package/dist/types/AvatarSize.js +1 -1
  403. package/dist/types/BreadcrumbsDesign.js +42 -0
  404. package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
  405. package/dist/types/BusyIndicatorSize.js +1 -1
  406. package/dist/types/ButtonDesign.js +8 -1
  407. package/dist/types/CalendarSelectionMode.js +47 -0
  408. package/dist/types/CarouselArrowsPlacement.js +40 -0
  409. package/dist/types/GrowingMode.js +48 -0
  410. package/dist/types/InputType.js +7 -7
  411. package/dist/types/LinkDesign.js +1 -1
  412. package/dist/types/ListGrowingMode.js +15 -0
  413. package/dist/types/ListItemType.js +8 -1
  414. package/dist/types/ListMode.js +9 -1
  415. package/dist/types/ListSeparators.js +1 -1
  416. package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  417. package/dist/types/PanelAccessibleRole.js +1 -1
  418. package/dist/types/PopoverHorizontalAlign.js +1 -1
  419. package/dist/types/PopoverPlacementType.js +2 -2
  420. package/dist/types/PopoverVerticalAlign.js +1 -2
  421. package/dist/types/Priority.js +55 -0
  422. package/dist/types/SemanticColor.js +1 -1
  423. package/dist/types/SwitchDesign.js +40 -0
  424. package/dist/types/TabContainerTabsPlacement.js +40 -0
  425. package/dist/types/TabLayout.js +40 -0
  426. package/dist/types/TableGrowingMode.js +15 -0
  427. package/dist/types/TableMode.js +47 -0
  428. package/dist/types/TableRowType.js +40 -0
  429. package/dist/types/TitleLevel.js +1 -1
  430. package/dist/types/ToastPlacement.js +1 -2
  431. package/dist/types/WrappingType.js +41 -0
  432. package/dist/webcomponentsjs/CHANGELOG.md +61 -0
  433. package/dist/webcomponentsjs/README.md +64 -47
  434. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
  435. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
  436. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
  437. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
  438. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
  439. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
  440. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
  441. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
  442. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
  443. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
  444. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
  445. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
  446. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
  447. package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
  448. package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
  449. package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
  450. package/package-scripts.js +1 -0
  451. package/package.json +23 -8
  452. package/src/Assets-static.js +6 -0
  453. package/src/Assets.js +7 -0
  454. package/src/Avatar.hbs +20 -0
  455. package/src/Avatar.js +392 -0
  456. package/src/AvatarGroup.hbs +30 -0
  457. package/src/AvatarGroup.js +603 -0
  458. package/src/Badge.hbs +14 -0
  459. package/src/Badge.js +165 -0
  460. package/src/Breadcrumbs.hbs +42 -0
  461. package/src/Breadcrumbs.js +563 -0
  462. package/src/BreadcrumbsItem.js +109 -0
  463. package/src/BreadcrumbsPopover.hbs +28 -0
  464. package/src/BusyIndicator.hbs +32 -0
  465. package/src/BusyIndicator.js +269 -0
  466. package/src/Button.hbs +45 -0
  467. package/src/Button.js +463 -0
  468. package/src/Calendar.hbs +69 -0
  469. package/src/Calendar.js +489 -0
  470. package/src/CalendarDate.js +45 -0
  471. package/src/CalendarHeader.hbs +54 -0
  472. package/src/CalendarHeader.js +209 -0
  473. package/src/CalendarPart.js +111 -0
  474. package/src/Card.hbs +14 -0
  475. package/src/Card.js +160 -0
  476. package/src/CardHeader.hbs +35 -0
  477. package/src/CardHeader.js +288 -0
  478. package/src/Carousel.hbs +85 -0
  479. package/src/Carousel.js +681 -0
  480. package/src/CheckBox.hbs +44 -0
  481. package/src/CheckBox.js +424 -0
  482. package/src/ColorPalette.hbs +52 -0
  483. package/src/ColorPalette.js +493 -0
  484. package/src/ColorPaletteDialog.hbs +18 -0
  485. package/src/ColorPaletteItem.hbs +11 -0
  486. package/src/ColorPaletteItem.js +137 -0
  487. package/src/ColorPalettePopover.hbs +29 -0
  488. package/src/ColorPalettePopover.js +219 -0
  489. package/src/ColorPicker.hbs +98 -0
  490. package/src/ColorPicker.js +524 -0
  491. package/src/ComboBox.hbs +49 -0
  492. package/src/ComboBox.js +1041 -0
  493. package/src/ComboBoxFilters.js +40 -0
  494. package/src/ComboBoxGroupItem.js +70 -0
  495. package/src/ComboBoxItem.js +49 -0
  496. package/src/ComboBoxPopover.hbs +125 -0
  497. package/src/CustomListItem.hbs +5 -0
  498. package/src/CustomListItem.js +99 -0
  499. package/src/DateComponentBase.js +170 -0
  500. package/src/DatePicker.hbs +44 -0
  501. package/src/DatePicker.js +823 -0
  502. package/src/DatePickerPopover.hbs +63 -0
  503. package/src/DateRangePicker.js +328 -0
  504. package/src/DateTimePicker.js +430 -0
  505. package/src/DateTimePickerPopover.hbs +74 -0
  506. package/src/DayPicker.hbs +66 -0
  507. package/src/DayPicker.js +754 -0
  508. package/src/Dialog.hbs +35 -0
  509. package/src/Dialog.js +601 -0
  510. package/src/DurationPicker.js +312 -0
  511. package/src/FileUploader.hbs +40 -0
  512. package/src/FileUploader.js +532 -0
  513. package/src/FileUploaderPopover.hbs +25 -0
  514. package/src/GroupHeaderListItem.hbs +15 -0
  515. package/src/GroupHeaderListItem.js +94 -0
  516. package/src/Icon.hbs +25 -0
  517. package/src/Icon.js +373 -0
  518. package/src/Input.hbs +78 -0
  519. package/src/Input.js +1381 -0
  520. package/src/InputPopover.hbs +118 -0
  521. package/src/Interfaces.js +192 -0
  522. package/src/Label.hbs +13 -0
  523. package/src/Label.js +152 -0
  524. package/src/Link.hbs +20 -0
  525. package/src/Link.js +349 -0
  526. package/src/List.hbs +89 -0
  527. package/src/List.js +1056 -0
  528. package/src/ListItem.hbs +102 -0
  529. package/src/ListItem.js +371 -0
  530. package/src/ListItemBase.js +179 -0
  531. package/src/MessageStrip.hbs +34 -0
  532. package/src/MessageStrip.js +227 -0
  533. package/src/MonthPicker.hbs +29 -0
  534. package/src/MonthPicker.js +299 -0
  535. package/src/MultiComboBox.hbs +78 -0
  536. package/src/MultiComboBox.js +1091 -0
  537. package/src/MultiComboBoxItem.js +43 -0
  538. package/src/MultiComboBoxPopover.hbs +133 -0
  539. package/src/MultiInput.hbs +41 -0
  540. package/src/MultiInput.js +301 -0
  541. package/src/Option.js +115 -0
  542. package/src/Panel.hbs +63 -0
  543. package/src/Panel.js +462 -0
  544. package/src/Popover.hbs +25 -0
  545. package/src/Popover.js +786 -0
  546. package/src/Popup.hbs +34 -0
  547. package/src/Popup.js +567 -0
  548. package/src/PopupBlockLayer.hbs +7 -0
  549. package/src/ProgressIndicator.hbs +35 -0
  550. package/src/ProgressIndicator.js +235 -0
  551. package/src/RadioButton.hbs +33 -0
  552. package/src/RadioButton.js +494 -0
  553. package/src/RadioButtonGroup.js +205 -0
  554. package/src/RangeSlider.hbs +70 -0
  555. package/src/RangeSlider.js +769 -0
  556. package/src/RatingIndicator.hbs +33 -0
  557. package/src/RatingIndicator.js +291 -0
  558. package/src/ResponsivePopover.hbs +39 -0
  559. package/src/ResponsivePopover.js +206 -0
  560. package/src/SegmentedButton.hbs +17 -0
  561. package/src/SegmentedButton.js +290 -0
  562. package/src/SegmentedButtonItem.hbs +42 -0
  563. package/src/SegmentedButtonItem.js +109 -0
  564. package/src/Select.hbs +45 -0
  565. package/src/Select.js +834 -0
  566. package/src/SelectPopover.hbs +89 -0
  567. package/src/Slider.hbs +42 -0
  568. package/src/Slider.js +320 -0
  569. package/src/SliderBase.hbs +38 -0
  570. package/src/SliderBase.js +842 -0
  571. package/src/StandardListItem.hbs +44 -0
  572. package/src/StandardListItem.js +191 -0
  573. package/src/StepInput.hbs +80 -0
  574. package/src/StepInput.js +684 -0
  575. package/src/SuggestionGroupItem.js +64 -0
  576. package/src/SuggestionItem.js +146 -0
  577. package/src/SuggestionListItem.hbs +33 -0
  578. package/src/SuggestionListItem.js +76 -0
  579. package/src/Switch.hbs +50 -0
  580. package/src/Switch.js +262 -0
  581. package/src/Tab.hbs +3 -0
  582. package/src/Tab.js +334 -0
  583. package/src/TabContainer.hbs +93 -0
  584. package/src/TabContainer.js +679 -0
  585. package/src/TabContainerPopover.hbs +24 -0
  586. package/src/TabInOverflow.hbs +22 -0
  587. package/src/TabInStrip.hbs +43 -0
  588. package/src/TabSeparator.hbs +1 -0
  589. package/src/TabSeparator.js +44 -0
  590. package/src/Table.hbs +99 -0
  591. package/src/Table.js +761 -0
  592. package/src/TableCell.hbs +7 -0
  593. package/src/TableCell.js +88 -0
  594. package/src/TableColumn.hbs +8 -0
  595. package/src/TableColumn.js +136 -0
  596. package/src/TableGroupRow.hbs +12 -0
  597. package/src/TableGroupRow.js +160 -0
  598. package/src/TableRow.hbs +61 -0
  599. package/src/TableRow.js +388 -0
  600. package/src/TextArea.hbs +50 -0
  601. package/src/TextArea.js +691 -0
  602. package/src/TextAreaPopover.hbs +28 -0
  603. package/src/TimePicker.hbs +35 -0
  604. package/src/TimePicker.js +166 -0
  605. package/src/TimePickerBase.js +463 -0
  606. package/src/TimePickerPopover.hbs +34 -0
  607. package/src/TimeSelection.hbs +60 -0
  608. package/src/TimeSelection.js +493 -0
  609. package/src/Title.hbs +47 -0
  610. package/src/Title.js +132 -0
  611. package/src/Toast.hbs +13 -0
  612. package/src/Toast.js +243 -0
  613. package/src/ToggleButton.hbs +5 -0
  614. package/src/ToggleButton.js +84 -0
  615. package/src/Token.hbs +30 -0
  616. package/src/Token.js +219 -0
  617. package/src/Tokenizer.hbs +27 -0
  618. package/src/Tokenizer.js +414 -0
  619. package/src/TokenizerPopover.hbs +50 -0
  620. package/src/Tree.hbs +42 -0
  621. package/src/Tree.js +443 -0
  622. package/src/TreeItem.js +168 -0
  623. package/src/TreeListItem.hbs +48 -0
  624. package/src/TreeListItem.js +332 -0
  625. package/src/WheelSlider.hbs +48 -0
  626. package/src/WheelSlider.js +435 -0
  627. package/src/YearPicker.hbs +27 -0
  628. package/src/YearPicker.js +324 -0
  629. package/src/features/ColorPaletteMoreColors.js +42 -0
  630. package/src/features/InputElementsFormSupport.js +88 -0
  631. package/src/features/InputSuggestions.js +530 -0
  632. package/src/i18n/messagebundle.properties +335 -0
  633. package/src/i18n/messagebundle_ar.properties +224 -0
  634. package/src/i18n/messagebundle_bg.properties +224 -0
  635. package/src/i18n/messagebundle_ca.properties +224 -0
  636. package/src/i18n/messagebundle_cs.properties +224 -0
  637. package/src/i18n/messagebundle_cy.properties +224 -0
  638. package/src/i18n/messagebundle_da.properties +224 -0
  639. package/src/i18n/messagebundle_de.properties +224 -0
  640. package/src/i18n/messagebundle_el.properties +224 -0
  641. package/src/i18n/messagebundle_en.properties +224 -0
  642. package/src/i18n/messagebundle_en_GB.properties +224 -0
  643. package/src/i18n/messagebundle_en_US_sappsd.properties +224 -0
  644. package/src/i18n/messagebundle_en_US_saprigi.properties +224 -0
  645. package/src/i18n/messagebundle_en_US_saptrc.properties +224 -0
  646. package/src/i18n/messagebundle_es.properties +224 -0
  647. package/src/i18n/messagebundle_es_MX.properties +224 -0
  648. package/src/i18n/messagebundle_et.properties +224 -0
  649. package/src/i18n/messagebundle_fi.properties +224 -0
  650. package/src/i18n/messagebundle_fr.properties +224 -0
  651. package/src/i18n/messagebundle_fr_CA.properties +224 -0
  652. package/src/i18n/messagebundle_hi.properties +224 -0
  653. package/src/i18n/messagebundle_hr.properties +224 -0
  654. package/src/i18n/messagebundle_hu.properties +224 -0
  655. package/src/i18n/messagebundle_id.properties +224 -0
  656. package/src/i18n/messagebundle_in.properties +172 -0
  657. package/src/i18n/messagebundle_it.properties +224 -0
  658. package/src/i18n/messagebundle_iw.properties +224 -0
  659. package/src/i18n/messagebundle_ja.properties +224 -0
  660. package/src/i18n/messagebundle_kk.properties +224 -0
  661. package/src/i18n/messagebundle_ko.properties +224 -0
  662. package/src/i18n/messagebundle_lt.properties +224 -0
  663. package/src/i18n/messagebundle_lv.properties +224 -0
  664. package/src/i18n/messagebundle_ms.properties +224 -0
  665. package/src/i18n/messagebundle_nl.properties +224 -0
  666. package/src/i18n/messagebundle_no.properties +224 -0
  667. package/src/i18n/messagebundle_pl.properties +224 -0
  668. package/src/i18n/messagebundle_pt.properties +224 -0
  669. package/src/i18n/messagebundle_pt_PT.properties +224 -0
  670. package/src/i18n/messagebundle_ro.properties +224 -0
  671. package/src/i18n/messagebundle_ru.properties +224 -0
  672. package/src/i18n/messagebundle_sh.properties +224 -0
  673. package/src/i18n/messagebundle_sk.properties +224 -0
  674. package/src/i18n/messagebundle_sl.properties +224 -0
  675. package/src/i18n/messagebundle_sv.properties +224 -0
  676. package/src/i18n/messagebundle_th.properties +224 -0
  677. package/src/i18n/messagebundle_tr.properties +224 -0
  678. package/src/i18n/messagebundle_uk.properties +224 -0
  679. package/src/i18n/messagebundle_vi.properties +224 -0
  680. package/src/i18n/messagebundle_zh_CN.properties +224 -0
  681. package/src/i18n/messagebundle_zh_TW.properties +224 -0
  682. package/src/popup-utils/OpenedPopupsRegistry.js +50 -0
  683. package/src/popup-utils/PopoverRegistry.js +145 -0
  684. package/src/timepicker-utils/TimeSlider.js +103 -0
  685. package/src/types/AvatarColorScheme.js +104 -0
  686. package/src/types/AvatarGroupType.js +43 -0
  687. package/src/types/AvatarShape.js +41 -0
  688. package/src/types/AvatarSize.js +67 -0
  689. package/src/types/BreadcrumbsDesign.js +42 -0
  690. package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
  691. package/src/types/BusyIndicatorSize.js +47 -0
  692. package/src/types/ButtonDesign.js +68 -0
  693. package/src/types/CalendarSelectionMode.js +47 -0
  694. package/src/types/CarouselArrowsPlacement.js +40 -0
  695. package/src/types/GrowingMode.js +48 -0
  696. package/src/types/InputType.js +68 -0
  697. package/src/types/LinkDesign.js +47 -0
  698. package/src/types/ListGrowingMode.js +15 -0
  699. package/src/types/ListItemType.js +47 -0
  700. package/src/types/ListMode.js +77 -0
  701. package/src/types/ListSeparators.js +46 -0
  702. package/src/types/MessageStripDesign.js +54 -0
  703. package/src/types/PanelAccessibleRole.js +48 -0
  704. package/src/types/PopoverHorizontalAlign.js +54 -0
  705. package/src/types/PopoverPlacementType.js +54 -0
  706. package/src/types/PopoverVerticalAlign.js +54 -0
  707. package/src/types/Priority.js +55 -0
  708. package/src/types/SemanticColor.js +61 -0
  709. package/src/types/SwitchDesign.js +40 -0
  710. package/src/types/TabContainerTabsPlacement.js +40 -0
  711. package/src/types/TabLayout.js +40 -0
  712. package/src/types/TableGrowingMode.js +15 -0
  713. package/src/types/TableMode.js +47 -0
  714. package/src/types/TableRowType.js +40 -0
  715. package/src/types/TitleLevel.js +68 -0
  716. package/src/types/ToastPlacement.js +91 -0
  717. package/src/types/WrappingType.js +41 -0
  718. package/dist/Timeline.js +0 -81
  719. package/dist/TimelineItem.js +0 -163
  720. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -7
  721. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
  722. package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
  723. package/dist/generated/themes/ComboBoxItem.css.js +0 -9
  724. package/dist/generated/themes/TabContainerPopup.css.js +0 -9
  725. package/dist/generated/themes/Timeline.css.js +0 -9
  726. package/dist/generated/themes/TimelineItem.css.js +0 -9
  727. package/dist/popup-utils/PopupUtils.js +0 -42
  728. package/dist/types/AvatarFitType.js +0 -40
  729. package/dist/webcomponentsjs/package.json +0 -46
  730. package/index.js +0 -2
package/dist/Table.js CHANGED
@@ -2,25 +2,49 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
3
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
4
4
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
5
+ import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
5
6
  import NavigationMode from "@ui5/webcomponents-base/dist/types/NavigationMode.js";
7
+ import { isIE } from "@ui5/webcomponents-base/dist/Device.js";
8
+ import { isSpace, isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
9
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
10
+ import debounce from "@ui5/webcomponents-base/dist/util/debounce.js";
11
+ import isElementInView from "@ui5/webcomponents-base/dist/util/isElementInView.js";
12
+ import TableGrowingMode from "./types/TableGrowingMode.js";
13
+ import BusyIndicator from "./BusyIndicator.js";
14
+ import TableMode from "./types/TableMode.js";
15
+ import CheckBox from "./CheckBox.js"; // Ensure the dependency as it is being used in the renderer
16
+
17
+ // Texts
18
+ import {
19
+ LOAD_MORE_TEXT,
20
+ ARIA_LABEL_SELECT_ALL_CHECKBOX,
21
+ TABLE_HEADER_ROW_TEXT,
22
+ TABLE_ROW_POSITION,
23
+ } from "./generated/i18n/i18n-defaults.js";
24
+
25
+ // Template
6
26
  import TableTemplate from "./generated/templates/TableTemplate.lit.js";
7
27
 
8
28
  // Styles
9
29
  import styles from "./generated/themes/Table.css.js";
10
30
 
31
+ const GROWING_WITH_SCROLL_DEBOUNCE_RATE = 250; // ms
32
+
11
33
  /**
12
34
  * @public
13
35
  */
14
36
  const metadata = {
15
37
  tag: "ui5-table",
38
+ managedSlots: true,
16
39
  slots: /** @lends sap.ui.webcomponents.main.Table.prototype */ {
17
40
 
18
41
  /**
19
- * Defines the <code>ui5-table</code> rows.
20
- * <br><b>Note:</b> Use <code>ui5-table-row</code> for the intended design.
42
+ * Defines the component rows.
43
+ * <br><br>
44
+ * <b>Note:</b> Use <code>ui5-table-row</code> for the intended design.
21
45
  *
22
- * @type {HTMLElement[]}
23
- * @slot
46
+ * @type {sap.ui.webcomponents.main.ITableRow[]}
47
+ * @slot rows
24
48
  * @public
25
49
  */
26
50
  "default": {
@@ -30,42 +54,134 @@ const metadata = {
30
54
  },
31
55
 
32
56
  /**
33
- * Defines the configuration for the columns of the <code>ui5-table</code>.
34
- * <br><b>Note:</b> Use <code>ui5-table-column</code> for the intended design.
57
+ * Defines the configuration for the columns of the component.
58
+ * <br><br>
59
+ * <b>Note:</b> Use <code>ui5-table-column</code> for the intended design.
35
60
  *
36
- * @type {HTMLElement[]}
61
+ * @type {sap.ui.webcomponents.main.ITableColumn[]}
37
62
  * @slot
38
63
  * @public
39
64
  */
40
65
  columns: {
41
66
  type: HTMLElement,
42
67
  individualSlots: true,
43
- listenFor: { include: ["*"] },
68
+ invalidateOnChildChange: {
69
+ properties: true,
70
+ slots: false,
71
+ },
44
72
  },
45
73
  },
46
74
  properties: /** @lends sap.ui.webcomponents.main.Table.prototype */ {
47
75
 
48
76
  /**
49
- * Defines the text that will be displayed when there is no data and <code>showNoData</code> is present.
77
+ * Defines the text that will be displayed when there is no data and <code>hideNoData</code> is not present.
50
78
  *
51
79
  * @type {string}
52
- * @defaultvalue: ""
80
+ * @defaultvalue ""
53
81
  * @public
54
82
  */
55
83
  noDataText: {
56
84
  type: String,
57
85
  },
58
86
 
87
+ /**
88
+ * Defines the text that will be displayed inside the growing button at the bottom of the table,
89
+ * meant for loading more rows upon press.
90
+ *
91
+ * <br><br>
92
+ * <b>Note:</b> If not specified a built-in text will be displayed.
93
+ * <br>
94
+ * <b>Note:</b> This property takes effect if <code>growing</code> is set to <code>Button</code>.
95
+ *
96
+ * @type {string}
97
+ * @defaultvalue ""
98
+ * @since 1.0.0-rc.15
99
+ * @public
100
+ */
101
+ growingButtonText: {
102
+ type: String,
103
+ },
104
+
105
+ /**
106
+ * Defines the subtext that will be displayed under the <code>growingButtonText</code>.
107
+ *
108
+ * <br><br>
109
+ * <b>Note:</b> This property takes effect if <code>growing</code> is set to <code>Button</code>.
110
+ *
111
+ * @type {string}
112
+ * @defaultvalue ""
113
+ * @since 1.0.0-rc.15
114
+ * @public
115
+ */
116
+ growingButtonSubtext: {
117
+ type: String,
118
+ },
119
+
59
120
  /**
60
121
  * Defines if the value of <code>noDataText</code> will be diplayed when there is no rows present in the table.
61
122
  *
62
123
  * @type {boolean}
63
124
  * @defaultvalue false
64
125
  * @public
126
+ * @since 1.0.0-rc.15
127
+ */
128
+ hideNoData: {
129
+ type: Boolean,
130
+ },
131
+
132
+ /**
133
+ * Defines whether the table will have growing capability either by pressing a <code>More</code> button,
134
+ * or via user scroll. In both cases <code>load-more</code> event is fired.
135
+ * <br><br>
136
+ *
137
+ * Available options:
138
+ * <br><br>
139
+ * <code>Button</code> - Shows a <code>More</code> button at the bottom of the table, pressing of which triggers the <code>load-more</code> event.
140
+ * <br>
141
+ * <code>Scroll</code> - The <code>load-more</code> event is triggered when the user scrolls to the bottom of the table;
142
+ * <br>
143
+ * <code>None</code> (default) - The growing is off.
144
+ * <br><br>
145
+ *
146
+ * <b>Limitations:</b> <code>growing="Scroll"</code> is not supported for Internet Explorer,
147
+ * and the component will fallback to <code>growing="Button"</code>.
148
+ * @type {TableGrowingMode}
149
+ * @defaultvalue "None"
150
+ * @since 1.0.0-rc.12
151
+ * @public
65
152
  */
66
- showNoData: {
153
+ growing: {
154
+ type: TableGrowingMode,
155
+ defaultValue: TableGrowingMode.None,
156
+ },
157
+
158
+ /**
159
+ * Defines if the table is in busy state.
160
+ * <b>
161
+ *
162
+ * In this state the component's opacity is reduced
163
+ * and busy indicator is displayed at the bottom of the table.
164
+ * @type {boolean}
165
+ * @defaultvalue false
166
+ * @since 1.0.0-rc.12
167
+ * @public
168
+ */
169
+ busy: {
67
170
  type: Boolean,
68
171
  },
172
+
173
+ /**
174
+ * Defines the delay in milliseconds, after which the busy indicator will show up for this component.
175
+ *
176
+ * @type {Integer}
177
+ * @defaultValue 1000
178
+ * @public
179
+ */
180
+ busyDelay: {
181
+ type: Integer,
182
+ defaultValue: 1000,
183
+ },
184
+
69
185
  /**
70
186
  * Determines whether the column headers remain fixed at the top of the page during
71
187
  * vertical scrolling as long as the Web Component is in the viewport.
@@ -96,6 +212,25 @@ const metadata = {
96
212
  type: Boolean,
97
213
  },
98
214
 
215
+ /**
216
+ * Defines the mode of the component.
217
+ * <br><br>
218
+ * Available options are:
219
+ * <ul>
220
+ * <li><code>MultiSelect</code></li>
221
+ * <li><code>SingleSelect</code></li>
222
+ * <li><code>None</code></li>
223
+ * <ul>
224
+ * @type {TableMode}
225
+ * @defaultvalue "None"
226
+ * @since 1.0.0-rc.15
227
+ * @public
228
+ */
229
+ mode: {
230
+ type: TableMode,
231
+ defaultValue: TableMode.None,
232
+ },
233
+
99
234
  _hiddenColumns: {
100
235
  type: Object,
101
236
  multiple: true,
@@ -104,34 +239,97 @@ const metadata = {
104
239
  _noDataDisplayed: {
105
240
  type: Boolean,
106
241
  },
242
+
243
+ /**
244
+ * Defines the active state of the <code>More</code> button.
245
+ * @private
246
+ */
247
+ _loadMoreActive: {
248
+ type: Boolean,
249
+ },
250
+
251
+ /**
252
+ * Used to represent the table column header for the purpose of the item navigation as it does not work with DOM objects directly
253
+ * @private
254
+ */
255
+ _columnHeader: {
256
+ type: Object,
257
+ },
258
+
259
+ /**
260
+ * Defines if the entire table is in view port.
261
+ * @private
262
+ */
263
+ _inViewport: {
264
+ type: Boolean,
265
+ },
266
+
267
+ /**
268
+ * Defines whether all rows are selected or not when table is in MultiSelect mode.
269
+ * @type {Boolean}
270
+ * @defaultvalue false
271
+ * @since 1.0.0-rc.15
272
+ * @private
273
+ */
274
+ _allRowsSelected: {
275
+ type: Boolean,
276
+ },
107
277
  },
108
278
  events: /** @lends sap.ui.webcomponents.main.Table.prototype */ {
109
279
  /**
110
- * Fired when a row is clicked.
280
+ * Fired when a row in <code>Active</code> mode is clicked or <code>Enter</code> key is pressed.
111
281
  *
112
- * @event
113
- * @param {HTMLElement} row the clicked row.
282
+ * @event sap.ui.webcomponents.main.Table#row-click
283
+ * @param {HTMLElement} row the activated row.
114
284
  * @public
115
285
  */
116
- rowClick: {
286
+ "row-click": {
117
287
  detail: {
118
288
  row: { type: HTMLElement },
119
289
  },
120
290
  },
121
291
 
122
292
  /**
123
- * Fired when the <code>ui5-table-column</code> is shown as a pop-in instead of hiding it.
293
+ * Fired when <code>ui5-table-column</code> is shown as a pop-in instead of hiding it.
124
294
  *
125
- * @event
295
+ * @event sap.ui.webcomponents.main.Table#popin-change
126
296
  * @param {Array} poppedColumns popped-in columns.
127
297
  * @since 1.0.0-rc.6
128
298
  * @public
129
299
  */
130
- popinChange: {
300
+ "popin-change": {
131
301
  detail: {
132
302
  poppedColumns: {},
133
303
  },
134
304
  },
305
+
306
+ /**
307
+ * Fired when the user presses the <code>More</code> button or scrolls to the table's end.
308
+ * <br><br>
309
+ *
310
+ * <b>Note:</b> The event will be fired if <code>growing</code> is set to <code>Button</code> or <code>Scroll</code>.
311
+ * @event sap.ui.webcomponents.main.Table#load-more
312
+ * @public
313
+ * @since 1.0.0-rc.11
314
+ */
315
+ "load-more": {},
316
+
317
+ /**
318
+ * Fired when selection is changed by user interaction
319
+ * in <code>SingleSelect</code> and <code>MultiSelect</code> modes.
320
+ *
321
+ * @event sap.ui.webcomponents.main.Table#selection-change
322
+ * @param {Array} selectedRows An array of the selected rows.
323
+ * @param {Array} previouslySelectedRows An array of the previously selected rows.
324
+ * @public
325
+ * @since 1.0.0-rc.15
326
+ */
327
+ "selection-change": {
328
+ detail: {
329
+ selectedRows: { type: Array },
330
+ previouslySelectedRows: { type: Array },
331
+ },
332
+ },
135
333
  },
136
334
  };
137
335
 
@@ -150,6 +348,22 @@ const metadata = {
150
348
  * On tablets, special consideration should be given to the number of visible columns
151
349
  * and rows due to the limited performance of some devices.
152
350
  *
351
+ * <h3>Selection</h3>
352
+ * To benefit from the selection mechanism of <code>ui5-table</code> component, you can use the available selection modes:
353
+ * <code>SingleSelect</code> and <code>MultiSelect</code>.
354
+ * <br>
355
+ * In additition to the used mode, you can also specify the <code>ui5-table-row</code> type choosing between
356
+ * <code>Active</code> or <code>Inactive</code>.
357
+ * <br><br>
358
+ * In <code>SingleSelect</code> mode, you can select both an <code>Active</code> and <code>Inactive</code> row via mouse or
359
+ * by pressing the <code>Space</code> or <code>Enter</code> keys.
360
+ * <br>
361
+ * In <code>MultiSelect</code> mode, you can select both an <code>Active</code> and <code>Inactive</code> row by pressing the
362
+ * <code>Space</code> key when a row is on focus or via mouse click over the selection checkbox of the row.
363
+ * In order to select all the available rows at once, you can use the selection checkbox presented in the table's header.
364
+ * <br><br>
365
+ * <b>Note:</b> Currently, when a column is shown as a pop-in, the visual indication for selection is not presented over it.
366
+ *
153
367
  * <h3>ES6 Module Import</h3>
154
368
  *
155
369
  * <code>import "@ui5/webcomponents/dist/Table.js";</code>
@@ -165,7 +379,7 @@ const metadata = {
165
379
  * @alias sap.ui.webcomponents.main.Table
166
380
  * @extends sap.ui.webcomponents.base.UI5Element
167
381
  * @tagname ui5-table
168
- * @appenddocs TableColumn TableRow TableCell
382
+ * @appenddocs TableColumn TableRow TableGroupRow TableCell
169
383
  * @public
170
384
  */
171
385
  class Table extends UI5Element {
@@ -185,34 +399,53 @@ class Table extends UI5Element {
185
399
  return TableTemplate;
186
400
  }
187
401
 
402
+ static get dependencies() {
403
+ return [BusyIndicator, CheckBox];
404
+ }
405
+
406
+ static async onDefine() {
407
+ Table.i18nBundle = await getI18nBundle("@ui5/webcomponents");
408
+ }
409
+
188
410
  constructor() {
189
411
  super();
190
412
 
413
+ // The ItemNavigation requires each item to 1) have a "_tabIndex" property and 2) be either a UI5Element, or have an id property (to find it in the component's shadow DOM by)
414
+ this._columnHeader = {
415
+ id: `${this._id}-columnHeader`,
416
+ _tabIndex: "0",
417
+ };
418
+
191
419
  this._itemNavigation = new ItemNavigation(this, {
192
420
  navigationMode: NavigationMode.Vertical,
421
+ affectedPropertiesNames: ["_columnHeader"],
422
+ getItemsCallback: () => [this._columnHeader, ...this.rows],
193
423
  });
194
424
 
195
- this._itemNavigation.getItemsCallback = function getItemsCallback() {
196
- const columnHeader = this.getColumnHeader();
197
- return columnHeader ? [columnHeader, ...this.rows] : this.rows;
198
- }.bind(this);
199
-
200
425
  this.fnOnRowFocused = this.onRowFocused.bind(this);
201
- this.fnOnRowClick = this.onRowClick.bind(this);
202
426
 
203
427
  this._handleResize = this.popinContent.bind(this);
428
+
429
+ this.tableEndObserved = false;
430
+ this.addEventListener("ui5-selection-requested", this._handleSelect.bind(this));
204
431
  }
205
432
 
206
433
  onBeforeRendering() {
207
434
  const columnSettings = this.getColumnPropagationSettings();
435
+ const columnSettingsString = JSON.stringify(columnSettings);
436
+ const rowsCount = this.rows.length;
208
437
 
209
- this.rows.forEach(row => {
210
- row._columnsInfo = columnSettings;
438
+ this.rows.forEach((row, index) => {
439
+ if (row._columnsInfoString !== columnSettingsString) {
440
+ row._columnsInfo = columnSettings;
441
+ row._columnsInfoString = JSON.stringify(row._columnsInfo);
442
+ }
443
+
444
+ row._ariaPosition = Table.i18nBundle.getText(TABLE_ROW_POSITION, index + 1, rowsCount);
445
+ row._busy = this.busy;
211
446
  row.removeEventListener("ui5-_focused", this.fnOnRowFocused);
212
447
  row.addEventListener("ui5-_focused", this.fnOnRowFocused);
213
-
214
- row.removeEventListener("ui5-_click", this.fnOnRowClick);
215
- row.addEventListener("ui5-_click", this.fnOnRowClick);
448
+ row.mode = this.mode;
216
449
  });
217
450
 
218
451
  this.visibleColumns = this.columns.filter((column, index) => {
@@ -220,35 +453,171 @@ class Table extends UI5Element {
220
453
  return !this._hiddenColumns[index];
221
454
  });
222
455
 
223
- this._noDataDisplayed = !this.rows.length && this.showNoData;
456
+ this._noDataDisplayed = !this.rows.length && !this.hideNoData;
224
457
  this.visibleColumnsCount = this.visibleColumns.length;
225
458
  }
226
459
 
460
+ onAfterRendering() {
461
+ if (this.growsOnScroll) {
462
+ this.observeTableEnd();
463
+ }
464
+
465
+ this.checkTableInViewport();
466
+ }
467
+
227
468
  onEnterDOM() {
469
+ if (!isIE()) {
470
+ this.growingIntersectionObserver = this.getIntersectionObserver();
471
+ }
472
+
228
473
  ResizeHandler.register(this.getDomRef(), this._handleResize);
229
474
  }
230
475
 
231
476
  onExitDOM() {
232
477
  ResizeHandler.deregister(this.getDomRef(), this._handleResize);
233
- }
234
478
 
235
- onRowFocused(event) {
236
- this._itemNavigation.update(event.target);
479
+ if (!isIE()) {
480
+ this.growingIntersectionObserver.disconnect();
481
+ this.growingIntersectionObserver = null;
482
+ this.tableEndObserved = false;
483
+ }
237
484
  }
238
485
 
239
- onRowClick(event) {
240
- this.fireEvent("rowClick", { row: event.target });
486
+ onRowFocused(event) {
487
+ this._itemNavigation.setCurrentItem(event.target);
241
488
  }
242
489
 
243
490
  _onColumnHeaderClick(event) {
244
491
  this.getColumnHeader().focus();
245
- this._itemNavigation.update(event.target);
492
+ this._itemNavigation.setCurrentItem(this._columnHeader);
493
+ }
494
+
495
+ _onLoadMoreKeydown(event) {
496
+ if (isSpace(event)) {
497
+ event.preventDefault();
498
+ this._loadMoreActive = true;
499
+ }
500
+
501
+ if (isEnter(event)) {
502
+ this._onLoadMoreClick();
503
+ this._loadMoreActive = true;
504
+ }
505
+ }
506
+
507
+ _onLoadMoreKeyup(event) {
508
+ if (isSpace(event)) {
509
+ this._onLoadMoreClick();
510
+ }
511
+ this._loadMoreActive = false;
512
+ }
513
+
514
+ _onLoadMoreClick() {
515
+ this.fireEvent("load-more");
516
+ }
517
+
518
+ observeTableEnd() {
519
+ if (!this.tableEndObserved) {
520
+ this.getIntersectionObserver().observe(this.tableEndDOM);
521
+ this.tableEndObserved = true;
522
+ }
523
+ }
524
+
525
+ onInteresection(entries) {
526
+ if (entries.some(entry => entry.isIntersecting)) {
527
+ debounce(this.loadMore.bind(this), GROWING_WITH_SCROLL_DEBOUNCE_RATE);
528
+ }
529
+ }
530
+
531
+ loadMore() {
532
+ this.fireEvent("load-more");
533
+ }
534
+
535
+ _handleSingleSelect(event) {
536
+ const row = this.getRowParent(event.target);
537
+ if (!row.selected) {
538
+ const previouslySelectedRows = this.selectedRows;
539
+ this.rows.forEach(item => {
540
+ if (item.selected) {
541
+ item.selected = false;
542
+ }
543
+ });
544
+ row.selected = true;
545
+ this.fireEvent("selection-change", {
546
+ selectedRows: [row],
547
+ previouslySelectedRows,
548
+ });
549
+ }
550
+ }
551
+
552
+ _handleMultiSelect(event) {
553
+ const row = this.getRowParent(event.target);
554
+ const previouslySelectedRows = this.selectedRows;
555
+
556
+ row.selected = !row.selected;
557
+
558
+ const selectedRows = this.selectedRows;
559
+
560
+ if (selectedRows.length === this.rows.length) {
561
+ this._allRowsSelected = true;
562
+ } else {
563
+ this._allRowsSelected = false;
564
+ }
565
+
566
+ this.fireEvent("selection-change", {
567
+ selectedRows,
568
+ previouslySelectedRows,
569
+ });
570
+ }
571
+
572
+ _handleSelect(event) {
573
+ this[`_handle${this.mode}`](event);
574
+ }
575
+
576
+ _selectAll(event) {
577
+ const bAllSelected = event.target.checked;
578
+ const previouslySelectedRows = this.rows.filter(row => row.selected);
579
+
580
+ this._allRowsSelected = bAllSelected;
581
+
582
+ this.rows.forEach(row => {
583
+ row.selected = bAllSelected;
584
+ });
585
+
586
+ const selectedRows = bAllSelected ? this.rows : [];
587
+
588
+ this.fireEvent("selection-change", {
589
+ selectedRows,
590
+ previouslySelectedRows,
591
+ });
592
+ }
593
+
594
+ getRowParent(child) {
595
+ const parent = child.parentElement;
596
+
597
+ if (child.hasAttribute("ui5-table-row")) {
598
+ return child;
599
+ }
600
+
601
+ if (parent && parent.hasAttribute("ui5-table-row")) {
602
+ return parent;
603
+ }
604
+
605
+ this.getRowParent(parent);
246
606
  }
247
607
 
248
608
  getColumnHeader() {
249
609
  return this.getDomRef() && this.getDomRef().querySelector(`#${this._id}-columnHeader`);
250
610
  }
251
611
 
612
+ handleResize(event) {
613
+ this.checkTableInViewport();
614
+ this.popinContent(event);
615
+ }
616
+
617
+ checkTableInViewport() {
618
+ this._inViewport = isElementInView(this.getDomRef());
619
+ }
620
+
252
621
  popinContent(_event) {
253
622
  const clientRect = this.getDomRef().getBoundingClientRect();
254
623
  const tableWidth = clientRect.width;
@@ -269,7 +638,9 @@ class Table extends UI5Element {
269
638
  });
270
639
 
271
640
  if (visibleColumnsIndexes.length) {
272
- this.columns[visibleColumnsIndexes[0]].first = true;
641
+ if (!this.isMultiSelect) {
642
+ this.columns[visibleColumnsIndexes[0]].first = true;
643
+ }
273
644
  this.columns[visibleColumnsIndexes[visibleColumnsIndexes.length - 1]].last = true;
274
645
  }
275
646
 
@@ -277,7 +648,7 @@ class Table extends UI5Element {
277
648
  if (this._hiddenColumns.length !== hiddenColumns.length) {
278
649
  this._hiddenColumns = hiddenColumns;
279
650
  if (hiddenColumns.length) {
280
- this.fireEvent("popinChange", {
651
+ this.fireEvent("popin-change", {
281
652
  poppedColumns: this._hiddenColumns,
282
653
  });
283
654
  }
@@ -296,11 +667,93 @@ class Table extends UI5Element {
296
667
  index,
297
668
  minWidth: column.minWidth,
298
669
  demandPopin: column.demandPopin,
670
+ text: column.textContent,
299
671
  popinText: column.popinText,
300
672
  visible: !this._hiddenColumns[index],
301
673
  };
302
674
  }, this);
303
675
  }
676
+
677
+ getIntersectionObserver() {
678
+ if (!this.growingIntersectionObserver) {
679
+ this.growingIntersectionObserver = new IntersectionObserver(this.onInteresection.bind(this), {
680
+ root: document,
681
+ rootMargin: "0px",
682
+ threshold: 1.0,
683
+ });
684
+ }
685
+
686
+ return this.growingIntersectionObserver;
687
+ }
688
+
689
+ get styles() {
690
+ return {
691
+ table: {
692
+ height: "48px",
693
+ },
694
+ busy: {
695
+ position: this.busyIndPosition,
696
+ },
697
+ };
698
+ }
699
+
700
+ get growsWithButton() {
701
+ if (isIE()) {
702
+ // On IE fallback to "More" button, even if growing of type "Scroll" is set.
703
+ return this.growing === TableGrowingMode.Button || this.growing === TableGrowingMode.Scroll;
704
+ }
705
+
706
+ return this.growing === TableGrowingMode.Button;
707
+ }
708
+
709
+ get growsOnScroll() {
710
+ return !isIE() && this.growing === TableGrowingMode.Scroll;
711
+ }
712
+
713
+ get _growingButtonText() {
714
+ return this.growingButtonText || Table.i18nBundle.getText(LOAD_MORE_TEXT);
715
+ }
716
+
717
+ get ariaLabelText() {
718
+ const headerRowText = Table.i18nBundle.getText(TABLE_HEADER_ROW_TEXT);
719
+ const columnsTitle = this.columns.map(column => {
720
+ return column.textContent.trim();
721
+ }).join(" ");
722
+
723
+ return `${headerRowText} ${columnsTitle}`;
724
+ }
725
+
726
+ get ariaLabelSelectAllText() {
727
+ return Table.i18nBundle.getText(ARIA_LABEL_SELECT_ALL_CHECKBOX);
728
+ }
729
+
730
+ get loadMoreAriaLabelledBy() {
731
+ if (this.moreDataText) {
732
+ return `${this._id}-growingButton-text ${this._id}-growingButton-subtext`;
733
+ }
734
+
735
+ return `${this._id}-growingButton-text`;
736
+ }
737
+
738
+ get tableEndDOM() {
739
+ return this.shadowRoot.querySelector(".ui5-table-end-marker");
740
+ }
741
+
742
+ get busyIndPosition() {
743
+ if (isIE()) {
744
+ return "absolute";
745
+ }
746
+
747
+ return this._inViewport ? "absolute" : "sticky";
748
+ }
749
+
750
+ get isMultiSelect() {
751
+ return this.mode === "MultiSelect";
752
+ }
753
+
754
+ get selectedRows() {
755
+ return this.rows.filter(row => row.selected);
756
+ }
304
757
  }
305
758
 
306
759
  Table.define();