@ui5/webcomponents 2.20.0-rc.2 → 2.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Avatar.d.ts +4 -0
  4. package/dist/Avatar.js.map +1 -1
  5. package/dist/Breadcrumbs.d.ts +3 -3
  6. package/dist/Breadcrumbs.js +1 -1
  7. package/dist/Breadcrumbs.js.map +1 -1
  8. package/dist/Carousel.d.ts +2 -2
  9. package/dist/Carousel.js +1 -1
  10. package/dist/Carousel.js.map +1 -1
  11. package/dist/ComboBox.d.ts +37 -8
  12. package/dist/ComboBox.js +39 -10
  13. package/dist/ComboBox.js.map +1 -1
  14. package/dist/ComboBoxItem.d.ts +5 -1
  15. package/dist/ComboBoxItem.js.map +1 -1
  16. package/dist/DatePicker.d.ts +7 -0
  17. package/dist/DatePicker.js +10 -0
  18. package/dist/DatePicker.js.map +1 -1
  19. package/dist/DatePickerInputTemplate.js +1 -1
  20. package/dist/DatePickerInputTemplate.js.map +1 -1
  21. package/dist/DateTimeInput.d.ts +1 -0
  22. package/dist/DateTimeInput.js +1 -0
  23. package/dist/DateTimeInput.js.map +1 -1
  24. package/dist/DayPicker.js +6 -6
  25. package/dist/DayPicker.js.map +1 -1
  26. package/dist/Icon.js +1 -1
  27. package/dist/Icon.js.map +1 -1
  28. package/dist/Input.js +1 -1
  29. package/dist/Input.js.map +1 -1
  30. package/dist/Link.js +1 -1
  31. package/dist/Link.js.map +1 -1
  32. package/dist/List.d.ts +1 -0
  33. package/dist/List.js +17 -2
  34. package/dist/List.js.map +1 -1
  35. package/dist/ListItemCustom.d.ts +2 -2
  36. package/dist/ListItemCustom.js +2 -2
  37. package/dist/ListItemCustom.js.map +1 -1
  38. package/dist/MonthPicker.js +2 -2
  39. package/dist/MonthPicker.js.map +1 -1
  40. package/dist/MultiComboBox.d.ts +19 -1
  41. package/dist/MultiComboBox.js +52 -7
  42. package/dist/MultiComboBox.js.map +1 -1
  43. package/dist/MultiComboBoxItem.d.ts +12 -0
  44. package/dist/MultiComboBoxItem.js +3 -0
  45. package/dist/MultiComboBoxItem.js.map +1 -1
  46. package/dist/Option.d.ts +2 -0
  47. package/dist/Option.js.map +1 -1
  48. package/dist/RatingIndicator.d.ts +2 -4
  49. package/dist/RatingIndicator.js +18 -9
  50. package/dist/RatingIndicator.js.map +1 -1
  51. package/dist/RatingIndicatorTemplate.js +6 -6
  52. package/dist/RatingIndicatorTemplate.js.map +1 -1
  53. package/dist/TabContainer.js +1 -1
  54. package/dist/TabContainer.js.map +1 -1
  55. package/dist/Table.js +2 -2
  56. package/dist/Table.js.map +1 -1
  57. package/dist/TableCell.js +2 -0
  58. package/dist/TableCell.js.map +1 -1
  59. package/dist/TableHeaderCell.js +1 -0
  60. package/dist/TableHeaderCell.js.map +1 -1
  61. package/dist/TableRow.d.ts +2 -2
  62. package/dist/TableRow.js +19 -7
  63. package/dist/TableRow.js.map +1 -1
  64. package/dist/TableRowActionBase.d.ts +2 -2
  65. package/dist/TableRowActionBase.js.map +1 -1
  66. package/dist/TableRowActionNavigation.d.ts +4 -0
  67. package/dist/TableRowActionNavigation.js +4 -0
  68. package/dist/TableRowActionNavigation.js.map +1 -1
  69. package/dist/TableRowTemplate.js +1 -1
  70. package/dist/TableRowTemplate.js.map +1 -1
  71. package/dist/TextArea.js +1 -1
  72. package/dist/TextArea.js.map +1 -1
  73. package/dist/TimePickerClock.js +1 -1
  74. package/dist/TimePickerClock.js.map +1 -1
  75. package/dist/TimePickerInternals.js +2 -2
  76. package/dist/TimePickerInternals.js.map +1 -1
  77. package/dist/Toolbar.d.ts +11 -11
  78. package/dist/Toolbar.js +3 -3
  79. package/dist/Toolbar.js.map +1 -1
  80. package/dist/ToolbarButton.d.ts +22 -3
  81. package/dist/ToolbarButton.js +23 -3
  82. package/dist/ToolbarButton.js.map +1 -1
  83. package/dist/ToolbarItem.d.ts +37 -73
  84. package/dist/ToolbarItem.js +25 -108
  85. package/dist/ToolbarItem.js.map +1 -1
  86. package/dist/ToolbarItemBase.d.ts +69 -0
  87. package/dist/ToolbarItemBase.js +142 -0
  88. package/dist/ToolbarItemBase.js.map +1 -0
  89. package/dist/ToolbarSelect.d.ts +6 -5
  90. package/dist/ToolbarSelect.js +3 -3
  91. package/dist/ToolbarSelect.js.map +1 -1
  92. package/dist/ToolbarSeparator.d.ts +3 -3
  93. package/dist/ToolbarSeparator.js +3 -3
  94. package/dist/ToolbarSeparator.js.map +1 -1
  95. package/dist/ToolbarSpacer.d.ts +3 -3
  96. package/dist/ToolbarSpacer.js +3 -5
  97. package/dist/ToolbarSpacer.js.map +1 -1
  98. package/dist/ToolbarTemplate.js +2 -1
  99. package/dist/ToolbarTemplate.js.map +1 -1
  100. package/dist/YearPicker.js +2 -2
  101. package/dist/YearPicker.js.map +1 -1
  102. package/dist/YearRangePicker.js +2 -2
  103. package/dist/YearRangePicker.js.map +1 -1
  104. package/dist/css/themes/DatePicker.css +1 -1
  105. package/dist/css/themes/DateTimePicker.css +1 -1
  106. package/dist/css/themes/TableCellBase.css +1 -1
  107. package/dist/css/themes/TableRow.css +1 -1
  108. package/dist/css/themes/Toolbar.css +1 -1
  109. package/dist/custom-elements-internal.json +18783 -18252
  110. package/dist/custom-elements.json +15659 -15394
  111. package/dist/dynamic-date-range-options/DateRange.d.ts +1 -0
  112. package/dist/dynamic-date-range-options/DateRange.js +1 -0
  113. package/dist/dynamic-date-range-options/DateRange.js.map +1 -1
  114. package/dist/dynamic-date-range-options/DateTimeRange.d.ts +1 -0
  115. package/dist/dynamic-date-range-options/DateTimeRange.js +1 -0
  116. package/dist/dynamic-date-range-options/DateTimeRange.js.map +1 -1
  117. package/dist/dynamic-date-range-options/FromDateTime.d.ts +1 -0
  118. package/dist/dynamic-date-range-options/FromDateTime.js +1 -0
  119. package/dist/dynamic-date-range-options/FromDateTime.js.map +1 -1
  120. package/dist/dynamic-date-range-options/LastOptions.d.ts +1 -0
  121. package/dist/dynamic-date-range-options/LastOptions.js +1 -0
  122. package/dist/dynamic-date-range-options/LastOptions.js.map +1 -1
  123. package/dist/dynamic-date-range-options/NextOptions.d.ts +1 -0
  124. package/dist/dynamic-date-range-options/NextOptions.js +1 -0
  125. package/dist/dynamic-date-range-options/NextOptions.js.map +1 -1
  126. package/dist/dynamic-date-range-options/SingleDate.d.ts +1 -0
  127. package/dist/dynamic-date-range-options/SingleDate.js +1 -0
  128. package/dist/dynamic-date-range-options/SingleDate.js.map +1 -1
  129. package/dist/dynamic-date-range-options/ToDateTime.d.ts +1 -0
  130. package/dist/dynamic-date-range-options/ToDateTime.js +1 -0
  131. package/dist/dynamic-date-range-options/ToDateTime.js.map +1 -1
  132. package/dist/dynamic-date-range-options/Today.d.ts +1 -0
  133. package/dist/dynamic-date-range-options/Today.js +1 -0
  134. package/dist/dynamic-date-range-options/Today.js.map +1 -1
  135. package/dist/dynamic-date-range-options/Tomorrow.d.ts +1 -0
  136. package/dist/dynamic-date-range-options/Tomorrow.js +1 -0
  137. package/dist/dynamic-date-range-options/Tomorrow.js.map +1 -1
  138. package/dist/dynamic-date-range-options/Yesterday.d.ts +1 -0
  139. package/dist/dynamic-date-range-options/Yesterday.js +1 -0
  140. package/dist/dynamic-date-range-options/Yesterday.js.map +1 -1
  141. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  142. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  143. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  144. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  145. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  146. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  147. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  148. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  149. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  150. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  151. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  152. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  153. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  154. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  155. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  156. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  157. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  158. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  159. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  160. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  161. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  162. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  163. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  164. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  165. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  166. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  167. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  168. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  169. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  170. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  171. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  172. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  173. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  174. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  175. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  176. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  177. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  178. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  179. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  180. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  181. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  182. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  183. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  184. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  185. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  186. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  187. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  188. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  189. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  190. package/dist/generated/i18n/i18n-defaults.js +3 -2
  191. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  192. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  193. package/dist/generated/themes/DatePicker.css.js +1 -1
  194. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  195. package/dist/generated/themes/DateTimePicker.css.d.ts +1 -1
  196. package/dist/generated/themes/DateTimePicker.css.js +1 -1
  197. package/dist/generated/themes/DateTimePicker.css.js.map +1 -1
  198. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  199. package/dist/generated/themes/TableCellBase.css.js +1 -1
  200. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  201. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  202. package/dist/generated/themes/TableRow.css.js +1 -1
  203. package/dist/generated/themes/TableRow.css.js.map +1 -1
  204. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  205. package/dist/generated/themes/Toolbar.css.js +1 -1
  206. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  207. package/dist/types/AvatarMode.d.ts +1 -3
  208. package/dist/types/AvatarMode.js +1 -3
  209. package/dist/types/AvatarMode.js.map +1 -1
  210. package/dist/types/TableOverflowMode.d.ts +1 -2
  211. package/dist/types/TableOverflowMode.js +1 -2
  212. package/dist/types/TableOverflowMode.js.map +1 -1
  213. package/dist/vscode.html-custom-data.json +2725 -1977
  214. package/dist/web-types.json +5793 -4396
  215. package/package.json +12 -10
  216. package/src/DatePickerInputTemplate.tsx +1 -0
  217. package/src/RatingIndicatorTemplate.tsx +6 -6
  218. package/src/TableRowTemplate.tsx +0 -1
  219. package/src/ToolbarTemplate.tsx +2 -1
  220. package/src/i18n/messagebundle.properties +3 -0
  221. package/src/i18n/messagebundle_ar.properties +3 -3
  222. package/src/i18n/messagebundle_bg.properties +3 -3
  223. package/src/i18n/messagebundle_ca.properties +3 -3
  224. package/src/i18n/messagebundle_cnr.properties +3 -3
  225. package/src/i18n/messagebundle_cs.properties +3 -3
  226. package/src/i18n/messagebundle_cy.properties +3 -3
  227. package/src/i18n/messagebundle_da.properties +3 -3
  228. package/src/i18n/messagebundle_de.properties +3 -3
  229. package/src/i18n/messagebundle_el.properties +3 -3
  230. package/src/i18n/messagebundle_en.properties +3 -3
  231. package/src/i18n/messagebundle_en_GB.properties +3 -3
  232. package/src/i18n/messagebundle_es.properties +3 -3
  233. package/src/i18n/messagebundle_es_MX.properties +3 -3
  234. package/src/i18n/messagebundle_et.properties +3 -3
  235. package/src/i18n/messagebundle_fi.properties +3 -3
  236. package/src/i18n/messagebundle_fr.properties +3 -3
  237. package/src/i18n/messagebundle_fr_CA.properties +3 -3
  238. package/src/i18n/messagebundle_hi.properties +3 -3
  239. package/src/i18n/messagebundle_hr.properties +3 -3
  240. package/src/i18n/messagebundle_hu.properties +3 -3
  241. package/src/i18n/messagebundle_id.properties +3 -3
  242. package/src/i18n/messagebundle_it.properties +3 -3
  243. package/src/i18n/messagebundle_iw.properties +3 -3
  244. package/src/i18n/messagebundle_ja.properties +3 -3
  245. package/src/i18n/messagebundle_kk.properties +4 -4
  246. package/src/i18n/messagebundle_ko.properties +3 -3
  247. package/src/i18n/messagebundle_lt.properties +3 -3
  248. package/src/i18n/messagebundle_lv.properties +3 -3
  249. package/src/i18n/messagebundle_mk.properties +3 -3
  250. package/src/i18n/messagebundle_ms.properties +3 -3
  251. package/src/i18n/messagebundle_nl.properties +3 -3
  252. package/src/i18n/messagebundle_no.properties +3 -3
  253. package/src/i18n/messagebundle_pl.properties +3 -3
  254. package/src/i18n/messagebundle_pt.properties +3 -3
  255. package/src/i18n/messagebundle_pt_PT.properties +3 -3
  256. package/src/i18n/messagebundle_ro.properties +3 -3
  257. package/src/i18n/messagebundle_ru.properties +3 -3
  258. package/src/i18n/messagebundle_sh.properties +3 -3
  259. package/src/i18n/messagebundle_sk.properties +3 -3
  260. package/src/i18n/messagebundle_sl.properties +3 -3
  261. package/src/i18n/messagebundle_sr.properties +3 -3
  262. package/src/i18n/messagebundle_sv.properties +8 -8
  263. package/src/i18n/messagebundle_th.properties +3 -3
  264. package/src/i18n/messagebundle_tr.properties +3 -3
  265. package/src/i18n/messagebundle_uk.properties +3 -3
  266. package/src/i18n/messagebundle_vi.properties +3 -3
  267. package/src/i18n/messagebundle_zh_CN.properties +3 -3
  268. package/src/i18n/messagebundle_zh_TW.properties +3 -3
  269. package/src/themes/DatePicker.css +2 -2
  270. package/src/themes/DateTimePicker.css +2 -0
  271. package/src/themes/TableCellBase.css +2 -1
  272. package/src/themes/TableRow.css +4 -6
  273. package/src/themes/Toolbar.css +6 -0
