@ui5/webcomponents 2.7.3 → 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 (680) hide show
  1. package/CHANGELOG.md +21 -4
  2. package/cypress/specs/Avatar.cy.tsx +18 -0
  3. package/cypress/specs/Calendar.cy.tsx +703 -0
  4. package/cypress/specs/Card.cy.tsx +287 -8
  5. package/cypress/specs/FormSupport.cy.tsx +17 -77
  6. package/cypress/specs/Input.cy.tsx +409 -0
  7. package/cypress/specs/Link.cy.tsx +16 -0
  8. package/cypress/specs/MultiInput.cy.tsx +1 -0
  9. package/cypress/specs/Table.cy.tsx +172 -0
  10. package/cypress/support/commands/Calendar.commands.ts +15 -0
  11. package/cypress/support/commands.ts +7 -2
  12. package/dist/.tsbuildinfo +1 -1
  13. package/dist/Avatar.d.ts +1 -1
  14. package/dist/Avatar.js +2 -1
  15. package/dist/Avatar.js.map +1 -1
  16. package/dist/ButtonBadge.d.ts +2 -0
  17. package/dist/ButtonBadge.js +2 -0
  18. package/dist/ButtonBadge.js.map +1 -1
  19. package/dist/ComboBox.d.ts +0 -1
  20. package/dist/ComboBox.js +0 -1
  21. package/dist/ComboBox.js.map +1 -1
  22. package/dist/DateTimeInput.d.ts +1 -0
  23. package/dist/DateTimeInput.js +5 -1
  24. package/dist/DateTimeInput.js.map +1 -1
  25. package/dist/Input.d.ts +3 -0
  26. package/dist/Input.js +18 -5
  27. package/dist/Input.js.map +1 -1
  28. package/dist/InputPopoverTemplate.d.ts +1 -4
  29. package/dist/InputPopoverTemplate.js +2 -3
  30. package/dist/InputPopoverTemplate.js.map +1 -1
  31. package/dist/InputTemplate.d.ts +1 -3
  32. package/dist/InputTemplate.js +1 -2
  33. package/dist/InputTemplate.js.map +1 -1
  34. package/dist/Link.d.ts +15 -0
  35. package/dist/Link.js +17 -0
  36. package/dist/Link.js.map +1 -1
  37. package/dist/ListItem.d.ts +0 -8
  38. package/dist/ListItem.js +0 -9
  39. package/dist/ListItem.js.map +1 -1
  40. package/dist/ListItemTemplate.js +2 -2
  41. package/dist/ListItemTemplate.js.map +1 -1
  42. package/dist/MultiComboBox.d.ts +1 -3
  43. package/dist/MultiComboBox.js +22 -19
  44. package/dist/MultiComboBox.js.map +1 -1
  45. package/dist/MultiComboBoxPopoverTemplate.d.ts +2 -0
  46. package/dist/MultiComboBoxPopoverTemplate.js +35 -0
  47. package/dist/MultiComboBoxPopoverTemplate.js.map +1 -0
  48. package/dist/MultiComboBoxTemplate.d.ts +2 -0
  49. package/dist/MultiComboBoxTemplate.js +26 -0
  50. package/dist/MultiComboBoxTemplate.js.map +1 -0
  51. package/dist/RadioButtonGroup.js +3 -2
  52. package/dist/RadioButtonGroup.js.map +1 -1
  53. package/dist/Select.js +4 -1
  54. package/dist/Select.js.map +1 -1
  55. package/dist/Table.d.ts +12 -7
  56. package/dist/Table.js +20 -17
  57. package/dist/Table.js.map +1 -1
  58. package/dist/TableCell.d.ts +1 -2
  59. package/dist/TableCell.js +13 -5
  60. package/dist/TableCell.js.map +1 -1
  61. package/dist/TableHeaderCell.d.ts +22 -0
  62. package/dist/TableHeaderCell.js +31 -2
  63. package/dist/TableHeaderCell.js.map +1 -1
  64. package/dist/TableHeaderCellActionAI.d.ts +27 -0
  65. package/dist/TableHeaderCellActionAI.js +44 -0
  66. package/dist/TableHeaderCellActionAI.js.map +1 -0
  67. package/dist/TableHeaderCellActionBase.d.ts +33 -0
  68. package/dist/TableHeaderCellActionBase.js +58 -0
  69. package/dist/TableHeaderCellActionBase.js.map +1 -0
  70. package/dist/TableHeaderRow.d.ts +1 -0
  71. package/dist/TableHeaderRow.js +6 -4
  72. package/dist/TableHeaderRow.js.map +1 -1
  73. package/dist/TableNavigation.js +1 -2
  74. package/dist/TableNavigation.js.map +1 -1
  75. package/dist/TableRowActionBase.d.ts +0 -2
  76. package/dist/TableRowActionBase.js +0 -4
  77. package/dist/TableRowActionBase.js.map +1 -1
  78. package/dist/TableRowActionNavigation.d.ts +11 -1
  79. package/dist/TableRowActionNavigation.js +17 -6
  80. package/dist/TableRowActionNavigation.js.map +1 -1
  81. package/dist/TimePicker.d.ts +4 -4
  82. package/dist/TimePicker.js +23 -17
  83. package/dist/TimePicker.js.map +1 -1
  84. package/dist/TimePickerPopoverTemplate.js +1 -1
  85. package/dist/TimePickerPopoverTemplate.js.map +1 -1
  86. package/dist/TimePickerTemplate.js +1 -1
  87. package/dist/TimePickerTemplate.js.map +1 -1
  88. package/dist/bundle.esm.d.ts +1 -0
  89. package/dist/bundle.esm.js +3 -0
  90. package/dist/bundle.esm.js.map +1 -1
  91. package/dist/css/themes/Avatar.css +1 -1
  92. package/dist/css/themes/AvatarGroup.css +1 -1
  93. package/dist/css/themes/Bar.css +1 -1
  94. package/dist/css/themes/Breadcrumbs.css +1 -1
  95. package/dist/css/themes/BusyIndicator.css +1 -1
  96. package/dist/css/themes/Button.css +1 -1
  97. package/dist/css/themes/ButtonBadge.css +1 -1
  98. package/dist/css/themes/Calendar.css +1 -1
  99. package/dist/css/themes/CalendarHeader.css +1 -1
  100. package/dist/css/themes/CalendarLegend.css +1 -1
  101. package/dist/css/themes/CalendarLegendItem.css +1 -1
  102. package/dist/css/themes/Card.css +1 -1
  103. package/dist/css/themes/CardHeader.css +1 -1
  104. package/dist/css/themes/Carousel.css +1 -1
  105. package/dist/css/themes/CheckBox.css +1 -1
  106. package/dist/css/themes/ColorPalette.css +1 -1
  107. package/dist/css/themes/ColorPaletteItem.css +1 -1
  108. package/dist/css/themes/ColorPalettePopover.css +1 -1
  109. package/dist/css/themes/ColorPicker.css +1 -1
  110. package/dist/css/themes/ComboBox.css +1 -1
  111. package/dist/css/themes/ComboBoxItem.css +1 -1
  112. package/dist/css/themes/DatePicker.css +1 -1
  113. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  114. package/dist/css/themes/DayPicker.css +1 -1
  115. package/dist/css/themes/Dialog.css +1 -1
  116. package/dist/css/themes/FileUploader.css +1 -1
  117. package/dist/css/themes/Form.css +1 -1
  118. package/dist/css/themes/FormItem.css +1 -1
  119. package/dist/css/themes/FormItemSpan.css +1 -1
  120. package/dist/css/themes/GrowingButton.css +1 -1
  121. package/dist/css/themes/Icon.css +1 -1
  122. package/dist/css/themes/Input.css +1 -1
  123. package/dist/css/themes/InputIcon.css +1 -1
  124. package/dist/css/themes/InputSharedStyles.css +1 -1
  125. package/dist/css/themes/Link.css +1 -1
  126. package/dist/css/themes/List.css +1 -1
  127. package/dist/css/themes/ListItem.css +1 -1
  128. package/dist/css/themes/ListItemBase.css +1 -1
  129. package/dist/css/themes/ListItemCustom.css +1 -1
  130. package/dist/css/themes/ListItemGroup.css +1 -1
  131. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  132. package/dist/css/themes/ListItemIcon.css +1 -1
  133. package/dist/css/themes/Menu.css +1 -1
  134. package/dist/css/themes/MenuItem.css +1 -1
  135. package/dist/css/themes/MessageStrip.css +1 -1
  136. package/dist/css/themes/MonthPicker.css +1 -1
  137. package/dist/css/themes/MultiComboBox.css +1 -1
  138. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  139. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  140. package/dist/css/themes/MultiInput.css +1 -1
  141. package/dist/css/themes/OptionBase.css +1 -1
  142. package/dist/css/themes/Panel.css +1 -1
  143. package/dist/css/themes/Popover.css +1 -1
  144. package/dist/css/themes/PopupsCommon.css +1 -1
  145. package/dist/css/themes/ProgressIndicator.css +1 -1
  146. package/dist/css/themes/RadioButton.css +1 -1
  147. package/dist/css/themes/RangeSlider.css +1 -1
  148. package/dist/css/themes/RatingIndicator.css +1 -1
  149. package/dist/css/themes/ResponsivePopover.css +1 -1
  150. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  151. package/dist/css/themes/SegmentedButton.css +1 -1
  152. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  153. package/dist/css/themes/Select.css +1 -1
  154. package/dist/css/themes/SliderBase.css +1 -1
  155. package/dist/css/themes/SplitButton.css +1 -1
  156. package/dist/css/themes/StepInput.css +1 -1
  157. package/dist/css/themes/SuggestionItem.css +1 -1
  158. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  159. package/dist/css/themes/Switch.css +1 -1
  160. package/dist/css/themes/TabContainer.css +1 -1
  161. package/dist/css/themes/TabInOverflow.css +1 -1
  162. package/dist/css/themes/TabInStrip.css +1 -1
  163. package/dist/css/themes/TabSemanticIcon.css +1 -1
  164. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  165. package/dist/css/themes/Table.css +1 -1
  166. package/dist/css/themes/TableCell.css +1 -1
  167. package/dist/css/themes/TableCellBase.css +1 -1
  168. package/dist/css/themes/TableHeaderCell.css +1 -1
  169. package/dist/css/themes/TableHeaderCellActionBase.css +1 -0
  170. package/dist/css/themes/TableHeaderRow.css +1 -1
  171. package/dist/css/themes/TableRow.css +1 -1
  172. package/dist/css/themes/TableRowActionBase.css +1 -1
  173. package/dist/css/themes/TableRowBase.css +1 -1
  174. package/dist/css/themes/Tag.css +1 -1
  175. package/dist/css/themes/Text.css +1 -1
  176. package/dist/css/themes/TextArea.css +1 -1
  177. package/dist/css/themes/TimePicker.css +1 -1
  178. package/dist/css/themes/Toast.css +1 -1
  179. package/dist/css/themes/ToggleButton.css +1 -1
  180. package/dist/css/themes/Token.css +1 -1
  181. package/dist/css/themes/Tokenizer.css +1 -1
  182. package/dist/css/themes/TokenizerPopover.css +1 -1
  183. package/dist/css/themes/Toolbar.css +1 -1
  184. package/dist/css/themes/ToolbarPopover.css +1 -1
  185. package/dist/css/themes/TreeItem.css +1 -1
  186. package/dist/css/themes/ValueStateMessage.css +1 -1
  187. package/dist/css/themes/YearPicker.css +1 -1
  188. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  189. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  190. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  191. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  192. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  193. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  194. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  195. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  196. package/dist/custom-elements-internal.json +267 -3
  197. package/dist/custom-elements.json +175 -3
  198. package/dist/features/InputSuggestions.d.ts +3 -5
  199. package/dist/features/InputSuggestions.js +8 -13
  200. package/dist/features/InputSuggestions.js.map +1 -1
  201. package/dist/features/InputSuggestionsTemplate.d.ts +1 -5
  202. package/dist/features/InputSuggestionsTemplate.js +4 -7
  203. package/dist/features/InputSuggestionsTemplate.js.map +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  213. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  214. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  237. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  240. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  241. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  242. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  243. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  244. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  245. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  246. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  247. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  248. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  249. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  250. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  251. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  252. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  253. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  254. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  255. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  256. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  257. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  258. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  259. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  260. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  261. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  262. package/dist/generated/i18n/i18n-defaults.js +3 -1
  263. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  264. package/dist/generated/templates/TableCellTemplate.lit.js +3 -6
  265. package/dist/generated/templates/TableCellTemplate.lit.js.map +1 -1
  266. package/dist/generated/templates/TableHeaderCellActionBaseTemplate.lit.d.ts +3 -0
  267. package/dist/generated/templates/TableHeaderCellActionBaseTemplate.lit.js +7 -0
  268. package/dist/generated/templates/TableHeaderCellActionBaseTemplate.lit.js.map +1 -0
  269. package/dist/generated/templates/TableHeaderCellTemplate.lit.js +2 -1
  270. package/dist/generated/templates/TableHeaderCellTemplate.lit.js.map +1 -1
  271. package/dist/generated/templates/TableRowActionBaseTemplate.lit.js +2 -2
  272. package/dist/generated/templates/TableRowActionBaseTemplate.lit.js.map +1 -1
  273. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  274. package/dist/generated/themes/Avatar.css.js +1 -1
  275. package/dist/generated/themes/Avatar.css.js.map +1 -1
  276. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  277. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  278. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  279. package/dist/generated/themes/Bar.css.d.ts +1 -1
  280. package/dist/generated/themes/Bar.css.js +1 -1
  281. package/dist/generated/themes/Bar.css.js.map +1 -1
  282. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  283. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  284. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  285. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  286. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  287. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  288. package/dist/generated/themes/Button.css.d.ts +1 -1
  289. package/dist/generated/themes/Button.css.js +1 -1
  290. package/dist/generated/themes/Button.css.js.map +1 -1
  291. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  292. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  293. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  294. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  295. package/dist/generated/themes/Calendar.css.js +1 -1
  296. package/dist/generated/themes/Calendar.css.js.map +1 -1
  297. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  298. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  299. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  300. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  301. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  302. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  303. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  304. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  305. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  306. package/dist/generated/themes/Card.css.d.ts +1 -1
  307. package/dist/generated/themes/Card.css.js +1 -1
  308. package/dist/generated/themes/Card.css.js.map +1 -1
  309. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  310. package/dist/generated/themes/CardHeader.css.js +1 -1
  311. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  312. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  313. package/dist/generated/themes/Carousel.css.js +1 -1
  314. package/dist/generated/themes/Carousel.css.js.map +1 -1
  315. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  316. package/dist/generated/themes/CheckBox.css.js +1 -1
  317. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  318. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  319. package/dist/generated/themes/ColorPalette.css.js +1 -1
  320. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  321. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  322. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  323. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  324. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  325. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  326. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  327. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  328. package/dist/generated/themes/ColorPicker.css.js +1 -1
  329. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  330. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  331. package/dist/generated/themes/ComboBox.css.js +1 -1
  332. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  333. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  334. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  335. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  336. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  337. package/dist/generated/themes/DatePicker.css.js +1 -1
  338. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  339. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  340. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  341. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  342. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  343. package/dist/generated/themes/DayPicker.css.js +1 -1
  344. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  345. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  346. package/dist/generated/themes/Dialog.css.js +1 -1
  347. package/dist/generated/themes/Dialog.css.js.map +1 -1
  348. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  349. package/dist/generated/themes/FileUploader.css.js +1 -1
  350. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  351. package/dist/generated/themes/Form.css.d.ts +1 -1
  352. package/dist/generated/themes/Form.css.js +1 -1
  353. package/dist/generated/themes/Form.css.js.map +1 -1
  354. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  355. package/dist/generated/themes/FormItem.css.js +1 -1
  356. package/dist/generated/themes/FormItem.css.js.map +1 -1
  357. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  358. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  359. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  360. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  361. package/dist/generated/themes/GrowingButton.css.js +1 -1
  362. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  363. package/dist/generated/themes/Icon.css.d.ts +1 -1
  364. package/dist/generated/themes/Icon.css.js +1 -1
  365. package/dist/generated/themes/Icon.css.js.map +1 -1
  366. package/dist/generated/themes/Input.css.d.ts +1 -1
  367. package/dist/generated/themes/Input.css.js +1 -1
  368. package/dist/generated/themes/Input.css.js.map +1 -1
  369. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  370. package/dist/generated/themes/InputIcon.css.js +1 -1
  371. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  372. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  373. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  374. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  375. package/dist/generated/themes/Link.css.d.ts +1 -1
  376. package/dist/generated/themes/Link.css.js +1 -1
  377. package/dist/generated/themes/Link.css.js.map +1 -1
  378. package/dist/generated/themes/List.css.d.ts +1 -1
  379. package/dist/generated/themes/List.css.js +1 -1
  380. package/dist/generated/themes/List.css.js.map +1 -1
  381. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  382. package/dist/generated/themes/ListItem.css.js +1 -1
  383. package/dist/generated/themes/ListItem.css.js.map +1 -1
  384. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  385. package/dist/generated/themes/ListItemBase.css.js +1 -1
  386. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  387. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  388. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  389. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  390. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  391. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  392. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  393. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  394. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  395. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  396. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  397. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  398. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  399. package/dist/generated/themes/Menu.css.d.ts +1 -1
  400. package/dist/generated/themes/Menu.css.js +1 -1
  401. package/dist/generated/themes/Menu.css.js.map +1 -1
  402. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  403. package/dist/generated/themes/MenuItem.css.js +1 -1
  404. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  405. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  406. package/dist/generated/themes/MessageStrip.css.js +1 -1
  407. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  408. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  409. package/dist/generated/themes/MonthPicker.css.js +1 -1
  410. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  411. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  412. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  413. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  414. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  415. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  416. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  417. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  418. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  419. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  420. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  421. package/dist/generated/themes/MultiInput.css.js +1 -1
  422. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  423. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  424. package/dist/generated/themes/OptionBase.css.js +1 -1
  425. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  426. package/dist/generated/themes/Panel.css.d.ts +1 -1
  427. package/dist/generated/themes/Panel.css.js +1 -1
  428. package/dist/generated/themes/Panel.css.js.map +1 -1
  429. package/dist/generated/themes/Popover.css.d.ts +1 -1
  430. package/dist/generated/themes/Popover.css.js +1 -1
  431. package/dist/generated/themes/Popover.css.js.map +1 -1
  432. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  433. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  434. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  435. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  436. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  437. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  438. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  439. package/dist/generated/themes/RadioButton.css.js +1 -1
  440. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  441. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  442. package/dist/generated/themes/RangeSlider.css.js +1 -1
  443. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  444. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  445. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  446. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  447. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  448. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  449. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  450. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  451. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  452. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  453. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  454. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  455. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  456. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  457. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  458. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  459. package/dist/generated/themes/Select.css.d.ts +1 -1
  460. package/dist/generated/themes/Select.css.js +1 -1
  461. package/dist/generated/themes/Select.css.js.map +1 -1
  462. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  463. package/dist/generated/themes/SliderBase.css.js +1 -1
  464. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  465. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  466. package/dist/generated/themes/SplitButton.css.js +1 -1
  467. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  468. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  469. package/dist/generated/themes/StepInput.css.js +1 -1
  470. package/dist/generated/themes/StepInput.css.js.map +1 -1
  471. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  472. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  473. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  474. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  475. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  476. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  477. package/dist/generated/themes/Switch.css.d.ts +1 -1
  478. package/dist/generated/themes/Switch.css.js +1 -1
  479. package/dist/generated/themes/Switch.css.js.map +1 -1
  480. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  481. package/dist/generated/themes/TabContainer.css.js +1 -1
  482. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  483. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  484. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  485. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  486. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  487. package/dist/generated/themes/TabInStrip.css.js +1 -1
  488. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  489. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  490. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  491. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  492. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  493. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  494. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  495. package/dist/generated/themes/Table.css.d.ts +1 -1
  496. package/dist/generated/themes/Table.css.js +1 -1
  497. package/dist/generated/themes/Table.css.js.map +1 -1
  498. package/dist/generated/themes/TableCell.css.d.ts +1 -1
  499. package/dist/generated/themes/TableCell.css.js +1 -1
  500. package/dist/generated/themes/TableCell.css.js.map +1 -1
  501. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  502. package/dist/generated/themes/TableCellBase.css.js +1 -1
  503. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  504. package/dist/generated/themes/TableHeaderCell.css.d.ts +1 -1
  505. package/dist/generated/themes/TableHeaderCell.css.js +1 -1
  506. package/dist/generated/themes/TableHeaderCell.css.js.map +1 -1
  507. package/dist/generated/themes/TableHeaderCellActionBase.css.d.ts +2 -0
  508. package/dist/generated/themes/TableHeaderCellActionBase.css.js +8 -0
  509. package/dist/generated/themes/TableHeaderCellActionBase.css.js.map +1 -0
  510. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  511. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  512. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  513. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  514. package/dist/generated/themes/TableRow.css.js +1 -1
  515. package/dist/generated/themes/TableRow.css.js.map +1 -1
  516. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  517. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  518. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  519. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  520. package/dist/generated/themes/TableRowBase.css.js +1 -1
  521. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  522. package/dist/generated/themes/Tag.css.d.ts +1 -1
  523. package/dist/generated/themes/Tag.css.js +1 -1
  524. package/dist/generated/themes/Tag.css.js.map +1 -1
  525. package/dist/generated/themes/Text.css.d.ts +1 -1
  526. package/dist/generated/themes/Text.css.js +1 -1
  527. package/dist/generated/themes/Text.css.js.map +1 -1
  528. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  529. package/dist/generated/themes/TextArea.css.js +1 -1
  530. package/dist/generated/themes/TextArea.css.js.map +1 -1
  531. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  532. package/dist/generated/themes/TimePicker.css.js +1 -1
  533. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  534. package/dist/generated/themes/Toast.css.d.ts +1 -1
  535. package/dist/generated/themes/Toast.css.js +1 -1
  536. package/dist/generated/themes/Toast.css.js.map +1 -1
  537. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  538. package/dist/generated/themes/ToggleButton.css.js +1 -1
  539. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  540. package/dist/generated/themes/Token.css.d.ts +1 -1
  541. package/dist/generated/themes/Token.css.js +1 -1
  542. package/dist/generated/themes/Token.css.js.map +1 -1
  543. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  544. package/dist/generated/themes/Tokenizer.css.js +1 -1
  545. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  546. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  547. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  548. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  549. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  550. package/dist/generated/themes/Toolbar.css.js +1 -1
  551. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  552. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  553. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  554. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  555. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  556. package/dist/generated/themes/TreeItem.css.js +1 -1
  557. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  558. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  559. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  560. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  561. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  562. package/dist/generated/themes/YearPicker.css.js +1 -1
  563. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  564. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  565. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  566. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  567. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  568. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  569. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  570. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  571. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  572. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  573. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  574. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  575. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  576. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  577. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  578. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  579. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  580. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  581. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  582. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  583. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  584. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  585. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  586. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  587. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  588. package/dist/types/InteractiveAreaSize.d.ts +19 -0
  589. package/dist/types/InteractiveAreaSize.js +21 -0
  590. package/dist/types/InteractiveAreaSize.js.map +1 -0
  591. package/dist/vscode.html-custom-data.json +29 -3
  592. package/dist/web-types.json +58 -5
  593. package/package.json +11 -10
  594. package/src/InputPopoverTemplate.tsx +2 -5
  595. package/src/InputTemplate.tsx +3 -5
  596. package/src/ListItemTemplate.tsx +1 -2
  597. package/src/MultiComboBoxPopoverTemplate.tsx +150 -0
  598. package/src/MultiComboBoxTemplate.tsx +121 -0
  599. package/src/TableCell.hbs +6 -11
  600. package/src/TableHeaderCell.hbs +5 -1
  601. package/src/TableHeaderCellActionBase.hbs +6 -0
  602. package/src/TableRowActionBase.hbs +1 -2
  603. package/src/TimePickerPopoverTemplate.tsx +1 -1
  604. package/src/TimePickerTemplate.tsx +1 -1
  605. package/src/features/InputSuggestionsTemplate.tsx +6 -10
  606. package/src/i18n/messagebundle.properties +4 -0
  607. package/src/i18n/messagebundle_ar.properties +0 -2
  608. package/src/i18n/messagebundle_bg.properties +0 -2
  609. package/src/i18n/messagebundle_ca.properties +0 -2
  610. package/src/i18n/messagebundle_cnr.properties +0 -2
  611. package/src/i18n/messagebundle_cs.properties +0 -2
  612. package/src/i18n/messagebundle_cy.properties +0 -2
  613. package/src/i18n/messagebundle_da.properties +0 -2
  614. package/src/i18n/messagebundle_de.properties +0 -2
  615. package/src/i18n/messagebundle_el.properties +0 -2
  616. package/src/i18n/messagebundle_en.properties +0 -2
  617. package/src/i18n/messagebundle_en_GB.properties +0 -2
  618. package/src/i18n/messagebundle_en_US_sappsd.properties +0 -2
  619. package/src/i18n/messagebundle_en_US_saptrc.properties +0 -2
  620. package/src/i18n/messagebundle_es.properties +0 -2
  621. package/src/i18n/messagebundle_es_MX.properties +0 -2
  622. package/src/i18n/messagebundle_et.properties +0 -2
  623. package/src/i18n/messagebundle_fi.properties +0 -2
  624. package/src/i18n/messagebundle_fr.properties +0 -2
  625. package/src/i18n/messagebundle_fr_CA.properties +9 -11
  626. package/src/i18n/messagebundle_hi.properties +0 -2
  627. package/src/i18n/messagebundle_hr.properties +0 -2
  628. package/src/i18n/messagebundle_hu.properties +0 -2
  629. package/src/i18n/messagebundle_id.properties +1 -3
  630. package/src/i18n/messagebundle_it.properties +0 -2
  631. package/src/i18n/messagebundle_iw.properties +0 -2
  632. package/src/i18n/messagebundle_ja.properties +0 -2
  633. package/src/i18n/messagebundle_kk.properties +0 -2
  634. package/src/i18n/messagebundle_ko.properties +0 -2
  635. package/src/i18n/messagebundle_lt.properties +0 -2
  636. package/src/i18n/messagebundle_lv.properties +0 -2
  637. package/src/i18n/messagebundle_mk.properties +0 -2
  638. package/src/i18n/messagebundle_ms.properties +0 -2
  639. package/src/i18n/messagebundle_nl.properties +5 -7
  640. package/src/i18n/messagebundle_no.properties +1 -3
  641. package/src/i18n/messagebundle_pl.properties +0 -2
  642. package/src/i18n/messagebundle_pt.properties +0 -2
  643. package/src/i18n/messagebundle_pt_PT.properties +0 -2
  644. package/src/i18n/messagebundle_ro.properties +0 -2
  645. package/src/i18n/messagebundle_ru.properties +0 -2
  646. package/src/i18n/messagebundle_sh.properties +0 -2
  647. package/src/i18n/messagebundle_sk.properties +0 -2
  648. package/src/i18n/messagebundle_sl.properties +0 -2
  649. package/src/i18n/messagebundle_sr.properties +0 -2
  650. package/src/i18n/messagebundle_sv.properties +1 -3
  651. package/src/i18n/messagebundle_th.properties +1 -3
  652. package/src/i18n/messagebundle_tr.properties +0 -2
  653. package/src/i18n/messagebundle_uk.properties +0 -2
  654. package/src/i18n/messagebundle_vi.properties +0 -2
  655. package/src/i18n/messagebundle_zh_CN.properties +0 -2
  656. package/src/i18n/messagebundle_zh_TW.properties +0 -2
  657. package/src/themes/Button.css +1 -0
  658. package/src/themes/Link.css +9 -0
  659. package/src/themes/TableCell.css +1 -0
  660. package/src/themes/TableHeaderCell.css +20 -3
  661. package/src/themes/TableHeaderCellActionBase.css +23 -0
  662. package/src/themes/TableRowActionBase.css +1 -0
  663. package/src/themes/base/Link-parameters.css +1 -1
  664. package/src/themes/base/Select-parameters.css +0 -5
  665. package/src/themes/sap_fiori_3_hcb/Select-parameters.css +0 -5
  666. package/src/themes/sap_fiori_3_hcw/Select-parameters.css +0 -5
  667. package/src/themes/sap_horizon/Link-parameters.css +1 -0
  668. package/src/themes/sap_horizon_dark/Link-parameters.css +1 -0
  669. package/src/themes/sap_horizon_hcb/Link-parameters.css +1 -0
  670. package/src/themes/sap_horizon_hcb/Select-parameters.css +0 -5
  671. package/src/themes/sap_horizon_hcw/Link-parameters.css +1 -0
  672. package/src/themes/sap_horizon_hcw/Select-parameters.css +0 -5
  673. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.d.ts +0 -3
  674. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +0 -29
  675. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +0 -1
  676. package/dist/generated/templates/MultiComboBoxTemplate.lit.d.ts +0 -3
  677. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +0 -39
  678. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +0 -1
  679. package/src/MultiComboBox.hbs +0 -106
  680. package/src/MultiComboBoxPopover.hbs +0 -144
