@ui5/webcomponents 0.0.0-df5b4199a → 0.0.0-e03cd01f3

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 (809) hide show
  1. package/CHANGELOG.md +140 -2
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Avatar.d.ts +7 -1
  4. package/dist/Avatar.js +9 -1
  5. package/dist/Avatar.js.map +1 -1
  6. package/dist/BreadcrumbsTemplate.js +1 -1
  7. package/dist/BreadcrumbsTemplate.js.map +1 -1
  8. package/dist/Button.d.ts +9 -1
  9. package/dist/Button.js +20 -1
  10. package/dist/Button.js.map +1 -1
  11. package/dist/Calendar.d.ts +30 -1
  12. package/dist/Calendar.js +50 -10
  13. package/dist/Calendar.js.map +1 -1
  14. package/dist/CalendarHeaderTemplate.js +2 -2
  15. package/dist/CalendarHeaderTemplate.js.map +1 -1
  16. package/dist/CalendarTemplate.js +1 -1
  17. package/dist/CalendarTemplate.js.map +1 -1
  18. package/dist/CheckBox.d.ts +2 -0
  19. package/dist/CheckBox.js +6 -2
  20. package/dist/CheckBox.js.map +1 -1
  21. package/dist/ColorPickerTemplate.js +1 -1
  22. package/dist/ColorPickerTemplate.js.map +1 -1
  23. package/dist/DateComponentBase.d.ts +1 -0
  24. package/dist/DateComponentBase.js +3 -0
  25. package/dist/DateComponentBase.js.map +1 -1
  26. package/dist/DatePickerPopoverTemplate.d.ts +1 -0
  27. package/dist/DatePickerPopoverTemplate.js +2 -1
  28. package/dist/DatePickerPopoverTemplate.js.map +1 -1
  29. package/dist/DatePickerTemplate.js +1 -1
  30. package/dist/DatePickerTemplate.js.map +1 -1
  31. package/dist/DateRangePickerTemplate.js +1 -1
  32. package/dist/DateRangePickerTemplate.js.map +1 -1
  33. package/dist/DateTimePicker.js +1 -1
  34. package/dist/DateTimePicker.js.map +1 -1
  35. package/dist/DateTimePickerTemplate.js +1 -1
  36. package/dist/DateTimePickerTemplate.js.map +1 -1
  37. package/dist/DayPicker.d.ts +25 -1
  38. package/dist/DayPicker.js +54 -3
  39. package/dist/DayPicker.js.map +1 -1
  40. package/dist/DynamicDateRange.d.ts +1 -1
  41. package/dist/DynamicDateRange.js +1 -1
  42. package/dist/DynamicDateRange.js.map +1 -1
  43. package/dist/DynamicDateRangePopoverTemplate.js +1 -1
  44. package/dist/DynamicDateRangePopoverTemplate.js.map +1 -1
  45. package/dist/FileUploader.d.ts +0 -7
  46. package/dist/FileUploader.js +2 -16
  47. package/dist/FileUploader.js.map +1 -1
  48. package/dist/FileUploaderTemplate.js +1 -1
  49. package/dist/FileUploaderTemplate.js.map +1 -1
  50. package/dist/Icon.d.ts +13 -0
  51. package/dist/Icon.js +28 -2
  52. package/dist/Icon.js.map +1 -1
  53. package/dist/Input.d.ts +1 -1
  54. package/dist/Input.js +25 -14
  55. package/dist/Input.js.map +1 -1
  56. package/dist/InputPopoverTemplate.d.ts +1 -0
  57. package/dist/InputPopoverTemplate.js +7 -2
  58. package/dist/InputPopoverTemplate.js.map +1 -1
  59. package/dist/InputTemplate.d.ts +1 -0
  60. package/dist/InputTemplate.js +3 -2
  61. package/dist/InputTemplate.js.map +1 -1
  62. package/dist/Link.d.ts +7 -0
  63. package/dist/Link.js +4 -0
  64. package/dist/Link.js.map +1 -1
  65. package/dist/List.d.ts +7 -2
  66. package/dist/List.js +68 -11
  67. package/dist/List.js.map +1 -1
  68. package/dist/ListItem.d.ts +7 -2
  69. package/dist/ListItem.js +47 -15
  70. package/dist/ListItem.js.map +1 -1
  71. package/dist/ListItemCustom.d.ts +1 -1
  72. package/dist/ListItemCustom.js +14 -10
  73. package/dist/ListItemCustom.js.map +1 -1
  74. package/dist/MultiComboBox.js +10 -12
  75. package/dist/MultiComboBox.js.map +1 -1
  76. package/dist/MultiComboBoxPopoverTemplate.js +1 -1
  77. package/dist/MultiComboBoxPopoverTemplate.js.map +1 -1
  78. package/dist/MultiInput.d.ts +23 -0
  79. package/dist/MultiInput.js +55 -1
  80. package/dist/MultiInput.js.map +1 -1
  81. package/dist/MultiInputTemplate.js +29 -1
  82. package/dist/MultiInputTemplate.js.map +1 -1
  83. package/dist/Panel.d.ts +1 -0
  84. package/dist/Panel.js +18 -4
  85. package/dist/Panel.js.map +1 -1
  86. package/dist/RangeSlider.d.ts +16 -4
  87. package/dist/RangeSlider.js +115 -30
  88. package/dist/RangeSlider.js.map +1 -1
  89. package/dist/RangeSliderTemplate.js +1 -1
  90. package/dist/RangeSliderTemplate.js.map +1 -1
  91. package/dist/Select.d.ts +10 -1
  92. package/dist/Select.js +11 -0
  93. package/dist/Select.js.map +1 -1
  94. package/dist/Slider.d.ts +12 -4
  95. package/dist/Slider.js +51 -8
  96. package/dist/Slider.js.map +1 -1
  97. package/dist/SliderBase.d.ts +0 -4
  98. package/dist/SliderBase.js +0 -17
  99. package/dist/SliderBase.js.map +1 -1
  100. package/dist/SliderTemplate.js +1 -1
  101. package/dist/SliderTemplate.js.map +1 -1
  102. package/dist/SliderTooltip.d.ts +11 -7
  103. package/dist/SliderTooltip.js +47 -39
  104. package/dist/SliderTooltip.js.map +1 -1
  105. package/dist/SliderTooltipTemplate.js +1 -1
  106. package/dist/SliderTooltipTemplate.js.map +1 -1
  107. package/dist/StepInput.js +6 -0
  108. package/dist/StepInput.js.map +1 -1
  109. package/dist/Table.js.map +1 -1
  110. package/dist/TableCustomAnnouncement.js.map +1 -1
  111. package/dist/TableHeaderRow.d.ts +1 -1
  112. package/dist/TableHeaderRow.js.map +1 -1
  113. package/dist/TableRow.d.ts +1 -1
  114. package/dist/TableRow.js.map +1 -1
  115. package/dist/TableRowBase.d.ts +4 -4
  116. package/dist/TableRowBase.js.map +1 -1
  117. package/dist/TextArea.d.ts +1 -1
  118. package/dist/TextArea.js +11 -3
  119. package/dist/TextArea.js.map +1 -1
  120. package/dist/TimePicker.d.ts +7 -0
  121. package/dist/TimePicker.js +14 -1
  122. package/dist/TimePicker.js.map +1 -1
  123. package/dist/TimePickerPopoverTemplate.js +9 -5
  124. package/dist/TimePickerPopoverTemplate.js.map +1 -1
  125. package/dist/Tokenizer.d.ts +8 -0
  126. package/dist/Tokenizer.js +21 -1
  127. package/dist/Tokenizer.js.map +1 -1
  128. package/dist/ToolbarSelect.js +2 -6
  129. package/dist/ToolbarSelect.js.map +1 -1
  130. package/dist/ToolbarSelectOption.d.ts +3 -1
  131. package/dist/ToolbarSelectOption.js +30 -9
  132. package/dist/ToolbarSelectOption.js.map +1 -1
  133. package/dist/TreeItemBase.d.ts +1 -1
  134. package/dist/TreeItemBase.js +2 -2
  135. package/dist/TreeItemBase.js.map +1 -1
  136. package/dist/TreeItemCustom.d.ts +1 -1
  137. package/dist/TreeItemCustom.js +2 -2
  138. package/dist/TreeItemCustom.js.map +1 -1
  139. package/dist/css/themes/Avatar.css +1 -1
  140. package/dist/css/themes/AvatarGroup.css +1 -1
  141. package/dist/css/themes/Bar.css +1 -1
  142. package/dist/css/themes/Breadcrumbs.css +1 -1
  143. package/dist/css/themes/BusyIndicator.css +1 -1
  144. package/dist/css/themes/Button.css +1 -1
  145. package/dist/css/themes/ButtonBadge.css +1 -1
  146. package/dist/css/themes/Calendar.css +1 -1
  147. package/dist/css/themes/CalendarHeader.css +1 -1
  148. package/dist/css/themes/CalendarLegend.css +1 -1
  149. package/dist/css/themes/CalendarLegendItem.css +1 -1
  150. package/dist/css/themes/Card.css +1 -1
  151. package/dist/css/themes/CardHeader.css +1 -1
  152. package/dist/css/themes/Carousel.css +1 -1
  153. package/dist/css/themes/CheckBox.css +1 -1
  154. package/dist/css/themes/ColorPalette.css +1 -1
  155. package/dist/css/themes/ColorPaletteItem.css +1 -1
  156. package/dist/css/themes/ColorPalettePopover.css +1 -1
  157. package/dist/css/themes/ColorPicker.css +1 -1
  158. package/dist/css/themes/ComboBox.css +1 -1
  159. package/dist/css/themes/ComboBoxItem.css +1 -1
  160. package/dist/css/themes/DatePicker.css +1 -1
  161. package/dist/css/themes/DatePickerPopover.css +1 -1
  162. package/dist/css/themes/DateRangePicker.css +1 -1
  163. package/dist/css/themes/DateTimePicker.css +1 -1
  164. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  165. package/dist/css/themes/DayPicker.css +1 -1
  166. package/dist/css/themes/Dialog.css +1 -1
  167. package/dist/css/themes/DraggableElement.css +1 -1
  168. package/dist/css/themes/DropIndicator.css +1 -1
  169. package/dist/css/themes/DynamicDateRange.css +1 -1
  170. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  171. package/dist/css/themes/ExpandableText.css +1 -1
  172. package/dist/css/themes/FileUploader.css +1 -1
  173. package/dist/css/themes/Form.css +1 -1
  174. package/dist/css/themes/FormItem.css +1 -1
  175. package/dist/css/themes/FormItemSpan.css +1 -1
  176. package/dist/css/themes/GrowingButton.css +1 -1
  177. package/dist/css/themes/Icon.css +1 -1
  178. package/dist/css/themes/Input.css +1 -1
  179. package/dist/css/themes/InputIcon.css +1 -1
  180. package/dist/css/themes/InputSharedStyles.css +1 -1
  181. package/dist/css/themes/Label.css +1 -1
  182. package/dist/css/themes/Link.css +1 -1
  183. package/dist/css/themes/List.css +1 -1
  184. package/dist/css/themes/ListItem.css +1 -1
  185. package/dist/css/themes/ListItemAdditionalText.css +1 -1
  186. package/dist/css/themes/ListItemBase.css +1 -1
  187. package/dist/css/themes/ListItemCustom.css +1 -1
  188. package/dist/css/themes/ListItemGroup.css +1 -1
  189. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  190. package/dist/css/themes/ListItemIcon.css +1 -1
  191. package/dist/css/themes/Menu.css +1 -1
  192. package/dist/css/themes/MenuItem.css +1 -1
  193. package/dist/css/themes/MenuSeparator.css +1 -1
  194. package/dist/css/themes/MessageStrip.css +1 -1
  195. package/dist/css/themes/MonthPicker.css +1 -1
  196. package/dist/css/themes/MultiComboBox.css +1 -1
  197. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  198. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  199. package/dist/css/themes/MultiInput.css +1 -1
  200. package/dist/css/themes/OptionBase.css +1 -1
  201. package/dist/css/themes/Panel.css +1 -1
  202. package/dist/css/themes/Popover.css +1 -1
  203. package/dist/css/themes/PopupsCommon.css +1 -1
  204. package/dist/css/themes/ProgressIndicator.css +1 -1
  205. package/dist/css/themes/RadioButton.css +1 -1
  206. package/dist/css/themes/RangeSlider.css +1 -1
  207. package/dist/css/themes/RatingIndicator.css +1 -1
  208. package/dist/css/themes/ResponsivePopover.css +1 -1
  209. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  210. package/dist/css/themes/SegmentedButton.css +1 -1
  211. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  212. package/dist/css/themes/Select.css +1 -1
  213. package/dist/css/themes/SliderBase.css +1 -1
  214. package/dist/css/themes/SliderTooltip.css +1 -1
  215. package/dist/css/themes/SplitButton.css +1 -1
  216. package/dist/css/themes/StepInput.css +1 -1
  217. package/dist/css/themes/SuggestionItem.css +1 -1
  218. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  219. package/dist/css/themes/Suggestions.css +1 -1
  220. package/dist/css/themes/Switch.css +1 -1
  221. package/dist/css/themes/TabContainer.css +1 -1
  222. package/dist/css/themes/TabInOverflow.css +1 -1
  223. package/dist/css/themes/TabInStrip.css +1 -1
  224. package/dist/css/themes/TabSemanticIcon.css +1 -1
  225. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  226. package/dist/css/themes/TabSeparatorInStrip.css +1 -1
  227. package/dist/css/themes/Table.css +1 -1
  228. package/dist/css/themes/TableCell.css +1 -1
  229. package/dist/css/themes/TableCellBase.css +1 -1
  230. package/dist/css/themes/TableGrowing.css +1 -1
  231. package/dist/css/themes/TableHeaderCell.css +1 -1
  232. package/dist/css/themes/TableHeaderRow.css +1 -1
  233. package/dist/css/themes/TableRow.css +1 -1
  234. package/dist/css/themes/TableRowActionBase.css +1 -1
  235. package/dist/css/themes/TableRowBase.css +1 -1
  236. package/dist/css/themes/Tag.css +1 -1
  237. package/dist/css/themes/Text.css +1 -1
  238. package/dist/css/themes/TextArea.css +1 -1
  239. package/dist/css/themes/TimePicker.css +1 -1
  240. package/dist/css/themes/TimePickerClock.css +1 -1
  241. package/dist/css/themes/TimeSelectionClocks.css +1 -1
  242. package/dist/css/themes/TimeSelectionInputs.css +1 -1
  243. package/dist/css/themes/Title.css +1 -1
  244. package/dist/css/themes/Toast.css +1 -1
  245. package/dist/css/themes/ToggleButton.css +1 -1
  246. package/dist/css/themes/Token.css +1 -1
  247. package/dist/css/themes/Tokenizer.css +1 -1
  248. package/dist/css/themes/TokenizerPopover.css +1 -1
  249. package/dist/css/themes/Toolbar.css +1 -1
  250. package/dist/css/themes/ToolbarButton.css +1 -1
  251. package/dist/css/themes/ToolbarPopover.css +1 -1
  252. package/dist/css/themes/ToolbarSeparator.css +1 -1
  253. package/dist/css/themes/TreeItem.css +1 -1
  254. package/dist/css/themes/ValueStateMessage.css +1 -1
  255. package/dist/css/themes/ValueStateVariables.css +1 -1
  256. package/dist/css/themes/YearPicker.css +1 -1
  257. package/dist/css/themes/YearRangePicker.css +1 -1
  258. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  259. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  260. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  261. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  262. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  263. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  264. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  265. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  266. package/dist/custom-elements-internal.json +18291 -14738
  267. package/dist/custom-elements.json +15196 -11907
  268. package/dist/features/InputSuggestionsTemplate.d.ts +1 -0
  269. package/dist/features/InputSuggestionsTemplate.js +5 -3
  270. package/dist/features/InputSuggestionsTemplate.js.map +1 -1
  271. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  272. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  273. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  274. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  275. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  276. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  277. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  278. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  279. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  280. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  281. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  282. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  283. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  284. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  285. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  286. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  287. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  288. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  289. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  290. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  291. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  292. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  293. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  294. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  295. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  296. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  297. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  298. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  299. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  300. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  301. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  302. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  303. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  304. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  305. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  306. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  307. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  308. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  309. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  310. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  311. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  312. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  313. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  314. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  315. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  316. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  317. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  318. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  319. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  320. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  321. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  322. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  323. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  324. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  325. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  326. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  327. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  328. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  329. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  330. package/dist/generated/i18n/i18n-defaults.d.ts +20 -1
  331. package/dist/generated/i18n/i18n-defaults.js +22 -3
  332. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  333. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  334. package/dist/generated/themes/Avatar.css.js +1 -1
  335. package/dist/generated/themes/Avatar.css.js.map +1 -1
  336. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  337. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  338. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  339. package/dist/generated/themes/Bar.css.d.ts +1 -1
  340. package/dist/generated/themes/Bar.css.js +1 -1
  341. package/dist/generated/themes/Bar.css.js.map +1 -1
  342. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  343. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  344. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  345. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  346. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  347. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  348. package/dist/generated/themes/Button.css.d.ts +1 -1
  349. package/dist/generated/themes/Button.css.js +1 -1
  350. package/dist/generated/themes/Button.css.js.map +1 -1
  351. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  352. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  353. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  354. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  355. package/dist/generated/themes/Calendar.css.js +1 -1
  356. package/dist/generated/themes/Calendar.css.js.map +1 -1
  357. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  358. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  359. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  360. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  361. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  362. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  363. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  364. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  365. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  366. package/dist/generated/themes/Card.css.d.ts +1 -1
  367. package/dist/generated/themes/Card.css.js +1 -1
  368. package/dist/generated/themes/Card.css.js.map +1 -1
  369. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  370. package/dist/generated/themes/CardHeader.css.js +1 -1
  371. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  372. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  373. package/dist/generated/themes/Carousel.css.js +1 -1
  374. package/dist/generated/themes/Carousel.css.js.map +1 -1
  375. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  376. package/dist/generated/themes/CheckBox.css.js +1 -1
  377. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  378. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  379. package/dist/generated/themes/ColorPalette.css.js +1 -1
  380. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  381. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  382. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  383. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  384. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  385. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  386. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  387. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  388. package/dist/generated/themes/ColorPicker.css.js +1 -1
  389. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  390. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  391. package/dist/generated/themes/ComboBox.css.js +1 -1
  392. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  393. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  394. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  395. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  396. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  397. package/dist/generated/themes/DatePicker.css.js +1 -1
  398. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  399. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  400. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  401. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  402. package/dist/generated/themes/DateRangePicker.css.d.ts +1 -1
  403. package/dist/generated/themes/DateRangePicker.css.js +1 -1
  404. package/dist/generated/themes/DateRangePicker.css.js.map +1 -1
  405. package/dist/generated/themes/DateTimePicker.css.d.ts +1 -1
  406. package/dist/generated/themes/DateTimePicker.css.js +1 -1
  407. package/dist/generated/themes/DateTimePicker.css.js.map +1 -1
  408. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  409. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  410. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  411. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  412. package/dist/generated/themes/DayPicker.css.js +1 -1
  413. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  414. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  415. package/dist/generated/themes/Dialog.css.js +1 -1
  416. package/dist/generated/themes/Dialog.css.js.map +1 -1
  417. package/dist/generated/themes/DraggableElement.css.d.ts +1 -1
  418. package/dist/generated/themes/DraggableElement.css.js +1 -1
  419. package/dist/generated/themes/DraggableElement.css.js.map +1 -1
  420. package/dist/generated/themes/DropIndicator.css.d.ts +1 -1
  421. package/dist/generated/themes/DropIndicator.css.js +1 -1
  422. package/dist/generated/themes/DropIndicator.css.js.map +1 -1
  423. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  424. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  425. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  426. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  427. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  428. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  429. package/dist/generated/themes/ExpandableText.css.d.ts +1 -1
  430. package/dist/generated/themes/ExpandableText.css.js +1 -1
  431. package/dist/generated/themes/ExpandableText.css.js.map +1 -1
  432. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  433. package/dist/generated/themes/FileUploader.css.js +1 -1
  434. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  435. package/dist/generated/themes/Form.css.d.ts +1 -1
  436. package/dist/generated/themes/Form.css.js +1 -1
  437. package/dist/generated/themes/Form.css.js.map +1 -1
  438. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  439. package/dist/generated/themes/FormItem.css.js +1 -1
  440. package/dist/generated/themes/FormItem.css.js.map +1 -1
  441. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  442. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  443. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  444. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  445. package/dist/generated/themes/GrowingButton.css.js +1 -1
  446. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  447. package/dist/generated/themes/Icon.css.d.ts +1 -1
  448. package/dist/generated/themes/Icon.css.js +1 -1
  449. package/dist/generated/themes/Icon.css.js.map +1 -1
  450. package/dist/generated/themes/Input.css.d.ts +1 -1
  451. package/dist/generated/themes/Input.css.js +1 -1
  452. package/dist/generated/themes/Input.css.js.map +1 -1
  453. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  454. package/dist/generated/themes/InputIcon.css.js +1 -1
  455. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  456. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  457. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  458. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  459. package/dist/generated/themes/Label.css.d.ts +1 -1
  460. package/dist/generated/themes/Label.css.js +1 -1
  461. package/dist/generated/themes/Label.css.js.map +1 -1
  462. package/dist/generated/themes/Link.css.d.ts +1 -1
  463. package/dist/generated/themes/Link.css.js +1 -1
  464. package/dist/generated/themes/Link.css.js.map +1 -1
  465. package/dist/generated/themes/List.css.d.ts +1 -1
  466. package/dist/generated/themes/List.css.js +1 -1
  467. package/dist/generated/themes/List.css.js.map +1 -1
  468. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  469. package/dist/generated/themes/ListItem.css.js +1 -1
  470. package/dist/generated/themes/ListItem.css.js.map +1 -1
  471. package/dist/generated/themes/ListItemAdditionalText.css.d.ts +1 -1
  472. package/dist/generated/themes/ListItemAdditionalText.css.js +1 -1
  473. package/dist/generated/themes/ListItemAdditionalText.css.js.map +1 -1
  474. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  475. package/dist/generated/themes/ListItemBase.css.js +1 -1
  476. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  477. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  478. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  479. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  480. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  481. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  482. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  483. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  484. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  485. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  486. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  487. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  488. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  489. package/dist/generated/themes/Menu.css.d.ts +1 -1
  490. package/dist/generated/themes/Menu.css.js +1 -1
  491. package/dist/generated/themes/Menu.css.js.map +1 -1
  492. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  493. package/dist/generated/themes/MenuItem.css.js +1 -1
  494. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  495. package/dist/generated/themes/MenuSeparator.css.d.ts +1 -1
  496. package/dist/generated/themes/MenuSeparator.css.js +1 -1
  497. package/dist/generated/themes/MenuSeparator.css.js.map +1 -1
  498. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  499. package/dist/generated/themes/MessageStrip.css.js +1 -1
  500. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  501. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  502. package/dist/generated/themes/MonthPicker.css.js +1 -1
  503. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  504. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  505. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  506. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  507. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  508. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  509. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  510. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  511. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  512. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  513. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  514. package/dist/generated/themes/MultiInput.css.js +1 -1
  515. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  516. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  517. package/dist/generated/themes/OptionBase.css.js +1 -1
  518. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  519. package/dist/generated/themes/Panel.css.d.ts +1 -1
  520. package/dist/generated/themes/Panel.css.js +1 -1
  521. package/dist/generated/themes/Panel.css.js.map +1 -1
  522. package/dist/generated/themes/Popover.css.d.ts +1 -1
  523. package/dist/generated/themes/Popover.css.js +1 -1
  524. package/dist/generated/themes/Popover.css.js.map +1 -1
  525. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  526. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  527. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  528. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  529. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  530. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  531. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  532. package/dist/generated/themes/RadioButton.css.js +1 -1
  533. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  534. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  535. package/dist/generated/themes/RangeSlider.css.js +1 -1
  536. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  537. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  538. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  539. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  540. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  541. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  542. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  543. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  544. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  545. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  546. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  547. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  548. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  549. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  550. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  551. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  552. package/dist/generated/themes/Select.css.d.ts +1 -1
  553. package/dist/generated/themes/Select.css.js +1 -1
  554. package/dist/generated/themes/Select.css.js.map +1 -1
  555. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  556. package/dist/generated/themes/SliderBase.css.js +1 -1
  557. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  558. package/dist/generated/themes/SliderTooltip.css.d.ts +1 -1
  559. package/dist/generated/themes/SliderTooltip.css.js +1 -1
  560. package/dist/generated/themes/SliderTooltip.css.js.map +1 -1
  561. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  562. package/dist/generated/themes/SplitButton.css.js +1 -1
  563. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  564. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  565. package/dist/generated/themes/StepInput.css.js +1 -1
  566. package/dist/generated/themes/StepInput.css.js.map +1 -1
  567. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  568. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  569. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  570. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  571. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  572. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  573. package/dist/generated/themes/Suggestions.css.d.ts +1 -1
  574. package/dist/generated/themes/Suggestions.css.js +1 -1
  575. package/dist/generated/themes/Suggestions.css.js.map +1 -1
  576. package/dist/generated/themes/Switch.css.d.ts +1 -1
  577. package/dist/generated/themes/Switch.css.js +1 -1
  578. package/dist/generated/themes/Switch.css.js.map +1 -1
  579. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  580. package/dist/generated/themes/TabContainer.css.js +1 -1
  581. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  582. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  583. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  584. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  585. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  586. package/dist/generated/themes/TabInStrip.css.js +1 -1
  587. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  588. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  589. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  590. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  591. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  592. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  593. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  594. package/dist/generated/themes/TabSeparatorInStrip.css.d.ts +1 -1
  595. package/dist/generated/themes/TabSeparatorInStrip.css.js +1 -1
  596. package/dist/generated/themes/TabSeparatorInStrip.css.js.map +1 -1
  597. package/dist/generated/themes/Table.css.d.ts +1 -1
  598. package/dist/generated/themes/Table.css.js +1 -1
  599. package/dist/generated/themes/Table.css.js.map +1 -1
  600. package/dist/generated/themes/TableCell.css.d.ts +1 -1
  601. package/dist/generated/themes/TableCell.css.js +1 -1
  602. package/dist/generated/themes/TableCell.css.js.map +1 -1
  603. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  604. package/dist/generated/themes/TableCellBase.css.js +1 -1
  605. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  606. package/dist/generated/themes/TableGrowing.css.d.ts +1 -1
  607. package/dist/generated/themes/TableGrowing.css.js +1 -1
  608. package/dist/generated/themes/TableGrowing.css.js.map +1 -1
  609. package/dist/generated/themes/TableHeaderCell.css.d.ts +1 -1
  610. package/dist/generated/themes/TableHeaderCell.css.js +1 -1
  611. package/dist/generated/themes/TableHeaderCell.css.js.map +1 -1
  612. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  613. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  614. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  615. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  616. package/dist/generated/themes/TableRow.css.js +1 -1
  617. package/dist/generated/themes/TableRow.css.js.map +1 -1
  618. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  619. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  620. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  621. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  622. package/dist/generated/themes/TableRowBase.css.js +1 -1
  623. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  624. package/dist/generated/themes/Tag.css.d.ts +1 -1
  625. package/dist/generated/themes/Tag.css.js +1 -1
  626. package/dist/generated/themes/Tag.css.js.map +1 -1
  627. package/dist/generated/themes/Text.css.d.ts +1 -1
  628. package/dist/generated/themes/Text.css.js +1 -1
  629. package/dist/generated/themes/Text.css.js.map +1 -1
  630. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  631. package/dist/generated/themes/TextArea.css.js +1 -1
  632. package/dist/generated/themes/TextArea.css.js.map +1 -1
  633. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  634. package/dist/generated/themes/TimePicker.css.js +1 -1
  635. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  636. package/dist/generated/themes/TimePickerClock.css.d.ts +1 -1
  637. package/dist/generated/themes/TimePickerClock.css.js +1 -1
  638. package/dist/generated/themes/TimePickerClock.css.js.map +1 -1
  639. package/dist/generated/themes/TimeSelectionClocks.css.d.ts +1 -1
  640. package/dist/generated/themes/TimeSelectionClocks.css.js +1 -1
  641. package/dist/generated/themes/TimeSelectionClocks.css.js.map +1 -1
  642. package/dist/generated/themes/TimeSelectionInputs.css.d.ts +1 -1
  643. package/dist/generated/themes/TimeSelectionInputs.css.js +1 -1
  644. package/dist/generated/themes/TimeSelectionInputs.css.js.map +1 -1
  645. package/dist/generated/themes/Title.css.d.ts +1 -1
  646. package/dist/generated/themes/Title.css.js +1 -1
  647. package/dist/generated/themes/Title.css.js.map +1 -1
  648. package/dist/generated/themes/Toast.css.d.ts +1 -1
  649. package/dist/generated/themes/Toast.css.js +1 -1
  650. package/dist/generated/themes/Toast.css.js.map +1 -1
  651. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  652. package/dist/generated/themes/ToggleButton.css.js +1 -1
  653. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  654. package/dist/generated/themes/Token.css.d.ts +1 -1
  655. package/dist/generated/themes/Token.css.js +1 -1
  656. package/dist/generated/themes/Token.css.js.map +1 -1
  657. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  658. package/dist/generated/themes/Tokenizer.css.js +1 -1
  659. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  660. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  661. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  662. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  663. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  664. package/dist/generated/themes/Toolbar.css.js +1 -1
  665. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  666. package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
  667. package/dist/generated/themes/ToolbarButton.css.js +1 -1
  668. package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
  669. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  670. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  671. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  672. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  673. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  674. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  675. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  676. package/dist/generated/themes/TreeItem.css.js +1 -1
  677. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  678. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  679. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  680. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  681. package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
  682. package/dist/generated/themes/ValueStateVariables.css.js +1 -1
  683. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
  684. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  685. package/dist/generated/themes/YearPicker.css.js +1 -1
  686. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  687. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  688. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  689. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  690. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  691. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  692. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  693. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  694. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  695. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  696. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  697. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  698. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  699. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  700. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  701. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  702. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  703. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  704. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  705. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  706. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  707. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  708. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  709. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  710. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  711. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  712. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  713. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  714. package/dist/popup-utils/OpenedPopupsRegistry.js +1 -1
  715. package/dist/popup-utils/OpenedPopupsRegistry.js.map +1 -1
  716. package/dist/vscode.html-custom-data.json +700 -35
  717. package/dist/web-types.json +1701 -347
  718. package/package.json +9 -9
  719. package/src/BreadcrumbsTemplate.tsx +0 -1
  720. package/src/CalendarHeaderTemplate.tsx +10 -0
  721. package/src/CalendarTemplate.tsx +4 -4
  722. package/src/ColorPickerTemplate.tsx +1 -0
  723. package/src/DatePickerPopoverTemplate.tsx +3 -1
  724. package/src/DatePickerTemplate.tsx +1 -1
  725. package/src/DateRangePickerTemplate.tsx +1 -1
  726. package/src/DateTimePickerTemplate.tsx +1 -1
  727. package/src/DynamicDateRangePopoverTemplate.tsx +1 -1
  728. package/src/FileUploaderTemplate.tsx +2 -2
  729. package/src/InputPopoverTemplate.tsx +11 -5
  730. package/src/InputTemplate.tsx +4 -2
  731. package/src/MultiComboBoxPopoverTemplate.tsx +1 -0
  732. package/src/MultiInputTemplate.tsx +76 -1
  733. package/src/RangeSliderTemplate.tsx +12 -4
  734. package/src/SliderTemplate.tsx +5 -1
  735. package/src/SliderTooltipTemplate.tsx +2 -1
  736. package/src/TimePickerPopoverTemplate.tsx +24 -5
  737. package/src/features/InputSuggestionsTemplate.tsx +22 -19
  738. package/src/i18n/messagebundle.properties +57 -0
  739. package/src/i18n/messagebundle_ar.properties +32 -2
  740. package/src/i18n/messagebundle_bg.properties +32 -2
  741. package/src/i18n/messagebundle_ca.properties +32 -2
  742. package/src/i18n/messagebundle_cnr.properties +32 -2
  743. package/src/i18n/messagebundle_cs.properties +32 -2
  744. package/src/i18n/messagebundle_cy.properties +33 -3
  745. package/src/i18n/messagebundle_da.properties +32 -2
  746. package/src/i18n/messagebundle_de.properties +53 -23
  747. package/src/i18n/messagebundle_el.properties +33 -3
  748. package/src/i18n/messagebundle_en.properties +374 -2
  749. package/src/i18n/messagebundle_en_GB.properties +32 -2
  750. package/src/i18n/messagebundle_en_US_sappsd.properties +46 -2
  751. package/src/i18n/messagebundle_en_US_saprigi.properties +46 -2
  752. package/src/i18n/messagebundle_en_US_saptrc.properties +46 -2
  753. package/src/i18n/messagebundle_es.properties +32 -2
  754. package/src/i18n/messagebundle_es_MX.properties +32 -2
  755. package/src/i18n/messagebundle_et.properties +30 -0
  756. package/src/i18n/messagebundle_fi.properties +32 -2
  757. package/src/i18n/messagebundle_fr.properties +33 -3
  758. package/src/i18n/messagebundle_fr_CA.properties +33 -3
  759. package/src/i18n/messagebundle_hi.properties +32 -2
  760. package/src/i18n/messagebundle_hr.properties +32 -2
  761. package/src/i18n/messagebundle_hu.properties +33 -3
  762. package/src/i18n/messagebundle_id.properties +34 -4
  763. package/src/i18n/messagebundle_it.properties +32 -2
  764. package/src/i18n/messagebundle_iw.properties +32 -2
  765. package/src/i18n/messagebundle_ja.properties +32 -2
  766. package/src/i18n/messagebundle_kk.properties +36 -6
  767. package/src/i18n/messagebundle_ko.properties +32 -2
  768. package/src/i18n/messagebundle_lt.properties +34 -4
  769. package/src/i18n/messagebundle_lv.properties +31 -1
  770. package/src/i18n/messagebundle_mk.properties +33 -3
  771. package/src/i18n/messagebundle_ms.properties +33 -3
  772. package/src/i18n/messagebundle_nl.properties +32 -2
  773. package/src/i18n/messagebundle_no.properties +32 -2
  774. package/src/i18n/messagebundle_pl.properties +32 -2
  775. package/src/i18n/messagebundle_pt.properties +32 -2
  776. package/src/i18n/messagebundle_pt_PT.properties +32 -2
  777. package/src/i18n/messagebundle_ro.properties +32 -2
  778. package/src/i18n/messagebundle_ru.properties +34 -4
  779. package/src/i18n/messagebundle_sh.properties +32 -2
  780. package/src/i18n/messagebundle_sk.properties +32 -2
  781. package/src/i18n/messagebundle_sl.properties +32 -2
  782. package/src/i18n/messagebundle_sr.properties +32 -2
  783. package/src/i18n/messagebundle_sv.properties +33 -3
  784. package/src/i18n/messagebundle_th.properties +35 -5
  785. package/src/i18n/messagebundle_tr.properties +32 -2
  786. package/src/i18n/messagebundle_uk.properties +32 -2
  787. package/src/i18n/messagebundle_vi.properties +32 -2
  788. package/src/i18n/messagebundle_zh_CN.properties +32 -2
  789. package/src/i18n/messagebundle_zh_TW.properties +32 -2
  790. package/src/themes/Button.css +2 -2
  791. package/src/themes/Calendar.css +1 -2
  792. package/src/themes/CalendarHeader.css +6 -8
  793. package/src/themes/CheckBox.css +1 -0
  794. package/src/themes/DatePicker.css +1 -0
  795. package/src/themes/RadioButton.css +1 -0
  796. package/src/themes/RatingIndicator.css +2 -0
  797. package/src/themes/SliderBase.css +1 -1
  798. package/src/themes/StepInput.css +0 -1
  799. package/src/themes/Suggestions.css +4 -0
  800. package/src/themes/Switch.css +1 -0
  801. package/src/themes/TabInStrip.css +1 -1
  802. package/src/themes/TableGrowing.css +1 -0
  803. package/src/themes/Text.css +1 -1
  804. package/src/themes/Token.css +8 -3
  805. package/src/themes/base/rtl-parameters.css +3 -8
  806. package/src/themes/sap_horizon/SliderBase-parameters.css +2 -2
  807. package/src/themes/sap_horizon/rtl-parameters.css +1 -1
  808. package/src/themes/sap_horizon_dark/SliderBase-parameters.css +2 -2
  809. package/src/themes/sap_horizon_dark/rtl-parameters.css +1 -1
