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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (652) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/cypress/specs/Calendar.cy.tsx +703 -0
  3. package/cypress/specs/MultiInput.cy.tsx +1 -0
  4. package/cypress/specs/Table.cy.tsx +172 -0
  5. package/cypress/support/commands/Calendar.commands.ts +15 -0
  6. package/cypress/support/commands.ts +7 -2
  7. package/dist/.tsbuildinfo +1 -1
  8. package/dist/ComboBox.d.ts +0 -1
  9. package/dist/ComboBox.js +0 -1
  10. package/dist/ComboBox.js.map +1 -1
  11. package/dist/DateTimeInput.d.ts +1 -0
  12. package/dist/DateTimeInput.js +5 -1
  13. package/dist/DateTimeInput.js.map +1 -1
  14. package/dist/Input.js +0 -1
  15. package/dist/Input.js.map +1 -1
  16. package/dist/Link.d.ts +15 -0
  17. package/dist/Link.js +17 -0
  18. package/dist/Link.js.map +1 -1
  19. package/dist/ListItem.d.ts +0 -8
  20. package/dist/ListItem.js +0 -9
  21. package/dist/ListItem.js.map +1 -1
  22. package/dist/ListItemTemplate.js +2 -2
  23. package/dist/ListItemTemplate.js.map +1 -1
  24. package/dist/MultiComboBox.d.ts +1 -3
  25. package/dist/MultiComboBox.js +22 -19
  26. package/dist/MultiComboBox.js.map +1 -1
  27. package/dist/MultiComboBoxPopoverTemplate.d.ts +2 -0
  28. package/dist/MultiComboBoxPopoverTemplate.js +35 -0
  29. package/dist/MultiComboBoxPopoverTemplate.js.map +1 -0
  30. package/dist/MultiComboBoxTemplate.d.ts +2 -0
  31. package/dist/MultiComboBoxTemplate.js +26 -0
  32. package/dist/MultiComboBoxTemplate.js.map +1 -0
  33. package/dist/Table.d.ts +12 -7
  34. package/dist/Table.js +20 -17
  35. package/dist/Table.js.map +1 -1
  36. package/dist/TableCell.d.ts +1 -2
  37. package/dist/TableCell.js +13 -5
  38. package/dist/TableCell.js.map +1 -1
  39. package/dist/TableHeaderCell.d.ts +22 -0
  40. package/dist/TableHeaderCell.js +31 -2
  41. package/dist/TableHeaderCell.js.map +1 -1
  42. package/dist/TableHeaderCellActionAI.d.ts +27 -0
  43. package/dist/TableHeaderCellActionAI.js +44 -0
  44. package/dist/TableHeaderCellActionAI.js.map +1 -0
  45. package/dist/TableHeaderCellActionBase.d.ts +33 -0
  46. package/dist/TableHeaderCellActionBase.js +58 -0
  47. package/dist/TableHeaderCellActionBase.js.map +1 -0
  48. package/dist/TableHeaderRow.d.ts +1 -0
  49. package/dist/TableHeaderRow.js +6 -4
  50. package/dist/TableHeaderRow.js.map +1 -1
  51. package/dist/TableNavigation.js +1 -2
  52. package/dist/TableNavigation.js.map +1 -1
  53. package/dist/TableRowActionBase.d.ts +0 -2
  54. package/dist/TableRowActionBase.js +0 -4
  55. package/dist/TableRowActionBase.js.map +1 -1
  56. package/dist/TableRowActionNavigation.d.ts +11 -1
  57. package/dist/TableRowActionNavigation.js +17 -6
  58. package/dist/TableRowActionNavigation.js.map +1 -1
  59. package/dist/TimePicker.d.ts +4 -4
  60. package/dist/TimePicker.js +23 -17
  61. package/dist/TimePicker.js.map +1 -1
  62. package/dist/TimePickerPopoverTemplate.js +1 -1
  63. package/dist/TimePickerPopoverTemplate.js.map +1 -1
  64. package/dist/TimePickerTemplate.js +1 -1
  65. package/dist/TimePickerTemplate.js.map +1 -1
  66. package/dist/bundle.esm.d.ts +1 -0
  67. package/dist/bundle.esm.js +3 -0
  68. package/dist/bundle.esm.js.map +1 -1
  69. package/dist/css/themes/Avatar.css +1 -1
  70. package/dist/css/themes/AvatarGroup.css +1 -1
  71. package/dist/css/themes/Bar.css +1 -1
  72. package/dist/css/themes/Breadcrumbs.css +1 -1
  73. package/dist/css/themes/BusyIndicator.css +1 -1
  74. package/dist/css/themes/Button.css +1 -1
  75. package/dist/css/themes/ButtonBadge.css +1 -1
  76. package/dist/css/themes/Calendar.css +1 -1
  77. package/dist/css/themes/CalendarHeader.css +1 -1
  78. package/dist/css/themes/CalendarLegend.css +1 -1
  79. package/dist/css/themes/CalendarLegendItem.css +1 -1
  80. package/dist/css/themes/Card.css +1 -1
  81. package/dist/css/themes/CardHeader.css +1 -1
  82. package/dist/css/themes/Carousel.css +1 -1
  83. package/dist/css/themes/CheckBox.css +1 -1
  84. package/dist/css/themes/ColorPalette.css +1 -1
  85. package/dist/css/themes/ColorPaletteItem.css +1 -1
  86. package/dist/css/themes/ColorPalettePopover.css +1 -1
  87. package/dist/css/themes/ColorPicker.css +1 -1
  88. package/dist/css/themes/ComboBox.css +1 -1
  89. package/dist/css/themes/ComboBoxItem.css +1 -1
  90. package/dist/css/themes/DatePicker.css +1 -1
  91. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  92. package/dist/css/themes/DayPicker.css +1 -1
  93. package/dist/css/themes/Dialog.css +1 -1
  94. package/dist/css/themes/FileUploader.css +1 -1
  95. package/dist/css/themes/Form.css +1 -1
  96. package/dist/css/themes/FormItem.css +1 -1
  97. package/dist/css/themes/FormItemSpan.css +1 -1
  98. package/dist/css/themes/GrowingButton.css +1 -1
  99. package/dist/css/themes/Icon.css +1 -1
  100. package/dist/css/themes/Input.css +1 -1
  101. package/dist/css/themes/InputIcon.css +1 -1
  102. package/dist/css/themes/InputSharedStyles.css +1 -1
  103. package/dist/css/themes/Link.css +1 -1
  104. package/dist/css/themes/List.css +1 -1
  105. package/dist/css/themes/ListItem.css +1 -1
  106. package/dist/css/themes/ListItemBase.css +1 -1
  107. package/dist/css/themes/ListItemCustom.css +1 -1
  108. package/dist/css/themes/ListItemGroup.css +1 -1
  109. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  110. package/dist/css/themes/ListItemIcon.css +1 -1
  111. package/dist/css/themes/Menu.css +1 -1
  112. package/dist/css/themes/MenuItem.css +1 -1
  113. package/dist/css/themes/MessageStrip.css +1 -1
  114. package/dist/css/themes/MonthPicker.css +1 -1
  115. package/dist/css/themes/MultiComboBox.css +1 -1
  116. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  117. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  118. package/dist/css/themes/MultiInput.css +1 -1
  119. package/dist/css/themes/OptionBase.css +1 -1
  120. package/dist/css/themes/Panel.css +1 -1
  121. package/dist/css/themes/Popover.css +1 -1
  122. package/dist/css/themes/PopupsCommon.css +1 -1
  123. package/dist/css/themes/ProgressIndicator.css +1 -1
  124. package/dist/css/themes/RadioButton.css +1 -1
  125. package/dist/css/themes/RangeSlider.css +1 -1
  126. package/dist/css/themes/RatingIndicator.css +1 -1
  127. package/dist/css/themes/ResponsivePopover.css +1 -1
  128. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  129. package/dist/css/themes/SegmentedButton.css +1 -1
  130. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  131. package/dist/css/themes/Select.css +1 -1
  132. package/dist/css/themes/SliderBase.css +1 -1
  133. package/dist/css/themes/SplitButton.css +1 -1
  134. package/dist/css/themes/StepInput.css +1 -1
  135. package/dist/css/themes/SuggestionItem.css +1 -1
  136. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  137. package/dist/css/themes/Switch.css +1 -1
  138. package/dist/css/themes/TabContainer.css +1 -1
  139. package/dist/css/themes/TabInOverflow.css +1 -1
  140. package/dist/css/themes/TabInStrip.css +1 -1
  141. package/dist/css/themes/TabSemanticIcon.css +1 -1
  142. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  143. package/dist/css/themes/Table.css +1 -1
  144. package/dist/css/themes/TableCell.css +1 -1
  145. package/dist/css/themes/TableCellBase.css +1 -1
  146. package/dist/css/themes/TableHeaderCell.css +1 -1
  147. package/dist/css/themes/TableHeaderCellActionBase.css +1 -0
  148. package/dist/css/themes/TableHeaderRow.css +1 -1
  149. package/dist/css/themes/TableRow.css +1 -1
  150. package/dist/css/themes/TableRowActionBase.css +1 -1
  151. package/dist/css/themes/TableRowBase.css +1 -1
  152. package/dist/css/themes/Tag.css +1 -1
  153. package/dist/css/themes/Text.css +1 -1
  154. package/dist/css/themes/TextArea.css +1 -1
  155. package/dist/css/themes/TimePicker.css +1 -1
  156. package/dist/css/themes/Toast.css +1 -1
  157. package/dist/css/themes/ToggleButton.css +1 -1
  158. package/dist/css/themes/Token.css +1 -1
  159. package/dist/css/themes/Tokenizer.css +1 -1
  160. package/dist/css/themes/TokenizerPopover.css +1 -1
  161. package/dist/css/themes/Toolbar.css +1 -1
  162. package/dist/css/themes/ToolbarPopover.css +1 -1
  163. package/dist/css/themes/TreeItem.css +1 -1
  164. package/dist/css/themes/ValueStateMessage.css +1 -1
  165. package/dist/css/themes/YearPicker.css +1 -1
  166. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  167. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  168. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  169. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  170. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  171. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  172. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  173. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  174. package/dist/custom-elements-internal.json +265 -1
  175. package/dist/custom-elements.json +173 -1
  176. package/dist/features/InputSuggestions.d.ts +0 -2
  177. package/dist/features/InputSuggestions.js +0 -8
  178. package/dist/features/InputSuggestions.js.map +1 -1
  179. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  180. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  181. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  182. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  183. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  184. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  185. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  186. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  187. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  188. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  189. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  190. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  191. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  192. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  194. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  195. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  196. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  213. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  214. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  228. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  229. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  230. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  231. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  232. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  233. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  234. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  235. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  236. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  237. package/dist/generated/i18n/i18n-defaults.js +3 -1
  238. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  239. package/dist/generated/templates/TableCellTemplate.lit.js +3 -6
  240. package/dist/generated/templates/TableCellTemplate.lit.js.map +1 -1
  241. package/dist/generated/templates/TableHeaderCellActionBaseTemplate.lit.d.ts +3 -0
  242. package/dist/generated/templates/TableHeaderCellActionBaseTemplate.lit.js +7 -0
  243. package/dist/generated/templates/TableHeaderCellActionBaseTemplate.lit.js.map +1 -0
  244. package/dist/generated/templates/TableHeaderCellTemplate.lit.js +2 -1
  245. package/dist/generated/templates/TableHeaderCellTemplate.lit.js.map +1 -1
  246. package/dist/generated/templates/TableRowActionBaseTemplate.lit.js +2 -2
  247. package/dist/generated/templates/TableRowActionBaseTemplate.lit.js.map +1 -1
  248. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  249. package/dist/generated/themes/Avatar.css.js +1 -1
  250. package/dist/generated/themes/Avatar.css.js.map +1 -1
  251. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  252. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  253. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  254. package/dist/generated/themes/Bar.css.d.ts +1 -1
  255. package/dist/generated/themes/Bar.css.js +1 -1
  256. package/dist/generated/themes/Bar.css.js.map +1 -1
  257. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  258. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  259. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  260. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  261. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  262. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  263. package/dist/generated/themes/Button.css.d.ts +1 -1
  264. package/dist/generated/themes/Button.css.js +1 -1
  265. package/dist/generated/themes/Button.css.js.map +1 -1
  266. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  267. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  268. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  269. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  270. package/dist/generated/themes/Calendar.css.js +1 -1
  271. package/dist/generated/themes/Calendar.css.js.map +1 -1
  272. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  273. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  274. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  275. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  276. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  277. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  278. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  279. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  280. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  281. package/dist/generated/themes/Card.css.d.ts +1 -1
  282. package/dist/generated/themes/Card.css.js +1 -1
  283. package/dist/generated/themes/Card.css.js.map +1 -1
  284. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  285. package/dist/generated/themes/CardHeader.css.js +1 -1
  286. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  287. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  288. package/dist/generated/themes/Carousel.css.js +1 -1
  289. package/dist/generated/themes/Carousel.css.js.map +1 -1
  290. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  291. package/dist/generated/themes/CheckBox.css.js +1 -1
  292. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  293. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  294. package/dist/generated/themes/ColorPalette.css.js +1 -1
  295. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  296. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  297. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  298. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  299. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  300. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  301. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  302. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  303. package/dist/generated/themes/ColorPicker.css.js +1 -1
  304. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  305. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  306. package/dist/generated/themes/ComboBox.css.js +1 -1
  307. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  308. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  309. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  310. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  311. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  312. package/dist/generated/themes/DatePicker.css.js +1 -1
  313. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  314. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  315. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  316. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  317. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  318. package/dist/generated/themes/DayPicker.css.js +1 -1
  319. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  320. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  321. package/dist/generated/themes/Dialog.css.js +1 -1
  322. package/dist/generated/themes/Dialog.css.js.map +1 -1
  323. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  324. package/dist/generated/themes/FileUploader.css.js +1 -1
  325. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  326. package/dist/generated/themes/Form.css.d.ts +1 -1
  327. package/dist/generated/themes/Form.css.js +1 -1
  328. package/dist/generated/themes/Form.css.js.map +1 -1
  329. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  330. package/dist/generated/themes/FormItem.css.js +1 -1
  331. package/dist/generated/themes/FormItem.css.js.map +1 -1
  332. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  333. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  334. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  335. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  336. package/dist/generated/themes/GrowingButton.css.js +1 -1
  337. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  338. package/dist/generated/themes/Icon.css.d.ts +1 -1
  339. package/dist/generated/themes/Icon.css.js +1 -1
  340. package/dist/generated/themes/Icon.css.js.map +1 -1
  341. package/dist/generated/themes/Input.css.d.ts +1 -1
  342. package/dist/generated/themes/Input.css.js +1 -1
  343. package/dist/generated/themes/Input.css.js.map +1 -1
  344. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  345. package/dist/generated/themes/InputIcon.css.js +1 -1
  346. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  347. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  348. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  349. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  350. package/dist/generated/themes/Link.css.d.ts +1 -1
  351. package/dist/generated/themes/Link.css.js +1 -1
  352. package/dist/generated/themes/Link.css.js.map +1 -1
  353. package/dist/generated/themes/List.css.d.ts +1 -1
  354. package/dist/generated/themes/List.css.js +1 -1
  355. package/dist/generated/themes/List.css.js.map +1 -1
  356. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  357. package/dist/generated/themes/ListItem.css.js +1 -1
  358. package/dist/generated/themes/ListItem.css.js.map +1 -1
  359. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  360. package/dist/generated/themes/ListItemBase.css.js +1 -1
  361. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  362. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  363. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  364. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  365. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  366. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  367. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  368. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  369. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  370. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  371. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  372. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  373. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  374. package/dist/generated/themes/Menu.css.d.ts +1 -1
  375. package/dist/generated/themes/Menu.css.js +1 -1
  376. package/dist/generated/themes/Menu.css.js.map +1 -1
  377. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  378. package/dist/generated/themes/MenuItem.css.js +1 -1
  379. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  380. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  381. package/dist/generated/themes/MessageStrip.css.js +1 -1
  382. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  383. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  384. package/dist/generated/themes/MonthPicker.css.js +1 -1
  385. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  386. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  387. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  388. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  389. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  390. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  391. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  392. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  393. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  394. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  395. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  396. package/dist/generated/themes/MultiInput.css.js +1 -1
  397. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  398. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  399. package/dist/generated/themes/OptionBase.css.js +1 -1
  400. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  401. package/dist/generated/themes/Panel.css.d.ts +1 -1
  402. package/dist/generated/themes/Panel.css.js +1 -1
  403. package/dist/generated/themes/Panel.css.js.map +1 -1
  404. package/dist/generated/themes/Popover.css.d.ts +1 -1
  405. package/dist/generated/themes/Popover.css.js +1 -1
  406. package/dist/generated/themes/Popover.css.js.map +1 -1
  407. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  408. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  409. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  410. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  411. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  412. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  413. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  414. package/dist/generated/themes/RadioButton.css.js +1 -1
  415. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  416. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  417. package/dist/generated/themes/RangeSlider.css.js +1 -1
  418. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  419. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  420. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  421. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  422. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  423. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  424. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  425. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  426. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  427. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  428. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  429. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  430. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  431. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  432. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  433. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  434. package/dist/generated/themes/Select.css.d.ts +1 -1
  435. package/dist/generated/themes/Select.css.js +1 -1
  436. package/dist/generated/themes/Select.css.js.map +1 -1
  437. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  438. package/dist/generated/themes/SliderBase.css.js +1 -1
  439. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  440. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  441. package/dist/generated/themes/SplitButton.css.js +1 -1
  442. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  443. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  444. package/dist/generated/themes/StepInput.css.js +1 -1
  445. package/dist/generated/themes/StepInput.css.js.map +1 -1
  446. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  447. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  448. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  449. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  450. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  451. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  452. package/dist/generated/themes/Switch.css.d.ts +1 -1
  453. package/dist/generated/themes/Switch.css.js +1 -1
  454. package/dist/generated/themes/Switch.css.js.map +1 -1
  455. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  456. package/dist/generated/themes/TabContainer.css.js +1 -1
  457. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  458. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  459. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  460. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  461. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  462. package/dist/generated/themes/TabInStrip.css.js +1 -1
  463. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  464. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  465. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  466. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  467. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  468. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  469. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  470. package/dist/generated/themes/Table.css.d.ts +1 -1
  471. package/dist/generated/themes/Table.css.js +1 -1
  472. package/dist/generated/themes/Table.css.js.map +1 -1
  473. package/dist/generated/themes/TableCell.css.d.ts +1 -1
  474. package/dist/generated/themes/TableCell.css.js +1 -1
  475. package/dist/generated/themes/TableCell.css.js.map +1 -1
  476. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  477. package/dist/generated/themes/TableCellBase.css.js +1 -1
  478. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  479. package/dist/generated/themes/TableHeaderCell.css.d.ts +1 -1
  480. package/dist/generated/themes/TableHeaderCell.css.js +1 -1
  481. package/dist/generated/themes/TableHeaderCell.css.js.map +1 -1
  482. package/dist/generated/themes/TableHeaderCellActionBase.css.d.ts +2 -0
  483. package/dist/generated/themes/TableHeaderCellActionBase.css.js +8 -0
  484. package/dist/generated/themes/TableHeaderCellActionBase.css.js.map +1 -0
  485. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  486. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  487. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  488. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  489. package/dist/generated/themes/TableRow.css.js +1 -1
  490. package/dist/generated/themes/TableRow.css.js.map +1 -1
  491. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  492. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  493. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  494. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  495. package/dist/generated/themes/TableRowBase.css.js +1 -1
  496. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  497. package/dist/generated/themes/Tag.css.d.ts +1 -1
  498. package/dist/generated/themes/Tag.css.js +1 -1
  499. package/dist/generated/themes/Tag.css.js.map +1 -1
  500. package/dist/generated/themes/Text.css.d.ts +1 -1
  501. package/dist/generated/themes/Text.css.js +1 -1
  502. package/dist/generated/themes/Text.css.js.map +1 -1
  503. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  504. package/dist/generated/themes/TextArea.css.js +1 -1
  505. package/dist/generated/themes/TextArea.css.js.map +1 -1
  506. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  507. package/dist/generated/themes/TimePicker.css.js +1 -1
  508. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  509. package/dist/generated/themes/Toast.css.d.ts +1 -1
  510. package/dist/generated/themes/Toast.css.js +1 -1
  511. package/dist/generated/themes/Toast.css.js.map +1 -1
  512. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  513. package/dist/generated/themes/ToggleButton.css.js +1 -1
  514. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  515. package/dist/generated/themes/Token.css.d.ts +1 -1
  516. package/dist/generated/themes/Token.css.js +1 -1
  517. package/dist/generated/themes/Token.css.js.map +1 -1
  518. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  519. package/dist/generated/themes/Tokenizer.css.js +1 -1
  520. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  521. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  522. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  523. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  524. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  525. package/dist/generated/themes/Toolbar.css.js +1 -1
  526. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  527. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  528. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  529. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  530. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  531. package/dist/generated/themes/TreeItem.css.js +1 -1
  532. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  533. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  534. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  535. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  536. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  537. package/dist/generated/themes/YearPicker.css.js +1 -1
  538. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  539. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  540. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  541. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  542. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  543. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  544. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  545. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  546. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  547. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  548. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  549. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  550. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  551. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  552. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  553. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  554. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  555. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  556. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  557. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  558. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  559. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  560. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  561. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  562. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  563. package/dist/types/InteractiveAreaSize.d.ts +19 -0
  564. package/dist/types/InteractiveAreaSize.js +21 -0
  565. package/dist/types/InteractiveAreaSize.js.map +1 -0
  566. package/dist/vscode.html-custom-data.json +28 -2
  567. package/dist/web-types.json +56 -3
  568. package/package.json +11 -10
  569. package/src/ListItemTemplate.tsx +1 -2
  570. package/src/MultiComboBoxPopoverTemplate.tsx +150 -0
  571. package/src/MultiComboBoxTemplate.tsx +121 -0
  572. package/src/TableCell.hbs +6 -11
  573. package/src/TableHeaderCell.hbs +5 -1
  574. package/src/TableHeaderCellActionBase.hbs +6 -0
  575. package/src/TableRowActionBase.hbs +1 -2
  576. package/src/TimePickerPopoverTemplate.tsx +1 -1
  577. package/src/TimePickerTemplate.tsx +1 -1
  578. package/src/i18n/messagebundle.properties +4 -0
  579. package/src/i18n/messagebundle_ar.properties +0 -2
  580. package/src/i18n/messagebundle_bg.properties +0 -2
  581. package/src/i18n/messagebundle_ca.properties +0 -2
  582. package/src/i18n/messagebundle_cnr.properties +0 -2
  583. package/src/i18n/messagebundle_cs.properties +0 -2
  584. package/src/i18n/messagebundle_cy.properties +0 -2
  585. package/src/i18n/messagebundle_da.properties +0 -2
  586. package/src/i18n/messagebundle_de.properties +0 -2
  587. package/src/i18n/messagebundle_el.properties +0 -2
  588. package/src/i18n/messagebundle_en.properties +0 -2
  589. package/src/i18n/messagebundle_en_GB.properties +0 -2
  590. package/src/i18n/messagebundle_en_US_sappsd.properties +0 -2
  591. package/src/i18n/messagebundle_en_US_saptrc.properties +0 -2
  592. package/src/i18n/messagebundle_es.properties +0 -2
  593. package/src/i18n/messagebundle_es_MX.properties +0 -2
  594. package/src/i18n/messagebundle_et.properties +0 -2
  595. package/src/i18n/messagebundle_fi.properties +0 -2
  596. package/src/i18n/messagebundle_fr.properties +0 -2
  597. package/src/i18n/messagebundle_fr_CA.properties +9 -11
  598. package/src/i18n/messagebundle_hi.properties +0 -2
  599. package/src/i18n/messagebundle_hr.properties +0 -2
  600. package/src/i18n/messagebundle_hu.properties +0 -2
  601. package/src/i18n/messagebundle_id.properties +1 -3
  602. package/src/i18n/messagebundle_it.properties +0 -2
  603. package/src/i18n/messagebundle_iw.properties +0 -2
  604. package/src/i18n/messagebundle_ja.properties +0 -2
  605. package/src/i18n/messagebundle_kk.properties +0 -2
  606. package/src/i18n/messagebundle_ko.properties +0 -2
  607. package/src/i18n/messagebundle_lt.properties +0 -2
  608. package/src/i18n/messagebundle_lv.properties +0 -2
  609. package/src/i18n/messagebundle_mk.properties +0 -2
  610. package/src/i18n/messagebundle_ms.properties +0 -2
  611. package/src/i18n/messagebundle_nl.properties +5 -7
  612. package/src/i18n/messagebundle_no.properties +1 -3
  613. package/src/i18n/messagebundle_pl.properties +0 -2
  614. package/src/i18n/messagebundle_pt.properties +0 -2
  615. package/src/i18n/messagebundle_pt_PT.properties +0 -2
  616. package/src/i18n/messagebundle_ro.properties +0 -2
  617. package/src/i18n/messagebundle_ru.properties +0 -2
  618. package/src/i18n/messagebundle_sh.properties +0 -2
  619. package/src/i18n/messagebundle_sk.properties +0 -2
  620. package/src/i18n/messagebundle_sl.properties +0 -2
  621. package/src/i18n/messagebundle_sr.properties +0 -2
  622. package/src/i18n/messagebundle_sv.properties +1 -3
  623. package/src/i18n/messagebundle_th.properties +1 -3
  624. package/src/i18n/messagebundle_tr.properties +0 -2
  625. package/src/i18n/messagebundle_uk.properties +0 -2
  626. package/src/i18n/messagebundle_vi.properties +0 -2
  627. package/src/i18n/messagebundle_zh_CN.properties +0 -2
  628. package/src/i18n/messagebundle_zh_TW.properties +0 -2
  629. package/src/themes/Button.css +1 -0
  630. package/src/themes/Link.css +9 -0
  631. package/src/themes/TableCell.css +1 -0
  632. package/src/themes/TableHeaderCell.css +20 -3
  633. package/src/themes/TableHeaderCellActionBase.css +23 -0
  634. package/src/themes/TableRowActionBase.css +1 -0
  635. package/src/themes/base/Link-parameters.css +1 -1
  636. package/src/themes/base/Select-parameters.css +0 -5
  637. package/src/themes/sap_fiori_3_hcb/Select-parameters.css +0 -5
  638. package/src/themes/sap_fiori_3_hcw/Select-parameters.css +0 -5
  639. package/src/themes/sap_horizon/Link-parameters.css +1 -0
  640. package/src/themes/sap_horizon_dark/Link-parameters.css +1 -0
  641. package/src/themes/sap_horizon_hcb/Link-parameters.css +1 -0
  642. package/src/themes/sap_horizon_hcb/Select-parameters.css +0 -5
  643. package/src/themes/sap_horizon_hcw/Link-parameters.css +1 -0
  644. package/src/themes/sap_horizon_hcw/Select-parameters.css +0 -5
  645. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.d.ts +0 -3
  646. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +0 -29
  647. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +0 -1
  648. package/dist/generated/templates/MultiComboBoxTemplate.lit.d.ts +0 -3
  649. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +0 -39
  650. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +0 -1
  651. package/src/MultiComboBox.hbs +0 -106
  652. package/src/MultiComboBoxPopover.hbs +0 -144
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeaderCell.js","sourceRoot":"","sources":["../src/TableHeaderCell.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,uBAAuB,MAAM,sDAAsD,CAAC;AAC3F,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,aAAa;IAA3C;;QACC;;;;;WAKG;QAEH,UAAK,GAAG,MAAM,CAAC;QAEf;;;;;;;;;;WAUG;QAEH,aAAQ,GAAG,MAAM,CAAC;QAElB;;;;;WAKG;QAEH,aAAQ,GAAG,MAAM,CAAC;QAElB;;;;;;;;;WASG;QAEH,eAAU,GAAG,CAAC,CAAC;QAaf,WAAM,GAAG,KAAK,CAAC;QAEL,aAAQ,GAAW,cAAc,CAAC;QAC5C,gBAAW,GAAW,CAAC,CAAC;IAgBzB,CAAC;IAdA,UAAU;QACT,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,+FAA+F;YAC/F,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,0BAA0B,IAAI,CAAC,eAAe,GAAG,CAAC;QAC/E,CAAC;IACF,CAAC;CACD,CAAA;AApEA;IADC,QAAQ,EAAE;8CACI;AAcf;IADC,QAAQ,EAAE;iDACO;AASlB;IADC,QAAQ,EAAE;iDACO;AAalB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACZ;AAUf;IADC,QAAQ,EAAE;kDACQ;AAGnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;+CAChC;AAzDV,eAAe;IALpB,aAAa,CAAC;QACd,GAAG,EAAE,uBAAuB;QAC5B,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC;QACrD,QAAQ,EAAE,uBAAuB;KACjC,CAAC;GACI,eAAe,CA4EpB;AAED,eAAe,CAAC,MAAM,EAAE,CAAC;AAEzB,eAAe,eAAe,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport TableCellBase from \"./TableCellBase.js\";\nimport TableHeaderCellTemplate from \"./generated/templates/TableHeaderCellTemplate.lit.js\";\nimport TableHeaderCellStyles from \"./generated/themes/TableHeaderCell.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-header-cell` component represents a column in the `ui5-table`.\n *\n * As it is tightly coupled to the `ui5-table`, it should only be used in the `ui5-table-header-row`\n * to ensure correct layout and design.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableHeaderCell.js\";`\n *\n * @constructor\n * @extends TableCellBase\n * @since 2.0.0\n * @public\n * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.\n */\n@customElement({\n\ttag: \"ui5-table-header-cell\",\n\tstyles: [TableCellBase.styles, TableHeaderCellStyles],\n\ttemplate: TableHeaderCellTemplate,\n})\nclass TableHeaderCell extends TableCellBase {\n\t/**\n\t * Defines the width of column.\n\t *\n\t * @default \"auto\"\n\t * @public\n\t */\n\t@property()\n\twidth = \"auto\";\n\n\t/**\n \t * Defines the minimum width of the column.\n\t *\n\t * If the table is in `Popin` mode and the minimum width does not fit anymore,\n\t * the column will move into the popin.\n\t *\n\t * **Note:** If `minWidth` has the `auto` value, the table ensures that the column is wider than at least `3rem`.\n\t *\n\t * @default \"auto\"\n\t * @public\n\t */\n\t@property()\n\tminWidth = \"auto\";\n\n\t/**\n\t * Defines the maximum width of the column.\n\t *\n\t * @default \"auto\"\n\t * @public\n\t */\n\t@property()\n\tmaxWidth = \"auto\";\n\n\t/**\n\t * Defines the importance of the column.\n\t *\n\t * This property affects the popin behaviour.\n\t * Columns with higher importance will move into the popin area later then less important\n\t * columns.\n\t *\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number })\n\timportance = 0;\n\n\t/**\n\t * The text for the column when it pops in.\n\t *\n\t * @default undefined\n\t * @since 2.7.0\n\t * @public\n\t */\n\t@property()\n\tpopinText?: string;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_popin = false;\n\n\tprotected ariaRole: string = \"columnheader\";\n\t_popinWidth: number = 0;\n\n\tonEnterDOM() {\n\t\tsuper.onEnterDOM();\n\t\tthis.style.minWidth = this.minWidth;\n\t\tthis.style.maxWidth = this.maxWidth;\n\t\tthis.style.width = this.width;\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tif (this._individualSlot) {\n\t\t\t// overwrite setting of TableCellBase so that the TableHeaderCell always uses the slot variable\n\t\t\tthis.style.justifyContent = `var(--horizontal-align-${this._individualSlot})`;\n\t\t}\n\t}\n}\n\nTableHeaderCell.define();\n\nexport default TableHeaderCell;\n"]}
1
+ {"version":3,"file":"TableHeaderCell.js","sourceRoot":"","sources":["../src/TableHeaderCell.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,uBAAuB,MAAM,sDAAsD,CAAC;AAC3F,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,SAAS,MAAM,iDAAiD,CAAC;AAExE,OAAO,iDAAiD,CAAC;AACzD,OAAO,kDAAkD,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;GAmBG;AAOH,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,aAAa;IAA3C;;QACC;;;;;WAKG;QAEH,UAAK,GAAG,MAAM,CAAC;QAEf;;;;;;;;;;WAUG;QAEH,aAAQ,GAAG,MAAM,CAAC;QAElB;;;;;WAKG;QAEH,aAAQ,GAAG,MAAM,CAAC;QAElB;;;;;;;;;WASG;QAEH,eAAU,GAAG,CAAC,CAAC;QAYf;;;;;;WAMG;QAEH,kBAAa,GAAmB,MAAM,CAAC;QAcvC,WAAM,GAAG,KAAK,CAAC;QAEL,aAAQ,GAAW,cAAc,CAAC;QAC5C,gBAAW,GAAW,CAAC,CAAC;IA2BzB,CAAC;IAzBA,UAAU;QACT,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,+FAA+F;YAC/F,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,0BAA0B,IAAI,CAAC,eAAe,GAAG,CAAC;QAC/E,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAED,IAAI,SAAS;QACZ,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC3C,OAAO,QAAQ,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;QACnD,CAAC;IACF,CAAC;CACD,CAAA;AApGA;IADC,QAAQ,EAAE;8CACI;AAcf;IADC,QAAQ,EAAE;iDACO;AASlB;IADC,QAAQ,EAAE;iDACO;AAalB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACZ;AAUf;IADC,QAAQ,EAAE;kDACQ;AAUnB;IADC,QAAQ,EAAE;sDAC4B;AAWvC;IADC,IAAI,EAAE;+CACmC;AAG1C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;+CAChC;AA9EV,eAAe;IANpB,aAAa,CAAC;QACd,GAAG,EAAE,uBAAuB;QAC5B,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC;QACrD,QAAQ,EAAE,uBAAuB;QACjC,YAAY,EAAE,CAAC,IAAI,CAAC;KACpB,CAAC;GACI,eAAe,CA4GpB;AAED,eAAe,CAAC,MAAM,EAAE,CAAC;AAEzB,eAAe,eAAe,CAAC","sourcesContent":["import { customElement, property, slot } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport TableCellBase from \"./TableCellBase.js\";\nimport TableHeaderCellTemplate from \"./generated/templates/TableHeaderCellTemplate.lit.js\";\nimport TableHeaderCellStyles from \"./generated/themes/TableHeaderCell.css.js\";\nimport Icon from \"./Icon.js\";\nimport SortOrder from \"@ui5/webcomponents-base/dist/types/SortOrder.js\";\nimport type TableHeaderCellActionBase from \"./TableHeaderCellActionBase.js\";\nimport \"@ui5/webcomponents-icons/dist/sort-ascending.js\";\nimport \"@ui5/webcomponents-icons/dist/sort-descending.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-header-cell` component represents a column in the `ui5-table`.\n *\n * As it is tightly coupled to the `ui5-table`, it should only be used in the `ui5-table-header-row`\n * to ensure correct layout and design.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableHeaderCell.js\";`\n *\n * @constructor\n * @extends TableCellBase\n * @since 2.0.0\n * @public\n * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.\n */\n@customElement({\n\ttag: \"ui5-table-header-cell\",\n\tstyles: [TableCellBase.styles, TableHeaderCellStyles],\n\ttemplate: TableHeaderCellTemplate,\n\tdependencies: [Icon],\n})\nclass TableHeaderCell extends TableCellBase {\n\t/**\n\t * Defines the width of column.\n\t *\n\t * @default \"auto\"\n\t * @public\n\t */\n\t@property()\n\twidth = \"auto\";\n\n\t/**\n \t * Defines the minimum width of the column.\n\t *\n\t * If the table is in `Popin` mode and the minimum width does not fit anymore,\n\t * the column will move into the popin.\n\t *\n\t * **Note:** If `minWidth` has the `auto` value, the table ensures that the column is wider than at least `3rem`.\n\t *\n\t * @default \"auto\"\n\t * @public\n\t */\n\t@property()\n\tminWidth = \"auto\";\n\n\t/**\n\t * Defines the maximum width of the column.\n\t *\n\t * @default \"auto\"\n\t * @public\n\t */\n\t@property()\n\tmaxWidth = \"auto\";\n\n\t/**\n\t * Defines the importance of the column.\n\t *\n\t * This property affects the popin behaviour.\n\t * Columns with higher importance will move into the popin area later then less important\n\t * columns.\n\t *\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number })\n\timportance = 0;\n\n\t/**\n\t * The text for the column when it pops in.\n\t *\n\t * @default undefined\n\t * @since 2.7.0\n\t * @public\n\t */\n\t@property()\n\tpopinText?: string;\n\n\t/**\n\t * Defines the sort indicator of the column.\n\t *\n\t * @default \"None\"\n\t * @since 2.8.0\n\t * @public\n\t */\n\t@property()\n\tsortIndicator: `${SortOrder}` = \"None\";\n\n\t/**\n\t * Defines the action of the column.\n\t *\n\t * **Note:** While multiple actions are technically possible, this is not supported.\n\t *\n\t * @public\n\t * @since 2.8.0\n\t */\n\t@slot()\n\taction!: Array<TableHeaderCellActionBase>;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_popin = false;\n\n\tprotected ariaRole: string = \"columnheader\";\n\t_popinWidth: number = 0;\n\n\tonEnterDOM() {\n\t\tsuper.onEnterDOM();\n\t\tthis.style.minWidth = this.minWidth;\n\t\tthis.style.maxWidth = this.maxWidth;\n\t\tthis.style.width = this.width;\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tif (this._individualSlot) {\n\t\t\t// overwrite setting of TableCellBase so that the TableHeaderCell always uses the slot variable\n\t\t\tthis.style.justifyContent = `var(--horizontal-align-${this._individualSlot})`;\n\t\t}\n\t\tif (this.sortIndicator !== SortOrder.None) {\n\t\t\tthis.setAttribute(\"aria-sort\", this.sortIndicator.toLowerCase());\n\t\t} else if (this.hasAttribute(\"aria-sort\")) {\n\t\t\tthis.removeAttribute(\"aria-sort\");\n\t\t}\n\t}\n\n\tget _sortIcon() {\n\t\tif (this.sortIndicator !== SortOrder.None) {\n\t\t\treturn `sort-${this.sortIndicator.toLowerCase()}`;\n\t\t}\n\t}\n}\n\nTableHeaderCell.define();\n\nexport default TableHeaderCell;\n"]}
@@ -0,0 +1,27 @@
1
+ import TableHeaderCellActionBase from "./TableHeaderCellActionBase.js";
2
+ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
+ import "@ui5/webcomponents-icons/dist/ai.js";
4
+ /**
5
+ * @class
6
+ *
7
+ * ### Overview
8
+ *
9
+ * The `ui5-table-header-cell-action-ai` component defines a dedicated AI action for the table column.
10
+ *
11
+ * ### ES6 Module Import
12
+ *
13
+ * `import "@ui5/webcomponents/dist/TableHeaderCellActionAI.js";`
14
+ *
15
+ * @constructor
16
+ * @extends TableHeaderCellActionBase
17
+ * @since 2.8.0
18
+ * @public
19
+ */
20
+ declare class TableHeaderCellActionAI extends TableHeaderCellActionBase {
21
+ static i18nBundle: I18nBundle;
22
+ getRenderInfo(): {
23
+ icon: string;
24
+ tooltip: string;
25
+ };
26
+ }
27
+ export default TableHeaderCellActionAI;
@@ -0,0 +1,44 @@
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
+ var TableHeaderCellActionAI_1;
8
+ import { customElement, i18n } from "@ui5/webcomponents-base/dist/decorators.js";
9
+ import TableHeaderCellActionBase from "./TableHeaderCellActionBase.js";
10
+ import { TABLE_GENERATED_BY_AI } from "./generated/i18n/i18n-defaults.js";
11
+ import "@ui5/webcomponents-icons/dist/ai.js";
12
+ /**
13
+ * @class
14
+ *
15
+ * ### Overview
16
+ *
17
+ * The `ui5-table-header-cell-action-ai` component defines a dedicated AI action for the table column.
18
+ *
19
+ * ### ES6 Module Import
20
+ *
21
+ * `import "@ui5/webcomponents/dist/TableHeaderCellActionAI.js";`
22
+ *
23
+ * @constructor
24
+ * @extends TableHeaderCellActionBase
25
+ * @since 2.8.0
26
+ * @public
27
+ */
28
+ let TableHeaderCellActionAI = TableHeaderCellActionAI_1 = class TableHeaderCellActionAI extends TableHeaderCellActionBase {
29
+ getRenderInfo() {
30
+ return {
31
+ icon: "ai",
32
+ tooltip: TableHeaderCellActionAI_1.i18nBundle.getText(TABLE_GENERATED_BY_AI),
33
+ };
34
+ }
35
+ };
36
+ __decorate([
37
+ i18n("@ui5/webcomponents")
38
+ ], TableHeaderCellActionAI, "i18nBundle", void 0);
39
+ TableHeaderCellActionAI = TableHeaderCellActionAI_1 = __decorate([
40
+ customElement({ tag: "ui5-table-header-cell-action-ai" })
41
+ ], TableHeaderCellActionAI);
42
+ TableHeaderCellActionAI.define();
43
+ export default TableHeaderCellActionAI;
44
+ //# sourceMappingURL=TableHeaderCellActionAI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableHeaderCellActionAI.js","sourceRoot":"","sources":["../src/TableHeaderCellActionAI.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,qCAAqC,CAAC;AAE7C;;;;;;;;;;;;;;;GAeG;AAGH,IAAM,uBAAuB,+BAA7B,MAAM,uBAAwB,SAAQ,yBAAyB;IAI9D,aAAa;QACZ,OAAO;YACN,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,yBAAuB,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC;SAC1E,CAAC;IACH,CAAC;CACD,CAAA;AARO;IADN,IAAI,CAAC,oBAAoB,CAAC;iDACG;AAFzB,uBAAuB;IAF5B,aAAa,CAAC,EAAE,GAAG,EAAE,iCAAiC,EAAE,CAAC;GAEpD,uBAAuB,CAU5B;AAED,uBAAuB,CAAC,MAAM,EAAE,CAAC;AAEjC,eAAe,uBAAuB,CAAC","sourcesContent":["import { customElement, i18n } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport TableHeaderCellActionBase from \"./TableHeaderCellActionBase.js\";\nimport { TABLE_GENERATED_BY_AI } from \"./generated/i18n/i18n-defaults.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/ai.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-header-cell-action-ai` component defines a dedicated AI action for the table column.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableHeaderCellActionAI.js\";`\n *\n * @constructor\n * @extends TableHeaderCellActionBase\n * @since 2.8.0\n * @public\n */\n@customElement({ tag: \"ui5-table-header-cell-action-ai\" })\n\nclass TableHeaderCellActionAI extends TableHeaderCellActionBase {\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tgetRenderInfo() {\n\t\treturn {\n\t\t\ticon: \"ai\",\n\t\t\ttooltip: TableHeaderCellActionAI.i18nBundle.getText(TABLE_GENERATED_BY_AI),\n\t\t};\n\t}\n}\n\nTableHeaderCellActionAI.define();\n\nexport default TableHeaderCellActionAI;\n"]}
@@ -0,0 +1,33 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ /**
3
+ * Fired when a header cell action is clicked.
4
+ *
5
+ * @param {HTMLElement} targetRef The reference to the element that triggered the event
6
+ * @public
7
+ * @since 2.8.0
8
+ */
9
+ type TableHeaderCellActionClickEventDetail = {
10
+ targetRef: HTMLElement;
11
+ };
12
+ /**
13
+ * Fired when a header cell action is clicked.
14
+ *
15
+ * @param {HTMLElement} targetRef The reference to the element that triggered the event
16
+ * @public
17
+ * @since 2.8.0
18
+ */
19
+ declare abstract class TableHeaderCellActionBase extends UI5Element {
20
+ eventDetails: {
21
+ "click": TableHeaderCellActionClickEventDetail;
22
+ };
23
+ abstract getRenderInfo(): {
24
+ icon: string;
25
+ tooltip: string;
26
+ };
27
+ onBeforeRendering(): void;
28
+ _onClick(e: MouseEvent): void;
29
+ get _tooltip(): string;
30
+ get _icon(): string;
31
+ }
32
+ export default TableHeaderCellActionBase;
33
+ export type { TableHeaderCellActionClickEventDetail, };
@@ -0,0 +1,58 @@
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 UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
+ import { customElement, eventStrict } from "@ui5/webcomponents-base/dist/decorators.js";
9
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
10
+ import TableHeaderCellActionBaseTemplate from "./generated/templates/TableHeaderCellActionBaseTemplate.lit.js";
11
+ import TableHeaderCellActionBaseStyles from "./generated/themes/TableHeaderCellActionBase.css.js";
12
+ import Button from "./Button.js";
13
+ /**
14
+ * Fired when a header cell action is clicked.
15
+ *
16
+ * @param {HTMLElement} targetRef The reference to the element that triggered the event
17
+ * @public
18
+ * @since 2.8.0
19
+ */
20
+ let TableHeaderCellActionBase = class TableHeaderCellActionBase extends UI5Element {
21
+ onBeforeRendering() {
22
+ this.toggleAttribute("_popin", !this.parentElement);
23
+ }
24
+ _onClick(e) {
25
+ const action = this.parentElement ? this : this.getRootNode().host._headerCell.action[0];
26
+ action.fireDecoratorEvent("click", { targetRef: e.target });
27
+ e.stopPropagation();
28
+ }
29
+ get _tooltip() {
30
+ return this.getRenderInfo().tooltip;
31
+ }
32
+ get _icon() {
33
+ return this.getRenderInfo().icon;
34
+ }
35
+ };
36
+ TableHeaderCellActionBase = __decorate([
37
+ eventStrict("click", {
38
+ bubbles: false,
39
+ })
40
+ /**
41
+ * @class
42
+ * The `TableHeaderCellActionBase` class serves as a foundation for table header cell actions.
43
+ * @constructor
44
+ * @abstract
45
+ * @extends UI5Element
46
+ * @since 2.8.0
47
+ * @public
48
+ */
49
+ ,
50
+ customElement({
51
+ renderer: litRender,
52
+ styles: TableHeaderCellActionBaseStyles,
53
+ template: TableHeaderCellActionBaseTemplate,
54
+ dependencies: [Button],
55
+ })
56
+ ], TableHeaderCellActionBase);
57
+ export default TableHeaderCellActionBase;
58
+ //# sourceMappingURL=TableHeaderCellActionBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableHeaderCellActionBase.js","sourceRoot":"","sources":["../src/TableHeaderCellActionBase.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,iCAAiC,MAAM,gEAAgE,CAAC;AAC/G,OAAO,+BAA+B,MAAM,qDAAqD,CAAC;AAClG,OAAO,MAAM,MAAM,aAAa,CAAC;AAcjC;;;;;;GAMG;AAoBH,IAAe,yBAAyB,GAAxC,MAAe,yBAA0B,SAAQ,UAAU;IAU1D,iBAAiB;QAChB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CAAC,CAAa;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAG,IAAI,CAAC,WAAW,EAAiB,CAAC,IAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAS,CAAC;QAChI,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAqB,EAAE,CAAC,CAAC;QAC3E,CAAC,CAAC,eAAe,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC;IACrC,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC;IAClC,CAAC;CACD,CAAA;AA3Bc,yBAAyB;IAnBvC,WAAW,CAAC,OAAO,EAAE;QACrB,OAAO,EAAE,KAAK;KACd,CAAC;IAEF;;;;;;;;OAQG;;IACF,aAAa,CAAC;QACd,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,+BAA+B;QACvC,QAAQ,EAAE,iCAAiC;QAC3C,YAAY,EAAE,CAAC,MAAM,CAAC;KACtB,CAAC;GACa,yBAAyB,CA2BvC;AAED,eAAe,yBAAyB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { customElement, eventStrict } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport TableHeaderCellActionBaseTemplate from \"./generated/templates/TableHeaderCellActionBaseTemplate.lit.js\";\nimport TableHeaderCellActionBaseStyles from \"./generated/themes/TableHeaderCellActionBase.css.js\";\nimport Button from \"./Button.js\";\nimport type TableCell from \"./TableCell.js\";\n\n/**\n * Fired when a header cell action is clicked.\n *\n * @param {HTMLElement} targetRef The reference to the element that triggered the event\n * @public\n * @since 2.8.0\n */\ntype TableHeaderCellActionClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\n/**\n * Fired when a header cell action is clicked.\n *\n * @param {HTMLElement} targetRef The reference to the element that triggered the event\n * @public\n * @since 2.8.0\n */\n@eventStrict(\"click\", {\n\tbubbles: false,\n})\n\n/**\n * @class\n * The `TableHeaderCellActionBase` class serves as a foundation for table header cell actions.\n * @constructor\n * @abstract\n * @extends UI5Element\n * @since 2.8.0\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: TableHeaderCellActionBaseStyles,\n\ttemplate: TableHeaderCellActionBaseTemplate,\n\tdependencies: [Button],\n})\nabstract class TableHeaderCellActionBase extends UI5Element {\n\teventDetails!: {\n\t\t\"click\": TableHeaderCellActionClickEventDetail,\n\t}\n\n\tabstract getRenderInfo(): {\n\t\ticon: string;\n\t\ttooltip: string;\n\t};\n\n\tonBeforeRendering() {\n\t\tthis.toggleAttribute(\"_popin\", !this.parentElement);\n\t}\n\n\t_onClick(e: MouseEvent) {\n\t\tconst action = this.parentElement ? this : ((this.getRootNode() as ShadowRoot).host as TableCell)._headerCell.action[0] as this;\n\t\taction.fireDecoratorEvent(\"click\", { targetRef: e.target as HTMLElement });\n\t\te.stopPropagation();\n\t}\n\n\tget _tooltip() {\n\t\treturn this.getRenderInfo().tooltip;\n\t}\n\n\tget _icon() {\n\t\treturn this.getRenderInfo().icon;\n\t}\n}\n\nexport default TableHeaderCellActionBase;\n\nexport type {\n\tTableHeaderCellActionClickEventDetail,\n};\n"]}
@@ -38,6 +38,7 @@ declare class TableHeaderRow extends TableRowBase {
38
38
  * @public
39
39
  */
40
40
  sticky: boolean;
41
+ onEnterDOM(): void;
41
42
  onBeforeRendering(): void;
42
43
  isHeaderRow(): boolean;
43
44
  get _hasRowActions(): boolean;
@@ -4,14 +4,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
8
- import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
9
- import property from "@ui5/webcomponents-base/dist/decorators/property.js";
7
+ import { customElement, slot, property } from "@ui5/webcomponents-base/dist/decorators.js";
10
8
  import TableRowBase from "./TableRowBase.js";
11
9
  import TableHeaderRowTemplate from "./generated/templates/TableHeaderRowTemplate.lit.js";
12
10
  import TableHeaderRowStyles from "./generated/themes/TableHeaderRow.css.js";
13
11
  import TableHeaderCell from "./TableHeaderCell.js";
14
- import { TABLE_SELECTION, TABLE_ROW_POPIN, TABLE_ROW_ACTIONS, } from "./generated/i18n/i18n-defaults.js";
12
+ import { TABLE_SELECTION, TABLE_ROW_POPIN, TABLE_ROW_ACTIONS, TABLE_COLUMN_HEADER_ROW, } from "./generated/i18n/i18n-defaults.js";
15
13
  /**
16
14
  * @class
17
15
  *
@@ -52,6 +50,10 @@ class TableHeaderRow extends TableRowBase {
52
50
  */
53
51
  this.sticky = false;
54
52
  }
53
+ onEnterDOM() {
54
+ super.onEnterDOM();
55
+ this.setAttribute("aria-roledescription", TableRowBase.i18nBundle.getText(TABLE_COLUMN_HEADER_ROW));
56
+ }
55
57
  onBeforeRendering() {
56
58
  super.onBeforeRendering();
57
59
  if (this._table) {
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeaderRow.js","sourceRoot":"","sources":["../src/TableHeaderRow.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,sBAAsB,MAAM,qDAAqD,CAAC;AACzF,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAC5E,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACN,eAAe,EACf,eAAe,EACf,iBAAiB,GACjB,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AAeH,IAAM,cAAc;AANpB;;;;;GAKG;AACH,MAAM,cAAe,SAAQ,YAAY;IAAzC;;QAmBC;;;;;;;WAOG;QAEH,WAAM,GAAG,KAAK,CAAC;IAmChB,CAAC;IAjCA,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,CAAC;IACF,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;IACzD,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,eAAe;QAClB,OAAO,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3D,CAAC;CACD,CAAA;AA9CA;IATC,IAAI,CAAC;QACL,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAI;QACf,uBAAuB,EAAE;YACxB,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,CAAC;YAClD,KAAK,EAAE,KAAK;SACZ;QACD,eAAe,EAAE,IAAI;KACrB,CAAC;6CAC6B;AAW/B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8CACb;AA5BV,cAAc;IAdnB,aAAa,CAAC;QACd,GAAG,EAAE,sBAAsB;QAC3B,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,oBAAoB,CAAC;QACnD,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC;KAC7D,CAAC;IAEF;;;;;OAKG;GACG,cAAc,CA+DnB;AAED,cAAc,CAAC,MAAM,EAAE,CAAC;AAExB,eAAe,cAAc,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport TableRowBase from \"./TableRowBase.js\";\nimport TableHeaderRowTemplate from \"./generated/templates/TableHeaderRowTemplate.lit.js\";\nimport TableHeaderRowStyles from \"./generated/themes/TableHeaderRow.css.js\";\nimport TableHeaderCell from \"./TableHeaderCell.js\";\nimport {\n\tTABLE_SELECTION,\n\tTABLE_ROW_POPIN,\n\tTABLE_ROW_ACTIONS,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-header-row` component represents the table headers of a `ui5-table`.\n *\n * It is tightly coupled to the `ui5-table` and should therefore be used in the `ui5-table` only.\n * The header row is placed in the `headerRow` slot of the table.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableHeaderRow.js\";`\n *\n * @constructor\n * @extends TableRowBase\n * @since 2.0.0\n * @public\n * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.\n */\n@customElement({\n\ttag: \"ui5-table-header-row\",\n\tlanguageAware: true,\n\tstyles: [TableRowBase.styles, TableHeaderRowStyles],\n\ttemplate: TableHeaderRowTemplate,\n\tdependencies: [...TableRowBase.dependencies, TableHeaderCell],\n})\n\n/**\n * Example custom event.\n * Please keep in mind that all public events should be documented in the API Reference as shown below.\n *\n * @public\n */\nclass TableHeaderRow extends TableRowBase {\n\t/**\n\t * Defines the cells of the component.\n\t *\n\t * **Note:** Use `ui5-table-header-cell` for the intended design.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: [\"width\", \"_popin\", \"horizontalAlign\"],\n\t\t\tslots: false,\n\t\t},\n\t\tindividualSlots: true,\n\t})\n\tcells!: Array<TableHeaderCell>;\n\n\t/**\n\t * Sticks the `ui5-table-header-row` to the top of a table.\n\t *\n\t * Note: If used in combination with overflowMode \"Scroll\", the table needs a defined height for the sticky header to work as expected.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tsticky = false;\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tif (this._table) {\n\t\t\tthis.style.top = this._table.stickyTop;\n\t\t}\n\t}\n\n\tisHeaderRow(): boolean {\n\t\treturn true;\n\t}\n\n\tget _hasRowActions() {\n\t\treturn this._table ? this._table._hasRowActions : false;\n\t}\n\n\tget _isSelectable() {\n\t\treturn this._isMultiSelect;\n\t}\n\n\tget _isSelected() {\n\t\treturn this._tableSelection?.areAllRowsSelected();\n\t}\n\n\tget _i18nSelection() {\n\t\treturn TableRowBase.i18nBundle.getText(TABLE_SELECTION);\n\t}\n\n\tget _i18nRowPopin() {\n\t\treturn TableRowBase.i18nBundle.getText(TABLE_ROW_POPIN);\n\t}\n\tget _i18nRowActions() {\n\t\treturn TableRowBase.i18nBundle.getText(TABLE_ROW_ACTIONS);\n\t}\n}\n\nTableHeaderRow.define();\n\nexport default TableHeaderRow;\n"]}
1
+ {"version":3,"file":"TableHeaderRow.js","sourceRoot":"","sources":["../src/TableHeaderRow.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,sBAAsB,MAAM,qDAAqD,CAAC;AACzF,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAC5E,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACN,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AAeH,IAAM,cAAc;AANpB;;;;;GAKG;AACH,MAAM,cAAe,SAAQ,YAAY;IAAzC;;QAmBC;;;;;;;WAOG;QAEH,WAAM,GAAG,KAAK,CAAC;IAwChB,CAAC;IAtCA,UAAU;QACT,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,CAAC;IACF,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;IACzD,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,eAAe;QAClB,OAAO,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3D,CAAC;CACD,CAAA;AAnDA;IATC,IAAI,CAAC;QACL,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAI;QACf,uBAAuB,EAAE;YACxB,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,CAAC;YAClD,KAAK,EAAE,KAAK;SACZ;QACD,eAAe,EAAE,IAAI;KACrB,CAAC;6CAC6B;AAW/B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8CACb;AA5BV,cAAc;IAdnB,aAAa,CAAC;QACd,GAAG,EAAE,sBAAsB;QAC3B,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,oBAAoB,CAAC;QACnD,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC;KAC7D,CAAC;IAEF;;;;;OAKG;GACG,cAAc,CAoEnB;AAED,cAAc,CAAC,MAAM,EAAE,CAAC;AAExB,eAAe,cAAc,CAAC","sourcesContent":["import { customElement, slot, property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport TableRowBase from \"./TableRowBase.js\";\nimport TableHeaderRowTemplate from \"./generated/templates/TableHeaderRowTemplate.lit.js\";\nimport TableHeaderRowStyles from \"./generated/themes/TableHeaderRow.css.js\";\nimport TableHeaderCell from \"./TableHeaderCell.js\";\nimport {\n\tTABLE_SELECTION,\n\tTABLE_ROW_POPIN,\n\tTABLE_ROW_ACTIONS,\n\tTABLE_COLUMN_HEADER_ROW,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-header-row` component represents the table headers of a `ui5-table`.\n *\n * It is tightly coupled to the `ui5-table` and should therefore be used in the `ui5-table` only.\n * The header row is placed in the `headerRow` slot of the table.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableHeaderRow.js\";`\n *\n * @constructor\n * @extends TableRowBase\n * @since 2.0.0\n * @public\n * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.\n */\n@customElement({\n\ttag: \"ui5-table-header-row\",\n\tlanguageAware: true,\n\tstyles: [TableRowBase.styles, TableHeaderRowStyles],\n\ttemplate: TableHeaderRowTemplate,\n\tdependencies: [...TableRowBase.dependencies, TableHeaderCell],\n})\n\n/**\n * Example custom event.\n * Please keep in mind that all public events should be documented in the API Reference as shown below.\n *\n * @public\n */\nclass TableHeaderRow extends TableRowBase {\n\t/**\n\t * Defines the cells of the component.\n\t *\n\t * **Note:** Use `ui5-table-header-cell` for the intended design.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: [\"width\", \"_popin\", \"horizontalAlign\"],\n\t\t\tslots: false,\n\t\t},\n\t\tindividualSlots: true,\n\t})\n\tcells!: Array<TableHeaderCell>;\n\n\t/**\n\t * Sticks the `ui5-table-header-row` to the top of a table.\n\t *\n\t * Note: If used in combination with overflowMode \"Scroll\", the table needs a defined height for the sticky header to work as expected.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tsticky = false;\n\n\tonEnterDOM(): void {\n\t\tsuper.onEnterDOM();\n\t\tthis.setAttribute(\"aria-roledescription\", TableRowBase.i18nBundle.getText(TABLE_COLUMN_HEADER_ROW));\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tif (this._table) {\n\t\t\tthis.style.top = this._table.stickyTop;\n\t\t}\n\t}\n\n\tisHeaderRow(): boolean {\n\t\treturn true;\n\t}\n\n\tget _hasRowActions() {\n\t\treturn this._table ? this._table._hasRowActions : false;\n\t}\n\n\tget _isSelectable() {\n\t\treturn this._isMultiSelect;\n\t}\n\n\tget _isSelected() {\n\t\treturn this._tableSelection?.areAllRowsSelected();\n\t}\n\n\tget _i18nSelection() {\n\t\treturn TableRowBase.i18nBundle.getText(TABLE_SELECTION);\n\t}\n\n\tget _i18nRowPopin() {\n\t\treturn TableRowBase.i18nBundle.getText(TABLE_ROW_POPIN);\n\t}\n\tget _i18nRowActions() {\n\t\treturn TableRowBase.i18nBundle.getText(TABLE_ROW_ACTIONS);\n\t}\n}\n\nTableHeaderRow.define();\n\nexport default TableHeaderRow;\n"]}
@@ -1,5 +1,4 @@
1
1
  import { isUp, isUpShift, isDown, isDownShift, isLeft, isRight, isPageUp, isPageDown, isHome, isEnd, isTabNext, isTabPrevious, } from "@ui5/webcomponents-base/dist/Keys.js";
2
- import isElementClickable from "@ui5/webcomponents-base/dist/util/isElementClickable.js";
3
2
  import isElementHidden from "@ui5/webcomponents-base/dist/util/isElementHidden.js";
4
3
  import getActiveElement from "@ui5/webcomponents-base/dist/util/getActiveElement.js";
5
4
  import { getTabbableElements } from "@ui5/webcomponents-base/dist/util/TabbableElements.js";
@@ -220,7 +219,7 @@ class TableNavigation extends TableExtension {
220
219
  for (const target of e.composedPath()) {
221
220
  if (target.nodeType === Node.ELEMENT_NODE) {
222
221
  const element = target;
223
- if (element.getAttribute("tabindex") === "-1" || isElementClickable(element)) {
222
+ if (element.matches(":focus-within")) {
224
223
  focusableElement = element;
225
224
  break;
226
225
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TableNavigation.js","sourceRoot":"","sources":["../src/TableNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tisUp,\n\tisUpShift,\n\tisDown,\n\tisDownShift,\n\tisLeft,\n\tisRight,\n\tisPageUp,\n\tisPageDown,\n\tisHome,\n\tisEnd,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport isElementClickable from \"@ui5/webcomponents-base/dist/util/isElementClickable.js\";\nimport isElementHidden from \"@ui5/webcomponents-base/dist/util/isElementHidden.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport { getTabbableElements } from \"@ui5/webcomponents-base/dist/util/TabbableElements.js\";\nimport type Table from \"./Table.js\";\nimport type TableRowBase from \"./TableRowBase.js\";\nimport TableExtension from \"./TableExtension.js\";\nimport GridWalker from \"./GridWalker.js\";\n\n/**\n * Handles the keyboard navigation for the ui5-table.\n *\n * @class\n * @private\n */\nclass TableNavigation extends TableExtension {\n\t_table: Table;\n\t_gridWalker: GridWalker;\n\t_colPosition: number = 0;\n\t_tabPosition: number = 0;\n\t_ignoreFocusIn?: boolean;\n\t_lastFocusedItem?: HTMLElement;\n\t_onKeyDownCaptureBound: (e: KeyboardEvent) => void;\n\n\tconstructor(table: Table) {\n\t\tsuper();\n\t\tthis._table = table;\n\t\tthis._gridWalker = new GridWalker();\n\t\tthis._gridWalker.setGrid(this._getNavigationItemsOfGrid());\n\t\tthis._onKeyDownCaptureBound = this._onKeyDownCapture.bind(this);\n\n\t\t// we register the keydown handler on the table element at the capturing phase since the\n\t\t// busy indicator stops the propagation of the keydown event and it never reaches the table\n\t\tthis._table.addEventListener(\"keydown\", this._onKeyDownCaptureBound, { capture: true });\n\t}\n\n\t_getNavigationItemsOfRow(row: TableRowBase) {\n\t\treturn [row, ...row.shadowRoot!.children].map(element => {\n\t\t\treturn element.localName === \"slot\" ? (element as HTMLSlotElement).assignedElements() : element;\n\t\t}).flat().filter(element => {\n\t\t\treturn element.localName.includes(\"ui5-table-\") && !element.hasAttribute(\"excluded-from-navigation\");\n\t\t}) as HTMLElement[];\n\t}\n\n\t_getNavigationItemsOfGrid() {\n\t\tconst items = [];\n\t\tif (this._table.headerRow[0] && !isElementHidden(this._table.headerRow[0])) {\n\t\t\titems.push(this._getNavigationItemsOfRow(this._table.headerRow[0]));\n\t\t\tthis._gridWalker.setFirstRowPos(1);\n\t\t} else {\n\t\t\tthis._gridWalker.setFirstRowPos(0);\n\t\t}\n\n\t\tif (this._table.rows.length) {\n\t\t\tthis._table.rows.forEach(row => items.push(this._getNavigationItemsOfRow(row)));\n\t\t} else {\n\t\t\titems.push(this._getNavigationItemsOfRow(this._table._nodataRow));\n\t\t}\n\n\t\tif (this._table._shouldRenderGrowing) {\n\t\t\titems.push([this._table._growing.getFocusDomRef()]);\n\t\t\tthis._gridWalker.setLastRowPos(-1);\n\t\t} else {\n\t\t\tthis._gridWalker.setLastRowPos(0);\n\t\t}\n\n\t\tif (!this._gridWalker.getCurrent()) {\n\t\t\tthis._gridWalker.setRowPos(this._gridWalker.getFirstRowPos());\n\t\t}\n\n\t\tthis._gridWalker.setGrid(items);\n\t\treturn items;\n\t}\n\n\t_setCurrentItem(e: Event, callback?: (currentItem: HTMLElement) => void) {\n\t\tconst navigationItems = this._getNavigationItemsOfGrid().flat();\n\t\tconst navigationItem = e.composedPath().find(target => navigationItems.includes(target as HTMLElement)) as HTMLElement;\n\t\tif (navigationItem) {\n\t\t\tthis._gridWalker.setCurrent(navigationItem);\n\t\t\tcallback && callback(navigationItem);\n\t\t}\n\t}\n\n\t_isEventFromCurrentItem(e: Event) {\n\t\treturn e.composedPath()[0] === this._gridWalker.getCurrent();\n\t}\n\n\t_focusElement(element: HTMLElement, ignoreFocusIn: boolean = true) {\n\t\tif (!element || element === getActiveElement()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst navigationItems = this._getNavigationItemsOfGrid().flat();\n\t\tif (navigationItems.includes(this._lastFocusedItem)) {\n\t\t\tthis._lastFocusedItem?.removeAttribute(\"tabindex\");\n\t\t}\n\n\t\tif (navigationItems.includes(element)) {\n\t\t\telement.setAttribute(\"tabindex\", \"-1\");\n\t\t\tthis._lastFocusedItem = element;\n\t\t}\n\n\t\tthis._ignoreFocusIn = ignoreFocusIn;\n\t\telement.focus({ preventScroll: element === this._table._beforeElement || element === this._table._afterElement });\n\t\tif (element instanceof HTMLInputElement) {\n\t\t\telement.select();\n\t\t}\n\t\tthis._ignoreFocusIn = false;\n\t}\n\n\t_focusCurrentItem() {\n\t\tthis._focusElement(this._gridWalker.getCurrent() as HTMLElement);\n\t}\n\n\t_handleEnter(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (eventOrigin.hasAttribute(\"ui5-table-cell-base\")) {\n\t\t\tthis._handleF2(e, eventOrigin);\n\t\t}\n\t}\n\n\t_handleF2(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (this._isEventFromCurrentItem(e)) {\n\t\t\tconst firstTabbable = getTabbableElements(eventOrigin)[0];\n\t\t\tthis._focusElement(firstTabbable);\n\t\t} else {\n\t\t\tthis._setCurrentItem(e, () => this._focusCurrentItem());\n\t\t}\n\t\te.preventDefault();\n\t}\n\n\t_handleF7(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (eventOrigin.hasAttribute(\"ui5-table-row-base\")) {\n\t\t\tthis._gridWalker.setColPos(this._colPosition);\n\t\t\tlet elementToFocus = this._gridWalker.getCurrent() as HTMLElement;\n\t\t\tif (this._tabPosition > -1) {\n\t\t\t\tconst tabbables = getTabbableElements(elementToFocus);\n\t\t\t\telementToFocus = tabbables[this._tabPosition] || tabbables.pop() || elementToFocus;\n\t\t\t}\n\t\t\tthis._focusElement(elementToFocus);\n\t\t} else {\n\t\t\tthis._setCurrentItem(e, currentItem => {\n\t\t\t\tthis._tabPosition = getTabbableElements(currentItem).indexOf(eventOrigin);\n\t\t\t\tthis._colPosition = this._gridWalker.getColPos();\n\t\t\t\tthis._gridWalker.setColPos(0);\n\t\t\t\tthis._focusCurrentItem();\n\t\t\t});\n\t\t}\n\t\te.preventDefault();\n\t}\n\n\t_handleTab(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (this._isEventFromCurrentItem(e)) {\n\t\t\tthis._focusElement(e.shiftKey ? this._table._beforeElement : this._table._afterElement);\n\t\t} else {\n\t\t\tconst tabbables = getTabbableElements(this._table._tableElement);\n\t\t\tif (e.shiftKey && tabbables[0] === eventOrigin) {\n\t\t\t\tthis._focusElement(this._table._beforeElement);\n\t\t\t}\n\t\t\tif (!e.shiftKey && tabbables[tabbables.length - 1] === eventOrigin) {\n\t\t\t\tthis._focusElement(this._table._afterElement);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleArrowUpDown(e: KeyboardEvent, eventOrigin: HTMLElement, direction: -1 | 1) {\n\t\tif (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey || e.defaultPrevented || this._isEventFromCurrentItem(e) || /^(input|textarea)$/i.test(eventOrigin.nodeName)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis._setCurrentItem(e, currentItem => {\n\t\t\tthis._tabPosition = getTabbableElements(currentItem).indexOf(eventOrigin);\n\t\t\tthis._gridWalker.setRowPos(this._gridWalker.getRowPos() + direction);\n\t\t\tlet elementToFocus = this._gridWalker.getCurrent() as HTMLElement;\n\t\t\tconst tabbables = getTabbableElements(elementToFocus);\n\t\t\telementToFocus = tabbables[this._tabPosition] || tabbables.pop() || elementToFocus;\n\t\t\tthis._focusElement(elementToFocus);\n\t\t\te.preventDefault();\n\t\t});\n\t\treturn false;\n\t}\n\n\t_handleArrowUp(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\treturn this._handleArrowUpDown(e, eventOrigin, -1);\n\t}\n\n\t_handleArrowDown(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\treturn this._handleArrowUpDown(e, eventOrigin, 1);\n\t}\n\n\t_onkeydown(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (e.defaultPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._isEventFromCurrentItem(e) && this._getNavigationItemsOfGrid().flat().includes(eventOrigin)) {\n\t\t\tthis._gridWalker.setCurrent(eventOrigin);\n\t\t}\n\n\t\tthis._table._getVirtualizer()?._onKeyDown(e);\n\t\tif (e.defaultPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst keydownHandlerName = `_handle${e.code}` as keyof TableNavigation;\n\t\tconst keydownHandler = this[keydownHandlerName] as (e: KeyboardEvent, eventOrigin: HTMLElement) => void | false;\n\t\tif (typeof keydownHandler === \"function\" && keydownHandler.call(this, e, eventOrigin) === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._isEventFromCurrentItem(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isLeft(e)) {\n\t\t\tthis._gridWalker[this._table.effectiveDir === \"rtl\" ? \"right\" : \"left\"]();\n\t\t} else if (isRight(e)) {\n\t\t\tthis._gridWalker[this._table.effectiveDir === \"rtl\" ? \"left\" : \"right\"]();\n\t\t} else if (isUp(e) || isUpShift(e)) {\n\t\t\tthis._gridWalker.up();\n\t\t} else if (isDown(e) || isDownShift(e)) {\n\t\t\tthis._gridWalker.down();\n\t\t} else if (isHome(e)) {\n\t\t\tthis._gridWalker.home();\n\t\t} else if (isEnd(e)) {\n\t\t\tthis._gridWalker.end();\n\t\t} else if (isPageUp(e)) {\n\t\t\tthis._gridWalker.pageup();\n\t\t} else if (isPageDown(e)) {\n\t\t\tthis._gridWalker.pagedown();\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusCurrentItem();\n\t\te.preventDefault();\n\t}\n\n\t_onclick(e: PointerEvent) {\n\t\tconst navigationItems = this._getNavigationItemsOfGrid();\n\t\tconst flatNavigationItems = navigationItems.flat();\n\t\tlet navigationItem = null;\n\t\tlet focusableElement = null;\n\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const target of e.composedPath() as any[]) {\n\t\t\tif (target.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\tconst element = target as HTMLElement;\n\t\t\t\tif (element.getAttribute(\"tabindex\") === \"-1\" || isElementClickable(element)) {\n\t\t\t\t\tfocusableElement = element;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (flatNavigationItems.includes(element)) {\n\t\t\t\t\tnavigationItem = element;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (focusableElement && focusableElement !== this._lastFocusedItem) {\n\t\t\tthis._lastFocusedItem?.removeAttribute(\"tabindex\");\n\t\t\tthis._lastFocusedItem = undefined;\n\t\t} else if (navigationItem) {\n\t\t\tthis._gridWalker.setCurrent(navigationItem);\n\t\t\tthis._gridWalker.setColPos(0);\n\t\t\tthis._focusCurrentItem();\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent, eventOrigin: HTMLElement) {\n\t\tif (this._ignoreFocusIn) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (eventOrigin === this._table._beforeElement || eventOrigin === this._table._afterElement) {\n\t\t\tif (this._table.loading) {\n\t\t\t\tthis._table._loadingElement.focus();\n\t\t\t} else {\n\t\t\t\tthis._getNavigationItemsOfGrid();\n\t\t\t\tthis._gridWalker.setColPos(0);\n\t\t\t\tthis._focusCurrentItem();\n\t\t\t}\n\t\t} else if (eventOrigin !== this._lastFocusedItem && this._getNavigationItemsOfGrid().flat().includes(eventOrigin)) {\n\t\t\tthis._lastFocusedItem = eventOrigin;\n\t\t}\n\t}\n\n\t_onKeyDownCapture(e: KeyboardEvent) {\n\t\tif (!this._table.loading) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isTabNext(e) || isTabPrevious(e)) {\n\t\t\tthis._focusElement(e.shiftKey ? this._table._beforeElement : this._table._afterElement);\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\t}\n}\n\nexport default TableNavigation;\n"]}
1
+ {"version":3,"file":"TableNavigation.js","sourceRoot":"","sources":["../src/TableNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,GACpH,MAAM,sCAAsC,CAAC;AAC9C,OAAO,eAAe,MAAM,sDAAsD,CAAC;AACnF,OAAO,gBAAgB,MAAM,uDAAuD,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAG5F,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,eAAgB,SAAQ,cAAc;IAS3C,YAAY,KAAY;QACvB,KAAK,EAAE,CAAC;QAPT,iBAAY,GAAW,CAAC,CAAC;QACzB,iBAAY,GAAW,CAAC,CAAC;QAOxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhE,wFAAwF;QACxF,2FAA2F;QAC3F,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,wBAAwB,CAAC,GAAiB;QACzC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,UAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACvD,OAAO,OAAO,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAE,OAA2B,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACjG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YAC1B,OAAO,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;QACtG,CAAC,CAAkB,CAAC;IACrB,CAAC;IAED,yBAAyB;QACxB,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,eAAe,CAAC,CAAQ,EAAE,QAA6C;QACtE,MAAM,eAAe,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,cAAc,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAqB,CAAC,CAAgB,CAAC;QACvH,IAAI,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC5C,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAED,uBAAuB,CAAC,CAAQ;QAC/B,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;IAC9D,CAAC;IAED,aAAa,CAAC,OAAoB,EAAE,gBAAyB,IAAI;QAChE,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,gBAAgB,EAAE,EAAE,CAAC;YAChD,OAAO;QACR,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC,IAAI,EAAE,CAAC;QAChE,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAClH,IAAI,OAAO,YAAY,gBAAgB,EAAE,CAAC;YACzC,OAAO,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAiB,CAAC,CAAC;IAClE,CAAC;IAED,YAAY,CAAC,CAAgB,EAAE,WAAwB;QACtD,IAAI,WAAW,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAED,SAAS,CAAC,CAAgB,EAAE,WAAwB;QACnD,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,aAAa,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,CAAC,CAAC,cAAc,EAAE,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,CAAgB,EAAE,WAAwB;QACnD,IAAI,WAAW,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAiB,CAAC;YAClE,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;gBACtD,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,cAAc,CAAC;YACpF,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE;gBACrC,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC1E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;gBACjD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,CAAC,CAAC,cAAc,EAAE,CAAC;IACpB,CAAC;IAED,UAAU,CAAC,CAAgB,EAAE,WAAwB;QACpD,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACP,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACjE,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;gBAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;gBACpE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC;IACF,CAAC;IAED,kBAAkB,CAAC,CAAgB,EAAE,WAAwB,EAAE,SAAiB;QAC/E,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnK,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE;YACrC,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1E,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC;YACrE,IAAI,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAiB,CAAC;YAClE,MAAM,SAAS,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;YACtD,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,cAAc,CAAC;YACnF,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YACnC,CAAC,CAAC,cAAc,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACd,CAAC;IAED,cAAc,CAAC,CAAgB,EAAE,WAAwB;QACxD,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,gBAAgB,CAAC,CAAgB,EAAE,WAAwB;QAC1D,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,UAAU,CAAC,CAAgB,EAAE,WAAwB;QACpD,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACvG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO;QACR,CAAC;QAED,MAAM,kBAAkB,GAAG,UAAU,CAAC,CAAC,IAAI,EAA2B,CAAC;QACvE,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAiE,CAAC;QAChH,IAAI,OAAO,cAAc,KAAK,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;YACrG,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,OAAO;QACR,CAAC;QAED,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,CAAC;aAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3E,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QACvB,CAAC;aAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;aAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;aAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC3B,CAAC;aAAM,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC;aAAM,CAAC;YACP,OAAO;QACR,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,CAAC,CAAC,cAAc,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ,CAAC,CAAe;QACvB,MAAM,eAAe,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACzD,MAAM,mBAAmB,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,cAAc,GAAG,IAAI,CAAC;QAC1B,IAAI,gBAAgB,GAAG,IAAI,CAAC;QAE5B,gDAAgD;QAChD,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,YAAY,EAAW,EAAE,CAAC;YAChD,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,MAAqB,CAAC;gBACtC,IAAI,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;oBACtC,gBAAgB,GAAG,OAAO,CAAC;oBAC3B,MAAM;gBACP,CAAC;gBACD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3C,cAAc,GAAG,OAAO,CAAC;oBACzB,MAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpE,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;YACnD,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACnC,CAAC;aAAM,IAAI,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1B,CAAC;IACF,CAAC;IAED,UAAU,CAAC,CAAa,EAAE,WAAwB;QACjD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO;QACR,CAAC;QAED,IAAI,WAAW,KAAK,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,WAAW,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC7F,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACjC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,CAAC;QACF,CAAC;aAAM,IAAI,WAAW,KAAK,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACnH,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;QACrC,CAAC;IACF,CAAC;IAED,iBAAiB,CAAC,CAAgB;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACxF,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAC9B,CAAC;IACF,CAAC;CACD;AAED,eAAe,eAAe,CAAC","sourcesContent":["import {\n\tisUp, isUpShift, isDown, isDownShift, isLeft, isRight, isPageUp, isPageDown, isHome, isEnd, isTabNext, isTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport isElementHidden from \"@ui5/webcomponents-base/dist/util/isElementHidden.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport { getTabbableElements } from \"@ui5/webcomponents-base/dist/util/TabbableElements.js\";\nimport type Table from \"./Table.js\";\nimport type TableRowBase from \"./TableRowBase.js\";\nimport TableExtension from \"./TableExtension.js\";\nimport GridWalker from \"./GridWalker.js\";\n\n/**\n * Handles the keyboard navigation for the ui5-table.\n *\n * @class\n * @private\n */\nclass TableNavigation extends TableExtension {\n\t_table: Table;\n\t_gridWalker: GridWalker;\n\t_colPosition: number = 0;\n\t_tabPosition: number = 0;\n\t_ignoreFocusIn?: boolean;\n\t_lastFocusedItem?: HTMLElement;\n\t_onKeyDownCaptureBound: (e: KeyboardEvent) => void;\n\n\tconstructor(table: Table) {\n\t\tsuper();\n\t\tthis._table = table;\n\t\tthis._gridWalker = new GridWalker();\n\t\tthis._gridWalker.setGrid(this._getNavigationItemsOfGrid());\n\t\tthis._onKeyDownCaptureBound = this._onKeyDownCapture.bind(this);\n\n\t\t// we register the keydown handler on the table element at the capturing phase since the\n\t\t// busy indicator stops the propagation of the keydown event and it never reaches the table\n\t\tthis._table.addEventListener(\"keydown\", this._onKeyDownCaptureBound, { capture: true });\n\t}\n\n\t_getNavigationItemsOfRow(row: TableRowBase) {\n\t\treturn [row, ...row.shadowRoot!.children].map(element => {\n\t\t\treturn element.localName === \"slot\" ? (element as HTMLSlotElement).assignedElements() : element;\n\t\t}).flat().filter(element => {\n\t\t\treturn element.localName.includes(\"ui5-table-\") && !element.hasAttribute(\"excluded-from-navigation\");\n\t\t}) as HTMLElement[];\n\t}\n\n\t_getNavigationItemsOfGrid() {\n\t\tconst items = [];\n\t\tif (this._table.headerRow[0] && !isElementHidden(this._table.headerRow[0])) {\n\t\t\titems.push(this._getNavigationItemsOfRow(this._table.headerRow[0]));\n\t\t\tthis._gridWalker.setFirstRowPos(1);\n\t\t} else {\n\t\t\tthis._gridWalker.setFirstRowPos(0);\n\t\t}\n\n\t\tif (this._table.rows.length) {\n\t\t\tthis._table.rows.forEach(row => items.push(this._getNavigationItemsOfRow(row)));\n\t\t} else {\n\t\t\titems.push(this._getNavigationItemsOfRow(this._table._nodataRow));\n\t\t}\n\n\t\tif (this._table._shouldRenderGrowing) {\n\t\t\titems.push([this._table._growing.getFocusDomRef()]);\n\t\t\tthis._gridWalker.setLastRowPos(-1);\n\t\t} else {\n\t\t\tthis._gridWalker.setLastRowPos(0);\n\t\t}\n\n\t\tif (!this._gridWalker.getCurrent()) {\n\t\t\tthis._gridWalker.setRowPos(this._gridWalker.getFirstRowPos());\n\t\t}\n\n\t\tthis._gridWalker.setGrid(items);\n\t\treturn items;\n\t}\n\n\t_setCurrentItem(e: Event, callback?: (currentItem: HTMLElement) => void) {\n\t\tconst navigationItems = this._getNavigationItemsOfGrid().flat();\n\t\tconst navigationItem = e.composedPath().find(target => navigationItems.includes(target as HTMLElement)) as HTMLElement;\n\t\tif (navigationItem) {\n\t\t\tthis._gridWalker.setCurrent(navigationItem);\n\t\t\tcallback && callback(navigationItem);\n\t\t}\n\t}\n\n\t_isEventFromCurrentItem(e: Event) {\n\t\treturn e.composedPath()[0] === this._gridWalker.getCurrent();\n\t}\n\n\t_focusElement(element: HTMLElement, ignoreFocusIn: boolean = true) {\n\t\tif (!element || element === getActiveElement()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst navigationItems = this._getNavigationItemsOfGrid().flat();\n\t\tif (navigationItems.includes(this._lastFocusedItem)) {\n\t\t\tthis._lastFocusedItem?.removeAttribute(\"tabindex\");\n\t\t}\n\n\t\tif (navigationItems.includes(element)) {\n\t\t\telement.setAttribute(\"tabindex\", \"-1\");\n\t\t\tthis._lastFocusedItem = element;\n\t\t}\n\n\t\tthis._ignoreFocusIn = ignoreFocusIn;\n\t\telement.focus({ preventScroll: element === this._table._beforeElement || element === this._table._afterElement });\n\t\tif (element instanceof HTMLInputElement) {\n\t\t\telement.select();\n\t\t}\n\t\tthis._ignoreFocusIn = false;\n\t}\n\n\t_focusCurrentItem() {\n\t\tthis._focusElement(this._gridWalker.getCurrent() as HTMLElement);\n\t}\n\n\t_handleEnter(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (eventOrigin.hasAttribute(\"ui5-table-cell-base\")) {\n\t\t\tthis._handleF2(e, eventOrigin);\n\t\t}\n\t}\n\n\t_handleF2(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (this._isEventFromCurrentItem(e)) {\n\t\t\tconst firstTabbable = getTabbableElements(eventOrigin)[0];\n\t\t\tthis._focusElement(firstTabbable);\n\t\t} else {\n\t\t\tthis._setCurrentItem(e, () => this._focusCurrentItem());\n\t\t}\n\t\te.preventDefault();\n\t}\n\n\t_handleF7(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (eventOrigin.hasAttribute(\"ui5-table-row-base\")) {\n\t\t\tthis._gridWalker.setColPos(this._colPosition);\n\t\t\tlet elementToFocus = this._gridWalker.getCurrent() as HTMLElement;\n\t\t\tif (this._tabPosition > -1) {\n\t\t\t\tconst tabbables = getTabbableElements(elementToFocus);\n\t\t\t\telementToFocus = tabbables[this._tabPosition] || tabbables.pop() || elementToFocus;\n\t\t\t}\n\t\t\tthis._focusElement(elementToFocus);\n\t\t} else {\n\t\t\tthis._setCurrentItem(e, currentItem => {\n\t\t\t\tthis._tabPosition = getTabbableElements(currentItem).indexOf(eventOrigin);\n\t\t\t\tthis._colPosition = this._gridWalker.getColPos();\n\t\t\t\tthis._gridWalker.setColPos(0);\n\t\t\t\tthis._focusCurrentItem();\n\t\t\t});\n\t\t}\n\t\te.preventDefault();\n\t}\n\n\t_handleTab(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (this._isEventFromCurrentItem(e)) {\n\t\t\tthis._focusElement(e.shiftKey ? this._table._beforeElement : this._table._afterElement);\n\t\t} else {\n\t\t\tconst tabbables = getTabbableElements(this._table._tableElement);\n\t\t\tif (e.shiftKey && tabbables[0] === eventOrigin) {\n\t\t\t\tthis._focusElement(this._table._beforeElement);\n\t\t\t}\n\t\t\tif (!e.shiftKey && tabbables[tabbables.length - 1] === eventOrigin) {\n\t\t\t\tthis._focusElement(this._table._afterElement);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleArrowUpDown(e: KeyboardEvent, eventOrigin: HTMLElement, direction: -1 | 1) {\n\t\tif (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey || e.defaultPrevented || this._isEventFromCurrentItem(e) || /^(input|textarea)$/i.test(eventOrigin.nodeName)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis._setCurrentItem(e, currentItem => {\n\t\t\tthis._tabPosition = getTabbableElements(currentItem).indexOf(eventOrigin);\n\t\t\tthis._gridWalker.setRowPos(this._gridWalker.getRowPos() + direction);\n\t\t\tlet elementToFocus = this._gridWalker.getCurrent() as HTMLElement;\n\t\t\tconst tabbables = getTabbableElements(elementToFocus);\n\t\t\telementToFocus = tabbables[this._tabPosition] || tabbables.pop() || elementToFocus;\n\t\t\tthis._focusElement(elementToFocus);\n\t\t\te.preventDefault();\n\t\t});\n\t\treturn false;\n\t}\n\n\t_handleArrowUp(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\treturn this._handleArrowUpDown(e, eventOrigin, -1);\n\t}\n\n\t_handleArrowDown(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\treturn this._handleArrowUpDown(e, eventOrigin, 1);\n\t}\n\n\t_onkeydown(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (e.defaultPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._isEventFromCurrentItem(e) && this._getNavigationItemsOfGrid().flat().includes(eventOrigin)) {\n\t\t\tthis._gridWalker.setCurrent(eventOrigin);\n\t\t}\n\n\t\tthis._table._getVirtualizer()?._onKeyDown(e);\n\t\tif (e.defaultPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst keydownHandlerName = `_handle${e.code}` as keyof TableNavigation;\n\t\tconst keydownHandler = this[keydownHandlerName] as (e: KeyboardEvent, eventOrigin: HTMLElement) => void | false;\n\t\tif (typeof keydownHandler === \"function\" && keydownHandler.call(this, e, eventOrigin) === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._isEventFromCurrentItem(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isLeft(e)) {\n\t\t\tthis._gridWalker[this._table.effectiveDir === \"rtl\" ? \"right\" : \"left\"]();\n\t\t} else if (isRight(e)) {\n\t\t\tthis._gridWalker[this._table.effectiveDir === \"rtl\" ? \"left\" : \"right\"]();\n\t\t} else if (isUp(e) || isUpShift(e)) {\n\t\t\tthis._gridWalker.up();\n\t\t} else if (isDown(e) || isDownShift(e)) {\n\t\t\tthis._gridWalker.down();\n\t\t} else if (isHome(e)) {\n\t\t\tthis._gridWalker.home();\n\t\t} else if (isEnd(e)) {\n\t\t\tthis._gridWalker.end();\n\t\t} else if (isPageUp(e)) {\n\t\t\tthis._gridWalker.pageup();\n\t\t} else if (isPageDown(e)) {\n\t\t\tthis._gridWalker.pagedown();\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusCurrentItem();\n\t\te.preventDefault();\n\t}\n\n\t_onclick(e: PointerEvent) {\n\t\tconst navigationItems = this._getNavigationItemsOfGrid();\n\t\tconst flatNavigationItems = navigationItems.flat();\n\t\tlet navigationItem = null;\n\t\tlet focusableElement = null;\n\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const target of e.composedPath() as any[]) {\n\t\t\tif (target.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\tconst element = target as HTMLElement;\n\t\t\t\tif (element.matches(\":focus-within\")) {\n\t\t\t\t\tfocusableElement = element;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (flatNavigationItems.includes(element)) {\n\t\t\t\t\tnavigationItem = element;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (focusableElement && focusableElement !== this._lastFocusedItem) {\n\t\t\tthis._lastFocusedItem?.removeAttribute(\"tabindex\");\n\t\t\tthis._lastFocusedItem = undefined;\n\t\t} else if (navigationItem) {\n\t\t\tthis._gridWalker.setCurrent(navigationItem);\n\t\t\tthis._gridWalker.setColPos(0);\n\t\t\tthis._focusCurrentItem();\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent, eventOrigin: HTMLElement) {\n\t\tif (this._ignoreFocusIn) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (eventOrigin === this._table._beforeElement || eventOrigin === this._table._afterElement) {\n\t\t\tif (this._table.loading) {\n\t\t\t\tthis._table._loadingElement.focus();\n\t\t\t} else {\n\t\t\t\tthis._getNavigationItemsOfGrid();\n\t\t\t\tthis._gridWalker.setColPos(0);\n\t\t\t\tthis._focusCurrentItem();\n\t\t\t}\n\t\t} else if (eventOrigin !== this._lastFocusedItem && this._getNavigationItemsOfGrid().flat().includes(eventOrigin)) {\n\t\t\tthis._lastFocusedItem = eventOrigin;\n\t\t}\n\t}\n\n\t_onKeyDownCapture(e: KeyboardEvent) {\n\t\tif (!this._table.loading) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isTabNext(e) || isTabPrevious(e)) {\n\t\t\tthis._focusElement(e.shiftKey ? this._table._beforeElement : this._table._afterElement);\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\t}\n}\n\nexport default TableNavigation;\n"]}
@@ -1,5 +1,4 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
- import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
2
  /**
4
3
  * @class
5
4
  * The `TableRowActionBase` class serves as a foundation for table row actions.
@@ -19,7 +18,6 @@ declare abstract class TableRowActionBase extends UI5Element {
19
18
  * @public
20
19
  */
21
20
  invisible: boolean;
22
- static i18nBundle: I18nBundle;
23
21
  private static _menu;
24
22
  private static _menuItems;
25
23
  static showMenu(actions: TableRowActionBase[], opener: HTMLElement): Promise<void>;
@@ -9,7 +9,6 @@ import { customElement, property } from "@ui5/webcomponents-base/dist/decorators
9
9
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
10
10
  import TableRowActionBaseTemplate from "./generated/templates/TableRowActionBaseTemplate.lit.js";
11
11
  import TableRowActionBaseStyles from "./generated/themes/TableRowActionBase.css.js";
12
- import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
13
12
  import Icon from "./Icon.js";
14
13
  import Button from "./Button.js";
15
14
  let MenuConstructor;
@@ -89,9 +88,6 @@ TableRowActionBase._menuItems = new WeakMap();
89
88
  __decorate([
90
89
  property({ type: Boolean })
91
90
  ], TableRowActionBase.prototype, "invisible", void 0);
92
- __decorate([
93
- i18n("@ui5/webcomponents")
94
- ], TableRowActionBase, "i18nBundle", void 0);
95
91
  TableRowActionBase = __decorate([
96
92
  customElement({
97
93
  renderer: litRender,
@@ -1 +1 @@
1
- {"version":3,"file":"TableRowActionBase.js","sourceRoot":"","sources":["../src/TableRowActionBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { customElement, property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport TableRowActionBaseTemplate from \"./generated/templates/TableRowActionBaseTemplate.lit.js\";\nimport TableRowActionBaseStyles from \"./generated/themes/TableRowActionBase.css.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport type Menu from \"./Menu.js\";\nimport type MenuItem from \"./MenuItem.js\";\nimport type Table from \"./Table.js\";\nimport type TableRow from \"./TableRow.js\";\nimport type TableRowAction from \"./TableRowAction.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\n\nlet MenuConstructor: new () => Menu;\nlet MenuItemConstructor: new () => MenuItem;\n\n/**\n * @class\n * The `TableRowActionBase` class serves as a foundation for table row actions.\n * @constructor\n * @abstract\n * @extends UI5Element\n * @since 2.7.0\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: TableRowActionBaseStyles,\n\ttemplate: TableRowActionBaseTemplate,\n\tdependencies: [Button, Icon],\n})\n\nabstract class TableRowActionBase extends UI5Element {\n\t/**\n\t * Defines the visibility of the row action.\n\t *\n\t * **Note:** Invisible row actions still take up space, allowing to hide the action while maintaining its position.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tinvisible = false;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tprivate static _menu: Menu;\n\tprivate static _menuItems = new WeakMap();\n\tstatic async showMenu(actions: TableRowActionBase[], opener: HTMLElement) {\n\t\tif (!MenuConstructor) {\n\t\t\t[MenuConstructor, MenuItemConstructor] = await Promise.all([\n\t\t\t\timport(\"./Menu.js\").then(module => module.default),\n\t\t\t\timport(\"./MenuItem.js\").then(module => module.default),\n\t\t\t]);\n\t\t}\n\n\t\tif (!this._menu || !this._menu.isConnected) {\n\t\t\tthis._menu = new MenuConstructor();\n\t\t\tthis._menu.addEventListener(\"item-click\", ((e: CustomEvent) => {\n\t\t\t\tconst menuItem = e.detail.item as MenuItem;\n\t\t\t\tconst rowAction = this._menuItems.get(menuItem) as TableRowAction;\n\t\t\t\trowAction._onActionClick();\n\t\t\t}) as EventListener);\n\t\t\tdocument.body.append(this._menu);\n\t\t}\n\n\t\tconst menuItems = actions.map(action => {\n\t\t\tconst menuItem = new MenuItemConstructor();\n\t\t\tmenuItem.icon = action._icon;\n\t\t\tmenuItem.text = action._text;\n\t\t\tmenuItem.disabled = !action._isInteractive;\n\t\t\tthis._menuItems.set(menuItem, action);\n\t\t\treturn menuItem;\n\t\t});\n\n\t\tthis._menu.replaceChildren(...menuItems);\n\t\tthis._menu.opener = opener;\n\t\tthis._menu.open = true;\n\t}\n\n\tabstract getRenderInfo(): {\n\t\ttext: string;\n\t\ticon: string;\n\t\tinteractive: boolean;\n\t};\n\n\tisFixedAction() {\n\t\treturn false;\n\t}\n\n\tonEnterDOM(): void {\n\t\tthis.toggleAttribute(\"_fixed\", this.isFixedAction());\n\t}\n\n\t_onActionClick() {\n\t\tconst row = this.parentElement as TableRow;\n\t\tconst table = row.parentElement as Table;\n\t\ttable._onRowActionClick(this);\n\t}\n\n\tget _text() {\n\t\treturn this.getRenderInfo().text;\n\t}\n\n\tget _icon() {\n\t\treturn this.getRenderInfo().icon;\n\t}\n\n\tget _isInteractive() {\n\t\treturn this.getRenderInfo().interactive;\n\t}\n}\n\nexport default TableRowActionBase;\n"]}
1
+ {"version":3,"file":"TableRowActionBase.js","sourceRoot":"","sources":["../src/TableRowActionBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { customElement, property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport TableRowActionBaseTemplate from \"./generated/templates/TableRowActionBaseTemplate.lit.js\";\nimport TableRowActionBaseStyles from \"./generated/themes/TableRowActionBase.css.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport type Menu from \"./Menu.js\";\nimport type MenuItem from \"./MenuItem.js\";\nimport type Table from \"./Table.js\";\nimport type TableRow from \"./TableRow.js\";\nimport type TableRowAction from \"./TableRowAction.js\";\n\nlet MenuConstructor: new () => Menu;\nlet MenuItemConstructor: new () => MenuItem;\n\n/**\n * @class\n * The `TableRowActionBase` class serves as a foundation for table row actions.\n * @constructor\n * @abstract\n * @extends UI5Element\n * @since 2.7.0\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: TableRowActionBaseStyles,\n\ttemplate: TableRowActionBaseTemplate,\n\tdependencies: [Button, Icon],\n})\n\nabstract class TableRowActionBase extends UI5Element {\n\t/**\n\t * Defines the visibility of the row action.\n\t *\n\t * **Note:** Invisible row actions still take up space, allowing to hide the action while maintaining its position.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tinvisible = false;\n\n\tprivate static _menu: Menu;\n\tprivate static _menuItems = new WeakMap();\n\tstatic async showMenu(actions: TableRowActionBase[], opener: HTMLElement) {\n\t\tif (!MenuConstructor) {\n\t\t\t[MenuConstructor, MenuItemConstructor] = await Promise.all([\n\t\t\t\timport(\"./Menu.js\").then(module => module.default),\n\t\t\t\timport(\"./MenuItem.js\").then(module => module.default),\n\t\t\t]);\n\t\t}\n\n\t\tif (!this._menu || !this._menu.isConnected) {\n\t\t\tthis._menu = new MenuConstructor();\n\t\t\tthis._menu.addEventListener(\"item-click\", ((e: CustomEvent) => {\n\t\t\t\tconst menuItem = e.detail.item as MenuItem;\n\t\t\t\tconst rowAction = this._menuItems.get(menuItem) as TableRowAction;\n\t\t\t\trowAction._onActionClick();\n\t\t\t}) as EventListener);\n\t\t\tdocument.body.append(this._menu);\n\t\t}\n\n\t\tconst menuItems = actions.map(action => {\n\t\t\tconst menuItem = new MenuItemConstructor();\n\t\t\tmenuItem.icon = action._icon;\n\t\t\tmenuItem.text = action._text;\n\t\t\tmenuItem.disabled = !action._isInteractive;\n\t\t\tthis._menuItems.set(menuItem, action);\n\t\t\treturn menuItem;\n\t\t});\n\n\t\tthis._menu.replaceChildren(...menuItems);\n\t\tthis._menu.opener = opener;\n\t\tthis._menu.open = true;\n\t}\n\n\tabstract getRenderInfo(): {\n\t\ttext: string;\n\t\ticon: string;\n\t\tinteractive: boolean;\n\t};\n\n\tisFixedAction() {\n\t\treturn false;\n\t}\n\n\tonEnterDOM(): void {\n\t\tthis.toggleAttribute(\"_fixed\", this.isFixedAction());\n\t}\n\n\t_onActionClick() {\n\t\tconst row = this.parentElement as TableRow;\n\t\tconst table = row.parentElement as Table;\n\t\ttable._onRowActionClick(this);\n\t}\n\n\tget _text() {\n\t\treturn this.getRenderInfo().text;\n\t}\n\n\tget _icon() {\n\t\treturn this.getRenderInfo().icon;\n\t}\n\n\tget _isInteractive() {\n\t\treturn this.getRenderInfo().interactive;\n\t}\n}\n\nexport default TableRowActionBase;\n"]}
@@ -1,8 +1,17 @@
1
1
  import TableRowActionBase from "./TableRowActionBase.js";
2
2
  import "@ui5/webcomponents-icons/dist/navigation-right-arrow.js";
3
+ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
4
  /**
4
5
  * @class
5
- * The `TableRowActionNavigation` class defines a navigation actio‚n for table rows.
6
+ *
7
+ * ### Overview
8
+ *
9
+ * The `ui5-table-row-action-navigation` component defines a navigation action for table rows.
10
+ *
11
+ * ### ES6 Module Import
12
+ *
13
+ * `import "@ui5/webcomponents/dist/TableRowActionNavigation.js";`
14
+ *
6
15
  * @constructor
7
16
  * @extends TableRowActionBase
8
17
  * @since 2.7.0
@@ -16,6 +25,7 @@ declare class TableRowActionNavigation extends TableRowActionBase {
16
25
  * @public
17
26
  */
18
27
  interactive: boolean;
28
+ static i18nBundle: I18nBundle;
19
29
  getRenderInfo(): {
20
30
  text: string;
21
31
  icon: string;
@@ -4,20 +4,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
8
- import property from "@ui5/webcomponents-base/dist/decorators/property.js";
7
+ var TableRowActionNavigation_1;
8
+ import { customElement, property, i18n } from "@ui5/webcomponents-base/dist/decorators.js";
9
9
  import TableRowActionBase from "./TableRowActionBase.js";
10
10
  import { TABLE_NAVIGATION } from "./generated/i18n/i18n-defaults.js";
11
11
  import "@ui5/webcomponents-icons/dist/navigation-right-arrow.js";
12
12
  /**
13
13
  * @class
14
- * The `TableRowActionNavigation` class defines a navigation actio‚n for table rows.
14
+ *
15
+ * ### Overview
16
+ *
17
+ * The `ui5-table-row-action-navigation` component defines a navigation action for table rows.
18
+ *
19
+ * ### ES6 Module Import
20
+ *
21
+ * `import "@ui5/webcomponents/dist/TableRowActionNavigation.js";`
22
+ *
15
23
  * @constructor
16
24
  * @extends TableRowActionBase
17
25
  * @since 2.7.0
18
26
  * @public
19
27
  */
20
- let TableRowActionNavigation = class TableRowActionNavigation extends TableRowActionBase {
28
+ let TableRowActionNavigation = TableRowActionNavigation_1 = class TableRowActionNavigation extends TableRowActionBase {
21
29
  constructor() {
22
30
  super(...arguments);
23
31
  /**
@@ -39,13 +47,16 @@ let TableRowActionNavigation = class TableRowActionNavigation extends TableRowAc
39
47
  return true;
40
48
  }
41
49
  get _i18nNavigation() {
42
- return TableRowActionBase.i18nBundle.getText(TABLE_NAVIGATION);
50
+ return TableRowActionNavigation_1.i18nBundle.getText(TABLE_NAVIGATION);
43
51
  }
44
52
  };
45
53
  __decorate([
46
54
  property({ type: Boolean })
47
55
  ], TableRowActionNavigation.prototype, "interactive", void 0);
48
- TableRowActionNavigation = __decorate([
56
+ __decorate([
57
+ i18n("@ui5/webcomponents")
58
+ ], TableRowActionNavigation, "i18nBundle", void 0);
59
+ TableRowActionNavigation = TableRowActionNavigation_1 = __decorate([
49
60
  customElement({ tag: "ui5-table-row-action-navigation" })
50
61
  ], TableRowActionNavigation);
51
62
  TableRowActionNavigation.define();
@@ -1 +1 @@
1
- {"version":3,"file":"TableRowActionNavigation.js","sourceRoot":"","sources":["../src/TableRowActionNavigation.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,yDAAyD,CAAC;AAEjE;;;;;;;GAOG;AAGH,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,kBAAkB;IAAzD;;QACC;;;;;WAKG;QAEH,gBAAW,GAAG,KAAK,CAAC;IAiBrB,CAAC;IAfA,aAAa;QACZ,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,eAAe;YAC1B,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;SAC7B,CAAC;IACH,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;CACD,CAAA;AAjBA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6DACR;AARf,wBAAwB;IAF7B,aAAa,CAAC,EAAE,GAAG,EAAE,iCAAiC,EAAE,CAAC;GAEpD,wBAAwB,CAyB7B;AAED,wBAAwB,CAAC,MAAM,EAAE,CAAC;AAElC,eAAe,wBAAwB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport TableRowActionBase from \"./TableRowActionBase.js\";\nimport { TABLE_NAVIGATION } from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\n\n/**\n * @class\n * The `TableRowActionNavigation` class defines a navigation actio‚n for table rows.\n * @constructor\n * @extends TableRowActionBase\n * @since 2.7.0\n * @public\n */\n@customElement({ tag: \"ui5-table-row-action-navigation\" })\n\nclass TableRowActionNavigation extends TableRowActionBase {\n\t/**\n\t * Defines the interactive state of the navigation action.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tinteractive = false;\n\n\tgetRenderInfo() {\n\t\treturn {\n\t\t\ttext: this._i18nNavigation,\n\t\t\ticon: \"navigation-right-arrow\",\n\t\t\tinteractive: this.interactive,\n\t\t};\n\t}\n\n\tisFixedAction() {\n\t\treturn true;\n\t}\n\n\tget _i18nNavigation() {\n\t\treturn TableRowActionBase.i18nBundle.getText(TABLE_NAVIGATION);\n\t}\n}\n\nTableRowActionNavigation.define();\n\nexport default TableRowActionNavigation;\n"]}
1
+ {"version":3,"file":"TableRowActionNavigation.js","sourceRoot":"","sources":["../src/TableRowActionNavigation.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,yDAAyD,CAAC;AAGjE;;;;;;;;;;;;;;;GAeG;AAGH,IAAM,wBAAwB,gCAA9B,MAAM,wBAAyB,SAAQ,kBAAkB;IAAzD;;QACC;;;;;WAKG;QAEH,gBAAW,GAAG,KAAK,CAAC;IAoBrB,CAAC;IAfA,aAAa;QACZ,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,eAAe;YAC1B,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;SAC7B,CAAC;IACH,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,0BAAwB,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtE,CAAC;CACD,CAAA;AApBA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6DACR;AAGb;IADN,IAAI,CAAC,oBAAoB,CAAC;kDACG;AAXzB,wBAAwB;IAF7B,aAAa,CAAC,EAAE,GAAG,EAAE,iCAAiC,EAAE,CAAC;GAEpD,wBAAwB,CA4B7B;AAED,wBAAwB,CAAC,MAAM,EAAE,CAAC;AAElC,eAAe,wBAAwB,CAAC","sourcesContent":["import { customElement, property, i18n } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport TableRowActionBase from \"./TableRowActionBase.js\";\nimport { TABLE_NAVIGATION } from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-row-action-navigation` component defines a navigation action for table rows.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableRowActionNavigation.js\";`\n *\n * @constructor\n * @extends TableRowActionBase\n * @since 2.7.0\n * @public\n */\n@customElement({ tag: \"ui5-table-row-action-navigation\" })\n\nclass TableRowActionNavigation extends TableRowActionBase {\n\t/**\n\t * Defines the interactive state of the navigation action.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tinteractive = false;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tgetRenderInfo() {\n\t\treturn {\n\t\t\ttext: this._i18nNavigation,\n\t\t\ticon: \"navigation-right-arrow\",\n\t\t\tinteractive: this.interactive,\n\t\t};\n\t}\n\n\tisFixedAction() {\n\t\treturn true;\n\t}\n\n\tget _i18nNavigation() {\n\t\treturn TableRowActionNavigation.i18nBundle.getText(TABLE_NAVIGATION);\n\t}\n}\n\nTableRowActionNavigation.define();\n\nexport default TableRowActionNavigation;\n"]}
@@ -4,7 +4,6 @@ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
4
4
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
5
5
  import "@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js";
6
6
  import type Popover from "./Popover.js";
7
- import type ResponsivePopover from "./ResponsivePopover.js";
8
7
  import type DateTimeInput from "./DateTimeInput.js";
9
8
  import type { InputAccInfo } from "./Input.js";
10
9
  import type TimeSelectionClocks from "./TimeSelectionClocks.js";
@@ -183,6 +182,8 @@ declare class TimePicker extends UI5Element implements IFormInputElement {
183
182
  */
184
183
  valueStateMessage: Array<HTMLElement>;
185
184
  _timeSelectionClocks?: TimeSelectionClocks;
185
+ _inputsPopover: Popover;
186
+ _dateTimeInput: DateTimeInput;
186
187
  tempValue?: string;
187
188
  static i18nBundle: I18nBundle;
188
189
  get formValidityMessage(): string;
@@ -212,6 +213,7 @@ declare class TimePicker extends UI5Element implements IFormInputElement {
212
213
  get _timeSelectionValue(): string | undefined;
213
214
  get _isPhone(): boolean;
214
215
  get _isMobileDevice(): boolean;
216
+ get shouldDisplayValueStateMessageInResponsivePopover(): boolean;
215
217
  onTimeSelectionChange(e: CustomEvent<TimeSelectionChangeEventDetail>): void;
216
218
  _togglePicker(): void;
217
219
  submitPickers(): void;
@@ -246,9 +248,6 @@ declare class TimePicker extends UI5Element implements IFormInputElement {
246
248
  _handleInputLiveChange(e: CustomEvent): void;
247
249
  _canOpenPicker(): boolean;
248
250
  _canOpenInputsPopover(): boolean;
249
- _getPopover(): ResponsivePopover;
250
- _getInputsPopover(): Popover;
251
- _getDateTimeInput(): DateTimeInput;
252
251
  _getInputField(): HTMLInputElement | import("./Input.js").default | null;
253
252
  _onkeydown(e: KeyboardEvent): void;
254
253
  get _isPattern(): boolean;
@@ -289,6 +288,7 @@ declare class TimePicker extends UI5Element implements IFormInputElement {
289
288
  get cancelButtonLabel(): string;
290
289
  get hasValueStateText(): boolean;
291
290
  get hasValueState(): boolean;
291
+ get shouldDisplayValueStateMessageOnDesktop(): boolean;
292
292
  get classes(): {
293
293
  popover: {
294
294
  "ui5-suggestions-popover": boolean;