@ui5/webcomponents 2.15.0-rc.0 → 2.15.0-rc.2

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 (523) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/cypress.config.js +0 -12
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/Button.d.ts +7 -2
  5. package/dist/Button.js +14 -3
  6. package/dist/Button.js.map +1 -1
  7. package/dist/ButtonTemplate.js +1 -1
  8. package/dist/ButtonTemplate.js.map +1 -1
  9. package/dist/ComboBox.d.ts +16 -0
  10. package/dist/ComboBox.js +42 -1
  11. package/dist/ComboBox.js.map +1 -1
  12. package/dist/Dialog.js +8 -2
  13. package/dist/Dialog.js.map +1 -1
  14. package/dist/Input.d.ts +15 -0
  15. package/dist/Input.js +43 -1
  16. package/dist/Input.js.map +1 -1
  17. package/dist/MultiComboBox.d.ts +17 -1
  18. package/dist/MultiComboBox.js +75 -8
  19. package/dist/MultiComboBox.js.map +1 -1
  20. package/dist/MultiInput.d.ts +1 -0
  21. package/dist/MultiInput.js +5 -9
  22. package/dist/MultiInput.js.map +1 -1
  23. package/dist/MultiInputTemplate.js +1 -1
  24. package/dist/MultiInputTemplate.js.map +1 -1
  25. package/dist/SegmentedButtonTemplate.js +1 -1
  26. package/dist/SegmentedButtonTemplate.js.map +1 -1
  27. package/dist/Select.d.ts +3 -1
  28. package/dist/Select.js +8 -1
  29. package/dist/Select.js.map +1 -1
  30. package/dist/SelectPopoverTemplate.js +1 -1
  31. package/dist/SelectPopoverTemplate.js.map +1 -1
  32. package/dist/SplitButton.d.ts +3 -2
  33. package/dist/SplitButton.js +3 -1
  34. package/dist/SplitButton.js.map +1 -1
  35. package/dist/SplitButtonTemplate.js +1 -1
  36. package/dist/SplitButtonTemplate.js.map +1 -1
  37. package/dist/Tokenizer.d.ts +27 -2
  38. package/dist/Tokenizer.js +54 -14
  39. package/dist/Tokenizer.js.map +1 -1
  40. package/dist/Toolbar.js +6 -3
  41. package/dist/Toolbar.js.map +1 -1
  42. package/dist/ToolbarItem.d.ts +2 -0
  43. package/dist/ToolbarItem.js +4 -0
  44. package/dist/ToolbarItem.js.map +1 -1
  45. package/dist/ToolbarSelect.js +1 -1
  46. package/dist/ToolbarSelect.js.map +1 -1
  47. package/dist/css/themes/Avatar.css +1 -1
  48. package/dist/css/themes/AvatarGroup.css +1 -1
  49. package/dist/css/themes/Bar.css +1 -1
  50. package/dist/css/themes/Breadcrumbs.css +1 -1
  51. package/dist/css/themes/BusyIndicator.css +1 -1
  52. package/dist/css/themes/Button.css +1 -1
  53. package/dist/css/themes/ButtonBadge.css +1 -1
  54. package/dist/css/themes/Calendar.css +1 -1
  55. package/dist/css/themes/CalendarHeader.css +1 -1
  56. package/dist/css/themes/CalendarLegend.css +1 -1
  57. package/dist/css/themes/CalendarLegendItem.css +1 -1
  58. package/dist/css/themes/Card.css +1 -1
  59. package/dist/css/themes/CardHeader.css +1 -1
  60. package/dist/css/themes/Carousel.css +1 -1
  61. package/dist/css/themes/CheckBox.css +1 -1
  62. package/dist/css/themes/ColorPalette.css +1 -1
  63. package/dist/css/themes/ColorPaletteItem.css +1 -1
  64. package/dist/css/themes/ColorPalettePopover.css +1 -1
  65. package/dist/css/themes/ColorPicker.css +1 -1
  66. package/dist/css/themes/ComboBox.css +1 -1
  67. package/dist/css/themes/ComboBoxItem.css +1 -1
  68. package/dist/css/themes/DatePicker.css +1 -1
  69. package/dist/css/themes/DatePickerPopover.css +1 -1
  70. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  71. package/dist/css/themes/DayPicker.css +1 -1
  72. package/dist/css/themes/Dialog.css +1 -1
  73. package/dist/css/themes/DynamicDateRange.css +1 -1
  74. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  75. package/dist/css/themes/FileUploader.css +1 -1
  76. package/dist/css/themes/Form.css +1 -1
  77. package/dist/css/themes/FormItem.css +1 -1
  78. package/dist/css/themes/FormItemSpan.css +1 -1
  79. package/dist/css/themes/GrowingButton.css +1 -1
  80. package/dist/css/themes/Icon.css +1 -1
  81. package/dist/css/themes/Input.css +1 -1
  82. package/dist/css/themes/InputIcon.css +1 -1
  83. package/dist/css/themes/InputSharedStyles.css +1 -1
  84. package/dist/css/themes/Link.css +1 -1
  85. package/dist/css/themes/List.css +1 -1
  86. package/dist/css/themes/ListItem.css +1 -1
  87. package/dist/css/themes/ListItemBase.css +1 -1
  88. package/dist/css/themes/ListItemCustom.css +1 -1
  89. package/dist/css/themes/ListItemGroup.css +1 -1
  90. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  91. package/dist/css/themes/ListItemIcon.css +1 -1
  92. package/dist/css/themes/Menu.css +1 -1
  93. package/dist/css/themes/MenuItem.css +1 -1
  94. package/dist/css/themes/MessageStrip.css +1 -1
  95. package/dist/css/themes/MonthPicker.css +1 -1
  96. package/dist/css/themes/MultiComboBox.css +1 -1
  97. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  98. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  99. package/dist/css/themes/MultiInput.css +1 -1
  100. package/dist/css/themes/OptionBase.css +1 -1
  101. package/dist/css/themes/Panel.css +1 -1
  102. package/dist/css/themes/Popover.css +1 -1
  103. package/dist/css/themes/PopupsCommon.css +1 -1
  104. package/dist/css/themes/ProgressIndicator.css +1 -1
  105. package/dist/css/themes/RadioButton.css +1 -1
  106. package/dist/css/themes/RangeSlider.css +1 -1
  107. package/dist/css/themes/RatingIndicator.css +1 -1
  108. package/dist/css/themes/ResponsivePopover.css +1 -1
  109. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  110. package/dist/css/themes/SegmentedButton.css +1 -1
  111. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  112. package/dist/css/themes/Select.css +1 -1
  113. package/dist/css/themes/SliderBase.css +1 -1
  114. package/dist/css/themes/SplitButton.css +1 -1
  115. package/dist/css/themes/StepInput.css +1 -1
  116. package/dist/css/themes/SuggestionItem.css +1 -1
  117. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  118. package/dist/css/themes/Switch.css +1 -1
  119. package/dist/css/themes/TabContainer.css +1 -1
  120. package/dist/css/themes/TabInOverflow.css +1 -1
  121. package/dist/css/themes/TabInStrip.css +1 -1
  122. package/dist/css/themes/TabSemanticIcon.css +1 -1
  123. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  124. package/dist/css/themes/TableCellBase.css +1 -1
  125. package/dist/css/themes/TableHeaderRow.css +1 -1
  126. package/dist/css/themes/TableRow.css +1 -1
  127. package/dist/css/themes/TableRowActionBase.css +1 -1
  128. package/dist/css/themes/TableRowBase.css +1 -1
  129. package/dist/css/themes/Tag.css +1 -1
  130. package/dist/css/themes/Text.css +1 -1
  131. package/dist/css/themes/TextArea.css +1 -1
  132. package/dist/css/themes/TimePicker.css +1 -1
  133. package/dist/css/themes/Toast.css +1 -1
  134. package/dist/css/themes/ToggleButton.css +1 -1
  135. package/dist/css/themes/Token.css +1 -1
  136. package/dist/css/themes/Tokenizer.css +1 -1
  137. package/dist/css/themes/TokenizerPopover.css +1 -1
  138. package/dist/css/themes/Toolbar.css +1 -1
  139. package/dist/css/themes/ToolbarButton.css +1 -1
  140. package/dist/css/themes/ToolbarPopover.css +1 -1
  141. package/dist/css/themes/ToolbarSelect.css +1 -1
  142. package/dist/css/themes/ToolbarSeparator.css +1 -1
  143. package/dist/css/themes/TreeItem.css +1 -1
  144. package/dist/css/themes/ValueStateMessage.css +1 -1
  145. package/dist/css/themes/ValueStateVariables.css +1 -1
  146. package/dist/css/themes/YearPicker.css +1 -1
  147. package/dist/css/themes/YearRangePicker.css +1 -1
  148. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  149. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  150. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  151. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  152. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  153. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  154. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  155. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  156. package/dist/custom-elements-internal.json +41 -7
  157. package/dist/custom-elements.json +41 -7
  158. package/dist/features/InputComposition.d.ts +12 -0
  159. package/dist/features/InputComposition.js +30 -0
  160. package/dist/features/InputComposition.js.map +1 -0
  161. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  162. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  163. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  164. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  165. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  166. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  167. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  168. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  169. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  170. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  171. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  172. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  173. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  174. package/dist/generated/themes/Avatar.css.js +1 -1
  175. package/dist/generated/themes/Avatar.css.js.map +1 -1
  176. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  177. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  178. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  179. package/dist/generated/themes/Bar.css.d.ts +1 -1
  180. package/dist/generated/themes/Bar.css.js +1 -1
  181. package/dist/generated/themes/Bar.css.js.map +1 -1
  182. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  183. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  184. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  185. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  186. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  187. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  188. package/dist/generated/themes/Button.css.d.ts +1 -1
  189. package/dist/generated/themes/Button.css.js +1 -1
  190. package/dist/generated/themes/Button.css.js.map +1 -1
  191. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  192. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  193. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  194. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  195. package/dist/generated/themes/Calendar.css.js +1 -1
  196. package/dist/generated/themes/Calendar.css.js.map +1 -1
  197. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  198. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  199. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  200. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  201. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  202. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  203. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  204. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  205. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  206. package/dist/generated/themes/Card.css.d.ts +1 -1
  207. package/dist/generated/themes/Card.css.js +1 -1
  208. package/dist/generated/themes/Card.css.js.map +1 -1
  209. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  210. package/dist/generated/themes/CardHeader.css.js +1 -1
  211. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  212. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  213. package/dist/generated/themes/Carousel.css.js +1 -1
  214. package/dist/generated/themes/Carousel.css.js.map +1 -1
  215. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  216. package/dist/generated/themes/CheckBox.css.js +1 -1
  217. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  218. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  219. package/dist/generated/themes/ColorPalette.css.js +1 -1
  220. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  221. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  222. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  223. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  224. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  225. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  226. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  227. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  228. package/dist/generated/themes/ColorPicker.css.js +1 -1
  229. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  230. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  231. package/dist/generated/themes/ComboBox.css.js +1 -1
  232. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  233. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  234. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  235. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  236. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  237. package/dist/generated/themes/DatePicker.css.js +1 -1
  238. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  239. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  240. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  241. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  242. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  243. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  244. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  245. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  246. package/dist/generated/themes/DayPicker.css.js +1 -1
  247. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  248. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  249. package/dist/generated/themes/Dialog.css.js +1 -1
  250. package/dist/generated/themes/Dialog.css.js.map +1 -1
  251. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  252. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  253. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  254. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  255. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  256. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  257. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  258. package/dist/generated/themes/FileUploader.css.js +1 -1
  259. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  260. package/dist/generated/themes/Form.css.d.ts +1 -1
  261. package/dist/generated/themes/Form.css.js +1 -1
  262. package/dist/generated/themes/Form.css.js.map +1 -1
  263. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  264. package/dist/generated/themes/FormItem.css.js +1 -1
  265. package/dist/generated/themes/FormItem.css.js.map +1 -1
  266. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  267. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  268. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  269. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  270. package/dist/generated/themes/GrowingButton.css.js +1 -1
  271. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  272. package/dist/generated/themes/Icon.css.d.ts +1 -1
  273. package/dist/generated/themes/Icon.css.js +1 -1
  274. package/dist/generated/themes/Icon.css.js.map +1 -1
  275. package/dist/generated/themes/Input.css.d.ts +1 -1
  276. package/dist/generated/themes/Input.css.js +1 -1
  277. package/dist/generated/themes/Input.css.js.map +1 -1
  278. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  279. package/dist/generated/themes/InputIcon.css.js +1 -1
  280. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  281. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  282. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  283. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  284. package/dist/generated/themes/Link.css.d.ts +1 -1
  285. package/dist/generated/themes/Link.css.js +1 -1
  286. package/dist/generated/themes/Link.css.js.map +1 -1
  287. package/dist/generated/themes/List.css.d.ts +1 -1
  288. package/dist/generated/themes/List.css.js +1 -1
  289. package/dist/generated/themes/List.css.js.map +1 -1
  290. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  291. package/dist/generated/themes/ListItem.css.js +1 -1
  292. package/dist/generated/themes/ListItem.css.js.map +1 -1
  293. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  294. package/dist/generated/themes/ListItemBase.css.js +1 -1
  295. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  296. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  297. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  298. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  299. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  300. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  301. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  302. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  303. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  304. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  305. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  306. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  307. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  308. package/dist/generated/themes/Menu.css.d.ts +1 -1
  309. package/dist/generated/themes/Menu.css.js +1 -1
  310. package/dist/generated/themes/Menu.css.js.map +1 -1
  311. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  312. package/dist/generated/themes/MenuItem.css.js +1 -1
  313. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  314. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  315. package/dist/generated/themes/MessageStrip.css.js +1 -1
  316. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  317. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  318. package/dist/generated/themes/MonthPicker.css.js +1 -1
  319. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  320. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  321. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  322. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  323. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  324. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  325. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  326. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  327. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  328. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  329. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  330. package/dist/generated/themes/MultiInput.css.js +1 -1
  331. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  332. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  333. package/dist/generated/themes/OptionBase.css.js +1 -1
  334. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  335. package/dist/generated/themes/Panel.css.d.ts +1 -1
  336. package/dist/generated/themes/Panel.css.js +1 -1
  337. package/dist/generated/themes/Panel.css.js.map +1 -1
  338. package/dist/generated/themes/Popover.css.d.ts +1 -1
  339. package/dist/generated/themes/Popover.css.js +1 -1
  340. package/dist/generated/themes/Popover.css.js.map +1 -1
  341. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  342. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  343. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  344. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  345. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  346. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  347. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  348. package/dist/generated/themes/RadioButton.css.js +1 -1
  349. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  350. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  351. package/dist/generated/themes/RangeSlider.css.js +1 -1
  352. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  353. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  354. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  355. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  356. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  357. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  358. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  359. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  360. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  361. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  362. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  363. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  364. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  365. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  366. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  367. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  368. package/dist/generated/themes/Select.css.d.ts +1 -1
  369. package/dist/generated/themes/Select.css.js +1 -1
  370. package/dist/generated/themes/Select.css.js.map +1 -1
  371. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  372. package/dist/generated/themes/SliderBase.css.js +1 -1
  373. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  374. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  375. package/dist/generated/themes/SplitButton.css.js +1 -1
  376. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  377. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  378. package/dist/generated/themes/StepInput.css.js +1 -1
  379. package/dist/generated/themes/StepInput.css.js.map +1 -1
  380. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  381. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  382. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  383. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  384. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  385. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  386. package/dist/generated/themes/Switch.css.d.ts +1 -1
  387. package/dist/generated/themes/Switch.css.js +1 -1
  388. package/dist/generated/themes/Switch.css.js.map +1 -1
  389. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  390. package/dist/generated/themes/TabContainer.css.js +1 -1
  391. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  392. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  393. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  394. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  395. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  396. package/dist/generated/themes/TabInStrip.css.js +1 -1
  397. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  398. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  399. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  400. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  401. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  402. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  403. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  404. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  405. package/dist/generated/themes/TableCellBase.css.js +1 -1
  406. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  407. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  408. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  409. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  410. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  411. package/dist/generated/themes/TableRow.css.js +1 -1
  412. package/dist/generated/themes/TableRow.css.js.map +1 -1
  413. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  414. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  415. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  416. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  417. package/dist/generated/themes/TableRowBase.css.js +1 -1
  418. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  419. package/dist/generated/themes/Tag.css.d.ts +1 -1
  420. package/dist/generated/themes/Tag.css.js +1 -1
  421. package/dist/generated/themes/Tag.css.js.map +1 -1
  422. package/dist/generated/themes/Text.css.d.ts +1 -1
  423. package/dist/generated/themes/Text.css.js +1 -1
  424. package/dist/generated/themes/Text.css.js.map +1 -1
  425. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  426. package/dist/generated/themes/TextArea.css.js +1 -1
  427. package/dist/generated/themes/TextArea.css.js.map +1 -1
  428. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  429. package/dist/generated/themes/TimePicker.css.js +1 -1
  430. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  431. package/dist/generated/themes/Toast.css.d.ts +1 -1
  432. package/dist/generated/themes/Toast.css.js +1 -1
  433. package/dist/generated/themes/Toast.css.js.map +1 -1
  434. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  435. package/dist/generated/themes/ToggleButton.css.js +1 -1
  436. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  437. package/dist/generated/themes/Token.css.d.ts +1 -1
  438. package/dist/generated/themes/Token.css.js +1 -1
  439. package/dist/generated/themes/Token.css.js.map +1 -1
  440. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  441. package/dist/generated/themes/Tokenizer.css.js +1 -1
  442. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  443. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  444. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  445. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  446. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  447. package/dist/generated/themes/Toolbar.css.js +1 -1
  448. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  449. package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
  450. package/dist/generated/themes/ToolbarButton.css.js +1 -1
  451. package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
  452. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  453. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  454. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  455. package/dist/generated/themes/ToolbarSelect.css.d.ts +1 -1
  456. package/dist/generated/themes/ToolbarSelect.css.js +1 -1
  457. package/dist/generated/themes/ToolbarSelect.css.js.map +1 -1
  458. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  459. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  460. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  461. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  462. package/dist/generated/themes/TreeItem.css.js +1 -1
  463. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  464. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  465. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  466. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  467. package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
  468. package/dist/generated/themes/ValueStateVariables.css.js +1 -1
  469. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
  470. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  471. package/dist/generated/themes/YearPicker.css.js +1 -1
  472. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  473. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  474. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  475. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  476. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  477. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  478. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  479. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  480. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  481. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  482. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  483. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  484. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  485. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  486. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  487. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  488. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  489. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  490. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  491. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  492. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  493. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  494. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  495. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  496. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  497. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  498. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  499. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  500. package/dist/vscode.html-custom-data.json +9 -4
  501. package/dist/web-types.json +19 -9
  502. package/package.json +27 -24
  503. package/src/ButtonTemplate.tsx +5 -4
  504. package/src/MultiInputTemplate.tsx +1 -0
  505. package/src/SegmentedButtonTemplate.tsx +2 -1
  506. package/src/SelectPopoverTemplate.tsx +1 -0
  507. package/src/SplitButtonTemplate.tsx +4 -3
  508. package/src/i18n/messagebundle_en.properties +298 -2
  509. package/src/i18n/messagebundle_en_US_sappsd.properties +16 -2
  510. package/src/i18n/messagebundle_en_US_saprigi.properties +16 -2
  511. package/src/i18n/messagebundle_en_US_saptrc.properties +16 -2
  512. package/src/themes/Button.css +1 -0
  513. package/src/themes/DatePickerPopover.css +1 -1
  514. package/src/themes/Dialog.css +4 -4
  515. package/src/themes/PopupsCommon.css +1 -1
  516. package/src/themes/ToolbarSelect.css +3 -2
  517. package/src/themes/base/Card-parameters.css +1 -1
  518. package/src/themes/base/Dialog-parameters.css +0 -4
  519. package/src/themes/base/PopupsCommon-parameters.css +0 -1
  520. package/src/themes/sap_horizon/Card-parameters.css +0 -1
  521. package/src/themes/sap_horizon_dark/Card-parameters.css +0 -1
  522. package/src/themes/sap_horizon_hcb/Card-parameters.css +0 -1
  523. package/src/themes/sap_horizon_hcw/Card-parameters.css +0 -1