@@ -5,23 +5,27 @@ import Icon from "./Icon.js";
5
5
  import ResponsivePopover from "./ResponsivePopover.js";
6
6
  import TimeSelectionClocks from "./TimeSelectionClocks.js";
7
7
  import TimeSelectionInputs from "./TimeSelectionInputs.js";
8
+ import decline from "@ui5/webcomponents-icons/dist/decline.js";
8
9
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
9
10
  import error from "@ui5/webcomponents-icons/dist/error.js";
10
11
  import alert from "@ui5/webcomponents-icons/dist/alert.js";
11
12
  import sysEnter2 from "@ui5/webcomponents-icons/dist/sys-enter-2.js";
12
13
  import information from "@ui5/webcomponents-icons/dist/information.js";
13
14
  export default function TimePickerPopoverTemplate() {
14
- return (_jsxs(_Fragment, { children: [_jsxs(ResponsivePopover, { id: `${this._id}-responsive-popover`, class: "ui5-time-picker-popover", placement: "Bottom", horizontalAlign: "Start", opener: this, open: this.open, allowTargetOverlap: true, _hideHeader: !this.hasValueStateText, hideArrow: true, accessibleName: this.pickerAccessibleName, onClose: this.onResponsivePopoverAfterClose, onBeforeOpen: this.onResponsivePopoverBeforeOpen, onOpen: this.onResponsivePopoverAfterOpen, onWheel: this._handleWheel, onKeyDown: this._onkeydown, children: [this.shouldDisplayValueStateMessageInResponsivePopover && valueStateTextHeader.call(this), _jsx(TimeSelectionClocks, { id: `${this._id}-time-sel`, value: this._timeSelectionValue, formatPattern: this._formatPattern, onChange: this.onTimeSelectionChange, onClosePicker: this.submitPickers }), _jsxs("div", { slot: "footer", class: "ui5-time-picker-footer", children: [_jsx(Button, { id: "submit", design: "Emphasized", onClick: this.submitPickers, children: this.submitButtonLabel }), _jsx(Button, { id: "close", design: "Transparent", onClick: this._togglePicker, children: this.cancelButtonLabel })] })] }), this._isMobileDevice &&
15
- _jsxs(Popover, { id: `${this._id}-popover`, class: "ui5-time-picker-inputs-popover", placement: "Bottom", horizontalAlign: "Start", "allow-target-overlap": true, "_hide-header": true, "hide-arrow": true, onOpen: this.onInputsPopoverAfterOpen, onClose: this.onInputsPopoverAfterClose, onWheel: this._handleWheel, onKeyDown: this._onkeydown, children: [this.hasValueStateText && valueStateTextHeader.call(this, { "width": "100%" }), _jsx("div", { class: "popover-content", children: _jsx(TimeSelectionInputs, { id: `${this._id}-time-sel-inputs`, value: this._timeSelectionValue, formatPattern: this._formatPattern, onChange: this.onTimeSelectionChange, onCloseInputs: this.submitInputsPopover }) }), _jsxs("div", { slot: "footer", class: "ui5-time-picker-footer", children: [_jsx(Button, { id: "submitInputs", design: "Emphasized", onClick: this.submitInputsPopover, children: this.submitButtonLabel }), _jsx(Button, { id: "closeInputs", design: "Transparent", onClick: this.closeInputsPopover, children: this.cancelButtonLabel })] })] })] }));
15
+ return (_jsxs(_Fragment, { children: [_jsxs(ResponsivePopover, { id: `${this._id}-responsive-popover`, class: "ui5-time-picker-popover", placement: "Bottom", horizontalAlign: "Start", opener: this, open: this.open, allowTargetOverlap: true, _hideHeader: this._shouldHideHeader, hideArrow: true, accessibleName: this.pickerAccessibleName, onClose: this.onResponsivePopoverAfterClose, onBeforeOpen: this.onResponsivePopoverBeforeOpen, onOpen: this.onResponsivePopoverAfterOpen, onWheel: this._handleWheel, onKeyDown: this._onkeydown, children: [!!this.showHeader && defaultHeader.call(this), this.shouldDisplayValueStateMessageInResponsivePopover && valueStateTextHeader.call(this), _jsx(TimeSelectionClocks, { id: `${this._id}-time-sel`, value: this._timeSelectionValue, formatPattern: this._formatPattern, onChange: this.onTimeSelectionChange, onClosePicker: this.submitPickers }), _jsxs("div", { slot: "footer", class: "ui5-time-picker-footer", children: [_jsx(Button, { id: "submit", design: "Emphasized", onClick: this.submitPickers, children: this.submitButtonLabel }), _jsx(Button, { id: "close", design: "Transparent", onClick: this._togglePicker, children: this.cancelButtonLabel })] })] }), this._isMobileDevice &&
16
+ _jsxs(Popover, { id: `${this._id}-popover`, class: "ui5-time-picker-inputs-popover", placement: "Bottom", horizontalAlign: "Start", "allow-target-overlap": true, "_hide-header": true, "hide-arrow": true, onOpen: this.onInputsPopoverAfterOpen, onClose: this.onInputsPopoverAfterClose, onWheel: this._handleWheel, onKeyDown: this._onkeydown, children: [this.hasValueStateText && valueStateTextHeader.call(this), _jsx("div", { class: "popover-content", children: _jsx(TimeSelectionInputs, { id: `${this._id}-time-sel-inputs`, value: this._timeSelectionValue, formatPattern: this._formatPattern, onChange: this.onTimeSelectionChange, onCloseInputs: this.submitInputsPopover }) }), _jsxs("div", { slot: "footer", class: "ui5-time-picker-footer", children: [_jsx(Button, { id: "submitInputs", design: "Emphasized", onClick: this.submitInputsPopover, children: this.submitButtonLabel }), _jsx(Button, { id: "closeInputs", design: "Transparent", onClick: this.closeInputsPopover, children: this.cancelButtonLabel })] })] })] }));
17
+ }
18
+ function defaultHeader() {
19
+ return (_jsx("div", { slot: "header", class: "ui5-responsive-popover-header", 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._togglePicker })] }) }));
16
20
  }
