@ui5/webcomponents 2.0.0-rc.1 → 2.0.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1185) hide show
  1. package/CHANGELOG.md +702 -0
  2. package/README.md +3 -8
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/Avatar.d.ts +16 -7
  5. package/dist/Avatar.js +5 -4
  6. package/dist/Avatar.js.map +1 -1
  7. package/dist/AvatarGroup.d.ts +15 -10
  8. package/dist/AvatarGroup.js +7 -6
  9. package/dist/AvatarGroup.js.map +1 -1
  10. package/dist/Breadcrumbs.d.ts +2 -1
  11. package/dist/Breadcrumbs.js +5 -6
  12. package/dist/Breadcrumbs.js.map +1 -1
  13. package/dist/Button.d.ts +15 -24
  14. package/dist/Button.js +4 -4
  15. package/dist/Button.js.map +1 -1
  16. package/dist/Calendar.js +4 -3
  17. package/dist/Calendar.js.map +1 -1
  18. package/dist/CalendarLegend.js +1 -1
  19. package/dist/CalendarLegend.js.map +1 -1
  20. package/dist/CalendarPart.d.ts +2 -1
  21. package/dist/CalendarPart.js +2 -1
  22. package/dist/CalendarPart.js.map +1 -1
  23. package/dist/Carousel.d.ts +11 -16
  24. package/dist/Carousel.js +29 -16
  25. package/dist/Carousel.js.map +1 -1
  26. package/dist/CheckBox.d.ts +3 -3
  27. package/dist/CheckBox.js +3 -3
  28. package/dist/CheckBox.js.map +1 -1
  29. package/dist/ComboBox.d.ts +3 -2
  30. package/dist/ComboBox.js +24 -21
  31. package/dist/ComboBox.js.map +1 -1
  32. package/dist/ComboBoxGroupItem.d.ts +1 -0
  33. package/dist/ComboBoxGroupItem.js +3 -0
  34. package/dist/ComboBoxGroupItem.js.map +1 -1
  35. package/dist/ComboBoxItem.d.ts +1 -0
  36. package/dist/ComboBoxItem.js +3 -0
  37. package/dist/ComboBoxItem.js.map +1 -1
  38. package/dist/CustomListItem.d.ts +1 -1
  39. package/dist/CustomListItem.js +4 -4
  40. package/dist/CustomListItem.js.map +1 -1
  41. package/dist/DateComponentBase.js +2 -1
  42. package/dist/DateComponentBase.js.map +1 -1
  43. package/dist/DatePicker.d.ts +12 -21
  44. package/dist/DatePicker.js +24 -50
  45. package/dist/DatePicker.js.map +1 -1
  46. package/dist/DateRangePicker.js +1 -1
  47. package/dist/DateRangePicker.js.map +1 -1
  48. package/dist/DateTimePicker.d.ts +3 -6
  49. package/dist/DateTimePicker.js +13 -13
  50. package/dist/DateTimePicker.js.map +1 -1
  51. package/dist/DayPicker.js +2 -1
  52. package/dist/DayPicker.js.map +1 -1
  53. package/dist/Dialog.d.ts +1 -2
  54. package/dist/Dialog.js +4 -13
  55. package/dist/Dialog.js.map +1 -1
  56. package/dist/DropIndicator.d.ts +0 -1
  57. package/dist/DropIndicator.js +13 -6
  58. package/dist/DropIndicator.js.map +1 -1
  59. package/dist/FileUploader.d.ts +2 -0
  60. package/dist/FileUploader.js +26 -10
  61. package/dist/FileUploader.js.map +1 -1
  62. package/dist/Icon.d.ts +9 -30
  63. package/dist/Icon.js +20 -41
  64. package/dist/Icon.js.map +1 -1
  65. package/dist/Input.d.ts +45 -53
  66. package/dist/Input.js +134 -189
  67. package/dist/Input.js.map +1 -1
  68. package/dist/Link.d.ts +15 -23
  69. package/dist/Link.js +2 -3
  70. package/dist/Link.js.map +1 -1
  71. package/dist/List.d.ts +22 -13
  72. package/dist/List.js +59 -8
  73. package/dist/List.js.map +1 -1
  74. package/dist/ListItem.d.ts +18 -50
  75. package/dist/ListItem.js +20 -19
  76. package/dist/ListItem.js.map +1 -1
  77. package/dist/ListItemBase.d.ts +1 -1
  78. package/dist/ListItemBase.js +1 -1
  79. package/dist/ListItemBase.js.map +1 -1
  80. package/dist/ListItemGroup.d.ts +51 -0
  81. package/dist/ListItemGroup.js +80 -0
  82. package/dist/ListItemGroup.js.map +1 -0
  83. package/dist/{GroupHeaderListItem.d.ts → ListItemGroupHeader.d.ts} +4 -5
  84. package/dist/{GroupHeaderListItem.js → ListItemGroupHeader.js} +17 -17
  85. package/dist/ListItemGroupHeader.js.map +1 -0
  86. package/dist/Menu.d.ts +4 -4
  87. package/dist/Menu.js +10 -10
  88. package/dist/Menu.js.map +1 -1
  89. package/dist/MenuItem.d.ts +4 -4
  90. package/dist/MenuItem.js +3 -3
  91. package/dist/MenuItem.js.map +1 -1
  92. package/dist/MenuListItem.js +5 -3
  93. package/dist/MenuListItem.js.map +1 -1
  94. package/dist/MessageStrip.d.ts +18 -9
  95. package/dist/MessageStrip.js +23 -12
  96. package/dist/MessageStrip.js.map +1 -1
  97. package/dist/MultiComboBox.d.ts +1 -1
  98. package/dist/MultiComboBox.js +50 -59
  99. package/dist/MultiComboBox.js.map +1 -1
  100. package/dist/MultiComboBoxItem.d.ts +3 -1
  101. package/dist/MultiComboBoxItem.js +6 -2
  102. package/dist/MultiComboBoxItem.js.map +1 -1
  103. package/dist/MultiInput.d.ts +7 -11
  104. package/dist/MultiInput.js +32 -60
  105. package/dist/MultiInput.js.map +1 -1
  106. package/dist/Option.d.ts +4 -4
  107. package/dist/Option.js +1 -1
  108. package/dist/Option.js.map +1 -1
  109. package/dist/Popover.d.ts +9 -8
  110. package/dist/Popover.js +43 -24
  111. package/dist/Popover.js.map +1 -1
  112. package/dist/Popup.d.ts +12 -19
  113. package/dist/Popup.js +44 -42
  114. package/dist/Popup.js.map +1 -1
  115. package/dist/ProgressIndicator.js +6 -6
  116. package/dist/ProgressIndicator.js.map +1 -1
  117. package/dist/RadioButton.js +3 -3
  118. package/dist/RadioButton.js.map +1 -1
  119. package/dist/ResponsivePopover.d.ts +1 -0
  120. package/dist/ResponsivePopover.js +8 -3
  121. package/dist/ResponsivePopover.js.map +1 -1
  122. package/dist/SegmentedButton.d.ts +4 -14
  123. package/dist/SegmentedButton.js +12 -31
  124. package/dist/SegmentedButton.js.map +1 -1
  125. package/dist/SegmentedButtonItem.d.ts +62 -26
  126. package/dist/SegmentedButtonItem.js +71 -20
  127. package/dist/SegmentedButtonItem.js.map +1 -1
  128. package/dist/Select.d.ts +7 -7
  129. package/dist/Select.js +16 -16
  130. package/dist/Select.js.map +1 -1
  131. package/dist/SelectMenu.js +6 -6
  132. package/dist/SelectMenu.js.map +1 -1
  133. package/dist/SelectMenuOption.d.ts +3 -2
  134. package/dist/SelectMenuOption.js.map +1 -1
  135. package/dist/SplitButton.d.ts +0 -20
  136. package/dist/SplitButton.js +0 -15
  137. package/dist/SplitButton.js.map +1 -1
  138. package/dist/StandardListItem.d.ts +1 -1
  139. package/dist/StandardListItem.js.map +1 -1
  140. package/dist/StepInput.d.ts +6 -1
  141. package/dist/StepInput.js +55 -14
  142. package/dist/StepInput.js.map +1 -1
  143. package/dist/SuggestionGroupItem.js +2 -2
  144. package/dist/SuggestionGroupItem.js.map +1 -1
  145. package/dist/Tab.d.ts +9 -7
  146. package/dist/Tab.js +12 -8
  147. package/dist/Tab.js.map +1 -1
  148. package/dist/TabContainer.d.ts +28 -14
  149. package/dist/TabContainer.js +80 -29
  150. package/dist/TabContainer.js.map +1 -1
  151. package/dist/TabSeparator.d.ts +8 -3
  152. package/dist/TabSeparator.js +1 -0
  153. package/dist/TabSeparator.js.map +1 -1
  154. package/dist/{Badge.d.ts → Tag.d.ts} +23 -17
  155. package/dist/{Badge.js → Tag.js} +53 -49
  156. package/dist/Tag.js.map +1 -0
  157. package/dist/Text.d.ts +1 -1
  158. package/dist/Text.js +1 -1
  159. package/dist/Text.js.map +1 -1
  160. package/dist/TextArea.d.ts +10 -10
  161. package/dist/TextArea.js +16 -16
  162. package/dist/TextArea.js.map +1 -1
  163. package/dist/TimePicker.d.ts +171 -13
  164. package/dist/TimePicker.js +462 -20
  165. package/dist/TimePicker.js.map +1 -1
  166. package/dist/TimePickerInternals.d.ts +3 -3
  167. package/dist/TimePickerInternals.js +6 -5
  168. package/dist/TimePickerInternals.js.map +1 -1
  169. package/dist/TimeSelectionClocks.js +2 -4
  170. package/dist/TimeSelectionClocks.js.map +1 -1
  171. package/dist/TimeSelectionInputs.js +0 -2
  172. package/dist/TimeSelectionInputs.js.map +1 -1
  173. package/dist/Title.d.ts +1 -2
  174. package/dist/Title.js +7 -10
  175. package/dist/Title.js.map +1 -1
  176. package/dist/Toast.d.ts +11 -8
  177. package/dist/Toast.js +36 -30
  178. package/dist/Toast.js.map +1 -1
  179. package/dist/ToggleSpinButton.d.ts +4 -0
  180. package/dist/ToggleSpinButton.js +6 -0
  181. package/dist/ToggleSpinButton.js.map +1 -1
  182. package/dist/Token.d.ts +8 -8
  183. package/dist/Token.js +11 -11
  184. package/dist/Token.js.map +1 -1
  185. package/dist/Tokenizer.d.ts +128 -47
  186. package/dist/Tokenizer.js +356 -172
  187. package/dist/Tokenizer.js.map +1 -1
  188. package/dist/Toolbar.js +6 -5
  189. package/dist/Toolbar.js.map +1 -1
  190. package/dist/ToolbarButton.d.ts +14 -17
  191. package/dist/ToolbarButton.js.map +1 -1
  192. package/dist/Tree.d.ts +2 -8
  193. package/dist/Tree.js +2 -4
  194. package/dist/Tree.js.map +1 -1
  195. package/dist/TreeItemBase.d.ts +4 -4
  196. package/dist/TreeItemBase.js +4 -4
  197. package/dist/TreeItemBase.js.map +1 -1
  198. package/dist/TreeItemCustom.d.ts +1 -1
  199. package/dist/TreeItemCustom.js +4 -4
  200. package/dist/TreeItemCustom.js.map +1 -1
  201. package/dist/bundle.common.bootstrap.js +3 -0
  202. package/dist/bundle.esm.d.ts +1 -0
  203. package/dist/bundle.esm.js +284 -0
  204. package/dist/bundle.esm.js.map +1 -1
  205. package/dist/bundle.scoped.esm.js +8 -0
  206. package/dist/css/themes/Avatar.css +1 -1
  207. package/dist/css/themes/AvatarGroup.css +1 -1
  208. package/dist/css/themes/Bar.css +1 -1
  209. package/dist/css/themes/Breadcrumbs.css +1 -1
  210. package/dist/css/themes/BusyIndicator.css +1 -1
  211. package/dist/css/themes/Button.css +1 -1
  212. package/dist/css/themes/Calendar.css +1 -1
  213. package/dist/css/themes/CalendarHeader.css +1 -1
  214. package/dist/css/themes/CalendarLegend.css +1 -1
  215. package/dist/css/themes/CalendarLegendItem.css +1 -1
  216. package/dist/css/themes/Card.css +1 -1
  217. package/dist/css/themes/CardHeader.css +1 -1
  218. package/dist/css/themes/Carousel.css +1 -1
  219. package/dist/css/themes/CheckBox.css +1 -1
  220. package/dist/css/themes/ColorPalette.css +1 -1
  221. package/dist/css/themes/ColorPaletteItem.css +1 -1
  222. package/dist/css/themes/ColorPalettePopover.css +1 -1
  223. package/dist/css/themes/ColorPicker.css +1 -1
  224. package/dist/css/themes/ComboBox.css +1 -1
  225. package/dist/css/themes/CustomListItem.css +1 -1
  226. package/dist/css/themes/DatePicker.css +1 -1
  227. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  228. package/dist/css/themes/DayPicker.css +1 -1
  229. package/dist/css/themes/Dialog.css +1 -1
  230. package/dist/css/themes/DropIndicator.css +1 -1
  231. package/dist/css/themes/FileUploader.css +1 -1
  232. package/dist/css/themes/GrowingButton.css +1 -1
  233. package/dist/css/themes/Icon.css +1 -1
  234. package/dist/css/themes/Input.css +1 -1
  235. package/dist/css/themes/InputIcon.css +1 -1
  236. package/dist/css/themes/InputSharedStyles.css +1 -1
  237. package/dist/css/themes/Link.css +1 -1
  238. package/dist/css/themes/List.css +1 -1
  239. package/dist/css/themes/ListItem.css +1 -1
  240. package/dist/css/themes/ListItemBase.css +1 -1
  241. package/dist/css/themes/ListItemGroup.css +1 -0
  242. package/dist/css/themes/{GroupHeaderListItem.css → ListItemGroupHeader.css} +1 -1
  243. package/dist/css/themes/Menu.css +1 -1
  244. package/dist/css/themes/MenuListItem.css +1 -1
  245. package/dist/css/themes/MessageStrip.css +1 -1
  246. package/dist/css/themes/MonthPicker.css +1 -1
  247. package/dist/css/themes/MultiComboBox.css +1 -1
  248. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  249. package/dist/css/themes/MultiInput.css +1 -1
  250. package/dist/css/themes/NavigationMenu.css +1 -1
  251. package/dist/css/themes/Panel.css +1 -1
  252. package/dist/css/themes/Popover.css +1 -1
  253. package/dist/css/themes/PopupBlockLayer.css +1 -1
  254. package/dist/css/themes/PopupsCommon.css +1 -1
  255. package/dist/css/themes/ProgressIndicator.css +1 -1
  256. package/dist/css/themes/RadioButton.css +1 -1
  257. package/dist/css/themes/RangeSlider.css +1 -1
  258. package/dist/css/themes/RatingIndicator.css +1 -1
  259. package/dist/css/themes/ResponsivePopover.css +1 -1
  260. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  261. package/dist/css/themes/SegmentedButton.css +1 -1
  262. package/dist/css/themes/SegmentedButtonItem.css +1 -0
  263. package/dist/css/themes/Select.css +1 -1
  264. package/dist/css/themes/SelectMenu.css +1 -1
  265. package/dist/css/themes/SelectPopover.css +1 -1
  266. package/dist/css/themes/SliderBase.css +1 -1
  267. package/dist/css/themes/SplitButton.css +1 -1
  268. package/dist/css/themes/StepInput.css +1 -1
  269. package/dist/css/themes/Switch.css +1 -1
  270. package/dist/css/themes/TabContainer.css +1 -1
  271. package/dist/css/themes/TabInOverflow.css +1 -1
  272. package/dist/css/themes/TabInStrip.css +1 -1
  273. package/dist/css/themes/TabSemanticIcon.css +1 -1
  274. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  275. package/dist/css/themes/Tag.css +1 -0
  276. package/dist/css/themes/Text.css +1 -1
  277. package/dist/css/themes/TextArea.css +1 -1
  278. package/dist/css/themes/TimePicker.css +1 -1
  279. package/dist/css/themes/Title.css +1 -1
  280. package/dist/css/themes/Toast.css +1 -1
  281. package/dist/css/themes/ToggleButton.css +1 -1
  282. package/dist/css/themes/Token.css +1 -1
  283. package/dist/css/themes/Tokenizer.css +1 -1
  284. package/dist/css/themes/TokenizerPopover.css +1 -1
  285. package/dist/css/themes/Toolbar.css +1 -1
  286. package/dist/css/themes/ToolbarPopover.css +1 -1
  287. package/dist/css/themes/TreeItem.css +1 -1
  288. package/dist/css/themes/ValueStateMessage.css +1 -1
  289. package/dist/css/themes/YearPicker.css +1 -1
  290. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  291. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  292. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  293. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  294. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  295. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  296. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  297. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  298. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  299. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  300. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  301. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  302. package/dist/custom-elements-internal.json +2173 -3442
  303. package/dist/custom-elements.json +1582 -2723
  304. package/dist/features/InputSuggestions.d.ts +14 -19
  305. package/dist/features/InputSuggestions.js +28 -72
  306. package/dist/features/InputSuggestions.js.map +1 -1
  307. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  308. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  309. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  310. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  311. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  312. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  313. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  314. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  315. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  316. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  317. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  318. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  319. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  320. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  321. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  322. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  323. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  324. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  325. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  326. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  327. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  328. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  329. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  330. package/dist/generated/assets/i18n/messagebundle_in.json +1 -1
  331. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  332. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  333. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  334. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  335. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  336. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  337. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  338. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  339. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  340. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  341. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  342. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  343. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  344. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  345. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  346. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  347. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  348. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  349. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  350. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  351. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  352. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  353. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  354. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  355. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  356. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  357. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  358. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  359. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  360. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  361. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  362. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  363. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  364. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  365. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  366. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  367. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  368. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  369. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  370. package/dist/generated/i18n/i18n-defaults.d.ts +10 -8
  371. package/dist/generated/i18n/i18n-defaults.js +12 -10
  372. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  373. package/dist/generated/json-imports/Themes.js +1 -4
  374. package/dist/generated/json-imports/Themes.js.map +1 -1
  375. package/dist/generated/templates/AvatarGroupTemplate.lit.js +1 -1
  376. package/dist/generated/templates/AvatarGroupTemplate.lit.js.map +1 -1
  377. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
  378. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  379. package/dist/generated/templates/ButtonTemplate.lit.js +1 -1
  380. package/dist/generated/templates/ButtonTemplate.lit.js.map +1 -1
  381. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +1 -1
  382. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js.map +1 -1
  383. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +2 -2
  384. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  385. package/dist/generated/templates/ComboBoxTemplate.lit.js +3 -3
  386. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  387. package/dist/generated/templates/CustomListItemTemplate.lit.js +1 -1
  388. package/dist/generated/templates/CustomListItemTemplate.lit.js.map +1 -1
  389. package/dist/generated/templates/DatePickerInputTemplate.lit.js +1 -1
  390. package/dist/generated/templates/DatePickerInputTemplate.lit.js.map +1 -1
  391. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +2 -2
  392. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
  393. package/dist/generated/templates/DatePickerTemplate.lit.js +3 -3
  394. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  395. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  396. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  397. package/dist/generated/templates/DateTimePickerTemplate.lit.js +2 -2
  398. package/dist/generated/templates/DateTimePickerTemplate.lit.js.map +1 -1
  399. package/dist/generated/templates/DialogTemplate.lit.js +1 -1
  400. package/dist/generated/templates/DialogTemplate.lit.js.map +1 -1
  401. package/dist/generated/templates/FileUploaderTemplate.lit.js +1 -1
  402. package/dist/generated/templates/FileUploaderTemplate.lit.js.map +1 -1
  403. package/dist/generated/templates/IconTemplate.lit.js +1 -1
  404. package/dist/generated/templates/IconTemplate.lit.js.map +1 -1
  405. package/dist/generated/templates/InputPopoverTemplate.lit.js +16 -16
  406. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
  407. package/dist/generated/templates/InputTemplate.lit.js +20 -20
  408. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  409. package/dist/generated/templates/LinkTemplate.lit.js +1 -1
  410. package/dist/generated/templates/LinkTemplate.lit.js.map +1 -1
  411. package/dist/generated/templates/{GroupHeaderListItemTemplate.lit.d.ts → ListItemGroupHeaderTemplate.lit.d.ts} +2 -2
  412. package/dist/generated/templates/{GroupHeaderListItemTemplate.lit.js → ListItemGroupHeaderTemplate.lit.js} +1 -1
  413. package/dist/generated/templates/{GroupHeaderListItemTemplate.lit.js.map → ListItemGroupHeaderTemplate.lit.js.map} +1 -1
  414. package/dist/generated/templates/{TimeSelectionTemplate.lit.d.ts → ListItemGroupTemplate.lit.d.ts} +2 -2
  415. package/dist/generated/templates/ListItemGroupTemplate.lit.js +8 -0
  416. package/dist/generated/templates/ListItemGroupTemplate.lit.js.map +1 -0
  417. package/dist/generated/templates/ListItemTemplate.lit.js +1 -1
  418. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  419. package/dist/generated/templates/ListTemplate.lit.js +1 -1
  420. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  421. package/dist/generated/templates/MenuListItemTemplate.lit.js +1 -1
  422. package/dist/generated/templates/MenuListItemTemplate.lit.js.map +1 -1
  423. package/dist/generated/templates/MenuTemplate.lit.js +6 -6
  424. package/dist/generated/templates/MenuTemplate.lit.js.map +1 -1
  425. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +2 -2
  426. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  427. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +3 -3
  428. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  429. package/dist/generated/templates/MultiInputTemplate.lit.js +27 -30
  430. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  431. package/dist/generated/templates/NavigationMenuTemplate.lit.js +7 -7
  432. package/dist/generated/templates/NavigationMenuTemplate.lit.js.map +1 -1
  433. package/dist/generated/templates/PopoverTemplate.lit.js +1 -1
  434. package/dist/generated/templates/PopoverTemplate.lit.js.map +1 -1
  435. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +1 -1
  436. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js.map +1 -1
  437. package/dist/generated/templates/PopupTemplate.lit.js +1 -1
  438. package/dist/generated/templates/PopupTemplate.lit.js.map +1 -1
  439. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +4 -4
  440. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js.map +1 -1
  441. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +2 -2
  442. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js.map +1 -1
  443. package/dist/generated/templates/SelectPopoverTemplate.lit.js +1 -1
  444. package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +1 -1
  445. package/dist/generated/templates/SelectTemplate.lit.js +2 -2
  446. package/dist/generated/templates/SelectTemplate.lit.js.map +1 -1
  447. package/dist/generated/templates/SplitButtonTemplate.lit.js +1 -1
  448. package/dist/generated/templates/SplitButtonTemplate.lit.js.map +1 -1
  449. package/dist/generated/templates/StandardListItemTemplate.lit.js +3 -3
  450. package/dist/generated/templates/StandardListItemTemplate.lit.js.map +1 -1
  451. package/dist/generated/templates/StepInputTemplate.lit.js +1 -1
  452. package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -1
  453. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +3 -3
  454. package/dist/generated/templates/SuggestionListItemTemplate.lit.js.map +1 -1
  455. package/dist/generated/templates/TabContainerTemplate.lit.js +2 -2
  456. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
  457. package/dist/generated/templates/TabInStripTemplate.lit.js +1 -1
  458. package/dist/generated/templates/TabInStripTemplate.lit.js.map +1 -1
  459. package/dist/generated/templates/TagTemplate.lit.d.ts +4 -0
  460. package/dist/generated/templates/TagTemplate.lit.js +11 -0
  461. package/dist/generated/templates/TagTemplate.lit.js.map +1 -0
  462. package/dist/generated/templates/TimeSelectionClocksTemplate.lit.js +1 -1
  463. package/dist/generated/templates/TimeSelectionClocksTemplate.lit.js.map +1 -1
  464. package/dist/generated/templates/TimeSelectionInputsTemplate.lit.js +1 -1
  465. package/dist/generated/templates/TimeSelectionInputsTemplate.lit.js.map +1 -1
  466. package/dist/generated/templates/ToggleButtonTemplate.lit.js +1 -1
  467. package/dist/generated/templates/ToggleButtonTemplate.lit.js.map +1 -1
  468. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js +2 -2
  469. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js.map +1 -1
  470. package/dist/generated/templates/TokenTemplate.lit.js +2 -2
  471. package/dist/generated/templates/TokenTemplate.lit.js.map +1 -1
  472. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +5 -10
  473. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js.map +1 -1
  474. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -11
  475. package/dist/generated/templates/TokenizerTemplate.lit.js.map +1 -1
  476. package/dist/generated/templates/TreeItemBaseTemplate.lit.js +1 -1
  477. package/dist/generated/templates/TreeItemBaseTemplate.lit.js.map +1 -1
  478. package/dist/generated/templates/TreeItemCustomTemplate.lit.js +1 -1
  479. package/dist/generated/templates/TreeItemCustomTemplate.lit.js.map +1 -1
  480. package/dist/generated/templates/TreeItemTemplate.lit.js +1 -1
  481. package/dist/generated/templates/TreeItemTemplate.lit.js.map +1 -1
  482. package/dist/generated/templates/TreeTemplate.lit.js +1 -1
  483. package/dist/generated/templates/TreeTemplate.lit.js.map +1 -1
  484. package/dist/generated/themes/Avatar.css.js +1 -1
  485. package/dist/generated/themes/Avatar.css.js.map +1 -1
  486. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  487. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  488. package/dist/generated/themes/Bar.css.js +1 -1
  489. package/dist/generated/themes/Bar.css.js.map +1 -1
  490. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  491. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  492. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  493. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  494. package/dist/generated/themes/Button.css.js +1 -1
  495. package/dist/generated/themes/Button.css.js.map +1 -1
  496. package/dist/generated/themes/Calendar.css.js +1 -1
  497. package/dist/generated/themes/Calendar.css.js.map +1 -1
  498. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  499. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  500. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  501. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  502. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  503. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  504. package/dist/generated/themes/Card.css.js +1 -1
  505. package/dist/generated/themes/Card.css.js.map +1 -1
  506. package/dist/generated/themes/CardHeader.css.js +1 -1
  507. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  508. package/dist/generated/themes/Carousel.css.js +1 -1
  509. package/dist/generated/themes/Carousel.css.js.map +1 -1
  510. package/dist/generated/themes/CheckBox.css.js +1 -1
  511. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  512. package/dist/generated/themes/ColorPalette.css.js +1 -1
  513. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  514. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  515. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  516. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  517. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  518. package/dist/generated/themes/ColorPicker.css.js +1 -1
  519. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  520. package/dist/generated/themes/ComboBox.css.js +1 -1
  521. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  522. package/dist/generated/themes/CustomListItem.css.js +1 -1
  523. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  524. package/dist/generated/themes/DatePicker.css.js +1 -1
  525. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  526. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  527. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  528. package/dist/generated/themes/DayPicker.css.js +1 -1
  529. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  530. package/dist/generated/themes/Dialog.css.js +1 -1
  531. package/dist/generated/themes/Dialog.css.js.map +1 -1
  532. package/dist/generated/themes/DropIndicator.css.js +1 -1
  533. package/dist/generated/themes/DropIndicator.css.js.map +1 -1
  534. package/dist/generated/themes/FileUploader.css.js +1 -1
  535. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  536. package/dist/generated/themes/GrowingButton.css.js +1 -1
  537. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  538. package/dist/generated/themes/Icon.css.js +1 -1
  539. package/dist/generated/themes/Icon.css.js.map +1 -1
  540. package/dist/generated/themes/Input.css.js +1 -1
  541. package/dist/generated/themes/Input.css.js.map +1 -1
  542. package/dist/generated/themes/InputIcon.css.js +1 -1
  543. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  544. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  545. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  546. package/dist/generated/themes/Link.css.js +1 -1
  547. package/dist/generated/themes/Link.css.js.map +1 -1
  548. package/dist/generated/themes/List.css.js +1 -1
  549. package/dist/generated/themes/List.css.js.map +1 -1
  550. package/dist/generated/themes/ListItem.css.js +1 -1
  551. package/dist/generated/themes/ListItem.css.js.map +1 -1
  552. package/dist/generated/themes/ListItemBase.css.js +1 -1
  553. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  554. package/dist/generated/themes/{TableCell.css.js → ListItemGroup.css.js} +2 -2
  555. package/dist/generated/themes/{TimeSelection.css.js.map → ListItemGroup.css.js.map} +1 -1
  556. package/dist/generated/themes/{GroupHeaderListItem.css.js → ListItemGroupHeader.css.js} +2 -2
  557. package/dist/generated/themes/{GroupHeaderListItem.css.js.map → ListItemGroupHeader.css.js.map} +1 -1
  558. package/dist/generated/themes/Menu.css.js +1 -1
  559. package/dist/generated/themes/Menu.css.js.map +1 -1
  560. package/dist/generated/themes/MenuListItem.css.js +1 -1
  561. package/dist/generated/themes/MenuListItem.css.js.map +1 -1
  562. package/dist/generated/themes/MessageStrip.css.js +1 -1
  563. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  564. package/dist/generated/themes/MonthPicker.css.js +1 -1
  565. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  566. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  567. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  568. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  569. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  570. package/dist/generated/themes/MultiInput.css.js +1 -1
  571. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  572. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  573. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  574. package/dist/generated/themes/Panel.css.js +1 -1
  575. package/dist/generated/themes/Panel.css.js.map +1 -1
  576. package/dist/generated/themes/Popover.css.js +1 -1
  577. package/dist/generated/themes/Popover.css.js.map +1 -1
  578. package/dist/generated/themes/PopupBlockLayer.css.js +1 -1
  579. package/dist/generated/themes/PopupBlockLayer.css.js.map +1 -1
  580. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  581. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  582. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  583. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  584. package/dist/generated/themes/RadioButton.css.js +1 -1
  585. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  586. package/dist/generated/themes/RangeSlider.css.js +1 -1
  587. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  588. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  589. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  590. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  591. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  592. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  593. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  594. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  595. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  596. package/dist/generated/themes/SegmentedButtonItem.css.js +9 -0
  597. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -0
  598. package/dist/generated/themes/Select.css.js +1 -1
  599. package/dist/generated/themes/Select.css.js.map +1 -1
  600. package/dist/generated/themes/SelectMenu.css.js +1 -1
  601. package/dist/generated/themes/SelectMenu.css.js.map +1 -1
  602. package/dist/generated/themes/SelectPopover.css.js +1 -1
  603. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  604. package/dist/generated/themes/SliderBase.css.js +1 -1
  605. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  606. package/dist/generated/themes/SplitButton.css.js +1 -1
  607. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  608. package/dist/generated/themes/StepInput.css.js +1 -1
  609. package/dist/generated/themes/StepInput.css.js.map +1 -1
  610. package/dist/generated/themes/Switch.css.js +1 -1
  611. package/dist/generated/themes/Switch.css.js.map +1 -1
  612. package/dist/generated/themes/TabContainer.css.js +1 -1
  613. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  614. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  615. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  616. package/dist/generated/themes/TabInStrip.css.js +1 -1
  617. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  618. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  619. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  620. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  621. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  622. package/dist/generated/themes/Tag.css.js +9 -0
  623. package/dist/generated/themes/Tag.css.js.map +1 -0
  624. package/dist/generated/themes/Text.css.js +1 -1
  625. package/dist/generated/themes/Text.css.js.map +1 -1
  626. package/dist/generated/themes/TextArea.css.js +1 -1
  627. package/dist/generated/themes/TextArea.css.js.map +1 -1
  628. package/dist/generated/themes/TimePicker.css.js +1 -1
  629. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  630. package/dist/generated/themes/Title.css.js +1 -1
  631. package/dist/generated/themes/Title.css.js.map +1 -1
  632. package/dist/generated/themes/Toast.css.js +1 -1
  633. package/dist/generated/themes/Toast.css.js.map +1 -1
  634. package/dist/generated/themes/ToggleButton.css.js +1 -1
  635. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  636. package/dist/generated/themes/Token.css.js +1 -1
  637. package/dist/generated/themes/Token.css.js.map +1 -1
  638. package/dist/generated/themes/Tokenizer.css.js +1 -1
  639. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  640. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  641. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  642. package/dist/generated/themes/Toolbar.css.js +1 -1
  643. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  644. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  645. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  646. package/dist/generated/themes/TreeItem.css.js +1 -1
  647. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  648. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  649. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  650. package/dist/generated/themes/YearPicker.css.js +1 -1
  651. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  652. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  653. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  654. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  655. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  656. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  657. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  658. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  659. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  660. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  661. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  662. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  663. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  664. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  665. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  666. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  667. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  668. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  669. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  670. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  671. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  672. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  673. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  674. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  675. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  676. package/dist/types/HighlightTypes.d.ts +3 -3
  677. package/dist/types/HighlightTypes.js +3 -3
  678. package/dist/types/HighlightTypes.js.map +1 -1
  679. package/dist/types/IconMode.d.ts +28 -0
  680. package/dist/types/IconMode.js +30 -0
  681. package/dist/types/IconMode.js.map +1 -0
  682. package/dist/types/ListAccessibleRole.d.ts +28 -0
  683. package/dist/types/ListAccessibleRole.js +30 -0
  684. package/dist/types/ListAccessibleRole.js.map +1 -0
  685. package/dist/types/ListItemAccessibleRole.d.ts +33 -0
  686. package/dist/types/ListItemAccessibleRole.js +35 -0
  687. package/dist/types/ListItemAccessibleRole.js.map +1 -0
  688. package/dist/types/MessageStripDesign.d.ts +11 -1
  689. package/dist/types/MessageStripDesign.js +11 -1
  690. package/dist/types/MessageStripDesign.js.map +1 -1
  691. package/dist/types/{SegmentedButtonMode.d.ts → SegmentedButtonSelectionMode.d.ts} +5 -5
  692. package/dist/types/SegmentedButtonSelectionMode.js +19 -0
  693. package/dist/types/SegmentedButtonSelectionMode.js.map +1 -0
  694. package/dist/types/{BadgeDesign.d.ts → TagDesign.d.ts} +3 -3
  695. package/dist/types/{BadgeDesign.js → TagDesign.js} +14 -14
  696. package/dist/types/TagDesign.js.map +1 -0
  697. package/dist/types/TagSize.d.ts +17 -0
  698. package/dist/types/TagSize.js +19 -0
  699. package/dist/types/TagSize.js.map +1 -0
  700. package/dist/vscode.html-custom-data.json +343 -500
  701. package/dist/web-types.json +584 -871
  702. package/package.json +10 -10
  703. package/src/AvatarGroup.hbs +1 -1
  704. package/src/Breadcrumbs.hbs +2 -2
  705. package/src/Button.hbs +1 -1
  706. package/src/ColorPalettePopover.hbs +1 -0
  707. package/src/ComboBox.hbs +1 -1
  708. package/src/ComboBoxPopover.hbs +2 -1
  709. package/src/DatePickerInput.hbs +4 -4
  710. package/src/DatePickerPopover.hbs +4 -1
  711. package/src/FileUploader.hbs +2 -0
  712. package/src/Icon.hbs +0 -2
  713. package/src/Input.hbs +7 -6
  714. package/src/InputPopover.hbs +31 -11
  715. package/src/Link.hbs +1 -1
  716. package/src/List.hbs +1 -2
  717. package/src/ListItem.hbs +0 -1
  718. package/src/ListItemGroup.hbs +12 -0
  719. package/src/Menu.hbs +10 -10
  720. package/src/MultiComboBox.hbs +3 -3
  721. package/src/MultiComboBoxPopover.hbs +2 -2
  722. package/src/MultiInput.hbs +4 -15
  723. package/src/NavigationMenu.hbs +11 -11
  724. package/src/Popup.hbs +3 -3
  725. package/src/PopupBlockLayer.hbs +0 -1
  726. package/src/ResponsivePopover.hbs +10 -3
  727. package/src/SegmentedButtonItem.hbs +5 -15
  728. package/src/Select.hbs +1 -1
  729. package/src/SelectPopover.hbs +1 -1
  730. package/src/SplitButton.hbs +1 -3
  731. package/src/StandardListItem.hbs +2 -2
  732. package/src/StepInput.hbs +1 -1
  733. package/src/TabContainer.hbs +2 -2
  734. package/src/TabInStrip.hbs +1 -1
  735. package/src/{Badge.hbs → Tag.hbs} +5 -5
  736. package/src/TimeSelectionClocks.hbs +1 -1
  737. package/src/TimeSelectionInputs.hbs +1 -1
  738. package/src/ToggleSpinButton.hbs +0 -1
  739. package/src/Token.hbs +3 -1
  740. package/src/Tokenizer.hbs +11 -6
  741. package/src/TokenizerPopover.hbs +25 -38
  742. package/src/Tree.hbs +0 -1
  743. package/src/i18n/messagebundle.properties +20 -14
  744. package/src/i18n/messagebundle_ar.properties +9 -7
  745. package/src/i18n/messagebundle_bg.properties +9 -7
  746. package/src/i18n/messagebundle_ca.properties +9 -7
  747. package/src/i18n/messagebundle_cnr.properties +9 -7
  748. package/src/i18n/messagebundle_cs.properties +9 -7
  749. package/src/i18n/messagebundle_cy.properties +9 -7
  750. package/src/i18n/messagebundle_da.properties +9 -7
  751. package/src/i18n/messagebundle_de.properties +9 -7
  752. package/src/i18n/messagebundle_el.properties +9 -7
  753. package/src/i18n/messagebundle_en.properties +9 -7
  754. package/src/i18n/messagebundle_en_GB.properties +9 -7
  755. package/src/i18n/messagebundle_en_US_sappsd.properties +1 -1
  756. package/src/i18n/messagebundle_en_US_saprigi.properties +9 -7
  757. package/src/i18n/messagebundle_en_US_saptrc.properties +1 -1
  758. package/src/i18n/messagebundle_es.properties +9 -7
  759. package/src/i18n/messagebundle_es_MX.properties +9 -7
  760. package/src/i18n/messagebundle_et.properties +9 -7
  761. package/src/i18n/messagebundle_fi.properties +9 -7
  762. package/src/i18n/messagebundle_fr.properties +9 -7
  763. package/src/i18n/messagebundle_fr_CA.properties +9 -7
  764. package/src/i18n/messagebundle_hi.properties +9 -7
  765. package/src/i18n/messagebundle_hr.properties +9 -7
  766. package/src/i18n/messagebundle_hu.properties +9 -7
  767. package/src/i18n/messagebundle_id.properties +9 -7
  768. package/src/i18n/messagebundle_in.properties +1 -1
  769. package/src/i18n/messagebundle_it.properties +9 -7
  770. package/src/i18n/messagebundle_iw.properties +9 -7
  771. package/src/i18n/messagebundle_ja.properties +9 -7
  772. package/src/i18n/messagebundle_kk.properties +9 -7
  773. package/src/i18n/messagebundle_ko.properties +9 -7
  774. package/src/i18n/messagebundle_lt.properties +9 -7
  775. package/src/i18n/messagebundle_lv.properties +9 -7
  776. package/src/i18n/messagebundle_mk.properties +9 -7
  777. package/src/i18n/messagebundle_ms.properties +9 -7
  778. package/src/i18n/messagebundle_nl.properties +9 -7
  779. package/src/i18n/messagebundle_no.properties +9 -7
  780. package/src/i18n/messagebundle_pl.properties +9 -7
  781. package/src/i18n/messagebundle_pt.properties +9 -7
  782. package/src/i18n/messagebundle_pt_PT.properties +9 -7
  783. package/src/i18n/messagebundle_ro.properties +9 -7
  784. package/src/i18n/messagebundle_ru.properties +9 -7
  785. package/src/i18n/messagebundle_sh.properties +32 -30
  786. package/src/i18n/messagebundle_sk.properties +9 -7
  787. package/src/i18n/messagebundle_sl.properties +9 -7
  788. package/src/i18n/messagebundle_sr.properties +9 -7
  789. package/src/i18n/messagebundle_sv.properties +9 -7
  790. package/src/i18n/messagebundle_th.properties +9 -7
  791. package/src/i18n/messagebundle_tr.properties +9 -7
  792. package/src/i18n/messagebundle_uk.properties +9 -7
  793. package/src/i18n/messagebundle_vi.properties +9 -7
  794. package/src/i18n/messagebundle_zh_CN.properties +9 -7
  795. package/src/i18n/messagebundle_zh_TW.properties +9 -7
  796. package/src/themes/Avatar.css +9 -9
  797. package/src/themes/AvatarGroup.css +18 -3
  798. package/src/themes/CheckBox.css +12 -12
  799. package/src/themes/DayPicker.css +3 -6
  800. package/src/themes/Dialog.css +19 -6
  801. package/src/themes/DropIndicator.css +16 -0
  802. package/src/themes/FileUploader.css +3 -3
  803. package/src/themes/Icon.css +3 -2
  804. package/src/themes/Input.css +51 -51
  805. package/src/themes/InputSharedStyles.css +14 -14
  806. package/src/themes/Link.css +2 -2
  807. package/src/themes/ListItem.css +6 -6
  808. package/src/themes/ListItemGroup.css +13 -0
  809. package/src/themes/{GroupHeaderListItem.css → ListItemGroupHeader.css} +4 -0
  810. package/src/themes/MessageStrip.css +155 -2
  811. package/src/themes/MultiComboBox.css +4 -0
  812. package/src/themes/Popover.css +8 -0
  813. package/src/themes/PopupBlockLayer.css +3 -12
  814. package/src/themes/PopupsCommon.css +2 -2
  815. package/src/themes/ProgressIndicator.css +24 -19
  816. package/src/themes/RadioButton.css +18 -18
  817. package/src/themes/ResponsivePopoverCommon.css +17 -17
  818. package/src/themes/SegmentedButton.css +2 -2
  819. package/src/themes/SegmentedButtonItem.css +158 -0
  820. package/src/themes/SplitButton.css +3 -1
  821. package/src/themes/StepInput.css +20 -20
  822. package/src/themes/Tag.css +616 -0
  823. package/src/themes/TextArea.css +41 -41
  824. package/src/themes/TimePicker.css +1 -1
  825. package/src/themes/Title.css +10 -3
  826. package/src/themes/Token.css +10 -15
  827. package/src/themes/Tokenizer.css +24 -10
  828. package/src/themes/TokenizerPopover.css +14 -2
  829. package/src/themes/base/Avatar-parameters.css +2 -0
  830. package/src/themes/base/DayPicker-parameters.css +3 -3
  831. package/src/themes/base/Link-parameters.css +1 -2
  832. package/src/themes/base/MessageStrip-parameters.css +25 -0
  833. package/src/themes/base/ProgressIndicator-parameters.css +3 -1
  834. package/src/themes/base/SegmentedButtonItem-parameters.css +1 -0
  835. package/src/themes/base/Tag-parameters.css +170 -0
  836. package/src/themes/base/sizes-parameters.css +0 -24
  837. package/src/themes/sap_fiori_3/MessageStrip-parameters.css +7 -0
  838. package/src/themes/sap_fiori_3/SegmentedButtonItem-parameters.css +1 -0
  839. package/src/themes/sap_fiori_3/parameters-bundle.css +4 -8
  840. package/src/themes/sap_fiori_3_dark/MessageStrip-parameters.css +9 -0
  841. package/src/themes/sap_fiori_3_dark/SegmentedButtonItem-parameters.css +1 -0
  842. package/src/themes/sap_fiori_3_dark/Tag-parameters.css +5 -0
  843. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +4 -8
  844. package/src/themes/sap_fiori_3_hcb/Link-parameters.css +1 -2
  845. package/src/themes/sap_fiori_3_hcb/MessageStrip-parameters.css +22 -0
  846. package/src/themes/sap_fiori_3_hcb/SegmentedButtonItem-parameters.css +1 -0
  847. package/src/themes/sap_fiori_3_hcb/Tag-parameters.css +46 -0
  848. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +3 -7
  849. package/src/themes/sap_fiori_3_hcw/Link-parameters.css +1 -2
  850. package/src/themes/sap_fiori_3_hcw/MessageStrip-parameters.css +22 -0
  851. package/src/themes/sap_fiori_3_hcw/SegmentedButtonItem-parameters.css +1 -0
  852. package/src/themes/sap_fiori_3_hcw/Tag-parameters.css +46 -0
  853. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +3 -7
  854. package/src/themes/sap_horizon/DayPicker-parameters.css +0 -1
  855. package/src/themes/sap_horizon/Link-parameters.css +1 -2
  856. package/src/themes/sap_horizon/ProgressIndicatorLayout-parameters.css +3 -2
  857. package/src/themes/sap_horizon/SegmentedButtonItem-parameters.css +1 -0
  858. package/src/themes/sap_horizon/Tag-parameters.css +46 -0
  859. package/src/themes/sap_horizon/parameters-bundle.css +3 -9
  860. package/src/themes/sap_horizon_dark/DayPicker-parameters.css +0 -1
  861. package/src/themes/sap_horizon_dark/Link-parameters.css +1 -2
  862. package/src/themes/sap_horizon_dark/MessageStrip-parameters.css +5 -0
  863. package/src/themes/sap_horizon_dark/SegmentedButtonItem-parameters.css +1 -0
  864. package/src/themes/sap_horizon_dark/Tag-parameters.css +46 -0
  865. package/src/themes/sap_horizon_dark/parameters-bundle.css +4 -10
  866. package/src/themes/sap_horizon_dark_exp/DayPicker-parameters.css +0 -1
  867. package/src/themes/sap_horizon_dark_exp/Link-parameters.css +1 -2
  868. package/src/themes/sap_horizon_dark_exp/Tag-parameters.css +43 -0
  869. package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +2 -9
  870. package/src/themes/sap_horizon_exp/DayPicker-parameters.css +0 -1
  871. package/src/themes/sap_horizon_exp/Link-parameters.css +1 -2
  872. package/src/themes/sap_horizon_exp/ProgressIndicatorLayout-parameters.css +3 -2
  873. package/src/themes/sap_horizon_exp/Tag-parameters.css +43 -0
  874. package/src/themes/sap_horizon_exp/parameters-bundle.css +2 -9
  875. package/src/themes/sap_horizon_hcb/DayPicker-parameters.css +0 -1
  876. package/src/themes/sap_horizon_hcb/Link-parameters.css +1 -2
  877. package/src/themes/sap_horizon_hcb/MessageStrip-parameters.css +22 -0
  878. package/src/themes/sap_horizon_hcb/SegmentedButtonItem-parameters.css +1 -0
  879. package/src/themes/sap_horizon_hcb/Tag-parameters.css +151 -0
  880. package/src/themes/sap_horizon_hcb/parameters-bundle.css +3 -7
  881. package/src/themes/sap_horizon_hcb_exp/DayPicker-parameters.css +0 -1
  882. package/src/themes/sap_horizon_hcb_exp/Link-parameters.css +1 -2
  883. package/src/themes/sap_horizon_hcb_exp/Tag-parameters.css +43 -0
  884. package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +2 -7
  885. package/src/themes/sap_horizon_hcw/DayPicker-parameters.css +0 -1
  886. package/src/themes/sap_horizon_hcw/Link-parameters.css +1 -2
  887. package/src/themes/sap_horizon_hcw/MessageStrip-parameters.css +22 -0
  888. package/src/themes/sap_horizon_hcw/SegmentedButtonItem-parameters.css +1 -0
  889. package/src/themes/sap_horizon_hcw/Tag-parameters.css +154 -0
  890. package/src/themes/sap_horizon_hcw/parameters-bundle.css +3 -7
  891. package/src/themes/sap_horizon_hcw_exp/DayPicker-parameters.css +0 -1
  892. package/src/themes/sap_horizon_hcw_exp/Link-parameters.css +1 -2
  893. package/src/themes/sap_horizon_hcw_exp/Tag-parameters.css +43 -0
  894. package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +2 -7
  895. package/.eslintrc.cjs +0 -3
  896. package/config/wdio.conf.cjs +0 -15
  897. package/customI18n.js +0 -50
  898. package/dist/Badge.js.map +0 -1
  899. package/dist/GroupHeaderListItem.js.map +0 -1
  900. package/dist/Table.d.ts +0 -362
  901. package/dist/Table.js +0 -868
  902. package/dist/Table.js.map +0 -1
  903. package/dist/TableCell.d.ts +0 -37
  904. package/dist/TableCell.js +0 -63
  905. package/dist/TableCell.js.map +0 -1
  906. package/dist/TableColumn.d.ts +0 -63
  907. package/dist/TableColumn.js +0 -59
  908. package/dist/TableColumn.js.map +0 -1
  909. package/dist/TableGroupRow.d.ts +0 -44
  910. package/dist/TableGroupRow.js +0 -102
  911. package/dist/TableGroupRow.js.map +0 -1
  912. package/dist/TableRow.d.ts +0 -120
  913. package/dist/TableRow.js +0 -323
  914. package/dist/TableRow.js.map +0 -1
  915. package/dist/TimePickerBase.d.ts +0 -174
  916. package/dist/TimePickerBase.js +0 -475
  917. package/dist/TimePickerBase.js.map +0 -1
  918. package/dist/TimeSelection.d.ts +0 -144
  919. package/dist/TimeSelection.js +0 -375
  920. package/dist/TimeSelection.js.map +0 -1
  921. package/dist/WheelSlider.d.ts +0 -101
  922. package/dist/WheelSlider.js +0 -338
  923. package/dist/WheelSlider.js.map +0 -1
  924. package/dist/css/themes/Badge.css +0 -1
  925. package/dist/css/themes/Table.css +0 -1
  926. package/dist/css/themes/TableCell.css +0 -1
  927. package/dist/css/themes/TableColumn.css +0 -1
  928. package/dist/css/themes/TableGroupRow.css +0 -1
  929. package/dist/css/themes/TableRow.css +0 -1
  930. package/dist/css/themes/TimeSelection.css +0 -1
  931. package/dist/css/themes/WheelSlider.css +0 -1
  932. package/dist/css/themes/sap_belize/parameters-bundle.css +0 -1
  933. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +0 -1
  934. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +0 -1
  935. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +0 -1
  936. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +0 -1
  937. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +0 -1
  938. package/dist/generated/templates/BadgeTemplate.lit.d.ts +0 -4
  939. package/dist/generated/templates/BadgeTemplate.lit.js +0 -11
  940. package/dist/generated/templates/BadgeTemplate.lit.js.map +0 -1
  941. package/dist/generated/templates/TableCellTemplate.lit.d.ts +0 -4
  942. package/dist/generated/templates/TableCellTemplate.lit.js +0 -5
  943. package/dist/generated/templates/TableCellTemplate.lit.js.map +0 -1
  944. package/dist/generated/templates/TableColumnTemplate.lit.d.ts +0 -4
  945. package/dist/generated/templates/TableColumnTemplate.lit.js +0 -5
  946. package/dist/generated/templates/TableColumnTemplate.lit.js.map +0 -1
  947. package/dist/generated/templates/TableGroupRowTemplate.lit.d.ts +0 -4
  948. package/dist/generated/templates/TableGroupRowTemplate.lit.js +0 -5
  949. package/dist/generated/templates/TableGroupRowTemplate.lit.js.map +0 -1
  950. package/dist/generated/templates/TableRowTemplate.lit.d.ts +0 -4
  951. package/dist/generated/templates/TableRowTemplate.lit.js +0 -16
  952. package/dist/generated/templates/TableRowTemplate.lit.js.map +0 -1
  953. package/dist/generated/templates/TableTemplate.lit.d.ts +0 -4
  954. package/dist/generated/templates/TableTemplate.lit.js +0 -15
  955. package/dist/generated/templates/TableTemplate.lit.js.map +0 -1
  956. package/dist/generated/templates/TimeSelectionTemplate.lit.js +0 -9
  957. package/dist/generated/templates/TimeSelectionTemplate.lit.js.map +0 -1
  958. package/dist/generated/templates/WheelSliderTemplate.lit.d.ts +0 -4
  959. package/dist/generated/templates/WheelSliderTemplate.lit.js +0 -8
  960. package/dist/generated/templates/WheelSliderTemplate.lit.js.map +0 -1
  961. package/dist/generated/themes/Badge.css.js +0 -9
  962. package/dist/generated/themes/Badge.css.js.map +0 -1
  963. package/dist/generated/themes/Table.css.js +0 -9
  964. package/dist/generated/themes/Table.css.js.map +0 -1
  965. package/dist/generated/themes/TableCell.css.js.map +0 -1
  966. package/dist/generated/themes/TableColumn.css.d.ts +0 -3
  967. package/dist/generated/themes/TableColumn.css.js +0 -9
  968. package/dist/generated/themes/TableColumn.css.js.map +0 -1
  969. package/dist/generated/themes/TableGroupRow.css.d.ts +0 -3
  970. package/dist/generated/themes/TableGroupRow.css.js +0 -9
  971. package/dist/generated/themes/TableGroupRow.css.js.map +0 -1
  972. package/dist/generated/themes/TableRow.css.d.ts +0 -3
  973. package/dist/generated/themes/TableRow.css.js +0 -9
  974. package/dist/generated/themes/TableRow.css.js.map +0 -1
  975. package/dist/generated/themes/TimeSelection.css.d.ts +0 -3
  976. package/dist/generated/themes/TimeSelection.css.js +0 -9
  977. package/dist/generated/themes/WheelSlider.css.d.ts +0 -3
  978. package/dist/generated/themes/WheelSlider.css.js +0 -9
  979. package/dist/generated/themes/WheelSlider.css.js.map +0 -1
  980. package/dist/generated/themes/sap_belize/parameters-bundle.css.d.ts +0 -3
  981. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +0 -4
  982. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +0 -1
  983. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.d.ts +0 -3
  984. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +0 -4
  985. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +0 -1
  986. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.d.ts +0 -3
  987. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +0 -4
  988. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +0 -1
  989. package/dist/types/BadgeDesign.js.map +0 -1
  990. package/dist/types/HasPopup.d.ts +0 -32
  991. package/dist/types/HasPopup.js +0 -34
  992. package/dist/types/HasPopup.js.map +0 -1
  993. package/dist/types/SegmentedButtonMode.js +0 -19
  994. package/dist/types/SegmentedButtonMode.js.map +0 -1
  995. package/dist/types/TableColumnPopinDisplay.d.ts +0 -17
  996. package/dist/types/TableColumnPopinDisplay.js +0 -19
  997. package/dist/types/TableColumnPopinDisplay.js.map +0 -1
  998. package/dist/types/TableGrowingMode.d.ts +0 -23
  999. package/dist/types/TableGrowingMode.js +0 -25
  1000. package/dist/types/TableGrowingMode.js.map +0 -1
  1001. package/dist/types/TableMode.d.ts +0 -22
  1002. package/dist/types/TableMode.js +0 -24
  1003. package/dist/types/TableMode.js.map +0 -1
  1004. package/dist/types/TableRowType.d.ts +0 -17
  1005. package/dist/types/TableRowType.js +0 -19
  1006. package/dist/types/TableRowType.js.map +0 -1
  1007. package/src/Table.hbs +0 -121
  1008. package/src/TableCell.hbs +0 -7
  1009. package/src/TableColumn.hbs +0 -7
  1010. package/src/TableGroupRow.hbs +0 -11
  1011. package/src/TableRow.hbs +0 -85
  1012. package/src/TimeSelection.hbs +0 -64
  1013. package/src/WheelSlider.hbs +0 -49
  1014. package/src/themes/Badge.css +0 -594
  1015. package/src/themes/Table.css +0 -106
  1016. package/src/themes/TableCell.css +0 -27
  1017. package/src/themes/TableColumn.css +0 -25
  1018. package/src/themes/TableGroupRow.css +0 -32
  1019. package/src/themes/TableRow.css +0 -130
  1020. package/src/themes/TimeSelection.css +0 -27
  1021. package/src/themes/WheelSlider.css +0 -203
  1022. package/src/themes/base/Badge-parameters.css +0 -160
  1023. package/src/themes/base/Table-parameters.css +0 -10
  1024. package/src/themes/base/TableColumn-parameters.css +0 -3
  1025. package/src/themes/base/TableGroupRow-parameters.css +0 -4
  1026. package/src/themes/base/TableRow-parameters.css +0 -4
  1027. package/src/themes/base/WheelSlider-parameters.css +0 -15
  1028. package/src/themes/sap_belize/BrowserScrollbar-parameters.css +0 -4
  1029. package/src/themes/sap_belize/BusyIndicator-parameters.css +0 -5
  1030. package/src/themes/sap_belize/Button-parameters.css +0 -9
  1031. package/src/themes/sap_belize/Card-parameters.css +0 -5
  1032. package/src/themes/sap_belize/Carousel-parameters.css +0 -9
  1033. package/src/themes/sap_belize/DayPicker-parameters.css +0 -25
  1034. package/src/themes/sap_belize/Dialog-parameters.css +0 -5
  1035. package/src/themes/sap_belize/Input-parameters.css +0 -22
  1036. package/src/themes/sap_belize/InputIcon-parameters.css +0 -5
  1037. package/src/themes/sap_belize/Panel-parameters.css +0 -14
  1038. package/src/themes/sap_belize/PopupsCommon-parameters.css +0 -8
  1039. package/src/themes/sap_belize/ProgressIndicator-parameters.css +0 -8
  1040. package/src/themes/sap_belize/SliderBase-parameters.css +0 -23
  1041. package/src/themes/sap_belize/SplitButton-parameters.css +0 -6
  1042. package/src/themes/sap_belize/TabContainer-parameters.css +0 -10
  1043. package/src/themes/sap_belize/Table-parameters.css +0 -7
  1044. package/src/themes/sap_belize/TableRow-parameters.css +0 -6
  1045. package/src/themes/sap_belize/TextArea-parameters.css +0 -23
  1046. package/src/themes/sap_belize/TimePicker-parameters.css +0 -5
  1047. package/src/themes/sap_belize/ToggleButton-parameters.css +0 -5
  1048. package/src/themes/sap_belize/Token-parameters.css +0 -8
  1049. package/src/themes/sap_belize/Tokenizer-parameters.css +0 -5
  1050. package/src/themes/sap_belize/WheelSlider-parameters.css +0 -17
  1051. package/src/themes/sap_belize/parameters-bundle.css +0 -62
  1052. package/src/themes/sap_belize/sizes-parameters.css +0 -17
  1053. package/src/themes/sap_belize_hcb/Avatar-parameters.css +0 -20
  1054. package/src/themes/sap_belize_hcb/Badge-parameters.css +0 -43
  1055. package/src/themes/sap_belize_hcb/BrowserScrollbar-parameters.css +0 -4
  1056. package/src/themes/sap_belize_hcb/Button-parameters.css +0 -12
  1057. package/src/themes/sap_belize_hcb/CalendarHeader-parameters.css +0 -11
  1058. package/src/themes/sap_belize_hcb/Card-parameters.css +0 -7
  1059. package/src/themes/sap_belize_hcb/Carousel-parameters.css +0 -9
  1060. package/src/themes/sap_belize_hcb/CheckBox-parameters.css +0 -12
  1061. package/src/themes/sap_belize_hcb/DatePicker-parameters.css +0 -6
  1062. package/src/themes/sap_belize_hcb/DayPicker-parameters.css +0 -23
  1063. package/src/themes/sap_belize_hcb/FileUploader-parameters.css +0 -5
  1064. package/src/themes/sap_belize_hcb/GrowingButton-parameters.css +0 -8
  1065. package/src/themes/sap_belize_hcb/Input-parameters.css +0 -37
  1066. package/src/themes/sap_belize_hcb/InputIcon-parameters.css +0 -5
  1067. package/src/themes/sap_belize_hcb/Link-parameters.css +0 -8
  1068. package/src/themes/sap_belize_hcb/MessageStrip-parameters.css +0 -9
  1069. package/src/themes/sap_belize_hcb/MonthPicker-parameters.css +0 -10
  1070. package/src/themes/sap_belize_hcb/Panel-parameters.css +0 -13
  1071. package/src/themes/sap_belize_hcb/PopupsCommon-parameters.css +0 -5
  1072. package/src/themes/sap_belize_hcb/ProgressIndicator-parameters.css +0 -11
  1073. package/src/themes/sap_belize_hcb/RadioButton-parameters.css +0 -14
  1074. package/src/themes/sap_belize_hcb/Select-parameters.css +0 -10
  1075. package/src/themes/sap_belize_hcb/SliderBase-parameters.css +0 -17
  1076. package/src/themes/sap_belize_hcb/SplitButton-parameters.css +0 -13
  1077. package/src/themes/sap_belize_hcb/Switch-parameters.css +0 -16
  1078. package/src/themes/sap_belize_hcb/TabContainer-parameters.css +0 -44
  1079. package/src/themes/sap_belize_hcb/Table-parameters.css +0 -7
  1080. package/src/themes/sap_belize_hcb/TableRow-parameters.css +0 -7
  1081. package/src/themes/sap_belize_hcb/TextArea-parameters.css +0 -39
  1082. package/src/themes/sap_belize_hcb/ToggleButton-parameters.css +0 -7
  1083. package/src/themes/sap_belize_hcb/Token-parameters.css +0 -10
  1084. package/src/themes/sap_belize_hcb/ValueStateMessage-parameters.css +0 -10
  1085. package/src/themes/sap_belize_hcb/WheelSlider-parameters.css +0 -17
  1086. package/src/themes/sap_belize_hcb/YearPicker-parameters.css +0 -10
  1087. package/src/themes/sap_belize_hcb/parameters-bundle.css +0 -60
  1088. package/src/themes/sap_belize_hcb/sizes-parameters.css +0 -15
  1089. package/src/themes/sap_belize_hcw/Avatar-parameters.css +0 -20
  1090. package/src/themes/sap_belize_hcw/Badge-parameters.css +0 -43
  1091. package/src/themes/sap_belize_hcw/BrowserScrollbar-parameters.css +0 -4
  1092. package/src/themes/sap_belize_hcw/Button-parameters.css +0 -12
  1093. package/src/themes/sap_belize_hcw/CalendarHeader-parameters.css +0 -11
  1094. package/src/themes/sap_belize_hcw/Card-parameters.css +0 -7
  1095. package/src/themes/sap_belize_hcw/Carousel-parameters.css +0 -9
  1096. package/src/themes/sap_belize_hcw/CheckBox-parameters.css +0 -12
  1097. package/src/themes/sap_belize_hcw/DatePicker-parameters.css +0 -5
  1098. package/src/themes/sap_belize_hcw/DayPicker-parameters.css +0 -24
  1099. package/src/themes/sap_belize_hcw/FileUploader-parameters.css +0 -5
  1100. package/src/themes/sap_belize_hcw/GrowingButton-parameters.css +0 -8
  1101. package/src/themes/sap_belize_hcw/Input-parameters.css +0 -37
  1102. package/src/themes/sap_belize_hcw/InputIcon-parameters.css +0 -5
  1103. package/src/themes/sap_belize_hcw/Link-parameters.css +0 -8
  1104. package/src/themes/sap_belize_hcw/MessageStrip-parameters.css +0 -9
  1105. package/src/themes/sap_belize_hcw/MonthPicker-parameters.css +0 -10
  1106. package/src/themes/sap_belize_hcw/Panel-parameters.css +0 -13
  1107. package/src/themes/sap_belize_hcw/PopupsCommon-parameters.css +0 -5
  1108. package/src/themes/sap_belize_hcw/ProgressIndicator-parameters.css +0 -11
  1109. package/src/themes/sap_belize_hcw/RadioButton-parameters.css +0 -14
  1110. package/src/themes/sap_belize_hcw/Select-parameters.css +0 -10
  1111. package/src/themes/sap_belize_hcw/SliderBase-parameters.css +0 -17
  1112. package/src/themes/sap_belize_hcw/SplitButton-parameters.css +0 -13
  1113. package/src/themes/sap_belize_hcw/Switch-parameters.css +0 -16
  1114. package/src/themes/sap_belize_hcw/TabContainer-parameters.css +0 -44
  1115. package/src/themes/sap_belize_hcw/Table-parameters.css +0 -7
  1116. package/src/themes/sap_belize_hcw/TableRow-parameters.css +0 -7
  1117. package/src/themes/sap_belize_hcw/TextArea-parameters.css +0 -39
  1118. package/src/themes/sap_belize_hcw/ToggleButton-parameters.css +0 -6
  1119. package/src/themes/sap_belize_hcw/Token-parameters.css +0 -10
  1120. package/src/themes/sap_belize_hcw/ValueStateMessage-parameters.css +0 -10
  1121. package/src/themes/sap_belize_hcw/WheelSlider-parameters.css +0 -17
  1122. package/src/themes/sap_belize_hcw/YearPicker-parameters.css +0 -10
  1123. package/src/themes/sap_belize_hcw/parameters-bundle.css +0 -60
  1124. package/src/themes/sap_belize_hcw/sizes-parameters.css +0 -15
  1125. package/src/themes/sap_fiori_3/WheelSlider-parameters.css +0 -16
  1126. package/src/themes/sap_fiori_3_dark/Badge-parameters.css +0 -5
  1127. package/src/themes/sap_fiori_3_dark/WheelSlider-parameters.css +0 -15
  1128. package/src/themes/sap_fiori_3_hcb/Badge-parameters.css +0 -46
  1129. package/src/themes/sap_fiori_3_hcb/Table-parameters.css +0 -5
  1130. package/src/themes/sap_fiori_3_hcb/TableRow-parameters.css +0 -5
  1131. package/src/themes/sap_fiori_3_hcb/WheelSlider-parameters.css +0 -17
  1132. package/src/themes/sap_fiori_3_hcw/Badge-parameters.css +0 -46
  1133. package/src/themes/sap_fiori_3_hcw/Table-parameters.css +0 -5
  1134. package/src/themes/sap_fiori_3_hcw/TableRow-parameters.css +0 -5
  1135. package/src/themes/sap_fiori_3_hcw/WheelSlider-parameters.css +0 -17
  1136. package/src/themes/sap_horizon/Badge-parameters.css +0 -46
  1137. package/src/themes/sap_horizon/Table-parameters.css +0 -9
  1138. package/src/themes/sap_horizon/TableColumn-parameters.css +0 -5
  1139. package/src/themes/sap_horizon/TableGroupRow-parameters.css +0 -7
  1140. package/src/themes/sap_horizon/TableRow-parameters.css +0 -5
  1141. package/src/themes/sap_horizon/WheelSlider-parameters.css +0 -19
  1142. package/src/themes/sap_horizon_dark/Badge-parameters.css +0 -46
  1143. package/src/themes/sap_horizon_dark/Table-parameters.css +0 -9
  1144. package/src/themes/sap_horizon_dark/TableColumn-parameters.css +0 -5
  1145. package/src/themes/sap_horizon_dark/TableGroupRow-parameters.css +0 -7
  1146. package/src/themes/sap_horizon_dark/TableRow-parameters.css +0 -5
  1147. package/src/themes/sap_horizon_dark/WheelSlider-parameters.css +0 -19
  1148. package/src/themes/sap_horizon_dark_exp/Badge-parameters.css +0 -43
  1149. package/src/themes/sap_horizon_dark_exp/Table-parameters.css +0 -8
  1150. package/src/themes/sap_horizon_dark_exp/TableColumn-parameters.css +0 -5
  1151. package/src/themes/sap_horizon_dark_exp/TableGroupRow-parameters.css +0 -7
  1152. package/src/themes/sap_horizon_dark_exp/TableRow-parameters.css +0 -5
  1153. package/src/themes/sap_horizon_dark_exp/WheelSlider-parameters.css +0 -19
  1154. package/src/themes/sap_horizon_exp/Badge-parameters.css +0 -43
  1155. package/src/themes/sap_horizon_exp/Table-parameters.css +0 -8
  1156. package/src/themes/sap_horizon_exp/TableColumn-parameters.css +0 -5
  1157. package/src/themes/sap_horizon_exp/TableGroupRow-parameters.css +0 -7
  1158. package/src/themes/sap_horizon_exp/TableRow-parameters.css +0 -5
  1159. package/src/themes/sap_horizon_exp/WheelSlider-parameters.css +0 -19
  1160. package/src/themes/sap_horizon_hcb/Badge-parameters.css +0 -151
  1161. package/src/themes/sap_horizon_hcb/Table-parameters.css +0 -10
  1162. package/src/themes/sap_horizon_hcb/TableGroupRow-parameters.css +0 -7
  1163. package/src/themes/sap_horizon_hcb/TableRow-parameters.css +0 -5
  1164. package/src/themes/sap_horizon_hcb/WheelSlider-parameters.css +0 -17
  1165. package/src/themes/sap_horizon_hcb_exp/Badge-parameters.css +0 -43
  1166. package/src/themes/sap_horizon_hcb_exp/Table-parameters.css +0 -9
  1167. package/src/themes/sap_horizon_hcb_exp/TableGroupRow-parameters.css +0 -7
  1168. package/src/themes/sap_horizon_hcb_exp/TableRow-parameters.css +0 -5
  1169. package/src/themes/sap_horizon_hcb_exp/WheelSlider-parameters.css +0 -17
  1170. package/src/themes/sap_horizon_hcw/Badge-parameters.css +0 -154
  1171. package/src/themes/sap_horizon_hcw/Table-parameters.css +0 -10
  1172. package/src/themes/sap_horizon_hcw/TableGroupRow-parameters.css +0 -7
  1173. package/src/themes/sap_horizon_hcw/TableRow-parameters.css +0 -5
  1174. package/src/themes/sap_horizon_hcw/WheelSlider-parameters.css +0 -17
  1175. package/src/themes/sap_horizon_hcw_exp/Badge-parameters.css +0 -43
  1176. package/src/themes/sap_horizon_hcw_exp/Table-parameters.css +0 -9
  1177. package/src/themes/sap_horizon_hcw_exp/TableGroupRow-parameters.css +0 -7
  1178. package/src/themes/sap_horizon_hcw_exp/TableRow-parameters.css +0 -5
  1179. package/src/themes/sap_horizon_hcw_exp/WheelSlider-parameters.css +0 -17
  1180. /package/dist/generated/themes/{Badge.css.d.ts → ListItemGroup.css.d.ts} +0 -0
  1181. /package/dist/generated/themes/{GroupHeaderListItem.css.d.ts → ListItemGroupHeader.css.d.ts} +0 -0
  1182. /package/dist/generated/themes/{Table.css.d.ts → SegmentedButtonItem.css.d.ts} +0 -0
  1183. /package/dist/generated/themes/{TableCell.css.d.ts → Tag.css.d.ts} +0 -0
  1184. /package/src/{GroupHeaderListItem.hbs → ListItemGroupHeader.hbs} +0 -0
  1185. /package/src/themes/base/{GroupHeaderListItem-parameters.css → ListItemGroupHeader-parameters.css} +0 -0
