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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (690) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/cypress/specs/Avatar.cy.tsx +15 -0
  3. package/cypress/specs/Dialog.cy.tsx +89 -0
  4. package/cypress/specs/Input.cy.tsx +230 -1
  5. package/cypress/specs/Popover.cy.tsx +242 -0
  6. package/cypress/specs/Select.cy.tsx +15 -0
  7. package/cypress/specs/Table.cy.tsx +86 -83
  8. package/cypress/specs/TableNavigation.cy.tsx +223 -0
  9. package/cypress/specs/TableNavigationFixedHeader.cy.tsx +199 -0
  10. package/cypress/specs/TableSelection.cy.tsx +280 -0
  11. package/cypress/specs/TableSelections.cy.tsx +296 -0
  12. package/cypress/specs/Text.cy.tsx +19 -3
  13. package/cypress/specs/Tokenizer.cy.tsx +36 -0
  14. package/cypress/specs/base/Events.cy.tsx +4 -5
  15. package/dist/.tsbuildinfo +1 -1
  16. package/dist/Avatar.d.ts +4 -1
  17. package/dist/Avatar.js.map +1 -1
  18. package/dist/AvatarTemplate.js +1 -1
  19. package/dist/AvatarTemplate.js.map +1 -1
  20. package/dist/ComboBoxItemGroupTemplate.js +2 -2
  21. package/dist/ComboBoxItemGroupTemplate.js.map +1 -1
  22. package/dist/ExpandableText.d.ts +0 -1
  23. package/dist/ExpandableText.js +0 -7
  24. package/dist/ExpandableText.js.map +1 -1
  25. package/dist/ExpandableTextTemplate.js +1 -1
  26. package/dist/ExpandableTextTemplate.js.map +1 -1
  27. package/dist/Input.d.ts +1 -1
  28. package/dist/Input.js +11 -8
  29. package/dist/Input.js.map +1 -1
  30. package/dist/InputPopoverTemplate.d.ts +4 -1
  31. package/dist/InputPopoverTemplate.js +3 -2
  32. package/dist/InputPopoverTemplate.js.map +1 -1
  33. package/dist/InputTemplate.d.ts +3 -1
  34. package/dist/InputTemplate.js +2 -1
  35. package/dist/InputTemplate.js.map +1 -1
  36. package/dist/List.d.ts +5 -2
  37. package/dist/List.js +24 -2
  38. package/dist/List.js.map +1 -1
  39. package/dist/ListBoxItemGroupTemplate.d.ts +4 -0
  40. package/dist/ListBoxItemGroupTemplate.js +13 -0
  41. package/dist/ListBoxItemGroupTemplate.js.map +1 -0
  42. package/dist/ListItemGroupHeader.d.ts +6 -0
  43. package/dist/ListItemGroupHeader.js +20 -3
  44. package/dist/ListItemGroupHeader.js.map +1 -1
  45. package/dist/ListItemGroupHeaderTemplate.js +3 -3
  46. package/dist/ListItemGroupHeaderTemplate.js.map +1 -1
  47. package/dist/ListItemGroupTemplate.d.ts +1 -3
  48. package/dist/ListItemGroupTemplate.js +5 -8
  49. package/dist/ListItemGroupTemplate.js.map +1 -1
  50. package/dist/ListTemplate.js +2 -2
  51. package/dist/ListTemplate.js.map +1 -1
  52. package/dist/MultiComboBoxItemGroupTemplate.js +2 -2
  53. package/dist/MultiComboBoxItemGroupTemplate.js.map +1 -1
  54. package/dist/Popover.d.ts +0 -6
  55. package/dist/Popover.js +8 -14
  56. package/dist/Popover.js.map +1 -1
  57. package/dist/Popup.js +3 -1
  58. package/dist/Popup.js.map +1 -1
  59. package/dist/Select.d.ts +7 -0
  60. package/dist/Select.js +4 -3
  61. package/dist/Select.js.map +1 -1
  62. package/dist/SelectTemplate.js +2 -2
  63. package/dist/SelectTemplate.js.map +1 -1
  64. package/dist/SuggestionItemGroup.js +2 -0
  65. package/dist/SuggestionItemGroup.js.map +1 -1
  66. package/dist/Table.d.ts +13 -7
  67. package/dist/Table.js +26 -28
  68. package/dist/Table.js.map +1 -1
  69. package/dist/TableCellBase.d.ts +1 -0
  70. package/dist/TableCellBase.js +4 -0
  71. package/dist/TableCellBase.js.map +1 -1
  72. package/dist/TableHeaderCell.d.ts +11 -0
  73. package/dist/TableHeaderCell.js +14 -0
  74. package/dist/TableHeaderCell.js.map +1 -1
  75. package/dist/TableHeaderCellActionAI.d.ts +1 -0
  76. package/dist/TableHeaderCellActionAI.js +1 -0
  77. package/dist/TableHeaderCellActionAI.js.map +1 -1
  78. package/dist/TableHeaderRow.d.ts +0 -1
  79. package/dist/TableHeaderRow.js +1 -4
  80. package/dist/TableHeaderRow.js.map +1 -1
  81. package/dist/TableRow.d.ts +5 -3
  82. package/dist/TableRow.js +2 -9
  83. package/dist/TableRow.js.map +1 -1
  84. package/dist/TableRowAction.d.ts +10 -8
  85. package/dist/TableRowAction.js +10 -11
  86. package/dist/TableRowAction.js.map +1 -1
  87. package/dist/TableRowActionNavigation.d.ts +1 -0
  88. package/dist/TableRowActionNavigation.js +1 -0
  89. package/dist/TableRowActionNavigation.js.map +1 -1
  90. package/dist/TableRowBase.d.ts +2 -2
  91. package/dist/TableRowBase.js +9 -7
  92. package/dist/TableRowBase.js.map +1 -1
  93. package/dist/TableSelection.d.ts +9 -7
  94. package/dist/TableSelection.js +34 -30
  95. package/dist/TableSelection.js.map +1 -1
  96. package/dist/TableSelectionBase.d.ts +79 -0
  97. package/dist/TableSelectionBase.js +108 -0
  98. package/dist/TableSelectionBase.js.map +1 -0
  99. package/dist/TableSelectionMulti.d.ts +92 -0
  100. package/dist/TableSelectionMulti.js +260 -0
  101. package/dist/TableSelectionMulti.js.map +1 -0
  102. package/dist/TableSelectionSingle.d.ts +49 -0
  103. package/dist/TableSelectionSingle.js +67 -0
  104. package/dist/TableSelectionSingle.js.map +1 -0
  105. package/dist/Tokenizer.js +2 -2
  106. package/dist/Tokenizer.js.map +1 -1
  107. package/dist/bundle.esm.js +2 -0
  108. package/dist/bundle.esm.js.map +1 -1
  109. package/dist/css/themes/Avatar.css +1 -1
  110. package/dist/css/themes/AvatarGroup.css +1 -1
  111. package/dist/css/themes/Bar.css +1 -1
  112. package/dist/css/themes/Breadcrumbs.css +1 -1
  113. package/dist/css/themes/BusyIndicator.css +1 -1
  114. package/dist/css/themes/Button.css +1 -1
  115. package/dist/css/themes/ButtonBadge.css +1 -1
  116. package/dist/css/themes/Calendar.css +1 -1
  117. package/dist/css/themes/CalendarHeader.css +1 -1
  118. package/dist/css/themes/CalendarLegend.css +1 -1
  119. package/dist/css/themes/CalendarLegendItem.css +1 -1
  120. package/dist/css/themes/Card.css +1 -1
  121. package/dist/css/themes/CardHeader.css +1 -1
  122. package/dist/css/themes/Carousel.css +1 -1
  123. package/dist/css/themes/CheckBox.css +1 -1
  124. package/dist/css/themes/ColorPalette.css +1 -1
  125. package/dist/css/themes/ColorPaletteItem.css +1 -1
  126. package/dist/css/themes/ColorPalettePopover.css +1 -1
  127. package/dist/css/themes/ColorPicker.css +1 -1
  128. package/dist/css/themes/ComboBox.css +1 -1
  129. package/dist/css/themes/ComboBoxItem.css +1 -1
  130. package/dist/css/themes/DatePicker.css +1 -1
  131. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  132. package/dist/css/themes/DayPicker.css +1 -1
  133. package/dist/css/themes/Dialog.css +1 -1
  134. package/dist/css/themes/FileUploader.css +1 -1
  135. package/dist/css/themes/Form.css +1 -1
  136. package/dist/css/themes/FormItem.css +1 -1
  137. package/dist/css/themes/FormItemSpan.css +1 -1
  138. package/dist/css/themes/GrowingButton.css +1 -1
  139. package/dist/css/themes/Icon.css +1 -1
  140. package/dist/css/themes/Input.css +1 -1
  141. package/dist/css/themes/InputIcon.css +1 -1
  142. package/dist/css/themes/InputSharedStyles.css +1 -1
  143. package/dist/css/themes/Link.css +1 -1
  144. package/dist/css/themes/List.css +1 -1
  145. package/dist/css/themes/ListItem.css +1 -1
  146. package/dist/css/themes/ListItemBase.css +1 -1
  147. package/dist/css/themes/ListItemCustom.css +1 -1
  148. package/dist/css/themes/ListItemGroup.css +1 -1
  149. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  150. package/dist/css/themes/ListItemIcon.css +1 -1
  151. package/dist/css/themes/Menu.css +1 -1
  152. package/dist/css/themes/MenuItem.css +1 -1
  153. package/dist/css/themes/MessageStrip.css +1 -1
  154. package/dist/css/themes/MonthPicker.css +1 -1
  155. package/dist/css/themes/MultiComboBox.css +1 -1
  156. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  157. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  158. package/dist/css/themes/MultiInput.css +1 -1
  159. package/dist/css/themes/OptionBase.css +1 -1
  160. package/dist/css/themes/Panel.css +1 -1
  161. package/dist/css/themes/Popover.css +1 -1
  162. package/dist/css/themes/PopupsCommon.css +1 -1
  163. package/dist/css/themes/ProgressIndicator.css +1 -1
  164. package/dist/css/themes/RadioButton.css +1 -1
  165. package/dist/css/themes/RangeSlider.css +1 -1
  166. package/dist/css/themes/RatingIndicator.css +1 -1
  167. package/dist/css/themes/ResponsivePopover.css +1 -1
  168. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  169. package/dist/css/themes/SegmentedButton.css +1 -1
  170. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  171. package/dist/css/themes/Select.css +1 -1
  172. package/dist/css/themes/SliderBase.css +1 -1
  173. package/dist/css/themes/SplitButton.css +1 -1
  174. package/dist/css/themes/StepInput.css +1 -1
  175. package/dist/css/themes/SuggestionItem.css +1 -1
  176. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  177. package/dist/css/themes/Switch.css +1 -1
  178. package/dist/css/themes/TabContainer.css +1 -1
  179. package/dist/css/themes/TabInOverflow.css +1 -1
  180. package/dist/css/themes/TabInStrip.css +1 -1
  181. package/dist/css/themes/TabSemanticIcon.css +1 -1
  182. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  183. package/dist/css/themes/Table.css +1 -1
  184. package/dist/css/themes/TableCellBase.css +1 -1
  185. package/dist/css/themes/TableHeaderRow.css +1 -1
  186. package/dist/css/themes/TableRow.css +1 -1
  187. package/dist/css/themes/TableRowActionBase.css +1 -1
  188. package/dist/css/themes/TableRowBase.css +1 -1
  189. package/dist/css/themes/Tag.css +1 -1
  190. package/dist/css/themes/Text.css +1 -1
  191. package/dist/css/themes/TextArea.css +1 -1
  192. package/dist/css/themes/TimePicker.css +1 -1
  193. package/dist/css/themes/Toast.css +1 -1
  194. package/dist/css/themes/ToggleButton.css +1 -1
  195. package/dist/css/themes/Token.css +1 -1
  196. package/dist/css/themes/Tokenizer.css +1 -1
  197. package/dist/css/themes/TokenizerPopover.css +1 -1
  198. package/dist/css/themes/Toolbar.css +1 -1
  199. package/dist/css/themes/ToolbarPopover.css +1 -1
  200. package/dist/css/themes/TreeItem.css +1 -1
  201. package/dist/css/themes/ValueStateMessage.css +1 -1
  202. package/dist/css/themes/YearPicker.css +1 -1
  203. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  204. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  205. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  206. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  207. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  208. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  209. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  210. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  211. package/dist/custom-elements-internal.json +772 -34
  212. package/dist/custom-elements.json +725 -31
  213. package/dist/features/InputSuggestions.js +0 -2
  214. package/dist/features/InputSuggestions.js.map +1 -1
  215. package/dist/features/InputSuggestionsTemplate.d.ts +5 -1
  216. package/dist/features/InputSuggestionsTemplate.js +9 -5
  217. package/dist/features/InputSuggestionsTemplate.js.map +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  237. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  240. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  241. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  242. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  243. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  244. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  245. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  246. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  247. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  248. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  249. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  250. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  251. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  252. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  253. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  254. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  255. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  256. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  257. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  258. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  259. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  260. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  261. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  262. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  263. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  264. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  265. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  266. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  267. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  268. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  269. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  270. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  271. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  272. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  273. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  274. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  275. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  276. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  277. package/dist/generated/i18n/i18n-defaults.js +3 -1
  278. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  279. package/dist/generated/templates/TableHeaderRowTemplate.lit.js +1 -1
  280. package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +1 -1
  281. package/dist/generated/templates/TableRowTemplate.lit.js +2 -2
  282. package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -1
  283. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  284. package/dist/generated/themes/Avatar.css.js +1 -1
  285. package/dist/generated/themes/Avatar.css.js.map +1 -1
  286. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  287. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  288. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  289. package/dist/generated/themes/Bar.css.d.ts +1 -1
  290. package/dist/generated/themes/Bar.css.js +1 -1
  291. package/dist/generated/themes/Bar.css.js.map +1 -1
  292. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  293. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  294. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  295. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  296. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  297. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  298. package/dist/generated/themes/Button.css.d.ts +1 -1
  299. package/dist/generated/themes/Button.css.js +1 -1
  300. package/dist/generated/themes/Button.css.js.map +1 -1
  301. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  302. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  303. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  304. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  305. package/dist/generated/themes/Calendar.css.js +1 -1
  306. package/dist/generated/themes/Calendar.css.js.map +1 -1
  307. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  308. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  309. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  310. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  311. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  312. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  313. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  314. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  315. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  316. package/dist/generated/themes/Card.css.d.ts +1 -1
  317. package/dist/generated/themes/Card.css.js +1 -1
  318. package/dist/generated/themes/Card.css.js.map +1 -1
  319. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  320. package/dist/generated/themes/CardHeader.css.js +1 -1
  321. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  322. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  323. package/dist/generated/themes/Carousel.css.js +1 -1
  324. package/dist/generated/themes/Carousel.css.js.map +1 -1
  325. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  326. package/dist/generated/themes/CheckBox.css.js +1 -1
  327. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  328. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  329. package/dist/generated/themes/ColorPalette.css.js +1 -1
  330. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  331. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  332. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  333. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  334. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  335. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  336. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  337. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  338. package/dist/generated/themes/ColorPicker.css.js +1 -1
  339. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  340. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  341. package/dist/generated/themes/ComboBox.css.js +1 -1
  342. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  343. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  344. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  345. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  346. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  347. package/dist/generated/themes/DatePicker.css.js +1 -1
  348. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  349. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  350. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  351. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  352. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  353. package/dist/generated/themes/DayPicker.css.js +1 -1
  354. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  355. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  356. package/dist/generated/themes/Dialog.css.js +1 -1
  357. package/dist/generated/themes/Dialog.css.js.map +1 -1
  358. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  359. package/dist/generated/themes/FileUploader.css.js +1 -1
  360. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  361. package/dist/generated/themes/Form.css.d.ts +1 -1
  362. package/dist/generated/themes/Form.css.js +1 -1
  363. package/dist/generated/themes/Form.css.js.map +1 -1
  364. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  365. package/dist/generated/themes/FormItem.css.js +1 -1
  366. package/dist/generated/themes/FormItem.css.js.map +1 -1
  367. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  368. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  369. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  370. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  371. package/dist/generated/themes/GrowingButton.css.js +1 -1
  372. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  373. package/dist/generated/themes/Icon.css.d.ts +1 -1
  374. package/dist/generated/themes/Icon.css.js +1 -1
  375. package/dist/generated/themes/Icon.css.js.map +1 -1
  376. package/dist/generated/themes/Input.css.d.ts +1 -1
  377. package/dist/generated/themes/Input.css.js +1 -1
  378. package/dist/generated/themes/Input.css.js.map +1 -1
  379. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  380. package/dist/generated/themes/InputIcon.css.js +1 -1
  381. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  382. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  383. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  384. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  385. package/dist/generated/themes/Link.css.d.ts +1 -1
  386. package/dist/generated/themes/Link.css.js +1 -1
  387. package/dist/generated/themes/Link.css.js.map +1 -1
  388. package/dist/generated/themes/List.css.d.ts +1 -1
  389. package/dist/generated/themes/List.css.js +1 -1
  390. package/dist/generated/themes/List.css.js.map +1 -1
  391. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  392. package/dist/generated/themes/ListItem.css.js +1 -1
  393. package/dist/generated/themes/ListItem.css.js.map +1 -1
  394. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  395. package/dist/generated/themes/ListItemBase.css.js +1 -1
  396. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  397. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  398. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  399. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  400. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  401. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  402. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  403. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  404. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  405. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  406. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  407. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  408. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  409. package/dist/generated/themes/Menu.css.d.ts +1 -1
  410. package/dist/generated/themes/Menu.css.js +1 -1
  411. package/dist/generated/themes/Menu.css.js.map +1 -1
  412. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  413. package/dist/generated/themes/MenuItem.css.js +1 -1
  414. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  415. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  416. package/dist/generated/themes/MessageStrip.css.js +1 -1
  417. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  418. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  419. package/dist/generated/themes/MonthPicker.css.js +1 -1
  420. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  421. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  422. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  423. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  424. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  425. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  426. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  427. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  428. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  429. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  430. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  431. package/dist/generated/themes/MultiInput.css.js +1 -1
  432. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  433. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  434. package/dist/generated/themes/OptionBase.css.js +1 -1
  435. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  436. package/dist/generated/themes/Panel.css.d.ts +1 -1
  437. package/dist/generated/themes/Panel.css.js +1 -1
  438. package/dist/generated/themes/Panel.css.js.map +1 -1
  439. package/dist/generated/themes/Popover.css.d.ts +1 -1
  440. package/dist/generated/themes/Popover.css.js +1 -1
  441. package/dist/generated/themes/Popover.css.js.map +1 -1
  442. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  443. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  444. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  445. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  446. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  447. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  448. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  449. package/dist/generated/themes/RadioButton.css.js +1 -1
  450. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  451. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  452. package/dist/generated/themes/RangeSlider.css.js +1 -1
  453. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  454. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  455. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  456. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  457. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  458. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  459. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  460. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  461. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  462. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  463. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  464. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  465. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  466. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  467. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  468. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  469. package/dist/generated/themes/Select.css.d.ts +1 -1
  470. package/dist/generated/themes/Select.css.js +1 -1
  471. package/dist/generated/themes/Select.css.js.map +1 -1
  472. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  473. package/dist/generated/themes/SliderBase.css.js +1 -1
  474. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  475. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  476. package/dist/generated/themes/SplitButton.css.js +1 -1
  477. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  478. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  479. package/dist/generated/themes/StepInput.css.js +1 -1
  480. package/dist/generated/themes/StepInput.css.js.map +1 -1
  481. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  482. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  483. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  484. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  485. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  486. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  487. package/dist/generated/themes/Switch.css.d.ts +1 -1
  488. package/dist/generated/themes/Switch.css.js +1 -1
  489. package/dist/generated/themes/Switch.css.js.map +1 -1
  490. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  491. package/dist/generated/themes/TabContainer.css.js +1 -1
  492. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  493. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  494. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  495. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  496. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  497. package/dist/generated/themes/TabInStrip.css.js +1 -1
  498. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  499. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  500. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  501. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  502. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  503. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  504. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  505. package/dist/generated/themes/Table.css.d.ts +1 -1
  506. package/dist/generated/themes/Table.css.js +1 -1
  507. package/dist/generated/themes/Table.css.js.map +1 -1
  508. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  509. package/dist/generated/themes/TableCellBase.css.js +1 -1
  510. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  511. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  512. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  513. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  514. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  515. package/dist/generated/themes/TableRow.css.js +1 -1
  516. package/dist/generated/themes/TableRow.css.js.map +1 -1
  517. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  518. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  519. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  520. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  521. package/dist/generated/themes/TableRowBase.css.js +1 -1
  522. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  523. package/dist/generated/themes/Tag.css.d.ts +1 -1
  524. package/dist/generated/themes/Tag.css.js +1 -1
  525. package/dist/generated/themes/Tag.css.js.map +1 -1
  526. package/dist/generated/themes/Text.css.d.ts +1 -1
  527. package/dist/generated/themes/Text.css.js +1 -1
  528. package/dist/generated/themes/Text.css.js.map +1 -1
  529. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  530. package/dist/generated/themes/TextArea.css.js +1 -1
  531. package/dist/generated/themes/TextArea.css.js.map +1 -1
  532. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  533. package/dist/generated/themes/TimePicker.css.js +1 -1
  534. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  535. package/dist/generated/themes/Toast.css.d.ts +1 -1
  536. package/dist/generated/themes/Toast.css.js +1 -1
  537. package/dist/generated/themes/Toast.css.js.map +1 -1
  538. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  539. package/dist/generated/themes/ToggleButton.css.js +1 -1
  540. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  541. package/dist/generated/themes/Token.css.d.ts +1 -1
  542. package/dist/generated/themes/Token.css.js +1 -1
  543. package/dist/generated/themes/Token.css.js.map +1 -1
  544. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  545. package/dist/generated/themes/Tokenizer.css.js +1 -1
  546. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  547. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  548. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  549. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  550. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  551. package/dist/generated/themes/Toolbar.css.js +1 -1
  552. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  553. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  554. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  555. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  556. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  557. package/dist/generated/themes/TreeItem.css.js +1 -1
  558. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  559. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  560. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  561. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  562. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  563. package/dist/generated/themes/YearPicker.css.js +1 -1
  564. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  565. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  566. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  567. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  568. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  569. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  570. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  571. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  572. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  573. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  574. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  575. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  576. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  577. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  578. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  579. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  580. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  581. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  582. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  583. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  584. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  585. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  586. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  587. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  588. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  589. package/dist/types/ListItemAccessibleRole.d.ts +5 -0
  590. package/dist/types/ListItemAccessibleRole.js +5 -0
  591. package/dist/types/ListItemAccessibleRole.js.map +1 -1
  592. package/dist/types/TableCellHorizontalAlign.d.ts +1 -0
  593. package/dist/types/TableCellHorizontalAlign.js +1 -0
  594. package/dist/types/TableCellHorizontalAlign.js.map +1 -1
  595. package/dist/types/TableGrowingMode.d.ts +1 -0
  596. package/dist/types/TableGrowingMode.js +1 -0
  597. package/dist/types/TableGrowingMode.js.map +1 -1
  598. package/dist/types/TableOverflowMode.d.ts +1 -0
  599. package/dist/types/TableOverflowMode.js +1 -0
  600. package/dist/types/TableOverflowMode.js.map +1 -1
  601. package/dist/types/TableSelectionMode.d.ts +2 -0
  602. package/dist/types/TableSelectionMode.js +2 -0
  603. package/dist/types/TableSelectionMode.js.map +1 -1
  604. package/dist/vscode.html-custom-data.json +51 -10
  605. package/dist/web-types.json +99 -23
  606. package/package.json +10 -10
  607. package/src/AvatarTemplate.tsx +1 -1
  608. package/src/ComboBoxItemGroupTemplate.tsx +2 -2
  609. package/src/ExpandableTextTemplate.tsx +0 -1
  610. package/src/InputPopoverTemplate.tsx +5 -2
  611. package/src/InputTemplate.tsx +5 -3
  612. package/src/ListBoxItemGroupTemplate.tsx +33 -0
  613. package/src/ListItemGroupHeaderTemplate.tsx +5 -3
  614. package/src/ListItemGroupTemplate.tsx +21 -19
  615. package/src/ListTemplate.tsx +2 -1
  616. package/src/MultiComboBoxItemGroupTemplate.tsx +2 -2
  617. package/src/SelectTemplate.tsx +2 -0
  618. package/src/TableHeaderRow.hbs +1 -1
  619. package/src/TableRow.hbs +2 -2
  620. package/src/features/InputSuggestionsTemplate.tsx +12 -6
  621. package/src/i18n/messagebundle.properties +6 -0
  622. package/src/i18n/messagebundle_ar.properties +2 -0
  623. package/src/i18n/messagebundle_bg.properties +2 -0
  624. package/src/i18n/messagebundle_ca.properties +2 -0
  625. package/src/i18n/messagebundle_cnr.properties +2 -0
  626. package/src/i18n/messagebundle_cs.properties +2 -0
  627. package/src/i18n/messagebundle_cy.properties +2 -0
  628. package/src/i18n/messagebundle_da.properties +2 -0
  629. package/src/i18n/messagebundle_de.properties +2 -0
  630. package/src/i18n/messagebundle_el.properties +2 -0
  631. package/src/i18n/messagebundle_en.properties +2 -0
  632. package/src/i18n/messagebundle_en_GB.properties +2 -0
  633. package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
  634. package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
  635. package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
  636. package/src/i18n/messagebundle_es.properties +2 -0
  637. package/src/i18n/messagebundle_es_MX.properties +2 -0
  638. package/src/i18n/messagebundle_et.properties +2 -0
  639. package/src/i18n/messagebundle_fi.properties +2 -0
  640. package/src/i18n/messagebundle_fr.properties +2 -0
  641. package/src/i18n/messagebundle_fr_CA.properties +2 -0
  642. package/src/i18n/messagebundle_hi.properties +2 -0
  643. package/src/i18n/messagebundle_hr.properties +2 -0
  644. package/src/i18n/messagebundle_hu.properties +2 -0
  645. package/src/i18n/messagebundle_id.properties +2 -0
  646. package/src/i18n/messagebundle_it.properties +2 -0
  647. package/src/i18n/messagebundle_iw.properties +2 -0
  648. package/src/i18n/messagebundle_ja.properties +2 -0
  649. package/src/i18n/messagebundle_kk.properties +2 -0
  650. package/src/i18n/messagebundle_ko.properties +2 -0
  651. package/src/i18n/messagebundle_lt.properties +2 -0
  652. package/src/i18n/messagebundle_lv.properties +2 -0
  653. package/src/i18n/messagebundle_mk.properties +2 -0
  654. package/src/i18n/messagebundle_ms.properties +2 -0
  655. package/src/i18n/messagebundle_nl.properties +2 -0
  656. package/src/i18n/messagebundle_no.properties +2 -0
  657. package/src/i18n/messagebundle_pl.properties +2 -0
  658. package/src/i18n/messagebundle_pt.properties +2 -0
  659. package/src/i18n/messagebundle_pt_PT.properties +2 -0
  660. package/src/i18n/messagebundle_ro.properties +2 -0
  661. package/src/i18n/messagebundle_ru.properties +2 -0
  662. package/src/i18n/messagebundle_sh.properties +2 -0
  663. package/src/i18n/messagebundle_sk.properties +2 -0
  664. package/src/i18n/messagebundle_sl.properties +2 -0
  665. package/src/i18n/messagebundle_sr.properties +2 -0
  666. package/src/i18n/messagebundle_sv.properties +2 -0
  667. package/src/i18n/messagebundle_th.properties +2 -0
  668. package/src/i18n/messagebundle_tr.properties +2 -0
  669. package/src/i18n/messagebundle_uk.properties +2 -0
  670. package/src/i18n/messagebundle_vi.properties +2 -0
  671. package/src/i18n/messagebundle_zh_CN.properties +2 -0
  672. package/src/i18n/messagebundle_zh_TW.properties +2 -0
  673. package/src/themes/Avatar.css +51 -2
  674. package/src/themes/CheckBox.css +1 -1
  675. package/src/themes/List.css +1 -1
  676. package/src/themes/Menu.css +7 -0
  677. package/src/themes/PopupsCommon.css +7 -4
  678. package/src/themes/Tag.css +1 -6
  679. package/src/themes/Text.css +9 -5
  680. package/src/themes/Toast.css +1 -1
  681. package/src/themes/base/Avatar-parameters.css +1 -1
  682. package/src/themes/base/Toast-parameters.css +2 -2
  683. package/src/themes/sap_horizon/Avatar-parameters.css +3 -2
  684. package/src/themes/sap_horizon_dark/Avatar-parameters.css +2 -1
  685. package/src/themes/sap_horizon_hcb/Avatar-parameters.css +3 -2
  686. package/src/themes/sap_horizon_hcw/Avatar-parameters.css +3 -2
  687. package/dist/SuggestionItemGroupTemplate.d.ts +0 -2
  688. package/dist/SuggestionItemGroupTemplate.js +0 -5
  689. package/dist/SuggestionItemGroupTemplate.js.map +0 -1
  690. package/src/SuggestionItemGroupTemplate.tsx +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSelectionBase.js","sourceRoot":"","sources":["../src/TableSelectionBase.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAapD;;;;GAIG;AAaH,IAAe,kBAAkB;AARjC;;;;;;;GAOG;AACH,MAAe,kBAAmB,SAAQ,UAAU;IAApD;;QAcU,eAAU,GAAG,gBAAgB,CAAC;IAyFxC,CAAC;IAtFA,eAAe,CAAC,KAAY;QAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAChC,CAAC;IAED,SAAS;QACR,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,IAAI,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACjF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAChC,CAAC;IAED,sEAAsE;IACtE,YAAY;QACX,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,iBAAiB;QAChB,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;OAEG;IACH,qBAAqB;QACpB,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,GAAa;QACtB,OAAO,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,MAAc;QACzB,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC;QACrE,CAAC;IACF,CAAC;IAmBD;;;;OAIG;IACO,uBAAuB;QAChC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;CACD,CAAA;AA3FA;IADC,QAAQ,EAAE;oDACO;AAZJ,kBAAkB;IAZhC,WAAW,CAAC,QAAQ,EAAE;QACtB,OAAO,EAAE,KAAK;KACd,CAAC;IAEF;;;;;;;OAOG;GACY,kBAAkB,CAuGhC;AAED,eAAe,kBAAkB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { property, eventStrict } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport { isInstanceOfTable } from \"./TableUtils.js\";\nimport type Table from \"./Table.js\";\nimport type TableRowBase from \"./TableRowBase.js\";\nimport type TableRow from \"./TableRow.js\";\nimport type { ITableFeature } from \"./Table.js\";\n\n/**\n * Fired when selection is changed by user interaction.\n *\n * @public\n */\ntype TableSelectionBaseChangeEventDetail = void;\n\n/**\n * Fired when the selection is changed by user interaction.\n *\n * @public\n */\n@eventStrict(\"change\", {\n\tbubbles: false,\n})\n\n/**\n * @class\n * The `TableSelectionBase` class serves as a foundation for table selections.\n * @constructor\n * @extends UI5Element\n * @since 2.8.0\n * @public\n */\nabstract class TableSelectionBase extends UI5Element implements ITableFeature {\n\teventDetails!: {\n\t\tchange: TableSelectionBaseChangeEventDetail,\n\t}\n\n\t/**\n\t * Defines the selected elements of the component.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tselected?: string;\n\n\treadonly identifier = \"TableSelection\";\n\tprotected _table?: Table;\n\n\tonTableActivate(table: Table) {\n\t\tthis._table = table;\n\t\tthis._invalidateTableAndRows();\n\t}\n\n\tonExitDOM() {\n\t\tthis._invalidateTableAndRows();\n\t\tthis._table = undefined;\n\t}\n\n\tonBeforeRendering() {\n\t\tif (!this._table && this.parentElement && isInstanceOfTable(this.parentElement)) {\n\t\t\tthis._table = this.parentElement;\n\t\t}\n\t\tthis._invalidateTableAndRows();\n\t}\n\n\t// this will be removed when the legacy selection component is removed\n\tisSelectable(): boolean {\n\t\treturn true;\n\t}\n\n\t/**\n\t * Determines if the component allows multiple selection.\n\t */\n\tisMultiSelectable(): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Determines whether a row selector (for example, `radiobutton` or `checkbox`) is rendered.\n\t */\n\tisRowSelectorRequired(): boolean {\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns the unique key associated with the table row.\n\t *\n\t * @param row The row instance\n\t * @public\n\t */\n\tgetRowKey(row: TableRow): string {\n\t\treturn row.rowKey || \"\";\n\t}\n\n\t/**\n\t * Returns the table row instance for the given row key.\n\t *\n\t * @param rowKey The row key\n\t * @public\n\t */\n\tgetRowByKey(rowKey: string): TableRow | undefined {\n\t\tif (this._table && rowKey) {\n\t\t\treturn this._table.rows.find(row => this.getRowKey(row) === rowKey);\n\t\t}\n\t}\n\n\t/**\n\t * Determines whether the specified table row is currently selected.\n\t *\n\t * @param row The row instance\n\t * @public\n\t */\n\tabstract isSelected(row: TableRowBase): boolean;\n\n\t/**\n\t * Sets the selected state of the specified table row.\n\t *\n\t * @param row The row instance\n\t * @param selected Whether the row is selected\n\t * @public\n\t */\n\tabstract setSelected(row: TableRowBase, selected: boolean, _fireEvent: boolean): void;\n\n\t/**\n\t * Invalidates the table and its rows to re-evaluate the selection.\n\t *\n\t * @protected\n\t */\n\tprotected _invalidateTableAndRows() {\n\t\tif (this._table) {\n\t\t\tthis._table._invalidate++;\n\t\t\tthis._table.rows.forEach(row => row._invalidate++);\n\t\t}\n\t}\n}\n\nexport default TableSelectionBase;\n\nexport type {\n\tTableSelectionBaseChangeEventDetail,\n};\n"]}