17
21
  function valueStateMessage() {
18
22
  return (this.shouldDisplayDefaultValueStateMessage ? this.valueStateDefaultText : _jsx("slot", { name: "valueStateMessage" }));
19
23
  }
20
- function valueStateTextHeader(style) {
24
+ function valueStateTextHeader() {
21
25
  if (!this.hasValueStateText) {
22
26
  return;
23
27
  }
24
- return (_jsxs("div", { slot: "header", class: {
28
+ return (_jsxs("div", { slot: !this.showHeader ? "header" : undefined, class: {
25
29
  "ui5-popover-header": true,
26
30
  "ui5-valuestatemessage-header": true,
27
31
  "ui5-valuestatemessage-root": true,
@@ -29,7 +33,7 @@ function valueStateTextHeader(style) {
29
33
  "ui5-valuestatemessage--error": this.valueState === ValueState.Negative,
30
34
  "ui5-valuestatemessage--warning": this.valueState === ValueState.Critical,
31
35
  "ui5-valuestatemessage--information": this.valueState === ValueState.Information,
32
- }, style: style, children: [_jsx(Icon, { class: "ui5-input-value-state-message-icon", name: valueStateMessageInputIcon.call(this) }), valueStateMessage.call(this)] }));
36
+ }, children: [_jsx(Icon, { class: "ui5-input-value-state-message-icon", name: valueStateMessageInputIcon.call(this) }), valueStateMessage.call(this)] }));
33
37
  }
34
38
  function valueStateMessageInputIcon() {
35
39
  const iconPerValueState = {
@@ -1 +1 @@
1
- {"version":3,"file":"TimePickerPopoverTemplate.js","sourceRoot":"","sources":["../src/TimePickerPopoverTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type TimePicker from \"./TimePicker.js\";\nimport Button from \"./Button.js\";\nimport Popover from \"./Popover.js\";\nimport Icon from \"./Icon.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport TimeSelectionClocks from \"./TimeSelectionClocks.js\";\nimport TimeSelectionInputs from \"./TimeSelectionInputs.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport error from \"@ui5/webcomponents-icons/dist/error.js\";\nimport alert from \"@ui5/webcomponents-icons/dist/alert.js\";\nimport sysEnter2 from \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport information from \"@ui5/webcomponents-icons/dist/information.js\";\n\nexport default function TimePickerPopoverTemplate(this: TimePicker) {\n\treturn (\n\t\t<>\n\t\t\t<ResponsivePopover\n\t\t\t\tid={`${this._id}-responsive-popover`}\n\t\t\t\tclass=\"ui5-time-picker-popover\"\n\t\t\t\tplacement=\"Bottom\"\n\t\t\t\thorizontalAlign=\"Start\"\n\t\t\t\topener={this}\n\t\t\t\topen={this.open}\n\t\t\t\tallowTargetOverlap={true}\n\t\t\t\t_hideHeader={!this.hasValueStateText}\n\t\t\t\thideArrow={true}\n\t\t\t\taccessibleName={this.pickerAccessibleName}\n\t\t\t\tonClose={this.onResponsivePopoverAfterClose}\n\t\t\t\tonBeforeOpen={this.onResponsivePopoverBeforeOpen}\n\t\t\t\tonOpen={this.onResponsivePopoverAfterOpen}\n\t\t\t\tonWheel={this._handleWheel}\n\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t>\n\t\t\t\t{ this.shouldDisplayValueStateMessageInResponsivePopover && valueStateTextHeader.call(this) }\n\n\t\t\t\t<TimeSelectionClocks\n\t\t\t\t\tid={`${this._id}-time-sel`}\n\t\t\t\t\tvalue={this._timeSelectionValue}\n\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\tonChange={this.onTimeSelectionChange}\n\t\t\t\t\tonClosePicker={this.submitPickers}\n\t\t\t\t/>\n\n\t\t\t\t<div slot=\"footer\" class=\"ui5-time-picker-footer\">\n\t\t\t\t\t<Button id=\"submit\" design=\"Emphasized\" onClick={this.submitPickers}>{this.submitButtonLabel}</Button>\n\t\t\t\t\t<Button id=\"close\" design=\"Transparent\" onClick={this._togglePicker}>{this.cancelButtonLabel}</Button>\n\t\t\t\t</div>\n\t\t\t</ResponsivePopover>\n\n\t\t\t{this._isMobileDevice &&\n\t\t\t\t<Popover\n\t\t\t\t\tid={`${this._id}-popover`}\n\t\t\t\t\tclass=\"ui5-time-picker-inputs-popover\"\n\t\t\t\t\tplacement=\"Bottom\"\n\t\t\t\t\thorizontalAlign=\"Start\"\n\t\t\t\t\tallow-target-overlap\n\t\t\t\t\t_hide-header\n\t\t\t\t\thide-arrow\n\t\t\t\t\tonOpen={this.onInputsPopoverAfterOpen}\n\t\t\t\t\tonClose={this.onInputsPopoverAfterClose}\n\t\t\t\t\tonWheel={this._handleWheel}\n\t\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\t>\n\t\t\t\t\t{ this.hasValueStateText && valueStateTextHeader.call(this, { \"width\": \"100%\" }) }\n\n\t\t\t\t\t<div class=\"popover-content\">\n\t\t\t\t\t\t<TimeSelectionInputs\n\t\t\t\t\t\t\tid={`${this._id}-time-sel-inputs`}\n\t\t\t\t\t\t\tvalue={this._timeSelectionValue}\n\t\t\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\t\t\tonChange={this.onTimeSelectionChange}\n\t\t\t\t\t\t\tonCloseInputs={this.submitInputsPopover}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div slot=\"footer\" class=\"ui5-time-picker-footer\">\n\t\t\t\t\t\t<Button id=\"submitInputs\" design=\"Emphasized\" onClick={this.submitInputsPopover}>{this.submitButtonLabel}</Button>\n\t\t\t\t\t\t<Button id=\"closeInputs\" design=\"Transparent\" onClick={this.closeInputsPopover}>{this.cancelButtonLabel}</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t}\n\t\t</>\n\t);\n}\n\nfunction valueStateMessage(this: TimePicker) {\n\treturn (\n\t\tthis.shouldDisplayDefaultValueStateMessage ? this.valueStateDefaultText : <slot name=\"valueStateMessage\"></slot>\n\t);\n}\n\nfunction valueStateTextHeader(this: TimePicker, style?: Record<string, string>) {\n\tif (!this.hasValueStateText) {\n\t\treturn;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tslot=\"header\"\n\t\t\tclass={{\n\t\t\t\t\"ui5-popover-header\": true,\n\t\t\t\t\"ui5-valuestatemessage-header\": true,\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Positive,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Negative,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Critical,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t}}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<Icon class=\"ui5-input-value-state-message-icon\" name={valueStateMessageInputIcon.call(this)}/>\n\t\t\t{ valueStateMessage.call(this) }\n\t\t</div>\n\t);\n}\n\nfunction valueStateMessageInputIcon(this: TimePicker) {\n\tconst iconPerValueState = {\n\t\tNegative: error,\n\t\tCritical: alert,\n\t\tPositive: sysEnter2,\n\t\tInformation: information,\n\t};\n\n\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n}\n"]}
1
+ {"version":3,"file":"TimePickerPopoverTemplate.js","sourceRoot":"","sources":["../src/TimePickerPopoverTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type TimePicker from \"./TimePicker.js\";\nimport Button from \"./Button.js\";\nimport Popover from \"./Popover.js\";\nimport Icon from \"./Icon.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport TimeSelectionClocks from \"./TimeSelectionClocks.js\";\nimport TimeSelectionInputs from \"./TimeSelectionInputs.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport error from \"@ui5/webcomponents-icons/dist/error.js\";\nimport alert from \"@ui5/webcomponents-icons/dist/alert.js\";\nimport sysEnter2 from \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport information from \"@ui5/webcomponents-icons/dist/information.js\";\n\nexport default function TimePickerPopoverTemplate(this: TimePicker) {\n\treturn (\n\t\t<>\n\t\t\t<ResponsivePopover\n\t\t\t\tid={`${this._id}-responsive-popover`}\n\t\t\t\tclass=\"ui5-time-picker-popover\"\n\t\t\t\tplacement=\"Bottom\"\n\t\t\t\thorizontalAlign=\"Start\"\n\t\t\t\topener={this}\n\t\t\t\topen={this.open}\n\t\t\t\tallowTargetOverlap={true}\n\t\t\t\t_hideHeader={this._shouldHideHeader}\n\t\t\t\thideArrow={true}\n\t\t\t\taccessibleName={this.pickerAccessibleName}\n\t\t\t\tonClose={this.onResponsivePopoverAfterClose}\n\t\t\t\tonBeforeOpen={this.onResponsivePopoverBeforeOpen}\n\t\t\t\tonOpen={this.onResponsivePopoverAfterOpen}\n\t\t\t\tonWheel={this._handleWheel}\n\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t>\n\t\t\t\t{ !!this.showHeader && defaultHeader.call(this) }\n\n\t\t\t\t{ this.shouldDisplayValueStateMessageInResponsivePopover && valueStateTextHeader.call(this) }\n\n\t\t\t\t<TimeSelectionClocks\n\t\t\t\t\tid={`${this._id}-time-sel`}\n\t\t\t\t\tvalue={this._timeSelectionValue}\n\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\tonChange={this.onTimeSelectionChange}\n\t\t\t\t\tonClosePicker={this.submitPickers}\n\t\t\t\t/>\n\n\t\t\t\t<div slot=\"footer\" class=\"ui5-time-picker-footer\">\n\t\t\t\t\t<Button id=\"submit\" design=\"Emphasized\" onClick={this.submitPickers}>{this.submitButtonLabel}</Button>\n\t\t\t\t\t<Button id=\"close\" design=\"Transparent\" onClick={this._togglePicker}>{this.cancelButtonLabel}</Button>\n\t\t\t\t</div>\n\t\t\t</ResponsivePopover>\n\n\t\t\t{this._isMobileDevice &&\n\t\t\t\t<Popover\n\t\t\t\t\tid={`${this._id}-popover`}\n\t\t\t\t\tclass=\"ui5-time-picker-inputs-popover\"\n\t\t\t\t\tplacement=\"Bottom\"\n\t\t\t\t\thorizontalAlign=\"Start\"\n\t\t\t\t\tallow-target-overlap\n\t\t\t\t\t_hide-header\n\t\t\t\t\thide-arrow\n\t\t\t\t\tonOpen={this.onInputsPopoverAfterOpen}\n\t\t\t\t\tonClose={this.onInputsPopoverAfterClose}\n\t\t\t\t\tonWheel={this._handleWheel}\n\t\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\t>\n\t\t\t\t\t{ this.hasValueStateText && valueStateTextHeader.call(this) }\n\n\t\t\t\t\t<div class=\"popover-content\">\n\t\t\t\t\t\t<TimeSelectionInputs\n\t\t\t\t\t\t\tid={`${this._id}-time-sel-inputs`}\n\t\t\t\t\t\t\tvalue={this._timeSelectionValue}\n\t\t\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\t\t\tonChange={this.onTimeSelectionChange}\n\t\t\t\t\t\t\tonCloseInputs={this.submitInputsPopover}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div slot=\"footer\" class=\"ui5-time-picker-footer\">\n\t\t\t\t\t\t<Button id=\"submitInputs\" design=\"Emphasized\" onClick={this.submitInputsPopover}>{this.submitButtonLabel}</Button>\n\t\t\t\t\t\t<Button id=\"closeInputs\" design=\"Transparent\" onClick={this.closeInputsPopover}>{this.cancelButtonLabel}</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t}\n\t\t</>\n\t);\n}\n\nfunction defaultHeader(this: TimePicker) {\n\treturn (\n\t\t<div slot=\"header\" class=\"ui5-responsive-popover-header\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<span>{this._headerTitleText}</span>\n\t\t\t\t<Button\n\t\t\t\t\tclass=\"ui5-responsive-popover-close-btn\"\n\t\t\t\t\ticon={decline}\n\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\tonClick={this._togglePicker}\n\t\t\t\t>\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction valueStateMessage(this: TimePicker) {\n\treturn (\n\t\tthis.shouldDisplayDefaultValueStateMessage ? this.valueStateDefaultText : <slot name=\"valueStateMessage\"></slot>\n\t);\n}\n\nfunction valueStateTextHeader(this: TimePicker) {\n\tif (!this.hasValueStateText) {\n\t\treturn;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tslot={!this.showHeader ? \"header\" : undefined}\n\t\t\tclass={{\n\t\t\t\t\"ui5-popover-header\": true,\n\t\t\t\t\"ui5-valuestatemessage-header\": true,\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Positive,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Negative,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Critical,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t}}\n\t\t>\n\t\t\t<Icon class=\"ui5-input-value-state-message-icon\" name={valueStateMessageInputIcon.call(this)}/>\n\t\t\t{ valueStateMessage.call(this) }\n\t\t</div>\n\t);\n}\n\nfunction valueStateMessageInputIcon(this: TimePicker) {\n\tconst iconPerValueState = {\n\t\tNegative: error,\n\t\tCritical: alert,\n\t\tPositive: sysEnter2,\n\t\tInformation: information,\n\t};\n\n\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n}\n"]}
@@ -196,6 +196,8 @@ declare class Tokenizer extends UI5Element implements IFormInputElement {
196
196
  _previousToken: Token | null;
197
197
  _focusedElementBeforeOpen?: HTMLElement | null;
198
198
  _deletedDialogItems: Token[];
199
+ _lastFocusedToken: Token | null;
200
+ _isFocusSetInternally: boolean;
199
201
  /**
200
202
  * Scroll to end when tokenizer is expanded
201
203
  * @private
@@ -248,6 +250,12 @@ declare class Tokenizer extends UI5Element implements IFormInputElement {
248
250
  _onfocusin(e: FocusEvent): void;
249
251
  _addTokenToNavigation(token: Token): void;
250
252
  _onfocusout(e: FocusEvent): void;
253
+ /**
254
+ * Determines the DOM element to focus when the Tokenizer receives focus.
255
+ * If the last-focused token is not overflown, focus is restored to it.
256
+ * Otherwise, the focus defaults to the first visible token.
257
+ */
258
+ getFocusDomRef(): HTMLElement | undefined;
251
259
  _toggleTokenSelection(tokens: Array<Token>): void;
252
260
  _handleTokenSelection(e: KeyboardEvent | MouseEvent, deselectAll?: boolean): void;
253
261
  get hasTokens(): boolean;
package/dist/Tokenizer.js CHANGED
@@ -168,6 +168,8 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
168
168
  this._preventCollapse = false;
169
169
  this._skipTabIndex = false;
170
170
  this._previousToken = null;
171
+ this._lastFocusedToken = null;
172
+ this._isFocusSetInternally = false;
171
173
  /**
172
174
  * Scroll to end when tokenizer is expanded
173
175
  * @private
@@ -250,7 +252,7 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
250
252
  const tokensArray = this._tokens;
251
253
  const firstToken = tokensArray[0];
252
254
  this._nMoreCount = this.overflownTokens.length;
253
- if (firstToken && !this.disabled && !this.preventInitialFocus && !this._skipTabIndex) {
255
+ if (firstToken && !this.disabled && !this.preventInitialFocus && !this._skipTabIndex && !this._isFocusSetInternally) {
254
256
  firstToken.forcedTabIndex = "0";
255
257
  }
256
258
  if (this._scrollEnablement) {
@@ -601,6 +603,7 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
601
603
  }
602
604
  _onfocusin(e) {
603
605
  const target = e.target;
606
+ this._lastFocusedToken = target;
604
607
  if (target && target.toBeDeleted) {
605
608
  this._tokenDeleting = true;
606
609
  return;
@@ -622,6 +625,7 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
622
625
  this._skipTabIndex = true;
623
626
  if (!this.contains(relatedTarget)) {
624
627
  this._tokens[0].forcedTabIndex = "0";
628
+ this._isFocusSetInternally = false;
625
629
  this._skipTabIndex = false;
626
630
  }
627
631
  if (!this._tokenDeleting && !this._preventCollapse) {
@@ -629,6 +633,22 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
629
633
  this.expanded = false;
630
634
  }
631
635
  }
636
+ /**
637
+ * Determines the DOM element to focus when the Tokenizer receives focus.
638
+ * If the last-focused token is not overflown, focus is restored to it.
639
+ * Otherwise, the focus defaults to the first visible token.
640
+ */
641
+ getFocusDomRef() {
642
+ if (this._lastFocusedToken && !this.overflownTokens.includes(this._lastFocusedToken)) {
643
+ this._itemNav._currentIndex = this.tokens.indexOf(this._lastFocusedToken);
644
+ this._isFocusSetInternally = true;
645
+ this.tokens[0].forcedTabIndex = "-1";
646
+ }
647
+ else {
648
+ this._itemNav._currentIndex = 0;
649
+ }
650
+ return this._itemNav._getCurrentItem();
651
+ }
632
652
  _toggleTokenSelection(tokens) {
633
653
  if (!tokens || !tokens.length) {
634
654
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"Tokenizer.js","sourceRoot":"","sources":["../src/Tokenizer.ts"],"names":[],"mappings":"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","sourcesContent":["import 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 ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport { getFocusedElement } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport ScrollEnablement from \"@ui5/webcomponents-base/dist/delegate/ScrollEnablement.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport {\n\tisSpace,\n\tisSpaceCtrl,\n\tisSpaceShift,\n\tisLeftCtrl,\n\tisRightCtrl,\n\tisUpCtrl,\n\tisDownCtrl,\n\tisUpShift,\n\tisDownShift,\n\tisLeftShift,\n\tisRightShift,\n\tisLeftShiftCtrl,\n\tisRightShiftCtrl,\n\tisDeleteShift,\n\tisInsertCtrl,\n\tisEnd,\n\tisHome,\n\tisHomeShift,\n\tisEndShift,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisRight,\n\tisLeft,\n\tisUp,\n\tisDown,\n\tisEscape,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport type List from \"./List.js\";\nimport type { ListItemDeleteEventDetail } from \"./List.js\";\nimport ListSelectionMode from \"./types/ListSelectionMode.js\";\nimport type Token from \"./Token.js\";\nimport type { IToken } from \"./MultiInput.js\";\nimport type { TokenDeleteEventDetail } from \"./Token.js\";\nimport TokenizerTemplate from \"./TokenizerTemplate.js\";\nimport type Button from \"./Button.js\";\nimport {\n\tMULTIINPUT_SHOW_MORE_TOKENS,\n\tTOKENIZER_ARIA_LABEL,\n\tTOKENIZER_POPOVER_REMOVE,\n\tTOKENIZER_ARIA_CONTAIN_TOKEN,\n\tTOKENIZER_ARIA_CONTAIN_ONE_TOKEN,\n\tTOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS,\n\tTOKENIZER_SHOW_ALL_ITEMS,\n\tTOKENIZER_CLEAR_ALL,\n\tTOKENIZER_DIALOG_OK_BUTTON,\n\tTOKENIZER_DIALOG_CANCEL_BUTTON,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport TokenizerCss from \"./generated/themes/Tokenizer.css.js\";\nimport TokenizerPopoverCss from \"./generated/themes/TokenizerPopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\n\n// reuse suggestions focus styling for NMore popup\nimport SuggestionsCss from \"./generated/themes/Suggestions.css.js\";\nimport type ListItem from \"./ListItem.js\";\n\ntype TokenCountMapType = { [x: number]: I18nText };\n\ntype TokenizerTokenDeleteEventDetail = {\n\ttokens: Token[];\n}\n\ntype TokenizerSelectionChangeEventDetail = {\n\ttokens: Token[];\n}\n\ntype TokenizerDialogButtonPressDetail = {\n\tconfirm: boolean;\n}\n\nenum ClipboardDataOperation {\n\tcut = \"cut\",\n\tcopy = \"copy\",\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * A `ui5-tokenizer` is an invisible container for `ui5-token`s that supports keyboard navigation and token selection.\n *\n * The `ui5-tokenizer` consists of two parts:\n * - Tokens - displays the available tokens.\n * - N-more indicator - contains the number of the remaining tokens that cannot be displayed due to the limited space.\n *\n * ### Keyboard Handling\n *\n * #### Basic Navigation\n * The `ui5-tokenizer` provides advanced keyboard handling.\n * When a token is focused the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *\n * - [Left] or [Right] / [Up] or [Down] - Navigates left and right through the tokens.\n * - [Home] - Navigates to the first token.\n * - [End] - Navigates to the last token.\n *\n * The user can use the following keyboard shortcuts to perform actions (such as select, delete):\n *\n * - [Space] - Selects a token.\n * - [Backspace] / [Delete] - Deletes a token.\n * **Note:** The deletion of a token is handled by the application with the use of the `token-delete` event.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Tokenizer.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.0.0\n * @experimental This component is availabe since 2.0 under an experimental flag and its API and behaviour are subject to change.\n */\n@customElement({\n\ttag: \"ui5-tokenizer\",\n\tlanguageAware: true,\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\ttemplate: TokenizerTemplate,\n\tstyles: [\n\t\tTokenizerCss,\n\t\tResponsivePopoverCommonCss,\n\t\tSuggestionsCss,\n\t\tTokenizerPopoverCss,\n\t],\n})\n\n/**\n * Fired when tokens are being deleted (delete icon, delete or backspace is pressed)\n * @param {Array} tokens An array containing the deleted tokens.\n * @public\n */\n@event(\"token-delete\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when token selection is changed by user interaction\n *\n * @param {Array<Token>} tokens An array of the selected items.\n * @public\n */\n@event(\"selection-change\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when nMore link is pressed.\n * @private\n */\n@event(\"show-more-items-press\", {\n\tbubbles: true,\n})\n\n/**\n * Fired before nMore Popover is opened.\n * @private\n */\n@event(\"before-more-popover-open\", {\n\tbubbles: true,\n})\n\nclass Tokenizer extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\t\"token-delete\": TokenizerTokenDeleteEventDetail,\n\t\t\"selection-change\": TokenizerSelectionChangeEventDetail,\n\t\t\"show-more-items-press\": void,\n\t\t\"before-more-popover-open\": void,\n\t};\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Defines whether tokens are displayed on multiple lines.\n\t *\n\t * **Note:** The `multiLine` property is in an experimental state and is a subject to change.\n\t * @default false\n\t * @since 2.5.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmultiLine = 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({ type: String })\n\tdeclare name?: string;\n\n\t/**\n\t * Defines whether \"Clear All\" button is present. Ensure `multiLine` is enabled, otherwise `showClearAll` will have no effect.\n\t *\n\t * **Note:** The `showClearAll` property is in an experimental state and is a subject to change.\n\t * @default false\n\t * @since 2.5.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowClearAll = false;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Indicates if the tokenizer should show all tokens or n more label instead\n\t * **Note:** Used inside MultiInput and MultiComboBox components.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\texpanded = false;\n\n\t/**\n\t * Indicates if the nMore popover is open\n\t * **Note:** Used inside MultiInput and MultiComboBox components.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\topen = false\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the menu is shown at\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the tokenizer.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * **Note:** Used inside MultiInput and MultiComboBox components.\n\t * @private\n\t * @default undefined\n\t */\n\t@property({\n\t\tconverter: DOMReferenceConverter,\n\t})\n\topener?: HTMLElement | string | null;\n\n\t/**\n\t * Sets the min-width of the nMore Popover.\n\t * **Note:** Used inside MultiInput and MultiComboBox components.\n\t * @private\n\t */\n\t@property({ type: Number })\n\tpopoverMinWidth?: number;\n\n\t/**\n\t * Prevents tokens to be part of the tab chain.\n\t * **Note:** Used inside MultiInput, MultiComboBox and FileUploader components.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tpreventInitialFocus = false;\n\n\t/**\n\t * Prevent opening of n-more Popover when label is clicked\n\t * **Note:** Used inside MultiComboBox component.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tpreventPopoverOpen = false;\n\n\t/**\n\t * Hides the popover arrow.\n\t * **Note:** Used inside MultiInput and MultiComboBox components.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thidePopoverArrow = false;\n\n\t@property({ type: Number })\n\t_nMoreCount = 0;\n\n\t@property({ type: Number })\n\t_tokensCount = 0;\n\n\t/**\n\t * Defines the tokens to be displayed.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: [\"text\"],\n\t\t\tslots: false,\n\t\t},\n\t})\n\ttokens!: Array<Token>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\t_resizeHandler: ResizeObserverCallback;\n\t_itemNav: ItemNavigation;\n\t_scrollEnablement: ScrollEnablement | undefined;\n\t_expandedScrollWidth?: number;\n\t_tokenDeleting = false;\n\t_preventCollapse = false;\n\t_skipTabIndex = false;\n\t_previousToken: Token | null = null;\n\t_focusedElementBeforeOpen?: HTMLElement | null;\n\t_deletedDialogItems!: Token[];\n\t/**\n\t * Scroll to end when tokenizer is expanded\n\t * @private\n\t */\n\t_scrollToEndOnExpand = false;\n\n\t_handleResize() {\n\t\tthis._nMoreCount = this.overflownTokens.length;\n\t}\n\n\tget formFormattedValue(): FormData | null {\n\t\tconst tokens = this.tokens || [];\n\n\t\tif (this.name && tokens.length) {\n\t\t\tconst formData = new FormData();\n\t\t\tconst name = this.name;\n\n\t\t\ttokens.forEach(token => {\n\t\t\t\tformData.append(name, token.text || \"\");\n\t\t\t});\n\n\t\t\treturn formData;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._resizeHandler = this._handleResize.bind(this);\n\n\t\tthis._itemNav = new ItemNavigation(this, {\n\t\t\tcurrentIndex: -1,\n\t\t\tgetItemsCallback: this._getVisibleTokens.bind(this),\n\t\t});\n\n\t\tthis._deletedDialogItems = [];\n\t}\n\n\thandleClearAll() {\n\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: this._tokens });\n\t}\n\n\tonBeforeRendering() {\n\t\tif (!this.multiLine) {\n\t\t\tthis._scrollEnablement = new ScrollEnablement(this);\n\t\t}\n\n\t\tconst tokensLength = this._tokens.length;\n\t\tthis._tokensCount = tokensLength;\n\n\t\tthis._tokens.forEach(token => {\n\t\t\ttoken.singleToken = (tokensLength === 1) || this.multiLine;\n\t\t\ttoken.readonly = this.readonly;\n\t\t});\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._resizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t}\n\n\t_handleNMoreClick() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.expanded = true;\n\n\t\tif (!this.preventPopoverOpen) {\n\t\t\tthis.open = true;\n\t\t}\n\n\t\tthis._tokens.forEach(token => {\n\t\t\ttoken.forcedTabIndex = \"-1\";\n\t\t});\n\n\t\tthis._skipTabIndex = true;\n\n\t\tthis.fireDecoratorEvent(\"show-more-items-press\");\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tif ((e.target as HTMLElement).hasAttribute(\"ui5-token\")) {\n\t\t\tconst target = e.target as Token;\n\n\t\t\tif (this.open) {\n\t\t\t\tthis._preventCollapse = true;\n\t\t\t}\n\n\t\t\tif (!target.toBeDeleted) {\n\t\t\t\tthis._addTokenToNavigation(target);\n\t\t\t\tthis._scrollToToken(target);\n\t\t\t}\n\t\t}\n\t}\n\n\tonTokenSelect(e: CustomEvent) {\n\t\tconst tokens = this._tokens;\n\t\tconst firstToken = tokens[0];\n\t\tconst targetToken = e.target as Token;\n\n\t\tif (tokens.length === 1 && firstToken.isTruncatable) {\n\t\t\tthis.open = firstToken.selected;\n\t\t}\n\n\t\tif (this.multiLine && targetToken.isTruncatable) {\n\t\t\tthis.opener = targetToken;\n\t\t\tthis.open = targetToken.selected;\n\t\t}\n\t}\n\n\t_getVisibleTokens() {\n\t\tif (this.disabled) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn this._tokens.filter((token, index) => {\n\t\t\treturn index < (this._tokens.length - this._nMoreCount);\n\t\t});\n\t}\n\n\tonAfterRendering() {\n\t\tconst tokensArray = this._tokens;\n\t\tconst firstToken = tokensArray[0];\n\n\t\tthis._nMoreCount = this.overflownTokens.length;\n\n\t\tif (firstToken && !this.disabled && !this.preventInitialFocus && !this._skipTabIndex) {\n\t\t\tfirstToken.forcedTabIndex = \"0\";\n\t\t}\n\n\t\tif (this._scrollEnablement) {\n\t\t\tthis._scrollEnablement.scrollContainer = this.contentDom;\n\t\t}\n\n\t\tif (this.expanded) {\n\t\t\tthis._expandedScrollWidth = this.contentDom.scrollWidth;\n\t\t}\n\n\t\tthis._scrollToEndIfNeeded();\n\t\tthis._tokenDeleting = false;\n\t}\n\n\t/**\n\t * Scrolls the container to the end to ensure very long tokens are visible at their end.\n\t * Otherwise, tokens may appear visually cut off.\n\t * @protected\n\t */\n\t_scrollToEndIfNeeded() {\n\t\t// if scroll to end is prevented, skip scroll to the end\n\t\tif (!this._scrollToEndOnExpand) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.tokens.length || this.expanded) {\n\t\t\tthis.scrollToEnd();\n\t\t}\n\t}\n\n\t_delete(e: CustomEvent<TokenDeleteEventDetail>) {\n\t\tconst target = e.target as Token;\n\n\t\tif (!e.detail) { // if there are no details, the event is triggered by a click\n\t\t\tthis._tokenClickDelete(e, target);\n\t\t\tthis.open = false;\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.deleteToken(target, e.detail.backSpace);\n\t}\n\n\t_tokenClickDelete(e: CustomEvent<TokenDeleteEventDetail>, token: Token) {\n\t\tconst tokens = this._getVisibleTokens();\n\t\tconst target = e.target as Token;\n\t\tconst deletedTokenIndex = token ? tokens.indexOf(token) : tokens.indexOf(target); // The index of the token that just got deleted\n\t\tconst nextTokenIndex = deletedTokenIndex === tokens.length - 1 ? deletedTokenIndex - 1 : deletedTokenIndex + 1; // The index of the next token that needs to be focused next due to the deletion\n\t\tconst nextToken = tokens[nextTokenIndex]; // if the last item was deleted this will be undefined\n\n\t\tthis._handleCurrentItemAfterDeletion(nextToken);\n\n\t\tthis._tokenDeleting = true;\n\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: [token] });\n\t}\n\n\t_handleCurrentItemAfterDeletion(nextToken: Token) {\n\t\tif (nextToken && !isPhone()) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tnextToken.focus();\n\t\t\t}, 0);\n\t\t}\n\t}\n\n\t/**\n\t * Removes a token from the Tokenizer.\n\t * This method should only be used by ui5-multi-combobox and ui5-multi-input\n\t * @protected\n\t * @param token Token to be focused.\n\t * @param forwardFocusToPrevious Indicates whether the focus will be forwarded to previous or next token after deletion.\n\t */\n\tdeleteToken(token: Token, forwardFocusToPrevious?: boolean) {\n\t\tconst tokens = this._getVisibleTokens();\n\t\tconst deletedTokenIndex = tokens.indexOf(token);\n\t\tlet nextTokenIndex = (deletedTokenIndex === tokens.length - 1) ? deletedTokenIndex - 1 : deletedTokenIndex + 1;\n\t\tconst notSelectedTokens = tokens.filter(t => !t.selected);\n\n\t\tif (forwardFocusToPrevious) { // on backspace key select the previous item (unless deleting the first)\n\t\t\tnextTokenIndex = deletedTokenIndex === 0 ? deletedTokenIndex + 1 : deletedTokenIndex - 1;\n\t\t} else { // on delete key or mouse click on the \"x\" select the next item (unless deleting the last)\n\t\t\tnextTokenIndex = deletedTokenIndex === tokens.length - 1 ? deletedTokenIndex - 1 : deletedTokenIndex + 1;\n\t\t}\n\n\t\tlet nextToken = tokens[nextTokenIndex];\n\n\t\tif (notSelectedTokens.length > 1) {\n\t\t\twhile (nextToken && nextToken.selected) {\n\t\t\t\tnextTokenIndex = forwardFocusToPrevious ? --nextTokenIndex : ++nextTokenIndex;\n\n\t\t\t\tif (nextTokenIndex < 0) {\n\t\t\t\t\tnextToken = notSelectedTokens[0];\n\t\t\t\t}\n\n\t\t\t\tif (nextTokenIndex > notSelectedTokens.length) {\n\t\t\t\t\tnextToken = notSelectedTokens[notSelectedTokens.length - 1];\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tnextToken = notSelectedTokens[0];\n\t\t}\n\n\t\tthis._handleCurrentItemAfterDeletion(nextToken);\n\n\t\tthis._tokenDeleting = true;\n\n\t\tif (this._selectedTokens.length) {\n\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: this._selectedTokens });\n\t\t} else {\n\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: [token] });\n\t\t}\n\t}\n\n\tasync itemDelete(e: CustomEvent<ListItemDeleteEventDetail>) {\n\t\tconst token = this.getTokenByRefId(e.detail.item.getAttribute(\"data-ui5-token-ref-id\")!);\n\n\t\tconst tokensArray = this._tokens;\n\n\t\t// delay the token deletion in order to close the popover before removing token of the DOM\n\t\tif (tokensArray.length === 1) {\n\t\t\tconst morePopover = this.getPopover();\n\n\t\t\tmorePopover.addEventListener(\"ui5-close\", () => {\n\t\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: [token] });\n\t\t\t}, {\n\t\t\t\tonce: true,\n\t\t\t});\n\t\t\tthis.open = false;\n\t\t} else {\n\t\t\tif (isPhone()) {\n\t\t\t\tthis._deletedDialogItems.push(token);\n\t\t\t} else {\n\t\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: [token] });\n\t\t\t}\n\t\t\tconst currentListItem = e.detail.item as ListItem;\n\t\t\tconst nextListItem = currentListItem.nextElementSibling as ListItem;\n\t\t\tconst previousListItem = currentListItem.previousElementSibling as ListItem;\n\t\t\tconst focusItem = nextListItem || previousListItem;\n\n\t\t\tif (focusItem) {\n\t\t\t\tawait renderFinished();\n\t\t\t\tfocusItem.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\thandleBeforeClose() {\n\t\tif (!this._tokenDeleting && !this._preventCollapse) {\n\t\t\tthis._preventCollapse = false;\n\t\t\tthis.expanded = false;\n\t\t}\n\t}\n\n\thandleBeforeOpen() {\n\t\tconst list = this._getList();\n\t\tconst firstListItem = list.querySelectorAll(\"[ui5-li]\")[0] as ListItem;\n\n\t\tlist._itemNavigation.setCurrentItem(firstListItem);\n\n\t\tthis.fireDecoratorEvent(\"before-more-popover-open\");\n\t}\n\n\thandleAfterClose() {\n\t\tthis.open = false;\n\t\tthis._preventCollapse = false;\n\t\tthis._focusedElementBeforeOpen = null;\n\t}\n\n\thandleDialogButtonPress(e: UI5CustomEvent<Button, \"click\">) {\n\t\tconst isOkButton = (e.target as HTMLElement).hasAttribute(\"data-ui5-tokenizer-dialog-ok-button\");\n\t\tconst confirm = !!isOkButton;\n\n\t\tif (confirm && this._deletedDialogItems.length) {\n\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: this._deletedDialogItems });\n\t\t}\n\n\t\tthis.open = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isCtrl = !!(e.metaKey || e.ctrlKey);\n\n\t\tif ((isCtrl && [\"c\", \"x\"].includes(e.key.toLowerCase())) || isDeleteShift(e) || isInsertCtrl(e)) {\n\t\t\te.preventDefault();\n\n\t\t\tconst isCut = e.key.toLowerCase() === \"x\" || isDeleteShift(e);\n\t\t\tconst selectedTokens = this._tokens.filter(token => token.selected);\n\t\t\tconst focusedToken = selectedTokens.find(token => token.focused);\n\n\t\t\tif (isCut) {\n\t\t\t\tconst cutResult = this._fillClipboard(ClipboardDataOperation.cut, selectedTokens);\n\n\t\t\t\tfocusedToken && this.deleteToken(focusedToken);\n\n\t\t\t\treturn cutResult;\n\t\t\t}\n\n\t\t\treturn this._fillClipboard(ClipboardDataOperation.copy, selectedTokens);\n\t\t}\n\n\t\tif (isCtrl && e.key.toLowerCase() === \"i\" && this._tokens.length > 0) {\n\t\t\te.preventDefault();\n\n\t\t\tthis._preventCollapse = true;\n\t\t\tthis._focusedElementBeforeOpen = getFocusedElement();\n\n\t\t\tthis.open = true;\n\t\t}\n\n\t\tif (isSpaceShift(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isSpace(e) || isSpaceCtrl(e)) {\n\t\t\te.preventDefault();\n\n\t\t\treturn this._handleTokenSelection(e, false);\n\t\t}\n\n\t\tif (isHomeShift(e) || isPageUpShift(e)) {\n\t\t\tthis._handleHomeShift(e);\n\t\t}\n\n\t\tif (isEndShift(e) || isPageDownShift(e)) {\n\t\t\tthis._handleEndShift(e);\n\t\t}\n\n\t\tthis._handleItemNavigation(e, this._tokens);\n\t}\n\n\t_onPopoverListKeydown(e: KeyboardEvent) {\n\t\tconst isCtrl = !!(e.metaKey || e.ctrlKey);\n\n\t\tif ((isCtrl && e.key.toLowerCase() === \"i\") || isEscape(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.open = false;\n\n\t\t\tthis._preventCollapse = true;\n\t\t\tthis._focusedElementBeforeOpen && this._focusedElementBeforeOpen.focus();\n\n\t\t\tif (!this._focusedElementBeforeOpen) {\n\t\t\t\tthis._focusLastToken();\n\t\t\t}\n\t\t}\n\n\t\tif (e.key.toLowerCase() === \"f7\") {\n\t\t\te.preventDefault();\n\n\t\t\tconst eventTarget = e.target as ListItem;\n\t\t\tconst activeElement = getActiveElement();\n\n\t\t\tif (activeElement?.part.value === \"native-li\") {\n\t\t\t\teventTarget.shadowRoot!.querySelector<HTMLElement>(\"[part=delete-button]\")!.focus();\n\t\t\t} else {\n\t\t\t\teventTarget.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleItemNavigation(e: KeyboardEvent, tokens: Array<Token>) {\n\t\tconst isCtrl = !!(e.metaKey || e.ctrlKey);\n\t\tconst target = e.target as Token;\n\n\t\tif (isLeftCtrl(e) || isRightCtrl(e) || isDownCtrl(e) || isUpCtrl(e)) {\n\t\t\treturn this._handleArrowCtrl(e, target, tokens, isRightCtrl(e) || isDownCtrl(e));\n\t\t}\n\n\t\tif (isLeftShift(e) || isRightShift(e) || isUpShift(e) || isDownShift(e) || isLeftShiftCtrl(e) || isRightShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\treturn this._handleArrowShift(target, tokens, (isRightShift(e) || isRightShiftCtrl(e) || isDownShift(e)));\n\t\t}\n\n\t\tif (isHome(e) || isEnd(e) || isHomeCtrl(e) || isEndCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\treturn this._handleHome(tokens, isEnd(e) || isEndCtrl(e));\n\t\t}\n\n\t\tif (isCtrl && e.key.toLowerCase() === \"a\") {\n\t\t\te.preventDefault();\n\n\t\t\treturn this._toggleTokenSelection(tokens);\n\t\t}\n\n\t\tif (isLeft(e) || isRight(e) || isUp(e) || isDown(e)) {\n\t\t\te.preventDefault();\n\t\t\tconst nextTokenIdx = this._calcNextTokenIndex(this._tokens.find(token => token.focused)!, tokens, (isRight(e) || isDown(e)));\n\t\t\tthis._scrollToToken(tokens[nextTokenIdx]);\n\t\t}\n\t}\n\n\t_handleHome(tokens: Array<Token>, endKeyPressed: boolean) {\n\t\tif (!tokens || !tokens.length) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tconst index = endKeyPressed ? tokens.length - 1 : 0;\n\n\t\ttokens[index].focus();\n\t}\n\n\t_handleHomeShift(e: KeyboardEvent) {\n\t\tconst tokens = this._tokens;\n\t\tconst target = e.target as Token;\n\t\tconst currentTokenIdx = tokens.indexOf(target);\n\t\tconst previousSelectedTokens = [...this._selectedTokens];\n\n\t\ttokens.filter((token, index) => index <= currentTokenIdx).forEach(token => {\n\t\t\ttoken.selected = true;\n\t\t});\n\n\t\tconst selectedTokensChanged = JSON.stringify(previousSelectedTokens) !== JSON.stringify(this._selectedTokens);\n\n\t\tif (selectedTokensChanged) {\n\t\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\ttokens: this._selectedTokens,\n\t\t\t});\n\t\t}\n\n\t\ttokens[0].focus();\n\t}\n\n\t_handleEndShift(e: KeyboardEvent) {\n\t\tconst tokens = this._tokens;\n\t\tconst target = e.target as Token;\n\t\tconst currentTokenIdx = tokens.indexOf(target);\n\t\tconst previousSelectedTokens = [...this._selectedTokens];\n\n\t\ttokens.filter((token, index) => index >= currentTokenIdx).forEach(token => {\n\t\t\ttoken.selected = true;\n\t\t});\n\n\t\tconst selectedTokensChanged = JSON.stringify(previousSelectedTokens) !== JSON.stringify(this._selectedTokens);\n\n\t\tif (selectedTokensChanged) {\n\t\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\ttokens: this._selectedTokens,\n\t\t\t});\n\t\t}\n\n\t\ttokens[tokens.length - 1].focus();\n\t}\n\n\t_calcNextTokenIndex(focusedToken: IToken, tokens: Array<IToken>, backwards: boolean) {\n\t\tif (!tokens.length) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tconst focusedTokenIndex = tokens.indexOf(focusedToken);\n\t\tlet nextIndex = backwards ? (focusedTokenIndex + 1) : (focusedTokenIndex - 1);\n\n\t\tif (nextIndex >= tokens.length) {\n\t\t\tnextIndex = tokens.length - 1;\n\t\t}\n\n\t\tif (nextIndex < 0) {\n\t\t\tnextIndex = 0;\n\t\t}\n\n\t\treturn nextIndex;\n\t}\n\n\t_handleArrowCtrl(e: KeyboardEvent, focusedToken: IToken, tokens: Array<IToken>, backwards: boolean) {\n\t\tconst nextIndex = this._calcNextTokenIndex(focusedToken, tokens, backwards);\n\n\t\te.preventDefault();\n\n\t\tif (nextIndex === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\ttokens[nextIndex].focus();\n\t\t}, 0);\n\n\t\tthis._scrollToToken(tokens[nextIndex]);\n\t}\n\n\t_handleArrowShift(focusedToken: Token, tokens: Array<Token>, backwards: boolean) {\n\t\tconst focusedTokenIndex = tokens.indexOf(focusedToken);\n\t\tconst nextIndex = backwards ? (focusedTokenIndex + 1) : (focusedTokenIndex - 1);\n\t\tconst previousSelectedTokens = [...this._selectedTokens];\n\n\t\tif (nextIndex === -1 || nextIndex === tokens.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tfocusedToken.selected = true;\n\t\ttokens[nextIndex].selected = true;\n\n\t\tconst selectedTokensChanged = JSON.stringify(previousSelectedTokens) !== JSON.stringify(this._selectedTokens);\n\n\t\tif (selectedTokensChanged) {\n\t\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\ttokens: this._selectedTokens,\n\t\t\t});\n\t\t}\n\n\t\ttokens[nextIndex].focus();\n\n\t\tthis._scrollToToken(tokens[nextIndex]);\n\t}\n\n\t_click(e: MouseEvent) {\n\t\tif (e.metaKey || e.ctrlKey) {\n\t\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\ttokens: this._selectedTokens,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst targetToken = e.target as Token;\n\n\t\tif (!e.shiftKey) {\n\t\t\tthis._previousToken = targetToken;\n\t\t}\n\n\t\tlet focusedToken = targetToken;\n\n\t\tif (this._previousToken) {\n\t\t\tfocusedToken = this._previousToken;\n\t\t} else {\n\t\t\tthis._previousToken = focusedToken;\n\t\t}\n\n\t\tif (e.shiftKey) {\n\t\t\tconst tokensArray = this._tokens;\n\t\t\tconst lastClickedIndex = tokensArray.indexOf(targetToken);\n\t\t\tconst firstSelectedTokenIndex = tokensArray.indexOf(focusedToken);\n\t\t\tconst start = Math.min(lastClickedIndex, firstSelectedTokenIndex);\n\t\t\tconst end = Math.max(lastClickedIndex, firstSelectedTokenIndex);\n\n\t\t\tif (lastClickedIndex !== -1) {\n\t\t\t\ttokensArray.forEach((token, i) => {\n\t\t\t\t\ttoken.selected = i >= start && i <= end;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\ttokens: this._selectedTokens,\n\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis._handleTokenSelection(e);\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = e.target as Token;\n\n\t\tif (target && target.toBeDeleted) {\n\t\t\tthis._tokenDeleting = true;\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.open = false;\n\t\tthis.expanded = true;\n\t\tthis._addTokenToNavigation(e.target as Token);\n\t}\n\n\t_addTokenToNavigation(token: Token) {\n\t\tthis._scrollToEndOnExpand = false;\n\t\tthis._itemNav.setCurrentItem(token);\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tconst relatedTarget = e.relatedTarget as HTMLElement;\n\n\t\tthis._tokens.forEach(token => {\n\t\t\ttoken.forcedTabIndex = \"-1\";\n\t\t});\n\n\t\tthis._itemNav._currentIndex = -1;\n\t\tthis._skipTabIndex = true;\n\n\t\tif (!this.contains(relatedTarget)) {\n\t\t\tthis._tokens[0].forcedTabIndex = \"0\";\n\t\t\tthis._skipTabIndex = false;\n\t\t}\n\n\t\tif (!this._tokenDeleting && !this._preventCollapse) {\n\t\t\tthis._preventCollapse = false;\n\t\t\tthis.expanded = false;\n\t\t}\n\t}\n\n\t_toggleTokenSelection(tokens: Array<Token>) {\n\t\tif (!tokens || !tokens.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tokensAreSelected = tokens.every(token => token.selected);\n\t\ttokens.forEach(token => { token.selected = !tokensAreSelected; });\n\n\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\ttokens: this._selectedTokens,\n\t\t});\n\t}\n\n\t_handleTokenSelection(e: KeyboardEvent | MouseEvent, deselectAll = true) {\n\t\tconst target = e.target as Token;\n\n\t\tif (target.hasAttribute(\"ui5-token\")) {\n\t\t\tconst deselectTokens = deselectAll ? this._tokens : [];\n\n\t\t\tdeselectTokens.forEach(token => {\n\t\t\t\tif (token !== target) {\n\t\t\t\t\ttoken.selected = false;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\ttokens: this._selectedTokens,\n\t\t\t});\n\t\t}\n\t}\n\n\tget hasTokens() {\n\t\treturn this._tokens.length > 0;\n\t}\n\n\tget showEffectiveClearAll() {\n\t\treturn this.showClearAll && this.hasTokens && this.multiLine && !this.readonly;\n\t}\n\n\t_fillClipboard(shortcutName: ClipboardDataOperation, tokens: Array<IToken>) {\n\t\tconst tokensTexts = tokens.filter(token => token.selected).map(token => token.text).join(\"\\r\\n\");\n\n\t\tconst cutToClipboard = (e: ClipboardEvent) => {\n\t\t\tnavigator.clipboard.writeText(tokensTexts);\n\n\t\t\te.preventDefault();\n\t\t};\n\n\t\tdocument.addEventListener(shortcutName, cutToClipboard);\n\t\tdocument.execCommand(shortcutName);\n\t\tdocument.removeEventListener(shortcutName, cutToClipboard);\n\t}\n\n\t/**\n\t * Scrolls the container of the tokens to its beginning.\n\t * This method is used by MultiInput and MultiComboBox.\n\t * @protected\n\t */\n\tscrollToStart() {\n\t\tif (this._scrollEnablement?.scrollContainer) {\n\t\t\tthis._scrollEnablement?.scrollTo(0, 0);\n\t\t}\n\t}\n\n\t/**\n\t * Scrolls the container of the tokens to its end when expanded.\n\t * This method is used by MultiInput and MultiComboBox.\n\t * @protected\n\t */\n\tscrollToEnd() {\n\t\tconst expandedTokenizerScrollWidth = this.contentDom && (this.effectiveDir !== \"rtl\" ? this.contentDom.scrollWidth : -this.contentDom.scrollWidth);\n\t\tif (this._scrollEnablement?.scrollContainer) {\n\t\t\tthis._scrollEnablement?.scrollTo(expandedTokenizerScrollWidth, 0, 5, 10);\n\t\t}\n\t}\n\n\t/**\n\t * Scrolls token to the visible area of the container.\n\t * Adds 5 pixels to the scroll position to ensure padding and border visibility on both ends\n\t * For the last token, if its width is more than the needed space, scroll to the end without offset\n\t * @protected\n\t */\n\t_scrollToToken(token: IToken) {\n\t\tif (!this.contentDom) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tokenRect = token.getBoundingClientRect();\n\t\tconst tokenContainerRect = this.contentDom.getBoundingClientRect();\n\t\tconst oneSideBorderAndPaddingOffset = 5;\n\n\t\tconst isLastToken = this._tokens.indexOf(token as Token) === this._tokens.length - 1;\n\t\tif (isLastToken) {\n\t\t\tthis.scrollToEnd();\n\t\t\treturn;\n\t\t}\n\n\t\tif (tokenRect.left < tokenContainerRect.left) {\n\t\t\tthis._scrollEnablement?.scrollTo(this.contentDom.scrollLeft - (tokenContainerRect.left - tokenRect.left + oneSideBorderAndPaddingOffset), 0);\n\t\t} else if (tokenRect.right > tokenContainerRect.right) {\n\t\t\tthis._scrollEnablement?.scrollTo(this.contentDom.scrollLeft + (tokenRect.right - tokenContainerRect.right + oneSideBorderAndPaddingOffset), 0);\n\t\t}\n\t}\n\n\t_getList() {\n\t\treturn this.getPopover().querySelector<List>(\"[ui5-list]\")!;\n\t}\n\n\tget _tokens() {\n\t\treturn this.getSlottedNodes<Token>(\"tokens\");\n\t}\n\n\tget morePopoverOpener(): HTMLElement | string | null {\n\t\t// return this.opener ? this : this.opener;\n\t\tif (this.opener) {\n\t\t\treturn this.opener;\n\t\t}\n\t\treturn this;\n\t}\n\n\tget _nMoreText() {\n\t\tif (!this._nMoreCount) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._getVisibleTokens().length) {\n\t\t\treturn Tokenizer.i18nBundle.getText(MULTIINPUT_SHOW_MORE_TOKENS, this._nMoreCount);\n\t\t}\n\n\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_SHOW_ALL_ITEMS, this._nMoreCount);\n\t}\n\n\tget _clearAllText() {\n\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_CLEAR_ALL);\n\t}\n\n\tget showNMore() {\n\t\treturn !this.expanded && !!this.overflownTokens.length;\n\t}\n\n\tget contentDom() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tokenizer--content\")!;\n\t}\n\n\tget moreLink() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tokenizer-more-text\");\n\t}\n\n\tget tokenizerLabel() {\n\t\tconst effectiveLabelText = getEffectiveAriaLabelText(this);\n\t\treturn effectiveLabelText || Tokenizer.i18nBundle.getText(TOKENIZER_ARIA_LABEL);\n\t}\n\n\tget _okButtonText() {\n\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_DIALOG_OK_BUTTON);\n\t}\n\n\tget _cancelButtonText() {\n\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_DIALOG_CANCEL_BUTTON);\n\t}\n\n\tget tokenizerAriaDescription() {\n\t\treturn getEffectiveAriaLabelText(this) ? Tokenizer.i18nBundle.getText(TOKENIZER_ARIA_LABEL) : undefined;\n\t}\n\n\tget _ariaDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget _ariaReadonly() {\n\t\treturn this.readonly || undefined;\n\t}\n\n\tget morePopoverTitle() {\n\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_POPOVER_REMOVE);\n\t}\n\n\tget overflownTokens() {\n\t\tif (!this.contentDom) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst tokensArray = this._tokens;\n\n\t\t// Reset the overflow prop of the tokens first in order\n\t\t// to use their dimensions for calculation because already\n\t\t// hidden tokens are set to 'display: none'\n\t\ttokensArray.forEach(token => {\n\t\t\ttoken.overflows = false;\n\t\t});\n\n\t\treturn tokensArray.filter(token => {\n\t\t\tconst parentRect = this.contentDom.getBoundingClientRect();\n\t\t\tconst tokenRect = token.getBoundingClientRect();\n\t\t\tconst tokenEnd = Number(tokenRect.right.toFixed(2));\n\t\t\tconst parentEnd = Number(parentRect.right.toFixed(2));\n\t\t\tconst tokenStart = Number(tokenRect.left.toFixed(2));\n\t\t\tconst parentStart = Number(parentRect.left.toFixed(2));\n\n\t\t\ttoken.overflows = !this.expanded && ((tokenStart < parentStart) || (tokenEnd > parentEnd));\n\n\t\t\treturn token.overflows;\n\t\t});\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _selectedTokens() {\n\t\treturn this._tokens.filter(token => token.selected);\n\t}\n\n\tget _nMoreListMode() {\n\t\tif (this.readonly || this.disabled) {\n\t\t\treturn ListSelectionMode.None;\n\t\t}\n\n\t\treturn ListSelectionMode.Delete;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tpopover: {\n\t\t\t\t\"min-width\": this.popoverMinWidth ? `${this.popoverMinWidth}px` : `${this.getBoundingClientRect().width}px`,\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * @protected\n\t */\n\t_focusLastToken() {\n\t\tconst tokens = this._tokens;\n\t\tif (tokens.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst lastToken = tokens[tokens.length - 1];\n\t\tlastToken.focus();\n\t}\n\n\tgetPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tgetTokenByRefId(refId: string) {\n\t\treturn this._tokens.find(token => token._id === refId)!;\n\t}\n}\n\nconst getTokensCountText = (iTokenCount: number) => {\n\tconst tokenCountMap: TokenCountMapType = {\n\t\t0: TOKENIZER_ARIA_CONTAIN_TOKEN,\n\t\t1: TOKENIZER_ARIA_CONTAIN_ONE_TOKEN,\n\t};\n\n\tif (iTokenCount in tokenCountMap) {\n\t\treturn Tokenizer.i18nBundle.getText(tokenCountMap[iTokenCount]);\n\t}\n\n\treturn Tokenizer.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS, iTokenCount);\n};\n\nTokenizer.define();\n\nexport default Tokenizer;\nexport { getTokensCountText };\nexport { ClipboardDataOperation };\nexport type { TokenizerTokenDeleteEventDetail, TokenizerSelectionChangeEventDetail, TokenizerDialogButtonPressDetail };\n"]}
1
+ {"version":3,"file":"Tokenizer.js","sourceRoot":"","sources":["../src/Tokenizer.ts"],"names":[],"mappings":"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","sourcesContent":["import 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 ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport { getFocusedElement } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport ScrollEnablement from \"@ui5/webcomponents-base/dist/delegate/ScrollEnablement.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport {\n\tisSpace,\n\tisSpaceCtrl,\n\tisSpaceShift,\n\tisLeftCtrl,\n\tisRightCtrl,\n\tisUpCtrl,\n\tisDownCtrl,\n\tisUpShift,\n\tisDownShift,\n\tisLeftShift,\n\tisRightShift,\n\tisLeftShiftCtrl,\n\tisRightShiftCtrl,\n\tisDeleteShift,\n\tisInsertCtrl,\n\tisEnd,\n\tisHome,\n\tisHomeShift,\n\tisEndShift,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisRight,\n\tisLeft,\n\tisUp,\n\tisDown,\n\tisEscape,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport type List from \"./List.js\";\nimport type { ListItemDeleteEventDetail } from \"./List.js\";\nimport ListSelectionMode from \"./types/ListSelectionMode.js\";\nimport type Token from \"./Token.js\";\nimport type { IToken } from \"./MultiInput.js\";\nimport type { TokenDeleteEventDetail } from \"./Token.js\";\nimport TokenizerTemplate from \"./TokenizerTemplate.js\";\nimport type Button from \"./Button.js\";\nimport {\n\tMULTIINPUT_SHOW_MORE_TOKENS,\n\tTOKENIZER_ARIA_LABEL,\n\tTOKENIZER_POPOVER_REMOVE,\n\tTOKENIZER_ARIA_CONTAIN_TOKEN,\n\tTOKENIZER_ARIA_CONTAIN_ONE_TOKEN,\n\tTOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS,\n\tTOKENIZER_SHOW_ALL_ITEMS,\n\tTOKENIZER_CLEAR_ALL,\n\tTOKENIZER_DIALOG_OK_BUTTON,\n\tTOKENIZER_DIALOG_CANCEL_BUTTON,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport TokenizerCss from \"./generated/themes/Tokenizer.css.js\";\nimport TokenizerPopoverCss from \"./generated/themes/TokenizerPopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\n\n// reuse suggestions focus styling for NMore popup\nimport SuggestionsCss from \"./generated/themes/Suggestions.css.js\";\nimport type ListItem from \"./ListItem.js\";\n\ntype TokenCountMapType = { [x: number]: I18nText };\n\ntype TokenizerTokenDeleteEventDetail = {\n\ttokens: Token[];\n}\n\ntype TokenizerSelectionChangeEventDetail = {\n\ttokens: Token[];\n}\n\ntype TokenizerDialogButtonPressDetail = {\n\tconfirm: boolean;\n}\n\nenum ClipboardDataOperation {\n\tcut = \"cut\",\n\tcopy = \"copy\",\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * A `ui5-tokenizer` is an invisible container for `ui5-token`s that supports keyboard navigation and token selection.\n *\n * The `ui5-tokenizer` consists of two parts:\n * - Tokens - displays the available tokens.\n * - N-more indicator - contains the number of the remaining tokens that cannot be displayed due to the limited space.\n *\n * ### Keyboard Handling\n *\n * #### Basic Navigation\n * The `ui5-tokenizer` provides advanced keyboard handling.\n * When a token is focused the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *\n * - [Left] or [Right] / [Up] or [Down] - Navigates left and right through the tokens.\n * - [Home] - Navigates to the first token.\n * - [End] - Navigates to the last token.\n *\n * The user can use the following keyboard shortcuts to perform actions (such as select, delete):\n *\n * - [Space] - Selects a token.\n * - [Backspace] / [Delete] - Deletes a token.\n * **Note:** The deletion of a token is handled by the application with the use of the `token-delete` event.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Tokenizer.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.0.0\n * @experimental This component is availabe since 2.0 under an experimental flag and its API and behaviour are subject to change.\n */\n@customElement({\n\ttag: \"ui5-tokenizer\",\n\tlanguageAware: true,\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\ttemplate: TokenizerTemplate,\n\tstyles: [\n\t\tTokenizerCss,\n\t\tResponsivePopoverCommonCss,\n\t\tSuggestionsCss,\n\t\tTokenizerPopoverCss,\n\t],\n})\n\n/**\n * Fired when tokens are being deleted (delete icon, delete or backspace is pressed)\n * @param {Array} tokens An array containing the deleted tokens.\n * @public\n */\n@event(\"token-delete\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when token selection is changed by user interaction\n *\n * @param {Array<Token>} tokens An array of the selected items.\n * @public\n */\n@event(\"selection-change\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when nMore link is pressed.\n * @private\n */\n@event(\"show-more-items-press\", {\n\tbubbles: true,\n})\n\n/**\n * Fired before nMore Popover is opened.\n * @private\n */\n@event(\"before-more-popover-open\", {\n\tbubbles: true,\n})\n\nclass Tokenizer extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\t\"token-delete\": TokenizerTokenDeleteEventDetail,\n\t\t\"selection-change\": TokenizerSelectionChangeEventDetail,\n\t\t\"show-more-items-press\": void,\n\t\t\"before-more-popover-open\": void,\n\t};\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Defines whether tokens are displayed on multiple lines.\n\t *\n\t * **Note:** The `multiLine` property is in an experimental state and is a subject to change.\n\t * @default false\n\t * @since 2.5.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmultiLine = 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({ type: String })\n\tdeclare name?: string;\n\n\t/**\n\t * Defines whether \"Clear All\" button is present. Ensure `multiLine` is enabled, otherwise `showClearAll` will have no effect.\n\t *\n\t * **Note:** The `showClearAll` property is in an experimental state and is a subject to change.\n\t * @default false\n\t * @since 2.5.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowClearAll = false;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Indicates if the tokenizer should show all tokens or n more label instead\n\t * **Note:** Used inside MultiInput and MultiComboBox components.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\texpanded = false;\n\n\t/**\n\t * Indicates if the nMore popover is open\n\t * **Note:** Used inside MultiInput and MultiComboBox components.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\topen = false\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the menu is shown at\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the tokenizer.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * **Note:** Used inside MultiInput and MultiComboBox components.\n\t * @private\n\t * @default undefined\n\t */\n\t@property({\n\t\tconverter: DOMReferenceConverter,\n\t})\n\topener?: HTMLElement | string | null;\n\n\t/**\n\t * Sets the min-width of the nMore Popover.\n\t * **Note:** Used inside MultiInput and MultiComboBox components.\n\t * @private\n\t */\n\t@property({ type: Number })\n\tpopoverMinWidth?: number;\n\n\t/**\n\t * Prevents tokens to be part of the tab chain.\n\t * **Note:** Used inside MultiInput, MultiComboBox and FileUploader components.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tpreventInitialFocus = false;\n\n\t/**\n\t * Prevent opening of n-more Popover when label is clicked\n\t * **Note:** Used inside MultiComboBox component.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tpreventPopoverOpen = false;\n\n\t/**\n\t * Hides the popover arrow.\n\t * **Note:** Used inside MultiInput and MultiComboBox components.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thidePopoverArrow = false;\n\n\t@property({ type: Number })\n\t_nMoreCount = 0;\n\n\t@property({ type: Number })\n\t_tokensCount = 0;\n\n\t/**\n\t * Defines the tokens to be displayed.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: [\"text\"],\n\t\t\tslots: false,\n\t\t},\n\t})\n\ttokens!: Array<Token>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\t_resizeHandler: ResizeObserverCallback;\n\t_itemNav: ItemNavigation;\n\t_scrollEnablement: ScrollEnablement | undefined;\n\t_expandedScrollWidth?: number;\n\t_tokenDeleting = false;\n\t_preventCollapse = false;\n\t_skipTabIndex = false;\n\t_previousToken: Token | null = null;\n\t_focusedElementBeforeOpen?: HTMLElement | null;\n\t_deletedDialogItems!: Token[];\n\t_lastFocusedToken: Token | null = null;\n\t_isFocusSetInternally: boolean = false;\n\t/**\n\t * Scroll to end when tokenizer is expanded\n\t * @private\n\t */\n\t_scrollToEndOnExpand = false;\n\n\t_handleResize() {\n\t\tthis._nMoreCount = this.overflownTokens.length;\n\t}\n\n\tget formFormattedValue(): FormData | null {\n\t\tconst tokens = this.tokens || [];\n\n\t\tif (this.name && tokens.length) {\n\t\t\tconst formData = new FormData();\n\t\t\tconst name = this.name;\n\n\t\t\ttokens.forEach(token => {\n\t\t\t\tformData.append(name, token.text || \"\");\n\t\t\t});\n\n\t\t\treturn formData;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._resizeHandler = this._handleResize.bind(this);\n\n\t\tthis._itemNav = new ItemNavigation(this, {\n\t\t\tcurrentIndex: -1,\n\t\t\tgetItemsCallback: this._getVisibleTokens.bind(this),\n\t\t});\n\n\t\tthis._deletedDialogItems = [];\n\t}\n\n\thandleClearAll() {\n\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: this._tokens });\n\t}\n\n\tonBeforeRendering() {\n\t\tif (!this.multiLine) {\n\t\t\tthis._scrollEnablement = new ScrollEnablement(this);\n\t\t}\n\n\t\tconst tokensLength = this._tokens.length;\n\t\tthis._tokensCount = tokensLength;\n\n\t\tthis._tokens.forEach(token => {\n\t\t\ttoken.singleToken = (tokensLength === 1) || this.multiLine;\n\t\t\ttoken.readonly = this.readonly;\n\t\t});\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._resizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t}\n\n\t_handleNMoreClick() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.expanded = true;\n\n\t\tif (!this.preventPopoverOpen) {\n\t\t\tthis.open = true;\n\t\t}\n\n\t\tthis._tokens.forEach(token => {\n\t\t\ttoken.forcedTabIndex = \"-1\";\n\t\t});\n\n\t\tthis._skipTabIndex = true;\n\n\t\tthis.fireDecoratorEvent(\"show-more-items-press\");\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tif ((e.target as HTMLElement).hasAttribute(\"ui5-token\")) {\n\t\t\tconst target = e.target as Token;\n\n\t\t\tif (this.open) {\n\t\t\t\tthis._preventCollapse = true;\n\t\t\t}\n\n\t\t\tif (!target.toBeDeleted) {\n\t\t\t\tthis._addTokenToNavigation(target);\n\t\t\t\tthis._scrollToToken(target);\n\t\t\t}\n\t\t}\n\t}\n\n\tonTokenSelect(e: CustomEvent) {\n\t\tconst tokens = this._tokens;\n\t\tconst firstToken = tokens[0];\n\t\tconst targetToken = e.target as Token;\n\n\t\tif (tokens.length === 1 && firstToken.isTruncatable) {\n\t\t\tthis.open = firstToken.selected;\n\t\t}\n\n\t\tif (this.multiLine && targetToken.isTruncatable) {\n\t\t\tthis.opener = targetToken;\n\t\t\tthis.open = targetToken.selected;\n\t\t}\n\t}\n\n\t_getVisibleTokens() {\n\t\tif (this.disabled) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn this._tokens.filter((token, index) => {\n\t\t\treturn index < (this._tokens.length - this._nMoreCount);\n\t\t});\n\t}\n\n\tonAfterRendering() {\n\t\tconst tokensArray = this._tokens;\n\t\tconst firstToken = tokensArray[0];\n\n\t\tthis._nMoreCount = this.overflownTokens.length;\n\n\t\tif (firstToken && !this.disabled && !this.preventInitialFocus && !this._skipTabIndex && !this._isFocusSetInternally) {\n\t\t\tfirstToken.forcedTabIndex = \"0\";\n\t\t}\n\n\t\tif (this._scrollEnablement) {\n\t\t\tthis._scrollEnablement.scrollContainer = this.contentDom;\n\t\t}\n\n\t\tif (this.expanded) {\n\t\t\tthis._expandedScrollWidth = this.contentDom.scrollWidth;\n\t\t}\n\n\t\tthis._scrollToEndIfNeeded();\n\t\tthis._tokenDeleting = false;\n\t}\n\n\t/**\n\t * Scrolls the container to the end to ensure very long tokens are visible at their end.\n\t * Otherwise, tokens may appear visually cut off.\n\t * @protected\n\t */\n\t_scrollToEndIfNeeded() {\n\t\t// if scroll to end is prevented, skip scroll to the end\n\t\tif (!this._scrollToEndOnExpand) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.tokens.length || this.expanded) {\n\t\t\tthis.scrollToEnd();\n\t\t}\n\t}\n\n\t_delete(e: CustomEvent<TokenDeleteEventDetail>) {\n\t\tconst target = e.target as Token;\n\n\t\tif (!e.detail) { // if there are no details, the event is triggered by a click\n\t\t\tthis._tokenClickDelete(e, target);\n\t\t\tthis.open = false;\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.deleteToken(target, e.detail.backSpace);\n\t}\n\n\t_tokenClickDelete(e: CustomEvent<TokenDeleteEventDetail>, token: Token) {\n\t\tconst tokens = this._getVisibleTokens();\n\t\tconst target = e.target as Token;\n\t\tconst deletedTokenIndex = token ? tokens.indexOf(token) : tokens.indexOf(target); // The index of the token that just got deleted\n\t\tconst nextTokenIndex = deletedTokenIndex === tokens.length - 1 ? deletedTokenIndex - 1 : deletedTokenIndex + 1; // The index of the next token that needs to be focused next due to the deletion\n\t\tconst nextToken = tokens[nextTokenIndex]; // if the last item was deleted this will be undefined\n\n\t\tthis._handleCurrentItemAfterDeletion(nextToken);\n\n\t\tthis._tokenDeleting = true;\n\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: [token] });\n\t}\n\n\t_handleCurrentItemAfterDeletion(nextToken: Token) {\n\t\tif (nextToken && !isPhone()) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tnextToken.focus();\n\t\t\t}, 0);\n\t\t}\n\t}\n\n\t/**\n\t * Removes a token from the Tokenizer.\n\t * This method should only be used by ui5-multi-combobox and ui5-multi-input\n\t * @protected\n\t * @param token Token to be focused.\n\t * @param forwardFocusToPrevious Indicates whether the focus will be forwarded to previous or next token after deletion.\n\t */\n\tdeleteToken(token: Token, forwardFocusToPrevious?: boolean) {\n\t\tconst tokens = this._getVisibleTokens();\n\t\tconst deletedTokenIndex = tokens.indexOf(token);\n\t\tlet nextTokenIndex = (deletedTokenIndex === tokens.length - 1) ? deletedTokenIndex - 1 : deletedTokenIndex + 1;\n\t\tconst notSelectedTokens = tokens.filter(t => !t.selected);\n\n\t\tif (forwardFocusToPrevious) { // on backspace key select the previous item (unless deleting the first)\n\t\t\tnextTokenIndex = deletedTokenIndex === 0 ? deletedTokenIndex + 1 : deletedTokenIndex - 1;\n\t\t} else { // on delete key or mouse click on the \"x\" select the next item (unless deleting the last)\n\t\t\tnextTokenIndex = deletedTokenIndex === tokens.length - 1 ? deletedTokenIndex - 1 : deletedTokenIndex + 1;\n\t\t}\n\n\t\tlet nextToken = tokens[nextTokenIndex];\n\n\t\tif (notSelectedTokens.length > 1) {\n\t\t\twhile (nextToken && nextToken.selected) {\n\t\t\t\tnextTokenIndex = forwardFocusToPrevious ? --nextTokenIndex : ++nextTokenIndex;\n\n\t\t\t\tif (nextTokenIndex < 0) {\n\t\t\t\t\tnextToken = notSelectedTokens[0];\n\t\t\t\t}\n\n\t\t\t\tif (nextTokenIndex > notSelectedTokens.length) {\n\t\t\t\t\tnextToken = notSelectedTokens[notSelectedTokens.length - 1];\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tnextToken = notSelectedTokens[0];\n\t\t}\n\n\t\tthis._handleCurrentItemAfterDeletion(nextToken);\n\n\t\tthis._tokenDeleting = true;\n\n\t\tif (this._selectedTokens.length) {\n\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: this._selectedTokens });\n\t\t} else {\n\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: [token] });\n\t\t}\n\t}\n\n\tasync itemDelete(e: CustomEvent<ListItemDeleteEventDetail>) {\n\t\tconst token = this.getTokenByRefId(e.detail.item.getAttribute(\"data-ui5-token-ref-id\")!);\n\n\t\tconst tokensArray = this._tokens;\n\n\t\t// delay the token deletion in order to close the popover before removing token of the DOM\n\t\tif (tokensArray.length === 1) {\n\t\t\tconst morePopover = this.getPopover();\n\n\t\t\tmorePopover.addEventListener(\"ui5-close\", () => {\n\t\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: [token] });\n\t\t\t}, {\n\t\t\t\tonce: true,\n\t\t\t});\n\t\t\tthis.open = false;\n\t\t} else {\n\t\t\tif (isPhone()) {\n\t\t\t\tthis._deletedDialogItems.push(token);\n\t\t\t} else {\n\t\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: [token] });\n\t\t\t}\n\t\t\tconst currentListItem = e.detail.item as ListItem;\n\t\t\tconst nextListItem = currentListItem.nextElementSibling as ListItem;\n\t\t\tconst previousListItem = currentListItem.previousElementSibling as ListItem;\n\t\t\tconst focusItem = nextListItem || previousListItem;\n\n\t\t\tif (focusItem) {\n\t\t\t\tawait renderFinished();\n\t\t\t\tfocusItem.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\thandleBeforeClose() {\n\t\tif (!this._tokenDeleting && !this._preventCollapse) {\n\t\t\tthis._preventCollapse = false;\n\t\t\tthis.expanded = false;\n\t\t}\n\t}\n\n\thandleBeforeOpen() {\n\t\tconst list = this._getList();\n\t\tconst firstListItem = list.querySelectorAll(\"[ui5-li]\")[0] as ListItem;\n\n\t\tlist._itemNavigation.setCurrentItem(firstListItem);\n\n\t\tthis.fireDecoratorEvent(\"before-more-popover-open\");\n\t}\n\n\thandleAfterClose() {\n\t\tthis.open = false;\n\t\tthis._preventCollapse = false;\n\t\tthis._focusedElementBeforeOpen = null;\n\t}\n\n\thandleDialogButtonPress(e: UI5CustomEvent<Button, \"click\">) {\n\t\tconst isOkButton = (e.target as HTMLElement).hasAttribute(\"data-ui5-tokenizer-dialog-ok-button\");\n\t\tconst confirm = !!isOkButton;\n\n\t\tif (confirm && this._deletedDialogItems.length) {\n\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: this._deletedDialogItems });\n\t\t}\n\n\t\tthis.open = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isCtrl = !!(e.metaKey || e.ctrlKey);\n\n\t\tif ((isCtrl && [\"c\", \"x\"].includes(e.key.toLowerCase())) || isDeleteShift(e) || isInsertCtrl(e)) {\n\t\t\te.preventDefault();\n\n\t\t\tconst isCut = e.key.toLowerCase() === \"x\" || isDeleteShift(e);\n\t\t\tconst selectedTokens = this._tokens.filter(token => token.selected);\n\t\t\tconst focusedToken = selectedTokens.find(token => token.focused);\n\n\t\t\tif (isCut) {\n\t\t\t\tconst cutResult = this._fillClipboard(ClipboardDataOperation.cut, selectedTokens);\n\n\t\t\t\tfocusedToken && this.deleteToken(focusedToken);\n\n\t\t\t\treturn cutResult;\n\t\t\t}\n\n\t\t\treturn this._fillClipboard(ClipboardDataOperation.copy, selectedTokens);\n\t\t}\n\n\t\tif (isCtrl && e.key.toLowerCase() === \"i\" && this._tokens.length > 0) {\n\t\t\te.preventDefault();\n\n\t\t\tthis._preventCollapse = true;\n\t\t\tthis._focusedElementBeforeOpen = getFocusedElement();\n\n\t\t\tthis.open = true;\n\t\t}\n\n\t\tif (isSpaceShift(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isSpace(e) || isSpaceCtrl(e)) {\n\t\t\te.preventDefault();\n\n\t\t\treturn this._handleTokenSelection(e, false);\n\t\t}\n\n\t\tif (isHomeShift(e) || isPageUpShift(e)) {\n\t\t\tthis._handleHomeShift(e);\n\t\t}\n\n\t\tif (isEndShift(e) || isPageDownShift(e)) {\n\t\t\tthis._handleEndShift(e);\n\t\t}\n\n\t\tthis._handleItemNavigation(e, this._tokens);\n\t}\n\n\t_onPopoverListKeydown(e: KeyboardEvent) {\n\t\tconst isCtrl = !!(e.metaKey || e.ctrlKey);\n\n\t\tif ((isCtrl && e.key.toLowerCase() === \"i\") || isEscape(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.open = false;\n\n\t\t\tthis._preventCollapse = true;\n\t\t\tthis._focusedElementBeforeOpen && this._focusedElementBeforeOpen.focus();\n\n\t\t\tif (!this._focusedElementBeforeOpen) {\n\t\t\t\tthis._focusLastToken();\n\t\t\t}\n\t\t}\n\n\t\tif (e.key.toLowerCase() === \"f7\") {\n\t\t\te.preventDefault();\n\n\t\t\tconst eventTarget = e.target as ListItem;\n\t\t\tconst activeElement = getActiveElement();\n\n\t\t\tif (activeElement?.part.value === \"native-li\") {\n\t\t\t\teventTarget.shadowRoot!.querySelector<HTMLElement>(\"[part=delete-button]\")!.focus();\n\t\t\t} else {\n\t\t\t\teventTarget.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleItemNavigation(e: KeyboardEvent, tokens: Array<Token>) {\n\t\tconst isCtrl = !!(e.metaKey || e.ctrlKey);\n\t\tconst target = e.target as Token;\n\n\t\tif (isLeftCtrl(e) || isRightCtrl(e) || isDownCtrl(e) || isUpCtrl(e)) {\n\t\t\treturn this._handleArrowCtrl(e, target, tokens, isRightCtrl(e) || isDownCtrl(e));\n\t\t}\n\n\t\tif (isLeftShift(e) || isRightShift(e) || isUpShift(e) || isDownShift(e) || isLeftShiftCtrl(e) || isRightShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\treturn this._handleArrowShift(target, tokens, (isRightShift(e) || isRightShiftCtrl(e) || isDownShift(e)));\n\t\t}\n\n\t\tif (isHome(e) || isEnd(e) || isHomeCtrl(e) || isEndCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\treturn this._handleHome(tokens, isEnd(e) || isEndCtrl(e));\n\t\t}\n\n\t\tif (isCtrl && e.key.toLowerCase() === \"a\") {\n\t\t\te.preventDefault();\n\n\t\t\treturn this._toggleTokenSelection(tokens);\n\t\t}\n\n\t\tif (isLeft(e) || isRight(e) || isUp(e) || isDown(e)) {\n\t\t\te.preventDefault();\n\t\t\tconst nextTokenIdx = this._calcNextTokenIndex(this._tokens.find(token => token.focused)!, tokens, (isRight(e) || isDown(e)));\n\t\t\tthis._scrollToToken(tokens[nextTokenIdx]);\n\t\t}\n\t}\n\n\t_handleHome(tokens: Array<Token>, endKeyPressed: boolean) {\n\t\tif (!tokens || !tokens.length) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tconst index = endKeyPressed ? tokens.length - 1 : 0;\n\n\t\ttokens[index].focus();\n\t}\n\n\t_handleHomeShift(e: KeyboardEvent) {\n\t\tconst tokens = this._tokens;\n\t\tconst target = e.target as Token;\n\t\tconst currentTokenIdx = tokens.indexOf(target);\n\t\tconst previousSelectedTokens = [...this._selectedTokens];\n\n\t\ttokens.filter((token, index) => index <= currentTokenIdx).forEach(token => {\n\t\t\ttoken.selected = true;\n\t\t});\n\n\t\tconst selectedTokensChanged = JSON.stringify(previousSelectedTokens) !== JSON.stringify(this._selectedTokens);\n\n\t\tif (selectedTokensChanged) {\n\t\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\ttokens: this._selectedTokens,\n\t\t\t});\n\t\t}\n\n\t\ttokens[0].focus();\n\t}\n\n\t_handleEndShift(e: KeyboardEvent) {\n\t\tconst tokens = this._tokens;\n\t\tconst target = e.target as Token;\n\t\tconst currentTokenIdx = tokens.indexOf(target);\n\t\tconst previousSelectedTokens = [...this._selectedTokens];\n\n\t\ttokens.filter((token, index) => index >= currentTokenIdx).forEach(token => {\n\t\t\ttoken.selected = true;\n\t\t});\n\n\t\tconst selectedTokensChanged = JSON.stringify(previousSelectedTokens) !== JSON.stringify(this._selectedTokens);\n\n\t\tif (selectedTokensChanged) {\n\t\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\ttokens: this._selectedTokens,\n\t\t\t});\n\t\t}\n\n\t\ttokens[tokens.length - 1].focus();\n\t}\n\n\t_calcNextTokenIndex(focusedToken: IToken, tokens: Array<IToken>, backwards: boolean) {\n\t\tif (!tokens.length) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tconst focusedTokenIndex = tokens.indexOf(focusedToken);\n\t\tlet nextIndex = backwards ? (focusedTokenIndex + 1) : (focusedTokenIndex - 1);\n\n\t\tif (nextIndex >= tokens.length) {\n\t\t\tnextIndex = tokens.length - 1;\n\t\t}\n\n\t\tif (nextIndex < 0) {\n\t\t\tnextIndex = 0;\n\t\t}\n\n\t\treturn nextIndex;\n\t}\n\n\t_handleArrowCtrl(e: KeyboardEvent, focusedToken: IToken, tokens: Array<IToken>, backwards: boolean) {\n\t\tconst nextIndex = this._calcNextTokenIndex(focusedToken, tokens, backwards);\n\n\t\te.preventDefault();\n\n\t\tif (nextIndex === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\ttokens[nextIndex].focus();\n\t\t}, 0);\n\n\t\tthis._scrollToToken(tokens[nextIndex]);\n\t}\n\n\t_handleArrowShift(focusedToken: Token, tokens: Array<Token>, backwards: boolean) {\n\t\tconst focusedTokenIndex = tokens.indexOf(focusedToken);\n\t\tconst nextIndex = backwards ? (focusedTokenIndex + 1) : (focusedTokenIndex - 1);\n\t\tconst previousSelectedTokens = [...this._selectedTokens];\n\n\t\tif (nextIndex === -1 || nextIndex === tokens.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tfocusedToken.selected = true;\n\t\ttokens[nextIndex].selected = true;\n\n\t\tconst selectedTokensChanged = JSON.stringify(previousSelectedTokens) !== JSON.stringify(this._selectedTokens);\n\n\t\tif (selectedTokensChanged) {\n\t\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\ttokens: this._selectedTokens,\n\t\t\t});\n\t\t}\n\n\t\ttokens[nextIndex].focus();\n\n\t\tthis._scrollToToken(tokens[nextIndex]);\n\t}\n\n\t_click(e: MouseEvent) {\n\t\tif (e.metaKey || e.ctrlKey) {\n\t\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\ttokens: this._selectedTokens,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst targetToken = e.target as Token;\n\n\t\tif (!e.shiftKey) {\n\t\t\tthis._previousToken = targetToken;\n\t\t}\n\n\t\tlet focusedToken = targetToken;\n\n\t\tif (this._previousToken) {\n\t\t\tfocusedToken = this._previousToken;\n\t\t} else {\n\t\t\tthis._previousToken = focusedToken;\n\t\t}\n\n\t\tif (e.shiftKey) {\n\t\t\tconst tokensArray = this._tokens;\n\t\t\tconst lastClickedIndex = tokensArray.indexOf(targetToken);\n\t\t\tconst firstSelectedTokenIndex = tokensArray.indexOf(focusedToken);\n\t\t\tconst start = Math.min(lastClickedIndex, firstSelectedTokenIndex);\n\t\t\tconst end = Math.max(lastClickedIndex, firstSelectedTokenIndex);\n\n\t\t\tif (lastClickedIndex !== -1) {\n\t\t\t\ttokensArray.forEach((token, i) => {\n\t\t\t\t\ttoken.selected = i >= start && i <= end;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\ttokens: this._selectedTokens,\n\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis._handleTokenSelection(e);\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = e.target as Token;\n\t\tthis._lastFocusedToken = target;\n\n\t\tif (target && target.toBeDeleted) {\n\t\t\tthis._tokenDeleting = true;\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.open = false;\n\t\tthis.expanded = true;\n\t\tthis._addTokenToNavigation(e.target as Token);\n\t}\n\n\t_addTokenToNavigation(token: Token) {\n\t\tthis._scrollToEndOnExpand = false;\n\t\tthis._itemNav.setCurrentItem(token);\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tconst relatedTarget = e.relatedTarget as HTMLElement;\n\n\t\tthis._tokens.forEach(token => {\n\t\t\ttoken.forcedTabIndex = \"-1\";\n\t\t});\n\n\t\tthis._itemNav._currentIndex = -1;\n\t\tthis._skipTabIndex = true;\n\n\t\tif (!this.contains(relatedTarget)) {\n\t\t\tthis._tokens[0].forcedTabIndex = \"0\";\n\t\t\tthis._isFocusSetInternally = false;\n\t\t\tthis._skipTabIndex = false;\n\t\t}\n\n\t\tif (!this._tokenDeleting && !this._preventCollapse) {\n\t\t\tthis._preventCollapse = false;\n\t\t\tthis.expanded = false;\n\t\t}\n\t}\n\n\t/**\n \t * Determines the DOM element to focus when the Tokenizer receives focus.\n \t * If the last-focused token is not overflown, focus is restored to it.\n \t * Otherwise, the focus defaults to the first visible token.\n \t */\n\tgetFocusDomRef(): HTMLElement | undefined {\n\t\tif (this._lastFocusedToken && !this.overflownTokens.includes(this._lastFocusedToken)) {\n\t\t\tthis._itemNav._currentIndex = this.tokens.indexOf(this._lastFocusedToken);\n\t\t\tthis._isFocusSetInternally = true;\n\t\t\tthis.tokens[0].forcedTabIndex = \"-1\";\n\t\t} else {\n\t\t\tthis._itemNav._currentIndex = 0;\n\t\t}\n\t\treturn this._itemNav._getCurrentItem();\n\t}\n\n\t_toggleTokenSelection(tokens: Array<Token>) {\n\t\tif (!tokens || !tokens.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tokensAreSelected = tokens.every(token => token.selected);\n\t\ttokens.forEach(token => { token.selected = !tokensAreSelected; });\n\n\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\ttokens: this._selectedTokens,\n\t\t});\n\t}\n\n\t_handleTokenSelection(e: KeyboardEvent | MouseEvent, deselectAll = true) {\n\t\tconst target = e.target as Token;\n\n\t\tif (target.hasAttribute(\"ui5-token\")) {\n\t\t\tconst deselectTokens = deselectAll ? this._tokens : [];\n\n\t\t\tdeselectTokens.forEach(token => {\n\t\t\t\tif (token !== target) {\n\t\t\t\t\ttoken.selected = false;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\ttokens: this._selectedTokens,\n\t\t\t});\n\t\t}\n\t}\n\n\tget hasTokens() {\n\t\treturn this._tokens.length > 0;\n\t}\n\n\tget showEffectiveClearAll() {\n\t\treturn this.showClearAll && this.hasTokens && this.multiLine && !this.readonly;\n\t}\n\n\t_fillClipboard(shortcutName: ClipboardDataOperation, tokens: Array<IToken>) {\n\t\tconst tokensTexts = tokens.filter(token => token.selected).map(token => token.text).join(\"\\r\\n\");\n\n\t\tconst cutToClipboard = (e: ClipboardEvent) => {\n\t\t\tnavigator.clipboard.writeText(tokensTexts);\n\n\t\t\te.preventDefault();\n\t\t};\n\n\t\tdocument.addEventListener(shortcutName, cutToClipboard);\n\t\tdocument.execCommand(shortcutName);\n\t\tdocument.removeEventListener(shortcutName, cutToClipboard);\n\t}\n\n\t/**\n\t * Scrolls the container of the tokens to its beginning.\n\t * This method is used by MultiInput and MultiComboBox.\n\t * @protected\n\t */\n\tscrollToStart() {\n\t\tif (this._scrollEnablement?.scrollContainer) {\n\t\t\tthis._scrollEnablement?.scrollTo(0, 0);\n\t\t}\n\t}\n\n\t/**\n\t * Scrolls the container of the tokens to its end when expanded.\n\t * This method is used by MultiInput and MultiComboBox.\n\t * @protected\n\t */\n\tscrollToEnd() {\n\t\tconst expandedTokenizerScrollWidth = this.contentDom && (this.effectiveDir !== \"rtl\" ? this.contentDom.scrollWidth : -this.contentDom.scrollWidth);\n\t\tif (this._scrollEnablement?.scrollContainer) {\n\t\t\tthis._scrollEnablement?.scrollTo(expandedTokenizerScrollWidth, 0, 5, 10);\n\t\t}\n\t}\n\n\t/**\n\t * Scrolls token to the visible area of the container.\n\t * Adds 5 pixels to the scroll position to ensure padding and border visibility on both ends\n\t * For the last token, if its width is more than the needed space, scroll to the end without offset\n\t * @protected\n\t */\n\t_scrollToToken(token: IToken) {\n\t\tif (!this.contentDom) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tokenRect = token.getBoundingClientRect();\n\t\tconst tokenContainerRect = this.contentDom.getBoundingClientRect();\n\t\tconst oneSideBorderAndPaddingOffset = 5;\n\n\t\tconst isLastToken = this._tokens.indexOf(token as Token) === this._tokens.length - 1;\n\t\tif (isLastToken) {\n\t\t\tthis.scrollToEnd();\n\t\t\treturn;\n\t\t}\n\n\t\tif (tokenRect.left < tokenContainerRect.left) {\n\t\t\tthis._scrollEnablement?.scrollTo(this.contentDom.scrollLeft - (tokenContainerRect.left - tokenRect.left + oneSideBorderAndPaddingOffset), 0);\n\t\t} else if (tokenRect.right > tokenContainerRect.right) {\n\t\t\tthis._scrollEnablement?.scrollTo(this.contentDom.scrollLeft + (tokenRect.right - tokenContainerRect.right + oneSideBorderAndPaddingOffset), 0);\n\t\t}\n\t}\n\n\t_getList() {\n\t\treturn this.getPopover().querySelector<List>(\"[ui5-list]\")!;\n\t}\n\n\tget _tokens() {\n\t\treturn this.getSlottedNodes<Token>(\"tokens\");\n\t}\n\n\tget morePopoverOpener(): HTMLElement | string | null {\n\t\t// return this.opener ? this : this.opener;\n\t\tif (this.opener) {\n\t\t\treturn this.opener;\n\t\t}\n\t\treturn this;\n\t}\n\n\tget _nMoreText() {\n\t\tif (!this._nMoreCount) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._getVisibleTokens().length) {\n\t\t\treturn Tokenizer.i18nBundle.getText(MULTIINPUT_SHOW_MORE_TOKENS, this._nMoreCount);\n\t\t}\n\n\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_SHOW_ALL_ITEMS, this._nMoreCount);\n\t}\n\n\tget _clearAllText() {\n\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_CLEAR_ALL);\n\t}\n\n\tget showNMore() {\n\t\treturn !this.expanded && !!this.overflownTokens.length;\n\t}\n\n\tget contentDom() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tokenizer--content\")!;\n\t}\n\n\tget moreLink() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tokenizer-more-text\");\n\t}\n\n\tget tokenizerLabel() {\n\t\tconst effectiveLabelText = getEffectiveAriaLabelText(this);\n\t\treturn effectiveLabelText || Tokenizer.i18nBundle.getText(TOKENIZER_ARIA_LABEL);\n\t}\n\n\tget _okButtonText() {\n\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_DIALOG_OK_BUTTON);\n\t}\n\n\tget _cancelButtonText() {\n\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_DIALOG_CANCEL_BUTTON);\n\t}\n\n\tget tokenizerAriaDescription() {\n\t\treturn getEffectiveAriaLabelText(this) ? Tokenizer.i18nBundle.getText(TOKENIZER_ARIA_LABEL) : undefined;\n\t}\n\n\tget _ariaDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget _ariaReadonly() {\n\t\treturn this.readonly || undefined;\n\t}\n\n\tget morePopoverTitle() {\n\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_POPOVER_REMOVE);\n\t}\n\n\tget overflownTokens() {\n\t\tif (!this.contentDom) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst tokensArray = this._tokens;\n\n\t\t// Reset the overflow prop of the tokens first in order\n\t\t// to use their dimensions for calculation because already\n\t\t// hidden tokens are set to 'display: none'\n\t\ttokensArray.forEach(token => {\n\t\t\ttoken.overflows = false;\n\t\t});\n\n\t\treturn tokensArray.filter(token => {\n\t\t\tconst parentRect = this.contentDom.getBoundingClientRect();\n\t\t\tconst tokenRect = token.getBoundingClientRect();\n\t\t\tconst tokenEnd = Number(tokenRect.right.toFixed(2));\n\t\t\tconst parentEnd = Number(parentRect.right.toFixed(2));\n\t\t\tconst tokenStart = Number(tokenRect.left.toFixed(2));\n\t\t\tconst parentStart = Number(parentRect.left.toFixed(2));\n\n\t\t\ttoken.overflows = !this.expanded && ((tokenStart < parentStart) || (tokenEnd > parentEnd));\n\n\t\t\treturn token.overflows;\n\t\t});\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _selectedTokens() {\n\t\treturn this._tokens.filter(token => token.selected);\n\t}\n\n\tget _nMoreListMode() {\n\t\tif (this.readonly || this.disabled) {\n\t\t\treturn ListSelectionMode.None;\n\t\t}\n\n\t\treturn ListSelectionMode.Delete;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tpopover: {\n\t\t\t\t\"min-width\": this.popoverMinWidth ? `${this.popoverMinWidth}px` : `${this.getBoundingClientRect().width}px`,\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * @protected\n\t */\n\t_focusLastToken() {\n\t\tconst tokens = this._tokens;\n\t\tif (tokens.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst lastToken = tokens[tokens.length - 1];\n\t\tlastToken.focus();\n\t}\n\n\tgetPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tgetTokenByRefId(refId: string) {\n\t\treturn this._tokens.find(token => token._id === refId)!;\n\t}\n}\n\nconst getTokensCountText = (iTokenCount: number) => {\n\tconst tokenCountMap: TokenCountMapType = {\n\t\t0: TOKENIZER_ARIA_CONTAIN_TOKEN,\n\t\t1: TOKENIZER_ARIA_CONTAIN_ONE_TOKEN,\n\t};\n\n\tif (iTokenCount in tokenCountMap) {\n\t\treturn Tokenizer.i18nBundle.getText(tokenCountMap[iTokenCount]);\n\t}\n\n\treturn Tokenizer.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS, iTokenCount);\n};\n\nTokenizer.define();\n\nexport default Tokenizer;\nexport { getTokensCountText };\nexport { ClipboardDataOperation };\nexport type { TokenizerTokenDeleteEventDetail, TokenizerSelectionChangeEventDetail, TokenizerDialogButtonPressDetail };\n"]}
@@ -101,12 +101,7 @@ let ToolbarSelect = class ToolbarSelect extends ToolbarItem {
101
101
  _syncOptions(selectedOption) {
102
102
  const selectedOptionIndex = Number(selectedOption?.getAttribute("data-ui5-external-action-item-index"));
103
103
  this.options.forEach((option, index) => {
104
- if (index === selectedOptionIndex) {
105
- option.setAttribute("selected", "");
106
- }
107
- else {
108
- option.removeAttribute("selected");
109
- }
104
+ option.selected = index === selectedOptionIndex;
110
105
  });
111
106
  }
112
107
  get styles() {
@@ -125,6 +120,7 @@ __decorate([
125
120
  slot({
126
121
  "default": true,
127
122
  type: HTMLElement,
123
+ invalidateOnChildChange: true,
128
124
  })
129
125
  ], ToolbarSelect.prototype, "options", void 0);
130
126
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarSelect.js","sourceRoot":"","sources":["../src/ToolbarSelect.ts"],"names":[],"mappings":"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","sourcesContent":["import jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.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 type ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport ToolbarSelectCss from \"./generated/themes/ToolbarSelect.css.js\";\nimport type Select from \"./Select.js\";\n\n// Templates\nimport ToolbarSelectTemplate from \"./ToolbarSelectTemplate.js\";\nimport ToolbarItem from \"./ToolbarItem.js\";\nimport type { ToolbarItemEventDetail } from \"./ToolbarItem.js\";\nimport type ToolbarSelectOption from \"./ToolbarSelectOption.js\";\nimport type { SelectChangeEventDetail } from \"./Select.js\";\n\ntype ToolbarSelectChangeEventDetail = ToolbarItemEventDetail & SelectChangeEventDetail;\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-toolbar-select` component is used to create a toolbar drop-down list.\n * The items inside the `ui5-toolbar-select` define the available options by using the `ui5-toolbar-select-option` component.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/ToolbarSelect.js\";`\n *\n * `import \"@ui5/webcomponents/dist/ToolbarSelectOption.js\";` (comes with `ui5-toolbar-select`)\n * @constructor\n * @abstract\n * @extends ToolbarItem\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar-select\",\n\ttemplate: ToolbarSelectTemplate,\n\trenderer: jsxRenderer,\n\tstyles: ToolbarSelectCss,\n})\n\n/**\n * Fired when the selected option changes.\n * @param {HTMLElement} selectedOption the selected option.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired after the component's dropdown menu opens.\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n\n/**\n * Fired after the component's dropdown menu closes.\n * @public\n */\n@event(\"close\")\nclass ToolbarSelect extends ToolbarItem {\n\teventDetails!: ToolbarItem[\"eventDetails\"] & {\n\t\tchange: ToolbarSelectChangeEventDetail;\n\t\topen: ToolbarItemEventDetail;\n\t\tclose: ToolbarItemEventDetail;\n\t}\n\t/**\n\t * Defines the width of the select.\n\t *\n\t * **Note:** all CSS sizes are supported - 'percentage', 'px', 'rem', 'auto', etc.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\twidth?: string;\n\n\t/**\n\t * Defines the component options.\n\t *\n\t * **Note:** Only one selected option is allowed.\n\t * If more than one option is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * **Note:** Use the `ui5-toolbar-select-option` component to define the desired options.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\ttype: HTMLElement,\n\t})\n\toptions!: Array<ToolbarSelectOption>;\n\n\t/**\n\t * Defines the HTML element that will be displayed in the component input part,\n\t * representing the selected option.\n\t * @public\n\t * @since 2.15.0\n\t*/\n\t@slot()\n\tlabel!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\taccessibleName?: string\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the select.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the value of the component:\n\t *\n\t * @public\n\t * @default \"\"\n\t * @since 2.15.0\n\t */\n\t@property()\n\tset value(newValue: string) {\n\t\tif (this.select && this.select.value !== newValue) {\n\t\t\tthis.select.value = newValue;\n\t\t}\n\t\tthis._value = newValue;\n\t}\n\n\tget value(): string | undefined {\n\t\treturn this.select ? this.select.value : this._value;\n\t}\n\n\tget select(): Select | null {\n\t\treturn this.shadowRoot!.querySelector<Select>(\"[ui5-select]\");\n\t}\n\n\t// Internal value storage, in case the composite select is not rendered on the the assignment happens\n\t_value: string = \"\";\n\n\tonClick(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"click\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented && !this.preventOverflowClosing) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonOpen(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"open\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonClose(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"close\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonChange(e: CustomEvent<SelectChangeEventDetail>): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"change\", { ...e.detail, targetRef: e.target as HTMLElement });\n\t\tif (!prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\n\t\tthis._syncOptions(e.detail.selectedOption);\n\t}\n\n\t_syncOptions(selectedOption: HTMLElement): void {\n\t\tconst selectedOptionIndex = Number(selectedOption?.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tthis.options.forEach((option: ToolbarSelectOption, index: number) => {\n\t\t\tif (index === selectedOptionIndex) {\n\t\t\t\toption.setAttribute(\"selected\", \"\");\n\t\t\t} else {\n\t\t\t\toption.removeAttribute(\"selected\");\n\t\t\t}\n\t\t});\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\twidth: this.isOverflowed ? undefined : this.width,\n\t\t};\n\t}\n\n\tget hasCustomLabel() {\n\t\treturn !!this.label.length;\n\t}\n}\n\nToolbarSelect.define();\n\nexport default ToolbarSelect;\n\nexport type {\n\tToolbarSelectChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"ToolbarSelect.js","sourceRoot":"","sources":["../src/ToolbarSelect.ts"],"names":[],"mappings":"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","sourcesContent":["import jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.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 type ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport ToolbarSelectCss from \"./generated/themes/ToolbarSelect.css.js\";\nimport type Select from \"./Select.js\";\n\n// Templates\nimport ToolbarSelectTemplate from \"./ToolbarSelectTemplate.js\";\nimport ToolbarItem from \"./ToolbarItem.js\";\nimport type { ToolbarItemEventDetail } from \"./ToolbarItem.js\";\nimport type ToolbarSelectOption from \"./ToolbarSelectOption.js\";\nimport type { SelectChangeEventDetail } from \"./Select.js\";\n\ntype ToolbarSelectChangeEventDetail = ToolbarItemEventDetail & SelectChangeEventDetail;\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-toolbar-select` component is used to create a toolbar drop-down list.\n * The items inside the `ui5-toolbar-select` define the available options by using the `ui5-toolbar-select-option` component.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/ToolbarSelect.js\";`\n *\n * `import \"@ui5/webcomponents/dist/ToolbarSelectOption.js\";` (comes with `ui5-toolbar-select`)\n * @constructor\n * @abstract\n * @extends ToolbarItem\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar-select\",\n\ttemplate: ToolbarSelectTemplate,\n\trenderer: jsxRenderer,\n\tstyles: ToolbarSelectCss,\n})\n\n/**\n * Fired when the selected option changes.\n * @param {HTMLElement} selectedOption the selected option.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired after the component's dropdown menu opens.\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n\n/**\n * Fired after the component's dropdown menu closes.\n * @public\n */\n@event(\"close\")\nclass ToolbarSelect extends ToolbarItem {\n\teventDetails!: ToolbarItem[\"eventDetails\"] & {\n\t\tchange: ToolbarSelectChangeEventDetail;\n\t\topen: ToolbarItemEventDetail;\n\t\tclose: ToolbarItemEventDetail;\n\t}\n\t/**\n\t * Defines the width of the select.\n\t *\n\t * **Note:** all CSS sizes are supported - 'percentage', 'px', 'rem', 'auto', etc.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\twidth?: string;\n\n\t/**\n\t * Defines the component options.\n\t *\n\t * **Note:** Only one selected option is allowed.\n\t * If more than one option is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * **Note:** Use the `ui5-toolbar-select-option` component to define the desired options.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: true,\n\t})\n\toptions!: Array<ToolbarSelectOption>;\n\n\t/**\n\t * Defines the HTML element that will be displayed in the component input part,\n\t * representing the selected option.\n\t * @public\n\t * @since 2.15.0\n\t*/\n\t@slot()\n\tlabel!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\taccessibleName?: string\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the select.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the value of the component:\n\t *\n\t * @public\n\t * @default \"\"\n\t * @since 2.15.0\n\t */\n\t@property()\n\tset value(newValue: string) {\n\t\tif (this.select && this.select.value !== newValue) {\n\t\t\tthis.select.value = newValue;\n\t\t}\n\t\tthis._value = newValue;\n\t}\n\n\tget value(): string | undefined {\n\t\treturn this.select ? this.select.value : this._value;\n\t}\n\n\tget select(): Select | null {\n\t\treturn this.shadowRoot!.querySelector<Select>(\"[ui5-select]\");\n\t}\n\n\t// Internal value storage, in case the composite select is not rendered on the the assignment happens\n\t_value: string = \"\";\n\n\tonClick(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"click\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented && !this.preventOverflowClosing) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonOpen(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"open\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonClose(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"close\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonChange(e: CustomEvent<SelectChangeEventDetail>): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"change\", { ...e.detail, targetRef: e.target as HTMLElement });\n\t\tif (!prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\n\t\tthis._syncOptions(e.detail.selectedOption);\n\t}\n\n\t_syncOptions(selectedOption: HTMLElement): void {\n\t\tconst selectedOptionIndex = Number(selectedOption?.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tthis.options.forEach((option: ToolbarSelectOption, index: number) => {\n\t\t\toption.selected = index === selectedOptionIndex;\n\t\t});\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\twidth: this.isOverflowed ? undefined : this.width,\n\t\t};\n\t}\n\n\tget hasCustomLabel() {\n\t\treturn !!this.label.length;\n\t}\n}\n\nToolbarSelect.define();\n\nexport default ToolbarSelect;\n\nexport type {\n\tToolbarSelectChangeEventDetail,\n};\n"]}
@@ -17,7 +17,9 @@ declare class ToolbarSelectOption extends UI5Element {
17
17
  * @default false
18
18
  * @public
19
19
  */
20
- selected: boolean;
20
+ set selected(value: boolean);
21
+ get selected(): boolean;
22
+ _clearSiblingsAndSync(): void;
21
23
  /**
22
24
  * Defines the text of the component.
23
25
  *