@ui5/webcomponents 1.24.0-rc.4 → 2.0.0-rc.0

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 (735) hide show
  1. package/CHANGELOG.md +347 -0
  2. package/README.md +1 -0
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/Badge.d.ts +1 -0
  5. package/dist/Badge.js +6 -0
  6. package/dist/Badge.js.map +1 -1
  7. package/dist/Bar.d.ts +73 -0
  8. package/dist/Bar.js +113 -0
  9. package/dist/Bar.js.map +1 -0
  10. package/dist/Breadcrumbs.d.ts +5 -5
  11. package/dist/Breadcrumbs.js +10 -14
  12. package/dist/Breadcrumbs.js.map +1 -1
  13. package/dist/BusyIndicator.d.ts +1 -1
  14. package/dist/BusyIndicator.js +5 -1
  15. package/dist/BusyIndicator.js.map +1 -1
  16. package/dist/Calendar.d.ts +5 -5
  17. package/dist/Calendar.js +7 -7
  18. package/dist/Calendar.js.map +1 -1
  19. package/dist/Card.d.ts +3 -13
  20. package/dist/Card.js +1 -1
  21. package/dist/Card.js.map +1 -1
  22. package/dist/CardHeader.d.ts +6 -8
  23. package/dist/CardHeader.js +11 -7
  24. package/dist/CardHeader.js.map +1 -1
  25. package/dist/Carousel.d.ts +17 -2
  26. package/dist/Carousel.js +17 -4
  27. package/dist/Carousel.js.map +1 -1
  28. package/dist/CheckBox.d.ts +1 -0
  29. package/dist/CheckBox.js +5 -0
  30. package/dist/CheckBox.js.map +1 -1
  31. package/dist/ColorPalette.d.ts +7 -7
  32. package/dist/ColorPalette.js +14 -17
  33. package/dist/ColorPalette.js.map +1 -1
  34. package/dist/ColorPalettePopover.d.ts +0 -16
  35. package/dist/ColorPalettePopover.js +0 -23
  36. package/dist/ColorPalettePopover.js.map +1 -1
  37. package/dist/ColorPicker.d.ts +3 -3
  38. package/dist/ColorPicker.js +23 -23
  39. package/dist/ColorPicker.js.map +1 -1
  40. package/dist/ComboBox.d.ts +1 -0
  41. package/dist/ComboBox.js +11 -10
  42. package/dist/ComboBox.js.map +1 -1
  43. package/dist/DatePicker.d.ts +3 -3
  44. package/dist/DatePicker.js +7 -10
  45. package/dist/DatePicker.js.map +1 -1
  46. package/dist/DateRangePicker.d.ts +2 -2
  47. package/dist/DateRangePicker.js +2 -2
  48. package/dist/DateRangePicker.js.map +1 -1
  49. package/dist/DateTimePicker.d.ts +3 -3
  50. package/dist/DateTimePicker.js +6 -10
  51. package/dist/DateTimePicker.js.map +1 -1
  52. package/dist/Dialog.d.ts +0 -1
  53. package/dist/Dialog.js +1 -3
  54. package/dist/Dialog.js.map +1 -1
  55. package/dist/FileUploader.d.ts +3 -3
  56. package/dist/FileUploader.js +11 -11
  57. package/dist/FileUploader.js.map +1 -1
  58. package/dist/Input.d.ts +2 -1
  59. package/dist/Input.js +12 -8
  60. package/dist/Input.js.map +1 -1
  61. package/dist/List.d.ts +18 -18
  62. package/dist/List.js +37 -37
  63. package/dist/List.js.map +1 -1
  64. package/dist/ListItem.d.ts +3 -3
  65. package/dist/ListItem.js +15 -15
  66. package/dist/ListItem.js.map +1 -1
  67. package/dist/Menu.d.ts +2 -1
  68. package/dist/Menu.js +11 -9
  69. package/dist/Menu.js.map +1 -1
  70. package/dist/MultiComboBox.d.ts +14 -14
  71. package/dist/MultiComboBox.js +63 -59
  72. package/dist/MultiComboBox.js.map +1 -1
  73. package/dist/MultiInput.d.ts +1 -0
  74. package/dist/MultiInput.js +5 -2
  75. package/dist/MultiInput.js.map +1 -1
  76. package/dist/NavigationMenu.js +5 -5
  77. package/dist/NavigationMenu.js.map +1 -1
  78. package/dist/Option.d.ts +0 -9
  79. package/dist/Option.js +0 -3
  80. package/dist/Option.js.map +1 -1
  81. package/dist/Popover.d.ts +9 -12
  82. package/dist/Popover.js +50 -49
  83. package/dist/Popover.js.map +1 -1
  84. package/dist/Popup.d.ts +2 -4
  85. package/dist/Popup.js +38 -22
  86. package/dist/Popup.js.map +1 -1
  87. package/dist/ProgressIndicator.d.ts +0 -7
  88. package/dist/ProgressIndicator.js +0 -6
  89. package/dist/ProgressIndicator.js.map +1 -1
  90. package/dist/RadioButton.d.ts +1 -0
  91. package/dist/RadioButton.js +5 -0
  92. package/dist/RadioButton.js.map +1 -1
  93. package/dist/ResponsivePopover.js +0 -6
  94. package/dist/ResponsivePopover.js.map +1 -1
  95. package/dist/Select.d.ts +5 -7
  96. package/dist/Select.js +17 -24
  97. package/dist/Select.js.map +1 -1
  98. package/dist/SliderBase.d.ts +1 -1
  99. package/dist/SliderBase.js +1 -1
  100. package/dist/SliderBase.js.map +1 -1
  101. package/dist/Tab.d.ts +23 -11
  102. package/dist/Tab.js +32 -28
  103. package/dist/Tab.js.map +1 -1
  104. package/dist/TabContainer.d.ts +41 -84
  105. package/dist/TabContainer.js +98 -161
  106. package/dist/TabContainer.js.map +1 -1
  107. package/dist/TabSeparator.d.ts +12 -7
  108. package/dist/TabSeparator.js +10 -12
  109. package/dist/TabSeparator.js.map +1 -1
  110. package/dist/TextArea.d.ts +4 -3
  111. package/dist/TextArea.js +8 -11
  112. package/dist/TextArea.js.map +1 -1
  113. package/dist/TimePickerBase.d.ts +9 -9
  114. package/dist/TimePickerBase.js +24 -24
  115. package/dist/TimePickerBase.js.map +1 -1
  116. package/dist/Toast.js +0 -2
  117. package/dist/Toast.js.map +1 -1
  118. package/dist/Tokenizer.d.ts +1 -0
  119. package/dist/Tokenizer.js +8 -6
  120. package/dist/Tokenizer.js.map +1 -1
  121. package/dist/Toolbar.d.ts +6 -7
  122. package/dist/Toolbar.js +14 -23
  123. package/dist/Toolbar.js.map +1 -1
  124. package/dist/ToolbarButton.d.ts +0 -1
  125. package/dist/ToolbarButton.js +1 -3
  126. package/dist/ToolbarButton.js.map +1 -1
  127. package/dist/ToolbarRegistry.d.ts +1 -2
  128. package/dist/ToolbarRegistry.js +1 -4
  129. package/dist/ToolbarRegistry.js.map +1 -1
  130. package/dist/Tree.d.ts +4 -4
  131. package/dist/Tree.js +6 -6
  132. package/dist/Tree.js.map +1 -1
  133. package/dist/TreeItemBase.d.ts +1 -1
  134. package/dist/TreeItemBase.js.map +1 -1
  135. package/dist/bundle.common.bootstrap.js.map +1 -1
  136. package/dist/bundle.esm.js.map +1 -1
  137. package/dist/css/themes/Avatar.css +1 -1
  138. package/dist/css/themes/AvatarGroup.css +1 -1
  139. package/dist/css/themes/Badge.css +1 -1
  140. package/dist/css/themes/Bar.css +1 -0
  141. package/dist/css/themes/Breadcrumbs.css +1 -1
  142. package/dist/css/themes/BusyIndicator.css +1 -1
  143. package/dist/css/themes/Button.css +1 -1
  144. package/dist/css/themes/Calendar.css +1 -1
  145. package/dist/css/themes/CalendarHeader.css +1 -1
  146. package/dist/css/themes/CalendarLegend.css +1 -1
  147. package/dist/css/themes/CalendarLegendItem.css +1 -1
  148. package/dist/css/themes/Card.css +1 -1
  149. package/dist/css/themes/CardHeader.css +1 -1
  150. package/dist/css/themes/Carousel.css +1 -1
  151. package/dist/css/themes/CheckBox.css +1 -1
  152. package/dist/css/themes/ColorPalette.css +1 -1
  153. package/dist/css/themes/ColorPaletteItem.css +1 -1
  154. package/dist/css/themes/ColorPalettePopover.css +1 -1
  155. package/dist/css/themes/ColorPicker.css +1 -1
  156. package/dist/css/themes/ComboBox.css +1 -1
  157. package/dist/css/themes/CustomListItem.css +1 -1
  158. package/dist/css/themes/DatePicker.css +1 -1
  159. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  160. package/dist/css/themes/DayPicker.css +1 -1
  161. package/dist/css/themes/Dialog.css +1 -1
  162. package/dist/css/themes/FileUploader.css +1 -1
  163. package/dist/css/themes/GroupHeaderListItem.css +1 -1
  164. package/dist/css/themes/GrowingButton.css +1 -1
  165. package/dist/css/themes/Icon.css +1 -1
  166. package/dist/css/themes/Input.css +1 -1
  167. package/dist/css/themes/InputIcon.css +1 -1
  168. package/dist/css/themes/InputSharedStyles.css +1 -1
  169. package/dist/css/themes/Link.css +1 -1
  170. package/dist/css/themes/List.css +1 -1
  171. package/dist/css/themes/ListItem.css +1 -1
  172. package/dist/css/themes/ListItemBase.css +1 -1
  173. package/dist/css/themes/Menu.css +1 -1
  174. package/dist/css/themes/MenuListItem.css +1 -1
  175. package/dist/css/themes/MessageStrip.css +1 -1
  176. package/dist/css/themes/MonthPicker.css +1 -1
  177. package/dist/css/themes/MultiComboBox.css +1 -1
  178. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  179. package/dist/css/themes/MultiInput.css +1 -1
  180. package/dist/css/themes/NavigationMenu.css +1 -1
  181. package/dist/css/themes/Panel.css +1 -1
  182. package/dist/css/themes/Popover.css +1 -1
  183. package/dist/css/themes/Popup.css +1 -1
  184. package/dist/css/themes/PopupBlockLayer.css +1 -0
  185. package/dist/css/themes/PopupsCommon.css +1 -1
  186. package/dist/css/themes/ProgressIndicator.css +1 -1
  187. package/dist/css/themes/RadioButton.css +1 -1
  188. package/dist/css/themes/RangeSlider.css +1 -1
  189. package/dist/css/themes/RatingIndicator.css +1 -1
  190. package/dist/css/themes/ResponsivePopover.css +1 -1
  191. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  192. package/dist/css/themes/SegmentedButton.css +1 -1
  193. package/dist/css/themes/Select.css +1 -1
  194. package/dist/css/themes/SelectMenu.css +1 -1
  195. package/dist/css/themes/SelectPopover.css +1 -1
  196. package/dist/css/themes/SliderBase.css +1 -1
  197. package/dist/css/themes/SplitButton.css +1 -1
  198. package/dist/css/themes/StepInput.css +1 -1
  199. package/dist/css/themes/Switch.css +1 -1
  200. package/dist/css/themes/TabContainer.css +1 -1
  201. package/dist/css/themes/TabInOverflow.css +1 -1
  202. package/dist/css/themes/TabInStrip.css +1 -1
  203. package/dist/css/themes/TabSemanticIcon.css +1 -1
  204. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  205. package/dist/css/themes/TabSeparatorInStrip.css +1 -1
  206. package/dist/css/themes/Table.css +1 -1
  207. package/dist/css/themes/TableCell.css +1 -1
  208. package/dist/css/themes/TableColumn.css +1 -1
  209. package/dist/css/themes/TableGroupRow.css +1 -1
  210. package/dist/css/themes/TableRow.css +1 -1
  211. package/dist/css/themes/TextArea.css +1 -1
  212. package/dist/css/themes/TimePicker.css +1 -1
  213. package/dist/css/themes/Toast.css +1 -1
  214. package/dist/css/themes/ToggleButton.css +1 -1
  215. package/dist/css/themes/Token.css +1 -1
  216. package/dist/css/themes/Tokenizer.css +1 -1
  217. package/dist/css/themes/TokenizerPopover.css +1 -1
  218. package/dist/css/themes/Toolbar.css +1 -1
  219. package/dist/css/themes/ToolbarPopover.css +1 -1
  220. package/dist/css/themes/TreeItem.css +1 -1
  221. package/dist/css/themes/ValueStateMessage.css +1 -1
  222. package/dist/css/themes/WheelSlider.css +1 -1
  223. package/dist/css/themes/YearPicker.css +1 -1
  224. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  225. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  226. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  227. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  228. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  229. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  230. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  231. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  232. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  233. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  234. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  235. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  236. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  237. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  238. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  239. package/dist/custom-elements-internal.json +431 -481
  240. package/dist/custom-elements.json +281 -304
  241. package/dist/features/InputSuggestions.d.ts +2 -2
  242. package/dist/features/InputSuggestions.js +8 -7
  243. package/dist/features/InputSuggestions.js.map +1 -1
  244. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  245. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  246. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  247. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  248. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  249. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  250. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  251. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  252. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  253. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  254. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  255. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  256. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  257. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  258. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  259. package/dist/generated/json-imports/Themes.js +1 -1
  260. package/dist/generated/json-imports/Themes.js.map +1 -1
  261. package/dist/generated/json-imports/i18n.js +1 -1
  262. package/dist/generated/json-imports/i18n.js.map +1 -1
  263. package/dist/generated/templates/BarTemplate.lit.d.ts +4 -0
  264. package/dist/generated/templates/BarTemplate.lit.js +5 -0
  265. package/dist/generated/templates/BarTemplate.lit.js.map +1 -0
  266. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +1 -1
  267. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +1 -1
  268. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +2 -1
  269. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  270. package/dist/generated/templates/CardHeaderTemplate.lit.js +2 -2
  271. package/dist/generated/templates/CardHeaderTemplate.lit.js.map +1 -1
  272. package/dist/generated/templates/CarouselTemplate.lit.js +1 -1
  273. package/dist/generated/templates/CarouselTemplate.lit.js.map +1 -1
  274. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +2 -1
  275. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js.map +1 -1
  276. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +1 -1
  277. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js.map +1 -1
  278. package/dist/generated/templates/ColorPaletteTemplate.lit.js +2 -1
  279. package/dist/generated/templates/ColorPaletteTemplate.lit.js.map +1 -1
  280. package/dist/generated/templates/ColorPickerTemplate.lit.js +1 -1
  281. package/dist/generated/templates/ColorPickerTemplate.lit.js.map +1 -1
  282. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +2 -2
  283. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  284. package/dist/generated/templates/ComboBoxTemplate.lit.js +21 -2
  285. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  286. package/dist/generated/templates/CustomListItemTemplate.lit.js +2 -2
  287. package/dist/generated/templates/CustomListItemTemplate.lit.js.map +1 -1
  288. package/dist/generated/templates/DatePickerInputTemplate.lit.d.ts +4 -0
  289. package/dist/generated/templates/DatePickerInputTemplate.lit.js +7 -0
  290. package/dist/generated/templates/DatePickerInputTemplate.lit.js.map +1 -0
  291. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
  292. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
  293. package/dist/generated/templates/DatePickerTemplate.lit.js +5 -2
  294. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  295. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  296. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  297. package/dist/generated/templates/DateTimePickerTemplate.lit.d.ts +4 -0
  298. package/dist/generated/templates/DateTimePickerTemplate.lit.js +13 -0
  299. package/dist/generated/templates/DateTimePickerTemplate.lit.js.map +1 -0
  300. package/dist/generated/templates/DialogTemplate.lit.js +1 -1
  301. package/dist/generated/templates/DialogTemplate.lit.js.map +1 -1
  302. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +1 -1
  303. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js.map +1 -1
  304. package/dist/generated/templates/FileUploaderTemplate.lit.js +6 -2
  305. package/dist/generated/templates/FileUploaderTemplate.lit.js.map +1 -1
  306. package/dist/generated/templates/InputPopoverTemplate.lit.js +2 -2
  307. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
  308. package/dist/generated/templates/InputTemplate.lit.js +22 -2
  309. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  310. package/dist/generated/templates/ListItemTemplate.lit.js +2 -2
  311. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  312. package/dist/generated/templates/ListTemplate.lit.js +2 -2
  313. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  314. package/dist/generated/templates/MenuListItemTemplate.lit.js +2 -2
  315. package/dist/generated/templates/MenuListItemTemplate.lit.js.map +1 -1
  316. package/dist/generated/templates/MenuTemplate.lit.js +2 -2
  317. package/dist/generated/templates/MenuTemplate.lit.js.map +1 -1
  318. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +4 -4
  319. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  320. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +28 -2
  321. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  322. package/dist/generated/templates/MultiInputTemplate.lit.js +22 -2
  323. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  324. package/dist/generated/templates/NavigationMenuTemplate.lit.js +1 -1
  325. package/dist/generated/templates/NavigationMenuTemplate.lit.js.map +1 -1
  326. package/dist/generated/templates/PopoverTemplate.lit.js +1 -1
  327. package/dist/generated/templates/PopoverTemplate.lit.js.map +1 -1
  328. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +2 -2
  329. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js.map +1 -1
  330. package/dist/generated/templates/PopupTemplate.lit.js +1 -1
  331. package/dist/generated/templates/PopupTemplate.lit.js.map +1 -1
  332. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +1 -1
  333. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js.map +1 -1
  334. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +2 -2
  335. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js.map +1 -1
  336. package/dist/generated/templates/SelectMenuTemplate.lit.js +1 -1
  337. package/dist/generated/templates/SelectMenuTemplate.lit.js.map +1 -1
  338. package/dist/generated/templates/SelectPopoverTemplate.lit.js +2 -2
  339. package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +1 -1
  340. package/dist/generated/templates/SelectTemplate.lit.js +18 -2
  341. package/dist/generated/templates/SelectTemplate.lit.js.map +1 -1
  342. package/dist/generated/templates/StandardListItemTemplate.lit.js +2 -2
  343. package/dist/generated/templates/StandardListItemTemplate.lit.js.map +1 -1
  344. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +2 -2
  345. package/dist/generated/templates/SuggestionListItemTemplate.lit.js.map +1 -1
  346. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +1 -1
  347. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js.map +1 -1
  348. package/dist/generated/templates/TabContainerTemplate.lit.js +2 -1
  349. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
  350. package/dist/generated/templates/TabInOverflowTemplate.lit.js +1 -1
  351. package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -1
  352. package/dist/generated/templates/TabInStripTemplate.lit.js +1 -1
  353. package/dist/generated/templates/TabInStripTemplate.lit.js.map +1 -1
  354. package/dist/generated/templates/TabSeparatorInOverflowTemplate.lit.js +1 -1
  355. package/dist/generated/templates/TabSeparatorInOverflowTemplate.lit.js.map +1 -1
  356. package/dist/generated/templates/TableTemplate.lit.js +1 -1
  357. package/dist/generated/templates/TableTemplate.lit.js.map +1 -1
  358. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +1 -1
  359. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js.map +1 -1
  360. package/dist/generated/templates/TextAreaTemplate.lit.js +6 -2
  361. package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
  362. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +2 -2
  363. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js.map +1 -1
  364. package/dist/generated/templates/TimePickerTemplate.lit.js +2 -1
  365. package/dist/generated/templates/TimePickerTemplate.lit.js.map +1 -1
  366. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +1 -1
  367. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js.map +1 -1
  368. package/dist/generated/templates/TokenizerTemplate.lit.js +10 -2
  369. package/dist/generated/templates/TokenizerTemplate.lit.js.map +1 -1
  370. package/dist/generated/templates/ToolbarPopoverTemplate.lit.js +1 -1
  371. package/dist/generated/templates/ToolbarPopoverTemplate.lit.js.map +1 -1
  372. package/dist/generated/templates/ToolbarTemplate.lit.js +2 -1
  373. package/dist/generated/templates/ToolbarTemplate.lit.js.map +1 -1
  374. package/dist/generated/templates/TreeItemBaseTemplate.lit.js +2 -2
  375. package/dist/generated/templates/TreeItemBaseTemplate.lit.js.map +1 -1
  376. package/dist/generated/templates/TreeItemCustomTemplate.lit.js +2 -2
  377. package/dist/generated/templates/TreeItemCustomTemplate.lit.js.map +1 -1
  378. package/dist/generated/templates/TreeItemTemplate.lit.js +2 -2
  379. package/dist/generated/templates/TreeItemTemplate.lit.js.map +1 -1
  380. package/dist/generated/templates/TreeTemplate.lit.js +1 -1
  381. package/dist/generated/templates/TreeTemplate.lit.js.map +1 -1
  382. package/dist/generated/themes/Avatar.css.js +1 -1
  383. package/dist/generated/themes/Avatar.css.js.map +1 -1
  384. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  385. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  386. package/dist/generated/themes/Badge.css.js +1 -1
  387. package/dist/generated/themes/Badge.css.js.map +1 -1
  388. package/dist/generated/themes/Bar.css.js +9 -0
  389. package/dist/generated/themes/Bar.css.js.map +1 -0
  390. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  391. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  392. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  393. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  394. package/dist/generated/themes/Button.css.js +1 -1
  395. package/dist/generated/themes/Button.css.js.map +1 -1
  396. package/dist/generated/themes/Calendar.css.js +1 -1
  397. package/dist/generated/themes/Calendar.css.js.map +1 -1
  398. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  399. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  400. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  401. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  402. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  403. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  404. package/dist/generated/themes/Card.css.js +1 -1
  405. package/dist/generated/themes/Card.css.js.map +1 -1
  406. package/dist/generated/themes/CardHeader.css.js +1 -1
  407. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  408. package/dist/generated/themes/Carousel.css.js +1 -1
  409. package/dist/generated/themes/Carousel.css.js.map +1 -1
  410. package/dist/generated/themes/CheckBox.css.js +1 -1
  411. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  412. package/dist/generated/themes/ColorPalette.css.js +1 -1
  413. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  414. package/dist/generated/themes/{ColorPaletteStaticArea.css.js → ColorPaletteDialog.css.js} +2 -2
  415. package/dist/generated/themes/ColorPaletteDialog.css.js.map +1 -0
  416. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  417. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  418. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  419. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  420. package/dist/generated/themes/ColorPicker.css.js +1 -1
  421. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  422. package/dist/generated/themes/ComboBox.css.js +1 -1
  423. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  424. package/dist/generated/themes/CustomListItem.css.js +1 -1
  425. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  426. package/dist/generated/themes/DatePicker.css.js +1 -1
  427. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  428. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  429. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  430. package/dist/generated/themes/DayPicker.css.js +1 -1
  431. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  432. package/dist/generated/themes/Dialog.css.js +1 -1
  433. package/dist/generated/themes/Dialog.css.js.map +1 -1
  434. package/dist/generated/themes/FileUploader.css.js +1 -1
  435. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  436. package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
  437. package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -1
  438. package/dist/generated/themes/GrowingButton.css.js +1 -1
  439. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  440. package/dist/generated/themes/Icon.css.js +1 -1
  441. package/dist/generated/themes/Icon.css.js.map +1 -1
  442. package/dist/generated/themes/Input.css.js +1 -1
  443. package/dist/generated/themes/Input.css.js.map +1 -1
  444. package/dist/generated/themes/InputIcon.css.js +1 -1
  445. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  446. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  447. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  448. package/dist/generated/themes/Link.css.js +1 -1
  449. package/dist/generated/themes/Link.css.js.map +1 -1
  450. package/dist/generated/themes/List.css.js +1 -1
  451. package/dist/generated/themes/List.css.js.map +1 -1
  452. package/dist/generated/themes/ListItem.css.js +1 -1
  453. package/dist/generated/themes/ListItem.css.js.map +1 -1
  454. package/dist/generated/themes/ListItemBase.css.js +1 -1
  455. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  456. package/dist/generated/themes/Menu.css.js +1 -1
  457. package/dist/generated/themes/Menu.css.js.map +1 -1
  458. package/dist/generated/themes/MenuListItem.css.js +1 -1
  459. package/dist/generated/themes/MenuListItem.css.js.map +1 -1
  460. package/dist/generated/themes/MessageStrip.css.js +1 -1
  461. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  462. package/dist/generated/themes/MonthPicker.css.js +1 -1
  463. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  464. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  465. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  466. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  467. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  468. package/dist/generated/themes/MultiInput.css.js +1 -1
  469. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  470. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  471. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  472. package/dist/generated/themes/Panel.css.js +1 -1
  473. package/dist/generated/themes/Panel.css.js.map +1 -1
  474. package/dist/generated/themes/Popover.css.js +1 -1
  475. package/dist/generated/themes/Popover.css.js.map +1 -1
  476. package/dist/generated/themes/Popup.css.js +1 -1
  477. package/dist/generated/themes/Popup.css.js.map +1 -1
  478. package/dist/generated/themes/PopupBlockLayer.css.d.ts +3 -0
  479. package/dist/generated/themes/{PopupStaticAreaStyles.css.js → PopupBlockLayer.css.js} +2 -2
  480. package/dist/generated/themes/PopupBlockLayer.css.js.map +1 -0
  481. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  482. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  483. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  484. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  485. package/dist/generated/themes/RadioButton.css.js +1 -1
  486. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  487. package/dist/generated/themes/RangeSlider.css.js +1 -1
  488. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  489. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  490. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  491. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  492. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  493. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  494. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  495. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  496. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  497. package/dist/generated/themes/Select.css.js +1 -1
  498. package/dist/generated/themes/Select.css.js.map +1 -1
  499. package/dist/generated/themes/SelectMenu.css.js +1 -1
  500. package/dist/generated/themes/SelectMenu.css.js.map +1 -1
  501. package/dist/generated/themes/SelectPopover.css.js +1 -1
  502. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  503. package/dist/generated/themes/SliderBase.css.js +1 -1
  504. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  505. package/dist/generated/themes/SplitButton.css.js +1 -1
  506. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  507. package/dist/generated/themes/StepInput.css.js +1 -1
  508. package/dist/generated/themes/StepInput.css.js.map +1 -1
  509. package/dist/generated/themes/Switch.css.js +1 -1
  510. package/dist/generated/themes/Switch.css.js.map +1 -1
  511. package/dist/generated/themes/TabContainer.css.js +1 -1
  512. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  513. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  514. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  515. package/dist/generated/themes/TabInStrip.css.js +1 -1
  516. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  517. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  518. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  519. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  520. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  521. package/dist/generated/themes/TabSeparatorInStrip.css.js +1 -1
  522. package/dist/generated/themes/TabSeparatorInStrip.css.js.map +1 -1
  523. package/dist/generated/themes/Table.css.js +1 -1
  524. package/dist/generated/themes/Table.css.js.map +1 -1
  525. package/dist/generated/themes/TableCell.css.js +1 -1
  526. package/dist/generated/themes/TableCell.css.js.map +1 -1
  527. package/dist/generated/themes/TableColumn.css.js +1 -1
  528. package/dist/generated/themes/TableColumn.css.js.map +1 -1
  529. package/dist/generated/themes/TableGroupRow.css.js +1 -1
  530. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  531. package/dist/generated/themes/TableRow.css.js +1 -1
  532. package/dist/generated/themes/TableRow.css.js.map +1 -1
  533. package/dist/generated/themes/TextArea.css.js +1 -1
  534. package/dist/generated/themes/TextArea.css.js.map +1 -1
  535. package/dist/generated/themes/TimePicker.css.js +1 -1
  536. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  537. package/dist/generated/themes/Toast.css.js +1 -1
  538. package/dist/generated/themes/Toast.css.js.map +1 -1
  539. package/dist/generated/themes/ToggleButton.css.js +1 -1
  540. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  541. package/dist/generated/themes/Token.css.js +1 -1
  542. package/dist/generated/themes/Token.css.js.map +1 -1
  543. package/dist/generated/themes/Tokenizer.css.js +1 -1
  544. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  545. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  546. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  547. package/dist/generated/themes/Toolbar.css.js +1 -1
  548. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  549. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  550. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  551. package/dist/generated/themes/TreeItem.css.js +1 -1
  552. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  553. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  554. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  555. package/dist/generated/themes/WheelSlider.css.js +1 -1
  556. package/dist/generated/themes/WheelSlider.css.js.map +1 -1
  557. package/dist/generated/themes/YearPicker.css.js +1 -1
  558. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  559. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  560. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  561. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  562. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  563. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  564. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  565. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  566. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  567. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  568. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  569. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  570. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  571. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  572. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  573. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  574. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  575. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  576. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  577. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  578. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  579. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  580. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  581. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  582. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  583. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  584. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  585. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  586. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  587. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  588. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  589. package/dist/types/BarDesign.d.ts +27 -0
  590. package/dist/types/BarDesign.js +29 -0
  591. package/dist/types/BarDesign.js.map +1 -0
  592. package/dist/types/{BreadcrumbsSeparatorStyle.d.ts → BreadcrumbsSeparator.d.ts} +3 -3
  593. package/dist/types/BreadcrumbsSeparator.js +39 -0
  594. package/dist/types/BreadcrumbsSeparator.js.map +1 -0
  595. package/dist/types/BusyIndicatorSize.d.ts +3 -3
  596. package/dist/types/BusyIndicatorSize.js +3 -3
  597. package/dist/types/BusyIndicatorSize.js.map +1 -1
  598. package/dist/types/{CarouselPageIndicatorStyle.d.ts → CarouselPageIndicatorType.d.ts} +3 -3
  599. package/dist/types/{CarouselPageIndicatorStyle.js → CarouselPageIndicatorType.js} +8 -8
  600. package/dist/types/CarouselPageIndicatorType.js.map +1 -0
  601. package/dist/types/{ListMode.d.ts → ListSelectionMode.d.ts} +8 -8
  602. package/dist/types/{ListMode.js → ListSelectionMode.js} +13 -13
  603. package/dist/types/ListSelectionMode.js.map +1 -0
  604. package/dist/types/{TabsOverflowMode.d.ts → OverflowMode.d.ts} +2 -2
  605. package/dist/types/{TabsOverflowMode.js → OverflowMode.js} +7 -7
  606. package/dist/types/OverflowMode.js.map +1 -0
  607. package/dist/types/PopoverHorizontalAlign.d.ts +4 -4
  608. package/dist/types/PopoverHorizontalAlign.js +4 -4
  609. package/dist/types/PopoverHorizontalAlign.js.map +1 -1
  610. package/dist/types/{PopoverPlacementType.d.ts → PopoverPlacement.d.ts} +7 -7
  611. package/dist/types/PopoverPlacement.js +29 -0
  612. package/dist/types/PopoverPlacement.js.map +1 -0
  613. package/dist/vscode.html-custom-data.json +76 -73
  614. package/dist/web-types.json +144 -121
  615. package/package-scripts.cjs +0 -1
  616. package/package.json +9 -9
  617. package/src/Bar.hbs +16 -0
  618. package/src/Breadcrumbs.hbs +3 -1
  619. package/src/BreadcrumbsPopover.hbs +3 -3
  620. package/src/CardHeader.hbs +3 -3
  621. package/src/Carousel.hbs +1 -0
  622. package/src/ColorPalette.hbs +5 -3
  623. package/src/ColorPaletteDialog.hbs +2 -0
  624. package/src/ColorPalettePopover.hbs +1 -1
  625. package/src/ColorPicker.hbs +3 -3
  626. package/src/ComboBox.hbs +2 -0
  627. package/src/ComboBoxPopover.hbs +5 -6
  628. package/src/DatePicker.hbs +2 -45
  629. package/src/DatePickerInput.hbs +45 -0
  630. package/src/DatePickerPopover.hbs +3 -3
  631. package/src/DateTimePicker.hbs +2 -0
  632. package/src/DateTimePickerPopover.hbs +1 -1
  633. package/src/FileUploader.hbs +2 -1
  634. package/src/FileUploaderPopover.hbs +2 -2
  635. package/src/Input.hbs +3 -1
  636. package/src/InputPopover.hbs +4 -4
  637. package/src/List.hbs +5 -6
  638. package/src/ListItem.hbs +1 -1
  639. package/src/Menu.hbs +3 -3
  640. package/src/MultiComboBox.hbs +2 -0
  641. package/src/MultiComboBoxPopover.hbs +6 -5
  642. package/src/NavigationMenu.hbs +1 -1
  643. package/src/Popup.hbs +2 -1
  644. package/src/PopupBlockLayer.hbs +2 -4
  645. package/src/ProgressIndicator.hbs +0 -1
  646. package/src/ResponsivePopover.hbs +1 -0
  647. package/src/Select.hbs +2 -0
  648. package/src/SelectMenu.hbs +4 -4
  649. package/src/SelectPopover.hbs +5 -5
  650. package/src/TabContainer.hbs +4 -2
  651. package/src/TabContainerPopover.hbs +4 -3
  652. package/src/TabInOverflow.hbs +1 -1
  653. package/src/TabInStrip.hbs +3 -3
  654. package/src/TabSeparatorInOverflow.hbs +1 -1
  655. package/src/Table.hbs +0 -1
  656. package/src/TextArea.hbs +2 -0
  657. package/src/TextAreaPopover.hbs +1 -1
  658. package/src/TimePicker.hbs +2 -0
  659. package/src/TimePickerPopover.hbs +6 -6
  660. package/src/Tokenizer.hbs +3 -1
  661. package/src/TokenizerPopover.hbs +3 -3
  662. package/src/Toolbar.hbs +3 -1
  663. package/src/ToolbarPopover.hbs +2 -2
  664. package/src/Tree.hbs +1 -1
  665. package/src/themes/Badge.css +2 -1
  666. package/src/themes/Bar.css +75 -0
  667. package/src/themes/Breadcrumbs.css +5 -5
  668. package/src/themes/BusyIndicator.css +18 -17
  669. package/src/themes/CardHeader.css +6 -4
  670. package/src/themes/Carousel.css +2 -1
  671. package/src/themes/CheckBox.css +11 -14
  672. package/src/themes/Dialog.css +2 -1
  673. package/src/themes/List.css +3 -3
  674. package/src/themes/ListItem.css +3 -3
  675. package/src/themes/Menu.css +1 -1
  676. package/src/themes/Popover.css +12 -12
  677. package/src/themes/Popup.css +5 -2
  678. package/src/themes/{PopupStaticAreaStyles.css → PopupBlockLayer.css} +6 -5
  679. package/src/themes/PopupsCommon.css +0 -1
  680. package/src/themes/ProgressIndicator.css +0 -4
  681. package/src/themes/RadioButton.css +4 -7
  682. package/src/themes/TabContainer.css +1 -0
  683. package/src/themes/TabInOverflow.css +1 -0
  684. package/src/themes/TabInStrip.css +8 -4
  685. package/src/themes/TabSeparatorInOverflow.css +2 -2
  686. package/src/themes/TabSeparatorInStrip.css +2 -2
  687. package/src/themes/TreeItem.css +2 -2
  688. package/src/themes/base/Bar-parameters.css +8 -0
  689. package/src/themes/base/RadioButton-parameters.css +0 -1
  690. package/src/themes/base/sizes-parameters.css +3 -0
  691. package/src/themes/sap_belize/parameters-bundle.css +2 -1
  692. package/src/themes/sap_belize_hcb/parameters-bundle.css +2 -1
  693. package/src/themes/sap_belize_hcw/parameters-bundle.css +2 -1
  694. package/src/themes/sap_fiori_3/parameters-bundle.css +2 -1
  695. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +2 -1
  696. package/src/themes/sap_fiori_3_hcb/Bar-parameters.css +5 -0
  697. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +2 -1
  698. package/src/themes/sap_fiori_3_hcw/Bar-parameters.css +5 -0
  699. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  700. package/src/themes/sap_horizon/parameters-bundle.css +2 -1
  701. package/src/themes/sap_horizon_dark/CheckBox-parameters.css +1 -0
  702. package/src/themes/sap_horizon_dark/parameters-bundle.css +2 -1
  703. package/src/themes/sap_horizon_hcb/Bar-parameters.css +5 -0
  704. package/src/themes/sap_horizon_hcb/CheckBox-parameters.css +1 -0
  705. package/src/themes/sap_horizon_hcb/parameters-bundle.css +2 -1
  706. package/src/themes/sap_horizon_hcw/Bar-parameters.css +5 -0
  707. package/src/themes/sap_horizon_hcw/CheckBox-parameters.css +1 -0
  708. package/src/themes/sap_horizon_hcw/parameters-bundle.css +2 -1
  709. package/dist/Assets-static.d.ts +0 -4
  710. package/dist/Assets-static.js +0 -6
  711. package/dist/Assets-static.js.map +0 -1
  712. package/dist/css/themes/PopupStaticAreaStyles.css +0 -1
  713. package/dist/generated/json-imports/Themes-static.d.ts +0 -1
  714. package/dist/generated/json-imports/Themes-static.js +0 -45
  715. package/dist/generated/json-imports/Themes-static.js.map +0 -1
  716. package/dist/generated/json-imports/i18n-static.d.ts +0 -1
  717. package/dist/generated/json-imports/i18n-static.js +0 -168
  718. package/dist/generated/json-imports/i18n-static.js.map +0 -1
  719. package/dist/generated/themes/ColorPaletteStaticArea.css.js.map +0 -1
  720. package/dist/generated/themes/PopupStaticAreaStyles.css.js.map +0 -1
  721. package/dist/types/BreadcrumbsSeparatorStyle.js +0 -39
  722. package/dist/types/BreadcrumbsSeparatorStyle.js.map +0 -1
  723. package/dist/types/CarouselPageIndicatorStyle.js.map +0 -1
  724. package/dist/types/ListMode.js.map +0 -1
  725. package/dist/types/PopoverPlacementType.js +0 -29
  726. package/dist/types/PopoverPlacementType.js.map +0 -1
  727. package/dist/types/TabContainerBackgroundDesign.d.ts +0 -22
  728. package/dist/types/TabContainerBackgroundDesign.js +0 -24
  729. package/dist/types/TabContainerBackgroundDesign.js.map +0 -1
  730. package/dist/types/TabsOverflowMode.js.map +0 -1
  731. /package/dist/css/themes/{ColorPaletteStaticArea.css → ColorPaletteDialog.css} +0 -0
  732. /package/dist/generated/themes/{ColorPaletteStaticArea.css.d.ts → Bar.css.d.ts} +0 -0
  733. /package/dist/generated/themes/{PopupStaticAreaStyles.css.d.ts → ColorPaletteDialog.css.d.ts} +0 -0
  734. /package/src/themes/{ColorPaletteStaticArea.css → ColorPaletteDialog.css} +0 -0
  735. /package/src/themes/base/{PopupStaticAreaStyles-parameters.css → PopupBlockLayer-parameters.css} +0 -0