@@ -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":"AAAA,OAAO,EACN,IAAI,EACJ,SAAS,EACT,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,QAAQ,EACR,UAAU,EACV,MAAM,EACN,KAAK,EACL,SAAS,EACT,aAAa,GACb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,kBAAkB,MAAM,yDAAyD,CAAC;AACzF,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,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC9E,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,\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":"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","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;
@@ -209,11 +209,17 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
209
209
  get _isMobileDevice() {
210
210
  return !isDesktop() && (isPhone() || isTablet());
211
211
  }
212
+ get shouldDisplayValueStateMessageInResponsivePopover() {
213
+ return this.hasValueStateText && !this._inputsPopover?.open;
214
+ }
212
215
  onTimeSelectionChange(e) {
213
216
  this.tempValue = e.detail.value; // every time the user changes the time selection -> update tempValue
214
217
  }
215
218
  _togglePicker() {
216
219
  this.open = !this.open;
220
+ if (this._isMobileDevice) {
221
+ this._inputsPopover.open = false;
222
+ }
217
223
  }
218
224
  submitPickers() {
219
225
  this._updateValueAndFireEvents(this.tempValue, true, ["change", "value-changed"]);
@@ -240,7 +246,7 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
240
246
  */
241
247
  openInputsPopover() {
242
248
  this.tempValue = this.value && this.isValid(this.value) ? this.value : this.getFormat().format(UI5Date.getInstance());
243
- const popover = this._getInputsPopover();
249
+ const popover = this._inputsPopover;
244
250
  popover.opener = this;
245
251
  popover.open = true;
246
252
  this._isInputsPopoverOpen = true;
@@ -251,7 +257,7 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
251
257
  * @returns Resolves when the Inputs popover is closed
252
258
  */
253
259
  closeInputsPopover() {
254
- const popover = this._getInputsPopover();
260
+ const popover = this._inputsPopover;
255
261
  popover.open = false;
256
262
  }
257
263
  toggleInputsPopover() {
@@ -274,7 +280,7 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
274
280
  this.closeInputsPopover();
275
281
  }
276
282
  onInputsPopoverAfterOpen() {
277
- const popover = this._getInputsPopover();
283
+ const popover = this._inputsPopover;
278
284
  popover.querySelector("[ui5-time-selection-inputs]")._addNumericAttributes();
279
285
  }
280
286
  onInputsPopoverAfterClose() {
@@ -337,17 +343,8 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
337
343
  _canOpenInputsPopover() {
338
344
  return !this.disabled && this._isMobileDevice;
339
345
  }
340
- _getPopover() {
341
- return this.shadowRoot.querySelector("[ui5-responsive-popover]");
342
- }
343
- _getInputsPopover() {
344
- return this.shadowRoot.querySelector("[ui5-popover]");
345
- }
346
- _getDateTimeInput() {
347
- return this.shadowRoot.querySelector("[ui5-datetime-input]");
348
- }
349
346
  _getInputField() {
350
- const input = this._getDateTimeInput();
347
+ const input = this._dateTimeInput;
351
348
  return input && input.getInputDOMRef();
352
349
  }
353
350
  _onkeydown(e) {
@@ -359,7 +356,7 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
359
356
  this._togglePicker();
360
357
  }
361
358
  const target = e.target;
362
- if (target && this.open && this._getDateTimeInput().id === target.id && (isTabNext(e) || isTabPrevious(e) || isF6Next(e) || isF6Previous(e))) {
359
+ if (target && this.open && this._dateTimeInput.id === target.id && (isTabNext(e) || isTabPrevious(e) || isF6Next(e) || isF6Previous(e))) {
363
360
  this._togglePicker();
364
361
  }
365
362
  if (this.open) {
@@ -470,14 +467,14 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
470
467
  * Hides mobile device keyboard by temporary setting the input to readonly state.
471
468
  */
472
469
  _hideMobileKeyboard() {
473
- this._getDateTimeInput().readonly = true;
474
- setTimeout(() => { this._getDateTimeInput().readonly = false; }, 0);
470
+ this._dateTimeInput.readonly = true;
471
+ setTimeout(() => { this._dateTimeInput.readonly = false; }, 0);
475
472
  }
476
473
  _onfocusin(e) {
477
474
  if (this._isMobileDevice) {
478
475
  this._hideMobileKeyboard();
479
476
  if (this._isInputsPopoverOpen) {
480
- const popover = this._getInputsPopover();
477
+ const popover = this._inputsPopover;
481
478
  popover.applyFocus();
482
479
  }
483
480
  e.preventDefault();
@@ -512,6 +509,9 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
512
509
  get hasValueState() {
513
510
  return this.valueState !== ValueState.None;
514
511
  }
512
+ get shouldDisplayValueStateMessageOnDesktop() {
513
+ return this.valueStateMessage.length > 0 && !this.open && !this._isMobileDevice;
514
+ }
515
515
  get classes() {
516
516
  return {
517
517
  popover: {
@@ -578,6 +578,12 @@ __decorate([
578
578
  __decorate([
579
579
  query("[ui5-time-selection-clocks]")
580
580
  ], TimePicker.prototype, "_timeSelectionClocks", void 0);
581
+ __decorate([
582
+ query("[ui5-popover]")
583
+ ], TimePicker.prototype, "_inputsPopover", void 0);
584
+ __decorate([
585
+ query("[ui5-datetime-input]")
586
+ ], TimePicker.prototype, "_dateTimeInput", void 0);
581
587
  __decorate([
582
588
  i18n("@ui5/webcomponents")
583
589
  ], TimePicker, "i18nBundle", void 0);