package/dist/Avatar.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import type { AccessibilityAttributes } from "@ui5/webcomponents-base/dist/types.js";
2
3
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
4
  import type { ITabbable } from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
4
5
  import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
@@ -9,6 +10,7 @@ import AvatarShape from "./types/AvatarShape.js";
9
10
  import AvatarColorScheme from "./types/AvatarColorScheme.js";
10
11
  import "@ui5/webcomponents-icons/dist/employee.js";
11
12
  import "@ui5/webcomponents-icons/dist/alert.js";
13
+ type AvatarAccessibilityAttributes = Pick<AccessibilityAttributes, "hasPopup">;
12
14
  /**
13
15
  * @class
14
16
  * ### Overview
@@ -131,11 +133,17 @@ declare class Avatar extends UI5Element implements ITabbable, IAvatarGroupItem {
131
133
  */
132
134
  accessibleName: string;
133
135
  /**
134
- * Defines the aria-haspopup value of the component when `interactive` property is `true`.
135
- * @since 1.0.0-rc.15
136
- * @protected
136
+ * Defines the additional accessibility attributes that will be applied to the component.
137
+ * The following field is supported:
138
+ *
139
+ * - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.
140
+ * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.
141
+ *
142
+ * @public
143
+ * @since 2.0.0
144
+ * @default {}
137
145
  */