package/dist/Tokenizer.js CHANGED
@@ -6,6 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  var Tokenizer_1;
8
8
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
+ import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
9
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
11
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
11
12
  import event from "@ui5/webcomponents-base/dist/decorators/event.js";
@@ -25,7 +26,6 @@ import Title from "./Title.js";
25
26
  import Button from "./Button.js";
26
27
  import StandardListItem from "./StandardListItem.js";
27
28
  import TokenizerTemplate from "./generated/templates/TokenizerTemplate.lit.js";
28
- import TokenizerPopoverTemplate from "./generated/templates/TokenizerPopoverTemplate.lit.js";
29
29
  import { MULTIINPUT_SHOW_MORE_TOKENS, TOKENIZER_ARIA_LABEL, TOKENIZER_POPOVER_REMOVE, TOKENIZER_ARIA_CONTAIN_TOKEN, TOKENIZER_ARIA_CONTAIN_ONE_TOKEN, TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS, TOKENIZER_SHOW_ALL_ITEMS, } from "./generated/i18n/i18n-defaults.js";
30
30
  // Styles
31
31
  import TokenizerCss from "./generated/themes/Tokenizer.css.js";
@@ -61,6 +61,7 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
61
61
  getItemsCallback: this._getVisibleTokens.bind(this),
