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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (639) hide show
  1. package/CHANGELOG.md +51 -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 +17 -0
  10. package/dist/ComboBox.js +51 -2
  11. package/dist/ComboBox.js.map +1 -1
  12. package/dist/ComboBoxPopoverTemplate.js +2 -3
  13. package/dist/ComboBoxPopoverTemplate.js.map +1 -1
  14. package/dist/Dialog.js +8 -2
  15. package/dist/Dialog.js.map +1 -1
  16. package/dist/Input.d.ts +16 -0
  17. package/dist/Input.js +47 -2
  18. package/dist/Input.js.map +1 -1
  19. package/dist/MultiComboBox.d.ts +18 -1
  20. package/dist/MultiComboBox.js +79 -9
  21. package/dist/MultiComboBox.js.map +1 -1
  22. package/dist/MultiComboBoxPopoverTemplate.js +2 -3
  23. package/dist/MultiComboBoxPopoverTemplate.js.map +1 -1
  24. package/dist/MultiInput.d.ts +1 -0
  25. package/dist/MultiInput.js +5 -9
  26. package/dist/MultiInput.js.map +1 -1
  27. package/dist/MultiInputTemplate.js +1 -1
  28. package/dist/MultiInputTemplate.js.map +1 -1
  29. package/dist/SegmentedButtonTemplate.js +1 -1
  30. package/dist/SegmentedButtonTemplate.js.map +1 -1
  31. package/dist/Select.d.ts +3 -1
  32. package/dist/Select.js +8 -1
  33. package/dist/Select.js.map +1 -1
  34. package/dist/SelectPopoverTemplate.js +1 -1
  35. package/dist/SelectPopoverTemplate.js.map +1 -1
  36. package/dist/SplitButton.d.ts +3 -2
  37. package/dist/SplitButton.js +3 -1
  38. package/dist/SplitButton.js.map +1 -1
  39. package/dist/SplitButtonTemplate.js +1 -1
  40. package/dist/SplitButtonTemplate.js.map +1 -1
  41. package/dist/TabContainer.d.ts +1 -0
  42. package/dist/TabContainer.js +9 -2
  43. package/dist/TabContainer.js.map +1 -1
  44. package/dist/Tokenizer.d.ts +27 -2
  45. package/dist/Tokenizer.js +54 -14
  46. package/dist/Tokenizer.js.map +1 -1
  47. package/dist/TokenizerPopoverTemplate.js +1 -1
  48. package/dist/TokenizerPopoverTemplate.js.map +1 -1
  49. package/dist/Toolbar.js +6 -3
  50. package/dist/Toolbar.js.map +1 -1
  51. package/dist/ToolbarItem.d.ts +2 -0
  52. package/dist/ToolbarItem.js +4 -0
  53. package/dist/ToolbarItem.js.map +1 -1
  54. package/dist/ToolbarSelect.js +1 -1
  55. package/dist/ToolbarSelect.js.map +1 -1
  56. package/dist/css/themes/Avatar.css +1 -1
  57. package/dist/css/themes/AvatarGroup.css +1 -1
  58. package/dist/css/themes/Bar.css +1 -1
  59. package/dist/css/themes/Breadcrumbs.css +1 -1
  60. package/dist/css/themes/BusyIndicator.css +1 -1
  61. package/dist/css/themes/Button.css +1 -1
  62. package/dist/css/themes/ButtonBadge.css +1 -1
  63. package/dist/css/themes/Calendar.css +1 -1
  64. package/dist/css/themes/CalendarHeader.css +1 -1
  65. package/dist/css/themes/CalendarLegend.css +1 -1
  66. package/dist/css/themes/CalendarLegendItem.css +1 -1
  67. package/dist/css/themes/Card.css +1 -1
  68. package/dist/css/themes/CardHeader.css +1 -1
  69. package/dist/css/themes/Carousel.css +1 -1
  70. package/dist/css/themes/CheckBox.css +1 -1
  71. package/dist/css/themes/ColorPalette.css +1 -1
  72. package/dist/css/themes/ColorPaletteItem.css +1 -1
  73. package/dist/css/themes/ColorPalettePopover.css +1 -1
  74. package/dist/css/themes/ColorPicker.css +1 -1
  75. package/dist/css/themes/ComboBox.css +1 -1
  76. package/dist/css/themes/ComboBoxItem.css +1 -1
  77. package/dist/css/themes/DatePicker.css +1 -1
  78. package/dist/css/themes/DatePickerPopover.css +1 -1
  79. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  80. package/dist/css/themes/DayPicker.css +1 -1
  81. package/dist/css/themes/Dialog.css +1 -1
  82. package/dist/css/themes/DynamicDateRange.css +1 -1
  83. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  84. package/dist/css/themes/FileUploader.css +1 -1
  85. package/dist/css/themes/Form.css +1 -1
  86. package/dist/css/themes/FormItem.css +1 -1
  87. package/dist/css/themes/FormItemSpan.css +1 -1
  88. package/dist/css/themes/GrowingButton.css +1 -1
  89. package/dist/css/themes/Icon.css +1 -1
  90. package/dist/css/themes/Input.css +1 -1
  91. package/dist/css/themes/InputIcon.css +1 -1
  92. package/dist/css/themes/InputSharedStyles.css +1 -1
  93. package/dist/css/themes/Link.css +1 -1
  94. package/dist/css/themes/List.css +1 -1
  95. package/dist/css/themes/ListItem.css +1 -1
  96. package/dist/css/themes/ListItemBase.css +1 -1
  97. package/dist/css/themes/ListItemCustom.css +1 -1
  98. package/dist/css/themes/ListItemGroup.css +1 -1
  99. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  100. package/dist/css/themes/ListItemIcon.css +1 -1
  101. package/dist/css/themes/Menu.css +1 -1
  102. package/dist/css/themes/MenuItem.css +1 -1
  103. package/dist/css/themes/MessageStrip.css +1 -1
  104. package/dist/css/themes/MonthPicker.css +1 -1
  105. package/dist/css/themes/MultiComboBox.css +1 -1
  106. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  107. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  108. package/dist/css/themes/MultiInput.css +1 -1
  109. package/dist/css/themes/OptionBase.css +1 -1
  110. package/dist/css/themes/Panel.css +1 -1
  111. package/dist/css/themes/Popover.css +1 -1
  112. package/dist/css/themes/PopupsCommon.css +1 -1
  113. package/dist/css/themes/ProgressIndicator.css +1 -1
  114. package/dist/css/themes/RadioButton.css +1 -1
  115. package/dist/css/themes/RangeSlider.css +1 -1
  116. package/dist/css/themes/RatingIndicator.css +1 -1
  117. package/dist/css/themes/ResponsivePopover.css +1 -1
  118. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  119. package/dist/css/themes/SegmentedButton.css +1 -1
  120. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  121. package/dist/css/themes/Select.css +1 -1
  122. package/dist/css/themes/SliderBase.css +1 -1
  123. package/dist/css/themes/SplitButton.css +1 -1
  124. package/dist/css/themes/StepInput.css +1 -1
  125. package/dist/css/themes/SuggestionItem.css +1 -1
  126. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  127. package/dist/css/themes/Switch.css +1 -1
  128. package/dist/css/themes/TabContainer.css +1 -1
  129. package/dist/css/themes/TabInOverflow.css +1 -1
  130. package/dist/css/themes/TabInStrip.css +1 -1
  131. package/dist/css/themes/TabSemanticIcon.css +1 -1
  132. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  133. package/dist/css/themes/TableCellBase.css +1 -1
  134. package/dist/css/themes/TableHeaderRow.css +1 -1
  135. package/dist/css/themes/TableRow.css +1 -1
  136. package/dist/css/themes/TableRowActionBase.css +1 -1
  137. package/dist/css/themes/TableRowBase.css +1 -1
  138. package/dist/css/themes/Tag.css +1 -1
  139. package/dist/css/themes/Text.css +1 -1
  140. package/dist/css/themes/TextArea.css +1 -1
  141. package/dist/css/themes/TimePicker.css +1 -1
  142. package/dist/css/themes/Toast.css +1 -1
  143. package/dist/css/themes/ToggleButton.css +1 -1
  144. package/dist/css/themes/Token.css +1 -1
  145. package/dist/css/themes/Tokenizer.css +1 -1
  146. package/dist/css/themes/TokenizerPopover.css +1 -1
  147. package/dist/css/themes/Toolbar.css +1 -1
  148. package/dist/css/themes/ToolbarButton.css +1 -1
  149. package/dist/css/themes/ToolbarPopover.css +1 -1
  150. package/dist/css/themes/ToolbarSelect.css +1 -1
  151. package/dist/css/themes/ToolbarSeparator.css +1 -1
  152. package/dist/css/themes/TreeItem.css +1 -1
  153. package/dist/css/themes/ValueStateMessage.css +1 -1
  154. package/dist/css/themes/ValueStateVariables.css +1 -1
  155. package/dist/css/themes/YearPicker.css +1 -1
  156. package/dist/css/themes/YearRangePicker.css +1 -1
  157. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  158. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  159. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  160. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  161. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  162. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  163. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  164. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  165. package/dist/custom-elements-internal.json +47 -13
  166. package/dist/custom-elements.json +47 -13
  167. package/dist/features/InputComposition.d.ts +12 -0
  168. package/dist/features/InputComposition.js +30 -0
  169. package/dist/features/InputComposition.js.map +1 -0
  170. package/dist/features/InputSuggestionsTemplate.js +2 -3
  171. package/dist/features/InputSuggestionsTemplate.js.map +1 -1
  172. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  173. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  174. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  175. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  176. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  177. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  178. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  179. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  180. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  181. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  182. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  183. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  184. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  185. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  186. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  187. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  188. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  189. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  190. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  191. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  192. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  194. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  195. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  196. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  213. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  214. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  223. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  224. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  225. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  226. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  227. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  228. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  229. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  230. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  231. package/dist/generated/i18n/i18n-defaults.d.ts +4 -1
  232. package/dist/generated/i18n/i18n-defaults.js +4 -1
  233. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  234. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  235. package/dist/generated/themes/Avatar.css.js +1 -1
  236. package/dist/generated/themes/Avatar.css.js.map +1 -1
  237. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  238. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  239. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  240. package/dist/generated/themes/Bar.css.d.ts +1 -1
  241. package/dist/generated/themes/Bar.css.js +1 -1
  242. package/dist/generated/themes/Bar.css.js.map +1 -1
  243. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  244. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  245. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  246. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  247. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  248. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  249. package/dist/generated/themes/Button.css.d.ts +1 -1
  250. package/dist/generated/themes/Button.css.js +1 -1
  251. package/dist/generated/themes/Button.css.js.map +1 -1
  252. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  253. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  254. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  255. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  256. package/dist/generated/themes/Calendar.css.js +1 -1
  257. package/dist/generated/themes/Calendar.css.js.map +1 -1
  258. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  259. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  260. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  261. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  262. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  263. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  264. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  265. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  266. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  267. package/dist/generated/themes/Card.css.d.ts +1 -1
  268. package/dist/generated/themes/Card.css.js +1 -1
  269. package/dist/generated/themes/Card.css.js.map +1 -1
  270. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  271. package/dist/generated/themes/CardHeader.css.js +1 -1
  272. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  273. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  274. package/dist/generated/themes/Carousel.css.js +1 -1
  275. package/dist/generated/themes/Carousel.css.js.map +1 -1
  276. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  277. package/dist/generated/themes/CheckBox.css.js +1 -1
  278. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  279. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  280. package/dist/generated/themes/ColorPalette.css.js +1 -1
  281. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  282. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  283. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  284. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  285. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  286. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  287. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  288. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  289. package/dist/generated/themes/ColorPicker.css.js +1 -1
  290. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  291. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  292. package/dist/generated/themes/ComboBox.css.js +1 -1
  293. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  294. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  295. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  296. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  297. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  298. package/dist/generated/themes/DatePicker.css.js +1 -1
  299. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  300. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  301. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  302. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  303. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  304. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  305. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  306. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  307. package/dist/generated/themes/DayPicker.css.js +1 -1
  308. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  309. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  310. package/dist/generated/themes/Dialog.css.js +1 -1
  311. package/dist/generated/themes/Dialog.css.js.map +1 -1
  312. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  313. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  314. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  315. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  316. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  317. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  318. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  319. package/dist/generated/themes/FileUploader.css.js +1 -1
  320. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  321. package/dist/generated/themes/Form.css.d.ts +1 -1
  322. package/dist/generated/themes/Form.css.js +1 -1
  323. package/dist/generated/themes/Form.css.js.map +1 -1
  324. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  325. package/dist/generated/themes/FormItem.css.js +1 -1
  326. package/dist/generated/themes/FormItem.css.js.map +1 -1
  327. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  328. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  329. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  330. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  331. package/dist/generated/themes/GrowingButton.css.js +1 -1
  332. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  333. package/dist/generated/themes/Icon.css.d.ts +1 -1
  334. package/dist/generated/themes/Icon.css.js +1 -1
  335. package/dist/generated/themes/Icon.css.js.map +1 -1
  336. package/dist/generated/themes/Input.css.d.ts +1 -1
  337. package/dist/generated/themes/Input.css.js +1 -1
  338. package/dist/generated/themes/Input.css.js.map +1 -1
  339. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  340. package/dist/generated/themes/InputIcon.css.js +1 -1
  341. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  342. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  343. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  344. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  345. package/dist/generated/themes/Link.css.d.ts +1 -1
  346. package/dist/generated/themes/Link.css.js +1 -1
  347. package/dist/generated/themes/Link.css.js.map +1 -1
  348. package/dist/generated/themes/List.css.d.ts +1 -1
  349. package/dist/generated/themes/List.css.js +1 -1
  350. package/dist/generated/themes/List.css.js.map +1 -1
  351. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  352. package/dist/generated/themes/ListItem.css.js +1 -1
  353. package/dist/generated/themes/ListItem.css.js.map +1 -1
  354. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  355. package/dist/generated/themes/ListItemBase.css.js +1 -1
  356. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  357. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  358. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  359. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  360. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  361. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  362. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  363. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  364. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  365. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  366. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  367. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  368. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  369. package/dist/generated/themes/Menu.css.d.ts +1 -1
  370. package/dist/generated/themes/Menu.css.js +1 -1
  371. package/dist/generated/themes/Menu.css.js.map +1 -1
  372. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  373. package/dist/generated/themes/MenuItem.css.js +1 -1
  374. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  375. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  376. package/dist/generated/themes/MessageStrip.css.js +1 -1
  377. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  378. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  379. package/dist/generated/themes/MonthPicker.css.js +1 -1
  380. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  381. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  382. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  383. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  384. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  385. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  386. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  387. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  388. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  389. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  390. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  391. package/dist/generated/themes/MultiInput.css.js +1 -1
  392. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  393. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  394. package/dist/generated/themes/OptionBase.css.js +1 -1
  395. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  396. package/dist/generated/themes/Panel.css.d.ts +1 -1
  397. package/dist/generated/themes/Panel.css.js +1 -1
  398. package/dist/generated/themes/Panel.css.js.map +1 -1
  399. package/dist/generated/themes/Popover.css.d.ts +1 -1
  400. package/dist/generated/themes/Popover.css.js +1 -1
  401. package/dist/generated/themes/Popover.css.js.map +1 -1
  402. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  403. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  404. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  405. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  406. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  407. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  408. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  409. package/dist/generated/themes/RadioButton.css.js +1 -1
  410. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  411. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  412. package/dist/generated/themes/RangeSlider.css.js +1 -1
  413. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  414. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  415. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  416. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  417. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  418. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  419. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  420. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  421. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  422. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  423. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  424. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  425. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  426. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  427. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  428. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  429. package/dist/generated/themes/Select.css.d.ts +1 -1
  430. package/dist/generated/themes/Select.css.js +1 -1
  431. package/dist/generated/themes/Select.css.js.map +1 -1
  432. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  433. package/dist/generated/themes/SliderBase.css.js +1 -1
  434. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  435. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  436. package/dist/generated/themes/SplitButton.css.js +1 -1
  437. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  438. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  439. package/dist/generated/themes/StepInput.css.js +1 -1
  440. package/dist/generated/themes/StepInput.css.js.map +1 -1
  441. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  442. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  443. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  444. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  445. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  446. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  447. package/dist/generated/themes/Switch.css.d.ts +1 -1
  448. package/dist/generated/themes/Switch.css.js +1 -1
  449. package/dist/generated/themes/Switch.css.js.map +1 -1
  450. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  451. package/dist/generated/themes/TabContainer.css.js +1 -1
  452. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  453. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  454. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  455. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  456. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  457. package/dist/generated/themes/TabInStrip.css.js +1 -1
  458. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  459. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  460. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  461. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  462. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  463. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  464. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  465. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  466. package/dist/generated/themes/TableCellBase.css.js +1 -1
  467. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  468. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  469. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  470. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  471. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  472. package/dist/generated/themes/TableRow.css.js +1 -1
  473. package/dist/generated/themes/TableRow.css.js.map +1 -1
  474. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  475. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  476. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  477. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  478. package/dist/generated/themes/TableRowBase.css.js +1 -1
  479. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  480. package/dist/generated/themes/Tag.css.d.ts +1 -1
  481. package/dist/generated/themes/Tag.css.js +1 -1
  482. package/dist/generated/themes/Tag.css.js.map +1 -1
  483. package/dist/generated/themes/Text.css.d.ts +1 -1
  484. package/dist/generated/themes/Text.css.js +1 -1
  485. package/dist/generated/themes/Text.css.js.map +1 -1
  486. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  487. package/dist/generated/themes/TextArea.css.js +1 -1
  488. package/dist/generated/themes/TextArea.css.js.map +1 -1
  489. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  490. package/dist/generated/themes/TimePicker.css.js +1 -1
  491. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  492. package/dist/generated/themes/Toast.css.d.ts +1 -1
  493. package/dist/generated/themes/Toast.css.js +1 -1
  494. package/dist/generated/themes/Toast.css.js.map +1 -1
  495. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  496. package/dist/generated/themes/ToggleButton.css.js +1 -1
  497. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  498. package/dist/generated/themes/Token.css.d.ts +1 -1
  499. package/dist/generated/themes/Token.css.js +1 -1
  500. package/dist/generated/themes/Token.css.js.map +1 -1
  501. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  502. package/dist/generated/themes/Tokenizer.css.js +1 -1
  503. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  504. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  505. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  506. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  507. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  508. package/dist/generated/themes/Toolbar.css.js +1 -1
  509. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  510. package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
  511. package/dist/generated/themes/ToolbarButton.css.js +1 -1
  512. package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
  513. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  514. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  515. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  516. package/dist/generated/themes/ToolbarSelect.css.d.ts +1 -1
  517. package/dist/generated/themes/ToolbarSelect.css.js +1 -1
  518. package/dist/generated/themes/ToolbarSelect.css.js.map +1 -1
  519. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  520. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  521. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  522. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  523. package/dist/generated/themes/TreeItem.css.js +1 -1
  524. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  525. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  526. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  527. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  528. package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
  529. package/dist/generated/themes/ValueStateVariables.css.js +1 -1
  530. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
  531. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  532. package/dist/generated/themes/YearPicker.css.js +1 -1
  533. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  534. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  535. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  536. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  537. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  538. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  539. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  540. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  541. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  542. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  543. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  544. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  545. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  546. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  547. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  548. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  549. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  550. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  551. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  552. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  553. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  554. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  555. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  556. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  557. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  558. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  559. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  560. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  561. package/dist/vscode.html-custom-data.json +9 -4
  562. package/dist/web-types.json +19 -9
  563. package/package.json +27 -25
  564. package/src/ButtonTemplate.tsx +5 -4
  565. package/src/ComboBoxPopoverTemplate.tsx +8 -9
  566. package/src/MultiComboBoxPopoverTemplate.tsx +8 -9
  567. package/src/MultiInputTemplate.tsx +1 -0
  568. package/src/SegmentedButtonTemplate.tsx +2 -1
  569. package/src/SelectPopoverTemplate.tsx +1 -0
  570. package/src/SplitButtonTemplate.tsx +4 -3
  571. package/src/TokenizerPopoverTemplate.tsx +1 -0
  572. package/src/features/InputSuggestionsTemplate.tsx +8 -9
  573. package/src/i18n/messagebundle.properties +10 -1
  574. package/src/i18n/messagebundle_ar.properties +16 -2
  575. package/src/i18n/messagebundle_bg.properties +16 -2
  576. package/src/i18n/messagebundle_ca.properties +16 -2
  577. package/src/i18n/messagebundle_cnr.properties +16 -2
  578. package/src/i18n/messagebundle_cs.properties +16 -2
  579. package/src/i18n/messagebundle_cy.properties +16 -2
  580. package/src/i18n/messagebundle_da.properties +16 -2
  581. package/src/i18n/messagebundle_de.properties +16 -2
  582. package/src/i18n/messagebundle_el.properties +16 -2
  583. package/src/i18n/messagebundle_en.properties +16 -2
  584. package/src/i18n/messagebundle_en_GB.properties +16 -2
  585. package/src/i18n/messagebundle_en_US_sappsd.properties +16 -2
  586. package/src/i18n/messagebundle_en_US_saprigi.properties +16 -2
  587. package/src/i18n/messagebundle_en_US_saptrc.properties +16 -2
  588. package/src/i18n/messagebundle_es.properties +16 -2
  589. package/src/i18n/messagebundle_es_MX.properties +16 -2
  590. package/src/i18n/messagebundle_et.properties +16 -2
  591. package/src/i18n/messagebundle_fi.properties +16 -2
  592. package/src/i18n/messagebundle_fr.properties +16 -2
  593. package/src/i18n/messagebundle_fr_CA.properties +16 -2
  594. package/src/i18n/messagebundle_hi.properties +16 -2
  595. package/src/i18n/messagebundle_hr.properties +16 -2
  596. package/src/i18n/messagebundle_hu.properties +16 -2
  597. package/src/i18n/messagebundle_id.properties +17 -3
  598. package/src/i18n/messagebundle_it.properties +16 -2
  599. package/src/i18n/messagebundle_iw.properties +16 -2
  600. package/src/i18n/messagebundle_ja.properties +16 -2
  601. package/src/i18n/messagebundle_kk.properties +16 -2
  602. package/src/i18n/messagebundle_ko.properties +16 -2
  603. package/src/i18n/messagebundle_lt.properties +16 -2
  604. package/src/i18n/messagebundle_lv.properties +16 -2
  605. package/src/i18n/messagebundle_mk.properties +16 -2
  606. package/src/i18n/messagebundle_ms.properties +16 -2
  607. package/src/i18n/messagebundle_nl.properties +16 -2
  608. package/src/i18n/messagebundle_no.properties +16 -2
  609. package/src/i18n/messagebundle_pl.properties +17 -3
  610. package/src/i18n/messagebundle_pt.properties +16 -2
  611. package/src/i18n/messagebundle_pt_PT.properties +16 -2
  612. package/src/i18n/messagebundle_ro.properties +16 -2
  613. package/src/i18n/messagebundle_ru.properties +16 -2
  614. package/src/i18n/messagebundle_sh.properties +16 -2
  615. package/src/i18n/messagebundle_sk.properties +16 -2
  616. package/src/i18n/messagebundle_sl.properties +16 -2
  617. package/src/i18n/messagebundle_sr.properties +16 -2
  618. package/src/i18n/messagebundle_sv.properties +16 -2
  619. package/src/i18n/messagebundle_th.properties +16 -2
  620. package/src/i18n/messagebundle_tr.properties +16 -2
  621. package/src/i18n/messagebundle_uk.properties +16 -2
  622. package/src/i18n/messagebundle_vi.properties +16 -2
  623. package/src/i18n/messagebundle_zh_CN.properties +16 -2
  624. package/src/i18n/messagebundle_zh_TW.properties +16 -2
  625. package/src/themes/Button.css +1 -0
  626. package/src/themes/DatePickerPopover.css +1 -1
  627. package/src/themes/Dialog.css +4 -4
  628. package/src/themes/PopupsCommon.css +1 -1
  629. package/src/themes/ResponsivePopoverCommon.css +5 -1
  630. package/src/themes/TokenizerPopover.css +0 -3
  631. package/src/themes/ToolbarSelect.css +3 -2
  632. package/src/themes/ValueStateMessage.css +1 -0
  633. package/src/themes/base/Card-parameters.css +1 -1
  634. package/src/themes/base/Dialog-parameters.css +0 -4
  635. package/src/themes/base/PopupsCommon-parameters.css +0 -1
  636. package/src/themes/sap_horizon/Card-parameters.css +0 -1
  637. package/src/themes/sap_horizon_dark/Card-parameters.css +0 -1
  638. package/src/themes/sap_horizon_hcb/Card-parameters.css +0 -1
  639. package/src/themes/sap_horizon_hcw/Card-parameters.css +0 -1