138
- ariaHaspopup: string;
146
+ accessibilityAttributes: AvatarAccessibilityAttributes;
139
147
  forcedTabIndex: string;
140
148
  _hasImage: boolean;
141
149
  /**
@@ -150,7 +158,7 @@ declare class Avatar extends UI5Element implements ITabbable, IAvatarGroupItem {
150
158
  * Defines the optional badge that will be used for visual affordance.
151
159
  *
152
160
  * **Note:** While the slot allows for custom badges, to achieve
153
- * the Fiori design, please use `ui5-badge` with `ui5-icon`
161
+ * the Fiori design, you can use the `ui5-tag` with `ui5-icon`
154
162
  * in the corresponding `icon` slot, without text nodes.
155
163
  * @public
156
164
  * @since 1.7.0
@@ -175,7 +183,7 @@ declare class Avatar extends UI5Element implements ITabbable, IAvatarGroupItem {
175
183
  */
176
184
  get еffectiveBackgroundColor(): AvatarColorScheme;
177
185
  get _role(): "button" | "img";
178
- get _ariaHasPopup(): string | undefined;
186
+ get _ariaHasPopup(): ("dialog" | "menu" | "grid" | "listbox" | "tree") | undefined;
179
187
  get _fallbackIcon(): string;
180
188
  get _interactive(): boolean;
