@ui5/webcomponents 0.0.0-934b4df24 → 0.0.0-b053ad005

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 (732) hide show
  1. package/CHANGELOG.md +552 -1
  2. package/README.md +144 -52
  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 +2 -1
  7. package/dist/Avatar.js +197 -46
  8. package/dist/AvatarGroup.js +603 -0
  9. package/dist/Badge.js +44 -22
  10. package/dist/Breadcrumbs.js +563 -0
  11. package/dist/BreadcrumbsItem.js +109 -0
  12. package/dist/BusyIndicator.js +141 -37
  13. package/dist/Button.js +124 -68
  14. package/dist/Calendar.js +342 -546
  15. package/dist/CalendarDate.js +45 -0
  16. package/dist/CalendarHeader.js +133 -62
  17. package/dist/CalendarPart.js +111 -0
  18. package/dist/Card.js +44 -158
  19. package/dist/CardHeader.js +288 -0
  20. package/dist/Carousel.js +267 -100
  21. package/dist/CheckBox.js +149 -49
  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 +599 -94
  27. package/dist/ComboBoxFilters.js +8 -1
  28. package/dist/ComboBoxGroupItem.js +70 -0
  29. package/dist/ComboBoxItem.js +12 -24
  30. package/dist/CustomListItem.js +38 -4
  31. package/dist/DateComponentBase.js +170 -0
  32. package/dist/DatePicker.js +392 -409
  33. package/dist/DateRangePicker.js +328 -0
  34. package/dist/DateTimePicker.js +111 -384
  35. package/dist/DayPicker.js +509 -431
  36. package/dist/Dialog.js +496 -44
  37. package/dist/DurationPicker.js +135 -400
  38. package/dist/FileUploader.js +213 -25
  39. package/dist/GroupHeaderListItem.js +24 -14
  40. package/dist/Icon.js +141 -49
  41. package/dist/Input.js +614 -163
  42. package/dist/Interfaces.js +192 -0
  43. package/dist/Label.js +27 -17
  44. package/dist/Link.js +123 -29
  45. package/dist/List.js +451 -117
  46. package/dist/ListItem.js +96 -26
  47. package/dist/ListItemBase.js +31 -8
  48. package/dist/MessageStrip.js +56 -70
  49. package/dist/MonthPicker.js +180 -182
  50. package/dist/MultiComboBox.js +574 -161
  51. package/dist/MultiComboBoxItem.js +8 -2
  52. package/dist/MultiInput.js +301 -0
  53. package/dist/Option.js +48 -5
  54. package/dist/Panel.js +100 -37
  55. package/dist/Popover.js +255 -169
  56. package/dist/Popup.js +370 -96
  57. package/dist/ProgressIndicator.js +235 -0
  58. package/dist/RadioButton.js +131 -51
  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 +67 -53
  63. package/dist/SegmentedButton.js +112 -76
  64. package/dist/SegmentedButtonItem.js +109 -0
  65. package/dist/Select.js +441 -108
  66. package/dist/Slider.js +320 -0
  67. package/dist/SliderBase.js +842 -0
  68. package/dist/StandardListItem.js +44 -13
  69. package/dist/StepInput.js +681 -0
  70. package/dist/SuggestionGroupItem.js +64 -0
  71. package/dist/SuggestionItem.js +37 -31
  72. package/dist/SuggestionListItem.js +76 -0
  73. package/dist/Switch.js +59 -42
  74. package/dist/Tab.js +55 -24
  75. package/dist/TabContainer.js +145 -65
  76. package/dist/TabSeparator.js +1 -0
  77. package/dist/Table.js +480 -27
  78. package/dist/TableCell.js +11 -9
  79. package/dist/TableColumn.js +13 -3
  80. package/dist/TableGroupRow.js +160 -0
  81. package/dist/TableRow.js +243 -10
  82. package/dist/TextArea.js +139 -41
  83. package/dist/TimePicker.js +55 -675
  84. package/dist/TimePickerBase.js +463 -0
  85. package/dist/TimeSelection.js +493 -0
  86. package/dist/Title.js +16 -9
  87. package/dist/Toast.js +24 -13
  88. package/dist/ToggleButton.js +21 -8
  89. package/dist/Token.js +84 -47
  90. package/dist/Tokenizer.js +246 -64
  91. package/dist/Tree.js +150 -63
  92. package/dist/TreeItem.js +44 -9
  93. package/dist/TreeListItem.js +136 -14
  94. package/dist/WheelSlider.js +79 -59
  95. package/dist/YearPicker.js +199 -255
  96. package/dist/api.json +6877 -1
  97. package/dist/features/ColorPaletteMoreColors.js +42 -0
  98. package/dist/features/InputElementsFormSupport.js +0 -1
  99. package/dist/features/InputSuggestions.js +251 -57
  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 -1
  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 -15
  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 -6
  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 +13 -12
  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 -6
  182. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -13
  183. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -6
  184. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -6
  185. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -12
  186. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -11
  187. package/dist/generated/templates/DialogTemplate.lit.js +9 -9
  188. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +10 -0
  189. package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -7
  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 -23
  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 -13
  197. package/dist/generated/templates/ListTemplate.lit.js +12 -9
  198. package/dist/generated/templates/MessageStripTemplate.lit.js +8 -17
  199. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
  200. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -5
  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 +4 -4
  206. package/dist/generated/templates/PopupTemplate.lit.js +4 -9
  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 -14
  212. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  213. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -9
  214. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -6
  215. package/dist/generated/templates/SelectTemplate.lit.js +6 -5
  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 -20
  219. package/dist/generated/templates/StepInputTemplate.lit.js +8 -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 -6
  223. package/dist/generated/templates/TabContainerTemplate.lit.js +16 -14
  224. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -13
  225. package/dist/generated/templates/TabInStripTemplate.lit.js +8 -21
  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 -11
  232. package/dist/generated/templates/TableTemplate.lit.js +13 -8
  233. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -8
  234. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -7
  235. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -8
  236. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -6
  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 +18 -16
  245. package/dist/generated/templates/TreeTemplate.lit.js +5 -5
  246. package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -7
  247. package/dist/generated/templates/YearPickerTemplate.lit.js +6 -6
  248. package/dist/generated/themes/Avatar.css.js +5 -5
  249. package/dist/generated/themes/AvatarGroup.css.js +8 -0
  250. package/dist/generated/themes/Badge.css.js +5 -5
  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 +5 -5
  255. package/dist/generated/themes/Button.css.js +5 -5
  256. package/dist/generated/themes/Button.ie11.css.js +8 -0
  257. package/dist/generated/themes/Calendar.css.js +5 -5
  258. package/dist/generated/themes/CalendarHeader.css.js +5 -5
  259. package/dist/generated/themes/Card.css.js +5 -5
  260. package/dist/generated/themes/CardHeader.css.js +8 -0
  261. package/dist/generated/themes/Carousel.css.js +5 -5
  262. package/dist/generated/themes/CheckBox.css.js +5 -5
  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 +5 -5
  269. package/dist/generated/themes/ComboBoxPopover.css.js +5 -5
  270. package/dist/generated/themes/CustomListItem.css.js +5 -5
  271. package/dist/generated/themes/DatePicker.css.js +5 -5
  272. package/dist/generated/themes/DatePickerPopover.css.js +5 -5
  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 +5 -5
  276. package/dist/generated/themes/DayPicker.css.js +5 -5
  277. package/dist/generated/themes/Dialog.css.js +5 -5
  278. package/dist/generated/themes/FileUploader.css.js +5 -5
  279. package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
  280. package/dist/generated/themes/GrowingButton.css.js +8 -0
  281. package/dist/generated/themes/Icon.css.js +5 -5
  282. package/dist/generated/themes/Input.css.js +5 -5
  283. package/dist/generated/themes/InputIcon.css.js +5 -5
  284. package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
  285. package/dist/generated/themes/Label.css.js +5 -5
  286. package/dist/generated/themes/Link.css.js +5 -5
  287. package/dist/generated/themes/List.css.js +5 -5
  288. package/dist/generated/themes/ListItem.css.js +5 -5
  289. package/dist/generated/themes/ListItemBase.css.js +5 -5
  290. package/dist/generated/themes/MessageStrip.css.js +5 -5
  291. package/dist/generated/themes/MonthPicker.css.js +5 -5
  292. package/dist/generated/themes/MultiComboBox.css.js +5 -5
  293. package/dist/generated/themes/MultiInput.css.js +8 -0
  294. package/dist/generated/themes/Panel.css.js +5 -5
  295. package/dist/generated/themes/Popover.css.js +5 -5
  296. package/dist/generated/themes/Popup.css.js +5 -5
  297. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  298. package/dist/generated/themes/PopupStaticAreaStyles.css.js +5 -5
  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 +5 -5
  302. package/dist/generated/themes/RatingIndicator.css.js +8 -0
  303. package/dist/generated/themes/ResponsivePopover.css.js +5 -5
  304. package/dist/generated/themes/ResponsivePopoverCommon.css.js +5 -5
  305. package/dist/generated/themes/SegmentedButton.css.js +5 -5
  306. package/dist/generated/themes/Select.css.js +5 -5
  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 +5 -5
  312. package/dist/generated/themes/Tab.css.js +5 -5
  313. package/dist/generated/themes/TabContainer.css.js +5 -5
  314. package/dist/generated/themes/TabInOverflow.css.js +5 -5
  315. package/dist/generated/themes/TabInStrip.css.js +5 -5
  316. package/dist/generated/themes/Table.css.js +5 -5
  317. package/dist/generated/themes/TableCell.css.js +5 -5
  318. package/dist/generated/themes/TableColumn.css.js +5 -5
  319. package/dist/generated/themes/TableGroupRow.css.js +8 -0
  320. package/dist/generated/themes/TableRow.css.js +5 -5
  321. package/dist/generated/themes/TapHighlightColor.css.js +8 -0
  322. package/dist/generated/themes/TextArea.css.js +5 -5
  323. package/dist/generated/themes/TimePicker.css.js +5 -5
  324. package/dist/generated/themes/TimePickerPopover.css.js +5 -5
  325. package/dist/generated/themes/TimeSelection.css.js +8 -0
  326. package/dist/generated/themes/Title.css.js +5 -5
  327. package/dist/generated/themes/Toast.css.js +5 -5
  328. package/dist/generated/themes/ToggleButton.css.js +5 -5
  329. package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
  330. package/dist/generated/themes/Token.css.js +5 -5
  331. package/dist/generated/themes/Tokenizer.css.js +5 -5
  332. package/dist/generated/themes/Tree.css.js +5 -5
  333. package/dist/generated/themes/TreeListItem.css.js +5 -5
  334. package/dist/generated/themes/ValueStateMessage.css.js +5 -5
  335. package/dist/generated/themes/WheelSlider.css.js +5 -5
  336. package/dist/generated/themes/YearPicker.css.js +5 -5
  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 -1
  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 +49 -15
  398. package/dist/timepicker-utils/TimeSlider.js +15 -13
  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 +3 -3
  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 +2 -2
  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 +1 -1
  422. package/dist/types/SemanticColor.js +1 -1
  423. package/dist/types/SwitchDesign.js +40 -0
  424. package/dist/types/TabContainerTabsPlacement.js +5 -5
  425. package/dist/types/TabLayout.js +1 -1
  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 -7
  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 +77 -0
  574. package/src/StepInput.js +681 -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 +261 -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 -97
  719. package/dist/TimelineItem.js +0 -161
  720. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -7
  721. package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -10
  722. package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -8
  723. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
  724. package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
  725. package/dist/generated/themes/ComboBoxItem.css.js +0 -8
  726. package/dist/generated/themes/DurationPicker.css.js +0 -8
  727. package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
  728. package/dist/generated/themes/Timeline.css.js +0 -8
  729. package/dist/generated/themes/TimelineItem.css.js +0 -8
  730. package/dist/popup-utils/PopupUtils.js +0 -55
  731. package/dist/types/AvatarFitType.js +0 -40
  732. package/dist/webcomponentsjs/package.json +0 -46