package/dist/Avatar.d.ts CHANGED
@@ -188,6 +188,10 @@ declare class Avatar extends UI5Element implements ITabbable, IAvatarGroupItem {
188
188
  /**
189
189
  * Defines the optional badge that will be used for visual affordance.
190
190
  *
191
+ * **Recommendation:** While badges are supported on all avatars, it is recommended
192
+ * to use them with interactive avatars (via `mode="Interactive"` or `interactive` attribute)
193
+ * to provide better user experience and accessibility.
194
+ *
191
195
  * **Note:** While the slot allows for custom badges, to achieve
192
196
  * the Fiori design, use the `ui5-avatar-badge` component.
193
197
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../src/Avatar.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAI/E,OAAO,aAAa,MAAM,wDAAwD,CAAC;AAEnF,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAEnE,WAAW;AACX,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EACN,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GACjB,MAAM,mCAAmC,CAAC;AAE3C,SAAS;AACT,OAAO,SAAS,MAAM,kCAAkC,CAAC;AAGzD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAG/C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,OAAO;AACP,OAAO,2CAA2C,CAAC;AAInD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAmBH,IAAM,MAAM,cAAZ,MAAM,MAAO,SAAQ,UAAU;IAwM9B;QACC,KAAK,EAAE,CAAC;QArMT;;;;;;WAMG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;;;;;;;;;;WAWG;QAEH,gBAAW,GAAG,KAAK,CAAC;QAEpB;;;;;;;;;;;;;WAaG;QAEH,SAAI,GAAoB,OAAO,CAAC;QAsBhC;;;;;;;;;;;;;;;;;;WAkBG;QAEH,iBAAY,GAAG,UAAU,CAAC;QAY1B;;;;WAIG;QAEH,UAAK,GAAqB,QAAQ,CAAC;QAEnC;;;;WAIG;QAEH,SAAI,GAAoB,GAAG,CAAC;QAE5B;;;;;;WAMG;QAEH,gBAAW,GAA2B,MAAM,CAAC;QAE7C;;WAEG;QAEH,iBAAY,GAA2B,MAAM,CAAC;QAY9C;;;;;;;;;;WAUG;QAEH,4BAAuB,GAAkC,EAAE,CAAC;QAK5D;;WAEG;QAEH,cAAS,GAAG,KAAK,CAAC;QAElB;;WAEG;QAEH,oBAAe,GAAG,KAAK,CAAC;QAoCvB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,IAAI,QAAQ;QACX,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,IAAI,aAAa;QAChB,sFAAsF;QACtF,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAe,IAAI,UAAU,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACH,IAAI,wBAAwB;QAC3B,kGAAkG;QAClG,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAsB,IAAI,IAAI,CAAC,YAAY,CAAC;IACpF,CAAC;IAED,IAAI,KAAK;QACR,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,QAAQ,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC;YACzC,OAAO,cAAc,CAAC;QACvB,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,mBAAmB;QACtB,wEAAwE;QACxE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,YAAY;QACf,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrF,CAAC;IAED,IAAI,aAAa;QAChB,yDAAyD;QACzD,MAAM,aAAa,GAAG,uBAAuB,EAC5C,gBAAgB,GAAG,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvE,IAAI,gBAAgB,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACtB,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,kBAAkB;QACrB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,cAAc,CAAC;QAC5B,CAAC;QAED,MAAM,YAAY,GAAG,QAAM,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAE/D,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IACjF,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;IACrD,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,IAAI,CAAC,SAAS,EAAG,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,SAAS,EAAG,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,gBAAgB;QACrB,MAAM,cAAc,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;IACF,CAAC;IAED,UAAU;QACT,IAAI,SAAS,EAAE,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,iBAAiB,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EACtE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC3B,CAAC;IAED,SAAS;QACR,IAAI,CAAC,iBAAiB,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EACxE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE1B,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAClC,CAAC;IAED,YAAY;QACX,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;IACF,CAAC;IAED,cAAc;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAG,CAAC;QACjC,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,cAAc,IAAI,cAAc,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC;QAE/G,IAAI,aAAa,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO;QACR,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzB,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACpE,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC;IAC9E,CAAC;IAED,YAAY;QACX,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACvE,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC3E,CAAC;IAED,QAAQ,CAAC,CAAa;QACrB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO;QACR,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,oBAAoB;QACzC,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,CAAgB;QACxB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;IAED,UAAU;QACT,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,gBAAgB;QACf,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC;QAE3D,wDAAwD;QACxD,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;YACzC,OAAO;QACR,CAAC;QAED,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,yBAAyB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,OAAO;QACR,CAAC;QAED,+CAA+C;QAC/C,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1D,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE5D,sBAAsB;QACtB,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvD,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEzD,6BAA6B;QAC7B,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACjC,CAAC;IAED,wBAAwB;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,OAAO;QACR,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,iBAAiB;QAC/C,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,iBAAiB;QAChD,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,eAAe;QAC9C,CAAC;IACF,CAAC;IAED,yBAAyB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO;QACR,CAAC;QAED,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1D,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC7D,CAAC;IAED,YAAY,CAAC,CAAQ;QACpB,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,CAAC,CAAC,MAA2B,EAAE,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACpF,OAAO;QACR,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,aAAa,CAAC,CAAQ;QACrB,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,CAAC,CAAC,MAA2B,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACtF,OAAO;QACR,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,KAAiB;YAC5B,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAM,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAM,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACtH,WAAW,EAAE,IAAI,CAAC,kBAAkB;YACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC;IACH,CAAC;CACD,CAAA;AApcA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACX;AAejB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2CACR;AAiBpB;IADC,QAAQ,EAAE;oCACqB;AAoBhC;IADC,QAAQ,EAAE;oCACG;AAsBd;IADC,QAAQ,EAAE;4CACe;AAU1B;IADC,QAAQ,EAAE;wCACO;AAQlB;IADC,QAAQ,EAAE;qCACwB;AAQnC;IADC,QAAQ,EAAE;oCACiB;AAU5B;IADC,QAAQ,EAAE;2CACkC;AAM7C;IADC,QAAQ,EAAE;4CACmC;AAU9C;IADC,QAAQ,EAAE;8CACa;AAcxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDACiC;AAG5D;IADC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;8CACR;AAMxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yCACV;AAMlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;+CACvB;AAaxB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;qCACZ;AAWjC;IADC,IAAI,EAAE;qCACmB;AAGnB;IADN,IAAI,CAAC,oBAAoB,CAAC;gCACG;AAlMzB,MAAM;IAlBX,aAAa,CAAC;QACd,GAAG,EAAE,YAAY;QACjB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,cAAc;KACxB,CAAC;IACF;;;;;;;OAOG;;IACF,KAAK,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,IAAI;KACb,CAAC;GACI,MAAM,CAgdX;AAED,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,eAAe,MAAM,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot, DefaultSlot } 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-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type { AccessibilityAttributes, AriaRole } from \"@ui5/webcomponents-base/dist/types.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 \"./AvatarTemplate.js\";\n\nimport {\n\tAVATAR_TOOLTIP,\n\tAVATAR_TYPE_BUTTON,\n\tAVATAR_TYPE_IMAGE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport AvatarCss from \"./generated/themes/Avatar.css.js\";\n\nimport type Icon from \"./Icon.js\";\nimport AvatarSize from \"./types/AvatarSize.js\";\nimport type AvatarShape from \"./types/AvatarShape.js\";\nimport type AvatarColorScheme from \"./types/AvatarColorScheme.js\";\nimport AvatarMode from \"./types/AvatarMode.js\";\n\n// Icon\nimport \"@ui5/webcomponents-icons/dist/employee.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 `mode` is set to `Interactive` or the deprecated `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: jsxRenderer,\n\tstyles: AvatarCss,\n\ttemplate: AvatarTemplate,\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 * @public\n * @since 2.11.0\n */\n@event(\"click\", {\n\tbubbles: true,\n})\nclass Avatar extends UI5Element implements ITabbable, IAvatarGroupItem {\n\teventDetails!: {\n\t\tclick: void,\n\t}\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines if the avatar is interactive (focusable and pressable).\n\t *\n\t * **Note:** When set to `true`, this property takes precedence over the `mode` property,\n\t * and the avatar will be rendered as interactive (role=\"button\", focusable) regardless of the `mode` value.\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 * @deprecated Set `mode=\"Interactive\"` instead for the same functionality with proper accessibility.\n\t */\n\t@property({ type: Boolean })\n\tinteractive = false;\n\n\t/**\n\t * Defines the mode of the component.\n\t *\n\t * **Note:**\n\t * - `Image` (default) - renders with role=\"img\"\n\t * - `Decorative` - renders with role=\"presentation\" and aria-hidden=\"true\", making it purely decorative\n\t * - `Interactive` - renders with role=\"button\", focusable (tabindex=\"0\"), and supports keyboard interaction\n\t *\n\t * **Note:** This property is ignored when the `interactive` property is set to `true`.\n\t * In that case, the avatar will always be rendered as interactive.\n\t * @default \"Image\"\n\t * @public\n\t * @since 2.20\n\t */\n\t@property()\n\tmode: `${AvatarMode}` = \"Image\";\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 undefined\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 \"employee\"\n\t * @public\n\t */\n\t@property()\n\tfallbackIcon = \"employee\";\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 undefined\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()\n\tshape: `${AvatarShape}` = \"Circle\";\n\n\t/**\n\t * Defines predefined size of the component.\n\t * @default \"S\"\n\t * @public\n\t */\n\t@property()\n\tsize: `${AvatarSize}` = \"S\";\n\n\t/**\n\t * Defines the background color of the desired image.\n\t * If `colorScheme` is set to `Auto`, the avatar will be displayed with the `Accent6` color.\n\t *\n\t * @default \"Auto\"\n\t * @public\n\t */\n\t@property()\n\tcolorScheme: `${AvatarColorScheme}` = \"Auto\";\n\n\t/**\n\t * @private\n\t */\n\t@property()\n\t_colorScheme: `${AvatarColorScheme}` = \"Auto\";\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 undefined\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/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_hasImage = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_imageLoadError = false;\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 defined with the following CSS:<br/>\n\t * `ui5-avatar:not(:defined) {`<br/>\n\t * &nbsp;&nbsp;&nbsp;&nbsp;`visibility: hidden;`<br/>\n\t * `}`\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\timage!: DefaultSlot<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, use the `ui5-avatar-badge` component.\n\t * @public\n\t * @since 1.7.0\n\t */\n\t@slot()\n\tbadge!: Slot<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t_handleResizeBound: ResizeObserverCallback;\n\t_onImageLoadBound: (e: Event) => void;\n\t_onImageErrorBound: (e: Event) => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._handleResizeBound = this.handleResize.bind(this);\n\t\tthis._onImageLoadBound = this._onImageLoad.bind(this);\n\t\tthis._onImageErrorBound = this._onImageError.bind(this);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._attachImageEventHandlers();\n\t\tthis._hasImage = this.hasImage;\n\t}\n\n\tget tabindex() {\n\t\tif (this.forcedTabIndex) {\n\t\t\treturn parseInt(this.forcedTabIndex);\n\t\t}\n\t\treturn this._interactive ? 0 : undefined;\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 || AvatarSize.S;\n\t}\n\n\t/**\n\t * Returns the effective background color.\n\t * @default \"Auto\"\n\t * @private\n\t */\n\tget effectiveBackgroundColor(): 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\tif (this._interactive) {\n\t\t\treturn \"button\";\n\t\t}\n\t\tif (this.mode === AvatarMode.Decorative) {\n\t\t\treturn \"presentation\";\n\t\t}\n\t\treturn \"img\";\n\t}\n\n\tget effectiveAriaHidden() {\n\t\t// interactive property takes precedence - never hidden when interactive\n\t\tif (this.interactive) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn this.mode === AvatarMode.Decorative ? \"true\" : undefined;\n\t}\n\n\tget _ariaHasPopup() {\n\t\treturn this._getAriaHasPopup();\n\t}\n\n\tget _interactive() {\n\t\treturn (this.interactive || this.mode === AvatarMode.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\tconst defaultLabel = Avatar.i18nBundle.getText(AVATAR_TOOLTIP);\n\n\t\treturn this.initials ? `${defaultLabel} ${this.initials}`.trim() : defaultLabel;\n\t}\n\n\tget hasImage() {\n\t\treturn !!this.image.length && !this._imageLoadError;\n\t}\n\n\tget imageEl(): HTMLImageElement | null {\n\t\treturn this.image?.[0] instanceof HTMLImageElement ? this.image[0] : null;\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\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\n\t\tthis._detachImageEventHandlers();\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_onclick(e: MouseEvent) {\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.fireDecoratorEvent(\"click\");\n\t}\n\n\t_getAriaHasPopup() {\n\t\tconst ariaHaspopup = this.accessibilityAttributes.hasPopup;\n\n\t\t// aria-haspopup only applies when avatar is interactive\n\t\tif (!this._interactive || !ariaHaspopup) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn ariaHaspopup;\n\t}\n\n\t_attachImageEventHandlers() {\n\t\tconst imgEl = this.imageEl;\n\t\tif (!imgEl) {\n\t\t\tthis._imageLoadError = false;\n\t\t\treturn;\n\t\t}\n\n\t\t// Remove previous handlers to avoid duplicates\n\t\timgEl.removeEventListener(\"load\", this._onImageLoadBound);\n\t\timgEl.removeEventListener(\"error\", this._onImageErrorBound);\n\n\t\t// Attach new handlers\n\t\timgEl.addEventListener(\"load\", this._onImageLoadBound);\n\t\timgEl.addEventListener(\"error\", this._onImageErrorBound);\n\n\t\t// Check existing image state\n\t\tthis._checkExistingImageState();\n\t}\n\n\t_checkExistingImageState() {\n\t\tconst imgEl = this.imageEl;\n\t\tif (!imgEl) {\n\t\t\tthis._imageLoadError = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (imgEl.complete && imgEl.naturalWidth === 0) {\n\t\t\tthis._imageLoadError = true; // Already broken\n\t\t} else if (imgEl.complete && imgEl.naturalWidth > 0) {\n\t\t\tthis._imageLoadError = false; // Already loaded\n\t\t} else {\n\t\t\tthis._imageLoadError = false; // Pending load\n\t\t}\n\t}\n\n\t_detachImageEventHandlers() {\n\t\tconst imgEl = this.imageEl;\n\t\tif (!imgEl) {\n\t\t\treturn;\n\t\t}\n\n\t\timgEl.removeEventListener(\"load\", this._onImageLoadBound);\n\t\timgEl.removeEventListener(\"error\", this._onImageErrorBound);\n\t}\n\n\t_onImageLoad(e: Event) {\n\t\tif (e.target !== this.imageEl) {\n\t\t\t(e.target as HTMLImageElement)?.removeEventListener(\"load\", this._onImageLoadBound);\n\t\t\treturn;\n\t\t}\n\t\tthis._imageLoadError = false;\n\t}\n\n\t_onImageError(e: Event) {\n\t\tif (e.target !== this.imageEl) {\n\t\t\t(e.target as HTMLImageElement)?.removeEventListener(\"error\", this._onImageErrorBound);\n\t\t\treturn;\n\t\t}\n\t\tthis._imageLoadError = true;\n\t}\n\n\tget accessibilityInfo() {\n\t\treturn {\n\t\t\trole: this._role as AriaRole,\n\t\t\ttype: this._interactive ? Avatar.i18nBundle.getText(AVATAR_TYPE_BUTTON) : Avatar.i18nBundle.getText(AVATAR_TYPE_IMAGE),\n\t\t\tdescription: this.accessibleNameText,\n\t\t\tdisabled: this.disabled,\n\t\t};\n\t}\n}\n\nAvatar.define();\n\nexport default Avatar;\nexport type {\n\tAvatarAccessibilityAttributes,\n};\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 type { Slot, DefaultSlot } 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-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type { AccessibilityAttributes, AriaRole } from \"@ui5/webcomponents-base/dist/types.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 \"./AvatarTemplate.js\";\n\nimport {\n\tAVATAR_TOOLTIP,\n\tAVATAR_TYPE_BUTTON,\n\tAVATAR_TYPE_IMAGE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport AvatarCss from \"./generated/themes/Avatar.css.js\";\n\nimport type Icon from \"./Icon.js\";\nimport AvatarSize from \"./types/AvatarSize.js\";\nimport type AvatarShape from \"./types/AvatarShape.js\";\nimport type AvatarColorScheme from \"./types/AvatarColorScheme.js\";\nimport AvatarMode from \"./types/AvatarMode.js\";\n\n// Icon\nimport \"@ui5/webcomponents-icons/dist/employee.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 `mode` is set to `Interactive` or the deprecated `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: jsxRenderer,\n\tstyles: AvatarCss,\n\ttemplate: AvatarTemplate,\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 * @public\n * @since 2.11.0\n */\n@event(\"click\", {\n\tbubbles: true,\n})\nclass Avatar extends UI5Element implements ITabbable, IAvatarGroupItem {\n\teventDetails!: {\n\t\tclick: void,\n\t}\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines if the avatar is interactive (focusable and pressable).\n\t *\n\t * **Note:** When set to `true`, this property takes precedence over the `mode` property,\n\t * and the avatar will be rendered as interactive (role=\"button\", focusable) regardless of the `mode` value.\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 * @deprecated Set `mode=\"Interactive\"` instead for the same functionality with proper accessibility.\n\t */\n\t@property({ type: Boolean })\n\tinteractive = false;\n\n\t/**\n\t * Defines the mode of the component.\n\t *\n\t * **Note:**\n\t * - `Image` (default) - renders with role=\"img\"\n\t * - `Decorative` - renders with role=\"presentation\" and aria-hidden=\"true\", making it purely decorative\n\t * - `Interactive` - renders with role=\"button\", focusable (tabindex=\"0\"), and supports keyboard interaction\n\t *\n\t * **Note:** This property is ignored when the `interactive` property is set to `true`.\n\t * In that case, the avatar will always be rendered as interactive.\n\t * @default \"Image\"\n\t * @public\n\t * @since 2.20\n\t */\n\t@property()\n\tmode: `${AvatarMode}` = \"Image\";\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 undefined\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 \"employee\"\n\t * @public\n\t */\n\t@property()\n\tfallbackIcon = \"employee\";\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 undefined\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()\n\tshape: `${AvatarShape}` = \"Circle\";\n\n\t/**\n\t * Defines predefined size of the component.\n\t * @default \"S\"\n\t * @public\n\t */\n\t@property()\n\tsize: `${AvatarSize}` = \"S\";\n\n\t/**\n\t * Defines the background color of the desired image.\n\t * If `colorScheme` is set to `Auto`, the avatar will be displayed with the `Accent6` color.\n\t *\n\t * @default \"Auto\"\n\t * @public\n\t */\n\t@property()\n\tcolorScheme: `${AvatarColorScheme}` = \"Auto\";\n\n\t/**\n\t * @private\n\t */\n\t@property()\n\t_colorScheme: `${AvatarColorScheme}` = \"Auto\";\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 undefined\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/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_hasImage = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_imageLoadError = false;\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 defined with the following CSS:<br/>\n\t * `ui5-avatar:not(:defined) {`<br/>\n\t * &nbsp;&nbsp;&nbsp;&nbsp;`visibility: hidden;`<br/>\n\t * `}`\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\timage!: DefaultSlot<HTMLElement>;\n\n\t/**\n\t * Defines the optional badge that will be used for visual affordance.\n\t *\n\t * **Recommendation:** While badges are supported on all avatars, it is recommended\n\t * to use them with interactive avatars (via `mode=\"Interactive\"` or `interactive` attribute)\n\t * to provide better user experience and accessibility.\n\t *\n\t * **Note:** While the slot allows for custom badges, to achieve\n\t * the Fiori design, use the `ui5-avatar-badge` component.\n\t * @public\n\t * @since 1.7.0\n\t */\n\t@slot()\n\tbadge!: Slot<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t_handleResizeBound: ResizeObserverCallback;\n\t_onImageLoadBound: (e: Event) => void;\n\t_onImageErrorBound: (e: Event) => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._handleResizeBound = this.handleResize.bind(this);\n\t\tthis._onImageLoadBound = this._onImageLoad.bind(this);\n\t\tthis._onImageErrorBound = this._onImageError.bind(this);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._attachImageEventHandlers();\n\t\tthis._hasImage = this.hasImage;\n\t}\n\n\tget tabindex() {\n\t\tif (this.forcedTabIndex) {\n\t\t\treturn parseInt(this.forcedTabIndex);\n\t\t}\n\t\treturn this._interactive ? 0 : undefined;\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 || AvatarSize.S;\n\t}\n\n\t/**\n\t * Returns the effective background color.\n\t * @default \"Auto\"\n\t * @private\n\t */\n\tget effectiveBackgroundColor(): 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\tif (this._interactive) {\n\t\t\treturn \"button\";\n\t\t}\n\t\tif (this.mode === AvatarMode.Decorative) {\n\t\t\treturn \"presentation\";\n\t\t}\n\t\treturn \"img\";\n\t}\n\n\tget effectiveAriaHidden() {\n\t\t// interactive property takes precedence - never hidden when interactive\n\t\tif (this.interactive) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn this.mode === AvatarMode.Decorative ? \"true\" : undefined;\n\t}\n\n\tget _ariaHasPopup() {\n\t\treturn this._getAriaHasPopup();\n\t}\n\n\tget _interactive() {\n\t\treturn (this.interactive || this.mode === AvatarMode.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\tconst defaultLabel = Avatar.i18nBundle.getText(AVATAR_TOOLTIP);\n\n\t\treturn this.initials ? `${defaultLabel} ${this.initials}`.trim() : defaultLabel;\n\t}\n\n\tget hasImage() {\n\t\treturn !!this.image.length && !this._imageLoadError;\n\t}\n\n\tget imageEl(): HTMLImageElement | null {\n\t\treturn this.image?.[0] instanceof HTMLImageElement ? this.image[0] : null;\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\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\n\t\tthis._detachImageEventHandlers();\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_onclick(e: MouseEvent) {\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.fireDecoratorEvent(\"click\");\n\t}\n\n\t_getAriaHasPopup() {\n\t\tconst ariaHaspopup = this.accessibilityAttributes.hasPopup;\n\n\t\t// aria-haspopup only applies when avatar is interactive\n\t\tif (!this._interactive || !ariaHaspopup) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn ariaHaspopup;\n\t}\n\n\t_attachImageEventHandlers() {\n\t\tconst imgEl = this.imageEl;\n\t\tif (!imgEl) {\n\t\t\tthis._imageLoadError = false;\n\t\t\treturn;\n\t\t}\n\n\t\t// Remove previous handlers to avoid duplicates\n\t\timgEl.removeEventListener(\"load\", this._onImageLoadBound);\n\t\timgEl.removeEventListener(\"error\", this._onImageErrorBound);\n\n\t\t// Attach new handlers\n\t\timgEl.addEventListener(\"load\", this._onImageLoadBound);\n\t\timgEl.addEventListener(\"error\", this._onImageErrorBound);\n\n\t\t// Check existing image state\n\t\tthis._checkExistingImageState();\n\t}\n\n\t_checkExistingImageState() {\n\t\tconst imgEl = this.imageEl;\n\t\tif (!imgEl) {\n\t\t\tthis._imageLoadError = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (imgEl.complete && imgEl.naturalWidth === 0) {\n\t\t\tthis._imageLoadError = true; // Already broken\n\t\t} else if (imgEl.complete && imgEl.naturalWidth > 0) {\n\t\t\tthis._imageLoadError = false; // Already loaded\n\t\t} else {\n\t\t\tthis._imageLoadError = false; // Pending load\n\t\t}\n\t}\n\n\t_detachImageEventHandlers() {\n\t\tconst imgEl = this.imageEl;\n\t\tif (!imgEl) {\n\t\t\treturn;\n\t\t}\n\n\t\timgEl.removeEventListener(\"load\", this._onImageLoadBound);\n\t\timgEl.removeEventListener(\"error\", this._onImageErrorBound);\n\t}\n\n\t_onImageLoad(e: Event) {\n\t\tif (e.target !== this.imageEl) {\n\t\t\t(e.target as HTMLImageElement)?.removeEventListener(\"load\", this._onImageLoadBound);\n\t\t\treturn;\n\t\t}\n\t\tthis._imageLoadError = false;\n\t}\n\n\t_onImageError(e: Event) {\n\t\tif (e.target !== this.imageEl) {\n\t\t\t(e.target as HTMLImageElement)?.removeEventListener(\"error\", this._onImageErrorBound);\n\t\t\treturn;\n\t\t}\n\t\tthis._imageLoadError = true;\n\t}\n\n\tget accessibilityInfo() {\n\t\treturn {\n\t\t\trole: this._role as AriaRole,\n\t\t\ttype: this._interactive ? Avatar.i18nBundle.getText(AVATAR_TYPE_BUTTON) : Avatar.i18nBundle.getText(AVATAR_TYPE_IMAGE),\n\t\t\tdescription: this.accessibleNameText,\n\t\t\tdisabled: this.disabled,\n\t\t};\n\t}\n}\n\nAvatar.define();\n\nexport default Avatar;\nexport type {\n\tAvatarAccessibilityAttributes,\n};\n"]}
@@ -9,7 +9,7 @@ import BreadcrumbsDesign from "./types/BreadcrumbsDesign.js";
9
9
  import "./BreadcrumbsItem.js";