181
189
  get validInitials(): string | null;
@@ -195,6 +203,7 @@ declare class Avatar extends UI5Element implements ITabbable, IAvatarGroupItem {
195
203
  _onkeydown(e: KeyboardEvent): void;
196
204
  _onkeyup(e: KeyboardEvent): void;
197
205
  _fireClick(): void;
198
- _getAriaHasPopup(): string | undefined;
206
+ _getAriaHasPopup(): ("dialog" | "menu" | "grid" | "listbox" | "tree") | undefined;
199
207
  }
200
208
  export default Avatar;
209
+ export type { AvatarAccessibilityAttributes, };
package/dist/Avatar.js CHANGED
@@ -185,10 +185,11 @@ let Avatar = Avatar_1 = class Avatar extends UI5Element {
185
185
  this.fireEvent("click");
186
186
  }
187
187
  _getAriaHasPopup() {
188
- if (!this._interactive || this.ariaHaspopup === "") {
188
+ const ariaHaspopup = this.accessibilityAttributes.hasPopup;
189
+ if (!this._interactive || !ariaHaspopup) {
189
190
  return;
190
191
  }
191
- return this.ariaHaspopup;
192
+ return ariaHaspopup;
192
193
  }
193
194
  };
194
195
  __decorate([
@@ -225,8 +226,8 @@ __decorate([
225
226
  property()
226
227
  ], Avatar.prototype, "accessibleName", void 0);
227
228
  __decorate([
228
- property()
229
- ], Avatar.prototype, "ariaHaspopup", void 0);
229
+ property({ type: Object })
230
+ ], Avatar.prototype, "accessibilityAttributes", void 0);
230
231
  __decorate([
231
232
  property({ noAttribute: true })
232
233
  ], Avatar.prototype, "forcedTabIndex", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../src/Avatar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport 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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { IAvatarGroupItem } from \"./AvatarGroup.js\";\n// Template\nimport AvatarTemplate from \"./generated/templates/AvatarTemplate.lit.js\";\n\nimport { AVATAR_TOOLTIP } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport AvatarCss from \"./generated/themes/Avatar.css.js\";\n\nimport Icon from \"./Icon.js\";\nimport AvatarSize from \"./types/AvatarSize.js\";\nimport AvatarShape from \"./types/AvatarShape.js\";\nimport AvatarColorScheme from \"./types/AvatarColorScheme.js\";\n\n// Icon\nimport \"@ui5/webcomponents-icons/dist/employee.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\n\n/**\n * @class\n * ### Overview\n *\n * An image-like component that has different display options for representing images and icons\n * in different shapes and sizes, depending on the use case.\n *\n * The shape can be circular or square. There are several predefined sizes, as well as an option to\n * set a custom size.\n *\n * ### Keyboard Handling\n *\n * - [Space] / [Enter] or [Return] - Fires the `click` event if the `interactive` property is set to true.\n * - [Shift] - If [Space] is pressed, pressing [Shift] releases the component without triggering the click event.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/Avatar.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.6\n * @implements {IAvatarGroupItem}\n * @public\n */\n@customElement({\n\ttag: \"ui5-avatar\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\tstyles: AvatarCss,\n\ttemplate: AvatarTemplate,\n\tdependencies: [Icon],\n})\n/**\n * Fired on mouseup, space and enter if avatar is interactive\n *\n * **Note:** The event will not be fired if the `disabled`\n * property is set to `true`.\n * @private\n * @since 1.0.0-rc.11\n */\n@event(\"click\")\nclass Avatar extends UI5Element implements ITabbable, IAvatarGroupItem {\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines if the avatar is interactive (focusable and pressable).\n\t *\n\t * **Note:** This property won't have effect if the `disabled`\n\t * property is set to `true`.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tinteractive!: boolean;\n\n\t/**\n\t * Defines the name of the UI5 Icon, that will be displayed.\n\t *\n\t * **Note:** If `image` slot is provided, the property will be ignored.\n\t *\n\t * **Note:** You should import the desired icon first, then use its name as \"icon\".\n\t *\n\t * `import \"@ui5/webcomponents-icons/dist/{icon_name}.js\"`\n\t *\n\t * `<ui5-avatar icon=\"employee\">`\n\t *\n\t * **Note:** If no icon or an empty one is provided, by default the \"employee\" icon should be displayed.\n\t *\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines the name of the fallback icon, which should be displayed in the following cases:\n\t *\n\t * \t- If the initials are not valid (more than 3 letters, unsupported languages or empty initials).\n\t * \t- If there are three initials and they do not fit in the shape (e.g. WWW for some of the sizes).\n\t * \t- If the image src is wrong.\n\t *\n\t * **Note:** If not set, a default fallback icon \"employee\" is displayed.\n\t *\n\t * **Note:** You should import the desired icon first, then use its name as \"fallback-icon\".\n\t *\n\t * `import \"@ui5/webcomponents-icons/dist/{icon_name}.js\"`\n\t *\n\t * `<ui5-avatar fallback-icon=\"alert\">`\n\t *\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tfallbackIcon!: string;\n\n\t/**\n\t * Defines the displayed initials.\n\t *\n\t * Up to three Latin letters can be displayed as initials.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tinitials!: string;\n\n\t/**\n\t * Defines the shape of the component.\n\t * @default \"Circle\"\n\t * @public\n\t */\n\t@property({ type: AvatarShape, defaultValue: AvatarShape.Circle })\n\tshape!: `${AvatarShape}`;\n\n\t/**\n\t * Defines predefined size of the component.\n\t * @default \"S\"\n\t * @public\n\t */\n\t@property({ type: AvatarSize, defaultValue: AvatarSize.S })\n\tsize!: `${AvatarSize}`;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: AvatarSize, defaultValue: AvatarSize.S })\n\t_size!: AvatarSize;\n\n\t/**\n\t * Defines the background color of the desired image.\n\t * @default \"Accent6\"\n\t * @public\n\t */\n\t@property({ type: AvatarColorScheme, defaultValue: AvatarColorScheme.Accent6 })\n\tcolorScheme!: `${AvatarColorScheme}`;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: AvatarColorScheme, defaultValue: AvatarColorScheme.Accent6 })\n\t_colorScheme!: AvatarColorScheme;\n\n\t/**\n\t * Defines the text alternative of the component.\n\t * If not provided a default text alternative will be set, if present.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.7\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Defines the aria-haspopup value of the component when `interactive` property is `true`.\n\t * @since 1.0.0-rc.15\n\t * @protected\n\t */\n\t@property()\n\tariaHaspopup!: string;\n\n\t@property({ noAttribute: true })\n\tforcedTabIndex!: string;\n\n\t@property({ type: Boolean })\n\t_hasImage!: boolean;\n\n\t/**\n\t * Receives the desired `<img>` tag\n\t *\n\t * **Note:** If you experience flickering of the provided image, you can hide the component until it is being defined with the following CSS:\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\timage!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the optional badge that will be used for visual affordance.\n\t *\n\t * **Note:** While the slot allows for custom badges, to achieve\n\t * the Fiori design, please use `ui5-badge` with `ui5-icon`\n\t * in the corresponding `icon` slot, without text nodes.\n\t * @public\n\t * @since 1.7.0\n\t */\n\t@slot()\n\tbadge!: Array<HTMLElement>;\n\n\t_onclick?: (e: MouseEvent) => void;\n\tstatic i18nBundle: I18nBundle;\n\t_handleResizeBound: ResizeObserverCallback;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._handleResizeBound = this.handleResize.bind(this);\n\t}\n\n\tstatic async onDefine() {\n\t\tAvatar.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tget tabindex() {\n\t\treturn this.forcedTabIndex || (this._interactive ? \"0\" : \"-1\");\n\t}\n\n\t/**\n\t * Returns the effective avatar size.\n\t * @default \"S\"\n\t * @private\n\t */\n\tget effectiveSize(): AvatarSize {\n\t\t// we read the attribute, because the \"size\" property will always have a default value\n\t\treturn this.getAttribute(\"size\") as AvatarSize || this._size;\n\t}\n\n\t/**\n\t * Returns the effective background color.\n\t * @default \"Accent6\"\n\t * @private\n\t */\n\tget еffectiveBackgroundColor(): AvatarColorScheme {\n\t\t// we read the attribute, because the \"background-color\" property will always have a default value\n\t\treturn this.getAttribute(\"color-scheme\") as AvatarColorScheme || this._colorScheme;\n\t}\n\n\tget _role() {\n\t\treturn this._interactive ? \"button\" : \"img\";\n\t}\n\n\tget _ariaHasPopup() {\n\t\treturn this._getAriaHasPopup();\n\t}\n\n\tget _fallbackIcon() {\n\t\tif (this.fallbackIcon === \"\") {\n\t\t\tthis.fallbackIcon = \"employee\";\n\t\t}\n\n\t\treturn this.fallbackIcon;\n\t}\n\n\tget _interactive() {\n\t\treturn this.interactive && !this.disabled;\n\t}\n\n\tget validInitials() {\n\t\t// initials should consist of only 1,2 or 3 latin letters\n\t\tconst validInitials = /^[a-zA-Zà-üÀ-Ü]{1,3}$/,\n\t\t\tareInitialsValid = this.initials && validInitials.test(this.initials);\n\n\t\tif (areInitialsValid) {\n\t\t\treturn this.initials;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget accessibleNameText() {\n\t\tif (this.accessibleName) {\n\t\t\treturn this.accessibleName;\n\t\t}\n\n\t\treturn Avatar.i18nBundle.getText(AVATAR_TOOLTIP) || undefined;\n\t}\n\n\tget hasImage() {\n\t\tthis._hasImage = !!this.image.length;\n\t\treturn this._hasImage;\n\t}\n\n\tget initialsContainer(): HTMLObjectElement | null {\n\t\treturn this.getDomRef()!.querySelector(\".ui5-avatar-initials\");\n\t}\n\n\tget fallBackIconDomRef(): Icon | null {\n\t\treturn this.getDomRef()!.querySelector(\".ui5-avatar-icon-fallback\");\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._onclick = this._interactive ? this._onClickHandler.bind(this) : undefined;\n\t}\n\n\tasync onAfterRendering() {\n\t\tawait renderFinished();\n\t\tif (this.initials && !this.icon) {\n\t\t\tthis._checkInitials();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\n\t\tthis.initialsContainer && ResizeHandler.register(this.initialsContainer,\n\t\t\tthis._handleResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tthis.initialsContainer && ResizeHandler.deregister(this.initialsContainer,\n\t\t\tthis._handleResizeBound);\n\t}\n\n\thandleResize() {\n\t\tif (this.initials && !this.icon) {\n\t\t\tthis._checkInitials();\n\t\t}\n\t}\n\n\t_checkInitials() {\n\t\tconst avatar = this.getDomRef()!;\n\t\tconst avatarInitials = avatar.querySelector(\".ui5-avatar-initials\");\n\t\tconst validInitials = this.validInitials && avatarInitials && avatarInitials.scrollWidth <= avatar.scrollWidth;\n\n\t\tif (validInitials) {\n\t\t\tthis.showInitials();\n\t\t\treturn;\n\t\t}\n\t\tthis.showFallbackIcon();\n\t}\n\n\tshowFallbackIcon() {\n\t\tthis.initialsContainer?.classList.add(\"ui5-avatar-initials-hidden\");\n\t\tthis.fallBackIconDomRef?.classList.remove(\"ui5-avatar-fallback-icon-hidden\");\n\t}\n\n\tshowInitials() {\n\t\tthis.initialsContainer?.classList.remove(\"ui5-avatar-initials-hidden\");\n\t\tthis.fallBackIconDomRef?.classList.add(\"ui5-avatar-fallback-icon-hidden\");\n\t}\n\n\t_onClickHandler(e: MouseEvent) {\n\t\t// prevent the native event and fire custom event to ensure the noConfict \"ui5-click\" is fired\n\t\te.stopPropagation();\n\t\tthis._fireClick();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (!this._interactive) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._fireClick();\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault(); // prevent scrolling\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (this._interactive && !e.shiftKey && isSpace(e)) {\n\t\t\tthis._fireClick();\n\t\t}\n\t}\n\n\t_fireClick() {\n\t\tthis.fireEvent(\"click\");\n\t}\n\n\t_getAriaHasPopup() {\n\t\tif (!this._interactive || this.ariaHaspopup === \"\") {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.ariaHaspopup;\n\t}\n}\n\nAvatar.define();\n\nexport default Avatar;\n"]}