package/src/Table.js ADDED
@@ -0,0 +1,761 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
4
+ import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
5
+ import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
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
26
+ import TableTemplate from "./generated/templates/TableTemplate.lit.js";
27
+
28
+ // Styles
29
+ import styles from "./generated/themes/Table.css.js";
30
+
31
+ const GROWING_WITH_SCROLL_DEBOUNCE_RATE = 250; // ms
32
+
33
+ /**
34
+ * @public
35
+ */
36
+ const metadata = {
37
+ tag: "ui5-table",
38
+ managedSlots: true,
39
+ slots: /** @lends sap.ui.webcomponents.main.Table.prototype */ {
40
+
41
+ /**
42
+ * Defines the component rows.
43
+ * <br><br>
44
+ * <b>Note:</b> Use <code>ui5-table-row</code> for the intended design.
45
+ *
46
+ * @type {sap.ui.webcomponents.main.ITableRow[]}
47
+ * @slot rows
48
+ * @public
49
+ */
50
+ "default": {
51
+ propertyName: "rows",
52
+ type: HTMLElement,
53
+ individualSlots: true,
54
+ },
55
+
56
+ /**
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.
60
+ *
61
+ * @type {sap.ui.webcomponents.main.ITableColumn[]}
62
+ * @slot
63
+ * @public
64
+ */
65
+ columns: {
66
+ type: HTMLElement,
67
+ individualSlots: true,
68
+ invalidateOnChildChange: {
69
+ properties: true,
70
+ slots: false,
71
+ },
72
+ },
73
+ },
74
+ properties: /** @lends sap.ui.webcomponents.main.Table.prototype */ {
75
+
76
+ /**
77
+ * Defines the text that will be displayed when there is no data and <code>hideNoData</code> is not present.
78
+ *
79
+ * @type {string}
80
+ * @defaultvalue ""
81
+ * @public
82
+ */
83
+ noDataText: {
84
+ type: String,
85
+ },
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
+
120
+ /**
121
+ * Defines if the value of <code>noDataText</code> will be diplayed when there is no rows present in the table.
122
+ *
123
+ * @type {boolean}
124
+ * @defaultvalue false
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
152
+ */
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: {
170
+ type: Boolean,
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
+
185
+ /**
186
+ * Determines whether the column headers remain fixed at the top of the page during
187
+ * vertical scrolling as long as the Web Component is in the viewport.
188
+ * <br><br>
189
+ * <b>Limitations:</b>
190
+ * <ul>
191
+ * <li>Browsers that do not support this feature:
192
+ * <ul>
193
+ * <li>Internet Explorer</li>
194
+ * <li>Microsoft Edge lower than version 41 (EdgeHTML 16)</li>
195
+ * <li>Mozilla Firefox lower than version 59</li>
196
+ * </ul>
197
+ * </li>
198
+ * <li>Scrolling behavior:
199
+ * <ul>
200
+ * <li>If the Web Component is placed in layout containers that have the <code>overflow: hidden</code>
201
+ * or <code>overflow: auto</code> style definition, this can
202
+ * prevent the sticky elements of the Web Component from becoming fixed at the top of the viewport.</li>
203
+ * </ul>
204
+ * </li>
205
+ * </ul>
206
+ *
207
+ * @type {boolean}
208
+ * @defaultvalue false
209
+ * @public
210
+ */
211
+ stickyColumnHeader: {
212
+ type: Boolean,
213
+ },
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
+
234
+ _hiddenColumns: {
235
+ type: Object,
236
+ multiple: true,
237
+ },
238
+
239
+ _noDataDisplayed: {
240
+ type: Boolean,
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
+ },
277
+ },
278
+ events: /** @lends sap.ui.webcomponents.main.Table.prototype */ {
279
+ /**
280
+ * Fired when a row in <code>Active</code> mode is clicked or <code>Enter</code> key is pressed.
281
+ *
282
+ * @event sap.ui.webcomponents.main.Table#row-click
283
+ * @param {HTMLElement} row the activated row.
284
+ * @public
285
+ */
286
+ "row-click": {
287
+ detail: {
288
+ row: { type: HTMLElement },
289
+ },
290
+ },
291
+
292
+ /**
293
+ * Fired when <code>ui5-table-column</code> is shown as a pop-in instead of hiding it.
294
+ *
295
+ * @event sap.ui.webcomponents.main.Table#popin-change
296
+ * @param {Array} poppedColumns popped-in columns.
297
+ * @since 1.0.0-rc.6
298
+ * @public
299
+ */
300
+ "popin-change": {
301
+ detail: {
302
+ poppedColumns: {},
303
+ },
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
+ },
333
+ },
334
+ };
335
+
336
+ /**
337
+ * @class
338
+ *
339
+ * <h3 class="comment-api-title">Overview</h3>
340
+ *
341
+ * The <code>ui5-table</code> component provides a set of sophisticated and convenient functions for responsive table design.
342
+ * It provides a comprehensive set of features for displaying and dealing with vast amounts of data.
343
+ * <br><br>
344
+ * To render the <code>Table</code> properly, the order of the <code>columns</code> should match with the
345
+ * order of the item <code>cells</code> in the <code>rows</code>.
346
+ * <br><br>
347
+ * Desktop and tablet devices are supported.
348
+ * On tablets, special consideration should be given to the number of visible columns
349
+ * and rows due to the limited performance of some devices.
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
+ *
367
+ * <h3>ES6 Module Import</h3>
368
+ *
369
+ * <code>import "@ui5/webcomponents/dist/Table.js";</code>
370
+ * <br>
371
+ * <code>import "@ui5/webcomponents/dist/TableColumn.js";</code> (for <code>ui5-table-column</code>)
372
+ * <br>
373
+ * <code>import "@ui5/webcomponents/dist/TableRow.js";</code> (for <code>ui5-table-row</code>)
374
+ * <br>
375
+ * <code>import "@ui5/webcomponents/dist/TableCell.js";</code> (for <code>ui5-table-cell</code>)
376
+ *
377
+ * @constructor
378
+ * @author SAP SE
379
+ * @alias sap.ui.webcomponents.main.Table
380
+ * @extends sap.ui.webcomponents.base.UI5Element
381
+ * @tagname ui5-table
382
+ * @appenddocs TableColumn TableRow TableGroupRow TableCell
383
+ * @public
384
+ */
385
+ class Table extends UI5Element {
386
+ static get metadata() {
387
+ return metadata;
388
+ }
389
+
390
+ static get styles() {
391
+ return styles;
392
+ }
393
+
394
+ static get render() {
395
+ return litRender;
396
+ }
397
+
398
+ static get template() {
399
+ return TableTemplate;
400
+ }
401
+
402
+ static get dependencies() {
403
+ return [BusyIndicator, CheckBox];
404
+ }
405
+
406
+ static async onDefine() {
407
+ Table.i18nBundle = await getI18nBundle("@ui5/webcomponents");
408
+ }
409
+
410
+ constructor() {
411
+ super();
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
+
419
+ this._itemNavigation = new ItemNavigation(this, {
420
+ navigationMode: NavigationMode.Vertical,
421
+ affectedPropertiesNames: ["_columnHeader"],
422
+ getItemsCallback: () => [this._columnHeader, ...this.rows],
423
+ });
424
+
425
+ this.fnOnRowFocused = this.onRowFocused.bind(this);
426
+
427
+ this._handleResize = this.popinContent.bind(this);
428
+
429
+ this.tableEndObserved = false;
430
+ this.addEventListener("ui5-selection-requested", this._handleSelect.bind(this));
431
+ }
432
+
433
+ onBeforeRendering() {
434
+ const columnSettings = this.getColumnPropagationSettings();
435
+ const columnSettingsString = JSON.stringify(columnSettings);
436
+ const rowsCount = this.rows.length;
437
+
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;
446
+ row.removeEventListener("ui5-_focused", this.fnOnRowFocused);
447
+ row.addEventListener("ui5-_focused", this.fnOnRowFocused);
448
+ row.mode = this.mode;
449
+ });
450
+
451
+ this.visibleColumns = this.columns.filter((column, index) => {
452
+ column.sticky = this.stickyColumnHeader;
453
+ return !this._hiddenColumns[index];
454
+ });
455
+
456
+ this._noDataDisplayed = !this.rows.length && !this.hideNoData;
457
+ this.visibleColumnsCount = this.visibleColumns.length;
458
+ }
459
+
460
+ onAfterRendering() {
461
+ if (this.growsOnScroll) {
462
+ this.observeTableEnd();
463
+ }
464
+
465
+ this.checkTableInViewport();
466
+ }
467
+
468
+ onEnterDOM() {
469
+ if (!isIE()) {
470
+ this.growingIntersectionObserver = this.getIntersectionObserver();
471
+ }
472
+
473
+ ResizeHandler.register(this.getDomRef(), this._handleResize);
474
+ }
475
+
476
+ onExitDOM() {
477
+ ResizeHandler.deregister(this.getDomRef(), this._handleResize);
478
+
479
+ if (!isIE()) {
480
+ this.growingIntersectionObserver.disconnect();
481
+ this.growingIntersectionObserver = null;
482
+ this.tableEndObserved = false;
483
+ }
484
+ }
485
+
486
+ onRowFocused(event) {
487
+ this._itemNavigation.setCurrentItem(event.target);
488
+ }
489
+
490
+ _onColumnHeaderClick(event) {
491
+ this.getColumnHeader().focus();
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);
606
+ }
607
+
608
+ getColumnHeader() {
609
+ return this.getDomRef() && this.getDomRef().querySelector(`#${this._id}-columnHeader`);
610
+ }
611
+
612
+ handleResize(event) {
613
+ this.checkTableInViewport();
614
+ this.popinContent(event);
615
+ }
616
+
617
+ checkTableInViewport() {
618
+ this._inViewport = isElementInView(this.getDomRef());
619
+ }
620
+
621
+ popinContent(_event) {
622
+ const clientRect = this.getDomRef().getBoundingClientRect();
623
+ const tableWidth = clientRect.width;
624
+ const hiddenColumns = [];
625
+ const visibleColumnsIndexes = [];
626
+
627
+ // store the hidden columns
628
+ this.columns.forEach((column, index) => {
629
+ if (tableWidth < column.minWidth && column.minWidth !== Infinity) {
630
+ hiddenColumns[index] = {
631
+ index,
632
+ popinText: column.popinText,
633
+ demandPopin: column.demandPopin,
634
+ };
635
+ } else {
636
+ visibleColumnsIndexes.push(index);
637
+ }
638
+ });
639
+
640
+ if (visibleColumnsIndexes.length) {
641
+ if (!this.isMultiSelect) {
642
+ this.columns[visibleColumnsIndexes[0]].first = true;
643
+ }
644
+ this.columns[visibleColumnsIndexes[visibleColumnsIndexes.length - 1]].last = true;
645
+ }
646
+
647
+ // invalidate only if hidden columns count has changed
648
+ if (this._hiddenColumns.length !== hiddenColumns.length) {
649
+ this._hiddenColumns = hiddenColumns;
650
+ if (hiddenColumns.length) {
651
+ this.fireEvent("popin-change", {
652
+ poppedColumns: this._hiddenColumns,
653
+ });
654
+ }
655
+ }
656
+ }
657
+
658
+ /**
659
+ * Gets settings to be propagated from columns to rows.
660
+ *
661
+ * @returns {object}
662
+ * @memberof Table
663
+ */
664
+ getColumnPropagationSettings() {
665
+ return this.columns.map((column, index) => {
666
+ return {
667
+ index,
668
+ minWidth: column.minWidth,
669
+ demandPopin: column.demandPopin,
670
+ text: column.textContent,
671
+ popinText: column.popinText,
672
+ visible: !this._hiddenColumns[index],
673
+ };
674
+ }, this);
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
+ }
757
+ }
758
+
759
+ Table.define();
760
+
761
+ export default Table;