62
62
  });
63
63
  this._scrollEnablement = new ScrollEnablement(this);
64
+ this._isOpen = false;
64
65
  }
65
66
  onBeforeRendering() {
66
67
  this._tokensCount = this._getTokens().length;
@@ -85,6 +86,7 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
85
86
  }
86
87
  async openMorePopover() {
87
88
  (await this.getPopover()).showAt(this.morePopoverOpener || this);
89
+ this._isOpen = true;
88
90
  }
89
91
  _getTokens() {
90
92
  return this.getSlottedNodes("tokens");
@@ -405,6 +407,7 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
405
407
  }
406
408
  async closeMorePopover() {
407
409
  (await this.getPopover()).close(false, false, true);
410
+ this._isOpen = false;
408
411
  }
409
412
  get _nMoreText() {
410
413
  if (!this._nMoreCount) {
@@ -546,8 +549,8 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
546
549
  Tokenizer_1.i18nBundle = await getI18nBundle("@ui5/webcomponents");
547
550
  }
548
551
  async getPopover() {
549
- const staticAreaItem = await this.getStaticAreaItemDomRef();
550
- return staticAreaItem.querySelector("[ui5-responsive-popover]");
552
+ await renderFinished();
553
+ return this.shadowRoot.querySelector("[ui5-responsive-popover]");
551
554
  }
552
555
  };