1
+ {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../src/Avatar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport 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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type { AccessibilityAttributes } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { IAvatarGroupItem } from \"./AvatarGroup.js\";\n// Template\nimport AvatarTemplate from \"./generated/templates/AvatarTemplate.lit.js\";\n\nimport { AVATAR_TOOLTIP } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport AvatarCss from \"./generated/themes/Avatar.css.js\";\n\nimport Icon from \"./Icon.js\";\nimport AvatarSize from \"./types/AvatarSize.js\";\nimport AvatarShape from \"./types/AvatarShape.js\";\nimport AvatarColorScheme from \"./types/AvatarColorScheme.js\";\n\n// Icon\nimport \"@ui5/webcomponents-icons/dist/employee.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\n\ntype AvatarAccessibilityAttributes = Pick<AccessibilityAttributes, \"hasPopup\">;\n\n/**\n * @class\n * ### Overview\n *\n * An image-like component that has different display options for representing images and icons\n * in different shapes and sizes, depending on the use case.\n *\n * The shape can be circular or square. There are several predefined sizes, as well as an option to\n * set a custom size.\n *\n * ### Keyboard Handling\n *\n * - [Space] / [Enter] or [Return] - Fires the `click` event if the `interactive` property is set to true.\n * - [Shift] - If [Space] is pressed, pressing [Shift] releases the component without triggering the click event.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/Avatar.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.6\n * @implements {IAvatarGroupItem}\n * @public\n */\n@customElement({\n\ttag: \"ui5-avatar\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\tstyles: AvatarCss,\n\ttemplate: AvatarTemplate,\n\tdependencies: [Icon],\n})\n/**\n * Fired on mouseup, space and enter if avatar is interactive\n *\n * **Note:** The event will not be fired if the `disabled`\n * property is set to `true`.\n * @private\n * @since 1.0.0-rc.11\n */\n@event(\"click\")\nclass Avatar extends UI5Element implements ITabbable, IAvatarGroupItem {\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines if the avatar is interactive (focusable and pressable).\n\t *\n\t * **Note:** This property won't have effect if the `disabled`\n\t * property is set to `true`.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tinteractive!: boolean;\n\n\t/**\n\t * Defines the name of the UI5 Icon, that will be displayed.\n\t *\n\t * **Note:** If `image` slot is provided, the property will be ignored.\n\t *\n\t * **Note:** You should import the desired icon first, then use its name as \"icon\".\n\t *\n\t * `import \"@ui5/webcomponents-icons/dist/{icon_name}.js\"`\n\t *\n\t * `<ui5-avatar icon=\"employee\">`\n\t *\n\t * **Note:** If no icon or an empty one is provided, by default the \"employee\" icon should be displayed.\n\t *\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines the name of the fallback icon, which should be displayed in the following cases:\n\t *\n\t * \t- If the initials are not valid (more than 3 letters, unsupported languages or empty initials).\n\t * \t- If there are three initials and they do not fit in the shape (e.g. WWW for some of the sizes).\n\t * \t- If the image src is wrong.\n\t *\n\t * **Note:** If not set, a default fallback icon \"employee\" is displayed.\n\t *\n\t * **Note:** You should import the desired icon first, then use its name as \"fallback-icon\".\n\t *\n\t * `import \"@ui5/webcomponents-icons/dist/{icon_name}.js\"`\n\t *\n\t * `<ui5-avatar fallback-icon=\"alert\">`\n\t *\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tfallbackIcon!: string;\n\n\t/**\n\t * Defines the displayed initials.\n\t *\n\t * Up to three Latin letters can be displayed as initials.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tinitials!: string;\n\n\t/**\n\t * Defines the shape of the component.\n\t * @default \"Circle\"\n\t * @public\n\t */\n\t@property({ type: AvatarShape, defaultValue: AvatarShape.Circle })\n\tshape!: `${AvatarShape}`;\n\n\t/**\n\t * Defines predefined size of the component.\n\t * @default \"S\"\n\t * @public\n\t */\n\t@property({ type: AvatarSize, defaultValue: AvatarSize.S })\n\tsize!: `${AvatarSize}`;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: AvatarSize, defaultValue: AvatarSize.S })\n\t_size!: AvatarSize;\n\n\t/**\n\t * Defines the background color of the desired image.\n\t * @default \"Accent6\"\n\t * @public\n\t */\n\t@property({ type: AvatarColorScheme, defaultValue: AvatarColorScheme.Accent6 })\n\tcolorScheme!: `${AvatarColorScheme}`;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: AvatarColorScheme, defaultValue: AvatarColorScheme.Accent6 })\n\t_colorScheme!: AvatarColorScheme;\n\n\t/**\n\t * Defines the text alternative of the component.\n\t * If not provided a default text alternative will be set, if present.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.7\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Defines the additional accessibility attributes that will be applied to the component.\n\t * The following field is supported:\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t *\n\t * @public\n\t * @since 2.0.0\n\t * @default {}\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes!: AvatarAccessibilityAttributes;\n\n\t@property({ noAttribute: true })\n\tforcedTabIndex!: string;\n\n\t@property({ type: Boolean })\n\t_hasImage!: boolean;\n\n\t/**\n\t * Receives the desired `<img>` tag\n\t *\n\t * **Note:** If you experience flickering of the provided image, you can hide the component until it is being defined with the following CSS:\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\timage!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the optional badge that will be used for visual affordance.\n\t *\n\t * **Note:** While the slot allows for custom badges, to achieve\n\t * the Fiori design, you can use the `ui5-tag` with `ui5-icon`\n\t * in the corresponding `icon` slot, without text nodes.\n\t * @public\n\t * @since 1.7.0\n\t */\n\t@slot()\n\tbadge!: Array<HTMLElement>;\n\n\t_onclick?: (e: MouseEvent) => void;\n\tstatic i18nBundle: I18nBundle;\n\t_handleResizeBound: ResizeObserverCallback;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._handleResizeBound = this.handleResize.bind(this);\n\t}\n\n\tstatic async onDefine() {\n\t\tAvatar.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tget tabindex() {\n\t\treturn this.forcedTabIndex || (this._interactive ? \"0\" : \"-1\");\n\t}\n\n\t/**\n\t * Returns the effective avatar size.\n\t * @default \"S\"\n\t * @private\n\t */\n\tget effectiveSize(): AvatarSize {\n\t\t// we read the attribute, because the \"size\" property will always have a default value\n\t\treturn this.getAttribute(\"size\") as AvatarSize || this._size;\n\t}\n\n\t/**\n\t * Returns the effective background color.\n\t * @default \"Accent6\"\n\t * @private\n\t */\n\tget еffectiveBackgroundColor(): AvatarColorScheme {\n\t\t// we read the attribute, because the \"background-color\" property will always have a default value\n\t\treturn this.getAttribute(\"color-scheme\") as AvatarColorScheme || this._colorScheme;\n\t}\n\n\tget _role() {\n\t\treturn this._interactive ? \"button\" : \"img\";\n\t}\n\n\tget _ariaHasPopup() {\n\t\treturn this._getAriaHasPopup();\n\t}\n\n\tget _fallbackIcon() {\n\t\tif (this.fallbackIcon === \"\") {\n\t\t\tthis.fallbackIcon = \"employee\";\n\t\t}\n\n\t\treturn this.fallbackIcon;\n\t}\n\n\tget _interactive() {\n\t\treturn this.interactive && !this.disabled;\n\t}\n\n\tget validInitials() {\n\t\t// initials should consist of only 1,2 or 3 latin letters\n\t\tconst validInitials = /^[a-zA-Zà-üÀ-Ü]{1,3}$/,\n\t\t\tareInitialsValid = this.initials && validInitials.test(this.initials);\n\n\t\tif (areInitialsValid) {\n\t\t\treturn this.initials;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget accessibleNameText() {\n\t\tif (this.accessibleName) {\n\t\t\treturn this.accessibleName;\n\t\t}\n\n\t\treturn Avatar.i18nBundle.getText(AVATAR_TOOLTIP) || undefined;\n\t}\n\n\tget hasImage() {\n\t\tthis._hasImage = !!this.image.length;\n\t\treturn this._hasImage;\n\t}\n\n\tget initialsContainer(): HTMLObjectElement | null {\n\t\treturn this.getDomRef()!.querySelector(\".ui5-avatar-initials\");\n\t}\n\n\tget fallBackIconDomRef(): Icon | null {\n\t\treturn this.getDomRef()!.querySelector(\".ui5-avatar-icon-fallback\");\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._onclick = this._interactive ? this._onClickHandler.bind(this) : undefined;\n\t}\n\n\tasync onAfterRendering() {\n\t\tawait renderFinished();\n\t\tif (this.initials && !this.icon) {\n\t\t\tthis._checkInitials();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\n\t\tthis.initialsContainer && ResizeHandler.register(this.initialsContainer,\n\t\t\tthis._handleResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tthis.initialsContainer && ResizeHandler.deregister(this.initialsContainer,\n\t\t\tthis._handleResizeBound);\n\t}\n\n\thandleResize() {\n\t\tif (this.initials && !this.icon) {\n\t\t\tthis._checkInitials();\n\t\t}\n\t}\n\n\t_checkInitials() {\n\t\tconst avatar = this.getDomRef()!;\n\t\tconst avatarInitials = avatar.querySelector(\".ui5-avatar-initials\");\n\t\tconst validInitials = this.validInitials && avatarInitials && avatarInitials.scrollWidth <= avatar.scrollWidth;\n\n\t\tif (validInitials) {\n\t\t\tthis.showInitials();\n\t\t\treturn;\n\t\t}\n\t\tthis.showFallbackIcon();\n\t}\n\n\tshowFallbackIcon() {\n\t\tthis.initialsContainer?.classList.add(\"ui5-avatar-initials-hidden\");\n\t\tthis.fallBackIconDomRef?.classList.remove(\"ui5-avatar-fallback-icon-hidden\");\n\t}\n\n\tshowInitials() {\n\t\tthis.initialsContainer?.classList.remove(\"ui5-avatar-initials-hidden\");\n\t\tthis.fallBackIconDomRef?.classList.add(\"ui5-avatar-fallback-icon-hidden\");\n\t}\n\n\t_onClickHandler(e: MouseEvent) {\n\t\t// prevent the native event and fire custom event to ensure the noConfict \"ui5-click\" is fired\n\t\te.stopPropagation();\n\t\tthis._fireClick();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (!this._interactive) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._fireClick();\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault(); // prevent scrolling\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (this._interactive && !e.shiftKey && isSpace(e)) {\n\t\t\tthis._fireClick();\n\t\t}\n\t}\n\n\t_fireClick() {\n\t\tthis.fireEvent(\"click\");\n\t}\n\n\t_getAriaHasPopup() {\n\t\tconst ariaHaspopup = this.accessibilityAttributes.hasPopup;\n\n\t\tif (!this._interactive || !ariaHaspopup) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn ariaHaspopup;\n\t}\n}\n\nAvatar.define();\n\nexport default Avatar;\nexport type {\n\tAvatarAccessibilityAttributes,\n};\n"]}
@@ -2,6 +2,7 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
3
3
  import type { ITabbable } from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
4
4
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
5
+ import type { AccessibilityAttributes } from "@ui5/webcomponents-base/dist/types.js";
5
6
  import Button from "./Button.js";
6
7
  import AvatarSize from "./types/AvatarSize.js";
7
8
  import AvatarGroupType from "./types/AvatarGroupType.js";
@@ -17,6 +18,7 @@ interface IAvatarGroupItem extends HTMLElement, ITabbable {
17
18
  effectiveSize: AvatarSize;
18
19
  interactive: boolean;
19
20
  }
21
+ type AvatarGroupAccessibilityAttributes = Pick<AccessibilityAttributes, "hasPopup">;
20
22
  type AvatarGroupClickEventDetail = {
21
23
  targetRef: HTMLElement;
22
24
  overflowButtonClicked: boolean;
@@ -90,14 +92,17 @@ declare class AvatarGroup extends UI5Element {
90
92
  */
91
93
  type: `${AvatarGroupType}`;
92
94
  /**
93
- * Defines the aria-haspopup value of the component on:
95
+ * Defines the additional accessibility attributes that will be applied to the component.
96
+ * The following field is supported:
94
97
  *
95
- * - the whole container when `type` property is `Group`
96
- * - the default "More" overflow button when `type` is `Individual`
97
- * @since 1.0.0-rc.15
98
- * @protected
98
+ * - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.
99
+ * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.
100
+ *
101
+ * @public
102
+ * @since 2.0.0
103
+ * @default {}
99
104
  */
100
- ariaHaspopup: string;
105
+ accessibilityAttributes: AvatarGroupAccessibilityAttributes;
101
106
  /**
102
107
  * @private
103
108
  */
@@ -144,9 +149,9 @@ declare class AvatarGroup extends UI5Element {
144
149
  get _customOverflowButton(): IButton | undefined;
145
150
  get _ariaLabelText(): string;
146
151
  get _overflowButtonAriaLabelText(): string | undefined;
147
- get _containerAriaHasPopup(): string | undefined;
152
+ get _containerAriaHasPopup(): ("dialog" | "menu" | "grid" | "listbox" | "tree") | undefined;
148
153
  get _overflowButtonAccAttributes(): {
149
- hasPopup: string | undefined;
154
+ hasPopup: ("dialog" | "menu" | "grid" | "listbox" | "tree") | undefined;
150
155
  };
151
156
  get _role(): "button" | "group";
152
157
  get _hiddenStartIndex(): number;
@@ -206,7 +211,7 @@ declare class AvatarGroup extends UI5Element {
206
211
  _overflowItems(): void;
207
212
  _getNextBackgroundColor(): number;
208
213
  _setHiddenItems(hiddenItems: number): void;
209
- _getAriaHasPopup(): string | undefined;
214
+ _getAriaHasPopup(): ("dialog" | "menu" | "grid" | "listbox" | "tree") | undefined;
210
215
  }
211
216
  export default AvatarGroup;
212
- export type { AvatarGroupClickEventDetail, IAvatarGroupItem, };
217
+ export type { AvatarGroupClickEventDetail, AvatarGroupAccessibilityAttributes, IAvatarGroupItem, };
@@ -15,6 +15,7 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
15
15
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
16
16
  import event from "@ui5/webcomponents-base/dist/decorators/event.js";
17
17
  import { isEnter, isSpace, } from "@ui5/webcomponents-base/dist/Keys.js";
18
+ import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
18
19
  import Button from "./Button.js";
19
20
  import AvatarSize from "./types/AvatarSize.js";
20
21
  import AvatarGroupType from "./types/AvatarGroupType.js";
@@ -243,6 +244,9 @@ let AvatarGroup = AvatarGroup_1 = class AvatarGroup extends UI5Element {
243
244
  this._prepareAvatars();
244
245
  }
245
246
  onEnterDOM() {
247
+ if (isDesktop()) {
248
+ this.setAttribute("desktop", "");
249
+ }
246
250
  ResizeHandler.register(this, this._onResizeHandler);
247
251
  }
248
252
  onExitDOM() {
@@ -387,18 +391,15 @@ let AvatarGroup = AvatarGroup_1 = class AvatarGroup extends UI5Element {
387
391
  }
388
392
  }
389
393
  _getAriaHasPopup() {
390
- if (this.ariaHaspopup === "") {
391
- return;
392
- }
393
- return this.ariaHaspopup;
394
+ return this.accessibilityAttributes.hasPopup;
394
395
  }
395
396
  };
396
397
  __decorate([
397
398
  property({ type: AvatarGroupType, defaultValue: AvatarGroupType.Group })
398
399
  ], AvatarGroup.prototype, "type", void 0);
399
400
  __decorate([
400
- property()
401
- ], AvatarGroup.prototype, "ariaHaspopup", void 0);
401
+ property({ type: Object })
402
+ ], AvatarGroup.prototype, "accessibilityAttributes", void 0);
402
403
  __decorate([
403
404
  property({ noAttribute: true })
404
405
  ], AvatarGroup.prototype, "_overflowButtonText", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroup.js","sourceRoot":"","sources":["../src/AvatarGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\n\nimport {\n\tisEnter,\n\tisSpace,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Button from \"./Button.js\";\nimport AvatarSize from \"./types/AvatarSize.js\";\nimport AvatarGroupType from \"./types/AvatarGroupType.js\";\nimport AvatarColorScheme from \"./types/AvatarColorScheme.js\";\nimport type { IButton } from \"./Button.js\";\n\nimport {\n\tAVATAR_GROUP_DISPLAYED_HIDDEN_LABEL,\n\tAVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL,\n\tAVATAR_GROUP_ARIA_LABEL_INDIVIDUAL,\n\tAVATAR_GROUP_ARIA_LABEL_GROUP,\n\tAVATAR_GROUP_MOVE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport AvatarGroupCss from \"./generated/themes/AvatarGroup.css.js\";\n\n// Template\nimport AvatarGroupTemplate from \"./generated/templates/AvatarGroupTemplate.lit.js\";\n\n/**\n * Interface for components that represent an avatar and may be slotted in numerous higher-order components such as `ui5-avatar-group`\n * @public\n */\ninterface IAvatarGroupItem extends HTMLElement, ITabbable {\n\tеffectiveBackgroundColor: AvatarColorScheme;\n\tsize: `${AvatarSize}`;\n\teffectiveSize: AvatarSize;\n\tinteractive: boolean;\n}\n\nconst OVERFLOW_BTN_CLASS = \"ui5-avatar-group-overflow-btn\";\nconst AVATAR_GROUP_OVERFLOW_BTN_SELECTOR = `.${OVERFLOW_BTN_CLASS}`;\n\n// based on RTL/LTR a margin-left/right is set respectfully\nconst offsets = {\n\t[AvatarSize.XS]: {\n\t\t[AvatarGroupType.Individual]: \"0.0625rem\",\n\t\t[AvatarGroupType.Group]: \"-0.75rem\",\n\t},\n\t[AvatarSize.S]: {\n\t\t[AvatarGroupType.Individual]: \"0.125rem\",\n\t\t[AvatarGroupType.Group]: \"-1.25rem\",\n\t},\n\t[AvatarSize.M]: {\n\t\t[AvatarGroupType.Individual]: \"0.125rem\",\n\t\t[AvatarGroupType.Group]: \"-1.625rem\",\n\t},\n\t[AvatarSize.L]: {\n\t\t[AvatarGroupType.Individual]: \"0.125rem\",\n\t\t[AvatarGroupType.Group]: \" -2rem\",\n\t},\n\t[AvatarSize.XL]: {\n\t\t[AvatarGroupType.Individual]: \"0.25rem\",\n\t\t[AvatarGroupType.Group]: \"-2.75rem\",\n\t},\n};\n\ntype AvatarGroupClickEventDetail = {\n\ttargetRef: HTMLElement,\n\toverflowButtonClicked: boolean,\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * Displays a group of avatars arranged horizontally. It is useful to visually\n * showcase a group of related avatars, such as, project team members or employees.\n *\n * The component allows you to display the avatars in different sizes,\n * depending on your use case.\n *\n * The `AvatarGroup` component has two group types:\n *\n * - `Group` type: The avatars are displayed as partially overlapped on\n * top of each other and the entire group has one click/tap area.\n * - `Individual` type: The avatars are displayed side-by-side and each\n * avatar has its own click/tap area.\n *\n * ### Usage\n *\n * Use the `AvatarGroup` if:\n *\n * - You want to display a group of avatars.\n * - You want to display several avatars which have something in common.\n *\n * Do not use the `AvatarGroup` if:\n *\n * - You want to display a single avatar.\n * - You want to display a gallery for simple images.\n * - You want to use it for other visual content than avatars.\n *\n * ### Responsive Behavior\n *\n * When the available space is less than the width required to display all avatars,\n * an overflow visualization appears as a button placed at the end with the same shape\n * and size as the avatars. The visualization displays the number of avatars that have overflowed\n * and are not currently visible.\n *\n * ### Keyboard Handling\n * The component provides advanced keyboard handling.\n * When focused, the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *\n * `type` Individual:\n *\n * - [Tab] - Move focus to the overflow button\n * - [Left] - Navigate one avatar to the left\n * - [Right] - Navigate one avatar to the right\n * - [Home] - Navigate to the first avatar\n * - [End] - Navigate to the last avatar\n * - [Space] / [Enter] or [Return] - Trigger `ui5-click` event\n *\n * `type` Group:\n *\n * - [Tab] - Move focus to the next interactive element after the component\n * - [Space] / [Enter] or [Return] - Trigger `ui5-click` event\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.11\n * @public\n */\n\n@customElement({\n\ttag: \"ui5-avatar-group\",\n\trenderer: litRender,\n\ttemplate: AvatarGroupTemplate,\n\tstyles: AvatarGroupCss,\n\tdependencies: [Button],\n})\n/**\n * Fired when the component is activated either with a\n * click/tap or by using the Enter or Space key.\n * @param {HTMLElement} targetRef The DOM ref of the clicked item.\n * @param {boolean} overflowButtonClicked indicates if the overflow button is clicked\n * @public\n * @since 1.0.0-rc.11\n */\n@event<AvatarGroupClickEventDetail>(\"click\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\ttargetRef: { type: HTMLElement },\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\toverflowButtonClicked: { type: Boolean },\n\t},\n})\n\n/**\n * Fired when the count of visible `ui5-avatar` elements in the\n * component has changed\n * @public\n * @since 1.0.0-rc.13\n */\n@event(\"overflow\")\nclass AvatarGroup extends UI5Element {\n\t/**\n\t * Defines the mode of the `AvatarGroup`.\n\t * @default \"Group\"\n\t * @public\n\t */\n\t@property({ type: AvatarGroupType, defaultValue: AvatarGroupType.Group })\n\ttype!: `${AvatarGroupType}`;\n\n\t/**\n\t * Defines the aria-haspopup value of the component on:\n\t *\n\t * - the whole container when `type` property is `Group`\n\t * - the default \"More\" overflow button when `type` is `Individual`\n\t * @since 1.0.0-rc.15\n\t * @protected\n\t */\n\t@property()\n\tariaHaspopup!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_overflowButtonText!: string;\n\n\t/**\n\t * Defines the items of the component. Use the `ui5-avatar` component as an item.\n\t *\n\t * **Note:** The UX guidelines recommends using avatars with \"Circle\" shape.\n\t *\n\t * Moreover, if you use avatars with \"Square\" shape, there will be visual inconsistency\n\t * as the built-in overflow action has \"Circle\" shape.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\titems!: Array<IAvatarGroupItem>;\n\n\t/**\n\t * Defines the overflow button of the component.\n\t *\n\t * **Note:** We recommend using the `ui5-button` component.\n\t *\n\t * **Note:** If this slot is not used, the component will display the built-in overflow button.\n\t * @public\n\t * @since 1.0.0-rc.13\n\t */\n\t@slot()\n\toverflowButton!: Array<IButton>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_onResizeHandler: () => void;\n\t_colorIndex: number;\n\t_hiddenItems: number;\n\t_itemNavigation: ItemNavigation;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => {\n\t\t\t\treturn this._isGroup ? [] : this.items.slice(0, this._hiddenStartIndex);\n\t\t\t},\n\t\t});\n\t\tthis._colorIndex = 0;\n\t\tthis._hiddenItems = 0;\n\t\tthis._onResizeHandler = this._onResize.bind(this);\n\t}\n\n\tstatic async onDefine() {\n\t\tAvatarGroup.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\t/**\n\t * Returns an array containing the `ui5-avatar` instances that are currently not displayed due to lack of space.\n\t * @default []\n\t * @public\n\t */\n\tget hiddenItems(): IAvatarGroupItem[] {\n\t\treturn this.items.slice(this._hiddenStartIndex);\n\t}\n\n\t/**\n\t * Returns an array containing the `AvatarColorScheme` values that correspond to the avatars in the component.\n\t * @default []\n\t * @public\n\t */\n\tget colorScheme(): AvatarColorScheme[] {\n\t\treturn this.items.map(avatar => avatar.еffectiveBackgroundColor);\n\t}\n\n\tget _customOverflowButton() {\n\t\treturn this.overflowButton.length ? this.overflowButton[0] : undefined;\n\t}\n\n\tget _ariaLabelText() {\n\t\tconst hiddenItemsCount = this.hiddenItems.length;\n\t\tconst typeLabelKey = this._isGroup ? AVATAR_GROUP_ARIA_LABEL_GROUP : AVATAR_GROUP_ARIA_LABEL_INDIVIDUAL;\n\n\t\t// avatar type label\n\t\tlet text = AvatarGroup.i18nBundle.getText(typeLabelKey);\n\n\t\t// add displayed-hidden avatars label\n\t\ttext += ` ${AvatarGroup.i18nBundle.getText(AVATAR_GROUP_DISPLAYED_HIDDEN_LABEL, this._itemsCount - hiddenItemsCount, hiddenItemsCount)}`;\n\n\t\tif (this._isGroup) {\n\t\t\t// the container role is \"button\", add the message for complete list activation\n\t\t\ttext += ` ${AvatarGroup.i18nBundle.getText(AVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL)}`;\n\t\t} else {\n\t\t\t// the container role is \"group\", add the \"how to navigate\" message\n\t\t\ttext += ` ${AvatarGroup.i18nBundle.getText(AVATAR_GROUP_MOVE)}`;\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tget _overflowButtonAriaLabelText() {\n\t\treturn this._isGroup ? undefined : AvatarGroup.i18nBundle.getText(AVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL);\n\t}\n\n\tget _containerAriaHasPopup() {\n\t\treturn this._isGroup ? this._getAriaHasPopup() : undefined;\n\t}\n\n\tget _overflowButtonAccAttributes() {\n\t\treturn {\n\t\t\thasPopup: this._isGroup ? undefined : this._getAriaHasPopup(),\n\t\t};\n\t}\n\n\tget _role() {\n\t\treturn this._isGroup ? \"button\" : \"group\";\n\t}\n\n\tget _hiddenStartIndex() {\n\t\treturn this._itemsCount - this._hiddenItems;\n\t}\n\n\tget _overflowBtnHidden() {\n\t\treturn this._hiddenItems === 0;\n\t}\n\n\tget _isGroup() {\n\t\treturn this.type === AvatarGroupType.Group;\n\t}\n\n\tget _itemsCount() {\n\t\treturn this.items.length;\n\t}\n\n\tget _groupTabIndex() {\n\t\treturn this._isGroup ? \"0\" : \"-1\";\n\t}\n\n\tget _overflowButton() {\n\t\treturn this.shadowRoot!.querySelector<Button>(AVATAR_GROUP_OVERFLOW_BTN_SELECTOR);\n\t}\n\n\t/**\n\t * Return the effective overflow button width\n\t * Differences are that when in \"Group\" type the button is offset and overlaps the avatars\n\t *\n\t * 1) In case of \"Group\", (LTR/RTL aware) button width is qual to second item offset left/right\n\t * 2) In case of \"Individual\" group type width is directly taken from button element\n\t * @private\n\t */\n\tget _overflowButtonEffectiveWidth() {\n\t\tconst button = this._customOverflowButton ? this._customOverflowButton : this._overflowButton;\n\t\t// if in \"Group\" mode overflow button size is equal to the offset from second item\n\n\t\tif (!button) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif (this._isGroup) {\n\t\t\tlet item: HTMLElement = this.items[1];\n\t\t\tconst ltrEffectiveWidth = item.offsetLeft - this.offsetLeft;\n\n\t\t\t// in some cases when second avatar is overflowed the offset of the button is the right one\n\t\t\tif (!item || item.hidden) {\n\t\t\t\titem = button;\n\t\t\t}\n\n\t\t\treturn this.effectiveDir === \"rtl\" ? this._getWidthToItem(item) : ltrEffectiveWidth;\n\t\t}\n\n\t\treturn button.offsetWidth;\n\t}\n\n\tget firstAvatarSize() {\n\t\treturn this.items[0].size;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\toverflowButton: {\n\t\t\t\t\"ui5-avatar-group-overflow-btn\": true,\n\t\t\t\t\"ui5-avatar-group-overflow-btn-xs\": this.firstAvatarSize === AvatarSize.XS,\n\t\t\t\t\"ui5-avatar-group-overflow-btn-s\": this.firstAvatarSize === AvatarSize.S,\n\t\t\t\t\"ui5-avatar-group-overflow-btn-m\": this.firstAvatarSize === AvatarSize.M,\n\t\t\t\t\"ui5-avatar-group-overflow-btn-l\": this.firstAvatarSize === AvatarSize.L,\n\t\t\t\t\"ui5-avatar-group-overflow-btn-xl\": this.firstAvatarSize === AvatarSize.XL,\n\t\t\t},\n\t\t};\n\t}\n\n\tonAfterRendering() {\n\t\tthis._overflowItems();\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._customOverflowButton) {\n\t\t\tthis._customOverflowButton.nonInteractive = this._isGroup;\n\t\t}\n\n\t\tthis._prepareAvatars();\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResizeHandler);\n\t}\n\n\t_onResize() {\n\t\tthis._overflowItems();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\t// when type is \"Individual\" the ui5-avatar and ui5-button both\n\t\t// fire \"click\" event when SPACE or ENTER are pressed and\n\t\t// AvatarGroup \"click\" is fired in their handlers (_onClick, _onUI5Click).\n\t\tif (this._isGroup) {\n\t\t\tif (isEnter(e)) {\n\t\t\t\tthis._fireGroupEvent(e.target as HTMLElement);\n\t\t\t} else if (isSpace(e)) {\n\t\t\t\t// prevent scrolling\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (!e.shiftKey && isSpace(e) && this._isGroup) {\n\t\t\tthis._fireGroupEvent(e.target as HTMLElement);\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_fireGroupEvent(targetRef: HTMLElement) {\n\t\tconst isOverflowButtonClicked = targetRef.classList.contains(OVERFLOW_BTN_CLASS) || targetRef === this._customOverflowButton;\n\n\t\tthis.fireEvent<AvatarGroupClickEventDetail>(\"click\", {\n\t\t\ttargetRef,\n\t\t\toverflowButtonClicked: isOverflowButtonClicked,\n\t\t});\n\t}\n\n\t_onClick(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\t// no matter the value of noConflict, the ui5-button and the group container (div) always fire a native click event\n\t\tconst isButton = target.hasAttribute(\"ui5-button\");\n\t\te.stopPropagation();\n\n\t\tif (this._isGroup || isButton) {\n\t\t\tthis._fireGroupEvent(target);\n\t\t}\n\t}\n\n\t_onUI5Click(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\t// when noConflict=true only ui5-avatar will fire ui5-click event\n\t\tconst isAvatar = target.hasAttribute(\"ui5-avatar\");\n\t\te.stopPropagation();\n\n\t\tif (isAvatar) {\n\t\t\tthis._fireGroupEvent(target);\n\t\t}\n\t}\n\n\t/**\n\t * Modifies avatars to the needs of avatar group properties. Respects already set size and background color.\n\t * Set the margins (offsets) based on RTL/LTR.\n\t * @private\n\t */\n\t_prepareAvatars() {\n\t\tthis._colorIndex = 0;\n\n\t\tthis.items.forEach((avatar, index) => {\n\t\t\tconst colorIndex = this._getNextBackgroundColor();\n\t\t\tavatar.interactive = !this._isGroup;\n\n\t\t\tif (!avatar.getAttribute(\"_color-scheme\")) {\n\t\t\t\t// AvatarGroup respects colors set to ui5-avatar\n\t\t\t\tavatar.setAttribute(\"_color-scheme\", AvatarColorScheme[`Accent${colorIndex}` as keyof typeof AvatarColorScheme]);\n\t\t\t}\n\n\t\t\t// last avatar should not be offset as it breaks the container width and focus styles are no set correctly\n\t\t\tif (index !== this._itemsCount - 1 || this._customOverflowButton) {\n\t\t\t\t// based on RTL the browser automatically sets left or right margin to avatars\n\t\t\t\tavatar.style.marginInlineEnd = offsets[avatar.effectiveSize][this.type];\n\t\t\t}\n\t\t});\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tthis._itemNavigation.setCurrentItem(e.target as IAvatarGroupItem);\n\t}\n\n\t/**\n\t * Returns the total width to item excluding the item width\n\t * RTL/LTR aware\n\t * @private\n\t * @param item\n\t */\n\t_getWidthToItem(item: HTMLElement) {\n\t\tconst isRTL = this.effectiveDir === \"rtl\";\n\t\tconst ltrWidthToItem = item.offsetLeft - this.offsetLeft;\n\n\t\tif (isRTL) {\n\t\t\tconst itemOffsetParent = item.offsetParent as HTMLElement;\n\n\t\t\t// in RTL the total width is equal to difference of the parent container width and\n\t\t\t// how much is the item offset to the left minus its offsetWidth\n\n\t\t\tif (!itemOffsetParent) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\treturn itemOffsetParent.offsetWidth - item.offsetLeft - item.offsetWidth;\n\t\t}\n\n\t\treturn ltrWidthToItem;\n\t}\n\n\t/**\n\t * Overflows items that were not able to fit the container\n\t * @private\n\t */\n\t_overflowItems() {\n\t\tif (this.items.length < 2) {\n\t\t\t// no need to overflow avatars\n\t\t\treturn;\n\t\t}\n\n\t\tlet hiddenItems = 0;\n\n\t\tfor (let index = 0; index < this._itemsCount; index++) {\n\t\t\tconst item: IAvatarGroupItem = this.items[index];\n\n\t\t\t// show item to determine if it will fit the new container size\n\t\t\titem.hidden = false;\n\n\t\t\t// container width to current item + item width (avatar)\n\t\t\t// used to determine whether the following items will fit the container or not\n\t\t\tlet totalWidth = this._getWidthToItem(item) + item.offsetWidth;\n\n\t\t\tif (index !== this._itemsCount - 1 || this._customOverflowButton) {\n\t\t\t\ttotalWidth += this._overflowButtonEffectiveWidth;\n\t\t\t}\n\n\t\t\tif (totalWidth > this.offsetWidth) {\n\t\t\t\thiddenItems = this._itemsCount - index;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// hide the items that did not fit the container size\n\t\tthis._setHiddenItems(hiddenItems);\n\t}\n\n\t_getNextBackgroundColor() {\n\t\t// counter is to automatically assign background colors to avatars, `Accent10` is the highest color value\n\t\tif (++this._colorIndex > 10) {\n\t\t\tthis._colorIndex = 1;\n\t\t}\n\t\treturn this._colorIndex;\n\t}\n\n\t_setHiddenItems(hiddenItems: number) {\n\t\tconst shouldFireEvent = this._hiddenItems !== hiddenItems;\n\n\t\tthis._hiddenItems = hiddenItems;\n\n\t\tthis.items.forEach((item, index) => {\n\t\t\titem.hidden = index >= this._hiddenStartIndex;\n\t\t});\n\n\t\tthis._overflowButtonText = `+${hiddenItems > 99 ? 99 : hiddenItems}`;\n\n\t\tif (shouldFireEvent) {\n\t\t\tthis.fireEvent(\"overflow\");\n\t\t}\n\t}\n\n\t_getAriaHasPopup() {\n\t\tif (this.ariaHaspopup === \"\") {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.ariaHaspopup;\n\t}\n}\n\nAvatarGroup.define();\n\nexport default AvatarGroup;\nexport type {\n\tAvatarGroupClickEventDetail,\n\tIAvatarGroupItem,\n};\n"]}