@@ -0,0 +1,92 @@
1
+ import TableSelectionBase from "./TableSelectionBase.js";
2
+ import type TableRow from "./TableRow.js";
3
+ import type TableRowBase from "./TableRowBase.js";
4
+ /**
5
+ * @class
6
+ *
7
+ * ### Overview
8
+ *
9
+ * The `ui5-table-selection-multi` component is used inside the `ui5-table` to add multi-selection capabilities to the `ui5-table`.
10
+ * Since selection is key-based, each `ui5-table-row` must define a unique `row-key` property.
11
+ *
12
+ * ### Usage
13
+ *
14
+ * The `ui5-table-selection-multi` component is a feature designed exclusively for use within the `ui5-table` component.
15
+ * It must be placed inside the `features` slot of `ui5-table`.
16
+ * This component is not intended for standalone use.
17
+ *
18
+ * ```html
19
+ * <ui5-table>
20
+ * <ui5-table-selection-multi slot="features" selected="Row1 Row3"></ui5-table-selection-multi>
21
+ * </ui5-table>
22
+ * ```
23
+ *
24
+ * ### ES6 Module Import
25
+ *
26
+ * `import "@ui5/webcomponents/dist/TableSelectionMulti.js";`
27
+ *
28
+ * @constructor
29
+ * @extends TableSelectionBase
30
+ * @since 2.8.0
31
+ * @public
32
+ */
33
+ declare class TableSelectionMulti extends TableSelectionBase {
34
+ /**
35
+ * Defines the `row-key` values of selected rows, with each value separated by a space.
36
+ *
37
+ * @default undefined
38
+ * @public
39
+ */
40
+ selected?: string;
41
+ private _rowsLength;
42
+ private _rangeSelection?;
43
+ onTableBeforeRendering(): void;
44
+ isMultiSelectable(): boolean;
45
+ isSelected(row: TableRowBase): boolean;
46
+ setSelected(row: TableRowBase, selected: boolean, _fireEvent?: boolean): void;
47
+ /**
48
+ * Returns an array of the selected rows.
49
+ *
50
+ * @public
51
+ */
52
+ getSelectedRows(): TableRow[];
53
+ /**
54
+ * Determines whether all rows are selected.
55
+ *
56
+ * @public
57
+ */
58
+ areAllRowsSelected(): boolean;
59
+ /**
60
+ * Returns the `selected` property as a set of unique `row-key` values.
61
+ *
62
+ * @public
63
+ */
64
+ getSelectedAsSet(): Set<string>;
65
+ /**
66
+ * Sets the `selected` property using the provided set of unique `row-key` values.
67
+ *
68
+ * @param selectedSet A set of `row-key` values
69
+ * @public
70
+ */
71
+ setSelectedAsSet(selectedSet: Set<string>): void;
72
+ _invalidateTableAndRows(): void;
73
+ _onkeydown(e: KeyboardEvent): void;
74
+ _onkeyup(e: KeyboardEvent, eventOrigin: HTMLElement): void;
75
+ _onclick(e: MouseEvent): void;
76
+ /**
77
+ * Start the range selection and initialises the range selection state
78
+ * @param row starting row
79
+ * @private
80
+ */
81
+ _startRangeSelection(row: TableRow, isMouse?: boolean): void;
82
+ /**
83
+ * Handles the range selection
84
+ * @param targetRow Row that is currently focused
85
+ * @param change indicates direction
86
+ * @private
87
+ */
88
+ _handleRangeSelection(targetRow: TableRow, change: number): void;
89
+ _stopRangeSelection(): void;
90
+ _reverseRangeSelection(): void;
91
+ }
92
+ export default TableSelectionMulti;
@@ -0,0 +1,260 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { customElement, property } from "@ui5/webcomponents-base/dist/decorators.js";
8
+ import TableSelectionBase from "./TableSelectionBase.js";
9
+ import getActiveElement from "@ui5/webcomponents-base/dist/util/getActiveElement.js";
10
+ import { isSelectionCheckbox, isHeaderSelector, findRowInPath } from "./TableUtils.js";
11
+ import { isUpShift } from "@ui5/webcomponents-base/dist/Keys.js";
12
+ /**
13
+ * @class
14
+ *
15
+ * ### Overview
16
+ *
17
+ * The `ui5-table-selection-multi` component is used inside the `ui5-table` to add multi-selection capabilities to the `ui5-table`.
18
+ * Since selection is key-based, each `ui5-table-row` must define a unique `row-key` property.
19
+ *
20
+ * ### Usage
21
+ *
22
+ * The `ui5-table-selection-multi` component is a feature designed exclusively for use within the `ui5-table` component.
23
+ * It must be placed inside the `features` slot of `ui5-table`.
24
+ * This component is not intended for standalone use.
25
+ *
26
+ * ```html
27
+ * <ui5-table>
28
+ * <ui5-table-selection-multi slot="features" selected="Row1 Row3"></ui5-table-selection-multi>
29
+ * </ui5-table>
30
+ * ```
31
+ *
32
+ * ### ES6 Module Import
33
+ *
34
+ * `import "@ui5/webcomponents/dist/TableSelectionMulti.js";`
35
+ *
36
+ * @constructor
37
+ * @extends TableSelectionBase
38
+ * @since 2.8.0
39
+ * @public
40
+ */
41
+ let TableSelectionMulti = class TableSelectionMulti extends TableSelectionBase {
42
+ constructor() {
43
+ super(...arguments);
44
+ this._rowsLength = 0;
45
+ }
46
+ onTableBeforeRendering() {
47
+ if (this._table && this._table.headerRow[0] && this._rowsLength !== this._table.rows.length) {
48
+ this._rowsLength = this._table.rows.length;
49
+ this._table.headerRow[0]._invalidate++;
50
+ }
51
+ }
52
+ isMultiSelectable() {
53
+ return true;
54
+ }
55
+ isSelected(row) {
56
+ if (row.isHeaderRow()) {
57
+ return this.areAllRowsSelected();
58
+ }
59
+ const rowKey = this.getRowKey(row);
60
+ return this.getSelectedAsSet().has(rowKey);
61
+ }
62
+ setSelected(row, selected, _fireEvent = false) {
63
+ if (this._rangeSelection?.isMouse && this._rangeSelection.shiftPressed) {
64
+ return;
65
+ }
66
+ const tableRows = row.isHeaderRow() ? this._table.rows : [row];
67
+ const selectedSet = this.getSelectedAsSet();
68
+ tableRows.forEach(tableRow => {
69
+ const rowKey = this.getRowKey(tableRow);
70
+ selectedSet[selected ? "add" : "delete"](rowKey);
71
+ });
72
+ this.setSelectedAsSet(selectedSet);
73
+ _fireEvent && this.fireDecoratorEvent("change");
74
+ }
75
+ /**
76
+ * Returns an array of the selected rows.
77
+ *
78
+ * @public
79
+ */
80
+ getSelectedRows() {
81
+ return this._table ? this._table.rows.filter(row => this.isSelected(row)) : [];
82
+ }
83
+ /**
84
+ * Determines whether all rows are selected.
85
+ *
86
+ * @public
87
+ */
88
+ areAllRowsSelected() {
89
+ if (!this._table || !this._table.rows.length) {
90
+ return false;
91
+ }
92
+ const selectedSet = this.getSelectedAsSet();
93
+ return this._table.rows.every(row => {
94
+ const rowKey = this.getRowKey(row);
95
+ return selectedSet.has(rowKey);
96
+ });
97
+ }
98
+ /**
99
+ * Returns the `selected` property as a set of unique `row-key` values.
100
+ *
101
+ * @public
102
+ */
103
+ getSelectedAsSet() {
104
+ const selected = this.selected || "";
105
+ const selectedArray = selected.split(" ").filter(String);
106
+ return new Set(selectedArray);
107
+ }
108
+ /**
109
+ * Sets the `selected` property using the provided set of unique `row-key` values.
110
+ *
111
+ * @param selectedSet A set of `row-key` values
112
+ * @public
113
+ */
114
+ setSelectedAsSet(selectedSet) {
115
+ this.selected = [...selectedSet].join(" ");
116
+ }
117
+ _invalidateTableAndRows() {
118
+ super._invalidateTableAndRows();
119
+ const headerRow = this._table?.headerRow[0];
120
+ headerRow && headerRow._invalidate++;
121
+ }
122
+ _onkeydown(e) {
123
+ if (!this._table || !e.shiftKey) {
124
+ return;
125
+ }
126
+ const focusedElement = getActiveElement(); // Assumption: The focused element is always the "next" row after navigation.
127
+ if (!(focusedElement?.hasAttribute("ui5-table-row") || this._rangeSelection?.isMouse || focusedElement?.hasAttribute("ui5-growing-row"))) {
128
+ this._stopRangeSelection();
129
+ return;
130
+ }
131
+ if (!this._rangeSelection) {
132
+ // If no range selection is active, start one
133
+ this._startRangeSelection(focusedElement);
134
+ }
135
+ else if (e.key === "ArrowUp" || e.key === "ArrowDown") {
136
+ const change = isUpShift(e) ? -1 : 1;
137
+ this._handleRangeSelection(focusedElement, change);
138
+ }
139
+ if (this._rangeSelection) {
140
+ this._rangeSelection.shiftPressed = e.shiftKey;
141
+ }
142
+ }
143
+ _onkeyup(e, eventOrigin) {
144
+ if (!this._table) {
145
+ return;
146
+ }
147
+ if (!eventOrigin.hasAttribute("ui5-table-row") || !this._rangeSelection || !e.shiftKey) {
148
+ // Stop range selection if a) Shift is relased or b) the event target is not a row
149
+ this._stopRangeSelection();
150
+ }
151
+ if (this._rangeSelection) {
152
+ this._rangeSelection.shiftPressed = e.shiftKey;
153
+ }
154
+ }
155
+ _onclick(e) {
156
+ if (!this._table) {
157
+ return;
158
+ }
159
+ if (isHeaderSelector(e)) {
160
+ this._stopRangeSelection();
161
+ return;
162
+ }
163
+ if (!isSelectionCheckbox(e)) {
164
+ this._stopRangeSelection();
165
+ return;
166
+ }
167
+ const row = findRowInPath(e.composedPath());
168
+ if (e.shiftKey && this._rangeSelection?.isMouse) {
169
+ const startRow = this._rangeSelection.rows[0];
170
+ const startIndex = this._table.rows.indexOf(startRow);
171
+ const endIndex = this._table.rows.indexOf(row);
172
+ // When doing a range selection and clicking on an already selected row, the checked status should not change
173
+ // Therefore, we need to manually set the checked attribute again, as clicking it would deselect it and leads to
174
+ // a visual inconsistency.
175
+ row.shadowRoot?.querySelector("#selection-component")?.toggleAttribute("checked", true);
176
+ if (startIndex === -1 || endIndex === -1 || row.rowKey === startRow.rowKey || row.rowKey === this._rangeSelection.rows[this._rangeSelection.rows.length - 1].rowKey) {
177
+ return;
178
+ }
179
+ const change = endIndex - startIndex;
180
+ this._handleRangeSelection(row, change);
181
+ }
182
+ else if (row) {
183
+ this._startRangeSelection(row, true);
184
+ }
185
+ }
186
+ /**
187
+ * Start the range selection and initialises the range selection state
188
+ * @param row starting row
189
+ * @private
190
+ */
191
+ _startRangeSelection(row, isMouse = false) {
192
+ const selected = this.isSelected(row);
193
+ if (isMouse && !selected) {
194
+ // Do not initiate range selection if the row is not selected
195
+ return;
196
+ }
197
+ this._rangeSelection = {
198
+ selected,
199
+ isUp: null,
200
+ rows: [row],
201
+ isMouse,
202
+ shiftPressed: false,
203
+ };
204
+ }
205
+ /**
206
+ * Handles the range selection
207
+ * @param targetRow Row that is currently focused
208
+ * @param change indicates direction
209
+ * @private
210
+ */
211
+ _handleRangeSelection(targetRow, change) {
212
+ if (!this._rangeSelection) {
213
+ return;
214
+ }
215
+ const isUp = change > 0;
216
+ this._rangeSelection.isUp ??= isUp;
217
+ const shouldReverseSelection = isUp !== this._rangeSelection.isUp && !this._rangeSelection.isMouse;
218
+ let selectionChanged = shouldReverseSelection && this.isSelected(targetRow);
219
+ if (shouldReverseSelection) {
220
+ this._reverseRangeSelection();
221
+ }
222
+ else {
223
+ const rowIndex = this._table.rows.indexOf(targetRow);
224
+ const [startIndex, endIndex] = [rowIndex, rowIndex - change].sort((a, b) => a - b);
225
+ const selectedSet = this.getSelectedAsSet();
226
+ selectionChanged = this._table?.rows.slice(startIndex, endIndex + 1).reduce((changed, row) => {
227
+ const isRowNotInSelection = !this._rangeSelection?.rows.includes(row);
228
+ const isRowSelectionDifferent = this.isSelected(row) !== this._rangeSelection.selected;
229
+ if (isRowNotInSelection) {
230
+ this._rangeSelection?.rows.push(row);
231
+ }
232
+ selectedSet[this._rangeSelection.selected ? "add" : "delete"](this.getRowKey(row));
233
+ return changed || isRowSelectionDifferent;
234
+ }, selectionChanged) || false;
235
+ this.setSelectedAsSet(selectedSet);
236
+ }
237
+ selectionChanged && this.fireDecoratorEvent("change");
238
+ }
239
+ _stopRangeSelection() {
240
+ this._rangeSelection = null;
241
+ }
242
+ _reverseRangeSelection() {
243
+ const row = this._rangeSelection?.rows.pop();
244
+ if (row) {
245
+ this.setSelected(row, false);
246
+ }
247
+ if (this._rangeSelection?.rows.length === 1) {
248
+ this._rangeSelection.isUp = null;
249
+ }
250
+ }
251
+ };
252
+ __decorate([
253
+ property()
254
+ ], TableSelectionMulti.prototype, "selected", void 0);
255
+ TableSelectionMulti = __decorate([
256
+ customElement({ tag: "ui5-table-selection-multi" })
257
+ ], TableSelectionMulti);
258
+ TableSelectionMulti.define();
259
+ export default TableSelectionMulti;
260
+ //# sourceMappingURL=TableSelectionMulti.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSelectionMulti.js","sourceRoot":"","sources":["../src/TableSelectionMulti.ts"],"names":[],"mappings":"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","sourcesContent":["import { customElement, property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport TableSelectionBase from \"./TableSelectionBase.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport { isSelectionCheckbox, isHeaderSelector, findRowInPath } from \"./TableUtils.js\";\nimport { isUpShift } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type TableRow from \"./TableRow.js\";\nimport type TableRowBase from \"./TableRowBase.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-selection-multi` component is used inside the `ui5-table` to add multi-selection capabilities to the `ui5-table`.\n * Since selection is key-based, each `ui5-table-row` must define a unique `row-key` property.\n *\n * ### Usage\n *\n * The `ui5-table-selection-multi` component is a feature designed exclusively for use within the `ui5-table` component.\n * It must be placed inside the `features` slot of `ui5-table`.\n * This component is not intended for standalone use.\n *\n * ```html\n * <ui5-table>\n * \t<ui5-table-selection-multi slot=\"features\" selected=\"Row1 Row3\"></ui5-table-selection-multi>\n * </ui5-table>\n * ```\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableSelectionMulti.js\";`\n *\n * @constructor\n * @extends TableSelectionBase\n * @since 2.8.0\n * @public\n */\n@customElement({ tag: \"ui5-table-selection-multi\" })\n\nclass TableSelectionMulti extends TableSelectionBase {\n\t/**\n\t * Defines the `row-key` values of selected rows, with each value separated by a space.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tselected?: string;\n\n\tprivate _rowsLength = 0;\n\tprivate _rangeSelection?: {\n\t\tselected: boolean,\n\t\tisUp: boolean | null,\n\t\trows: TableRow[],\n\t\tisMouse: boolean,\n\t\tshiftPressed: boolean\n\t} | null;\n\n\tonTableBeforeRendering() {\n\t\tif (this._table && this._table.headerRow[0] && this._rowsLength !== this._table.rows.length) {\n\t\t\tthis._rowsLength = this._table.rows.length;\n\t\t\tthis._table.headerRow[0]._invalidate++;\n\t\t}\n\t}\n\n\tisMultiSelectable(): boolean {\n\t\treturn true;\n\t}\n\n\tisSelected(row: TableRowBase): boolean {\n\t\tif (row.isHeaderRow()) {\n\t\t\treturn this.areAllRowsSelected();\n\t\t}\n\n\t\tconst rowKey = this.getRowKey(row as TableRow);\n\t\treturn this.getSelectedAsSet().has(rowKey);\n\t}\n\n\tsetSelected(row: TableRowBase, selected: boolean, _fireEvent: boolean = false) {\n\t\tif (this._rangeSelection?.isMouse && this._rangeSelection.shiftPressed) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tableRows = row.isHeaderRow() ? this._table!.rows : [row as TableRow];\n\t\tconst selectedSet = this.getSelectedAsSet();\n\t\ttableRows.forEach(tableRow => {\n\t\t\tconst rowKey = this.getRowKey(tableRow);\n\t\t\tselectedSet[selected ? \"add\" : \"delete\"](rowKey);\n\t\t});\n\n\t\tthis.setSelectedAsSet(selectedSet);\n\t\t_fireEvent && this.fireDecoratorEvent(\"change\");\n\t}\n\n\t/**\n\t * Returns an array of the selected rows.\n\t *\n\t * @public\n\t */\n\tgetSelectedRows(): TableRow[] {\n\t\treturn this._table ? this._table.rows.filter(row => this.isSelected(row)) : [];\n\t}\n\n\t/**\n\t * Determines whether all rows are selected.\n\t *\n\t * @public\n\t */\n\tareAllRowsSelected(): boolean {\n\t\tif (!this._table || !this._table.rows.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst selectedSet = this.getSelectedAsSet();\n\t\treturn this._table.rows.every(row => {\n\t\t\tconst rowKey = this.getRowKey(row);\n\t\t\treturn selectedSet.has(rowKey);\n\t\t});\n\t}\n\n\t/**\n\t * Returns the `selected` property as a set of unique `row-key` values.\n\t *\n\t * @public\n\t */\n\tgetSelectedAsSet(): Set<string> {\n\t\tconst selected = this.selected || \"\";\n\t\tconst selectedArray = selected.split(\" \").filter(String);\n\t\treturn new Set(selectedArray);\n\t}\n\n\t/**\n\t * Sets the `selected` property using the provided set of unique `row-key` values.\n\t *\n\t * @param selectedSet A set of `row-key` values\n\t * @public\n\t */\n\tsetSelectedAsSet(selectedSet: Set<string>): void {\n\t\tthis.selected = [...selectedSet].join(\" \");\n\t}\n\n\t_invalidateTableAndRows() {\n\t\tsuper._invalidateTableAndRows();\n\t\tconst headerRow = this._table?.headerRow[0];\n\t\theaderRow && headerRow._invalidate++;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (!this._table || !e.shiftKey) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst focusedElement = getActiveElement(); // Assumption: The focused element is always the \"next\" row after navigation.\n\n\t\tif (!(focusedElement?.hasAttribute(\"ui5-table-row\") || this._rangeSelection?.isMouse || focusedElement?.hasAttribute(\"ui5-growing-row\"))) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._rangeSelection) {\n\t\t\t// If no range selection is active, start one\n\t\t\tthis._startRangeSelection(focusedElement as TableRow);\n\t\t} else if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") {\n\t\t\tconst change = isUpShift(e) ? -1 : 1;\n\t\t\tthis._handleRangeSelection(focusedElement as TableRow, change);\n\t\t}\n\n\t\tif (this._rangeSelection) {\n\t\t\tthis._rangeSelection.shiftPressed = e.shiftKey;\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!eventOrigin.hasAttribute(\"ui5-table-row\") || !this._rangeSelection || !e.shiftKey) {\n\t\t\t// Stop range selection if a) Shift is relased or b) the event target is not a row\n\t\t\tthis._stopRangeSelection();\n\t\t}\n\n\t\tif (this._rangeSelection) {\n\t\t\tthis._rangeSelection.shiftPressed = e.shiftKey;\n\t\t}\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isHeaderSelector(e)) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!isSelectionCheckbox(e)) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = findRowInPath(e.composedPath());\n\n\t\tif (e.shiftKey && this._rangeSelection?.isMouse) {\n\t\t\tconst startRow = this._rangeSelection.rows[0];\n\t\t\tconst startIndex = this._table.rows.indexOf(startRow);\n\t\t\tconst endIndex = this._table.rows.indexOf(row);\n\n\t\t\t// When doing a range selection and clicking on an already selected row, the checked status should not change\n\t\t\t// Therefore, we need to manually set the checked attribute again, as clicking it would deselect it and leads to\n\t\t\t// a visual inconsistency.\n\t\t\trow.shadowRoot?.querySelector(\"#selection-component\")?.toggleAttribute(\"checked\", true);\n\n\t\t\tif (startIndex === -1 || endIndex === -1 || row.rowKey === startRow.rowKey || row.rowKey === this._rangeSelection.rows[this._rangeSelection.rows.length - 1].rowKey) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst change = endIndex - startIndex;\n\t\t\tthis._handleRangeSelection(row, change);\n\t\t} else if (row) {\n\t\t\tthis._startRangeSelection(row, true);\n\t\t}\n\t}\n\n\t/**\n\t * Start the range selection and initialises the range selection state\n\t * @param row starting row\n\t * @private\n\t */\n\t_startRangeSelection(row: TableRow, isMouse = false) {\n\t\tconst selected = this.isSelected(row);\n\t\tif (isMouse && !selected) {\n\t\t\t// Do not initiate range selection if the row is not selected\n\t\t\treturn;\n\t\t}\n\n\t\tthis._rangeSelection = {\n\t\t\tselected,\n\t\t\tisUp: null,\n\t\t\trows: [row],\n\t\t\tisMouse,\n\t\t\tshiftPressed: false,\n\t\t};\n\t}\n\n\t/**\n\t * Handles the range selection\n\t * @param targetRow Row that is currently focused\n\t * @param change indicates direction\n\t * @private\n\t */\n\t_handleRangeSelection(targetRow: TableRow, change: number) {\n\t\tif (!this._rangeSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isUp = change > 0;\n\t\tthis._rangeSelection.isUp ??= isUp;\n\n\t\tconst shouldReverseSelection = isUp !== this._rangeSelection.isUp && !this._rangeSelection.isMouse;\n\t\tlet selectionChanged = shouldReverseSelection && this.isSelected(targetRow);\n\n\t\tif (shouldReverseSelection) {\n\t\t\tthis._reverseRangeSelection();\n\t\t} else {\n\t\t\tconst rowIndex = this._table!.rows.indexOf(targetRow);\n\t\t\tconst [startIndex, endIndex] = [rowIndex, rowIndex - change].sort((a, b) => a - b);\n\t\t\tconst selectedSet = this.getSelectedAsSet();\n\n\t\t\tselectionChanged = this._table?.rows.slice(startIndex, endIndex + 1).reduce((changed, row) => {\n\t\t\t\tconst isRowNotInSelection = !this._rangeSelection?.rows.includes(row);\n\t\t\t\tconst isRowSelectionDifferent = this.isSelected(row) !== this._rangeSelection!.selected;\n\n\t\t\t\tif (isRowNotInSelection) {\n\t\t\t\t\tthis._rangeSelection?.rows.push(row);\n\t\t\t\t}\n\n\t\t\t\tselectedSet[this._rangeSelection!.selected ? \"add\" : \"delete\"](this.getRowKey(row));\n\n\t\t\t\treturn changed || isRowSelectionDifferent;\n\t\t\t}, selectionChanged) || false;\n\n\t\t\tthis.setSelectedAsSet(selectedSet);\n\t\t}\n\n\t\tselectionChanged && this.fireDecoratorEvent(\"change\");\n\t}\n\n\t_stopRangeSelection() {\n\t\tthis._rangeSelection = null;\n\t}\n\n\t_reverseRangeSelection() {\n\t\tconst row = this._rangeSelection?.rows.pop();\n\t\tif (row) {\n\t\t\tthis.setSelected(row, false);\n\t\t}\n\n\t\tif (this._rangeSelection?.rows.length === 1) {\n\t\t\tthis._rangeSelection.isUp = null;\n\t\t}\n\t}\n}\n\nTableSelectionMulti.define();\n\nexport default TableSelectionMulti;\n"]}
@@ -0,0 +1,49 @@
1
+ import TableSelectionBase from "./TableSelectionBase.js";
2
+ import type TableRow from "./TableRow.js";
3
+ /**
4
+ * @class
5
+ *
6
+ * ### Overview
7
+ *
8
+ * The `ui5-table-selection-single` component is used inside the `ui5-table` to add single selection capabilities to the `ui5-table`.
9
+ * Since selection is key-based, each `ui5-table-row` must define a unique `row-key` property.
10
+ *
11
+ * ### Usage
12
+ *
13
+ * The `ui5-table-selection-single` component is a feature designed exclusively for use within the `ui5-table` component.
14
+ * It must be placed inside the `features` slot of `ui5-table`.
15
+ * This component is not intended for standalone use.
16
+ *
17
+ * ```html
18
+ * <ui5-table>
19
+ * <ui5-table-selection-single slot="features" selected="Row1"></ui5-table-selection-single>
20
+ * </ui5-table>
21
+ * ```
22
+ *
23
+ * ### ES6 Module Import
24
+ *
25
+ * `import "@ui5/webcomponents/dist/TableSelectionSingle.js";`
26
+ *
27
+ * @constructor
28
+ * @extends TableSelectionBase
29
+ * @since 2.8.0
30
+ * @public
31
+ */
32
+ declare class TableSelectionSingle extends TableSelectionBase {
33
+ /**
34
+ * Defines the `row-key` value of the selected row.
35
+ *
36
+ * @default undefined
37
+ * @public
38
+ */
39
+ selected?: string;
40
+ isSelected(row: TableRow): boolean;
41
+ setSelected(row: TableRow, selected: boolean, _fireEvent?: boolean): void;
42
+ /**
43
+ * Returns the selected row.
44
+ *
45
+ * @public
46
+ */
47
+ getSelectedRow(): TableRow | undefined;
48
+ }
49
+ export default TableSelectionSingle;
@@ -0,0 +1,67 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { customElement, property } from "@ui5/webcomponents-base/dist/decorators.js";
8
+ import TableSelectionBase from "./TableSelectionBase.js";
9
+ /**
10
+ * @class
11
+ *
12
+ * ### Overview
13
+ *
14
+ * The `ui5-table-selection-single` component is used inside the `ui5-table` to add single selection capabilities to the `ui5-table`.
15
+ * Since selection is key-based, each `ui5-table-row` must define a unique `row-key` property.
16
+ *
17
+ * ### Usage
18
+ *
19
+ * The `ui5-table-selection-single` component is a feature designed exclusively for use within the `ui5-table` component.
20
+ * It must be placed inside the `features` slot of `ui5-table`.
21
+ * This component is not intended for standalone use.
22
+ *
23
+ * ```html
24
+ * <ui5-table>
25
+ * <ui5-table-selection-single slot="features" selected="Row1"></ui5-table-selection-single>
26
+ * </ui5-table>
27
+ * ```
28
+ *
29
+ * ### ES6 Module Import
30
+ *
31
+ * `import "@ui5/webcomponents/dist/TableSelectionSingle.js";`
32
+ *
33
+ * @constructor
34
+ * @extends TableSelectionBase
35
+ * @since 2.8.0
36
+ * @public
37
+ */
38
+ let TableSelectionSingle = class TableSelectionSingle extends TableSelectionBase {
39
+ isSelected(row) {
40
+ const rowKey = this.getRowKey(row);
41
+ return rowKey ? this.selected === rowKey : false;
42
+ }
43
+ setSelected(row, selected, _fireEvent = false) {
44
+ const rowKey = this.getRowKey(row);
45
+ if (rowKey) {
46
+ this.selected = selected ? rowKey : undefined;
47
+ _fireEvent && this.fireDecoratorEvent("change");
48
+ }
49
+ }
50
+ /**
51
+ * Returns the selected row.
52
+ *
53
+ * @public
54
+ */
55
+ getSelectedRow() {
56
+ return this._table?.rows.find(row => this.isSelected(row));
57
+ }
58
+ };
59
+ __decorate([
60
+ property()
61
+ ], TableSelectionSingle.prototype, "selected", void 0);
62
+ TableSelectionSingle = __decorate([
63
+ customElement({ tag: "ui5-table-selection-single" })
64
+ ], TableSelectionSingle);
65
+ TableSelectionSingle.define();
66
+ export default TableSelectionSingle;
67
+ //# sourceMappingURL=TableSelectionSingle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSelectionSingle.js","sourceRoot":"","sources":["../src/TableSelectionSingle.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAGzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,kBAAkB;IAUpD,UAAU,CAAC,GAAa;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,GAAa,EAAE,QAAiB,EAAE,aAAsB,KAAK;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9C,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,cAAc;QACb,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;CACD,CAAA;AAvBA;IADC,QAAQ,EAAE;sDACO;AARb,oBAAoB;IAFzB,aAAa,CAAC,EAAE,GAAG,EAAE,4BAA4B,EAAE,CAAC;GAE/C,oBAAoB,CA+BzB;AAED,oBAAoB,CAAC,MAAM,EAAE,CAAC;AAE9B,eAAe,oBAAoB,CAAC","sourcesContent":["import { customElement, property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport TableSelectionBase from \"./TableSelectionBase.js\";\nimport type TableRow from \"./TableRow.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-selection-single` component is used inside the `ui5-table` to add single selection capabilities to the `ui5-table`.\n * Since selection is key-based, each `ui5-table-row` must define a unique `row-key` property.\n *\n * ### Usage\n *\n * The `ui5-table-selection-single` component is a feature designed exclusively for use within the `ui5-table` component.\n * It must be placed inside the `features` slot of `ui5-table`.\n * This component is not intended for standalone use.\n *\n * ```html\n * <ui5-table>\n * \t<ui5-table-selection-single slot=\"features\" selected=\"Row1\"></ui5-table-selection-single>\n * </ui5-table>\n * ```\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableSelectionSingle.js\";`\n *\n * @constructor\n * @extends TableSelectionBase\n * @since 2.8.0\n * @public\n */\n@customElement({ tag: \"ui5-table-selection-single\" })\n\nclass TableSelectionSingle extends TableSelectionBase {\n\t/**\n\t * Defines the `row-key` value of the selected row.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tselected?: string;\n\n\tisSelected(row: TableRow): boolean {\n\t\tconst rowKey = this.getRowKey(row);\n\t\treturn rowKey ? this.selected === rowKey : false;\n\t}\n\n\tsetSelected(row: TableRow, selected: boolean, _fireEvent: boolean = false) {\n\t\tconst rowKey = this.getRowKey(row);\n\t\tif (rowKey) {\n\t\t\tthis.selected = selected ? rowKey : undefined;\n\t\t\t_fireEvent && this.fireDecoratorEvent(\"change\");\n\t\t}\n\t}\n\n\t/**\n\t * Returns the selected row.\n\t *\n\t * @public\n\t */\n\tgetSelectedRow(): TableRow | undefined {\n\t\treturn this._table?.rows.find(row => this.isSelected(row));\n\t}\n}\n\nTableSelectionSingle.define();\n\nexport default TableSelectionSingle;\n"]}
package/dist/Tokenizer.js CHANGED
@@ -179,10 +179,10 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
179
179
  });
180
180
  }
181
181
  onEnterDOM() {
182
- ResizeHandler.register(this.contentDom, this._resizeHandler);
182
+ ResizeHandler.register(this, this._resizeHandler);
183
183
  }
184
184
  onExitDOM() {
185
- ResizeHandler.deregister(this.contentDom, this._resizeHandler);
185
+ ResizeHandler.deregister(this, this._resizeHandler);
186
186
  }
187
187
  _handleNMoreClick() {
188
188
  if (this.disabled) {