@@ -131,6 +131,7 @@ let SplitButton = SplitButton_1 = class SplitButton extends UI5Element {
131
131
  * Accepts any string value.
132
132
  * - **title**: Specifies a tooltip or description for screen readers.
133
133
  * Accepts any string value.
134
+ * - **ariaKeyShortcuts**: Defines keyboard shortcuts that activate or give focus to the button.
134
135
  *
135
136
  * - **arrowButton**: Attributes applied specifically to the arrow (split) button.
136
137
  * - **hasPopup**: Indicates the presence and type of popup triggered by the arrow button.
@@ -297,7 +298,7 @@ let SplitButton = SplitButton_1 = class SplitButton extends UI5Element {
297
298
  get effectiveActiveArrowButton() {
298
299
  return this.activeArrowButton || this._activeArrowButton;
299
300
  }
300
- get textButtonAccText() {
301
+ get buttonTextContent() {
301
302
  return this.textContent;
302
303
  }
303
304
  get isTextButton() {
@@ -315,6 +316,7 @@ let SplitButton = SplitButton_1 = class SplitButton extends UI5Element {
315
316
  hasPopup: this.accessibilityAttributes?.root?.hasPopup,
316
317
  roleDescription: this.accessibilityAttributes?.root?.roleDescription || (this._hideArrowButton ? undefined : SplitButton_1.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION)),
317
318
  title: this.accessibilityAttributes?.root?.title,
319
+ ariaKeyShortcuts: this.accessibilityAttributes?.root?.ariaKeyShortcuts,
318
320
  },
319
321
  arrowButton: {
320
322
  hasPopup: this.accessibilityAttributes?.arrowButton?.hasPopup || "menu",
@@ -1 +1 @@
1
- {"version":3,"file":"SplitButton.js","sourceRoot":"","sources":["../src/SplitButton.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport {\n\tisEscape,\n\tisSpace,\n\tisEnter,\n\tisDown,\n\tisUp,\n\tisDownAlt,\n\tisUpAlt,\n\tisF4,\n\tisShift,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { AccessibilityAttributes } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type { AriaHasPopup, UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type ButtonDesign from \"./types/ButtonDesign.js\";\nimport type Button from \"./Button.js\";\n\nimport {\n\tSPLIT_BUTTON_DESCRIPTION,\n\tSPLIT_BUTTON_KEYBOARD_HINT,\n\tSPLIT_BUTTON_ARROW_BUTTON_TOOLTIP,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport SplitButtonTemplate from \"./SplitButtonTemplate.js\";\n\n// Styles\nimport SplitButtonCss from \"./generated/themes/SplitButton.css.js\";\n\ntype SplitButtonRootAccAttributes = Pick<AccessibilityAttributes, \"hasPopup\" | \"roleDescription\" | \"title\">;\ntype SplitButtonArrowButtonAccAtributes = Pick<AccessibilityAttributes, \"hasPopup\" | \"expanded\" | \"title\">;\ntype SplitButtonAccessibilityAttributes = {root?: SplitButtonRootAccAttributes, arrowButton?: SplitButtonArrowButtonAccAtributes}\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-split-button` enables users to trigger actions. It is constructed of two separate actions -\n * default action and arrow action that can be activated by clicking or tapping, or by\n * pressing certain keyboard keys - `Space` or `Enter` for default action,\n * and `Arrow Down` or `Arrow Up` for arrow action.\n *\n * ### Usage\n *\n * `ui5-split-button` consists two separate buttons:\n *\n * - for the first one (default action) you can define some `text` or an `icon`, or both.\n * - the second one (arrow action) contains only `slim-arrow-down` icon.\n *\n * You can choose a `design` from a set of predefined types (the same as for ui5-button) that offer\n * different styling to correspond to the triggered action. Both text and arrow actions have the same design.\n *\n * You can set the `ui5-split-button` as enabled or disabled. Both parts of an enabled\n * `ui5-split-button` can be pressed by clicking or tapping it, or by certain keys, which changes\n * the style to provide visual feedback to the user that it is pressed or hovered over with\n * the mouse cursor. A disabled `ui5-split-button` appears inactive and any of the two buttons\n * cannot be pressed.\n *\n * ### Keyboard Handling\n *\n * - `Space` or `Enter` - triggers the default action\n * - `Shift` or `Escape` - if `Space` is pressed, releases the default action button without triggering the click event.\n * - `Arrow Down`, `Arrow Up`, `Alt`+`Arrow Down`, `Alt`+`Arrow Up`, or `F4` - triggers the arrow action\n * There are separate events that are fired on activating of `ui5-split-button` parts:\n *\n * - `click` for the first button (default action)\n * - `arrow-click` for the second button (arrow action)\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/SplitButton.js\";`\n * @csspart button - Used to style the native button element\n * @csspart icon - Used to style the icon in the native button element\n * @csspart endIcon - Used to style the end icon in the native button element\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.1.0\n */\n@customElement({\n\ttag: \"ui5-split-button\",\n\trenderer: jsxRenderer,\n\tstyles: SplitButtonCss,\n\ttemplate: SplitButtonTemplate,\n})\n/**\n * Fired when the user clicks on the default action.\n * @public\n */\n@event(\"click\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user clicks on the arrow action.\n * @public\n */\n@event(\"arrow-click\", {\n\tbubbles: true,\n})\nclass SplitButton extends UI5Element {\n\teventDetails!: {\n\t\tclick: void;\n\t\t\"arrow-click\": void;\n\t}\n\t/**\n\t * Defines the icon to be displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t *\n\t * See all available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines whether the arrow button should have the active state styles or not.\n\t * @default false\n\t * @public\n\t * @since 1.21.0\n\t */\n\t@property({ type: Boolean })\n\tactiveArrowButton = false;\n\n\t/**\n\t * Defines the component design.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property()\n\tdesign: `${ButtonDesign}` = \"Default\";\n\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the tabIndex of the component.\n\t * @default \"0\"\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_tabIndex = 0\n\n\t/**\n\t * Indicates if there is Shift or Escape key pressed while Space key is down.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_shiftOrEscapePressedDuringSpace = false;\n\n\t/**\n\t * Defines the active state of the text button\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_textButtonActive = false;\n\n\t/**\n\t * Defines the state of the internal Button used for the Arrow button of the SplitButton.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_activeArrowButton = false;\n\n\t/**\n\t * Defines the display of the end icon as a graphical element within the default action of the component after the button text.\n\t * The SAP-icons font provides different options.\n\t *\n\t * Example:\n\t *\n\t * See all available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @private\n\t */\n\t@property({ type: String })\n\t_endIcon?: string;\n\n\t/**\n\t * Defines the visibility of the arrow button of the component.\n\t *\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_hideArrowButton = false;\n\n\t/**\n\t * Defines the additional accessibility attributes that will be applied to the component.\n\t * The `accessibilityAttributes` property accepts an object with the following optional fields:\n\t *\n\t * - **root**: Attributes that will be applied to the main (text) button.\n\t * - **hasPopup**: Indicates the presence and type of popup triggered by the button.\n\t * Accepts string values: `\"dialog\"`, `\"grid\"`, `\"listbox\"`, `\"menu\"`, or `\"tree\"`.\n\t * - **roleDescription**: Provides a human-readable description for the role of the button.\n\t * Accepts any string value.\n\t * - **title**: Specifies a tooltip or description for screen readers.\n\t * Accepts any string value.\n\t *\n\t * - **arrowButton**: Attributes applied specifically to the arrow (split) button.\n\t * - **hasPopup**: Indicates the presence and type of popup triggered by the arrow button.\n\t * Accepts string values: `\"dialog\"`, `\"grid\"`, `\"listbox\"`, `\"menu\"`, or `\"tree\"`.\n\t * - **expanded**: Indicates whether the popup triggered by the arrow button is currently expanded.\n\t * Accepts boolean values: `true` or `false`.\n\t *\n\t * @default {}\n\t * @public\n\t * @since 2.13.0\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: SplitButtonAccessibilityAttributes = {};\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tif (this.disabled) {\n\t\t\tthis._tabIndex = -1;\n\t\t}\n\t}\n\n\t_handleMouseClick(e: UI5CustomEvent<Button, \"click\">) {\n\t\tthis._fireClick(e);\n\t}\n\n\t_onFocusOut() {\n\t\tif (this.disabled || this.getFocusDomRef()!.matches(\":has(:focus-within)\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._resetActionButtonStates();\n\t\tthis._setTabIndexValue();\n\t}\n\n\thandleTouchStart(e: TouchEvent | MouseEvent) {\n\t\te.stopPropagation();\n\t\tthis._textButtonActive = true;\n\t\tthis._tabIndex = -1;\n\t}\n\n\t_onInnerButtonFocusIn(e: FocusEvent) {\n\t\te.stopPropagation();\n\t\tthis._setTabIndexValue(true);\n\t\tconst target = e.target as Button;\n\t\ttarget.focus();\n\t}\n\n\t_onKeyDown(e: KeyboardEvent) {\n\t\tif (this._isArrowKeyAction(e)) {\n\t\t\tthis._handleArrowButtonAction(e);\n\t\t\tthis._activeArrowButton = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isDefaultAction(e)) {\n\t\t\tthis._handleDefaultAction(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif ((isShift(e) || isEscape(e)) && this._textButtonActive) {\n\t\t\te.preventDefault();\n\t\t\tthis._shiftOrEscapePressedDuringSpace = true;\n\t\t}\n\n\t\tif (isEscape(e) && !this._textButtonActive) {\n\t\t\tthis._resetActionButtonStates();\n\t\t}\n\n\t\tthis._tabIndex = -1;\n\t}\n\n\t_onKeyUp(e: KeyboardEvent) {\n\t\tconst target = e.target as Button;\n\t\tif (this._isArrowKeyAction(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._activeArrowButton = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._textButtonActive = false;\n\t\t\tif (!this._shiftOrEscapePressedDuringSpace && target !== this.arrowButton) { // Do not fire click if Arrow button is focused by mouse and Space is pressed afterwards\n\t\t\t\tthis._fireClick();\n\t\t\t}\n\n\t\t\tthis._shiftOrEscapePressedDuringSpace = false;\n\t\t\treturn;\n\t\t}\n\n\t\tconst shouldToggleTextButtonActiveStateOff = isEnter(e) || (isShift(e) && this._textButtonActive);\n\n\t\tif (shouldToggleTextButtonActiveStateOff) {\n\t\t\tthis._textButtonActive = false;\n\t\t}\n\t}\n\n\t_resetActionButtonStates() {\n\t\tthis._activeArrowButton = false;\n\t\tthis._textButtonActive = false;\n\t\tthis._shiftOrEscapePressedDuringSpace = false;\n\t}\n\n\t_fireClick(e?: Event) {\n\t\te?.stopPropagation();\n\t\tthis.fireDecoratorEvent(\"click\");\n\t}\n\n\t_fireArrowClick(e?: Event) {\n\t\te?.stopPropagation();\n\n\t\tthis.fireDecoratorEvent(\"arrow-click\");\n\t}\n\n\t_textButtonRelease() {\n\t\tthis._textButtonActive = false;\n\t\tthis._tabIndex = -1;\n\t}\n\n\t_arrowButtonPress(e: MouseEvent) {\n\t\te.stopPropagation();\n\n\t\tthis._tabIndex = -1;\n\t}\n\n\t_arrowButtonRelease(e: MouseEvent) {\n\t\te.preventDefault();\n\n\t\tthis._tabIndex = -1;\n\t}\n\n\t_setTabIndexValue(innerButtonPressed?: boolean) {\n\t\tthis._tabIndex = this.disabled ? -1 : 0;\n\n\t\tif (this._tabIndex === -1 && innerButtonPressed) {\n\t\t\tthis._tabIndex = 0;\n\t\t}\n\t}\n\n\t_onArrowButtonActiveStateChange(e: CustomEvent) {\n\t\tif (this.activeArrowButton) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the pressed key is an arrow key.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isArrowKeyAction(e: KeyboardEvent): boolean {\n\t\treturn isDown(e) || isUp(e) || isDownAlt(e) || isUpAlt(e) || isF4(e);\n\t}\n\n\t/**\n\t * Checks if the pressed key is a default action key (Space or Enter).\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isDefaultAction(e: KeyboardEvent): boolean {\n\t\treturn isSpace(e) || isEnter(e);\n\t}\n\n\t/**\n\t * Handles the click event and the focus on the arrow button.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_handleArrowButtonAction(e: UI5CustomEvent<Button, \"click\"> | KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tthis._fireArrowClick(e);\n\t}\n\n\t/**\n\t * Handles the default action and the active state of the respective button.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_handleDefaultAction(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tconst target = e.target as Button;\n\n\t\tif (this.arrowButton && target === this.arrowButton) {\n\t\t\tthis._activeArrowButton = true;\n\t\t\tthis._fireArrowClick();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._textButtonActive = true;\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._fireClick(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (isTabPrevious(e) || isTabNext(e)) {\n\t\t\tthis._resetActionButtonStates();\n\t\t}\n\t}\n\n\tget effectiveActiveArrowButton() {\n\t\treturn this.activeArrowButton || this._activeArrowButton;\n\t}\n\n\tget textButtonAccText() {\n\t\treturn this.textContent;\n\t}\n\n\tget isTextButton() {\n\t\treturn !!this.textContent;\n\t}\n\n\tget textButton() {\n\t\treturn this.getDomRef()?.querySelector<Button>(\".ui5-split-text-button\");\n\t}\n\n\tget arrowButton() {\n\t\treturn this.getDomRef()?.querySelector<Button>(\".ui5-split-arrow-button\");\n\t}\n\n\tget _computedAccessibilityAttributes(): SplitButtonAccessibilityAttributes {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\thasPopup: this.accessibilityAttributes?.root?.hasPopup,\n\t\t\t\troleDescription: this.accessibilityAttributes?.root?.roleDescription || (this._hideArrowButton ? undefined : SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION)),\n\t\t\t\ttitle: this.accessibilityAttributes?.root?.title,\n\t\t\t},\n\t\t\tarrowButton: {\n\t\t\t\thasPopup: this.accessibilityAttributes?.arrowButton?.hasPopup || \"menu\" as AriaHasPopup,\n\t\t\t\texpanded: this.accessibilityAttributes?.arrowButton?.expanded || this.effectiveActiveArrowButton,\n\t\t\t\ttitle: this.accessibilityAttributes?.arrowButton?.title || this.arrowButtonTooltip,\n\t\t\t},\n\t\t};\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"keyboardHint\": SplitButton.i18nBundle.getText(SPLIT_BUTTON_KEYBOARD_HINT),\n\t\t\t\"description\": SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION),\n\t\t};\n\t}\n\n\tget arrowButtonTooltip() {\n\t\treturn SplitButton.i18nBundle.getText(SPLIT_BUTTON_ARROW_BUTTON_TOOLTIP);\n\t}\n\n\tget ariaLabelText() {\n\t\treturn [SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION), SplitButton.i18nBundle.getText(SPLIT_BUTTON_KEYBOARD_HINT)].join(\" \");\n\t}\n}\n\nSplitButton.define();\n\nexport default SplitButton;\nexport type {\n\tSplitButtonAccessibilityAttributes,\n};\n"]}
1
+ {"version":3,"file":"SplitButton.js","sourceRoot":"","sources":["../src/SplitButton.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport {\n\tisEscape,\n\tisSpace,\n\tisEnter,\n\tisDown,\n\tisUp,\n\tisDownAlt,\n\tisUpAlt,\n\tisF4,\n\tisShift,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { AccessibilityAttributes } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type { AriaHasPopup, UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type ButtonDesign from \"./types/ButtonDesign.js\";\nimport type Button from \"./Button.js\";\n\nimport {\n\tSPLIT_BUTTON_DESCRIPTION,\n\tSPLIT_BUTTON_KEYBOARD_HINT,\n\tSPLIT_BUTTON_ARROW_BUTTON_TOOLTIP,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport SplitButtonTemplate from \"./SplitButtonTemplate.js\";\n\n// Styles\nimport SplitButtonCss from \"./generated/themes/SplitButton.css.js\";\n\ntype SplitButtonRootAccAttributes = Pick<AccessibilityAttributes, \"hasPopup\" | \"roleDescription\" | \"title\" | \"ariaKeyShortcuts\">;\ntype SplitButtonArrowButtonAccAtributes = Pick<AccessibilityAttributes, \"hasPopup\" | \"expanded\" | \"title\">;\ntype SplitButtonAccessibilityAttributes = {root?: SplitButtonRootAccAttributes, arrowButton?: SplitButtonArrowButtonAccAtributes}\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-split-button` enables users to trigger actions. It is constructed of two separate actions -\n * default action and arrow action that can be activated by clicking or tapping, or by\n * pressing certain keyboard keys - `Space` or `Enter` for default action,\n * and `Arrow Down` or `Arrow Up` for arrow action.\n *\n * ### Usage\n *\n * `ui5-split-button` consists two separate buttons:\n *\n * - for the first one (default action) you can define some `text` or an `icon`, or both.\n * - the second one (arrow action) contains only `slim-arrow-down` icon.\n *\n * You can choose a `design` from a set of predefined types (the same as for ui5-button) that offer\n * different styling to correspond to the triggered action. Both text and arrow actions have the same design.\n *\n * You can set the `ui5-split-button` as enabled or disabled. Both parts of an enabled\n * `ui5-split-button` can be pressed by clicking or tapping it, or by certain keys, which changes\n * the style to provide visual feedback to the user that it is pressed or hovered over with\n * the mouse cursor. A disabled `ui5-split-button` appears inactive and any of the two buttons\n * cannot be pressed.\n *\n * ### Keyboard Handling\n *\n * - `Space` or `Enter` - triggers the default action\n * - `Shift` or `Escape` - if `Space` is pressed, releases the default action button without triggering the click event.\n * - `Arrow Down`, `Arrow Up`, `Alt`+`Arrow Down`, `Alt`+`Arrow Up`, or `F4` - triggers the arrow action\n * There are separate events that are fired on activating of `ui5-split-button` parts:\n *\n * - `click` for the first button (default action)\n * - `arrow-click` for the second button (arrow action)\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/SplitButton.js\";`\n * @csspart button - Used to style the native button element\n * @csspart icon - Used to style the icon in the native button element\n * @csspart endIcon - Used to style the end icon in the native button element\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.1.0\n */\n@customElement({\n\ttag: \"ui5-split-button\",\n\trenderer: jsxRenderer,\n\tstyles: SplitButtonCss,\n\ttemplate: SplitButtonTemplate,\n})\n/**\n * Fired when the user clicks on the default action.\n * @public\n */\n@event(\"click\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user clicks on the arrow action.\n * @public\n */\n@event(\"arrow-click\", {\n\tbubbles: true,\n})\nclass SplitButton extends UI5Element {\n\teventDetails!: {\n\t\tclick: void;\n\t\t\"arrow-click\": void;\n\t}\n\t/**\n\t * Defines the icon to be displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t *\n\t * See all available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines whether the arrow button should have the active state styles or not.\n\t * @default false\n\t * @public\n\t * @since 1.21.0\n\t */\n\t@property({ type: Boolean })\n\tactiveArrowButton = false;\n\n\t/**\n\t * Defines the component design.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property()\n\tdesign: `${ButtonDesign}` = \"Default\";\n\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the tabIndex of the component.\n\t * @default \"0\"\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_tabIndex = 0\n\n\t/**\n\t * Indicates if there is Shift or Escape key pressed while Space key is down.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_shiftOrEscapePressedDuringSpace = false;\n\n\t/**\n\t * Defines the active state of the text button\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_textButtonActive = false;\n\n\t/**\n\t * Defines the state of the internal Button used for the Arrow button of the SplitButton.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_activeArrowButton = false;\n\n\t/**\n\t * Defines the display of the end icon as a graphical element within the default action of the component after the button text.\n\t * The SAP-icons font provides different options.\n\t *\n\t * Example:\n\t *\n\t * See all available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @private\n\t */\n\t@property({ type: String })\n\t_endIcon?: string;\n\n\t/**\n\t * Defines the visibility of the arrow button of the component.\n\t *\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_hideArrowButton = false;\n\n\t/**\n\t * Defines the additional accessibility attributes that will be applied to the component.\n\t * The `accessibilityAttributes` property accepts an object with the following optional fields:\n\t *\n\t * - **root**: Attributes that will be applied to the main (text) button.\n\t * - **hasPopup**: Indicates the presence and type of popup triggered by the button.\n\t * Accepts string values: `\"dialog\"`, `\"grid\"`, `\"listbox\"`, `\"menu\"`, or `\"tree\"`.\n\t * - **roleDescription**: Provides a human-readable description for the role of the button.\n\t * Accepts any string value.\n\t * - **title**: Specifies a tooltip or description for screen readers.\n\t * Accepts any string value.\n\t * \t- **ariaKeyShortcuts**: Defines keyboard shortcuts that activate or give focus to the button.\n\t *\n\t * - **arrowButton**: Attributes applied specifically to the arrow (split) button.\n\t * - **hasPopup**: Indicates the presence and type of popup triggered by the arrow button.\n\t * Accepts string values: `\"dialog\"`, `\"grid\"`, `\"listbox\"`, `\"menu\"`, or `\"tree\"`.\n\t * - **expanded**: Indicates whether the popup triggered by the arrow button is currently expanded.\n\t * Accepts boolean values: `true` or `false`.\n\t *\n\t * @default {}\n\t * @public\n\t * @since 2.13.0\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: SplitButtonAccessibilityAttributes = {};\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tif (this.disabled) {\n\t\t\tthis._tabIndex = -1;\n\t\t}\n\t}\n\n\t_handleMouseClick(e: UI5CustomEvent<Button, \"click\">) {\n\t\tthis._fireClick(e);\n\t}\n\n\t_onFocusOut() {\n\t\tif (this.disabled || this.getFocusDomRef()!.matches(\":has(:focus-within)\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._resetActionButtonStates();\n\t\tthis._setTabIndexValue();\n\t}\n\n\thandleTouchStart(e: TouchEvent | MouseEvent) {\n\t\te.stopPropagation();\n\t\tthis._textButtonActive = true;\n\t\tthis._tabIndex = -1;\n\t}\n\n\t_onInnerButtonFocusIn(e: FocusEvent) {\n\t\te.stopPropagation();\n\t\tthis._setTabIndexValue(true);\n\t\tconst target = e.target as Button;\n\t\ttarget.focus();\n\t}\n\n\t_onKeyDown(e: KeyboardEvent) {\n\t\tif (this._isArrowKeyAction(e)) {\n\t\t\tthis._handleArrowButtonAction(e);\n\t\t\tthis._activeArrowButton = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isDefaultAction(e)) {\n\t\t\tthis._handleDefaultAction(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif ((isShift(e) || isEscape(e)) && this._textButtonActive) {\n\t\t\te.preventDefault();\n\t\t\tthis._shiftOrEscapePressedDuringSpace = true;\n\t\t}\n\n\t\tif (isEscape(e) && !this._textButtonActive) {\n\t\t\tthis._resetActionButtonStates();\n\t\t}\n\n\t\tthis._tabIndex = -1;\n\t}\n\n\t_onKeyUp(e: KeyboardEvent) {\n\t\tconst target = e.target as Button;\n\t\tif (this._isArrowKeyAction(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._activeArrowButton = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._textButtonActive = false;\n\t\t\tif (!this._shiftOrEscapePressedDuringSpace && target !== this.arrowButton) { // Do not fire click if Arrow button is focused by mouse and Space is pressed afterwards\n\t\t\t\tthis._fireClick();\n\t\t\t}\n\n\t\t\tthis._shiftOrEscapePressedDuringSpace = false;\n\t\t\treturn;\n\t\t}\n\n\t\tconst shouldToggleTextButtonActiveStateOff = isEnter(e) || (isShift(e) && this._textButtonActive);\n\n\t\tif (shouldToggleTextButtonActiveStateOff) {\n\t\t\tthis._textButtonActive = false;\n\t\t}\n\t}\n\n\t_resetActionButtonStates() {\n\t\tthis._activeArrowButton = false;\n\t\tthis._textButtonActive = false;\n\t\tthis._shiftOrEscapePressedDuringSpace = false;\n\t}\n\n\t_fireClick(e?: Event) {\n\t\te?.stopPropagation();\n\t\tthis.fireDecoratorEvent(\"click\");\n\t}\n\n\t_fireArrowClick(e?: Event) {\n\t\te?.stopPropagation();\n\n\t\tthis.fireDecoratorEvent(\"arrow-click\");\n\t}\n\n\t_textButtonRelease() {\n\t\tthis._textButtonActive = false;\n\t\tthis._tabIndex = -1;\n\t}\n\n\t_arrowButtonPress(e: MouseEvent) {\n\t\te.stopPropagation();\n\n\t\tthis._tabIndex = -1;\n\t}\n\n\t_arrowButtonRelease(e: MouseEvent) {\n\t\te.preventDefault();\n\n\t\tthis._tabIndex = -1;\n\t}\n\n\t_setTabIndexValue(innerButtonPressed?: boolean) {\n\t\tthis._tabIndex = this.disabled ? -1 : 0;\n\n\t\tif (this._tabIndex === -1 && innerButtonPressed) {\n\t\t\tthis._tabIndex = 0;\n\t\t}\n\t}\n\n\t_onArrowButtonActiveStateChange(e: CustomEvent) {\n\t\tif (this.activeArrowButton) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the pressed key is an arrow key.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isArrowKeyAction(e: KeyboardEvent): boolean {\n\t\treturn isDown(e) || isUp(e) || isDownAlt(e) || isUpAlt(e) || isF4(e);\n\t}\n\n\t/**\n\t * Checks if the pressed key is a default action key (Space or Enter).\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isDefaultAction(e: KeyboardEvent): boolean {\n\t\treturn isSpace(e) || isEnter(e);\n\t}\n\n\t/**\n\t * Handles the click event and the focus on the arrow button.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_handleArrowButtonAction(e: UI5CustomEvent<Button, \"click\"> | KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tthis._fireArrowClick(e);\n\t}\n\n\t/**\n\t * Handles the default action and the active state of the respective button.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_handleDefaultAction(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tconst target = e.target as Button;\n\n\t\tif (this.arrowButton && target === this.arrowButton) {\n\t\t\tthis._activeArrowButton = true;\n\t\t\tthis._fireArrowClick();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._textButtonActive = true;\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._fireClick(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (isTabPrevious(e) || isTabNext(e)) {\n\t\t\tthis._resetActionButtonStates();\n\t\t}\n\t}\n\n\tget effectiveActiveArrowButton() {\n\t\treturn this.activeArrowButton || this._activeArrowButton;\n\t}\n\n\tget buttonTextContent() {\n\t\treturn this.textContent;\n\t}\n\n\tget isTextButton() {\n\t\treturn !!this.textContent;\n\t}\n\n\tget textButton() {\n\t\treturn this.getDomRef()?.querySelector<Button>(\".ui5-split-text-button\");\n\t}\n\n\tget arrowButton() {\n\t\treturn this.getDomRef()?.querySelector<Button>(\".ui5-split-arrow-button\");\n\t}\n\n\tget _computedAccessibilityAttributes(): SplitButtonAccessibilityAttributes {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\thasPopup: this.accessibilityAttributes?.root?.hasPopup,\n\t\t\t\troleDescription: this.accessibilityAttributes?.root?.roleDescription || (this._hideArrowButton ? undefined : SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION)),\n\t\t\t\ttitle: this.accessibilityAttributes?.root?.title,\n\t\t\t\tariaKeyShortcuts: this.accessibilityAttributes?.root?.ariaKeyShortcuts,\n\t\t\t},\n\t\t\tarrowButton: {\n\t\t\t\thasPopup: this.accessibilityAttributes?.arrowButton?.hasPopup || \"menu\" as AriaHasPopup,\n\t\t\t\texpanded: this.accessibilityAttributes?.arrowButton?.expanded || this.effectiveActiveArrowButton,\n\t\t\t\ttitle: this.accessibilityAttributes?.arrowButton?.title || this.arrowButtonTooltip,\n\t\t\t},\n\t\t};\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"keyboardHint\": SplitButton.i18nBundle.getText(SPLIT_BUTTON_KEYBOARD_HINT),\n\t\t\t\"description\": SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION),\n\t\t};\n\t}\n\n\tget arrowButtonTooltip() {\n\t\treturn SplitButton.i18nBundle.getText(SPLIT_BUTTON_ARROW_BUTTON_TOOLTIP);\n\t}\n\n\tget ariaLabelText() {\n\t\treturn [SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION), SplitButton.i18nBundle.getText(SPLIT_BUTTON_KEYBOARD_HINT)].join(\" \");\n\t}\n}\n\nSplitButton.define();\n\nexport default SplitButton;\nexport type {\n\tSplitButtonAccessibilityAttributes,\n};\n"]}
@@ -2,6 +2,6 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ui5/webcompo
2
2
  import slimArrowDown from "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
3
3
  import Button from "./Button.js";
4
4
  export default function SplitButtonTemplate() {
5
- return (_jsxs("div", { role: this._hideArrowButton ? "button" : "group", class: "ui5-split-button-root", tabindex: this._tabIndex, "aria-labelledby": this._hideArrowButton ? undefined : `${this._id}-invisibleTextDefault ${this._id}-invisibleText`, "aria-haspopup": this._computedAccessibilityAttributes?.root?.hasPopup, "aria-roledescription": this._computedAccessibilityAttributes?.root?.roleDescription, "aria-label": this._hideArrowButton ? this._computedAccessibilityAttributes?.root?.title : undefined, onFocusOut: this._onFocusOut, onKeyDown: this._onKeyDown, onKeyUp: this._onKeyUp, children: [_jsx(Button, { class: "ui5-split-text-button", design: this.design, icon: this.icon, endIcon: this._endIcon, tabindex: -1, disabled: this.disabled, active: this._textButtonActive, exportparts: "icon,endIcon,button", onClick: this._handleMouseClick, onTouchStart: this.handleTouchStart, onMouseDown: this.handleTouchStart, onMouseUp: this._textButtonRelease, onFocusIn: this._onInnerButtonFocusIn, onFocusOut: this._onFocusOut, tooltip: this._computedAccessibilityAttributes?.root?.title, children: this.isTextButton && _jsx("slot", {}) }), !this._hideArrowButton && (_jsxs(_Fragment, { children: [_jsx(Button, { class: "ui5-split-arrow-button", design: this.design, icon: slimArrowDown, tabindex: -1, tooltip: this._computedAccessibilityAttributes?.arrowButton?.title, accessibilityAttributes: { hasPopup: this._computedAccessibilityAttributes?.arrowButton?.hasPopup, expanded: this._computedAccessibilityAttributes?.arrowButton?.expanded }, disabled: this.disabled, active: this.effectiveActiveArrowButton, part: "arrowButton", onClick: this._handleArrowButtonAction, onMouseDown: this._arrowButtonPress, onMouseUp: this._arrowButtonRelease, onFocusIn: this._onInnerButtonFocusIn, onActiveStateChange: this._onArrowButtonActiveStateChange }), _jsxs("span", { id: `${this._id}-invisibleText`, class: "ui5-hidden-text", children: [this.accInfo.keyboardHint, " ", this.accessibleName] }), _jsx("span", { id: `${this._id}-invisibleTextDefault`, class: "ui5-hidden-text", children: this._computedAccessibilityAttributes?.root?.title || this.textButtonAccText })] }))] }));
5
+ return (_jsxs("div", { role: this._hideArrowButton ? "button" : "group", class: "ui5-split-button-root", tabindex: this._tabIndex, "aria-labelledby": `${this._id}-invisibleTextDefault ${this._id}-invisibleText`, "aria-haspopup": this._computedAccessibilityAttributes?.root?.hasPopup, "aria-roledescription": this._computedAccessibilityAttributes?.root?.roleDescription, "aria-label": this._computedAccessibilityAttributes?.root?.title, "aria-keyshortcuts": this._computedAccessibilityAttributes?.root?.ariaKeyShortcuts, onFocusOut: this._onFocusOut, onKeyDown: this._onKeyDown, onKeyUp: this._onKeyUp, children: [_jsx(Button, { class: "ui5-split-text-button", design: this.design, icon: this.icon, endIcon: this._endIcon, tabindex: -1, disabled: this.disabled, active: this._textButtonActive, exportparts: "icon,endIcon,button", onClick: this._handleMouseClick, onTouchStart: this.handleTouchStart, onMouseDown: this.handleTouchStart, onMouseUp: this._textButtonRelease, onFocusIn: this._onInnerButtonFocusIn, onFocusOut: this._onFocusOut, tooltip: this._computedAccessibilityAttributes?.root?.title, children: this.isTextButton && _jsx("slot", {}) }), !this._hideArrowButton && (_jsxs(_Fragment, { children: [_jsx(Button, { class: "ui5-split-arrow-button", design: this.design, icon: slimArrowDown, tabindex: -1, tooltip: this._computedAccessibilityAttributes?.arrowButton?.title, accessibilityAttributes: { hasPopup: this._computedAccessibilityAttributes?.arrowButton?.hasPopup, expanded: this._computedAccessibilityAttributes?.arrowButton?.expanded }, disabled: this.disabled, active: this.effectiveActiveArrowButton, part: "arrowButton", onClick: this._handleArrowButtonAction, onMouseDown: this._arrowButtonPress, onMouseUp: this._arrowButtonRelease, onFocusIn: this._onInnerButtonFocusIn, onActiveStateChange: this._onArrowButtonActiveStateChange }), _jsxs("span", { id: `${this._id}-invisibleText`, class: "ui5-hidden-text", children: [this.accInfo.keyboardHint, " ", this.accessibleName] }), _jsx("span", { id: `${this._id}-invisibleTextDefault`, class: "ui5-hidden-text", children: this.buttonTextContent })] }))] }));
6
6
  }
7
7
  //# sourceMappingURL=SplitButtonTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SplitButtonTemplate.js","sourceRoot":"","sources":["../src/SplitButtonTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,aAAa,MAAM,kDAAkD,CAAC;AAC7E,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,mBAAmB;IAC1C,OAAO,CACN,eACC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAChD,KAAK,EAAC,uBAAuB,EAC7B,QAAQ,EAAE,IAAI,CAAC,SAAS,qBACP,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,yBAAyB,IAAI,CAAC,GAAG,gBAAgB,mBAClG,IAAI,CAAC,gCAAgC,EAAE,IAAI,EAAE,QAAQ,0BAC9C,IAAI,CAAC,gCAAgC,EAAE,IAAI,EAAE,eAAe,gBACtE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gCAAgC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,EAClG,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,aAEtB,KAAC,MAAM,IACN,KAAK,EAAC,uBAAuB,EAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,QAAQ,EAAE,CAAC,CAAC,EACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAC9B,WAAW,EAAC,qBAAqB,EACjC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAClC,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAClC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EACrC,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,IAAI,EAAE,KAAK,YAE1D,IAAI,CAAC,YAAY,IAAI,gBAAa,GAC3B,EAER,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAC1B,8BACC,KAAC,MAAM,IACN,KAAK,EAAC,wBAAwB,EAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,CAAC,CAAC,EACZ,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,WAAW,EAAE,KAAK,EAClE,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,gCAAgC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,gCAAgC,EAAE,WAAW,EAAE,QAAQ,EAAE,EAC3K,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,0BAA0B,EACvC,IAAI,EAAC,aAAa,EAClB,OAAO,EAAE,IAAI,CAAC,wBAAwB,EACtC,WAAW,EAAE,IAAI,CAAC,iBAAiB,EACnC,SAAS,EAAE,IAAI,CAAC,mBAAmB,EACnC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EACrC,mBAAmB,EAAE,IAAI,CAAC,+BAA+B,GAEjD,EACT,gBAAM,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,gBAAgB,EAAE,KAAK,EAAC,iBAAiB,aAAE,IAAI,CAAC,OAAO,CAAC,YAAY,OAAG,IAAI,CAAC,cAAc,IAAQ,EACvH,eAAM,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,uBAAuB,EAAE,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,gCAAgC,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,iBAAiB,GAAQ,IACzJ,CACH,IACI,CACN,CAAC;AACH,CAAC","sourcesContent":["import type SplitButton from \"./SplitButton.js\";\nimport slimArrowDown from \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport Button from \"./Button.js\";\n\nexport default function SplitButtonTemplate(this: SplitButton) {\n\treturn (\n\t\t<div\n\t\t\trole={this._hideArrowButton ? \"button\" : \"group\"}\n\t\t\tclass=\"ui5-split-button-root\"\n\t\t\ttabindex={this._tabIndex}\n\t\t\taria-labelledby={this._hideArrowButton ? undefined : `${this._id}-invisibleTextDefault ${this._id}-invisibleText`}\n\t\t\taria-haspopup={this._computedAccessibilityAttributes?.root?.hasPopup}\n\t\t\taria-roledescription={this._computedAccessibilityAttributes?.root?.roleDescription}\n\t\t\taria-label={this._hideArrowButton ? this._computedAccessibilityAttributes?.root?.title : undefined}\n\t\t\tonFocusOut={this._onFocusOut}\n\t\t\tonKeyDown={this._onKeyDown}\n\t\t\tonKeyUp={this._onKeyUp}\n\t\t>\n\t\t\t<Button\n\t\t\t\tclass=\"ui5-split-text-button\"\n\t\t\t\tdesign={this.design}\n\t\t\t\ticon={this.icon}\n\t\t\t\tendIcon={this._endIcon}\n\t\t\t\ttabindex={-1}\n\t\t\t\tdisabled={this.disabled}\n\t\t\t\tactive={this._textButtonActive}\n\t\t\t\texportparts=\"icon,endIcon,button\"\n\t\t\t\tonClick={this._handleMouseClick}\n\t\t\t\tonTouchStart={this.handleTouchStart}\n\t\t\t\tonMouseDown={this.handleTouchStart}\n\t\t\t\tonMouseUp={this._textButtonRelease}\n\t\t\t\tonFocusIn={this._onInnerButtonFocusIn}\n\t\t\t\tonFocusOut={this._onFocusOut}\n\t\t\t\ttooltip={this._computedAccessibilityAttributes?.root?.title}\n\t\t\t>\n\t\t\t\t{this.isTextButton && <slot></slot> }\n\t\t\t</Button>\n\n\t\t\t{!this._hideArrowButton && (\n\t\t\t\t<>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclass=\"ui5-split-arrow-button\"\n\t\t\t\t\t\tdesign={this.design}\n\t\t\t\t\t\ticon={slimArrowDown}\n\t\t\t\t\t\ttabindex={-1}\n\t\t\t\t\t\ttooltip={this._computedAccessibilityAttributes?.arrowButton?.title}\n\t\t\t\t\t\taccessibilityAttributes={{ hasPopup: this._computedAccessibilityAttributes?.arrowButton?.hasPopup, expanded: this._computedAccessibilityAttributes?.arrowButton?.expanded }}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tactive={this.effectiveActiveArrowButton}\n\t\t\t\t\t\tpart=\"arrowButton\"\n\t\t\t\t\t\tonClick={this._handleArrowButtonAction}\n\t\t\t\t\t\tonMouseDown={this._arrowButtonPress}\n\t\t\t\t\t\tonMouseUp={this._arrowButtonRelease}\n\t\t\t\t\t\tonFocusIn={this._onInnerButtonFocusIn}\n\t\t\t\t\t\tonActiveStateChange={this._onArrowButtonActiveStateChange}\n\t\t\t\t\t>\n\t\t\t\t\t</Button>\n\t\t\t\t\t<span id={`${this._id}-invisibleText`} class=\"ui5-hidden-text\">{this.accInfo.keyboardHint} {this.accessibleName}</span>\n\t\t\t\t\t<span id={`${this._id}-invisibleTextDefault`} class=\"ui5-hidden-text\">{this._computedAccessibilityAttributes?.root?.title || this.textButtonAccText}</span>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"file":"SplitButtonTemplate.js","sourceRoot":"","sources":["../src/SplitButtonTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,aAAa,MAAM,kDAAkD,CAAC;AAC7E,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,mBAAmB;IAC1C,OAAO,CACN,eACC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAChD,KAAK,EAAC,uBAAuB,EAC7B,QAAQ,EAAE,IAAI,CAAC,SAAS,qBACP,GAAG,IAAI,CAAC,GAAG,yBAAyB,IAAI,CAAC,GAAG,gBAAgB,mBAC9D,IAAI,CAAC,gCAAgC,EAAE,IAAI,EAAE,QAAQ,0BAC9C,IAAI,CAAC,gCAAgC,EAAE,IAAI,EAAE,eAAe,gBACtE,IAAI,CAAC,gCAAgC,EAAE,IAAI,EAAE,KAAK,uBAC3C,IAAI,CAAC,gCAAgC,EAAE,IAAI,EAAE,gBAAgB,EAChF,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,aAEtB,KAAC,MAAM,IACN,KAAK,EAAC,uBAAuB,EAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,QAAQ,EAAE,CAAC,CAAC,EACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAC9B,WAAW,EAAC,qBAAqB,EACjC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAClC,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAClC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EACrC,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,IAAI,EAAE,KAAK,YAE1D,IAAI,CAAC,YAAY,IAAI,gBAAa,GAC3B,EAER,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAC1B,8BACC,KAAC,MAAM,IACN,KAAK,EAAC,wBAAwB,EAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,CAAC,CAAC,EACZ,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,WAAW,EAAE,KAAK,EAClE,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,gCAAgC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,gCAAgC,EAAE,WAAW,EAAE,QAAQ,EAAE,EAC3K,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,0BAA0B,EACvC,IAAI,EAAC,aAAa,EAClB,OAAO,EAAE,IAAI,CAAC,wBAAwB,EACtC,WAAW,EAAE,IAAI,CAAC,iBAAiB,EACnC,SAAS,EAAE,IAAI,CAAC,mBAAmB,EACnC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EACrC,mBAAmB,EAAE,IAAI,CAAC,+BAA+B,GAEjD,EACT,gBAAM,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,gBAAgB,EAAE,KAAK,EAAC,iBAAiB,aAAE,IAAI,CAAC,OAAO,CAAC,YAAY,OAAG,IAAI,CAAC,cAAc,IAAQ,EACvH,eAAM,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,uBAAuB,EAAE,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,iBAAiB,GAAQ,IACnG,CACH,IACI,CACN,CAAC;AACH,CAAC","sourcesContent":["import type SplitButton from \"./SplitButton.js\";\nimport slimArrowDown from \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport Button from \"./Button.js\";\n\nexport default function SplitButtonTemplate(this: SplitButton) {\n\treturn (\n\t\t<div\n\t\t\trole={this._hideArrowButton ? \"button\" : \"group\"}\n\t\t\tclass=\"ui5-split-button-root\"\n\t\t\ttabindex={this._tabIndex}\n\t\t\taria-labelledby={`${this._id}-invisibleTextDefault ${this._id}-invisibleText`}\n\t\t\taria-haspopup={this._computedAccessibilityAttributes?.root?.hasPopup}\n\t\t\taria-roledescription={this._computedAccessibilityAttributes?.root?.roleDescription}\n\t\t\taria-label={this._computedAccessibilityAttributes?.root?.title}\n\t\t\taria-keyshortcuts={this._computedAccessibilityAttributes?.root?.ariaKeyShortcuts}\n\t\t\tonFocusOut={this._onFocusOut}\n\t\t\tonKeyDown={this._onKeyDown}\n\t\t\tonKeyUp={this._onKeyUp}\n\t\t>\n\t\t\t<Button\n\t\t\t\tclass=\"ui5-split-text-button\"\n\t\t\t\tdesign={this.design}\n\t\t\t\ticon={this.icon}\n\t\t\t\tendIcon={this._endIcon}\n\t\t\t\ttabindex={-1}\n\t\t\t\tdisabled={this.disabled}\n\t\t\t\tactive={this._textButtonActive}\n\t\t\t\texportparts=\"icon,endIcon,button\"\n\t\t\t\tonClick={this._handleMouseClick}\n\t\t\t\tonTouchStart={this.handleTouchStart}\n\t\t\t\tonMouseDown={this.handleTouchStart}\n\t\t\t\tonMouseUp={this._textButtonRelease}\n\t\t\t\tonFocusIn={this._onInnerButtonFocusIn}\n\t\t\t\tonFocusOut={this._onFocusOut}\n\t\t\t\ttooltip={this._computedAccessibilityAttributes?.root?.title}\n\t\t\t>\n\t\t\t\t{this.isTextButton && <slot></slot> }\n\t\t\t</Button>\n\n\t\t\t{!this._hideArrowButton && (\n\t\t\t\t<>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclass=\"ui5-split-arrow-button\"\n\t\t\t\t\t\tdesign={this.design}\n\t\t\t\t\t\ticon={slimArrowDown}\n\t\t\t\t\t\ttabindex={-1}\n\t\t\t\t\t\ttooltip={this._computedAccessibilityAttributes?.arrowButton?.title}\n\t\t\t\t\t\taccessibilityAttributes={{ hasPopup: this._computedAccessibilityAttributes?.arrowButton?.hasPopup, expanded: this._computedAccessibilityAttributes?.arrowButton?.expanded }}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tactive={this.effectiveActiveArrowButton}\n\t\t\t\t\t\tpart=\"arrowButton\"\n\t\t\t\t\t\tonClick={this._handleArrowButtonAction}\n\t\t\t\t\t\tonMouseDown={this._arrowButtonPress}\n\t\t\t\t\t\tonMouseUp={this._arrowButtonRelease}\n\t\t\t\t\t\tonFocusIn={this._onInnerButtonFocusIn}\n\t\t\t\t\t\tonActiveStateChange={this._onArrowButtonActiveStateChange}\n\t\t\t\t\t>\n\t\t\t\t\t</Button>\n\t\t\t\t\t<span id={`${this._id}-invisibleText`} class=\"ui5-hidden-text\">{this.accInfo.keyboardHint} {this.accessibleName}</span>\n\t\t\t\t\t<span id={`${this._id}-invisibleTextDefault`} class=\"ui5-hidden-text\">{this.buttonTextContent}</span>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"]}
@@ -2,6 +2,7 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
3
3
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
4
4
  import ScrollEnablement from "@ui5/webcomponents-base/dist/delegate/ScrollEnablement.js";
5
+ import type { IFormInputElement } from "@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js";
5
6
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
6
7
  import type { UI5CustomEvent } from "@ui5/webcomponents-base";
7
8
  import type ResponsivePopover from "./ResponsivePopover.js";
@@ -63,7 +64,7 @@ declare enum ClipboardDataOperation {
63
64
  * @since 2.0.0
64
65
  * @experimental This component is availabe since 2.0 under an experimental flag and its API and behaviour are subject to change.
65
66
  */
66
- declare class Tokenizer extends UI5Element {
67
+ declare class Tokenizer extends UI5Element implements IFormInputElement {
67
68
  eventDetails: {
68
69
  "token-delete": TokenizerTokenDeleteEventDetail;
69
70
  "selection-change": TokenizerSelectionChangeEventDetail;
@@ -88,6 +89,16 @@ declare class Tokenizer extends UI5Element {
88
89
  * @public
89
90
  */
90
91
  multiLine: boolean;
92
+ /**
93
+ * Determines the name by which the component will be identified upon submission in an HTML form.
94
+ *
95
+ * **Note:** This property is only applicable within the context of an HTML Form element.
96
+ * **Note:** When the component is used inside a form element,
97
+ * the value is sent as the first element in the form data, even if it's empty.
98
+ * @default undefined
99
+ * @public
100
+ */
101
+ name?: string;
91
102
  /**
92
103
  * Defines whether "Clear All" button is present. Ensure `multiLine` is enabled, otherwise `showClearAll` will have no effect.
93
104
  *
@@ -185,7 +196,13 @@ declare class Tokenizer extends UI5Element {
185
196
  _previousToken: Token | null;
186
197
  _focusedElementBeforeOpen?: HTMLElement | null;
187
198
  _deletedDialogItems: Token[];
199
+ /**
200
+ * Scroll to end when tokenizer is expanded
201
+ * @private
202
+ */
203
+ _scrollToEndOnExpand: boolean;
188
204
  _handleResize(): void;
205
+ get formFormattedValue(): FormData | null;
189
206
  constructor();
190
207
  handleClearAll(): void;
191
208
  onBeforeRendering(): void;
@@ -196,6 +213,12 @@ declare class Tokenizer extends UI5Element {
196
213
  onTokenSelect(e: CustomEvent): void;
197
214
  _getVisibleTokens(): Token[];
198
215
  onAfterRendering(): void;
216
+ /**
217
+ * Scrolls the container to the end to ensure very long tokens are visible at their end.
218
+ * Otherwise, tokens may appear visually cut off.
219
+ * @protected
220
+ */
221
+ _scrollToEndIfNeeded(): void;
199
222
  _delete(e: CustomEvent<TokenDeleteEventDetail>): void;
200
223
  _tokenClickDelete(e: CustomEvent<TokenDeleteEventDetail>, token: Token): void;
201
224
  _handleCurrentItemAfterDeletion(nextToken: Token): void;
@@ -223,6 +246,7 @@ declare class Tokenizer extends UI5Element {
223
246
  _handleArrowShift(focusedToken: Token, tokens: Array<Token>, backwards: boolean): void;
224
247
  _click(e: MouseEvent): void;
225
248
  _onfocusin(e: FocusEvent): void;
249
+ _addTokenToNavigation(token: Token): void;
226
250
  _onfocusout(e: FocusEvent): void;
227
251
  _toggleTokenSelection(tokens: Array<Token>): void;
228
252
  _handleTokenSelection(e: KeyboardEvent | MouseEvent, deselectAll?: boolean): void;
@@ -243,7 +267,8 @@ declare class Tokenizer extends UI5Element {
243
267
  scrollToEnd(): void;
244
268
  /**
245
269
  * Scrolls token to the visible area of the container.
246
- * Adds 4 pixels to the scroll position to ensure padding and border visibility on both ends
270
+ * Adds 5 pixels to the scroll position to ensure padding and border visibility on both ends
271
+ * For the last token, if its width is more than the needed space, scroll to the end without offset
247
272
  * @protected
248
273
  */
249
274
  _scrollToToken(token: IToken): void;
package/dist/Tokenizer.js CHANGED
@@ -78,6 +78,18 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
78
78
  _handleResize() {
79
79
  this._nMoreCount = this.overflownTokens.length;
80
80
  }
81
+ get formFormattedValue() {
82
+ const tokens = this.tokens || [];
83
+ if (this.name && tokens.length) {
84
+ const formData = new FormData();
85
+ const name = this.name;
86
+ tokens.forEach(token => {
87
+ formData.append(name, token.text || "");
88
+ });
89
+ return formData;
90
+ }
91
+ return null;
92
+ }
81
93
  constructor() {
82
94
  super();
83
95
  /**
@@ -156,6 +168,11 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
156
168
  this._preventCollapse = false;
157
169
  this._skipTabIndex = false;
158
170
  this._previousToken = null;
171
+ /**
172
+ * Scroll to end when tokenizer is expanded
173
+ * @private
174
+ */
175
+ this._scrollToEndOnExpand = false;
159
176
  this._resizeHandler = this._handleResize.bind(this);
160
177
  this._itemNav = new ItemNavigation(this, {
161
178
  currentIndex: -1,
@@ -190,7 +207,6 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
190
207
  this.expanded = true;
191
208
  if (!this.preventPopoverOpen) {
192
209
  this.open = true;
193
- this.scrollToEnd();
194
210
  }
195
211
  this._tokens.forEach(token => {
196
212
  token.forcedTabIndex = "-1";
@@ -201,12 +217,11 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
201
217
  _onmousedown(e) {
202
218
  if (e.target.hasAttribute("ui5-token")) {
203
219
  const target = e.target;
204
- this.expanded = true;
205
220
  if (this.open) {
206
221
  this._preventCollapse = true;
207
222
  }
208
223
  if (!target.toBeDeleted) {
209
- this._itemNav.setCurrentItem(target);
224
+ this._addTokenToNavigation(target);
210
225
  this._scrollToToken(target);
211
226
  }
212
227
  }
@@ -244,8 +259,23 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
244
259
  if (this.expanded) {
245
260
  this._expandedScrollWidth = this.contentDom.scrollWidth;
246
261
  }
262
+ this._scrollToEndIfNeeded();
247
263
  this._tokenDeleting = false;
248
264
  }
265
+ /**
266
+ * Scrolls the container to the end to ensure very long tokens are visible at their end.
267
+ * Otherwise, tokens may appear visually cut off.
268
+ * @protected
269
+ */
270
+ _scrollToEndIfNeeded() {
271
+ // if scroll to end is prevented, skip scroll to the end
272
+ if (!this._scrollToEndOnExpand) {
273
+ return;
274
+ }
275
+ if (this.tokens.length || this.expanded) {
276
+ this.scrollToEnd();
277
+ }
278
+ }
249
279
  _delete(e) {
250
280
  const target = e.target;
251
281
  if (!e.detail) { // if there are no details, the event is triggered by a click
@@ -570,12 +600,13 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
570
600
  this._handleTokenSelection(e);
571
601
  }
572
602
  _onfocusin(e) {
573
- const target = e.target;
574
603
  this.open = false;
575
- this._itemNav.setCurrentItem(target);
576
- if (!this.expanded) {
577
- this.expanded = true;
578
- }
604
+ this.expanded = true;
605
+ this._addTokenToNavigation(e.target);
606
+ }
607
+ _addTokenToNavigation(token) {
608
+ this._scrollToEndOnExpand = false;
609
+ this._itemNav.setCurrentItem(token);
579
610
  }
580
611
  _onfocusout(e) {
581
612
  const relatedTarget = e.relatedTarget;
@@ -626,9 +657,7 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
626
657
  _fillClipboard(shortcutName, tokens) {
627
658
  const tokensTexts = tokens.filter(token => token.selected).map(token => token.text).join("\r\n");
628
659
  const cutToClipboard = (e) => {
629
- if (e.clipboardData) {
630
- e.clipboardData.setData("text/plain", tokensTexts);
631
- }
660
+ navigator.clipboard.writeText(tokensTexts);
632
661
  e.preventDefault();
633
662
  };
634
663
  document.addEventListener(shortcutName, cutToClipboard);
@@ -658,7 +687,8 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
658
687
  }
659
688
  /**
660
689
  * Scrolls token to the visible area of the container.
661
- * Adds 4 pixels to the scroll position to ensure padding and border visibility on both ends
690
+ * Adds 5 pixels to the scroll position to ensure padding and border visibility on both ends
691
+ * For the last token, if its width is more than the needed space, scroll to the end without offset
662
692
  * @protected
663
693
  */
664
694
  _scrollToToken(token) {
@@ -667,11 +697,17 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
667
697
  }
668
698
  const tokenRect = token.getBoundingClientRect();
669
699
  const tokenContainerRect = this.contentDom.getBoundingClientRect();
700
+ const oneSideBorderAndPaddingOffset = 5;
701
+ const isLastToken = this._tokens.indexOf(token) === this._tokens.length - 1;
702
+ if (isLastToken) {
703
+ this.scrollToEnd();
704
+ return;
705
+ }
670
706
  if (tokenRect.left < tokenContainerRect.left) {
671
- this._scrollEnablement?.scrollTo(this.contentDom.scrollLeft - (tokenContainerRect.left - tokenRect.left + 5), 0);
707
+ this._scrollEnablement?.scrollTo(this.contentDom.scrollLeft - (tokenContainerRect.left - tokenRect.left + oneSideBorderAndPaddingOffset), 0);
672
708
  }
673
709
  else if (tokenRect.right > tokenContainerRect.right) {
674
- this._scrollEnablement?.scrollTo(this.contentDom.scrollLeft + (tokenRect.right - tokenContainerRect.right + 5), 0);
710
+ this._scrollEnablement?.scrollTo(this.contentDom.scrollLeft + (tokenRect.right - tokenContainerRect.right + oneSideBorderAndPaddingOffset), 0);
675
711
  }
676
712
  }
677
713
  _getList() {
@@ -795,6 +831,9 @@ __decorate([
795
831
  __decorate([
796
832
  property({ type: Boolean })
797
833
  ], Tokenizer.prototype, "multiLine", void 0);
834
+ __decorate([
835
+ property({ type: String })
836
+ ], Tokenizer.prototype, "name", void 0);
798
837
  __decorate([
799
838
  property({ type: Boolean })
800
839
  ], Tokenizer.prototype, "showClearAll", void 0);
@@ -854,6 +893,7 @@ Tokenizer = Tokenizer_1 = __decorate([
854
893
  customElement({
855
894
  tag: "ui5-tokenizer",
856
895
  languageAware: true,
896
+ formAssociated: true,
857
897
  renderer: jsxRenderer,
858
898
  template: TokenizerTemplate,
859
899
  styles: [