10
10
  import type BreadcrumbsItem from "./BreadcrumbsItem.js";
11
11
  import type BreadcrumbsSeparator from "./types/BreadcrumbsSeparator.js";
12
- import type { IOverflowToolbarItem } from "./ToolbarItem.js";
12
+ import type { IToolbarItemContent } from "./ToolbarItem.js";
13
13
  import type Link from "./Link.js";
14
14
  import type { LinkClickEventDetail } from "./Link.js";
15
15
  import type Label from "./Label.js";
@@ -52,11 +52,11 @@ type FocusAdaptor = ITabbable & {
52
52
  * - [End] - Navigates to the last item.
53
53
  * @constructor
54
54
  * @extends UI5Element
55
- * @implements {IOverflowToolbarItem}
55
+ * @implements {IToolbarItemContent}
56
56
  * @public
57
57
  * @since 1.0.0-rc.15
58
58
  */
59
- declare class Breadcrumbs extends UI5Element implements IOverflowToolbarItem {
59
+ declare class Breadcrumbs extends UI5Element implements IToolbarItemContent {
60
60
  eventDetails: {
61
61
  "item-click": BreadcrumbsItemClickEventDetail;
62
62
  };
@@ -52,7 +52,7 @@ import breadcrumbsPopoverCss from "./generated/themes/BreadcrumbsPopover.css.js"
52
52
  * - [End] - Navigates to the last item.
53
53
  * @constructor
54
54
  * @extends UI5Element
55
- * @implements {IOverflowToolbarItem}
55
+ * @implements {IToolbarItemContent}
56
56
  * @public
57
57
  * @since 1.0.0-rc.15
58
58
  */
@@ -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, DefaultSlot } 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-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { locationOpen } from \"@ui5/webcomponents-base/dist/Location.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport type { AccessibilityAttributes } from \"@ui5/webcomponents-base/dist/types.js\";\nimport {\n\tisSpace,\n\tisShow,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type I18nBundle 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 \"./BreadcrumbsItem.js\";\nimport type BreadcrumbsItem from \"./BreadcrumbsItem.js\";\nimport type BreadcrumbsSeparator from \"./types/BreadcrumbsSeparator.js\";\nimport type { IOverflowToolbarItem } from \"./ToolbarItem.js\";\n\nimport {\n\tBREADCRUMB_ITEM_POS,\n\tBREADCRUMBS_ARIA_LABEL,\n\tBREADCRUMBS_OVERFLOW_ARIA_LABEL,\n\tBREADCRUMBS_CANCEL_BUTTON,\n\tFORM_SELECTABLE_AVALIABLE_VALUES,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport type Link from \"./Link.js\";\nimport type { LinkClickEventDetail } from \"./Link.js\";\nimport type Label from \"./Label.js\";\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport type { ListSelectionChangeEventDetail } from \"./List.js\";\n\n// Templates\nimport BreadcrumbsTemplate from \"./BreadcrumbsTemplate.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\ntype FocusAdaptor = ITabbable & {\n\tgetlabelWrapper: () => Element | null;\n\tforcedTabIndex: string;\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 * @implements {IOverflowToolbarItem}\n * @public\n * @since 1.0.0-rc.15\n */\n@customElement({\n\ttag: \"ui5-breadcrumbs\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: BreadcrumbsTemplate,\n\tstyles: [breadcrumbsCss, breadcrumbsPopoverCss],\n})\n/**\n * Fires when a `BreadcrumbsItem` is clicked.\n *\n * **Note:** You can prevent browser location change by calling `event.preventDefault()`.\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(\"item-click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass Breadcrumbs extends UI5Element implements IOverflowToolbarItem {\n\teventDetails!: {\n\t\t\"item-click\": BreadcrumbsItemClickEventDetail,\n\t}\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()\n\tdesign: `${BreadcrumbsDesign}` = \"Standard\";\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()\n\tseparators: `${BreadcrumbsSeparator}` = \"Slash\";\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({ type: Number, noAttribute: true })\n\t_overflowSize = 0;\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!: DefaultSlot<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\t_labelFocusAdaptor: FocusAdaptor;\n\tresponsivePopover?: ResponsivePopover;\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tnavigationMode: NavigationMode.Auto,\n\t\t\tgetItemsCallback: () => this._getFocusableItems(),\n\t\t});\n\n\t\tthis._onResizeHandler = this._updateOverflow.bind(this);\n\n\t\tthis._labelFocusAdaptor = {\n\t\t\tid: `${this._id}-labelWrapper`,\n\t\t\tgetlabelWrapper: this.getCurrentLocationLabelWrapper.bind(this),\n\t\t\tset forcedTabIndex(value: string) {\n\t\t\t\tconst wrapper = this.getlabelWrapper();\n\t\t\t\twrapper && wrapper.setAttribute(\"tabindex\", value);\n\t\t\t},\n\t\t\tget forcedTabIndex() {\n\t\t\t\tconst wrapper = this.getlabelWrapper();\n\t\t\t\treturn wrapper?.getAttribute(\"tabindex\") || \"\";\n\t\t\t},\n\t\t};\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\tasync onAfterRendering() {\n\t\tawait renderFinished();\n\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.Auto,\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\tif (this._endsWithCurrentLocation && !this._endsWithCurrentLinkItem) {\n\t\t\titems.push(this._labelFocusAdaptor);\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tgetFocusDomRef() {\n\t\treturn this._itemNavigation._getCurrentItem();\n\t}\n\n\t/**\n\t * Returns the translatable accessible name for the popover\n\t * @private\n\t */\n\tget _accessibleNamePopover() {\n\t\treturn Breadcrumbs.i18nBundle.getText(FORM_SELECTABLE_AVALIABLE_VALUES);\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = e.target,\n\t\t\tlabelWrapper = this.getCurrentLocationLabelWrapper(),\n\t\t\tcurrentItem = (target === labelWrapper) ? this._labelFocusAdaptor : 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\treturn;\n\t\t}\n\t\tif ((isEnter(e) || isSpace(e)) && this._isCurrentLocationLabelFocused) {\n\t\t\tthis._onLabelPress(e);\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\t items = this._getItems(),\n\t\t\t label = this._currentLocationLabel;\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 (items.length && this._endsWithCurrentLocation && label) {\n\t\t\tconst item = items[items.length - 1];\n\n\t\t\tmap.set(item, this._getElementWidth(label));\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!.open = false;\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.fireDecoratorEvent(\"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})) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onLabelPress(e: MouseEvent | KeyboardEvent) {\n\t\tconst items = this._getItems(),\n\t\t\titem = items[items.length - 1],\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;\n\n\t\tthis.fireDecoratorEvent(\"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});\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.fireDecoratorEvent(\"item-click\", { item })) {\n\t\t\tlocationOpen(item.href, item.target || \"_self\", \"noopener,noreferrer\");\n\t\t\tthis.responsivePopover!.open = false;\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\tif (this.responsivePopover) {\n\t\t\tthis.responsivePopover.open = false;\n\t\t}\n\t}\n\n\t_openRespPopover() {\n\t\tthis.responsivePopover = this._respPopover();\n\t\tthis.responsivePopover.opener = this._dropdownArrowLink;\n\t\tthis.responsivePopover.open = true;\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\tgetCurrentLocationLabelWrapper() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-breadcrumbs-current-location > span\");\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 _endsWithCurrentLinkItem() {\n\t\tconst items = this._getItems();\n\t\treturn (items.length && items[items.length - 1].href);\n\t}\n\n\tget _endsWithCurrentLocation() {\n\t\treturn this.design === BreadcrumbsDesign.Standard;\n\t}\n\n\tget _currentLocationText() {\n\t\tconst items = this._getItems();\n\t\tif (this._endsWithCurrentLocation && items.length) {\n\t\t\tconst item = items[items.length - 1];\n\t\t\tif (this._isItemVisible(item)) {\n\t\t\t\treturn item.innerText;\n\t\t\t}\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tget _currentLocationLabel() {\n\t\treturn this.shadowRoot!.querySelector<Label>(\".ui5-breadcrumbs-current-location [ui5-label]\");\n\t}\n\n\tget _isDropdownArrowFocused() {\n\t\treturn this._dropdownArrowLink.forcedTabIndex === \"0\";\n\t}\n\n\tget _isCurrentLocationLabelFocused() {\n\t\tconst label = this.getCurrentLocationLabelWrapper();\n\t\treturn label && label.tabIndex === 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 * Returns all items that should be displayed in the popover on mobile devices\n\t * @private\n\t */\n\tget _mobilePopoverItems() {\n\t\treturn this._getItems()\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; // get size before removing of current location\n\n\t\tif (this._endsWithCurrentLocation && !this._endsWithCurrentLinkItem) {\n\t\t\titems.pop();\n\t\t}\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._endsWithCurrentLocation;\n\t\t\t\titem._needsSeparator = !item._isCurrentPageItem;\n\t\t\t\treturn item;\n\t\t\t});\n\t}\n\n\t/**\n\t * Getter for accessible name of the current location. Includes the position of the current location and the size of the breadcrumbs\n\t */\n\tget _currentLocationAccName() {\n\t\tconst items = this._visibleItems;\n\n\t\tconst positionText = this._getItemPositionText(items.length, items.length);\n\t\tconst lastItem = items[items.length - 1];\n\n\t\tif (!lastItem) {\n\t\t\treturn positionText;\n\t\t}\n\n\t\tconst lastItemText = lastItem.textContent || \"\";\n\n\t\tif (lastItem.accessibleName) {\n\t\t\treturn `${lastItemText.trim()} ${lastItem.accessibleName} ${positionText}`;\n\t\t}\n\n\t\treturn `${lastItemText.trim()} ${positionText}`;\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\tget hasOverflow() {\n\t\treturn true;\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, DefaultSlot } 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-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { locationOpen } from \"@ui5/webcomponents-base/dist/Location.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport type { AccessibilityAttributes } from \"@ui5/webcomponents-base/dist/types.js\";\nimport {\n\tisSpace,\n\tisShow,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type I18nBundle 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 \"./BreadcrumbsItem.js\";\nimport type BreadcrumbsItem from \"./BreadcrumbsItem.js\";\nimport type BreadcrumbsSeparator from \"./types/BreadcrumbsSeparator.js\";\nimport type { IToolbarItemContent } from \"./ToolbarItem.js\";\n\nimport {\n\tBREADCRUMB_ITEM_POS,\n\tBREADCRUMBS_ARIA_LABEL,\n\tBREADCRUMBS_OVERFLOW_ARIA_LABEL,\n\tBREADCRUMBS_CANCEL_BUTTON,\n\tFORM_SELECTABLE_AVALIABLE_VALUES,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport type Link from \"./Link.js\";\nimport type { LinkClickEventDetail } from \"./Link.js\";\nimport type Label from \"./Label.js\";\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport type { ListSelectionChangeEventDetail } from \"./List.js\";\n\n// Templates\nimport BreadcrumbsTemplate from \"./BreadcrumbsTemplate.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\ntype FocusAdaptor = ITabbable & {\n\tgetlabelWrapper: () => Element | null;\n\tforcedTabIndex: string;\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 * @implements {IToolbarItemContent}\n * @public\n * @since 1.0.0-rc.15\n */\n@customElement({\n\ttag: \"ui5-breadcrumbs\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: BreadcrumbsTemplate,\n\tstyles: [breadcrumbsCss, breadcrumbsPopoverCss],\n})\n/**\n * Fires when a `BreadcrumbsItem` is clicked.\n *\n * **Note:** You can prevent browser location change by calling `event.preventDefault()`.\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(\"item-click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass Breadcrumbs extends UI5Element implements IToolbarItemContent {\n\teventDetails!: {\n\t\t\"item-click\": BreadcrumbsItemClickEventDetail,\n\t}\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()\n\tdesign: `${BreadcrumbsDesign}` = \"Standard\";\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()\n\tseparators: `${BreadcrumbsSeparator}` = \"Slash\";\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({ type: Number, noAttribute: true })\n\t_overflowSize = 0;\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!: DefaultSlot<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\t_labelFocusAdaptor: FocusAdaptor;\n\tresponsivePopover?: ResponsivePopover;\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tnavigationMode: NavigationMode.Auto,\n\t\t\tgetItemsCallback: () => this._getFocusableItems(),\n\t\t});\n\n\t\tthis._onResizeHandler = this._updateOverflow.bind(this);\n\n\t\tthis._labelFocusAdaptor = {\n\t\t\tid: `${this._id}-labelWrapper`,\n\t\t\tgetlabelWrapper: this.getCurrentLocationLabelWrapper.bind(this),\n\t\t\tset forcedTabIndex(value: string) {\n\t\t\t\tconst wrapper = this.getlabelWrapper();\n\t\t\t\twrapper && wrapper.setAttribute(\"tabindex\", value);\n\t\t\t},\n\t\t\tget forcedTabIndex() {\n\t\t\t\tconst wrapper = this.getlabelWrapper();\n\t\t\t\treturn wrapper?.getAttribute(\"tabindex\") || \"\";\n\t\t\t},\n\t\t};\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\tasync onAfterRendering() {\n\t\tawait renderFinished();\n\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.Auto,\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\tif (this._endsWithCurrentLocation && !this._endsWithCurrentLinkItem) {\n\t\t\titems.push(this._labelFocusAdaptor);\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tgetFocusDomRef() {\n\t\treturn this._itemNavigation._getCurrentItem();\n\t}\n\n\t/**\n\t * Returns the translatable accessible name for the popover\n\t * @private\n\t */\n\tget _accessibleNamePopover() {\n\t\treturn Breadcrumbs.i18nBundle.getText(FORM_SELECTABLE_AVALIABLE_VALUES);\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = e.target,\n\t\t\tlabelWrapper = this.getCurrentLocationLabelWrapper(),\n\t\t\tcurrentItem = (target === labelWrapper) ? this._labelFocusAdaptor : 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\treturn;\n\t\t}\n\t\tif ((isEnter(e) || isSpace(e)) && this._isCurrentLocationLabelFocused) {\n\t\t\tthis._onLabelPress(e);\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\t items = this._getItems(),\n\t\t\t label = this._currentLocationLabel;\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 (items.length && this._endsWithCurrentLocation && label) {\n\t\t\tconst item = items[items.length - 1];\n\n\t\t\tmap.set(item, this._getElementWidth(label));\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!.open = false;\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.fireDecoratorEvent(\"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})) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onLabelPress(e: MouseEvent | KeyboardEvent) {\n\t\tconst items = this._getItems(),\n\t\t\titem = items[items.length - 1],\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;\n\n\t\tthis.fireDecoratorEvent(\"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});\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.fireDecoratorEvent(\"item-click\", { item })) {\n\t\t\tlocationOpen(item.href, item.target || \"_self\", \"noopener,noreferrer\");\n\t\t\tthis.responsivePopover!.open = false;\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\tif (this.responsivePopover) {\n\t\t\tthis.responsivePopover.open = false;\n\t\t}\n\t}\n\n\t_openRespPopover() {\n\t\tthis.responsivePopover = this._respPopover();\n\t\tthis.responsivePopover.opener = this._dropdownArrowLink;\n\t\tthis.responsivePopover.open = true;\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\tgetCurrentLocationLabelWrapper() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-breadcrumbs-current-location > span\");\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 _endsWithCurrentLinkItem() {\n\t\tconst items = this._getItems();\n\t\treturn (items.length && items[items.length - 1].href);\n\t}\n\n\tget _endsWithCurrentLocation() {\n\t\treturn this.design === BreadcrumbsDesign.Standard;\n\t}\n\n\tget _currentLocationText() {\n\t\tconst items = this._getItems();\n\t\tif (this._endsWithCurrentLocation && items.length) {\n\t\t\tconst item = items[items.length - 1];\n\t\t\tif (this._isItemVisible(item)) {\n\t\t\t\treturn item.innerText;\n\t\t\t}\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tget _currentLocationLabel() {\n\t\treturn this.shadowRoot!.querySelector<Label>(\".ui5-breadcrumbs-current-location [ui5-label]\");\n\t}\n\n\tget _isDropdownArrowFocused() {\n\t\treturn this._dropdownArrowLink.forcedTabIndex === \"0\";\n\t}\n\n\tget _isCurrentLocationLabelFocused() {\n\t\tconst label = this.getCurrentLocationLabelWrapper();\n\t\treturn label && label.tabIndex === 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 * Returns all items that should be displayed in the popover on mobile devices\n\t * @private\n\t */\n\tget _mobilePopoverItems() {\n\t\treturn this._getItems()\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; // get size before removing of current location\n\n\t\tif (this._endsWithCurrentLocation && !this._endsWithCurrentLinkItem) {\n\t\t\titems.pop();\n\t\t}\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._endsWithCurrentLocation;\n\t\t\t\titem._needsSeparator = !item._isCurrentPageItem;\n\t\t\t\treturn item;\n\t\t\t});\n\t}\n\n\t/**\n\t * Getter for accessible name of the current location. Includes the position of the current location and the size of the breadcrumbs\n\t */\n\tget _currentLocationAccName() {\n\t\tconst items = this._visibleItems;\n\n\t\tconst positionText = this._getItemPositionText(items.length, items.length);\n\t\tconst lastItem = items[items.length - 1];\n\n\t\tif (!lastItem) {\n\t\t\treturn positionText;\n\t\t}\n\n\t\tconst lastItemText = lastItem.textContent || \"\";\n\n\t\tif (lastItem.accessibleName) {\n\t\t\treturn `${lastItemText.trim()} ${lastItem.accessibleName} ${positionText}`;\n\t\t}\n\n\t\treturn `${lastItemText.trim()} ${positionText}`;\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\tget hasOverflow() {\n\t\treturn true;\n\t}\n}\n\nBreadcrumbs.define();\n\nexport default Breadcrumbs;\nexport type {\n\tBreadcrumbsItemClickEventDetail,\n};\n"]}
@@ -331,10 +331,10 @@ declare class Carousel extends UI5Element {
331
331
  /**
332
332
  * Returns only visible (non-hidden) content items.
333
333
  * Items with the 'hidden' attribute are automatically excluded from carousel navigation.
334
+ * @default []
334
335
  * @private
335
- * @returns {Array<HTMLElement>}
336
336
  */
337
- get _visibleItems(): HTMLElement[];
337
+ get _visibleItems(): Array<HTMLElement>;
338
338
  carouselItemDomRef(idx: number): Array<HTMLElement>;
339
339
  }
340
340
  export default Carousel;
package/dist/Carousel.js CHANGED
@@ -764,8 +764,8 @@ let Carousel = Carousel_1 = class Carousel extends UI5Element {
764
764
  /**
765
765
  * Returns only visible (non-hidden) content items.
766
766
  * Items with the 'hidden' attribute are automatically excluded from carousel navigation.
767
+ * @default []
767
768
  * @private
768
- * @returns {Array<HTMLElement>}
769
769
  */
770
770
  get _visibleItems() {
771
771
  return this.content.filter(x => !x.hasAttribute("hidden"));