1
+ {"version":3,"file":"AvatarGroup.js","sourceRoot":"","sources":["../src/AvatarGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport type { AccessibilityAttributes } from \"@ui5/webcomponents-base/dist/types.js\";\n\nimport {\n\tisEnter,\n\tisSpace,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Button from \"./Button.js\";\nimport AvatarSize from \"./types/AvatarSize.js\";\nimport AvatarGroupType from \"./types/AvatarGroupType.js\";\nimport AvatarColorScheme from \"./types/AvatarColorScheme.js\";\nimport type { IButton } from \"./Button.js\";\n\nimport {\n\tAVATAR_GROUP_DISPLAYED_HIDDEN_LABEL,\n\tAVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL,\n\tAVATAR_GROUP_ARIA_LABEL_INDIVIDUAL,\n\tAVATAR_GROUP_ARIA_LABEL_GROUP,\n\tAVATAR_GROUP_MOVE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport AvatarGroupCss from \"./generated/themes/AvatarGroup.css.js\";\n\n// Template\nimport AvatarGroupTemplate from \"./generated/templates/AvatarGroupTemplate.lit.js\";\n\n/**\n * Interface for components that represent an avatar and may be slotted in numerous higher-order components such as `ui5-avatar-group`\n * @public\n */\ninterface IAvatarGroupItem extends HTMLElement, ITabbable {\n\tеffectiveBackgroundColor: AvatarColorScheme;\n\tsize: `${AvatarSize}`;\n\teffectiveSize: AvatarSize;\n\tinteractive: boolean;\n}\n\nconst OVERFLOW_BTN_CLASS = \"ui5-avatar-group-overflow-btn\";\nconst AVATAR_GROUP_OVERFLOW_BTN_SELECTOR = `.${OVERFLOW_BTN_CLASS}`;\n\n// based on RTL/LTR a margin-left/right is set respectfully\nconst offsets = {\n\t[AvatarSize.XS]: {\n\t\t[AvatarGroupType.Individual]: \"0.0625rem\",\n\t\t[AvatarGroupType.Group]: \"-0.75rem\",\n\t},\n\t[AvatarSize.S]: {\n\t\t[AvatarGroupType.Individual]: \"0.125rem\",\n\t\t[AvatarGroupType.Group]: \"-1.25rem\",\n\t},\n\t[AvatarSize.M]: {\n\t\t[AvatarGroupType.Individual]: \"0.125rem\",\n\t\t[AvatarGroupType.Group]: \"-1.625rem\",\n\t},\n\t[AvatarSize.L]: {\n\t\t[AvatarGroupType.Individual]: \"0.125rem\",\n\t\t[AvatarGroupType.Group]: \" -2rem\",\n\t},\n\t[AvatarSize.XL]: {\n\t\t[AvatarGroupType.Individual]: \"0.25rem\",\n\t\t[AvatarGroupType.Group]: \"-2.75rem\",\n\t},\n};\n\ntype AvatarGroupAccessibilityAttributes = Pick<AccessibilityAttributes, \"hasPopup\">;\n\ntype AvatarGroupClickEventDetail = {\n\ttargetRef: HTMLElement,\n\toverflowButtonClicked: boolean,\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * Displays a group of avatars arranged horizontally. It is useful to visually\n * showcase a group of related avatars, such as, project team members or employees.\n *\n * The component allows you to display the avatars in different sizes,\n * depending on your use case.\n *\n * The `AvatarGroup` component has two group types:\n *\n * - `Group` type: The avatars are displayed as partially overlapped on\n * top of each other and the entire group has one click/tap area.\n * - `Individual` type: The avatars are displayed side-by-side and each\n * avatar has its own click/tap area.\n *\n * ### Usage\n *\n * Use the `AvatarGroup` if:\n *\n * - You want to display a group of avatars.\n * - You want to display several avatars which have something in common.\n *\n * Do not use the `AvatarGroup` if:\n *\n * - You want to display a single avatar.\n * - You want to display a gallery for simple images.\n * - You want to use it for other visual content than avatars.\n *\n * ### Responsive Behavior\n *\n * When the available space is less than the width required to display all avatars,\n * an overflow visualization appears as a button placed at the end with the same shape\n * and size as the avatars. The visualization displays the number of avatars that have overflowed\n * and are not currently visible.\n *\n * ### Keyboard Handling\n * The component provides advanced keyboard handling.\n * When focused, the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *\n * `type` Individual:\n *\n * - [Tab] - Move focus to the overflow button\n * - [Left] - Navigate one avatar to the left\n * - [Right] - Navigate one avatar to the right\n * - [Home] - Navigate to the first avatar\n * - [End] - Navigate to the last avatar\n * - [Space] / [Enter] or [Return] - Trigger `ui5-click` event\n *\n * `type` Group:\n *\n * - [Tab] - Move focus to the next interactive element after the component\n * - [Space] / [Enter] or [Return] - Trigger `ui5-click` event\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.11\n * @public\n */\n\n@customElement({\n\ttag: \"ui5-avatar-group\",\n\trenderer: litRender,\n\ttemplate: AvatarGroupTemplate,\n\tstyles: AvatarGroupCss,\n\tdependencies: [Button],\n})\n/**\n * Fired when the component is activated either with a\n * click/tap or by using the Enter or Space key.\n * @param {HTMLElement} targetRef The DOM ref of the clicked item.\n * @param {boolean} overflowButtonClicked indicates if the overflow button is clicked\n * @public\n * @since 1.0.0-rc.11\n */\n@event<AvatarGroupClickEventDetail>(\"click\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\ttargetRef: { type: HTMLElement },\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\toverflowButtonClicked: { type: Boolean },\n\t},\n})\n\n/**\n * Fired when the count of visible `ui5-avatar` elements in the\n * component has changed\n * @public\n * @since 1.0.0-rc.13\n */\n@event(\"overflow\")\nclass AvatarGroup extends UI5Element {\n\t/**\n\t * Defines the mode of the `AvatarGroup`.\n\t * @default \"Group\"\n\t * @public\n\t */\n\t@property({ type: AvatarGroupType, defaultValue: AvatarGroupType.Group })\n\ttype!: `${AvatarGroupType}`;\n\n\t/**\n\t * Defines the additional accessibility attributes that will be applied to the component.\n\t * The following field is supported:\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t *\n\t * @public\n\t * @since 2.0.0\n\t * @default {}\n\t */\n\t @property({ type: Object })\n\t accessibilityAttributes!: AvatarGroupAccessibilityAttributes;\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_overflowButtonText!: string;\n\n\t/**\n\t * Defines the items of the component. Use the `ui5-avatar` component as an item.\n\t *\n\t * **Note:** The UX guidelines recommends using avatars with \"Circle\" shape.\n\t *\n\t * Moreover, if you use avatars with \"Square\" shape, there will be visual inconsistency\n\t * as the built-in overflow action has \"Circle\" shape.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\titems!: Array<IAvatarGroupItem>;\n\n\t/**\n\t * Defines the overflow button of the component.\n\t *\n\t * **Note:** We recommend using the `ui5-button` component.\n\t *\n\t * **Note:** If this slot is not used, the component will display the built-in overflow button.\n\t * @public\n\t * @since 1.0.0-rc.13\n\t */\n\t@slot()\n\toverflowButton!: Array<IButton>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_onResizeHandler: () => void;\n\t_colorIndex: number;\n\t_hiddenItems: number;\n\t_itemNavigation: ItemNavigation;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => {\n\t\t\t\treturn this._isGroup ? [] : this.items.slice(0, this._hiddenStartIndex);\n\t\t\t},\n\t\t});\n\t\tthis._colorIndex = 0;\n\t\tthis._hiddenItems = 0;\n\t\tthis._onResizeHandler = this._onResize.bind(this);\n\t}\n\n\tstatic async onDefine() {\n\t\tAvatarGroup.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\t/**\n\t * Returns an array containing the `ui5-avatar` instances that are currently not displayed due to lack of space.\n\t * @default []\n\t * @public\n\t */\n\tget hiddenItems(): IAvatarGroupItem[] {\n\t\treturn this.items.slice(this._hiddenStartIndex);\n\t}\n\n\t/**\n\t * Returns an array containing the `AvatarColorScheme` values that correspond to the avatars in the component.\n\t * @default []\n\t * @public\n\t */\n\tget colorScheme(): AvatarColorScheme[] {\n\t\treturn this.items.map(avatar => avatar.еffectiveBackgroundColor);\n\t}\n\n\tget _customOverflowButton() {\n\t\treturn this.overflowButton.length ? this.overflowButton[0] : undefined;\n\t}\n\n\tget _ariaLabelText() {\n\t\tconst hiddenItemsCount = this.hiddenItems.length;\n\t\tconst typeLabelKey = this._isGroup ? AVATAR_GROUP_ARIA_LABEL_GROUP : AVATAR_GROUP_ARIA_LABEL_INDIVIDUAL;\n\n\t\t// avatar type label\n\t\tlet text = AvatarGroup.i18nBundle.getText(typeLabelKey);\n\n\t\t// add displayed-hidden avatars label\n\t\ttext += ` ${AvatarGroup.i18nBundle.getText(AVATAR_GROUP_DISPLAYED_HIDDEN_LABEL, this._itemsCount - hiddenItemsCount, hiddenItemsCount)}`;\n\n\t\tif (this._isGroup) {\n\t\t\t// the container role is \"button\", add the message for complete list activation\n\t\t\ttext += ` ${AvatarGroup.i18nBundle.getText(AVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL)}`;\n\t\t} else {\n\t\t\t// the container role is \"group\", add the \"how to navigate\" message\n\t\t\ttext += ` ${AvatarGroup.i18nBundle.getText(AVATAR_GROUP_MOVE)}`;\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tget _overflowButtonAriaLabelText() {\n\t\treturn this._isGroup ? undefined : AvatarGroup.i18nBundle.getText(AVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL);\n\t}\n\n\tget _containerAriaHasPopup() {\n\t\treturn this._isGroup ? this._getAriaHasPopup() : undefined;\n\t}\n\n\tget _overflowButtonAccAttributes() {\n\t\treturn {\n\t\t\thasPopup: this._isGroup ? undefined : this._getAriaHasPopup(),\n\t\t};\n\t}\n\n\tget _role() {\n\t\treturn this._isGroup ? \"button\" : \"group\";\n\t}\n\n\tget _hiddenStartIndex() {\n\t\treturn this._itemsCount - this._hiddenItems;\n\t}\n\n\tget _overflowBtnHidden() {\n\t\treturn this._hiddenItems === 0;\n\t}\n\n\tget _isGroup() {\n\t\treturn this.type === AvatarGroupType.Group;\n\t}\n\n\tget _itemsCount() {\n\t\treturn this.items.length;\n\t}\n\n\tget _groupTabIndex() {\n\t\treturn this._isGroup ? \"0\" : \"-1\";\n\t}\n\n\tget _overflowButton() {\n\t\treturn this.shadowRoot!.querySelector<Button>(AVATAR_GROUP_OVERFLOW_BTN_SELECTOR);\n\t}\n\n\t/**\n\t * Return the effective overflow button width\n\t * Differences are that when in \"Group\" type the button is offset and overlaps the avatars\n\t *\n\t * 1) In case of \"Group\", (LTR/RTL aware) button width is qual to second item offset left/right\n\t * 2) In case of \"Individual\" group type width is directly taken from button element\n\t * @private\n\t */\n\tget _overflowButtonEffectiveWidth() {\n\t\tconst button = this._customOverflowButton ? this._customOverflowButton : this._overflowButton;\n\t\t// if in \"Group\" mode overflow button size is equal to the offset from second item\n\n\t\tif (!button) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif (this._isGroup) {\n\t\t\tlet item: HTMLElement = this.items[1];\n\t\t\tconst ltrEffectiveWidth = item.offsetLeft - this.offsetLeft;\n\n\t\t\t// in some cases when second avatar is overflowed the offset of the button is the right one\n\t\t\tif (!item || item.hidden) {\n\t\t\t\titem = button;\n\t\t\t}\n\n\t\t\treturn this.effectiveDir === \"rtl\" ? this._getWidthToItem(item) : ltrEffectiveWidth;\n\t\t}\n\n\t\treturn button.offsetWidth;\n\t}\n\n\tget firstAvatarSize() {\n\t\treturn this.items[0].size;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\toverflowButton: {\n\t\t\t\t\"ui5-avatar-group-overflow-btn\": true,\n\t\t\t\t\"ui5-avatar-group-overflow-btn-xs\": this.firstAvatarSize === AvatarSize.XS,\n\t\t\t\t\"ui5-avatar-group-overflow-btn-s\": this.firstAvatarSize === AvatarSize.S,\n\t\t\t\t\"ui5-avatar-group-overflow-btn-m\": this.firstAvatarSize === AvatarSize.M,\n\t\t\t\t\"ui5-avatar-group-overflow-btn-l\": this.firstAvatarSize === AvatarSize.L,\n\t\t\t\t\"ui5-avatar-group-overflow-btn-xl\": this.firstAvatarSize === AvatarSize.XL,\n\t\t\t},\n\t\t};\n\t}\n\n\tonAfterRendering() {\n\t\tthis._overflowItems();\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._customOverflowButton) {\n\t\t\tthis._customOverflowButton.nonInteractive = this._isGroup;\n\t\t}\n\n\t\tthis._prepareAvatars();\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\n\t\tResizeHandler.register(this, this._onResizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResizeHandler);\n\t}\n\n\t_onResize() {\n\t\tthis._overflowItems();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\t// when type is \"Individual\" the ui5-avatar and ui5-button both\n\t\t// fire \"click\" event when SPACE or ENTER are pressed and\n\t\t// AvatarGroup \"click\" is fired in their handlers (_onClick, _onUI5Click).\n\t\tif (this._isGroup) {\n\t\t\tif (isEnter(e)) {\n\t\t\t\tthis._fireGroupEvent(e.target as HTMLElement);\n\t\t\t} else if (isSpace(e)) {\n\t\t\t\t// prevent scrolling\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (!e.shiftKey && isSpace(e) && this._isGroup) {\n\t\t\tthis._fireGroupEvent(e.target as HTMLElement);\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_fireGroupEvent(targetRef: HTMLElement) {\n\t\tconst isOverflowButtonClicked = targetRef.classList.contains(OVERFLOW_BTN_CLASS) || targetRef === this._customOverflowButton;\n\n\t\tthis.fireEvent<AvatarGroupClickEventDetail>(\"click\", {\n\t\t\ttargetRef,\n\t\t\toverflowButtonClicked: isOverflowButtonClicked,\n\t\t});\n\t}\n\n\t_onClick(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\t// no matter the value of noConflict, the ui5-button and the group container (div) always fire a native click event\n\t\tconst isButton = target.hasAttribute(\"ui5-button\");\n\t\te.stopPropagation();\n\n\t\tif (this._isGroup || isButton) {\n\t\t\tthis._fireGroupEvent(target);\n\t\t}\n\t}\n\n\t_onUI5Click(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\t// when noConflict=true only ui5-avatar will fire ui5-click event\n\t\tconst isAvatar = target.hasAttribute(\"ui5-avatar\");\n\t\te.stopPropagation();\n\n\t\tif (isAvatar) {\n\t\t\tthis._fireGroupEvent(target);\n\t\t}\n\t}\n\n\t/**\n\t * Modifies avatars to the needs of avatar group properties. Respects already set size and background color.\n\t * Set the margins (offsets) based on RTL/LTR.\n\t * @private\n\t */\n\t_prepareAvatars() {\n\t\tthis._colorIndex = 0;\n\n\t\tthis.items.forEach((avatar, index) => {\n\t\t\tconst colorIndex = this._getNextBackgroundColor();\n\t\t\tavatar.interactive = !this._isGroup;\n\n\t\t\tif (!avatar.getAttribute(\"_color-scheme\")) {\n\t\t\t\t// AvatarGroup respects colors set to ui5-avatar\n\t\t\t\tavatar.setAttribute(\"_color-scheme\", AvatarColorScheme[`Accent${colorIndex}` as keyof typeof AvatarColorScheme]);\n\t\t\t}\n\n\t\t\t// last avatar should not be offset as it breaks the container width and focus styles are no set correctly\n\t\t\tif (index !== this._itemsCount - 1 || this._customOverflowButton) {\n\t\t\t\t// based on RTL the browser automatically sets left or right margin to avatars\n\t\t\t\tavatar.style.marginInlineEnd = offsets[avatar.effectiveSize][this.type];\n\t\t\t}\n\t\t});\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tthis._itemNavigation.setCurrentItem(e.target as IAvatarGroupItem);\n\t}\n\n\t/**\n\t * Returns the total width to item excluding the item width\n\t * RTL/LTR aware\n\t * @private\n\t * @param item\n\t */\n\t_getWidthToItem(item: HTMLElement) {\n\t\tconst isRTL = this.effectiveDir === \"rtl\";\n\t\tconst ltrWidthToItem = item.offsetLeft - this.offsetLeft;\n\n\t\tif (isRTL) {\n\t\t\tconst itemOffsetParent = item.offsetParent as HTMLElement;\n\n\t\t\t// in RTL the total width is equal to difference of the parent container width and\n\t\t\t// how much is the item offset to the left minus its offsetWidth\n\n\t\t\tif (!itemOffsetParent) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\treturn itemOffsetParent.offsetWidth - item.offsetLeft - item.offsetWidth;\n\t\t}\n\n\t\treturn ltrWidthToItem;\n\t}\n\n\t/**\n\t * Overflows items that were not able to fit the container\n\t * @private\n\t */\n\t_overflowItems() {\n\t\tif (this.items.length < 2) {\n\t\t\t// no need to overflow avatars\n\t\t\treturn;\n\t\t}\n\n\t\tlet hiddenItems = 0;\n\n\t\tfor (let index = 0; index < this._itemsCount; index++) {\n\t\t\tconst item: IAvatarGroupItem = this.items[index];\n\n\t\t\t// show item to determine if it will fit the new container size\n\t\t\titem.hidden = false;\n\n\t\t\t// container width to current item + item width (avatar)\n\t\t\t// used to determine whether the following items will fit the container or not\n\t\t\tlet totalWidth = this._getWidthToItem(item) + item.offsetWidth;\n\n\t\t\tif (index !== this._itemsCount - 1 || this._customOverflowButton) {\n\t\t\t\ttotalWidth += this._overflowButtonEffectiveWidth;\n\t\t\t}\n\n\t\t\tif (totalWidth > this.offsetWidth) {\n\t\t\t\thiddenItems = this._itemsCount - index;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// hide the items that did not fit the container size\n\t\tthis._setHiddenItems(hiddenItems);\n\t}\n\n\t_getNextBackgroundColor() {\n\t\t// counter is to automatically assign background colors to avatars, `Accent10` is the highest color value\n\t\tif (++this._colorIndex > 10) {\n\t\t\tthis._colorIndex = 1;\n\t\t}\n\t\treturn this._colorIndex;\n\t}\n\n\t_setHiddenItems(hiddenItems: number) {\n\t\tconst shouldFireEvent = this._hiddenItems !== hiddenItems;\n\n\t\tthis._hiddenItems = hiddenItems;\n\n\t\tthis.items.forEach((item, index) => {\n\t\t\titem.hidden = index >= this._hiddenStartIndex;\n\t\t});\n\n\t\tthis._overflowButtonText = `+${hiddenItems > 99 ? 99 : hiddenItems}`;\n\n\t\tif (shouldFireEvent) {\n\t\t\tthis.fireEvent(\"overflow\");\n\t\t}\n\t}\n\n\t_getAriaHasPopup() {\n\t\treturn this.accessibilityAttributes.hasPopup;\n\t}\n}\n\nAvatarGroup.define();\n\nexport default AvatarGroup;\nexport type {\n\tAvatarGroupClickEventDetail,\n\tAvatarGroupAccessibilityAttributes,\n\tIAvatarGroupItem,\n};\n"]}
@@ -2,6 +2,7 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type { ChangeInfo } from "@ui5/webcomponents-base/dist/UI5Element.js";
3
3
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
4
4
  import type { ITabbable } from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