553
556
  __decorate([
@@ -589,14 +592,13 @@ Tokenizer = Tokenizer_1 = __decorate([
589
592
  languageAware: true,
590
593
  renderer: litRender,
591
594
  template: TokenizerTemplate,
592
- styles: TokenizerCss,
593
- staticAreaStyles: [
595
+ styles: [
596
+ TokenizerCss,
594
597
  ResponsivePopoverCommonCss,
595
598
  ValueStateMessageCss,
596
599
  SuggestionsCss,
597
600
  TokenizerPopoverCss,
598
601
  ],
599
- staticAreaTemplate: TokenizerPopoverTemplate,
600
602
  dependencies: [
601
603
  ResponsivePopover,
602
604
  List,
@@ -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.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport ScrollEnablement from \"@ui5/webcomponents-base/dist/delegate/ScrollEnablement.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\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\tisEnd,\n\tisHome,\n\tisHomeShift,\n\tisEndShift,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisRight,\n\tisLeft,\n\tisUp,\n\tisDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport List from \"./List.js\";\nimport Title from \"./Title.js\";\nimport Button from \"./Button.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport type Token from \"./Token.js\";\nimport type { IToken } from \"./MultiInput.js\";\nimport type { TokenDeleteEventDetail } from \"./Token.js\";\nimport TokenizerTemplate from \"./generated/templates/TokenizerTemplate.lit.js\";\nimport TokenizerPopoverTemplate from \"./generated/templates/TokenizerPopoverTemplate.lit.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} 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\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\n\n// reuse suggestions focus styling for NMore popup\nimport SuggestionsCss from \"./generated/themes/Suggestions.css.js\";\n\ntype TokenizerTokenDeleteEventDetail = {\n\tref: Token;\n}\n\nenum ClipboardDataOperation {\n\tcut = \"cut\",\n\tcopy = \"copy\",\n}\n/**\n * @class\n *\n * ### Overview\n *\n * A container for tokens.\n * @constructor\n * @extends UI5Element\n * @private\n */\n@customElement({\n\ttag: \"ui5-tokenizer\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: TokenizerTemplate,\n\tstyles: TokenizerCss,\n\tstaticAreaStyles: [\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tSuggestionsCss,\n\t\tTokenizerPopoverCss,\n\t],\n\tstaticAreaTemplate: TokenizerPopoverTemplate,\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tList,\n\t\tStandardListItem,\n\t\tTitle,\n\t\tButton,\n\t],\n})\n\n@event(\"token-delete\", {\n\tdetail: {\n\t\tref: { type: HTMLElement },\n\t},\n})\n\n@event(\"show-more-items-press\", {\n\tdetail: {\n\t\tref: { type: HTMLElement },\n\t},\n})\n\n@event(\"before-more-popover-open\")\nclass Tokenizer extends UI5Element {\n\t@property({ type: Boolean })\n\tshowMore!: boolean;\n\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Prevent opening of n-more Popover when label is clicked\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tpreventPopoverOpen!: boolean;\n\n\t/**\n\t * Indicates if the tokenizer should show all tokens or n more label instead\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\texpanded!: boolean;\n\n\t@property({ type: Object })\n\tmorePopoverOpener!: Tokenizer;\n\n\t@property({ validator: Integer })\n\tpopoverMinWidth?: number;\n\n\t/**\n\t * Indicates the value state of the related input component.\n\t * @default \"None\"\n\t * @private\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t@property({ validator: Integer })\n\t_nMoreCount!: number;\n\n\t@property({ validator: Integer })\n\t_tokensCount!: number;\n\n\t@slot({ type: HTMLElement, \"default\": true, individualSlots: true })\n\ttokens!: Array<Token>;\n\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_resizeHandler: ResizeObserverCallback;\n\t_itemNav: ItemNavigation;\n\t_scrollEnablement: ScrollEnablement;\n\t_expandedScrollWidth?: number;\n\n\t_handleResize() {\n\t\tthis._nMoreCount = this.overflownTokens.length;\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._scrollEnablement = new ScrollEnablement(this);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._tokensCount = this._getTokens().length;\n\n\t\tthis._tokens.forEach(token => {\n\t\t\ttoken.singleToken = this._tokens.length === 1;\n\t\t});\n\n\t\tif (!this._tokens.length) {\n\t\t\tthis.closeMorePopover();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this.contentDom, this._resizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this.contentDom, this._resizeHandler);\n\t}\n\n\tasync _openMorePopoverAndFireEvent() {\n\t\tif (!this.preventPopoverOpen) {\n\t\t\tawait this.openMorePopover();\n\t\t}\n\n\t\tthis.fireEvent(\"show-more-items-press\");\n\t}\n\n\tasync openMorePopover() {\n\t\t(await this.getPopover()).showAt(this.morePopoverOpener || this);\n\t}\n\n\t_getTokens() {\n\t\treturn this.getSlottedNodes<Token>(\"tokens\");\n\t}\n\n\tget _tokens() {\n\t\treturn this.getSlottedNodes<Token>(\"tokens\");\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\t\t\tif (!target.toBeDeleted) {\n\t\t\t\tthis._itemNav.setCurrentItem(target);\n\t\t\t}\n\t\t}\n\t}\n\n\tonTokenSelect() {\n\t\tconst tokens = this._getTokens();\n\n\t\tif (tokens.length === 1 && tokens[0].isTruncatable) {\n\t\t\tif (tokens[0].selected) {\n\t\t\t\tthis.openMorePopover();\n\t\t\t} else {\n\t\t\t\tthis.closeMorePopover();\n\t\t\t}\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\tasync onAfterRendering() {\n\t\tthis._nMoreCount = this.overflownTokens.length;\n\n\t\tif (!this._getTokens().length) {\n\t\t\tconst popover = await this.getPopover();\n\t\t\tpopover.close();\n\t\t}\n\n\t\tthis._scrollEnablement.scrollContainer = (this.expanded || !this.narrowContentDom) ? this.expandedContentDom! : this.narrowContentDom;\n\n\t\tif (this.expanded) {\n\t\t\tthis._expandedScrollWidth = this.expandedContentDom!.scrollWidth;\n\t\t\tthis.scrollToEnd();\n\t\t}\n\n\t\tif (!this.expanded) {\n\t\t\tthis.scrollToStart();\n\t\t}\n\t}\n\n\t_delete(e: CustomEvent<TokenDeleteEventDetail>) {\n\t\tconst target = e.target as Token;\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\n\t\t\tif (this._getTokens().length) {\n\t\t\t\tthis.closeMorePopover();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._selectedTokens.length) {\n\t\t\tthis._selectedTokens.forEach(token => this.deleteToken(token, e.detail.backSpace));\n\t\t} else {\n\t\t\tthis.deleteToken(target, e.detail.backSpace);\n\t\t}\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.fireEvent<TokenizerTokenDeleteEventDetail>(\"token-delete\", { ref: token || target });\n\t}\n\n\t_handleCurrentItemAfterDeletion(nextToken: Token) {\n\t\tif (nextToken && !isPhone()) {\n\t\t\tthis._itemNav.setCurrentItem(nextToken); // update the item navigation with the new token or undefined, if the last was deleted\n\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\tnextToken = forwardFocusToPrevious ? tokens[--nextTokenIndex] : tokens[++nextTokenIndex];\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.fireEvent<TokenizerTokenDeleteEventDetail>(\"token-delete\", { ref: token });\n\t}\n\n\tasync itemDelete(e: CustomEvent) {\n\t\tconst token = e.detail.item.tokenRef;\n\n\t\t// delay the token deletion in order to close the popover before removing token of the DOM\n\t\tif (this._getTokens().length === 1 && this._getTokens()[0].isTruncatable) {\n\t\t\tconst morePopover = await this.getPopover();\n\n\t\t\tmorePopover.addEventListener(\"ui5-after-close\", () => {\n\t\t\t\tthis.fireEvent<TokenizerTokenDeleteEventDetail>(\"token-delete\", { ref: token });\n\t\t\t}, {\n\t\t\t\tonce: true,\n\t\t\t});\n\n\t\t\tmorePopover.close();\n\t\t} else {\n\t\t\tthis.fireEvent<TokenizerTokenDeleteEventDetail>(\"token-delete\", { ref: token });\n\t\t}\n\t}\n\n\thandleBeforeClose() {\n\t\tif (isPhone()) {\n\t\t\tthis._getTokens().forEach(token => {\n\t\t\t\ttoken.selected = false;\n\t\t\t});\n\t\t}\n\t}\n\n\thandleBeforeOpen() {\n\t\tthis.fireEvent(\"before-more-popover-open\");\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\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)) {\n\t\t\tthis._handleHomeShift(e);\n\t\t}\n\n\t\tif (isEndShift(e)) {\n\t\t\tthis._handleEndShift(e);\n\t\t}\n\n\t\tthis._handleItemNavigation(e, this._tokens);\n\t}\n\n\t_handleItemNavigation(e: KeyboardEvent, tokens: Array<Token>) {\n\t\tconst isCtrl = !!(e.metaKey || e.ctrlKey);\n\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\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\tthis._itemNav.setCurrentItem(tokens[index]);\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\n\t\ttokens.filter((token, index) => index <= currentTokenIdx).forEach(token => {\n\t\t\ttoken.selected = true;\n\t\t});\n\n\t\ttokens[0].focus();\n\t\tthis._itemNav.setCurrentItem(tokens[0]);\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\n\t\ttokens.filter((token, index) => index >= currentTokenIdx).forEach(token => {\n\t\t\ttoken.selected = true;\n\t\t});\n\n\t\ttokens[tokens.length - 1].focus();\n\t\tthis._itemNav.setCurrentItem(tokens[tokens.length - 1]);\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\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\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\tthis._itemNav.setCurrentItem(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\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\t\tsetTimeout(() => {\n\t\t\ttokens[nextIndex].focus();\n\t\t}, 0);\n\n\t\tthis._scrollToToken(tokens[nextIndex]);\n\t\tthis._itemNav.setCurrentItem(tokens[nextIndex]);\n\t}\n\n\t_click(e: MouseEvent) {\n\t\tthis._handleTokenSelection(e);\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\t}\n\n\t_handleTokenSelection(e: KeyboardEvent | MouseEvent, deselectAll = true) {\n\t\tconst target = e.target as Token;\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\t\t}\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\t/* fill clipboard with tokens' texts so parent can handle creation */\n\t\tconst cutToClipboard = (e: ClipboardEvent) => {\n\t\t\tif (e.clipboardData) {\n\t\t\t\te.clipboardData.setData(\"text/plain\", tokensTexts);\n\t\t\t}\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 * @private\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 * @private\n\t */\n\tscrollToEnd() {\n\t\tconst expandedTokenizerScrollWidth = this.expandedContentDom && (this.effectiveDir !== \"rtl\" ? this.expandedContentDom.scrollWidth : -this.expandedContentDom.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 4 pixels to the scroll position to ensure padding and border visibility on both ends\n\t * @private\n\t */\n\t_scrollToToken(token: IToken) {\n\t\tif (!this.expandedContentDom) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tokenRect = token.getBoundingClientRect();\n\t\tconst tokenContainerRect = this.expandedContentDom.getBoundingClientRect();\n\n\t\tif (tokenRect.left < tokenContainerRect.left) {\n\t\t\tthis._scrollEnablement.scrollTo(this.expandedContentDom.scrollLeft - (tokenContainerRect.left - tokenRect.left + 5), 0);\n\t\t} else if (tokenRect.right > tokenContainerRect.right) {\n\t\t\tthis._scrollEnablement.scrollTo(this.expandedContentDom.scrollLeft + (tokenRect.right - tokenContainerRect.right + 5), 0);\n\t\t}\n\t}\n\n\tasync closeMorePopover() {\n\t\t(await this.getPopover()).close(false, false, true);\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 showNMore() {\n\t\treturn !this.expanded && this.showMore && !!this.overflownTokens.length;\n\t}\n\n\tget contentDom() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tokenizer--content\")!;\n\t}\n\n\tget expandedContentDom() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tokenizer-expanded--content\");\n\t}\n\n\tget narrowContentDom() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tokenizer-nmore--content\");\n\t}\n\n\tget tokenizerLabel() {\n\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_ARIA_LABEL);\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\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\tthis._getTokens().forEach(token => {\n\t\t\ttoken.overflows = false;\n\t\t});\n\n\t\treturn this._getTokens().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 noValueStatePopover() {\n\t\treturn this.valueState === ValueState.None || this.valueState === ValueState.Success;\n\t}\n\n\tget valueStateMessageText() {\n\t\treturn this.getSlottedNodes(\"valueStateMessage\").map(el => el.cloneNode(true));\n\t}\n\n\t/**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\t get _valueStateMessageIcon() {\n\t\tconst iconPerValueState = {\n\t\t\tError: \"error\",\n\t\t\tWarning: \"alert\",\n\t\t\tSuccess: \"sys-enter-2\",\n\t\t\tInformation: \"information\",\n\t\t};\n\n\t\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _selectedTokens() {\n\t\treturn this._getTokens().filter(token => token.selected);\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\twrapper: {\n\t\t\t\t\"ui5-tokenizer-root\": true,\n\t\t\t\t\"ui5-tokenizer-nmore--wrapper\": this.showMore,\n\t\t\t\t\"ui5-tokenizer-no-padding\": !this._getTokens().length,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-tokenizer--content\": true,\n\t\t\t\t\"ui5-tokenizer-expanded--content\": !this.showNMore,\n\t\t\t\t\"ui5-tokenizer-nmore--content\": this.showNMore,\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\t\"ui5-popover-with-value-state-header-phone\": this._isPhone && !this.noValueStatePopover,\n\t\t\t\t\"ui5-popover-with-value-state-header\": !this._isPhone && !this.noValueStatePopover,\n\t\t\t},\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage-header\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Success,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Error,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Warning,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t};\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` : \"\",\n\t\t\t},\n\t\t\tpopoverValueStateMessage: {\n\t\t\t\t\"width\": this.popoverMinWidth && !isPhone() ? `${this.popoverMinWidth}px` : \"100%\",\n\t\t\t\t\"min-height\": \"2rem\",\n\t\t\t},\n\t\t\tpopoverHeader: {\n\t\t\t\t\"min-height\": \"2rem\",\n\t\t\t},\n\t\t\tpopoverHeaderTitle: {\n\t\t\t\t\"justify-content\": \"left\",\n\t\t\t},\n\t\t};\n\t}\n\n\t_tokensCountText() {\n\t\tconst iTokenCount = this._getTokens().length;\n\n\t\tif (iTokenCount === 0) {\n\t\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_TOKEN);\n\t\t}\n\n\t\tif (iTokenCount === 1) {\n\t\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_ONE_TOKEN);\n\t\t}\n\n\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS, iTokenCount);\n\t}\n\n\t/**\n\t * @protected\n\t */\n\t_focusLastToken() {\n\t\tif (this.tokens.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst lastToken = this.tokens[this.tokens.length - 1];\n\t\tlastToken.focus();\n\t\tthis._itemNav.setCurrentItem(lastToken);\n\t}\n\n\tstatic async onDefine() {\n\t\tTokenizer.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tasync getPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n}\n\nTokenizer.define();\n\nexport default Tokenizer;\nexport { ClipboardDataOperation };\nexport type { TokenizerTokenDeleteEventDetail };\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 { renderFinished } from \"@ui5/webcomponents-base/dist/Render.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.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport ScrollEnablement from \"@ui5/webcomponents-base/dist/delegate/ScrollEnablement.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\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\tisEnd,\n\tisHome,\n\tisHomeShift,\n\tisEndShift,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisRight,\n\tisLeft,\n\tisUp,\n\tisDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport List from \"./List.js\";\nimport Title from \"./Title.js\";\nimport Button from \"./Button.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport type Token from \"./Token.js\";\nimport type { IToken } from \"./MultiInput.js\";\nimport type { TokenDeleteEventDetail } from \"./Token.js\";\nimport TokenizerTemplate from \"./generated/templates/TokenizerTemplate.lit.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} 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\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\n\n// reuse suggestions focus styling for NMore popup\nimport SuggestionsCss from \"./generated/themes/Suggestions.css.js\";\n\ntype TokenizerTokenDeleteEventDetail = {\n\tref: Token;\n}\n\nenum ClipboardDataOperation {\n\tcut = \"cut\",\n\tcopy = \"copy\",\n}\n/**\n * @class\n *\n * ### Overview\n *\n * A container for tokens.\n * @constructor\n * @extends UI5Element\n * @private\n */\n@customElement({\n\ttag: \"ui5-tokenizer\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: TokenizerTemplate,\n\tstyles: [\n\t\tTokenizerCss,\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tSuggestionsCss,\n\t\tTokenizerPopoverCss,\n\t],\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tList,\n\t\tStandardListItem,\n\t\tTitle,\n\t\tButton,\n\t],\n})\n\n@event(\"token-delete\", {\n\tdetail: {\n\t\tref: { type: HTMLElement },\n\t},\n})\n\n@event(\"show-more-items-press\", {\n\tdetail: {\n\t\tref: { type: HTMLElement },\n\t},\n})\n\n@event(\"before-more-popover-open\")\nclass Tokenizer extends UI5Element {\n\t@property({ type: Boolean })\n\tshowMore!: boolean;\n\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Prevent opening of n-more Popover when label is clicked\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tpreventPopoverOpen!: boolean;\n\n\t/**\n\t * Indicates if the tokenizer should show all tokens or n more label instead\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\texpanded!: boolean;\n\n\t@property({ type: Object })\n\tmorePopoverOpener!: Tokenizer;\n\n\t@property({ validator: Integer })\n\tpopoverMinWidth?: number;\n\n\t/**\n\t * Indicates the value state of the related input component.\n\t * @default \"None\"\n\t * @private\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t@property({ validator: Integer })\n\t_nMoreCount!: number;\n\n\t@property({ validator: Integer })\n\t_tokensCount!: number;\n\n\t@slot({ type: HTMLElement, \"default\": true, individualSlots: true })\n\ttokens!: Array<Token>;\n\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_resizeHandler: ResizeObserverCallback;\n\t_itemNav: ItemNavigation;\n\t_scrollEnablement: ScrollEnablement;\n\t_expandedScrollWidth?: number;\n\t_isOpen: boolean;\n\n\t_handleResize() {\n\t\tthis._nMoreCount = this.overflownTokens.length;\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._scrollEnablement = new ScrollEnablement(this);\n\t\tthis._isOpen = false;\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._tokensCount = this._getTokens().length;\n\n\t\tthis._tokens.forEach(token => {\n\t\t\ttoken.singleToken = this._tokens.length === 1;\n\t\t});\n\n\t\tif (!this._tokens.length) {\n\t\t\tthis.closeMorePopover();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this.contentDom, this._resizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this.contentDom, this._resizeHandler);\n\t}\n\n\tasync _openMorePopoverAndFireEvent() {\n\t\tif (!this.preventPopoverOpen) {\n\t\t\tawait this.openMorePopover();\n\t\t}\n\n\t\tthis.fireEvent(\"show-more-items-press\");\n\t}\n\n\tasync openMorePopover() {\n\t\t(await this.getPopover()).showAt(this.morePopoverOpener || this);\n\t\tthis._isOpen = true;\n\t}\n\n\t_getTokens() {\n\t\treturn this.getSlottedNodes<Token>(\"tokens\");\n\t}\n\n\tget _tokens() {\n\t\treturn this.getSlottedNodes<Token>(\"tokens\");\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\t\t\tif (!target.toBeDeleted) {\n\t\t\t\tthis._itemNav.setCurrentItem(target);\n\t\t\t}\n\t\t}\n\t}\n\n\tonTokenSelect() {\n\t\tconst tokens = this._getTokens();\n\n\t\tif (tokens.length === 1 && tokens[0].isTruncatable) {\n\t\t\tif (tokens[0].selected) {\n\t\t\t\tthis.openMorePopover();\n\t\t\t} else {\n\t\t\t\tthis.closeMorePopover();\n\t\t\t}\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\tasync onAfterRendering() {\n\t\tthis._nMoreCount = this.overflownTokens.length;\n\n\t\tif (!this._getTokens().length) {\n\t\t\tconst popover = await this.getPopover();\n\t\t\tpopover.close();\n\t\t}\n\n\t\tthis._scrollEnablement.scrollContainer = (this.expanded || !this.narrowContentDom) ? this.expandedContentDom! : this.narrowContentDom;\n\n\t\tif (this.expanded) {\n\t\t\tthis._expandedScrollWidth = this.expandedContentDom!.scrollWidth;\n\t\t\tthis.scrollToEnd();\n\t\t}\n\n\t\tif (!this.expanded) {\n\t\t\tthis.scrollToStart();\n\t\t}\n\t}\n\n\t_delete(e: CustomEvent<TokenDeleteEventDetail>) {\n\t\tconst target = e.target as Token;\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\n\t\t\tif (this._getTokens().length) {\n\t\t\t\tthis.closeMorePopover();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._selectedTokens.length) {\n\t\t\tthis._selectedTokens.forEach(token => this.deleteToken(token, e.detail.backSpace));\n\t\t} else {\n\t\t\tthis.deleteToken(target, e.detail.backSpace);\n\t\t}\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.fireEvent<TokenizerTokenDeleteEventDetail>(\"token-delete\", { ref: token || target });\n\t}\n\n\t_handleCurrentItemAfterDeletion(nextToken: Token) {\n\t\tif (nextToken && !isPhone()) {\n\t\t\tthis._itemNav.setCurrentItem(nextToken); // update the item navigation with the new token or undefined, if the last was deleted\n\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\tnextToken = forwardFocusToPrevious ? tokens[--nextTokenIndex] : tokens[++nextTokenIndex];\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.fireEvent<TokenizerTokenDeleteEventDetail>(\"token-delete\", { ref: token });\n\t}\n\n\tasync itemDelete(e: CustomEvent) {\n\t\tconst token = e.detail.item.tokenRef;\n\n\t\t// delay the token deletion in order to close the popover before removing token of the DOM\n\t\tif (this._getTokens().length === 1 && this._getTokens()[0].isTruncatable) {\n\t\t\tconst morePopover = await this.getPopover();\n\n\t\t\tmorePopover.addEventListener(\"ui5-after-close\", () => {\n\t\t\t\tthis.fireEvent<TokenizerTokenDeleteEventDetail>(\"token-delete\", { ref: token });\n\t\t\t}, {\n\t\t\t\tonce: true,\n\t\t\t});\n\n\t\t\tmorePopover.close();\n\t\t} else {\n\t\t\tthis.fireEvent<TokenizerTokenDeleteEventDetail>(\"token-delete\", { ref: token });\n\t\t}\n\t}\n\n\thandleBeforeClose() {\n\t\tif (isPhone()) {\n\t\t\tthis._getTokens().forEach(token => {\n\t\t\t\ttoken.selected = false;\n\t\t\t});\n\t\t}\n\t}\n\n\thandleBeforeOpen() {\n\t\tthis.fireEvent(\"before-more-popover-open\");\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\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)) {\n\t\t\tthis._handleHomeShift(e);\n\t\t}\n\n\t\tif (isEndShift(e)) {\n\t\t\tthis._handleEndShift(e);\n\t\t}\n\n\t\tthis._handleItemNavigation(e, this._tokens);\n\t}\n\n\t_handleItemNavigation(e: KeyboardEvent, tokens: Array<Token>) {\n\t\tconst isCtrl = !!(e.metaKey || e.ctrlKey);\n\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\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\tthis._itemNav.setCurrentItem(tokens[index]);\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\n\t\ttokens.filter((token, index) => index <= currentTokenIdx).forEach(token => {\n\t\t\ttoken.selected = true;\n\t\t});\n\n\t\ttokens[0].focus();\n\t\tthis._itemNav.setCurrentItem(tokens[0]);\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\n\t\ttokens.filter((token, index) => index >= currentTokenIdx).forEach(token => {\n\t\t\ttoken.selected = true;\n\t\t});\n\n\t\ttokens[tokens.length - 1].focus();\n\t\tthis._itemNav.setCurrentItem(tokens[tokens.length - 1]);\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\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\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\tthis._itemNav.setCurrentItem(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\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\t\tsetTimeout(() => {\n\t\t\ttokens[nextIndex].focus();\n\t\t}, 0);\n\n\t\tthis._scrollToToken(tokens[nextIndex]);\n\t\tthis._itemNav.setCurrentItem(tokens[nextIndex]);\n\t}\n\n\t_click(e: MouseEvent) {\n\t\tthis._handleTokenSelection(e);\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\t}\n\n\t_handleTokenSelection(e: KeyboardEvent | MouseEvent, deselectAll = true) {\n\t\tconst target = e.target as Token;\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\t\t}\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\t/* fill clipboard with tokens' texts so parent can handle creation */\n\t\tconst cutToClipboard = (e: ClipboardEvent) => {\n\t\t\tif (e.clipboardData) {\n\t\t\t\te.clipboardData.setData(\"text/plain\", tokensTexts);\n\t\t\t}\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 * @private\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 * @private\n\t */\n\tscrollToEnd() {\n\t\tconst expandedTokenizerScrollWidth = this.expandedContentDom && (this.effectiveDir !== \"rtl\" ? this.expandedContentDom.scrollWidth : -this.expandedContentDom.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 4 pixels to the scroll position to ensure padding and border visibility on both ends\n\t * @private\n\t */\n\t_scrollToToken(token: IToken) {\n\t\tif (!this.expandedContentDom) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tokenRect = token.getBoundingClientRect();\n\t\tconst tokenContainerRect = this.expandedContentDom.getBoundingClientRect();\n\n\t\tif (tokenRect.left < tokenContainerRect.left) {\n\t\t\tthis._scrollEnablement.scrollTo(this.expandedContentDom.scrollLeft - (tokenContainerRect.left - tokenRect.left + 5), 0);\n\t\t} else if (tokenRect.right > tokenContainerRect.right) {\n\t\t\tthis._scrollEnablement.scrollTo(this.expandedContentDom.scrollLeft + (tokenRect.right - tokenContainerRect.right + 5), 0);\n\t\t}\n\t}\n\n\tasync closeMorePopover() {\n\t\t(await this.getPopover()).close(false, false, true);\n\t\tthis._isOpen = false;\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 showNMore() {\n\t\treturn !this.expanded && this.showMore && !!this.overflownTokens.length;\n\t}\n\n\tget contentDom() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tokenizer--content\")!;\n\t}\n\n\tget expandedContentDom() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tokenizer-expanded--content\");\n\t}\n\n\tget narrowContentDom() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tokenizer-nmore--content\");\n\t}\n\n\tget tokenizerLabel() {\n\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_ARIA_LABEL);\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\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\tthis._getTokens().forEach(token => {\n\t\t\ttoken.overflows = false;\n\t\t});\n\n\t\treturn this._getTokens().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 noValueStatePopover() {\n\t\treturn this.valueState === ValueState.None || this.valueState === ValueState.Success;\n\t}\n\n\tget valueStateMessageText() {\n\t\treturn this.getSlottedNodes(\"valueStateMessage\").map(el => el.cloneNode(true));\n\t}\n\n\t/**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\t get _valueStateMessageIcon() {\n\t\tconst iconPerValueState = {\n\t\t\tError: \"error\",\n\t\t\tWarning: \"alert\",\n\t\t\tSuccess: \"sys-enter-2\",\n\t\t\tInformation: \"information\",\n\t\t};\n\n\t\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _selectedTokens() {\n\t\treturn this._getTokens().filter(token => token.selected);\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\twrapper: {\n\t\t\t\t\"ui5-tokenizer-root\": true,\n\t\t\t\t\"ui5-tokenizer-nmore--wrapper\": this.showMore,\n\t\t\t\t\"ui5-tokenizer-no-padding\": !this._getTokens().length,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-tokenizer--content\": true,\n\t\t\t\t\"ui5-tokenizer-expanded--content\": !this.showNMore,\n\t\t\t\t\"ui5-tokenizer-nmore--content\": this.showNMore,\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\t\"ui5-popover-with-value-state-header-phone\": this._isPhone && !this.noValueStatePopover,\n\t\t\t\t\"ui5-popover-with-value-state-header\": !this._isPhone && !this.noValueStatePopover,\n\t\t\t},\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage-header\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Success,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Error,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Warning,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t};\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` : \"\",\n\t\t\t},\n\t\t\tpopoverValueStateMessage: {\n\t\t\t\t\"width\": this.popoverMinWidth && !isPhone() ? `${this.popoverMinWidth}px` : \"100%\",\n\t\t\t\t\"min-height\": \"2rem\",\n\t\t\t},\n\t\t\tpopoverHeader: {\n\t\t\t\t\"min-height\": \"2rem\",\n\t\t\t},\n\t\t\tpopoverHeaderTitle: {\n\t\t\t\t\"justify-content\": \"left\",\n\t\t\t},\n\t\t};\n\t}\n\n\t_tokensCountText() {\n\t\tconst iTokenCount = this._getTokens().length;\n\n\t\tif (iTokenCount === 0) {\n\t\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_TOKEN);\n\t\t}\n\n\t\tif (iTokenCount === 1) {\n\t\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_ONE_TOKEN);\n\t\t}\n\n\t\treturn Tokenizer.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS, iTokenCount);\n\t}\n\n\t/**\n\t * @protected\n\t */\n\t_focusLastToken() {\n\t\tif (this.tokens.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst lastToken = this.tokens[this.tokens.length - 1];\n\t\tlastToken.focus();\n\t\tthis._itemNav.setCurrentItem(lastToken);\n\t}\n\n\tstatic async onDefine() {\n\t\tTokenizer.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tasync getPopover() {\n\t\tawait renderFinished();\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n}\n\nTokenizer.define();\n\nexport default Tokenizer;\nexport { ClipboardDataOperation };\nexport type { TokenizerTokenDeleteEventDetail };\n"]}
package/dist/Toolbar.d.ts CHANGED
@@ -79,7 +79,6 @@ declare class Toolbar extends UI5Element {
79
79
  itemsWidthMeasured: boolean;
80
80
  ITEMS_WIDTH_MAP: Map<string, number>;
81
81
  static get styles(): (string | import("@ui5/webcomponents-base/dist/types.js").StyleDataCSP | import("@ui5/webcomponents-base/dist/types.js").ComponentStylesData[])[];
82
- static get staticAreaStyles(): (string | import("@ui5/webcomponents-base/dist/types.js").StyleDataCSP | import("@ui5/webcomponents-base/dist/types.js").ComponentStylesData[])[];
83
82
  static get dependencies(): (typeof UI5Element)[];
84
83
  static onDefine(): Promise<void>;
85
84
  constructor();
@@ -154,11 +153,11 @@ declare class Toolbar extends UI5Element {
154
153
  * Returns if the overflow popup is open.
155
154
  * @public
156
155
  */
157
- isOverflowOpen(): Promise<boolean>;
158
- openOverflow(): Promise<void>;
159
- closeOverflow(): Promise<void>;
156
+ isOverflowOpen(): boolean;
157
+ openOverflow(): void;
158
+ closeOverflow(): void;
160
159
  toggleOverflow(): void;
161
- getOverflowPopover(): Promise<Popover | null>;
160
+ getOverflowPopover(): Popover | null;
162
161
  /**
163
162
  * Layout management
164
163
  */
@@ -178,8 +177,8 @@ declare class Toolbar extends UI5Element {
178
177
  /**
179
178
  * Private members
180
179
  */
181
- attachListeners(): Promise<void>;
182
- detachListeners(): Promise<void>;
180
+ attachListeners(): void;
181
+ detachListeners(): void;
183
182
  onToolbarItemChange(): void;
184
183
  getItemsInfo(items: Array<ToolbarItem>): ({
185
184
  toolbarTemplate: object;
package/dist/Toolbar.js CHANGED
@@ -21,13 +21,12 @@ import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsSco
21
21
  import { TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL, } from "./generated/i18n/i18n-defaults.js";
22
22
  import ToolbarTemplate from "./generated/templates/ToolbarTemplate.lit.js";
23
23
  import ToolbarCss from "./generated/themes/Toolbar.css.js";
24
- import ToolbarPopoverTemplate from "./generated/templates/ToolbarPopoverTemplate.lit.js";
25
24
  import ToolbarPopoverCss from "./generated/themes/ToolbarPopover.css.js";
26
25
  import ToolbarAlign from "./types/ToolbarAlign.js";
27
26
  import ToolbarItemOverflowBehavior from "./types/ToolbarItemOverflowBehavior.js";
28
27
  import HasPopup from "./types/HasPopup.js";
29
28
  import "./ToolbarItem.js";
30
- import { getRegisteredToolbarItem, getRegisteredStyles, getRegisteredStaticAreaStyles, getRegisteredDependencies, } from "./ToolbarRegistry.js";
29
+ import { getRegisteredToolbarItem, getRegisteredStyles, getRegisteredDependencies, } from "./ToolbarRegistry.js";
31
30
  import Button from "./Button.js";
32
31
  import Popover from "./Popover.js";
33
32
  function calculateCSSREMValue(styleSet, propertyName) {
@@ -62,12 +61,6 @@ let Toolbar = Toolbar_1 = class Toolbar extends UI5Element {
62
61
  const styles = getRegisteredStyles();
63
62
  return [
64
63
  ToolbarCss,
65
- ...styles,
66
- ];
67
- }
68
- static get staticAreaStyles() {
69
- const styles = getRegisteredStaticAreaStyles();
70
- return [
71
64
  ToolbarPopoverCss,
72
65
  ...styles,
73
66
  ];
@@ -217,17 +210,17 @@ let Toolbar = Toolbar_1 = class Toolbar extends UI5Element {
217
210
  * Returns if the overflow popup is open.
218
211
  * @public
219
212
  */
220
- async isOverflowOpen() {
221
- const overflowPopover = await this.getOverflowPopover();
213
+ isOverflowOpen() {
214
+ const overflowPopover = this.getOverflowPopover();
222
215
  return overflowPopover.isOpen();
223
216
  }
224
- async openOverflow() {
225
- const overflowPopover = await this.getOverflowPopover();
217
+ openOverflow() {
218
+ const overflowPopover = this.getOverflowPopover();
226
219
  overflowPopover.showAt(this.overflowButtonDOM);
227
- this.reverseOverflow = overflowPopover.actualPlacementType === "Top";
220
+ this.reverseOverflow = overflowPopover.actualPlacement === "Top";
228
221
  }
229
- async closeOverflow() {
230
- const overflowPopover = await this.getOverflowPopover();
222
+ closeOverflow() {
223
+ const overflowPopover = this.getOverflowPopover();
231
224
  overflowPopover.close();
232
225
  }
233
226
  toggleOverflow() {
@@ -238,9 +231,8 @@ let Toolbar = Toolbar_1 = class Toolbar extends UI5Element {
238
231
  this.openOverflow();
239
232
  }
240
233
  }
241
- async getOverflowPopover() {
242
- const staticAreaItem = await this.getStaticAreaItemDomRef();
243
- return staticAreaItem.querySelector(".ui5-overflow-popover");
234
+ getOverflowPopover() {
235
+ return this.shadowRoot.querySelector(".ui5-overflow-popover");
244
236
  }
245
237
  /**
246
238
  * Layout management
@@ -363,15 +355,15 @@ let Toolbar = Toolbar_1 = class Toolbar extends UI5Element {
363
355
  /**
364
356
  * Private members
365
357
  */
366
- async attachListeners() {
367
- const popover = await this.getOverflowPopover();
358
+ attachListeners() {
359
+ const popover = this.getOverflowPopover();
368
360
  this.subscribedEvents.forEach((e) => {
369
361
  this.itemsDOM?.addEventListener(e, this._onInteract);
370
362
  popover?.addEventListener(e, this._onInteract);
371
363
  });
372
364
  }
373
- async detachListeners() {
374
- const popover = await this.getOverflowPopover();
365
+ detachListeners() {
366
+ const popover = this.getOverflowPopover();
375
367
  this.subscribedEvents.forEach((e) => {
376
368
  this.itemsDOM?.removeEventListener(e, this._onInteract);
377
369
  popover?.removeEventListener(e, this._onInteract);
@@ -451,7 +443,6 @@ Toolbar = Toolbar_1 = __decorate([
451
443
  languageAware: true,
452
444
  renderer: litRender,
453
445
  template: ToolbarTemplate,
454
- staticAreaTemplate: ToolbarPopoverTemplate,
455
446
  })
456
447
  ], Toolbar);
457
448
  Toolbar.define();
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../src/Toolbar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element, { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\n\nimport {\n\tTOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport ToolbarTemplate from \"./generated/templates/ToolbarTemplate.lit.js\";\nimport ToolbarCss from \"./generated/themes/Toolbar.css.js\";\n\nimport ToolbarPopoverTemplate from \"./generated/templates/ToolbarPopoverTemplate.lit.js\";\nimport ToolbarPopoverCss from \"./generated/themes/ToolbarPopover.css.js\";\n\nimport ToolbarAlign from \"./types/ToolbarAlign.js\";\nimport ToolbarItemOverflowBehavior from \"./types/ToolbarItemOverflowBehavior.js\";\nimport HasPopup from \"./types/HasPopup.js\";\n\nimport ToolbarItem from \"./ToolbarItem.js\";\nimport type ToolbarSeparator from \"./ToolbarSeparator.js\";\n\nimport {\n\tgetRegisteredToolbarItem,\n\tgetRegisteredStyles,\n\tgetRegisteredStaticAreaStyles,\n\tgetRegisteredDependencies,\n} from \"./ToolbarRegistry.js\";\n\nimport Button from \"./Button.js\";\nimport Popover from \"./Popover.js\";\n\nfunction calculateCSSREMValue(styleSet: CSSStyleDeclaration, propertyName: string): number {\n\treturn Number(styleSet.getPropertyValue(propertyName).replace(\"rem\", \"\")) * parseInt(getComputedStyle(document.body).getPropertyValue(\"font-size\"));\n}\n\nfunction parsePxValue(styleSet: CSSStyleDeclaration, propertyName: string): number {\n\treturn Number(styleSet.getPropertyValue(propertyName).replace(\"px\", \"\"));\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-toolbar` component is used to create a horizontal layout with items.\n * The items can be overflowing in a popover, when the space is not enough to show all of them.\n *\n * ### Keyboard Handling\n * The `ui5-toolbar` provides advanced keyboard handling.\n *\n * - The control is not interactive, but can contain of interactive elements\n * - [Tab] - iterates through elements\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/Toolbar.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: ToolbarTemplate,\n\tstaticAreaTemplate: ToolbarPopoverTemplate,\n})\nclass Toolbar extends UI5Element {\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Indicated the direction in which the Toolbar items will be aligned.\n\t * @public\n\t * @default \"End\"\n\t */\n\t@property({ type: ToolbarAlign, defaultValue: ToolbarAlign.End })\n\talignContent!: `${ToolbarAlign}`;\n\n\t/**\n\t * Calculated width of the whole toolbar.\n\t * @private\n\t * @default undefined\n\t */\n\t@property({ validator: Integer })\n\twidth?: number;\n\n\t/**\n\t * Calculated width of the toolbar content.\n\t * @private\n\t * @default undefined\n\t */\n\t@property({ validator: Integer })\n\tcontentWidth?: number;\n\n\t/**\n\t * Notifies the toolbar if it should show the items in a reverse way if Toolbar Popover needs to be placed on \"Top\" position.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\treverseOverflow!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default \"\"\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 input.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ defaultValue: \"\" })\n\taccessibleNameRef!: string;\n\n\t/**\n\t * Defines the items of the component.\n *\n * **Note:** Currently only `ui5-toolbar-button`, `ui5-toolbar-select`, `ui5-toolbar-separator` and `ui5-toolbar-spacer` are allowed here.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\titems!: Array<ToolbarItem>\n\n\t_onResize!: ResizeObserverCallback;\n\t_onInteract!: EventListener;\n\titemsToOverflow: Array<ToolbarItem> = [];\n\titemsWidth = 0;\n\tpopoverOpen = false;\n\titemsWidthMeasured = false;\n\n\tITEMS_WIDTH_MAP: Map<string, number> = new Map();\n\n\tstatic get styles() {\n\t\tconst styles = getRegisteredStyles();\n\t\treturn [\n\t\t\tToolbarCss,\n\t\t\t...styles,\n\t\t];\n\t}\n\n\tstatic get staticAreaStyles() {\n\t\tconst styles = getRegisteredStaticAreaStyles();\n\t\treturn [\n\t\t\tToolbarPopoverCss,\n\t\t\t...styles,\n\t\t];\n\t}\n\n\tstatic get dependencies() {\n\t\tconst deps = getRegisteredDependencies();\n\t\treturn [\n\t\t\tPopover,\n\t\t\tButton,\n\t\t\t...deps,\n\t\t];\n\t}\n\n\tstatic async onDefine() {\n\t\tToolbar.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._onResize = this.onResize.bind(this);\n\t\tthis._onInteract = (e: Event) => this.onInteract(e as CustomEvent);\n\t}\n\n\t/**\n\t * Read-only members\n\t */\n\n\tget overflowButtonSize(): number {\n\t\treturn this.overflowButtonDOM?.getBoundingClientRect().width || 0;\n\t}\n\n\tget padding(): number {\n\t\tconst toolbarComputedStyle = getComputedStyle(this.getDomRef()!);\n\t\treturn calculateCSSREMValue(toolbarComputedStyle, getScopedVarName(\"--_ui5-toolbar-padding-left\"))\n\t\t\t+ calculateCSSREMValue(toolbarComputedStyle, getScopedVarName(\"--_ui5-toolbar-padding-right\"));\n\t}\n\n\tget subscribedEvents() {\n\t\treturn this.items\n\t\t\t.map((item: ToolbarItem) => Array.from(item.subscribedEvents.keys()))\n\t\t\t.flat()\n\t\t\t// remove duplicates\n\t\t\t.filter((value, index, self) => self.indexOf(value) === index);\n\t}\n\n\tget alwaysOverflowItems() {\n\t\treturn this.items.filter((item: ToolbarItem) => item.overflowPriority === ToolbarItemOverflowBehavior.AlwaysOverflow);\n\t}\n\n\tget movableItems() {\n\t\treturn this.items.filter((item: ToolbarItem) => item.overflowPriority !== ToolbarItemOverflowBehavior.AlwaysOverflow && item.overflowPriority !== ToolbarItemOverflowBehavior.NeverOverflow);\n\t}\n\n\tget overflowItems() {\n\t\t// spacers are ignored\n\t\tconst overflowItems = this.getItemsInfo(this.itemsToOverflow.filter(item => !item.ignoreSpace));\n\t\treturn this.reverseOverflow ? overflowItems.reverse() : overflowItems;\n\t}\n\n\tget standardItems() {\n\t\treturn this.getItemsInfo(this.items.filter(item => this.itemsToOverflow.indexOf(item) === -1));\n\t}\n\n\tget hideOverflowButton() {\n\t\treturn this.itemsToOverflow.filter(item => !(item.ignoreSpace || item.isSeparator)).length === 0;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\titems: {\n\t\t\t\t\"ui5-tb-items\": true,\n\t\t\t\t\"ui5-tb-items-full-width\": this.hasFlexibleSpacers,\n\t\t\t},\n\t\t\toverflow: {\n\t\t\t\t\"ui5-overflow-list--alignleft\": this.hasItemWithText,\n\t\t\t},\n\t\t\toverflowButton: {\n\t\t\t\t\"ui5-tb-item\": true,\n\t\t\t\t\"ui5-tb-overflow-btn\": true,\n\t\t\t\t\"ui5-tb-overflow-btn-hidden\": this.hideOverflowButton,\n\t\t\t},\n\t\t};\n\t}\n\n\tget interactiveItemsCount() {\n\t\treturn this.items.filter((item: ToolbarItem) => item.isInteractive).length;\n\t}\n\n\t/**\n\t * Accessibility\n\t */\n\n\tget hasAriaSemantics() {\n\t\treturn this.interactiveItemsCount > 1;\n\t}\n\n\tget accessibleRole() {\n\t\treturn this.hasAriaSemantics ? \"toolbar\" : undefined;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn this.hasAriaSemantics ? getEffectiveAriaLabelText(this) : undefined;\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\trole: this.accessibleRole,\n\t\t\t\taccessibleName: this.ariaLabelText,\n\t\t\t},\n\t\t\toverflowButton: {\n\t\t\t\taccessibleName: Toolbar.i18nBundle.getText(TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL),\n\t\t\t\ttooltip: Toolbar.i18nBundle.getText(TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL),\n\t\t\t\taccessibilityAttributes: {\n\t\t\t\t\texpanded: this.overflowButtonDOM?.accessibilityAttributes.expanded,\n\t\t\t\t\thasPopup: HasPopup.Menu.toLowerCase(),\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Toolbar Overflow Popover\n\t */\n\n\tget overflowButtonDOM(): Button | null {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-tb-overflow-btn\");\n\t}\n\n\tget itemsDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-tb-items\");\n\t}\n\n\tget hasItemWithText(): boolean {\n\t\treturn this.itemsToOverflow.some((item: ToolbarItem) => item.containsText);\n\t}\n\n\tget hasFlexibleSpacers() {\n\t\treturn this.items.some((item: ToolbarItem) => item.hasFlexibleWidth);\n\t}\n\n\t/**\n\t * Lifecycle methods\n\t */\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResize);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResize);\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.reason === \"childchange\" && changeInfo.child === this.itemsToOverflow[0]) {\n\t\t\tthis.onToolbarItemChange();\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.detachListeners();\n\t\tthis.attachListeners();\n\t}\n\n\tasync onAfterRendering() {\n\t\tawait renderFinished();\n\n\t\tthis.storeItemsWidth();\n\t\tthis.processOverflowLayout();\n\t}\n\n\t/**\n\t * Returns if the overflow popup is open.\n\t * @public\n\t */\n\tasync isOverflowOpen(): Promise<boolean> {\n\t\tconst overflowPopover = await this.getOverflowPopover();\n\t\treturn overflowPopover!.isOpen();\n\t}\n\n\tasync openOverflow(): Promise<void> {\n\t\tconst overflowPopover = await this.getOverflowPopover();\n\t\toverflowPopover!.showAt(this.overflowButtonDOM!);\n\t\tthis.reverseOverflow = overflowPopover!.actualPlacementType === \"Top\";\n\t}\n\n\tasync closeOverflow() {\n\t\tconst overflowPopover = await this.getOverflowPopover();\n\t\toverflowPopover!.close();\n\t}\n\n\ttoggleOverflow() {\n\t\tif (this.popoverOpen) {\n\t\t\tthis.closeOverflow();\n\t\t} else {\n\t\t\tthis.openOverflow();\n\t\t}\n\t}\n\n\tasync getOverflowPopover(): Promise<Popover | null> {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<Popover>(\".ui5-overflow-popover\");\n\t}\n\n\t/**\n\t * Layout management\n\t */\n\n\tprocessOverflowLayout() {\n\t\tconst containerWidth = this.offsetWidth - this.padding;\n\t\tconst contentWidth = this.itemsWidth;\n\t\tconst overflowSpace = contentWidth - containerWidth + this.overflowButtonSize;\n\n\t\t// skip calculation if the width has not been changed or if the items width has not been changed\n\t\tif (this.width === containerWidth && this.contentWidth === contentWidth) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.distributeItems(overflowSpace);\n\t\tthis.width = containerWidth;\n\t\tthis.contentWidth = contentWidth;\n\t}\n\n\tstoreItemsWidth() {\n\t\tlet totalWidth = 0;\n\n\t\tthis.items.forEach((item: ToolbarItem) => {\n\t\t\tconst itemWidth = this.getItemWidth(item);\n\t\t\ttotalWidth += itemWidth;\n\t\t\tthis.ITEMS_WIDTH_MAP.set(item._id, itemWidth);\n\t\t});\n\n\t\tthis.itemsWidth = totalWidth;\n\t}\n\n\tdistributeItems(overflowSpace = 0) {\n\t\tconst movableItems = this.movableItems.reverse();\n\t\tlet index = 0;\n\t\tlet currentItem = movableItems[index];\n\n\t\tthis.itemsToOverflow = [];\n\n\t\t// distribute items that always overflow\n\t\tthis.distributeItemsThatAlwaysOverflow();\n\n\t\twhile (overflowSpace > 0 && currentItem) {\n\t\t\tthis.itemsToOverflow.unshift(currentItem);\n\t\t\toverflowSpace -= this.getCachedItemWidth(currentItem?._id) || 0;\n\t\t\tindex++;\n\t\t\tcurrentItem = movableItems[index];\n\t\t}\n\n\t\t// If the last bar item is a spacer, force it to the overflow even if there is enough space for it\n\t\tif (index < movableItems.length) {\n\t\t\tlet lastItem = movableItems[index];\n\t\t\twhile (index <= movableItems.length - 1 && lastItem.isSeparator) {\n\t\t\t\tthis.itemsToOverflow.unshift(lastItem);\n\t\t\t\tindex++;\n\t\t\t\tlastItem = movableItems[index];\n\t\t\t}\n\t\t}\n\n\t\tthis.setSeperatorsVisibilityInOverflow();\n\t}\n\n\tdistributeItemsThatAlwaysOverflow() {\n\t\tthis.alwaysOverflowItems.forEach((item: ToolbarItem) => {\n\t\t\tthis.itemsToOverflow.push(item);\n\t\t});\n\t}\n\n\tsetSeperatorsVisibilityInOverflow() {\n\t\tthis.itemsToOverflow.forEach((item, idx, items) => {\n\t\t\tif (item.isSeparator) {\n\t\t\t\t(item as ToolbarSeparator).visible = this.shouldShowSeparatorInOverflow(idx, items);\n\t\t\t}\n\t\t});\n\t}\n\n\tshouldShowSeparatorInOverflow(separatorIdx: number, overflowItems: Array<ToolbarItem>) {\n\t\tlet foundPrevNonSeparatorItem = false;\n\t\tlet foundNextNonSeperatorItem = false;\n\n\t\t// search for non-separator item before and after the seperator\n\t\toverflowItems.forEach((item, idx) => {\n\t\t\tif (idx < separatorIdx && !item.isSeparator) {\n\t\t\t\tfoundPrevNonSeparatorItem = true;\n\t\t\t}\n\t\t\tif (idx > separatorIdx && !item.isSeparator) {\n\t\t\t\tfoundNextNonSeperatorItem = true;\n\t\t\t}\n\t\t});\n\n\t\treturn foundPrevNonSeparatorItem && foundNextNonSeperatorItem;\n\t}\n\n\t/**\n\t * Event Handlers\n\t */\n\n\tonOverflowPopoverClosed() {\n\t\tthis.popoverOpen = false;\n\t\tif (this.overflowButtonDOM) {\n\t\t\tthis.overflowButtonDOM.accessibilityAttributes.expanded = false;\n\t\t}\n\t}\n\n\tonOverflowPopoverOpened() {\n\t\tthis.popoverOpen = true;\n\t\tif (this.overflowButtonDOM) {\n\t\t\tthis.overflowButtonDOM.accessibilityAttributes.expanded = true;\n\t\t}\n\t}\n\n\tonResize() {\n\t\tif (!this.itemsWidth) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.closeOverflow();\n\t\tthis.processOverflowLayout();\n\t}\n\n\tonInteract(e: CustomEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst item = target.closest<ToolbarItem>(\".ui5-tb-item\") || target.closest<ToolbarItem>(\".ui5-tb-popover-item\");\n\n\t\tif (target === this.overflowButtonDOM) {\n\t\t\tthis.toggleOverflow();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!item) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst refItemId = target.getAttribute(\"data-ui5-external-action-item-id\");\n\n\t\tif (refItemId) {\n\t\t\tconst abstractItem = this.getItemByID(refItemId);\n\t\t\tconst eventType: string = e.type.replace(\"ui5-\", \"\");\n\t\t\tconst prevented = !abstractItem?.fireEvent(eventType, e.detail, true);\n\t\t\tconst eventOptions = abstractItem?.subscribedEvents.get(eventType);\n\n\t\t\tif (prevented || abstractItem?.preventOverflowClosing || eventOptions?.preventClosing) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.closeOverflow();\n\t\t}\n\t}\n\n\t/**\n\t * Private members\n\t */\n\n\tasync attachListeners() {\n\t\tconst popover = await this.getOverflowPopover();\n\n\t\tthis.subscribedEvents.forEach((e: string) => {\n\t\t\tthis.itemsDOM?.addEventListener(e, this._onInteract);\n\t\t\tpopover?.addEventListener(e, this._onInteract);\n\t\t});\n\t}\n\n\tasync detachListeners() {\n\t\tconst popover = await this.getOverflowPopover();\n\n\t\tthis.subscribedEvents.forEach((e: string) => {\n\t\t\tthis.itemsDOM?.removeEventListener(e, this._onInteract);\n\t\t\tpopover?.removeEventListener(e, this._onInteract);\n\t\t});\n\t}\n\n\tonToolbarItemChange() {\n\t\t// some items were updated reset the cache and trigger a re-render\n\t\tthis.itemsToOverflow = [];\n\t\tthis.contentWidth = 0; // re-render\n\t}\n\n\tgetItemsInfo(items: Array<ToolbarItem>) {\n\t\treturn items.map((item: ToolbarItem) => {\n\t\t\tconst ElementClass = getRegisteredToolbarItem(item.constructor.name);\n\n\t\t\tif (!ElementClass) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst toolbarItem = {\n\t\t\t\ttoolbarTemplate: executeTemplate(ElementClass.toolbarTemplate, item),\n\t\t\t\ttoolbarPopoverTemplate: executeTemplate(ElementClass.toolbarPopoverTemplate, item),\n\t\t\t};\n\n\t\t\treturn toolbarItem;\n\t\t});\n\t}\n\n\tgetItemWidth(item: ToolbarItem): number {\n\t\t// Spacer width - always 0 for flexible spacers, so that they shrink, otherwise - measure the width normally\n\t\tif (item.ignoreSpace || item.isSeparator) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst id: string = item._id;\n\t\t// Measure rendered width for spacers with width, and for normal items\n\t\tconst renderedItem = this.getRegisteredToolbarItemByID(id);\n\n\t\tlet itemWidth = 0;\n\n\t\tif (renderedItem) {\n\t\t\tconst ItemCSSStyleSet = getComputedStyle(renderedItem);\n\t\t\titemWidth = renderedItem.offsetWidth + parsePxValue(ItemCSSStyleSet, \"margin-inline-end\")\n\t\t\t\t+ parsePxValue(ItemCSSStyleSet, \"margin-inline-start\");\n\t\t} else {\n\t\t\titemWidth = this.getCachedItemWidth(id) || 0;\n\t\t}\n\n\t\treturn Math.ceil(itemWidth);\n\t}\n\n\tgetCachedItemWidth(id: string) {\n\t\treturn this.ITEMS_WIDTH_MAP.get(id);\n\t}\n\n\tgetItemByID(id: string) {\n\t\treturn this.items.find(item => item._id === id);\n\t}\n\n\tgetRegisteredToolbarItemByID(id: string): HTMLElement | null {\n\t\treturn this.itemsDOM!.querySelector(`[data-ui5-external-action-item-id=\"${id}\"]`);\n\t}\n}\n\nToolbar.define();\n\nexport default Toolbar;\n"]}
1
+ {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../src/Toolbar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element, { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\n\nimport {\n\tTOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport ToolbarTemplate from \"./generated/templates/ToolbarTemplate.lit.js\";\nimport ToolbarCss from \"./generated/themes/Toolbar.css.js\";\n\nimport ToolbarPopoverCss from \"./generated/themes/ToolbarPopover.css.js\";\n\nimport ToolbarAlign from \"./types/ToolbarAlign.js\";\nimport ToolbarItemOverflowBehavior from \"./types/ToolbarItemOverflowBehavior.js\";\nimport HasPopup from \"./types/HasPopup.js\";\n\nimport ToolbarItem from \"./ToolbarItem.js\";\nimport type ToolbarSeparator from \"./ToolbarSeparator.js\";\n\nimport {\n\tgetRegisteredToolbarItem,\n\tgetRegisteredStyles,\n\tgetRegisteredDependencies,\n} from \"./ToolbarRegistry.js\";\n\nimport Button from \"./Button.js\";\nimport Popover from \"./Popover.js\";\n\nfunction calculateCSSREMValue(styleSet: CSSStyleDeclaration, propertyName: string): number {\n\treturn Number(styleSet.getPropertyValue(propertyName).replace(\"rem\", \"\")) * parseInt(getComputedStyle(document.body).getPropertyValue(\"font-size\"));\n}\n\nfunction parsePxValue(styleSet: CSSStyleDeclaration, propertyName: string): number {\n\treturn Number(styleSet.getPropertyValue(propertyName).replace(\"px\", \"\"));\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-toolbar` component is used to create a horizontal layout with items.\n * The items can be overflowing in a popover, when the space is not enough to show all of them.\n *\n * ### Keyboard Handling\n * The `ui5-toolbar` provides advanced keyboard handling.\n *\n * - The control is not interactive, but can contain of interactive elements\n * - [Tab] - iterates through elements\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/Toolbar.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: ToolbarTemplate,\n})\nclass Toolbar extends UI5Element {\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Indicated the direction in which the Toolbar items will be aligned.\n\t * @public\n\t * @default \"End\"\n\t */\n\t@property({ type: ToolbarAlign, defaultValue: ToolbarAlign.End })\n\talignContent!: `${ToolbarAlign}`;\n\n\t/**\n\t * Calculated width of the whole toolbar.\n\t * @private\n\t * @default undefined\n\t */\n\t@property({ validator: Integer })\n\twidth?: number;\n\n\t/**\n\t * Calculated width of the toolbar content.\n\t * @private\n\t * @default undefined\n\t */\n\t@property({ validator: Integer })\n\tcontentWidth?: number;\n\n\t/**\n\t * Notifies the toolbar if it should show the items in a reverse way if Toolbar Popover needs to be placed on \"Top\" position.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\treverseOverflow!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default \"\"\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 input.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ defaultValue: \"\" })\n\taccessibleNameRef!: string;\n\n\t/**\n\t * Defines the items of the component.\n *\n * **Note:** Currently only `ui5-toolbar-button`, `ui5-toolbar-select`, `ui5-toolbar-separator` and `ui5-toolbar-spacer` are allowed here.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\titems!: Array<ToolbarItem>\n\n\t_onResize!: ResizeObserverCallback;\n\t_onInteract!: EventListener;\n\titemsToOverflow: Array<ToolbarItem> = [];\n\titemsWidth = 0;\n\tpopoverOpen = false;\n\titemsWidthMeasured = false;\n\n\tITEMS_WIDTH_MAP: Map<string, number> = new Map();\n\n\tstatic get styles() {\n\t\tconst styles = getRegisteredStyles();\n\t\treturn [\n\t\t\tToolbarCss,\n\t\t\tToolbarPopoverCss,\n\t\t\t...styles,\n\t\t];\n\t}\n\n\tstatic get dependencies() {\n\t\tconst deps = getRegisteredDependencies();\n\t\treturn [\n\t\t\tPopover,\n\t\t\tButton,\n\t\t\t...deps,\n\t\t];\n\t}\n\n\tstatic async onDefine() {\n\t\tToolbar.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._onResize = this.onResize.bind(this);\n\t\tthis._onInteract = (e: Event) => this.onInteract(e as CustomEvent);\n\t}\n\n\t/**\n\t * Read-only members\n\t */\n\n\tget overflowButtonSize(): number {\n\t\treturn this.overflowButtonDOM?.getBoundingClientRect().width || 0;\n\t}\n\n\tget padding(): number {\n\t\tconst toolbarComputedStyle = getComputedStyle(this.getDomRef()!);\n\t\treturn calculateCSSREMValue(toolbarComputedStyle, getScopedVarName(\"--_ui5-toolbar-padding-left\"))\n\t\t\t+ calculateCSSREMValue(toolbarComputedStyle, getScopedVarName(\"--_ui5-toolbar-padding-right\"));\n\t}\n\n\tget subscribedEvents() {\n\t\treturn this.items\n\t\t\t.map((item: ToolbarItem) => Array.from(item.subscribedEvents.keys()))\n\t\t\t.flat()\n\t\t\t// remove duplicates\n\t\t\t.filter((value, index, self) => self.indexOf(value) === index);\n\t}\n\n\tget alwaysOverflowItems() {\n\t\treturn this.items.filter((item: ToolbarItem) => item.overflowPriority === ToolbarItemOverflowBehavior.AlwaysOverflow);\n\t}\n\n\tget movableItems() {\n\t\treturn this.items.filter((item: ToolbarItem) => item.overflowPriority !== ToolbarItemOverflowBehavior.AlwaysOverflow && item.overflowPriority !== ToolbarItemOverflowBehavior.NeverOverflow);\n\t}\n\n\tget overflowItems() {\n\t\t// spacers are ignored\n\t\tconst overflowItems = this.getItemsInfo(this.itemsToOverflow.filter(item => !item.ignoreSpace));\n\t\treturn this.reverseOverflow ? overflowItems.reverse() : overflowItems;\n\t}\n\n\tget standardItems() {\n\t\treturn this.getItemsInfo(this.items.filter(item => this.itemsToOverflow.indexOf(item) === -1));\n\t}\n\n\tget hideOverflowButton() {\n\t\treturn this.itemsToOverflow.filter(item => !(item.ignoreSpace || item.isSeparator)).length === 0;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\titems: {\n\t\t\t\t\"ui5-tb-items\": true,\n\t\t\t\t\"ui5-tb-items-full-width\": this.hasFlexibleSpacers,\n\t\t\t},\n\t\t\toverflow: {\n\t\t\t\t\"ui5-overflow-list--alignleft\": this.hasItemWithText,\n\t\t\t},\n\t\t\toverflowButton: {\n\t\t\t\t\"ui5-tb-item\": true,\n\t\t\t\t\"ui5-tb-overflow-btn\": true,\n\t\t\t\t\"ui5-tb-overflow-btn-hidden\": this.hideOverflowButton,\n\t\t\t},\n\t\t};\n\t}\n\n\tget interactiveItemsCount() {\n\t\treturn this.items.filter((item: ToolbarItem) => item.isInteractive).length;\n\t}\n\n\t/**\n\t * Accessibility\n\t */\n\n\tget hasAriaSemantics() {\n\t\treturn this.interactiveItemsCount > 1;\n\t}\n\n\tget accessibleRole() {\n\t\treturn this.hasAriaSemantics ? \"toolbar\" : undefined;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn this.hasAriaSemantics ? getEffectiveAriaLabelText(this) : undefined;\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\trole: this.accessibleRole,\n\t\t\t\taccessibleName: this.ariaLabelText,\n\t\t\t},\n\t\t\toverflowButton: {\n\t\t\t\taccessibleName: Toolbar.i18nBundle.getText(TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL),\n\t\t\t\ttooltip: Toolbar.i18nBundle.getText(TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL),\n\t\t\t\taccessibilityAttributes: {\n\t\t\t\t\texpanded: this.overflowButtonDOM?.accessibilityAttributes.expanded,\n\t\t\t\t\thasPopup: HasPopup.Menu.toLowerCase(),\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Toolbar Overflow Popover\n\t */\n\n\tget overflowButtonDOM(): Button | null {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-tb-overflow-btn\");\n\t}\n\n\tget itemsDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-tb-items\");\n\t}\n\n\tget hasItemWithText(): boolean {\n\t\treturn this.itemsToOverflow.some((item: ToolbarItem) => item.containsText);\n\t}\n\n\tget hasFlexibleSpacers() {\n\t\treturn this.items.some((item: ToolbarItem) => item.hasFlexibleWidth);\n\t}\n\n\t/**\n\t * Lifecycle methods\n\t */\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResize);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResize);\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.reason === \"childchange\" && changeInfo.child === this.itemsToOverflow[0]) {\n\t\t\tthis.onToolbarItemChange();\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.detachListeners();\n\t\tthis.attachListeners();\n\t}\n\n\tasync onAfterRendering() {\n\t\tawait renderFinished();\n\n\t\tthis.storeItemsWidth();\n\t\tthis.processOverflowLayout();\n\t}\n\n\t/**\n\t * Returns if the overflow popup is open.\n\t * @public\n\t */\n\tisOverflowOpen(): boolean {\n\t\tconst overflowPopover = this.getOverflowPopover();\n\t\treturn overflowPopover!.isOpen();\n\t}\n\n\topenOverflow(): void {\n\t\tconst overflowPopover = this.getOverflowPopover();\n\t\toverflowPopover!.showAt(this.overflowButtonDOM!);\n\t\tthis.reverseOverflow = overflowPopover!.actualPlacement === \"Top\";\n\t}\n\n\tcloseOverflow() {\n\t\tconst overflowPopover = this.getOverflowPopover();\n\t\toverflowPopover!.close();\n\t}\n\n\ttoggleOverflow() {\n\t\tif (this.popoverOpen) {\n\t\t\tthis.closeOverflow();\n\t\t} else {\n\t\t\tthis.openOverflow();\n\t\t}\n\t}\n\n\tgetOverflowPopover(): Popover | null {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\".ui5-overflow-popover\");\n\t}\n\n\t/**\n\t * Layout management\n\t */\n\n\tprocessOverflowLayout() {\n\t\tconst containerWidth = this.offsetWidth - this.padding;\n\t\tconst contentWidth = this.itemsWidth;\n\t\tconst overflowSpace = contentWidth - containerWidth + this.overflowButtonSize;\n\n\t\t// skip calculation if the width has not been changed or if the items width has not been changed\n\t\tif (this.width === containerWidth && this.contentWidth === contentWidth) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.distributeItems(overflowSpace);\n\t\tthis.width = containerWidth;\n\t\tthis.contentWidth = contentWidth;\n\t}\n\n\tstoreItemsWidth() {\n\t\tlet totalWidth = 0;\n\n\t\tthis.items.forEach((item: ToolbarItem) => {\n\t\t\tconst itemWidth = this.getItemWidth(item);\n\t\t\ttotalWidth += itemWidth;\n\t\t\tthis.ITEMS_WIDTH_MAP.set(item._id, itemWidth);\n\t\t});\n\n\t\tthis.itemsWidth = totalWidth;\n\t}\n\n\tdistributeItems(overflowSpace = 0) {\n\t\tconst movableItems = this.movableItems.reverse();\n\t\tlet index = 0;\n\t\tlet currentItem = movableItems[index];\n\n\t\tthis.itemsToOverflow = [];\n\n\t\t// distribute items that always overflow\n\t\tthis.distributeItemsThatAlwaysOverflow();\n\n\t\twhile (overflowSpace > 0 && currentItem) {\n\t\t\tthis.itemsToOverflow.unshift(currentItem);\n\t\t\toverflowSpace -= this.getCachedItemWidth(currentItem?._id) || 0;\n\t\t\tindex++;\n\t\t\tcurrentItem = movableItems[index];\n\t\t}\n\n\t\t// If the last bar item is a spacer, force it to the overflow even if there is enough space for it\n\t\tif (index < movableItems.length) {\n\t\t\tlet lastItem = movableItems[index];\n\t\t\twhile (index <= movableItems.length - 1 && lastItem.isSeparator) {\n\t\t\t\tthis.itemsToOverflow.unshift(lastItem);\n\t\t\t\tindex++;\n\t\t\t\tlastItem = movableItems[index];\n\t\t\t}\n\t\t}\n\n\t\tthis.setSeperatorsVisibilityInOverflow();\n\t}\n\n\tdistributeItemsThatAlwaysOverflow() {\n\t\tthis.alwaysOverflowItems.forEach((item: ToolbarItem) => {\n\t\t\tthis.itemsToOverflow.push(item);\n\t\t});\n\t}\n\n\tsetSeperatorsVisibilityInOverflow() {\n\t\tthis.itemsToOverflow.forEach((item, idx, items) => {\n\t\t\tif (item.isSeparator) {\n\t\t\t\t(item as ToolbarSeparator).visible = this.shouldShowSeparatorInOverflow(idx, items);\n\t\t\t}\n\t\t});\n\t}\n\n\tshouldShowSeparatorInOverflow(separatorIdx: number, overflowItems: Array<ToolbarItem>) {\n\t\tlet foundPrevNonSeparatorItem = false;\n\t\tlet foundNextNonSeperatorItem = false;\n\n\t\t// search for non-separator item before and after the seperator\n\t\toverflowItems.forEach((item, idx) => {\n\t\t\tif (idx < separatorIdx && !item.isSeparator) {\n\t\t\t\tfoundPrevNonSeparatorItem = true;\n\t\t\t}\n\t\t\tif (idx > separatorIdx && !item.isSeparator) {\n\t\t\t\tfoundNextNonSeperatorItem = true;\n\t\t\t}\n\t\t});\n\n\t\treturn foundPrevNonSeparatorItem && foundNextNonSeperatorItem;\n\t}\n\n\t/**\n\t * Event Handlers\n\t */\n\n\tonOverflowPopoverClosed() {\n\t\tthis.popoverOpen = false;\n\t\tif (this.overflowButtonDOM) {\n\t\t\tthis.overflowButtonDOM.accessibilityAttributes.expanded = false;\n\t\t}\n\t}\n\n\tonOverflowPopoverOpened() {\n\t\tthis.popoverOpen = true;\n\t\tif (this.overflowButtonDOM) {\n\t\t\tthis.overflowButtonDOM.accessibilityAttributes.expanded = true;\n\t\t}\n\t}\n\n\tonResize() {\n\t\tif (!this.itemsWidth) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.closeOverflow();\n\t\tthis.processOverflowLayout();\n\t}\n\n\tonInteract(e: CustomEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst item = target.closest<ToolbarItem>(\".ui5-tb-item\") || target.closest<ToolbarItem>(\".ui5-tb-popover-item\");\n\n\t\tif (target === this.overflowButtonDOM) {\n\t\t\tthis.toggleOverflow();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!item) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst refItemId = target.getAttribute(\"data-ui5-external-action-item-id\");\n\n\t\tif (refItemId) {\n\t\t\tconst abstractItem = this.getItemByID(refItemId);\n\t\t\tconst eventType: string = e.type.replace(\"ui5-\", \"\");\n\t\t\tconst prevented = !abstractItem?.fireEvent(eventType, e.detail, true);\n\t\t\tconst eventOptions = abstractItem?.subscribedEvents.get(eventType);\n\n\t\t\tif (prevented || abstractItem?.preventOverflowClosing || eventOptions?.preventClosing) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.closeOverflow();\n\t\t}\n\t}\n\n\t/**\n\t * Private members\n\t */\n\n\tattachListeners() {\n\t\tconst popover = this.getOverflowPopover();\n\n\t\tthis.subscribedEvents.forEach((e: string) => {\n\t\t\tthis.itemsDOM?.addEventListener(e, this._onInteract);\n\t\t\tpopover?.addEventListener(e, this._onInteract);\n\t\t});\n\t}\n\n\tdetachListeners() {\n\t\tconst popover = this.getOverflowPopover();\n\n\t\tthis.subscribedEvents.forEach((e: string) => {\n\t\t\tthis.itemsDOM?.removeEventListener(e, this._onInteract);\n\t\t\tpopover?.removeEventListener(e, this._onInteract);\n\t\t});\n\t}\n\n\tonToolbarItemChange() {\n\t\t// some items were updated reset the cache and trigger a re-render\n\t\tthis.itemsToOverflow = [];\n\t\tthis.contentWidth = 0; // re-render\n\t}\n\n\tgetItemsInfo(items: Array<ToolbarItem>) {\n\t\treturn items.map((item: ToolbarItem) => {\n\t\t\tconst ElementClass = getRegisteredToolbarItem(item.constructor.name);\n\n\t\t\tif (!ElementClass) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst toolbarItem = {\n\t\t\t\ttoolbarTemplate: executeTemplate(ElementClass.toolbarTemplate, item),\n\t\t\t\ttoolbarPopoverTemplate: executeTemplate(ElementClass.toolbarPopoverTemplate, item),\n\t\t\t};\n\n\t\t\treturn toolbarItem;\n\t\t});\n\t}\n\n\tgetItemWidth(item: ToolbarItem): number {\n\t\t// Spacer width - always 0 for flexible spacers, so that they shrink, otherwise - measure the width normally\n\t\tif (item.ignoreSpace || item.isSeparator) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst id: string = item._id;\n\t\t// Measure rendered width for spacers with width, and for normal items\n\t\tconst renderedItem = this.getRegisteredToolbarItemByID(id);\n\n\t\tlet itemWidth = 0;\n\n\t\tif (renderedItem) {\n\t\t\tconst ItemCSSStyleSet = getComputedStyle(renderedItem);\n\t\t\titemWidth = renderedItem.offsetWidth + parsePxValue(ItemCSSStyleSet, \"margin-inline-end\")\n\t\t\t\t+ parsePxValue(ItemCSSStyleSet, \"margin-inline-start\");\n\t\t} else {\n\t\t\titemWidth = this.getCachedItemWidth(id) || 0;\n\t\t}\n\n\t\treturn Math.ceil(itemWidth);\n\t}\n\n\tgetCachedItemWidth(id: string) {\n\t\treturn this.ITEMS_WIDTH_MAP.get(id);\n\t}\n\n\tgetItemByID(id: string) {\n\t\treturn this.items.find(item => item._id === id);\n\t}\n\n\tgetRegisteredToolbarItemByID(id: string): HTMLElement | null {\n\t\treturn this.itemsDOM!.querySelector(`[data-ui5-external-action-item-id=\"${id}\"]`);\n\t}\n}\n\nToolbar.define();\n\nexport default Toolbar;\n"]}
@@ -104,7 +104,6 @@ declare class ToolbarButton extends ToolbarItem {
104
104
  * @public
105
105
  */
106
106
  width?: string;
107
- static get staticAreaStyles(): import("@ui5/webcomponents-base/dist/types.js").StyleData;
108
107
  get styles(): {
109
108
  width: string | undefined;
110
109
  display: string;
@@ -31,9 +31,6 @@ import { registerToolbarItem } from "./ToolbarRegistry.js";
31
31
  * @since 1.17.0
32
32
  */
33
33
  let ToolbarButton = class ToolbarButton extends ToolbarItem {
34
- static get staticAreaStyles() {
35
- return ToolbarButtonPopoverCss;
36
- }
37
34
  get styles() {
38
35
  return {
39
36
  width: this.width,
@@ -89,6 +86,7 @@ ToolbarButton = __decorate([
89
86
  customElement({
90
87
  tag: "ui5-toolbar-button",
91
88
  dependencies: [Button],
89
+ styles: ToolbarButtonPopoverCss,
92
90
  })
93
91
  /**
94
92
  * Fired when the component is activated either with a