@@ -1,5 +1,4 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
2
- import decline from "@ui5/webcomponents-icons/dist/decline.js";
3
2
  import multiSelectAll from "@ui5/webcomponents-icons/dist/multiselect-all.js";
4
3
  import ResponsivePopover from "./ResponsivePopover.js";
5
4
  import Button from "./Button.js";
@@ -11,13 +10,13 @@ import List from "./List.js";
11
10
  import Popover from "./Popover.js";
12
11
  import CheckBox from "./CheckBox.js";
13
12
  export default function MultiComboBoxPopoverTemplate() {
14
- return (_jsxs(_Fragment, { children: [_jsxs(ResponsivePopover, { placement: "Bottom", horizontalAlign: "Start", class: this.classes.popover, id: this.responsivePopoverId, hideArrow: true, preventInitialFocus: true, style: this.styles.suggestionsPopover, "onui5-selection-change": this._listSelectionChange, onClose: this._afterClose, onBeforeOpen: this._beforeOpen, onBeforeClose: this._beforeClose, onOpen: this._afterOpen, onFocusOut: this._onPopoverFocusOut, accessibleName: this._popupLabel, open: this.open, opener: this, children: [this._isPhone && _jsxs(_Fragment, { children: [_jsxs("div", { slot: "header", class: "ui5-responsive-popover-header", style: this.styles.popoverHeader, children: [_jsxs("div", { class: "row", children: [_jsx("span", { children: this._headerTitleText }), _jsx(Button, { class: "ui5-responsive-popover-close-btn", icon: decline, design: "Transparent", onClick: this.handleCancel })] }), _jsxs("div", { class: "row", children: [_jsx(Input, { onInput: this._handleMobileInput, onKeyDown: this._onMobileInputKeydown, placeholder: this.placeholder, valueState: this._dialogInputValueState, showClearIcon: this.showClearIcon, noTypeahead: this.noTypeahead, children: this._filteredItems.map(item => (_jsx(SuggestionItem, { text: item.text, additionalText: item.additionalText }))) }), _jsx(ToggleButton, { slot: "header", class: "ui5-multi-combobox-toggle-button", icon: multiSelectAll, design: "Transparent", pressed: this._showAllItemsButtonPressed, onClick: this.filterSelectedItems, accessibleName: this._showSelectedButtonAccessibleNameText })] })] }), "\t\t\t\t", this.hasValueStateMessage &&
13
+ return (_jsxs(_Fragment, { children: [_jsxs(ResponsivePopover, { placement: "Bottom", horizontalAlign: "Start", class: this.classes.popover, id: this.responsivePopoverId, hideArrow: true, preventInitialFocus: true, style: this.styles.suggestionsPopover, "onui5-selection-change": this._listSelectionChange, onClose: this._afterClose, onBeforeOpen: this._beforeOpen, onBeforeClose: this._beforeClose, onOpen: this._afterOpen, onFocusOut: this._onPopoverFocusOut, accessibleName: this._popupLabel, open: this.open, opener: this, children: [this._isPhone && _jsxs(_Fragment, { children: [_jsxs("div", { slot: "header", class: "ui5-responsive-popover-header", style: this.styles.popoverHeader, children: [_jsx("div", { class: "row", children: _jsx("span", { children: this._headerTitleText }) }), _jsxs("div", { class: "row", children: [_jsx(Input, { onInput: this._handleMobileInput, onKeyDown: this._onMobileInputKeydown, placeholder: this.placeholder, valueState: this._dialogInputValueState, showClearIcon: this.showClearIcon, noTypeahead: this.noTypeahead, children: this._filteredItems.map(item => (_jsx(SuggestionItem, { text: item.text, additionalText: item.additionalText }))) }), _jsx(ToggleButton, { slot: "header", class: "ui5-multi-combobox-toggle-button", icon: multiSelectAll, design: "Transparent", pressed: this._showAllItemsButtonPressed, onClick: this.filterSelectedItems, accessibleName: this._showSelectedButtonAccessibleNameText })] })] }), "\t\t\t\t", this.hasValueStateMessage &&
15
14
  _jsxs("div", { class: this.classes.popoverValueState, style: this.styles.popoverValueStateMessage, children: [_jsx(Icon, { class: "ui5-input-value-state-message-icon", name: this._valueStateMessageIcon }), this.open && valueStateMessage.call(this)] }), selectAllWrapper.call(this)] }), !this._isPhone && _jsxs(_Fragment, { children: [this.hasValueStateMessage &&
16
15
  _jsxs("div", { slot: "header", onKeyDown: this._onListHeaderKeydown, class: this.classes.responsivePopoverHeaderValueState, style: this.styles.popoverValueStateMessage, children: [_jsx(Icon, { class: "ui5-input-value-state-message-icon", name: this._valueStateMessageIcon }), this.open && valueStateMessage.call(this)] }), selectAllWrapper.call(this)] }), this.filterSelected ?
17
16
  _jsx(List, { separators: "None", selectionMode: "Multiple", class: "ui5-multi-combobox-all-items-list", accessibleRole: "ListBox", children: this.selectedItems.map(item => _jsx("slot", { name: item._individualSlot })) })
18
17
  :
19
18
  _jsx(List, { separators: "None", selectionMode: "Multiple", class: "ui5-multi-combobox-all-items-list", accessibleRole: "ListBox", onKeyDown: this._onItemKeydown, children: this._filteredItems.map(item => _jsx("slot", { name: item._individualSlot })) }), this._isPhone &&
20
- _jsx("div", { slot: "footer", class: "ui5-responsive-popover-footer", children: _jsx(Button, { design: "Transparent", onClick: this.handleOK, children: this._dialogOkButton }) })] }), this.hasValueStateMessage &&
19
+ _jsxs("div", { slot: "footer", class: "ui5-responsive-popover-footer", children: [_jsx(Button, { design: "Emphasized", onClick: this.handleOK, children: this._dialogOkButton }), _jsx(Button, { class: "ui5-responsive-popover-close-btn", design: "Transparent", onClick: this.handleCancel, children: this._dialogCancelButton })] })] }), this.hasValueStateMessage &&
21
20
  _jsx(Popover
22
21
  // skipRegistryUpdate={true}
23
22
  , {
@@ -1 +1 @@
1
- {"version":3,"file":"MultiComboBoxPopoverTemplate.js","sourceRoot":"","sources":["../src/MultiComboBoxPopoverTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport multiSelectAll from \"@ui5/webcomponents-icons/dist/multiselect-all.js\";\nimport type MultiComboBox from \"./MultiComboBox.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Button from \"./Button.js\";\nimport Input from \"./Input.js\";\nimport ToggleButton from \"./ToggleButton.js\";\nimport SuggestionItem from \"./SuggestionItem.js\";\nimport Icon from \"./Icon.js\";\nimport List from \"./List.js\";\nimport Popover from \"./Popover.js\";\nimport CheckBox from \"./CheckBox.js\";\n\nexport default function MultiComboBoxPopoverTemplate(this: MultiComboBox) {\n\treturn (<>\n\t\t<ResponsivePopover\n\t\t\tplacement=\"Bottom\"\n\t\t\thorizontalAlign=\"Start\"\n\t\t\tclass={this.classes.popover}\n\t\t\tid={this.responsivePopoverId}\n\t\t\thideArrow={true}\n\t\t\tpreventInitialFocus={true}\n\t\t\tstyle={this.styles.suggestionsPopover}\n\t\t\tonui5-selection-change={this._listSelectionChange}\n\t\t\tonClose={this._afterClose}\n\t\t\tonBeforeOpen={this._beforeOpen}\n\t\t\tonBeforeClose={this._beforeClose}\n\t\t\tonOpen={this._afterOpen}\n\t\t\tonFocusOut={this._onPopoverFocusOut}\n\t\t\taccessibleName={this._popupLabel}\n\t\t\topen={this.open}\n\t\t\topener={this}\n\t\t>\n\t\t\t{this._isPhone && <>\n\t\t\t\t<div slot=\"header\" class=\"ui5-responsive-popover-header\" style={this.styles.popoverHeader}>\n\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t<span>{this._headerTitleText}</span>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclass=\"ui5-responsive-popover-close-btn\"\n\t\t\t\t\t\t\ticon={decline}\n\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\tonClick={this.handleCancel}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tonInput={this._handleMobileInput}\n\t\t\t\t\t\t\tonKeyDown={this._onMobileInputKeydown}\n\t\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\t\tvalueState={this._dialogInputValueState}\n\t\t\t\t\t\t\tshowClearIcon={this.showClearIcon}\n\t\t\t\t\t\t\tnoTypeahead={this.noTypeahead}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._filteredItems.map(item => (\n\t\t\t\t\t\t\t\t<SuggestionItem text={item.text} additionalText={item.additionalText}></SuggestionItem>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Input>\n\t\t\t\t\t\t<ToggleButton\n\t\t\t\t\t\t\tslot=\"header\"\n\t\t\t\t\t\t\tclass=\"ui5-multi-combobox-toggle-button\"\n\t\t\t\t\t\t\ticon={multiSelectAll}\n\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\tpressed={this._showAllItemsButtonPressed}\n\t\t\t\t\t\t\tonClick={this.filterSelectedItems}\n\t\t\t\t\t\t\taccessibleName={this._showSelectedButtonAccessibleNameText}\n\t\t\t\t\t\t></ToggleButton>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\t\t\t\t{this.hasValueStateMessage &&\n\t\t\t\t\t<div class={this.classes.popoverValueState} style={this.styles.popoverValueStateMessage}>\n\t\t\t\t\t\t<Icon class=\"ui5-input-value-state-message-icon\" name={this._valueStateMessageIcon}></Icon>\n\t\t\t\t\t\t{this.open && valueStateMessage.call(this)}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\n\t\t\t\t{selectAllWrapper.call(this)}\n\t\t\t</>}\n\n\t\t\t{!this._isPhone && <>\n\t\t\t\t{this.hasValueStateMessage &&\n\t\t\t\t\t<div slot=\"header\" onKeyDown={this._onListHeaderKeydown} class={this.classes.responsivePopoverHeaderValueState} style={this.styles.popoverValueStateMessage}>\n\t\t\t\t\t\t<Icon class=\"ui5-input-value-state-message-icon\" name={this._valueStateMessageIcon}></Icon>\n\t\t\t\t\t\t{this.open && valueStateMessage.call(this)}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\n\t\t\t\t{selectAllWrapper.call(this)}\n\t\t\t</>}\n\n\t\t\t{this.filterSelected ?\n\t\t\t\t<List separators=\"None\" selectionMode=\"Multiple\" class=\"ui5-multi-combobox-all-items-list\" accessibleRole=\"ListBox\">\n\t\t\t\t\t{this.selectedItems.map(item => <slot name={item._individualSlot}></slot>)}\n\t\t\t\t</List>\n\t\t\t\t:\n\t\t\t\t<List separators=\"None\" selectionMode=\"Multiple\" class=\"ui5-multi-combobox-all-items-list\" accessibleRole=\"ListBox\" onKeyDown={this._onItemKeydown}>\n\t\t\t\t\t{this._filteredItems.map(item => <slot name={item._individualSlot}></slot>)}\n\t\t\t\t</List>\n\t\t\t}\n\n\t\t\t{this._isPhone &&\n\t\t\t\t<div slot=\"footer\" class=\"ui5-responsive-popover-footer\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\tonClick={this.handleOK}\n\t\t\t\t\t>{this._dialogOkButton}</Button>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</ResponsivePopover>\n\n\t\t{this.hasValueStateMessage &&\n\t\t\t<Popover\n\t\t\t\t// skipRegistryUpdate={true}\n\t\t\t\tpreventInitialFocus={true}\n\t\t\t\tpreventFocusRestore={true}\n\t\t\t\thideArrow={true}\n\t\t\t\tclass=\"ui5-valuestatemessage-popover\"\n\t\t\t\tplacement=\"Bottom\"\n\t\t\t\thorizontalAlign={this._valueStatePopoverHorizontalAlign}\n\t\t\t\ttabIndex={-1}\n\t\t\t\topen={this.valueStateOpen}\n\t\t\t\topener={this}\n\t\t\t>\n\t\t\t\t<div slot=\"header\" class={this.classes.popoverValueState} style={this.styles.popoverHeader}>\n\t\t\t\t\t<Icon class=\"ui5-input-value-state-message-icon\" name={this._valueStateMessageIcon}></Icon>\n\t\t\t\t\t{this.valueStateOpen && valueStateMessage.call(this)}\n\t\t\t\t</div>\n\t\t\t</Popover>\n\t\t}\n\t</>);\n}\n\nfunction valueStateMessage(this: MultiComboBox) {\n\treturn this.shouldDisplayDefaultValueStateMessage ? this.valueStateDefaultText : <slot name=\"valueStateMessage\"></slot>;\n}\n\nfunction selectAllWrapper(this: MultiComboBox) {\n\tif (this.showSelectAll) {\n\t\treturn (\n\t\t\t<div class=\"ui5-mcb-select-all-header\" onKeyDown={this._onListHeaderKeydown} tabIndex={0}>\n\t\t\t\t<CheckBox\n\t\t\t\t\tdisabled={this.readonly}\n\t\t\t\t\tchecked={this._allSelected}\n\t\t\t\t\tclass=\"ui5-mcb-select-all-checkbox\"\n\t\t\t\t\ttext={this.selectAllCheckboxLabel}\n\t\t\t\t\tonChange={this._handleSelectAllCheckboxClick}\n\t\t\t\t></CheckBox>\n\t\t\t</div>\n\t\t);\n\t}\n}\n"]}
1
+ {"version":3,"file":"MultiComboBoxPopoverTemplate.js","sourceRoot":"","sources":["../src/MultiComboBoxPopoverTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import multiSelectAll from \"@ui5/webcomponents-icons/dist/multiselect-all.js\";\nimport type MultiComboBox from \"./MultiComboBox.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Button from \"./Button.js\";\nimport Input from \"./Input.js\";\nimport ToggleButton from \"./ToggleButton.js\";\nimport SuggestionItem from \"./SuggestionItem.js\";\nimport Icon from \"./Icon.js\";\nimport List from \"./List.js\";\nimport Popover from \"./Popover.js\";\nimport CheckBox from \"./CheckBox.js\";\n\nexport default function MultiComboBoxPopoverTemplate(this: MultiComboBox) {\n\treturn (<>\n\t\t<ResponsivePopover\n\t\t\tplacement=\"Bottom\"\n\t\t\thorizontalAlign=\"Start\"\n\t\t\tclass={this.classes.popover}\n\t\t\tid={this.responsivePopoverId}\n\t\t\thideArrow={true}\n\t\t\tpreventInitialFocus={true}\n\t\t\tstyle={this.styles.suggestionsPopover}\n\t\t\tonui5-selection-change={this._listSelectionChange}\n\t\t\tonClose={this._afterClose}\n\t\t\tonBeforeOpen={this._beforeOpen}\n\t\t\tonBeforeClose={this._beforeClose}\n\t\t\tonOpen={this._afterOpen}\n\t\t\tonFocusOut={this._onPopoverFocusOut}\n\t\t\taccessibleName={this._popupLabel}\n\t\t\topen={this.open}\n\t\t\topener={this}\n\t\t>\n\t\t\t{this._isPhone && <>\n\t\t\t\t<div slot=\"header\" class=\"ui5-responsive-popover-header\" style={this.styles.popoverHeader}>\n\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t<span>{this._headerTitleText}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tonInput={this._handleMobileInput}\n\t\t\t\t\t\t\tonKeyDown={this._onMobileInputKeydown}\n\t\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\t\tvalueState={this._dialogInputValueState}\n\t\t\t\t\t\t\tshowClearIcon={this.showClearIcon}\n\t\t\t\t\t\t\tnoTypeahead={this.noTypeahead}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._filteredItems.map(item => (\n\t\t\t\t\t\t\t\t<SuggestionItem text={item.text} additionalText={item.additionalText}></SuggestionItem>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Input>\n\t\t\t\t\t\t<ToggleButton\n\t\t\t\t\t\t\tslot=\"header\"\n\t\t\t\t\t\t\tclass=\"ui5-multi-combobox-toggle-button\"\n\t\t\t\t\t\t\ticon={multiSelectAll}\n\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\tpressed={this._showAllItemsButtonPressed}\n\t\t\t\t\t\t\tonClick={this.filterSelectedItems}\n\t\t\t\t\t\t\taccessibleName={this._showSelectedButtonAccessibleNameText}\n\t\t\t\t\t\t></ToggleButton>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\t\t\t\t{this.hasValueStateMessage &&\n\t\t\t\t\t<div class={this.classes.popoverValueState} style={this.styles.popoverValueStateMessage}>\n\t\t\t\t\t\t<Icon class=\"ui5-input-value-state-message-icon\" name={this._valueStateMessageIcon}></Icon>\n\t\t\t\t\t\t{this.open && valueStateMessage.call(this)}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\n\t\t\t\t{selectAllWrapper.call(this)}\n\t\t\t</>}\n\n\t\t\t{!this._isPhone && <>\n\t\t\t\t{this.hasValueStateMessage &&\n\t\t\t\t\t<div slot=\"header\" onKeyDown={this._onListHeaderKeydown} class={this.classes.responsivePopoverHeaderValueState} style={this.styles.popoverValueStateMessage}>\n\t\t\t\t\t\t<Icon class=\"ui5-input-value-state-message-icon\" name={this._valueStateMessageIcon}></Icon>\n\t\t\t\t\t\t{this.open && valueStateMessage.call(this)}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\n\t\t\t\t{selectAllWrapper.call(this)}\n\t\t\t</>}\n\n\t\t\t{this.filterSelected ?\n\t\t\t\t<List separators=\"None\" selectionMode=\"Multiple\" class=\"ui5-multi-combobox-all-items-list\" accessibleRole=\"ListBox\">\n\t\t\t\t\t{this.selectedItems.map(item => <slot name={item._individualSlot}></slot>)}\n\t\t\t\t</List>\n\t\t\t\t:\n\t\t\t\t<List separators=\"None\" selectionMode=\"Multiple\" class=\"ui5-multi-combobox-all-items-list\" accessibleRole=\"ListBox\" onKeyDown={this._onItemKeydown}>\n\t\t\t\t\t{this._filteredItems.map(item => <slot name={item._individualSlot}></slot>)}\n\t\t\t\t</List>\n\t\t\t}\n\n\t\t\t{this._isPhone &&\n\t\t\t\t<div slot=\"footer\" class=\"ui5-responsive-popover-footer\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdesign=\"Emphasized\"\n\t\t\t\t\t\tonClick={this.handleOK}\n\t\t\t\t\t>{this._dialogOkButton}</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclass=\"ui5-responsive-popover-close-btn\"\n\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\tonClick={this.handleCancel}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this._dialogCancelButton}\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</ResponsivePopover>\n\n\t\t{this.hasValueStateMessage &&\n\t\t\t<Popover\n\t\t\t\t// skipRegistryUpdate={true}\n\t\t\t\tpreventInitialFocus={true}\n\t\t\t\tpreventFocusRestore={true}\n\t\t\t\thideArrow={true}\n\t\t\t\tclass=\"ui5-valuestatemessage-popover\"\n\t\t\t\tplacement=\"Bottom\"\n\t\t\t\thorizontalAlign={this._valueStatePopoverHorizontalAlign}\n\t\t\t\ttabIndex={-1}\n\t\t\t\topen={this.valueStateOpen}\n\t\t\t\topener={this}\n\t\t\t>\n\t\t\t\t<div slot=\"header\" class={this.classes.popoverValueState} style={this.styles.popoverHeader}>\n\t\t\t\t\t<Icon class=\"ui5-input-value-state-message-icon\" name={this._valueStateMessageIcon}></Icon>\n\t\t\t\t\t{this.valueStateOpen && valueStateMessage.call(this)}\n\t\t\t\t</div>\n\t\t\t</Popover>\n\t\t}\n\t</>);\n}\n\nfunction valueStateMessage(this: MultiComboBox) {\n\treturn this.shouldDisplayDefaultValueStateMessage ? this.valueStateDefaultText : <slot name=\"valueStateMessage\"></slot>;\n}\n\nfunction selectAllWrapper(this: MultiComboBox) {\n\tif (this.showSelectAll) {\n\t\treturn (\n\t\t\t<div class=\"ui5-mcb-select-all-header\" onKeyDown={this._onListHeaderKeydown} tabIndex={0}>\n\t\t\t\t<CheckBox\n\t\t\t\t\tdisabled={this.readonly}\n\t\t\t\t\tchecked={this._allSelected}\n\t\t\t\t\tclass=\"ui5-mcb-select-all-checkbox\"\n\t\t\t\t\ttext={this.selectAllCheckboxLabel}\n\t\t\t\t\tonChange={this._handleSelectAllCheckboxClick}\n\t\t\t\t></CheckBox>\n\t\t\t</div>\n\t\t);\n\t}\n}\n"]}
@@ -79,6 +79,7 @@ declare class MultiInput extends Input implements IFormInputElement {
79
79
  _tokenizerFocusOut(e: FocusEvent): void;
80
80
  valueHelpMouseUp(): void;
81
81
  innerFocusIn(): void;
82
+ _showMoreItemsPress(): void;
82
83
  _onkeydown(e: KeyboardEvent): void;
83
84
  _onTokenizerKeydown(e: KeyboardEvent): void;
84
85
  _handleLeft(e: KeyboardEvent): void;
@@ -101,7 +101,6 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
101
101
  _tokenizerFocusOut(e) {
102
102
  if (!this.contains(e.relatedTarget) && !this.shadowRoot.contains(e.relatedTarget)) {
103
103
  this.tokenizer._tokens.forEach(token => { token.selected = false; });
104
- this.tokenizer.scrollToStart();
105
104
  }
106
105
  }
107
106
  valueHelpMouseUp() {
@@ -110,15 +109,18 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
110
109
  }, 0);
111
110
  }
112
111
  innerFocusIn() {
112
+ this.tokenizer._scrollToEndOnExpand = true;
113
113
  this.tokenizer.expanded = true;
114
114
  this.focused = true;
115
- this.tokenizer.scrollToEnd();
116
115
  this.tokens.forEach(token => {
117
116
  token.selected = false;
118
117
  });
119
118
  }
119
+ _showMoreItemsPress() {
120
+ this.tokenizer._scrollToEndOnExpand = true;
121
+ }
120
122
  _onkeydown(e) {
121
- super._onkeydown(e);
123
+ !this._isComposing && super._onkeydown(e);
122
124
  const target = e.target;
123
125
  const isHomeInBeginning = isHome(e) && target.selectionStart === 0;
124
126
  if (isHomeInBeginning) {
@@ -218,12 +220,6 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
218
220
  onAfterRendering() {
219
221
  super.onAfterRendering();
220
222
  this.tokenizer.preventInitialFocus = true;
221
- if (this.tokenizer.expanded) {
222
- this.tokenizer.scrollToEnd();
223
- }
224
- else {
225
- this.tokenizer.scrollToStart();
226
- }
227
223
  }
228
224
  get iconsCount() {
229
225
  return super.iconsCount + (this.showValueHelpIcon ? 1 : 0);
@@ -1 +1 @@
1
- {"version":3,"file":"MultiInput.js","sourceRoot":"","sources":["../src/MultiInput.ts"],"names":[],"mappings":"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","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport {\n\tisShow,\n\tisBackSpace,\n\tisLeft,\n\tisRight,\n\tisRightCtrl,\n\tisHome,\n\tisEnd,\n\tisDown,\n\tisEnter,\n\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport { MULTIINPUT_ROLEDESCRIPTION_TEXT, MULTIINPUT_VALUE_HELP_LABEL, MULTIINPUT_VALUE_HELP } from \"./generated/i18n/i18n-defaults.js\";\nimport Input from \"./Input.js\";\nimport MultiInputTemplate from \"./MultiInputTemplate.js\";\nimport styles from \"./generated/themes/MultiInput.css.js\";\nimport type Token from \"./Token.js\";\nimport type Tokenizer from \"./Tokenizer.js\";\nimport { getTokensCountText } from \"./Tokenizer.js\";\nimport type { TokenizerTokenDeleteEventDetail } from \"./Tokenizer.js\";\nimport type Icon from \"./Icon.js\";\n\nimport type {\n\tInputSelectionChangeEventDetail as MultiInputSelectionChangeEventDetail,\n} from \"./Input.js\";\n\ninterface IToken extends UI5Element, ITabbable {\n\ttext?: string;\n\treadonly: boolean,\n\tselected: boolean,\n\tisTruncatable: boolean,\n}\n\ntype MultiInputTokenDeleteEventDetail = {\n\ttokens: Token[];\n}\n\n/**\n * @class\n * ### Overview\n * A `ui5-multi-input` field allows the user to enter multiple values, which are displayed as `ui5-token`.\n *\n * User can choose interaction for creating tokens.\n * Fiori Guidelines say that user should create tokens when:\n *\n * - Type a value in the input and press enter or focus out the input field (`change` event is fired)\n * - Move between suggestion items (`selection-change` event is fired)\n * - Clicking on a suggestion item (`selection-change` event is fired if the clicked item is different than the current value. Also `change` event is fired )\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/MultiInput.js\";`\n * @constructor\n * @extends Input\n * @since 1.0.0-rc.9\n * @public\n */\n@customElement({\n\ttag: \"ui5-multi-input\",\n\trenderer: jsxRenderer,\n\tformAssociated: true,\n\ttemplate: MultiInputTemplate,\n\tstyles: [Input.styles, styles],\n})\n/**\n * Fired when the value help icon is pressed\n * and F4 or ALT/OPTION + ARROW_UP/ARROW_DOWN keyboard keys are used.\n * @public\n */\n@event(\"value-help-trigger\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when tokens are being deleted.\n * @param {Array} tokens An array containing the deleted tokens.\n * @public\n */\n@event(\"token-delete\", {\n\tbubbles: true,\n})\n\nclass MultiInput extends Input implements IFormInputElement {\n\teventDetails!: Input[\"eventDetails\"] & {\n\t\t\"value-help-trigger\": void,\n\t\t\"token-delete\": MultiInputTokenDeleteEventDetail,\n\t}\n\t/**\n\t * Determines whether a value help icon will be visualized in the end of the input.\n\t * Pressing the icon will fire `value-help-trigger` event.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowValueHelpIcon = false;\n\n\t/**\n\t * Indicates whether the tokenizer has tokens\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ttokenizerAvailable = false;\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * **Note:** When the component is used inside a form element,\n\t * the value is sent as the first element in the form data, even if it's empty.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tdeclare name?: string;\n\n\t/**\n\t * Defines the component tokens.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true })\n\ttokens!: Array<IToken>;\n\n\t_skipOpenSuggestions: boolean;\n\t_valueHelpIconPressed: boolean;\n\n\tget formValidity(): ValidityStateFlags {\n\t\tconst tokens = (this.tokens || []);\n\n\t\treturn { valueMissing: this.required && !this.value && !tokens.length };\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\tconst tokens = (this.tokens || []);\n\n\t\tif (tokens.length && this.name) {\n\t\t\tconst formData = new FormData();\n\n\t\t\tformData.append(this.name, this.value);\n\n\t\t\tfor (let i = 0; i < tokens.length; i++) {\n\t\t\t\tformData.append(this.name, (tokens[i].text || \"\"));\n\t\t\t}\n\n\t\t\treturn formData;\n\t\t}\n\n\t\treturn this.value;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// Prevent suggestions' opening.\n\t\tthis._skipOpenSuggestions = false;\n\t\tthis._valueHelpIconPressed = false;\n\t}\n\n\tvalueHelpPress() {\n\t\tthis.closeValueStatePopover();\n\t\tthis.fireDecoratorEvent(\"value-help-trigger\");\n\t}\n\n\ttokenDelete(e: CustomEvent<TokenizerTokenDeleteEventDetail>) {\n\t\tconst deletedTokens = e.detail.tokens;\n\t\tconst selectedTokens = this.tokens.filter(token => token.selected);\n\t\tconst shouldFocusInput = this.tokens.length - 1 === 0 || this.tokens.length === selectedTokens.length;\n\n\t\tif (this._readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (deletedTokens) {\n\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: deletedTokens });\n\n\t\t\tif (shouldFocusInput) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tvalueHelpMouseDown(e: MouseEvent) {\n\t\tconst target = e.target as Icon;\n\t\tthis.closeValueStatePopover();\n\t\tthis.tokenizer.open = false;\n\t\tthis._valueHelpIconPressed = true;\n\t\ttarget.focus();\n\t}\n\n\t_tokenizerFocusOut(e: FocusEvent) {\n\t\tif (!this.contains(e.relatedTarget as HTMLElement) && !this.shadowRoot!.contains(e.relatedTarget as HTMLElement)) {\n\t\t\tthis.tokenizer._tokens.forEach(token => { token.selected = false; });\n\t\t\tthis.tokenizer.scrollToStart();\n\t\t}\n\t}\n\n\tvalueHelpMouseUp() {\n\t\tsetTimeout(() => {\n\t\t\tthis._valueHelpIconPressed = false;\n\t\t}, 0);\n\t}\n\n\tinnerFocusIn() {\n\t\tthis.tokenizer.expanded = true;\n\t\tthis.focused = true;\n\t\tthis.tokenizer.scrollToEnd();\n\n\t\tthis.tokens.forEach(token => {\n\t\t\ttoken.selected = false;\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tsuper._onkeydown(e);\n\n\t\tconst target = e.target as HTMLInputElement;\n\t\tconst isHomeInBeginning = isHome(e) && target.selectionStart === 0;\n\n\t\tif (isHomeInBeginning) {\n\t\t\tthis._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens\n\t\t\treturn this._focusFirstToken(e);\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isLeft(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleLeft(e);\n\t\t}\n\n\t\tif (isBackSpace(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleBackspace(e);\n\t\t}\n\n\t\tthis._skipOpenSuggestions = false;\n\n\t\tif (isShow(e)) {\n\t\t\tthis.valueHelpPress();\n\t\t}\n\t}\n\n\t_onTokenizerKeydown(e: KeyboardEvent) {\n\t\tconst rightCtrl = isRightCtrl(e);\n\t\tif (isRight(e) || isDown(e) || isEnd(e) || rightCtrl) {\n\t\t\te.preventDefault();\n\t\t\tconst lastTokenIndex = this.tokens.length - 1;\n\n\t\t\tif (e.target === this.tokens[lastTokenIndex] && this.tokens[lastTokenIndex] === document.activeElement) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.focus();\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleLeft(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// selectionStart property applies only to inputs of types text, search, URL, tel, and password\n\t\tif (((cursorPosition === null && !this.value) || cursorPosition === 0) && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tlastToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(lastToken);\n\t\t}\n\t}\n\n\t_handleBackspace(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst selectionEnd = this.getDomRef()!.querySelector(`input`)!.selectionEnd;\n\t\tconst isValueSelected = cursorPosition === 0 && selectionEnd === this.value.length;\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// selectionStart property applies only to inputs of types text, search, URL, tel, and password\n\t\tif ((!this.value || (this.value && cursorPosition === 0 && !isValueSelected)) && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tlastToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(lastToken);\n\t\t}\n\t}\n\n\t_focusFirstToken(e: KeyboardEvent) {\n\t\tconst tokens = this.tokens;\n\t\tconst firstToken = tokens.length && tokens[0];\n\n\t\tif (firstToken) {\n\t\t\te.preventDefault();\n\n\t\t\tfirstToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(firstToken);\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tsuper._onfocusout(e);\n\t\tconst relatedTarget = e.relatedTarget as HTMLElement;\n\t\tconst insideDOM = this.contains(relatedTarget);\n\t\tconst insideShadowDom = this.shadowRoot!.contains(relatedTarget);\n\n\t\tif (!insideDOM && !insideShadowDom) {\n\t\t\tthis.tokenizer.expanded = false;\n\t\t}\n\n\t\tif (this.contains(relatedTarget) && relatedTarget.hasAttribute(\"ui5-token\")) {\n\t\t\tthis.focused = false;\n\t\t}\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_onfocusin(e: FocusEvent) {\n\t\tconst inputDomRef = this.getInputDOMRef();\n\n\t\tif (e.target === inputDomRef) {\n\t\t\tsuper._onfocusin(e);\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\t\tthis.tokenizerAvailable = this.tokens && this.tokens.length > 0;\n\n\t\tif (this.tokenizer) {\n\t\t\tthis.tokenizer.readonly = this.readonly;\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tsuper.onAfterRendering();\n\n\t\tthis.tokenizer.preventInitialFocus = true;\n\n\t\tif (this.tokenizer.expanded) {\n\t\t\tthis.tokenizer.scrollToEnd();\n\t\t} else {\n\t\t\tthis.tokenizer.scrollToStart();\n\t\t}\n\t}\n\n\tget iconsCount() {\n\t\treturn super.iconsCount + (this.showValueHelpIcon ? 1 : 0);\n\t}\n\n\tget tokenizer() {\n\t\treturn this.shadowRoot!.querySelector<Tokenizer>(\"[ui5-tokenizer]\")!;\n\t}\n\n\tget tokenizerExpanded() {\n\t\treturn this.tokenizer && this.tokenizer.expanded;\n\t}\n\n\tget _tokensCountText() {\n\t\treturn getTokensCountText(this.tokens.length);\n\t}\n\n\tget _valueHelpText() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_VALUE_HELP);\n\t}\n\n\tget _tokensCountTextId() {\n\t\treturn `hiddenText-nMore`;\n\t}\n\n\tget _valueHelpTextId() {\n\t\treturn this.showValueHelpIcon ? `hiddenText-value-help` : \"\";\n\t}\n\n\t/**\n\t * Returns the placeholder value when there are no tokens.\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\tif (this.tokens.length) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn this.placeholder;\n\t}\n\n\tget accInfo() {\n\t\tconst ariaDescribedBy = `${this._tokensCountTextId} ${this.suggestionsTextId} ${this.valueStateTextId} ${this._valueStateLinksShortcutsTextAccId} ${this._valueHelpTextId}`.trim();\n\t\treturn {\n\t\t\t...super.accInfo,\n\t\t\t\"ariaRoledescription\": this.ariaRoleDescription,\n\t\t\t\"ariaDescribedBy\": ariaDescribedBy,\n\t\t};\n\t}\n\n\tget valueHelpLabel() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_VALUE_HELP_LABEL);\n\t}\n\n\tget ariaRoleDescription() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_ROLEDESCRIPTION_TEXT);\n\t}\n\n\tget morePopoverOpener(): HTMLElement {\n\t\tif (this.tokens.length === 1 && this.tokens[0].isTruncatable) {\n\t\t\treturn this.tokens[0];\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tget shouldDisplayOnlyValueStateMessage() {\n\t\treturn this.hasValueStateMessage && !this.readonly && !this.open && this.focused && !this.tokenizer.open;\n\t}\n}\n\nMultiInput.define();\n\nexport default MultiInput;\nexport type {\n\tIToken,\n\tMultiInputTokenDeleteEventDetail,\n\tMultiInputSelectionChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"MultiInput.js","sourceRoot":"","sources":["../src/MultiInput.ts"],"names":[],"mappings":"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","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport {\n\tisShow,\n\tisBackSpace,\n\tisLeft,\n\tisRight,\n\tisRightCtrl,\n\tisHome,\n\tisEnd,\n\tisDown,\n\tisEnter,\n\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport { MULTIINPUT_ROLEDESCRIPTION_TEXT, MULTIINPUT_VALUE_HELP_LABEL, MULTIINPUT_VALUE_HELP } from \"./generated/i18n/i18n-defaults.js\";\nimport Input from \"./Input.js\";\nimport MultiInputTemplate from \"./MultiInputTemplate.js\";\nimport styles from \"./generated/themes/MultiInput.css.js\";\nimport type Token from \"./Token.js\";\nimport type Tokenizer from \"./Tokenizer.js\";\nimport { getTokensCountText } from \"./Tokenizer.js\";\nimport type { TokenizerTokenDeleteEventDetail } from \"./Tokenizer.js\";\nimport type Icon from \"./Icon.js\";\n\nimport type {\n\tInputSelectionChangeEventDetail as MultiInputSelectionChangeEventDetail,\n} from \"./Input.js\";\n\ninterface IToken extends UI5Element, ITabbable {\n\ttext?: string;\n\treadonly: boolean,\n\tselected: boolean,\n\tisTruncatable: boolean,\n}\n\ntype MultiInputTokenDeleteEventDetail = {\n\ttokens: Token[];\n}\n\n/**\n * @class\n * ### Overview\n * A `ui5-multi-input` field allows the user to enter multiple values, which are displayed as `ui5-token`.\n *\n * User can choose interaction for creating tokens.\n * Fiori Guidelines say that user should create tokens when:\n *\n * - Type a value in the input and press enter or focus out the input field (`change` event is fired)\n * - Move between suggestion items (`selection-change` event is fired)\n * - Clicking on a suggestion item (`selection-change` event is fired if the clicked item is different than the current value. Also `change` event is fired )\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/MultiInput.js\";`\n * @constructor\n * @extends Input\n * @since 1.0.0-rc.9\n * @public\n */\n@customElement({\n\ttag: \"ui5-multi-input\",\n\trenderer: jsxRenderer,\n\tformAssociated: true,\n\ttemplate: MultiInputTemplate,\n\tstyles: [Input.styles, styles],\n})\n/**\n * Fired when the value help icon is pressed\n * and F4 or ALT/OPTION + ARROW_UP/ARROW_DOWN keyboard keys are used.\n * @public\n */\n@event(\"value-help-trigger\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when tokens are being deleted.\n * @param {Array} tokens An array containing the deleted tokens.\n * @public\n */\n@event(\"token-delete\", {\n\tbubbles: true,\n})\n\nclass MultiInput extends Input implements IFormInputElement {\n\teventDetails!: Input[\"eventDetails\"] & {\n\t\t\"value-help-trigger\": void,\n\t\t\"token-delete\": MultiInputTokenDeleteEventDetail,\n\t}\n\t/**\n\t * Determines whether a value help icon will be visualized in the end of the input.\n\t * Pressing the icon will fire `value-help-trigger` event.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowValueHelpIcon = false;\n\n\t/**\n\t * Indicates whether the tokenizer has tokens\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ttokenizerAvailable = false;\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * **Note:** When the component is used inside a form element,\n\t * the value is sent as the first element in the form data, even if it's empty.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tdeclare name?: string;\n\n\t/**\n\t * Defines the component tokens.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true })\n\ttokens!: Array<IToken>;\n\n\t_skipOpenSuggestions: boolean;\n\t_valueHelpIconPressed: boolean;\n\n\tget formValidity(): ValidityStateFlags {\n\t\tconst tokens = (this.tokens || []);\n\n\t\treturn { valueMissing: this.required && !this.value && !tokens.length };\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\tconst tokens = (this.tokens || []);\n\n\t\tif (tokens.length && this.name) {\n\t\t\tconst formData = new FormData();\n\n\t\t\tformData.append(this.name, this.value);\n\n\t\t\tfor (let i = 0; i < tokens.length; i++) {\n\t\t\t\tformData.append(this.name, (tokens[i].text || \"\"));\n\t\t\t}\n\n\t\t\treturn formData;\n\t\t}\n\n\t\treturn this.value;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// Prevent suggestions' opening.\n\t\tthis._skipOpenSuggestions = false;\n\t\tthis._valueHelpIconPressed = false;\n\t}\n\n\tvalueHelpPress() {\n\t\tthis.closeValueStatePopover();\n\t\tthis.fireDecoratorEvent(\"value-help-trigger\");\n\t}\n\n\ttokenDelete(e: CustomEvent<TokenizerTokenDeleteEventDetail>) {\n\t\tconst deletedTokens = e.detail.tokens;\n\t\tconst selectedTokens = this.tokens.filter(token => token.selected);\n\t\tconst shouldFocusInput = this.tokens.length - 1 === 0 || this.tokens.length === selectedTokens.length;\n\n\t\tif (this._readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (deletedTokens) {\n\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: deletedTokens });\n\n\t\t\tif (shouldFocusInput) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tvalueHelpMouseDown(e: MouseEvent) {\n\t\tconst target = e.target as Icon;\n\t\tthis.closeValueStatePopover();\n\t\tthis.tokenizer.open = false;\n\t\tthis._valueHelpIconPressed = true;\n\t\ttarget.focus();\n\t}\n\n\t_tokenizerFocusOut(e: FocusEvent) {\n\t\tif (!this.contains(e.relatedTarget as HTMLElement) && !this.shadowRoot!.contains(e.relatedTarget as HTMLElement)) {\n\t\t\tthis.tokenizer._tokens.forEach(token => { token.selected = false; });\n\t\t}\n\t}\n\n\tvalueHelpMouseUp() {\n\t\tsetTimeout(() => {\n\t\t\tthis._valueHelpIconPressed = false;\n\t\t}, 0);\n\t}\n\n\tinnerFocusIn() {\n\t\tthis.tokenizer._scrollToEndOnExpand = true;\n\t\tthis.tokenizer.expanded = true;\n\t\tthis.focused = true;\n\n\t\tthis.tokens.forEach(token => {\n\t\t\ttoken.selected = false;\n\t\t});\n\t}\n\n\t_showMoreItemsPress() {\n\t\tthis.tokenizer._scrollToEndOnExpand = true;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\t!this._isComposing && super._onkeydown(e);\n\n\t\tconst target = e.target as HTMLInputElement;\n\t\tconst isHomeInBeginning = isHome(e) && target.selectionStart === 0;\n\n\t\tif (isHomeInBeginning) {\n\t\t\tthis._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens\n\t\t\treturn this._focusFirstToken(e);\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isLeft(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleLeft(e);\n\t\t}\n\n\t\tif (isBackSpace(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleBackspace(e);\n\t\t}\n\n\t\tthis._skipOpenSuggestions = false;\n\n\t\tif (isShow(e)) {\n\t\t\tthis.valueHelpPress();\n\t\t}\n\t}\n\n\t_onTokenizerKeydown(e: KeyboardEvent) {\n\t\tconst rightCtrl = isRightCtrl(e);\n\t\tif (isRight(e) || isDown(e) || isEnd(e) || rightCtrl) {\n\t\t\te.preventDefault();\n\t\t\tconst lastTokenIndex = this.tokens.length - 1;\n\n\t\t\tif (e.target === this.tokens[lastTokenIndex] && this.tokens[lastTokenIndex] === document.activeElement) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.focus();\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleLeft(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// selectionStart property applies only to inputs of types text, search, URL, tel, and password\n\t\tif (((cursorPosition === null && !this.value) || cursorPosition === 0) && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tlastToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(lastToken);\n\t\t}\n\t}\n\n\t_handleBackspace(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst selectionEnd = this.getDomRef()!.querySelector(`input`)!.selectionEnd;\n\t\tconst isValueSelected = cursorPosition === 0 && selectionEnd === this.value.length;\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// selectionStart property applies only to inputs of types text, search, URL, tel, and password\n\t\tif ((!this.value || (this.value && cursorPosition === 0 && !isValueSelected)) && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tlastToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(lastToken);\n\t\t}\n\t}\n\n\t_focusFirstToken(e: KeyboardEvent) {\n\t\tconst tokens = this.tokens;\n\t\tconst firstToken = tokens.length && tokens[0];\n\n\t\tif (firstToken) {\n\t\t\te.preventDefault();\n\n\t\t\tfirstToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(firstToken);\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tsuper._onfocusout(e);\n\t\tconst relatedTarget = e.relatedTarget as HTMLElement;\n\t\tconst insideDOM = this.contains(relatedTarget);\n\t\tconst insideShadowDom = this.shadowRoot!.contains(relatedTarget);\n\n\t\tif (!insideDOM && !insideShadowDom) {\n\t\t\tthis.tokenizer.expanded = false;\n\t\t}\n\n\t\tif (this.contains(relatedTarget) && relatedTarget.hasAttribute(\"ui5-token\")) {\n\t\t\tthis.focused = false;\n\t\t}\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_onfocusin(e: FocusEvent) {\n\t\tconst inputDomRef = this.getInputDOMRef();\n\n\t\tif (e.target === inputDomRef) {\n\t\t\tsuper._onfocusin(e);\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\t\tthis.tokenizerAvailable = this.tokens && this.tokens.length > 0;\n\n\t\tif (this.tokenizer) {\n\t\t\tthis.tokenizer.readonly = this.readonly;\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tsuper.onAfterRendering();\n\n\t\tthis.tokenizer.preventInitialFocus = true;\n\t}\n\n\tget iconsCount() {\n\t\treturn super.iconsCount + (this.showValueHelpIcon ? 1 : 0);\n\t}\n\n\tget tokenizer() {\n\t\treturn this.shadowRoot!.querySelector<Tokenizer>(\"[ui5-tokenizer]\")!;\n\t}\n\n\tget tokenizerExpanded() {\n\t\treturn this.tokenizer && this.tokenizer.expanded;\n\t}\n\n\tget _tokensCountText() {\n\t\treturn getTokensCountText(this.tokens.length);\n\t}\n\n\tget _valueHelpText() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_VALUE_HELP);\n\t}\n\n\tget _tokensCountTextId() {\n\t\treturn `hiddenText-nMore`;\n\t}\n\n\tget _valueHelpTextId() {\n\t\treturn this.showValueHelpIcon ? `hiddenText-value-help` : \"\";\n\t}\n\n\t/**\n\t * Returns the placeholder value when there are no tokens.\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\tif (this.tokens.length) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn this.placeholder;\n\t}\n\n\tget accInfo() {\n\t\tconst ariaDescribedBy = `${this._tokensCountTextId} ${this.suggestionsTextId} ${this.valueStateTextId} ${this._valueStateLinksShortcutsTextAccId} ${this._valueHelpTextId}`.trim();\n\t\treturn {\n\t\t\t...super.accInfo,\n\t\t\t\"ariaRoledescription\": this.ariaRoleDescription,\n\t\t\t\"ariaDescribedBy\": ariaDescribedBy,\n\t\t};\n\t}\n\n\tget valueHelpLabel() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_VALUE_HELP_LABEL);\n\t}\n\n\tget ariaRoleDescription() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_ROLEDESCRIPTION_TEXT);\n\t}\n\n\tget morePopoverOpener(): HTMLElement {\n\t\tif (this.tokens.length === 1 && this.tokens[0].isTruncatable) {\n\t\t\treturn this.tokens[0];\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tget shouldDisplayOnlyValueStateMessage() {\n\t\treturn this.hasValueStateMessage && !this.readonly && !this.open && this.focused && !this.tokenizer.open;\n\t}\n}\n\nMultiInput.define();\n\nexport default MultiInput;\nexport type {\n\tIToken,\n\tMultiInputTokenDeleteEventDetail,\n\tMultiInputSelectionChangeEventDetail,\n};\n"]}
@@ -10,7 +10,7 @@ export default function MultiInputTemplate() {
10
10
  }
11
11
  function preContent() {
12
12
  return (_jsxs(_Fragment, { children: [_jsx("span", { id: "hiddenText-nMore", class: "ui5-hidden-text", children: this._tokensCountText }), this.showValueHelpIcon &&
13
- _jsx("span", { id: "hiddenText-value-help", class: "ui5-hidden-text", children: this._valueHelpText }), _jsx(Tokenizer, { class: "ui5-multi-input-tokenizer", opener: this.morePopoverOpener, popoverMinWidth: this._inputWidth, hidePopoverArrow: true, expanded: this.tokenizerExpanded, onKeyDown: this._onTokenizerKeydown, onTokenDelete: this.tokenDelete, onFocusOut: this._tokenizerFocusOut, children: this.tokens.map(token => _jsx("slot", { name: token._individualSlot })) })] }));
13
+ _jsx("span", { id: "hiddenText-value-help", class: "ui5-hidden-text", children: this._valueHelpText }), _jsx(Tokenizer, { class: "ui5-multi-input-tokenizer", opener: this.morePopoverOpener, popoverMinWidth: this._inputWidth, hidePopoverArrow: true, expanded: this.tokenizerExpanded, onKeyDown: this._onTokenizerKeydown, onTokenDelete: this.tokenDelete, onFocusOut: this._tokenizerFocusOut, onShowMoreItemsPress: this._showMoreItemsPress, children: this.tokens.map(token => _jsx("slot", { name: token._individualSlot })) })] }));
14
14
  }
15
15
  function postContent() {
16
16
  return (_jsx(_Fragment, { children: this.showValueHelpIcon &&
@@ -1 +1 @@
1
- {"version":3,"file":"MultiInputTemplate.js","sourceRoot":"","sources":["../src/MultiInputTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,SAAS,MAAM,6CAA6C,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,kBAAkB;IACzC,OAAO;QACN,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;KACrD,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IAClB,OAAO,CACN,8BACC,eAAM,EAAE,EAAC,kBAAkB,EAAC,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,gBAAgB,GAAQ,EAEjF,IAAI,CAAC,iBAAiB;gBACtB,eAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,cAAc,GAAQ,EAEtF,KAAC,SAAS,IACT,KAAK,EAAC,2BAA2B,EACjC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAC9B,eAAe,EAAE,IAAI,CAAC,WAAW,EACjC,gBAAgB,EAAE,IAAI,EACtB,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAChC,SAAS,EAAE,IAAI,CAAC,mBAAmB,EACnC,aAAa,EAAE,IAAI,CAAC,WAAW,EAC/B,UAAU,EAAE,IAAI,CAAC,kBAAkB,YAEjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,eAAM,IAAI,EAAE,KAAK,CAAC,eAAe,GAAS,CAAC,GAC3D,IACV,CACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IACnB,OAAO,CACN,4BACE,IAAI,CAAC,iBAAiB;YACtB,KAAC,IAAI,IACJ,KAAK,EAAC,WAAW,EACjB,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAChC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,OAAO,EAAE,IAAI,CAAC,cAAc,GAC3B,GAED,CACH,CAAC;AACH,CAAC","sourcesContent":["import Icon from \"./Icon.js\";\nimport InputTemplate from \"./InputTemplate.js\";\nimport type MultiInput from \"./MultiInput.js\";\nimport Tokenizer from \"./Tokenizer.js\";\nimport valueHelp from \"@ui5/webcomponents-icons/dist/value-help.js\";\n\nexport default function MultiInputTemplate(this: MultiInput) {\n\treturn [\n\t\tInputTemplate.call(this, { preContent, postContent }),\n\t];\n}\n\nfunction preContent(this: MultiInput) {\n\treturn (\n\t\t<>\n\t\t\t<span id=\"hiddenText-nMore\" class=\"ui5-hidden-text\">{this._tokensCountText}</span>\n\n\t\t\t{this.showValueHelpIcon &&\n\t\t\t\t<span id=\"hiddenText-value-help\" class=\"ui5-hidden-text\">{this._valueHelpText}</span>\n\t\t\t}\n\t\t\t<Tokenizer\n\t\t\t\tclass=\"ui5-multi-input-tokenizer\"\n\t\t\t\topener={this.morePopoverOpener}\n\t\t\t\tpopoverMinWidth={this._inputWidth}\n\t\t\t\thidePopoverArrow={true}\n\t\t\t\texpanded={this.tokenizerExpanded}\n\t\t\t\tonKeyDown={this._onTokenizerKeydown}\n\t\t\t\tonTokenDelete={this.tokenDelete}\n\t\t\t\tonFocusOut={this._tokenizerFocusOut}\n\t\t\t>\n\t\t\t\t{ this.tokens.map(token => <slot name={token._individualSlot}></slot>)}\n\t\t\t</Tokenizer>\n\t\t</>\n\t);\n}\n\nfunction postContent(this: MultiInput) {\n\treturn (\n\t\t<>\n\t\t\t{this.showValueHelpIcon &&\n\t\t\t\t<Icon\n\t\t\t\t\tclass=\"inputIcon\"\n\t\t\t\t\tname={valueHelp}\n\t\t\t\t\taccessibleName={this.valueHelpLabel}\n\t\t\t\t\tonMouseUp={this.valueHelpMouseUp}\n\t\t\t\t\tonMouseDown={this.valueHelpMouseDown}\n\t\t\t\t\tonClick={this.valueHelpPress}\n\t\t\t\t/>\n\t\t\t}\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"file":"MultiInputTemplate.js","sourceRoot":"","sources":["../src/MultiInputTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,SAAS,MAAM,6CAA6C,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,kBAAkB;IACzC,OAAO;QACN,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;KACrD,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IAClB,OAAO,CACN,8BACC,eAAM,EAAE,EAAC,kBAAkB,EAAC,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,gBAAgB,GAAQ,EAEjF,IAAI,CAAC,iBAAiB;gBACtB,eAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,cAAc,GAAQ,EAEtF,KAAC,SAAS,IACT,KAAK,EAAC,2BAA2B,EACjC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAC9B,eAAe,EAAE,IAAI,CAAC,WAAW,EACjC,gBAAgB,EAAE,IAAI,EACtB,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAChC,SAAS,EAAE,IAAI,CAAC,mBAAmB,EACnC,aAAa,EAAE,IAAI,CAAC,WAAW,EAC/B,UAAU,EAAE,IAAI,CAAC,kBAAkB,EACnC,oBAAoB,EAAE,IAAI,CAAC,mBAAmB,YAE5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,eAAM,IAAI,EAAE,KAAK,CAAC,eAAe,GAAS,CAAC,GAC3D,IACV,CACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IACnB,OAAO,CACN,4BACE,IAAI,CAAC,iBAAiB;YACtB,KAAC,IAAI,IACJ,KAAK,EAAC,WAAW,EACjB,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAChC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,OAAO,EAAE,IAAI,CAAC,cAAc,GAC3B,GAED,CACH,CAAC;AACH,CAAC","sourcesContent":["import Icon from \"./Icon.js\";\nimport InputTemplate from \"./InputTemplate.js\";\nimport type MultiInput from \"./MultiInput.js\";\nimport Tokenizer from \"./Tokenizer.js\";\nimport valueHelp from \"@ui5/webcomponents-icons/dist/value-help.js\";\n\nexport default function MultiInputTemplate(this: MultiInput) {\n\treturn [\n\t\tInputTemplate.call(this, { preContent, postContent }),\n\t];\n}\n\nfunction preContent(this: MultiInput) {\n\treturn (\n\t\t<>\n\t\t\t<span id=\"hiddenText-nMore\" class=\"ui5-hidden-text\">{this._tokensCountText}</span>\n\n\t\t\t{this.showValueHelpIcon &&\n\t\t\t\t<span id=\"hiddenText-value-help\" class=\"ui5-hidden-text\">{this._valueHelpText}</span>\n\t\t\t}\n\t\t\t<Tokenizer\n\t\t\t\tclass=\"ui5-multi-input-tokenizer\"\n\t\t\t\topener={this.morePopoverOpener}\n\t\t\t\tpopoverMinWidth={this._inputWidth}\n\t\t\t\thidePopoverArrow={true}\n\t\t\t\texpanded={this.tokenizerExpanded}\n\t\t\t\tonKeyDown={this._onTokenizerKeydown}\n\t\t\t\tonTokenDelete={this.tokenDelete}\n\t\t\t\tonFocusOut={this._tokenizerFocusOut}\n\t\t\t\tonShowMoreItemsPress={this._showMoreItemsPress}\n\t\t\t>\n\t\t\t\t{ this.tokens.map(token => <slot name={token._individualSlot}></slot>)}\n\t\t\t</Tokenizer>\n\t\t</>\n\t);\n}\n\nfunction postContent(this: MultiInput) {\n\treturn (\n\t\t<>\n\t\t\t{this.showValueHelpIcon &&\n\t\t\t\t<Icon\n\t\t\t\t\tclass=\"inputIcon\"\n\t\t\t\t\tname={valueHelp}\n\t\t\t\t\taccessibleName={this.valueHelpLabel}\n\t\t\t\t\tonMouseUp={this.valueHelpMouseUp}\n\t\t\t\t\tonMouseDown={this.valueHelpMouseDown}\n\t\t\t\t\tonClick={this.valueHelpPress}\n\t\t\t\t/>\n\t\t\t}\n\t\t</>\n\t);\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "@ui5/webcomponents-base/jsx-runtime";
2
2
  export default function SegmentedButtonTemplate() {
3
- return (_jsx("ul", { role: "listbox", class: "ui5-segmented-button-root", onClick: this._onclick, onMouseDown: this._onmousedown, onKeyDown: this._onkeydown, onKeyUp: this._onkeyup, onFocusIn: this._onfocusin, "aria-multiselectable": "true", "aria-description": this.ariaDescriptionText, "aria-label": this.ariaLabelText, "aria-roledescription": this.ariaRoleDescription, children: _jsx("slot", {}) }));
3
+ return (_jsx("ul", { role: "listbox", class: "ui5-segmented-button-root", onClick: this._onclick, onMouseDown: this._onmousedown, onKeyDown: this._onkeydown, onKeyUp: this._onkeyup, onFocusIn: this._onfocusin, "aria-multiselectable": this.selectionMode === "Multiple" ? "true" : "false", "aria-orientation": "horizontal", "aria-description": this.ariaDescriptionText, "aria-label": this.ariaLabelText, "aria-roledescription": this.ariaRoleDescription, children: _jsx("slot", {}) }));
4
4
  }
5
5
  //# sourceMappingURL=SegmentedButtonTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedButtonTemplate.js","sourceRoot":"","sources":["../src/SegmentedButtonTemplate.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,uBAAuB;IAC9C,OAAO,CACN,aACC,IAAI,EAAC,SAAS,EACd,KAAK,EAAC,2BAA2B,EACjC,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EAAE,IAAI,CAAC,UAAU,0BACL,MAAM,sBACT,IAAI,CAAC,mBAAmB,gBAC9B,IAAI,CAAC,aAAa,0BACR,IAAI,CAAC,mBAAmB,YAE9C,gBAAa,GACT,CACL,CAAC;AACH,CAAC","sourcesContent":["import type SegmentedButton from \"./SegmentedButton.js\";\n\nexport default function SegmentedButtonTemplate(this: SegmentedButton) {\n\treturn (\n\t\t<ul\n\t\t\trole=\"listbox\"\n\t\t\tclass=\"ui5-segmented-button-root\"\n\t\t\tonClick={this._onclick}\n\t\t\tonMouseDown={this._onmousedown}\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\tonKeyUp={this._onkeyup}\n\t\t\tonFocusIn={this._onfocusin}\n\t\t\taria-multiselectable=\"true\"\n\t\t\taria-description={this.ariaDescriptionText}\n\t\t\taria-label={this.ariaLabelText}\n\t\t\taria-roledescription={this.ariaRoleDescription}\n\t\t>\n\t\t\t<slot></slot>\n\t\t</ul>\n\t);\n}\n"]}
1
+ {"version":3,"file":"SegmentedButtonTemplate.js","sourceRoot":"","sources":["../src/SegmentedButtonTemplate.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,uBAAuB;IAC9C,OAAO,CACN,aACC,IAAI,EAAC,SAAS,EACd,KAAK,EAAC,2BAA2B,EACjC,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EAAE,IAAI,CAAC,UAAU,0BACJ,IAAI,CAAC,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,sBACzD,YAAY,sBACX,IAAI,CAAC,mBAAmB,gBAC9B,IAAI,CAAC,aAAa,0BACR,IAAI,CAAC,mBAAmB,YAE9C,gBAAa,GACT,CACL,CAAC;AACH,CAAC","sourcesContent":["import type SegmentedButton from \"./SegmentedButton.js\";\n\nexport default function SegmentedButtonTemplate(this: SegmentedButton) {\n\treturn (\n\t\t<ul\n\t\t\trole=\"listbox\"\n\t\t\tclass=\"ui5-segmented-button-root\"\n\t\t\tonClick={this._onclick}\n\t\t\tonMouseDown={this._onmousedown}\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\tonKeyUp={this._onkeyup}\n\t\t\tonFocusIn={this._onfocusin}\n\t\t\taria-multiselectable={this.selectionMode === \"Multiple\" ? \"true\" : \"false\"}\n\t\t\taria-orientation=\"horizontal\"\n\t\t\taria-description={this.ariaDescriptionText}\n\t\t\taria-label={this.ariaLabelText}\n\t\t\taria-roledescription={this.ariaRoleDescription}\n\t\t>\n\t\t\t<slot></slot>\n\t\t</ul>\n\t);\n}\n"]}
package/dist/Select.d.ts CHANGED
@@ -371,6 +371,7 @@ declare class Select extends UI5Element implements IFormInputElement {
371
371
  get classes(): {
372
372
  popoverValueState: {
373
373
  "ui5-valuestatemessage-root": boolean;
374
+ "ui5-valuestatemessage-header": boolean;
374
375
  "ui5-valuestatemessage--success": boolean;
375
376
  "ui5-valuestatemessage--error": boolean;
376
377
  "ui5-valuestatemessage--warning": boolean;
@@ -382,11 +383,12 @@ declare class Select extends UI5Element implements IFormInputElement {
382
383
  };
383
384
  get styles(): {
384
385
  popoverHeader: {
385
- "max-width": string;
386
+ display: string;
386
387
  };
387
388
  responsivePopoverHeader: {
388
389
  display: string;
389
390
  width: string;
391
+ "max-width": string;
390
392
  };
391
393
  responsivePopover: {
392
394
  "min-width": string;
package/dist/Select.js CHANGED
@@ -523,6 +523,11 @@ let Select = Select_1 = class Select extends UI5Element {
523
523
  _applyFocusToSelectedItem() {
524
524
  this.options.forEach(option => {
525
525
  option.focused = option.selected;
526
+ if (option.focused && isPhone()) {
527
+ // on phone, the popover opens full screen (dialog)
528
+ // move focus to option to read out dialog header
529
+ option.focus();
530
+ }
526
531
  });
527
532
  }
528
533
  _afterClose() {
@@ -626,6 +631,7 @@ let Select = Select_1 = class Select extends UI5Element {
626
631
  return {
627
632
  popoverValueState: {
628
633
  "ui5-valuestatemessage-root": true,
634
+ "ui5-valuestatemessage-header": !this._isPhone,
629
635
  "ui5-valuestatemessage--success": this.valueState === ValueState.Positive,
630
636
  "ui5-valuestatemessage--error": this.valueState === ValueState.Negative,
631
637
  "ui5-valuestatemessage--warning": this.valueState === ValueState.Critical,
@@ -639,11 +645,12 @@ let Select = Select_1 = class Select extends UI5Element {
639
645
  get styles() {
640
646
  return {
641
647
  popoverHeader: {
642
- "max-width": `${this.offsetWidth}px`,
648
+ "display": "block",
643
649
  },
644
650
  responsivePopoverHeader: {
645
651
  "display": this.options.length && this._listWidth === 0 ? "none" : "inline-block",
646
652
  "width": `${this.options.length ? this._listWidth : this.offsetWidth}px`,
653
+ "max-width": "100%",
647
654
  },
648
655
  responsivePopover: {
649
656
  "min-width": `${this.offsetWidth}px`,