5
+ import type { AccessibilityAttributes } from "@ui5/webcomponents-base/dist/types.js";
5
6
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
6
7
  import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
7
8
  import BreadcrumbsDesign from "./types/BreadcrumbsDesign.js";
@@ -145,7 +146,7 @@ declare class Breadcrumbs extends UI5Element {
145
146
  */
146
147
  get _links(): Link[];
147
148
  get _isOverflowEmpty(): boolean;
148
- get _ariaHasPopup(): "listbox" | undefined;
149
+ get linkAccessibilityAttributes(): Pick<AccessibilityAttributes, "hasPopup">;
149
150
  get _isPickerOpen(): boolean;
150
151
  get _accessibleNameText(): string;
151
152
  get _dropdownArrowAccessibleNameText(): string;
@@ -324,14 +324,13 @@ let Breadcrumbs = Breadcrumbs_1 = class Breadcrumbs extends UI5Element {
324
324
  get _isOverflowEmpty() {
325
325
  return this._overflowItemsData.length === 0;
326
326
  }
327
- get _ariaHasPopup() {
328
- if (!this._isOverflowEmpty) {
329
- return "listbox";
330
- }
331
- return undefined;
327
+ get linkAccessibilityAttributes() {
328
+ return {
329
+ hasPopup: this._isOverflowEmpty ? undefined : "listbox",
330
+ };
332
331
  }
333
332
  get _isPickerOpen() {
334
- return !!this.responsivePopover && this.responsivePopover.opened;
333
+ return !!this.responsivePopover && this.responsivePopover.open;
335
334
  }
336
335
  get _accessibleNameText() {
337
336
  return Breadcrumbs_1.i18nBundle.getText(BREADCRUMBS_ARIA_LABEL);
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../src/Breadcrumbs.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport {\n\tisSpace,\n\tisShow,\n} from \"@ui5/webcomponents-base/dist/Keys.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 ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport BreadcrumbsDesign from \"./types/BreadcrumbsDesign.js\";\nimport BreadcrumbsSeparator from \"./types/BreadcrumbsSeparator.js\";\nimport BreadcrumbsItem from \"./BreadcrumbsItem.js\";\nimport {\n\tBREADCRUMB_ITEM_POS,\n\tBREADCRUMBS_ARIA_LABEL,\n\tBREADCRUMBS_OVERFLOW_ARIA_LABEL,\n\tBREADCRUMBS_CANCEL_BUTTON,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Link from \"./Link.js\";\nimport type { LinkClickEventDetail } from \"./Link.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport List from \"./List.js\";\nimport type { ListSelectionChangeEventDetail } from \"./List.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\n\n// Templates\nimport BreadcrumbsTemplate from \"./generated/templates/BreadcrumbsTemplate.lit.js\";\n\n// Styles\nimport breadcrumbsCss from \"./generated/themes/Breadcrumbs.css.js\";\nimport breadcrumbsPopoverCss from \"./generated/themes/BreadcrumbsPopover.css.js\";\n\ntype BreadcrumbsItemClickEventDetail = {\n\titem: BreadcrumbsItem;\n\taltKey: boolean;\n\tctrlKey: boolean;\n\tmetaKey: boolean;\n\tshiftKey: boolean;\n}\n\n/**\n * @class\n *\n * ### Overview\n * Enables users to navigate between items by providing a list of links to previous steps in the user's navigation path.\n * It helps the user to be aware of their location within the application and allows faster navigation.\n *\n * The last three steps can be accessed as links directly, while the remaining links prior to them are available\n * in a drop-down menu.\n *\n * You can choose the type of separator to be used from a number of predefined options.\n *\n * ### Keyboard Handling\n * The `ui5-breadcrumbs` provides advanced keyboard handling.\n *\n * - [F4], [Alt] + [Up], [Alt] + [Down], [Space], or [Enter] - If the dropdown arrow is focused - opens/closes the drop-down.\n * - [Space],[Enter] - Activates the focused item and triggers the `item-click` event.\n * - [Escape] - Closes the drop-down.\n * - [Left] - If the drop-down is closed - navigates one item to the left.\n * - [Right] - If the drop-down is closed - navigates one item to the right.\n * - [Up] - If the drop-down is open - moves focus to the next item.\n * - [Down] - If the drop-down is open - moves focus to the previous item.\n * - [Home] - Navigates to the first item.\n * - [End] - Navigates to the last item.\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.15\n */\n@customElement({\n\ttag: \"ui5-breadcrumbs\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: BreadcrumbsTemplate,\n\tstyles: [breadcrumbsCss, breadcrumbsPopoverCss],\n\tdependencies: [\n\t\tBreadcrumbsItem,\n\t\tLink,\n\t\tResponsivePopover,\n\t\tList,\n\t\tStandardListItem,\n\t\tIcon,\n\t\tButton,\n\t],\n})\n/**\n * Fires when a `BreadcrumbsItem` is clicked.\n *\n * **Note:** You can prevent browser location change by calling `event.preventDefault()`.\n * @allowPreventDefault\n * @param {HTMLElement} item The clicked item.\n * @param {Boolean} altKey Returns whether the \"ALT\" key was pressed when the event was triggered.\n * @param {Boolean} ctrlKey Returns whether the \"CTRL\" key was pressed when the event was triggered.\n * @param {Boolean} metaKey Returns whether the \"META\" key was pressed when the event was triggered.\n * @param {Boolean} shiftKey Returns whether the \"SHIFT\" key was pressed when the event was triggered.\n * @public\n */\n@event<BreadcrumbsItemClickEventDetail>(\"item-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\taltKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tctrlKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tmetaKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tshiftKey: { type: Boolean },\n\t},\n})\nclass Breadcrumbs extends UI5Element {\n\t/**\n\t * Defines the visual appearance of the last BreadcrumbsItem.\n\t *\n\t * The Breadcrumbs supports two visual appearances for the last BreadcrumbsItem:\n\t * - \"Standard\" - displaying the last item as \"current page\" (bold and without separator)\n\t * - \"NoCurrentPage\" - displaying the last item as a regular BreadcrumbsItem, followed by separator\n\t * @default \"Standard\"\n\t * @public\n\t*/\n\t@property({ type: BreadcrumbsDesign, defaultValue: BreadcrumbsDesign.Standard })\n\tdesign!: `${BreadcrumbsDesign}`;\n\n\t/**\n\t * Determines the visual style of the separator between the breadcrumb items.\n\t * @default \"Slash\"\n\t * @public\n\t */\n\t@property({ type: BreadcrumbsSeparator, defaultValue: BreadcrumbsSeparator.Slash })\n\tseparators!: `${BreadcrumbsSeparator}`;\n\n\t/**\n\t * Holds the number of items in the overflow.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ validator: Integer, noAttribute: true, defaultValue: 0 })\n\t_overflowSize!: number;\n\n\t/**\n\t * Defines the component items.\n\t *\n\t * **Note:** Use the `ui5-breadcrumbs-item` component to define the desired items.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<BreadcrumbsItem>;\n\n\t_itemNavigation: ItemNavigation\n\t_onResizeHandler: ResizeObserverCallback;\n\n\t// maps items to their widths\n\t_breadcrumbItemWidths = new WeakMap<BreadcrumbsItem, number>();\n\t// the width of the interactive element that opens the overflow\n\t_dropdownArrowLinkWidth = 0;\n\tresponsivePopover?: ResponsivePopover;\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tnavigationMode: NavigationMode.Horizontal,\n\t\t\tgetItemsCallback: () => this._getFocusableItems(),\n\t\t});\n\n\t\tthis._onResizeHandler = this._updateOverflow.bind(this);\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.reason === \"childchange\") {\n\t\t\tconst itemIndex = this._getItems().indexOf(changeInfo.child as BreadcrumbsItem),\n\t\t\t\tisInOverflow = itemIndex < this._overflowSize;\n\t\t\tif (isInOverflow) {\n\t\t\t\t// the content of an overflowing item has changed\n\t\t\t\t// => need to render the item outside the overflow to obtain its new width\n\t\t\t\t// => lower-down the `_overfowSize` to exclude that item from the overflow\n\t\t\t\tthis._overflowSize = itemIndex;\n\t\t\t}\n\t\t}\n\t}\n\n\t_getItems() {\n\t\treturn this.getSlottedNodes<BreadcrumbsItem>(\"items\");\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._preprocessItems();\n\t}\n\n\tonAfterRendering() {\n\t\tthis._cacheWidths();\n\t\tthis._updateOverflow();\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResizeHandler);\n\t}\n\n\t_initItemNavigation() {\n\t\tif (!this._itemNavigation) {\n\t\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\t\tnavigationMode: NavigationMode.Horizontal,\n\t\t\t\tgetItemsCallback: () => this._getFocusableItems(),\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Obtains the items for navigation via keyboard\n\t * @private\n\t */\n\t_getFocusableItems() {\n\t\tconst items: Array<ITabbable> = this._links;\n\n\t\tif (!this._isOverflowEmpty) {\n\t\t\titems.unshift(this._dropdownArrowLink);\n\t\t}\n\n\t\treturn items;\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst currentItem = e.target as Link;\n\n\t\tthis._itemNavigation.setCurrentItem(currentItem);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isDropdownArrowFocused = this._isDropdownArrowFocused;\n\n\t\tif (isShow(e) && isDropdownArrowFocused && !this._isOverflowEmpty) {\n\t\t\te.preventDefault();\n\t\t\tthis._toggleRespPopover();\n\t\t\treturn;\n\t\t}\n\t\tif (isSpace(e) && isDropdownArrowFocused && !this._isOverflowEmpty && !this._isPickerOpen) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (this._isDropdownArrowFocused && isSpace(e) && !this._isOverflowEmpty && !this._isPickerOpen) {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\t/**\n\t * Caches the space required to render the content\n\t * @private\n\t */\n\t_cacheWidths() {\n\t\tconst map = this._breadcrumbItemWidths,\n\t\t\titems = this._getItems();\n\n\t\tfor (let i = this._overflowSize; i < items.length; i++) {\n\t\t\tconst item = items[i],\n\t\t\t\tlink = this.shadowRoot!.querySelector<HTMLElement>(`#${item._id}-link-wrapper`)!;\n\t\t\tmap.set(item, this._getElementWidth(link));\n\t\t}\n\n\t\tif (!this._isOverflowEmpty) {\n\t\t\tconst arrow = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-breadcrumbs-dropdown-arrow-link-wrapper\")!;\n\t\t\tthis._dropdownArrowLinkWidth = this._getElementWidth(arrow);\n\t\t}\n\t}\n\n\t_updateOverflow() {\n\t\tconst items = this._getItems(),\n\t\t\tavailableWidth = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-breadcrumbs-root\")!.offsetWidth;\n\t\tlet requiredWidth = this._getTotalContentWidth(),\n\t\t\toverflowSize = 0;\n\n\t\tif (requiredWidth > availableWidth) {\n\t\t\t// need to show the component that opens the overflow\n\t\t\trequiredWidth += this._dropdownArrowLinkWidth;\n\t\t}\n\n\t\twhile ((requiredWidth >= availableWidth) && (overflowSize < this._maxAllowedOverflowSize)) {\n\t\t\tconst itemToOverflow = items[overflowSize];\n\t\t\tlet itemWidth = 0;\n\n\t\t\tif (this._isItemVisible(itemToOverflow)) {\n\t\t\t\titemWidth = this._breadcrumbItemWidths.get(itemToOverflow) || 0;\n\t\t\t}\n\n\t\t\t// move the item to the overflow\n\t\t\trequiredWidth -= itemWidth;\n\t\t\toverflowSize++;\n\t\t}\n\n\t\tthis._overflowSize = overflowSize;\n\n\t\t// if overflow was emptied while picker was open => close redundant popup\n\t\tif (this._isOverflowEmpty && this._isPickerOpen) {\n\t\t\tthis.responsivePopover!.close();\n\t\t}\n\n\t\t// if the last focused link has done into the overflow =>\n\t\t// ensure the first visible link is focusable\n\t\tconst focusableItems = this._getFocusableItems();\n\t\tif (!focusableItems.some(x => x.forcedTabIndex === \"0\")) {\n\t\t\tthis._itemNavigation.setCurrentItem(focusableItems[0]);\n\t\t}\n\t}\n\n\t_getElementWidth(element: HTMLElement) {\n\t\tif (element) {\n\t\t\treturn Math.ceil(element.getBoundingClientRect().width);\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t_getTotalContentWidth() {\n\t\tconst items = this._getItems(),\n\t\t\twidthsMap = this._breadcrumbItemWidths,\n\t\t\ttotalLinksWidth = items.reduce((sum, link) => sum + widthsMap.get(link)!, 0);\n\n\t\treturn totalLinksWidth;\n\t}\n\n\t_onLinkPress(e: CustomEvent<LinkClickEventDetail>) {\n\t\tconst link = e.target as Link,\n\t\t\titems = this._getItems(),\n\t\t\titem = items.find(x => `${x._id}-link` === link.id)!,\n\t\t\t{\n\t\t\t\taltKey,\n\t\t\t\tctrlKey,\n\t\t\t\tmetaKey,\n\t\t\t\tshiftKey,\n\t\t\t} = e.detail;\n\n\t\tif (!this.fireEvent<BreadcrumbsItemClickEventDetail>(\"item-click\", {\n\t\t\titem,\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t}, true)) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (item._isCurrentPageItem) {\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\t_onOverflowListItemSelect(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst listItem = e.detail.selectedItems[0],\n\t\t\titems = this._getItems(),\n\t\t\titem = items.find(x => `${x._id}-li` === listItem.id)!;\n\n\t\tif (this.fireEvent(\"item-click\", { item }, true)) {\n\t\t\twindow.open(item.href, item.target || \"_self\", \"noopener,noreferrer\");\n\t\t\tthis.responsivePopover!.close();\n\t\t}\n\t}\n\n\t_respPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t_toggleRespPopover() {\n\t\tthis.responsivePopover = this._respPopover();\n\n\t\tif (this._isPickerOpen) {\n\t\t\tthis._closeRespPopover();\n\t\t} else {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\t_closeRespPopover() {\n\t\tthis.responsivePopover && this.responsivePopover.close();\n\t}\n\n\t_openRespPopover() {\n\t\tthis.responsivePopover = this._respPopover();\n\t\tthis.responsivePopover.showAt(this._dropdownArrowLink);\n\t}\n\n\t_isItemVisible(item: BreadcrumbsItem) {\n\t\treturn !item.hidden && this._hasVisibleContent(item);\n\t}\n\n\t_hasVisibleContent(item: BreadcrumbsItem) {\n\t\t// the check is not complete but may be extended in the future if needed to cover\n\t\t// cases besides the standard (UX-recommended) ones\n\t\treturn item.innerText || Array.from(item.children).some(child => !(child as HTMLElement).hidden);\n\t}\n\n\t_preprocessItems() {\n\t\tthis.items.forEach(item => {\n\t\t\titem._getRealDomRef = () => this.getDomRef()!.querySelector(`[data-ui5-stable*=${item.stableDomRef}]`)!;\n\t\t});\n\t}\n\n\t_getItemPositionText(position: number, size: number) {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMB_ITEM_POS, position, size);\n\t}\n\n\t_getItemAccessibleName(item: BreadcrumbsItem, position: number, size: number) {\n\t\tconst positionText = this._getItemPositionText(position, size);\n\t\tconst itemsText = item.textContent || \"\";\n\n\t\t// innerText is needed as it is no longer read out when label is set\n\t\tlet text = \"\";\n\t\tif (item.accessibleName) {\n\t\t\ttext = `${itemsText.trim()} ${item.accessibleName} ${positionText}`;\n\t\t} else {\n\t\t\ttext = `${itemsText.trim()} ${positionText}`;\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tget _visibleItems() {\n\t\treturn this._getItems()\n\t\t\t.slice(this._overflowSize)\n\t\t\t.filter(i => this._isItemVisible(i));\n\t}\n\n\tget _endsWithCurrentPageItem() {\n\t\treturn this.design === BreadcrumbsDesign.Standard;\n\t}\n\n\tget _isDropdownArrowFocused() {\n\t\treturn this._dropdownArrowLink.forcedTabIndex === \"0\";\n\t}\n\n\t/**\n\t * Returns the maximum allowed count of items in the overflow\n\t * with respect to the UX requirement to never overflow the last visible item\n\t */\n\tget _maxAllowedOverflowSize() {\n\t\tconst items = this._getItems().filter(item => this._isItemVisible(item));\n\t\t// all items except tha last visible one are allowed to overflow by UX requirement\n\t\treturn items.length - 1;\n\t}\n\n\t/**\n\t * Getter for the interactive element that opens the overflow\n\t * @private\n\t */\n\tget _dropdownArrowLink() {\n\t\treturn this.shadowRoot!.querySelector<Link>(\".ui5-breadcrumbs-dropdown-arrow-link-wrapper [ui5-link]\")!;\n\t}\n\n\t/**\n\t * Getter for the list of abstract breadcrumb items to be rendered as list-items inside the overflow\n\t */\n\tget _overflowItemsData() {\n\t\treturn this._getItems()\n\t\t\t.slice(0, this._overflowSize)\n\t\t\t.filter(item => this._isItemVisible(item))\n\t\t\t.reverse();\n\t}\n\n\t/**\n\t * Getter for the list of abstract breadcrumb items to be rendered as links outside the overflow\n\t */\n\tget _linksData() {\n\t\tconst items = this._visibleItems;\n\t\tconst itemsCount = items.length;\n\n\t\treturn items\n\t\t\t.map((item, index) => {\n\t\t\t\titem._accessibleNameText = this._getItemAccessibleName(item, index + 1, itemsCount);\n\t\t\t\titem._isCurrentPageItem = index === (itemsCount - 1) && this._endsWithCurrentPageItem;\n\t\t\t\treturn item;\n\t\t\t});\n\t}\n\n\t/**\n\t * Getter for the list of links corresponding to the abstract breadcrumb items\n\t */\n\tget _links() {\n\t\treturn Array.from(this.shadowRoot!.querySelectorAll<Link>(\".ui5-breadcrumbs-link-wrapper [ui5-link]\"));\n\t}\n\n\tget _isOverflowEmpty() {\n\t\treturn this._overflowItemsData.length === 0;\n\t}\n\n\tget _ariaHasPopup() {\n\t\tif (!this._isOverflowEmpty) {\n\t\t\treturn \"listbox\";\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tget _isPickerOpen() {\n\t\treturn !!this.responsivePopover && this.responsivePopover.opened;\n\t}\n\n\tget _accessibleNameText() {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMBS_ARIA_LABEL);\n\t}\n\n\tget _dropdownArrowAccessibleNameText() {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMBS_OVERFLOW_ARIA_LABEL);\n\t}\n\n\tget _cancelButtonText() {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMBS_CANCEL_BUTTON);\n\t}\n\n\tstatic async onDefine() {\n\t\tBreadcrumbs.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nBreadcrumbs.define();\n\nexport default Breadcrumbs;\nexport type {\n\tBreadcrumbsItemClickEventDetail,\n};\n"]}
1
+ {"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../src/Breadcrumbs.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type { AccessibilityAttributes } from \"@ui5/webcomponents-base/dist/types.js\";\nimport {\n\tisSpace,\n\tisShow,\n} from \"@ui5/webcomponents-base/dist/Keys.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 ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport BreadcrumbsDesign from \"./types/BreadcrumbsDesign.js\";\nimport BreadcrumbsSeparator from \"./types/BreadcrumbsSeparator.js\";\nimport BreadcrumbsItem from \"./BreadcrumbsItem.js\";\nimport {\n\tBREADCRUMB_ITEM_POS,\n\tBREADCRUMBS_ARIA_LABEL,\n\tBREADCRUMBS_OVERFLOW_ARIA_LABEL,\n\tBREADCRUMBS_CANCEL_BUTTON,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Link from \"./Link.js\";\nimport type { LinkClickEventDetail } from \"./Link.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport List from \"./List.js\";\nimport type { ListSelectionChangeEventDetail } from \"./List.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\n\n// Templates\nimport BreadcrumbsTemplate from \"./generated/templates/BreadcrumbsTemplate.lit.js\";\n\n// Styles\nimport breadcrumbsCss from \"./generated/themes/Breadcrumbs.css.js\";\nimport breadcrumbsPopoverCss from \"./generated/themes/BreadcrumbsPopover.css.js\";\n\ntype BreadcrumbsItemClickEventDetail = {\n\titem: BreadcrumbsItem;\n\taltKey: boolean;\n\tctrlKey: boolean;\n\tmetaKey: boolean;\n\tshiftKey: boolean;\n}\n\n/**\n * @class\n *\n * ### Overview\n * Enables users to navigate between items by providing a list of links to previous steps in the user's navigation path.\n * It helps the user to be aware of their location within the application and allows faster navigation.\n *\n * The last three steps can be accessed as links directly, while the remaining links prior to them are available\n * in a drop-down menu.\n *\n * You can choose the type of separator to be used from a number of predefined options.\n *\n * ### Keyboard Handling\n * The `ui5-breadcrumbs` provides advanced keyboard handling.\n *\n * - [F4], [Alt] + [Up], [Alt] + [Down], [Space], or [Enter] - If the dropdown arrow is focused - opens/closes the drop-down.\n * - [Space],[Enter] - Activates the focused item and triggers the `item-click` event.\n * - [Escape] - Closes the drop-down.\n * - [Left] - If the drop-down is closed - navigates one item to the left.\n * - [Right] - If the drop-down is closed - navigates one item to the right.\n * - [Up] - If the drop-down is open - moves focus to the next item.\n * - [Down] - If the drop-down is open - moves focus to the previous item.\n * - [Home] - Navigates to the first item.\n * - [End] - Navigates to the last item.\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.15\n */\n@customElement({\n\ttag: \"ui5-breadcrumbs\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: BreadcrumbsTemplate,\n\tstyles: [breadcrumbsCss, breadcrumbsPopoverCss],\n\tdependencies: [\n\t\tBreadcrumbsItem,\n\t\tLink,\n\t\tResponsivePopover,\n\t\tList,\n\t\tStandardListItem,\n\t\tIcon,\n\t\tButton,\n\t],\n})\n/**\n * Fires when a `BreadcrumbsItem` is clicked.\n *\n * **Note:** You can prevent browser location change by calling `event.preventDefault()`.\n * @allowPreventDefault\n * @param {HTMLElement} item The clicked item.\n * @param {Boolean} altKey Returns whether the \"ALT\" key was pressed when the event was triggered.\n * @param {Boolean} ctrlKey Returns whether the \"CTRL\" key was pressed when the event was triggered.\n * @param {Boolean} metaKey Returns whether the \"META\" key was pressed when the event was triggered.\n * @param {Boolean} shiftKey Returns whether the \"SHIFT\" key was pressed when the event was triggered.\n * @public\n */\n@event<BreadcrumbsItemClickEventDetail>(\"item-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\taltKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tctrlKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tmetaKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tshiftKey: { type: Boolean },\n\t},\n})\nclass Breadcrumbs extends UI5Element {\n\t/**\n\t * Defines the visual appearance of the last BreadcrumbsItem.\n\t *\n\t * The Breadcrumbs supports two visual appearances for the last BreadcrumbsItem:\n\t * - \"Standard\" - displaying the last item as \"current page\" (bold and without separator)\n\t * - \"NoCurrentPage\" - displaying the last item as a regular BreadcrumbsItem, followed by separator\n\t * @default \"Standard\"\n\t * @public\n\t*/\n\t@property({ type: BreadcrumbsDesign, defaultValue: BreadcrumbsDesign.Standard })\n\tdesign!: `${BreadcrumbsDesign}`;\n\n\t/**\n\t * Determines the visual style of the separator between the breadcrumb items.\n\t * @default \"Slash\"\n\t * @public\n\t */\n\t@property({ type: BreadcrumbsSeparator, defaultValue: BreadcrumbsSeparator.Slash })\n\tseparators!: `${BreadcrumbsSeparator}`;\n\n\t/**\n\t * Holds the number of items in the overflow.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ validator: Integer, noAttribute: true, defaultValue: 0 })\n\t_overflowSize!: number;\n\n\t/**\n\t * Defines the component items.\n\t *\n\t * **Note:** Use the `ui5-breadcrumbs-item` component to define the desired items.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<BreadcrumbsItem>;\n\n\t_itemNavigation: ItemNavigation\n\t_onResizeHandler: ResizeObserverCallback;\n\n\t// maps items to their widths\n\t_breadcrumbItemWidths = new WeakMap<BreadcrumbsItem, number>();\n\t// the width of the interactive element that opens the overflow\n\t_dropdownArrowLinkWidth = 0;\n\tresponsivePopover?: ResponsivePopover;\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tnavigationMode: NavigationMode.Horizontal,\n\t\t\tgetItemsCallback: () => this._getFocusableItems(),\n\t\t});\n\n\t\tthis._onResizeHandler = this._updateOverflow.bind(this);\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.reason === \"childchange\") {\n\t\t\tconst itemIndex = this._getItems().indexOf(changeInfo.child as BreadcrumbsItem),\n\t\t\t\tisInOverflow = itemIndex < this._overflowSize;\n\t\t\tif (isInOverflow) {\n\t\t\t\t// the content of an overflowing item has changed\n\t\t\t\t// => need to render the item outside the overflow to obtain its new width\n\t\t\t\t// => lower-down the `_overfowSize` to exclude that item from the overflow\n\t\t\t\tthis._overflowSize = itemIndex;\n\t\t\t}\n\t\t}\n\t}\n\n\t_getItems() {\n\t\treturn this.getSlottedNodes<BreadcrumbsItem>(\"items\");\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._preprocessItems();\n\t}\n\n\tonAfterRendering() {\n\t\tthis._cacheWidths();\n\t\tthis._updateOverflow();\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResizeHandler);\n\t}\n\n\t_initItemNavigation() {\n\t\tif (!this._itemNavigation) {\n\t\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\t\tnavigationMode: NavigationMode.Horizontal,\n\t\t\t\tgetItemsCallback: () => this._getFocusableItems(),\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Obtains the items for navigation via keyboard\n\t * @private\n\t */\n\t_getFocusableItems() {\n\t\tconst items: Array<ITabbable> = this._links;\n\n\t\tif (!this._isOverflowEmpty) {\n\t\t\titems.unshift(this._dropdownArrowLink);\n\t\t}\n\n\t\treturn items;\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst currentItem = e.target as Link;\n\n\t\tthis._itemNavigation.setCurrentItem(currentItem);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isDropdownArrowFocused = this._isDropdownArrowFocused;\n\n\t\tif (isShow(e) && isDropdownArrowFocused && !this._isOverflowEmpty) {\n\t\t\te.preventDefault();\n\t\t\tthis._toggleRespPopover();\n\t\t\treturn;\n\t\t}\n\t\tif (isSpace(e) && isDropdownArrowFocused && !this._isOverflowEmpty && !this._isPickerOpen) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (this._isDropdownArrowFocused && isSpace(e) && !this._isOverflowEmpty && !this._isPickerOpen) {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\t/**\n\t * Caches the space required to render the content\n\t * @private\n\t */\n\t_cacheWidths() {\n\t\tconst map = this._breadcrumbItemWidths,\n\t\t\titems = this._getItems();\n\n\t\tfor (let i = this._overflowSize; i < items.length; i++) {\n\t\t\tconst item = items[i],\n\t\t\t\tlink = this.shadowRoot!.querySelector<HTMLElement>(`#${item._id}-link-wrapper`)!;\n\t\t\tmap.set(item, this._getElementWidth(link));\n\t\t}\n\n\t\tif (!this._isOverflowEmpty) {\n\t\t\tconst arrow = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-breadcrumbs-dropdown-arrow-link-wrapper\")!;\n\t\t\tthis._dropdownArrowLinkWidth = this._getElementWidth(arrow);\n\t\t}\n\t}\n\n\t_updateOverflow() {\n\t\tconst items = this._getItems(),\n\t\t\tavailableWidth = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-breadcrumbs-root\")!.offsetWidth;\n\t\tlet requiredWidth = this._getTotalContentWidth(),\n\t\t\toverflowSize = 0;\n\n\t\tif (requiredWidth > availableWidth) {\n\t\t\t// need to show the component that opens the overflow\n\t\t\trequiredWidth += this._dropdownArrowLinkWidth;\n\t\t}\n\n\t\twhile ((requiredWidth >= availableWidth) && (overflowSize < this._maxAllowedOverflowSize)) {\n\t\t\tconst itemToOverflow = items[overflowSize];\n\t\t\tlet itemWidth = 0;\n\n\t\t\tif (this._isItemVisible(itemToOverflow)) {\n\t\t\t\titemWidth = this._breadcrumbItemWidths.get(itemToOverflow) || 0;\n\t\t\t}\n\n\t\t\t// move the item to the overflow\n\t\t\trequiredWidth -= itemWidth;\n\t\t\toverflowSize++;\n\t\t}\n\n\t\tthis._overflowSize = overflowSize;\n\n\t\t// if overflow was emptied while picker was open => close redundant popup\n\t\tif (this._isOverflowEmpty && this._isPickerOpen) {\n\t\t\tthis.responsivePopover!.close();\n\t\t}\n\n\t\t// if the last focused link has done into the overflow =>\n\t\t// ensure the first visible link is focusable\n\t\tconst focusableItems = this._getFocusableItems();\n\t\tif (!focusableItems.some(x => x.forcedTabIndex === \"0\")) {\n\t\t\tthis._itemNavigation.setCurrentItem(focusableItems[0]);\n\t\t}\n\t}\n\n\t_getElementWidth(element: HTMLElement) {\n\t\tif (element) {\n\t\t\treturn Math.ceil(element.getBoundingClientRect().width);\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t_getTotalContentWidth() {\n\t\tconst items = this._getItems(),\n\t\t\twidthsMap = this._breadcrumbItemWidths,\n\t\t\ttotalLinksWidth = items.reduce((sum, link) => sum + widthsMap.get(link)!, 0);\n\n\t\treturn totalLinksWidth;\n\t}\n\n\t_onLinkPress(e: CustomEvent<LinkClickEventDetail>) {\n\t\tconst link = e.target as Link,\n\t\t\titems = this._getItems(),\n\t\t\titem = items.find(x => `${x._id}-link` === link.id)!,\n\t\t\t{\n\t\t\t\taltKey,\n\t\t\t\tctrlKey,\n\t\t\t\tmetaKey,\n\t\t\t\tshiftKey,\n\t\t\t} = e.detail;\n\n\t\tif (!this.fireEvent<BreadcrumbsItemClickEventDetail>(\"item-click\", {\n\t\t\titem,\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t}, true)) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (item._isCurrentPageItem) {\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\t_onOverflowListItemSelect(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst listItem = e.detail.selectedItems[0],\n\t\t\titems = this._getItems(),\n\t\t\titem = items.find(x => `${x._id}-li` === listItem.id)!;\n\n\t\tif (this.fireEvent(\"item-click\", { item }, true)) {\n\t\t\twindow.open(item.href, item.target || \"_self\", \"noopener,noreferrer\");\n\t\t\tthis.responsivePopover!.close();\n\t\t}\n\t}\n\n\t_respPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t_toggleRespPopover() {\n\t\tthis.responsivePopover = this._respPopover();\n\n\t\tif (this._isPickerOpen) {\n\t\t\tthis._closeRespPopover();\n\t\t} else {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\t_closeRespPopover() {\n\t\tthis.responsivePopover && this.responsivePopover.close();\n\t}\n\n\t_openRespPopover() {\n\t\tthis.responsivePopover = this._respPopover();\n\t\tthis.responsivePopover.showAt(this._dropdownArrowLink);\n\t}\n\n\t_isItemVisible(item: BreadcrumbsItem) {\n\t\treturn !item.hidden && this._hasVisibleContent(item);\n\t}\n\n\t_hasVisibleContent(item: BreadcrumbsItem) {\n\t\t// the check is not complete but may be extended in the future if needed to cover\n\t\t// cases besides the standard (UX-recommended) ones\n\t\treturn item.innerText || Array.from(item.children).some(child => !(child as HTMLElement).hidden);\n\t}\n\n\t_preprocessItems() {\n\t\tthis.items.forEach(item => {\n\t\t\titem._getRealDomRef = () => this.getDomRef()!.querySelector(`[data-ui5-stable*=${item.stableDomRef}]`)!;\n\t\t});\n\t}\n\n\t_getItemPositionText(position: number, size: number) {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMB_ITEM_POS, position, size);\n\t}\n\n\t_getItemAccessibleName(item: BreadcrumbsItem, position: number, size: number) {\n\t\tconst positionText = this._getItemPositionText(position, size);\n\t\tconst itemsText = item.textContent || \"\";\n\n\t\t// innerText is needed as it is no longer read out when label is set\n\t\tlet text = \"\";\n\t\tif (item.accessibleName) {\n\t\t\ttext = `${itemsText.trim()} ${item.accessibleName} ${positionText}`;\n\t\t} else {\n\t\t\ttext = `${itemsText.trim()} ${positionText}`;\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tget _visibleItems() {\n\t\treturn this._getItems()\n\t\t\t.slice(this._overflowSize)\n\t\t\t.filter(i => this._isItemVisible(i));\n\t}\n\n\tget _endsWithCurrentPageItem() {\n\t\treturn this.design === BreadcrumbsDesign.Standard;\n\t}\n\n\tget _isDropdownArrowFocused() {\n\t\treturn this._dropdownArrowLink.forcedTabIndex === \"0\";\n\t}\n\n\t/**\n\t * Returns the maximum allowed count of items in the overflow\n\t * with respect to the UX requirement to never overflow the last visible item\n\t */\n\tget _maxAllowedOverflowSize() {\n\t\tconst items = this._getItems().filter(item => this._isItemVisible(item));\n\t\t// all items except tha last visible one are allowed to overflow by UX requirement\n\t\treturn items.length - 1;\n\t}\n\n\t/**\n\t * Getter for the interactive element that opens the overflow\n\t * @private\n\t */\n\tget _dropdownArrowLink() {\n\t\treturn this.shadowRoot!.querySelector<Link>(\".ui5-breadcrumbs-dropdown-arrow-link-wrapper [ui5-link]\")!;\n\t}\n\n\t/**\n\t * Getter for the list of abstract breadcrumb items to be rendered as list-items inside the overflow\n\t */\n\tget _overflowItemsData() {\n\t\treturn this._getItems()\n\t\t\t.slice(0, this._overflowSize)\n\t\t\t.filter(item => this._isItemVisible(item))\n\t\t\t.reverse();\n\t}\n\n\t/**\n\t * Getter for the list of abstract breadcrumb items to be rendered as links outside the overflow\n\t */\n\tget _linksData() {\n\t\tconst items = this._visibleItems;\n\t\tconst itemsCount = items.length;\n\n\t\treturn items\n\t\t\t.map((item, index) => {\n\t\t\t\titem._accessibleNameText = this._getItemAccessibleName(item, index + 1, itemsCount);\n\t\t\t\titem._isCurrentPageItem = index === (itemsCount - 1) && this._endsWithCurrentPageItem;\n\t\t\t\treturn item;\n\t\t\t});\n\t}\n\n\t/**\n\t * Getter for the list of links corresponding to the abstract breadcrumb items\n\t */\n\tget _links() {\n\t\treturn Array.from(this.shadowRoot!.querySelectorAll<Link>(\".ui5-breadcrumbs-link-wrapper [ui5-link]\"));\n\t}\n\n\tget _isOverflowEmpty() {\n\t\treturn this._overflowItemsData.length === 0;\n\t}\n\n\tget linkAccessibilityAttributes(): Pick<AccessibilityAttributes, \"hasPopup\"> {\n\t\treturn {\n\t\t\thasPopup: this._isOverflowEmpty ? undefined : \"listbox\",\n\t\t};\n\t}\n\n\tget _isPickerOpen() {\n\t\treturn !!this.responsivePopover && this.responsivePopover.open;\n\t}\n\n\tget _accessibleNameText() {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMBS_ARIA_LABEL);\n\t}\n\n\tget _dropdownArrowAccessibleNameText() {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMBS_OVERFLOW_ARIA_LABEL);\n\t}\n\n\tget _cancelButtonText() {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMBS_CANCEL_BUTTON);\n\t}\n\n\tstatic async onDefine() {\n\t\tBreadcrumbs.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nBreadcrumbs.define();\n\nexport default Breadcrumbs;\nexport type {\n\tBreadcrumbsItemClickEventDetail,\n};\n"]}