@sapudex/web-components 2.16.1 → 2.17.1

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 (316) hide show
  1. package/cypress/specs/AccordionItem.cy.tsx +18 -1
  2. package/cypress/specs/EventRibbon.cy.tsx +11 -1
  3. package/cypress/specs/Quote.cy.tsx +2 -2
  4. package/cypress/specs/SecondaryNavigationDesktop.cy.tsx +2 -2
  5. package/cypress/specs/Switch.cy.tsx +13 -1
  6. package/dist/AccordionItem.d.ts +4 -0
  7. package/dist/AccordionItem.js +16 -1
  8. package/dist/AccordionItem.js.map +1 -1
  9. package/dist/AssetsVariables.js +13 -0
  10. package/dist/AssetsVariables.js.map +1 -1
  11. package/dist/AvatarGroup.d.ts +2 -0
  12. package/dist/AvatarGroup.js +16 -8
  13. package/dist/AvatarGroup.js.map +1 -1
  14. package/dist/Breadcrumbs.d.ts +2 -1
  15. package/dist/Breadcrumbs.js +5 -2
  16. package/dist/Breadcrumbs.js.map +1 -1
  17. package/dist/BreadcrumbsPopoverTemplate.js +1 -1
  18. package/dist/BreadcrumbsPopoverTemplate.js.map +1 -1
  19. package/dist/BreadcrumbsTemplate.js +1 -1
  20. package/dist/BreadcrumbsTemplate.js.map +1 -1
  21. package/dist/EventRibbonTemplate.js +2 -2
  22. package/dist/EventRibbonTemplate.js.map +1 -1
  23. package/dist/Footer.d.ts +1 -0
  24. package/dist/Footer.js +4 -1
  25. package/dist/Footer.js.map +1 -1
  26. package/dist/FooterTemplate.js +1 -1
  27. package/dist/FooterTemplate.js.map +1 -1
  28. package/dist/MastheadShell.js +2 -1
  29. package/dist/MastheadShell.js.map +1 -1
  30. package/dist/Quote.d.ts +1 -0
  31. package/dist/Quote.js +6 -4
  32. package/dist/Quote.js.map +1 -1
  33. package/dist/QuoteTemplate.d.ts +2 -0
  34. package/dist/QuoteTemplate.js +9 -0
  35. package/dist/QuoteTemplate.js.map +1 -0
  36. package/dist/Search.d.ts +0 -1
  37. package/dist/Search.js +0 -13
  38. package/dist/Search.js.map +1 -1
  39. package/dist/Switch.d.ts +1 -0
  40. package/dist/Switch.js +7 -0
  41. package/dist/Switch.js.map +1 -1
  42. package/dist/SwitchTemplate.js +1 -1
  43. package/dist/SwitchTemplate.js.map +1 -1
  44. package/dist/Tag.js +3 -3
  45. package/dist/Tag.js.map +1 -1
  46. package/dist/TagGroup.d.ts +0 -2
  47. package/dist/TagGroup.js +3 -9
  48. package/dist/TagGroup.js.map +1 -1
  49. package/dist/TagGroupTemplate.d.ts +2 -0
  50. package/dist/TagGroupTemplate.js +12 -0
  51. package/dist/TagGroupTemplate.js.map +1 -0
  52. package/dist/TagTemplate.d.ts +2 -0
  53. package/dist/TagTemplate.js +18 -0
  54. package/dist/TagTemplate.js.map +1 -0
  55. package/dist/assets/{InputSuggestions-C-OeoyHk.js → InputSuggestions-Bxc8oM64.js} +1 -1
  56. package/dist/assets/{ListItemStandardExpandableTextTemplate-D05JXl_S.js → ListItemStandardExpandableTextTemplate-DUnH9BGH.js} +1 -1
  57. package/dist/assets/{bundle.esm-jB2aQPid.js → bundle.esm-qoZLPRl7.js} +248 -235
  58. package/dist/assets/messagebundle_ar-BNhVFt1-.js +1 -0
  59. package/dist/assets/messagebundle_bg-4X593TQq.js +1 -0
  60. package/dist/assets/messagebundle_cs-Bt8XtMib.js +1 -0
  61. package/dist/assets/messagebundle_da-BB7OtRY9.js +1 -0
  62. package/dist/assets/messagebundle_de-NtViQTfJ.js +1 -0
  63. package/dist/assets/messagebundle_el-BZAAedlK.js +1 -0
  64. package/dist/assets/messagebundle_en-D6cJIiUq.js +1 -0
  65. package/dist/assets/messagebundle_es-CO-oJIBU.js +1 -0
  66. package/dist/assets/messagebundle_et-BCYOcg2t.js +1 -0
  67. package/dist/assets/messagebundle_fi-CssCIjmp.js +1 -0
  68. package/dist/assets/messagebundle_fr-CvOyuAVw.js +1 -0
  69. package/dist/assets/messagebundle_hr-CashhWbN.js +1 -0
  70. package/dist/assets/messagebundle_hu-BEMbu-EE.js +1 -0
  71. package/dist/assets/messagebundle_it-BhrBdOd4.js +1 -0
  72. package/dist/assets/messagebundle_iw-CzJjIyB1.js +1 -0
  73. package/dist/assets/messagebundle_ja-5P5L7sQ1.js +1 -0
  74. package/dist/assets/messagebundle_ko-B9H5YQlC.js +1 -0
  75. package/dist/assets/messagebundle_lt-BJ5gr_LF.js +1 -0
  76. package/dist/assets/messagebundle_lv-BHId5zho.js +1 -0
  77. package/dist/assets/messagebundle_nl-etaldyfo.js +1 -0
  78. package/dist/assets/messagebundle_no-BIUfmTWJ.js +1 -0
  79. package/dist/assets/messagebundle_pl-BmaELnDD.js +1 -0
  80. package/dist/assets/messagebundle_pt-DPeE7NbC.js +1 -0
  81. package/dist/assets/messagebundle_pt_PT-DcVh6BH6.js +1 -0
  82. package/dist/assets/messagebundle_ro-CN4kAAYE.js +1 -0
  83. package/dist/assets/messagebundle_ru-BT7zyn7i.js +1 -0
  84. package/dist/assets/messagebundle_sk-gmWb_4Wo.js +1 -0
  85. package/dist/assets/messagebundle_sl-B4p3OqyZ.js +1 -0
  86. package/dist/assets/messagebundle_sr-D8Lxl5cz.js +1 -0
  87. package/dist/assets/messagebundle_sv-DZNyuq7Z.js +1 -0
  88. package/dist/assets/messagebundle_tr-9FvYSV7d.js +1 -0
  89. package/dist/assets/messagebundle_uk-BgTRxken.js +1 -0
  90. package/dist/assets/messagebundle_zh_CN-BsCxQ-NE.js +1 -0
  91. package/dist/assets/messagebundle_zh_TW-Li9m-Dgo.js +1 -0
  92. package/dist/css/themes/DatePickerPopover.css +1 -1
  93. package/dist/css/themes/EventRibbon.css +1 -1
  94. package/dist/css/themes/Footer.css +1 -1
  95. package/dist/css/themes/Quote.css +1 -1
  96. package/dist/css/themes/RatingIndicator.css +1 -1
  97. package/dist/css/themes/Slider.css +1 -1
  98. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  99. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  100. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  105. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  110. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  111. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  112. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  113. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -0
  114. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  115. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  116. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  117. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  118. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  119. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  120. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  121. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  122. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  123. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  124. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  125. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  126. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  127. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  128. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  129. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  131. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  132. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  133. package/dist/generated/i18n/i18n-defaults.js +2 -1
  134. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  135. package/dist/generated/json-imports/i18n-fetch.js +4 -0
  136. package/dist/generated/json-imports/i18n-fetch.js.map +1 -1
  137. package/dist/generated/json-imports/i18n-node.js +4 -0
  138. package/dist/generated/json-imports/i18n-node.js.map +1 -1
  139. package/dist/generated/json-imports/i18n.js +4 -0
  140. package/dist/generated/json-imports/i18n.js.map +1 -1
  141. package/dist/generated/templates/SearchTemplate.lit.js +1 -1
  142. package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
  143. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  144. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  145. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  146. package/dist/generated/themes/EventRibbon.css.d.ts +1 -1
  147. package/dist/generated/themes/EventRibbon.css.js +1 -1
  148. package/dist/generated/themes/EventRibbon.css.js.map +1 -1
  149. package/dist/generated/themes/Footer.css.d.ts +1 -1
  150. package/dist/generated/themes/Footer.css.js +1 -1
  151. package/dist/generated/themes/Footer.css.js.map +1 -1
  152. package/dist/generated/themes/Quote.css.d.ts +1 -1
  153. package/dist/generated/themes/Quote.css.js +1 -1
  154. package/dist/generated/themes/Quote.css.js.map +1 -1
  155. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  156. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  157. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  158. package/dist/generated/themes/Slider.css.d.ts +1 -1
  159. package/dist/generated/themes/Slider.css.js +1 -1
  160. package/dist/generated/themes/Slider.css.js.map +1 -1
  161. package/dist/messagebundle.properties +1 -0
  162. package/dist/messagebundle_ar.properties +1 -0
  163. package/dist/messagebundle_bg.properties +1 -0
  164. package/dist/messagebundle_cs.properties +1 -0
  165. package/dist/messagebundle_da.properties +1 -0
  166. package/dist/messagebundle_de.properties +1 -0
  167. package/dist/messagebundle_el.properties +1 -0
  168. package/dist/messagebundle_en.properties +1 -0
  169. package/dist/messagebundle_es.properties +1 -0
  170. package/dist/messagebundle_et.properties +1 -0
  171. package/dist/messagebundle_fi.properties +1 -0
  172. package/dist/messagebundle_fr.properties +1 -0
  173. package/dist/messagebundle_hr.properties +1 -0
  174. package/dist/messagebundle_hu.properties +1 -0
  175. package/dist/messagebundle_it.properties +1 -0
  176. package/dist/messagebundle_iw.properties +1 -0
  177. package/dist/messagebundle_ja.properties +5 -0
  178. package/dist/messagebundle_ko.properties +1 -0
  179. package/dist/messagebundle_lt.properties +1 -0
  180. package/dist/messagebundle_lv.properties +1 -0
  181. package/dist/messagebundle_nl.properties +1 -0
  182. package/dist/messagebundle_no.properties +2 -0
  183. package/dist/messagebundle_pl.properties +1 -0
  184. package/dist/messagebundle_pt.properties +5 -3
  185. package/dist/messagebundle_pt_PT.properties +7 -0
  186. package/dist/messagebundle_ro.properties +1 -0
  187. package/dist/messagebundle_ru.properties +1 -0
  188. package/dist/messagebundle_sk.properties +1 -0
  189. package/dist/messagebundle_sl.properties +1 -0
  190. package/dist/messagebundle_sr.properties +1 -0
  191. package/dist/messagebundle_sv.properties +1 -0
  192. package/dist/messagebundle_tr.properties +1 -0
  193. package/dist/messagebundle_uk.properties +1 -0
  194. package/dist/messagebundle_zh_CN.properties +1 -0
  195. package/dist/messagebundle_zh_TW.properties +1 -0
  196. package/dist/web-types.json +1 -1
  197. package/package.json +1 -1
  198. package/src/AccordionItem.ts +21 -1
  199. package/src/AssetsVariables.ts +13 -0
  200. package/src/AvatarGroup.ts +21 -11
  201. package/src/Breadcrumbs.ts +10 -2
  202. package/src/BreadcrumbsPopoverTemplate.tsx +1 -0
  203. package/src/BreadcrumbsTemplate.tsx +2 -2
  204. package/src/EventRibbonTemplate.tsx +2 -1
  205. package/src/Footer.ts +5 -0
  206. package/src/FooterTemplate.tsx +35 -33
  207. package/src/MastheadShell.ts +2 -1
  208. package/src/Quote.ts +7 -5
  209. package/src/QuoteTemplate.tsx +29 -0
  210. package/src/Search.hbs +1 -1
  211. package/src/Search.ts +0 -14
  212. package/src/Switch.ts +8 -0
  213. package/src/SwitchTemplate.tsx +2 -1
  214. package/src/Tag.ts +3 -3
  215. package/src/TagGroup.ts +3 -11
  216. package/src/TagGroupTemplate.tsx +75 -0
  217. package/src/TagTemplate.tsx +79 -0
  218. package/src/generated/i18n/i18n-defaults.ts +2 -2
  219. package/src/generated/json-imports/i18n-fetch.ts +4 -0
  220. package/src/generated/json-imports/i18n-node.ts +4 -0
  221. package/src/generated/json-imports/i18n.ts +4 -0
  222. package/src/generated/templates/SearchTemplate.lit.ts +1 -1
  223. package/src/generated/themes/DatePickerPopover.css.ts +1 -1
  224. package/src/generated/themes/EventRibbon.css.ts +1 -1
  225. package/src/generated/themes/Footer.css.ts +1 -1
  226. package/src/generated/themes/Quote.css.ts +1 -1
  227. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  228. package/src/generated/themes/Slider.css.ts +1 -1
  229. package/src/i18n/messagebundle.properties +1 -0
  230. package/src/i18n/messagebundle_ar.properties +1 -0
  231. package/src/i18n/messagebundle_bg.properties +1 -0
  232. package/src/i18n/messagebundle_cs.properties +1 -0
  233. package/src/i18n/messagebundle_da.properties +1 -0
  234. package/src/i18n/messagebundle_de.properties +1 -0
  235. package/src/i18n/messagebundle_el.properties +1 -0
  236. package/src/i18n/messagebundle_en.properties +1 -0
  237. package/src/i18n/messagebundle_es.properties +1 -0
  238. package/src/i18n/messagebundle_et.properties +1 -0
  239. package/src/i18n/messagebundle_fi.properties +1 -0
  240. package/src/i18n/messagebundle_fr.properties +1 -0
  241. package/src/i18n/messagebundle_hr.properties +1 -0
  242. package/src/i18n/messagebundle_hu.properties +1 -0
  243. package/src/i18n/messagebundle_it.properties +1 -0
  244. package/src/i18n/messagebundle_iw.properties +1 -0
  245. package/src/i18n/messagebundle_ja.properties +5 -0
  246. package/src/i18n/messagebundle_ko.properties +1 -0
  247. package/src/i18n/messagebundle_lt.properties +1 -0
  248. package/src/i18n/messagebundle_lv.properties +1 -0
  249. package/src/i18n/messagebundle_nl.properties +1 -0
  250. package/src/i18n/messagebundle_no.properties +2 -0
  251. package/src/i18n/messagebundle_pl.properties +1 -0
  252. package/src/i18n/messagebundle_pt.properties +5 -3
  253. package/src/i18n/messagebundle_pt_PT.properties +7 -0
  254. package/src/i18n/messagebundle_ro.properties +1 -0
  255. package/src/i18n/messagebundle_ru.properties +1 -0
  256. package/src/i18n/messagebundle_sk.properties +1 -0
  257. package/src/i18n/messagebundle_sl.properties +1 -0
  258. package/src/i18n/messagebundle_sr.properties +1 -0
  259. package/src/i18n/messagebundle_sv.properties +1 -0
  260. package/src/i18n/messagebundle_tr.properties +1 -0
  261. package/src/i18n/messagebundle_uk.properties +1 -0
  262. package/src/i18n/messagebundle_zh_CN.properties +1 -0
  263. package/src/i18n/messagebundle_zh_TW.properties +1 -0
  264. package/src/themes/DatePickerPopover.css +5 -0
  265. package/src/themes/EventRibbon.css +4 -0
  266. package/src/themes/Footer.css +3 -0
  267. package/src/themes/Quote.css +38 -33
  268. package/dist/assets/messagebundle_ar-C39XMRa3.js +0 -1
  269. package/dist/assets/messagebundle_bg-CFuqxDUo.js +0 -1
  270. package/dist/assets/messagebundle_cs-HZFdxP5k.js +0 -1
  271. package/dist/assets/messagebundle_da-Cb19y_UU.js +0 -1
  272. package/dist/assets/messagebundle_de-BPtfcnG8.js +0 -1
  273. package/dist/assets/messagebundle_el-BfR2BVvB.js +0 -1
  274. package/dist/assets/messagebundle_en-PmkE-Vht.js +0 -1
  275. package/dist/assets/messagebundle_es-DEz3xznF.js +0 -1
  276. package/dist/assets/messagebundle_et-BHSda64J.js +0 -1
  277. package/dist/assets/messagebundle_fi-DTkxmWJb.js +0 -1
  278. package/dist/assets/messagebundle_fr-BEq1Nxlj.js +0 -1
  279. package/dist/assets/messagebundle_hr-BzWPMYA7.js +0 -1
  280. package/dist/assets/messagebundle_hu-DQvndOA8.js +0 -1
  281. package/dist/assets/messagebundle_it-Bx7wA4HY.js +0 -1
  282. package/dist/assets/messagebundle_iw-L2hZONxh.js +0 -1
  283. package/dist/assets/messagebundle_ko-D4ckbm7i.js +0 -1
  284. package/dist/assets/messagebundle_lt-BriAnQM8.js +0 -1
  285. package/dist/assets/messagebundle_lv-Di1Ng3Tk.js +0 -1
  286. package/dist/assets/messagebundle_nl-Bhq20VT1.js +0 -1
  287. package/dist/assets/messagebundle_no-bTeyeWYl.js +0 -1
  288. package/dist/assets/messagebundle_pl-BnBUJpAL.js +0 -1
  289. package/dist/assets/messagebundle_pt-Cd_ey78V.js +0 -1
  290. package/dist/assets/messagebundle_ro-Cy-zHe5i.js +0 -1
  291. package/dist/assets/messagebundle_ru-CiDd56L1.js +0 -1
  292. package/dist/assets/messagebundle_sk-DJS6mahY.js +0 -1
  293. package/dist/assets/messagebundle_sl-BUi3OLzP.js +0 -1
  294. package/dist/assets/messagebundle_sr-BtodsTa0.js +0 -1
  295. package/dist/assets/messagebundle_sv-CVVuFZcm.js +0 -1
  296. package/dist/assets/messagebundle_tr-CqVlQ8yY.js +0 -1
  297. package/dist/assets/messagebundle_uk-aDyDoabO.js +0 -1
  298. package/dist/assets/messagebundle_zh_CN-CTb6-Dhs.js +0 -1
  299. package/dist/assets/messagebundle_zh_TW-DtT5REQh.js +0 -1
  300. package/dist/generated/templates/QuoteTemplate.lit.d.ts +0 -3
  301. package/dist/generated/templates/QuoteTemplate.lit.js +0 -10
  302. package/dist/generated/templates/QuoteTemplate.lit.js.map +0 -1
  303. package/dist/generated/templates/TagGroupTemplate.lit.d.ts +0 -3
  304. package/dist/generated/templates/TagGroupTemplate.lit.js +0 -10
  305. package/dist/generated/templates/TagGroupTemplate.lit.js.map +0 -1
  306. package/dist/generated/templates/TagTemplate.lit.d.ts +0 -3
  307. package/dist/generated/templates/TagTemplate.lit.js +0 -19
  308. package/dist/generated/templates/TagTemplate.lit.js.map +0 -1
  309. package/dist/messagebundle_pt_BR.properties +0 -4
  310. package/src/Quote.hbs +0 -20
  311. package/src/Tag.hbs +0 -76
  312. package/src/TagGroup.hbs +0 -57
  313. package/src/generated/templates/QuoteTemplate.lit.ts +0 -14
  314. package/src/generated/templates/TagGroupTemplate.lit.ts +0 -14
  315. package/src/generated/templates/TagTemplate.lit.ts +0 -23
  316. package/src/i18n/messagebundle_pt_BR.properties +0 -4
@@ -1,3 +1,4 @@
1
+ import { UDExAccordionItemTitleSize } from "../../instrumented/AccordionItem.js";
1
2
  import { UDExAccordionItem } from "../support/component-imports.js";
2
3
 
3
4
  const accordionItem = <UDExAccordionItem label="Some label for item 1" numberBadge="72">
@@ -8,10 +9,20 @@ const expandedAccordionItem = <UDExAccordionItem label="Some label for item 1" n
8
9
  <div>some content<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet aperiam aut eum ipsum natus necessitatibus neque officiis repellendus totam voluptatum!</p></div>
9
10
  </UDExAccordionItem>
10
11
 
11
- const accordionItemLarge = <UDExAccordionItem label="Some label for item 1" labelSize="Large">
12
+ const accordionItemLarge = <UDExAccordionItem label="Some label for item 1" labelSize={UDExAccordionItemTitleSize.Large}>
12
13
  <div>some content<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet aperiam aut eum ipsum natus necessitatibus neque officiis repellendus totam voluptatum!</p></div>
13
14
  </UDExAccordionItem>
14
15
 
16
+ const accordionItemWithAccordion = <UDExAccordionItem label="Some label for item 1">
17
+ <div>some content<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet aperiam aut eum ipsum natus necessitatibus neque officiis repellendus totam voluptatum!</p></div>
18
+ <UDExAccordionItem label="Some label for item 2">Item2</UDExAccordionItem>
19
+ <UDExAccordionItem label="Some label for item 3">Item3</UDExAccordionItem>
20
+ <UDExAccordionItem label="Some label for item 4">Item4</UDExAccordionItem>
21
+ <UDExAccordionItem label="Some label for item 5">Item5</UDExAccordionItem>
22
+ <UDExAccordionItem label="Some label for item 6">Item6</UDExAccordionItem>
23
+ <UDExAccordionItem label="Some label for item 7"><p>Item 7</p><p>Item 8</p><p>Item 9</p><p>Item 10</p><p id="last-item">Item 11</p></UDExAccordionItem>
24
+ </UDExAccordionItem>
25
+
15
26
  describe('AccordionItem', () => {
16
27
 
17
28
  beforeEach(() => {
@@ -57,6 +68,12 @@ describe('AccordionItem', () => {
57
68
  it("has a badge", () => {
58
69
  cy.get("[udex-accordion-item]").shadow().find(".udex-accordion-item__badge").should("exist").and("be.visible")
59
70
  });
71
+
72
+ it("click on accordion adjust content height for animations", () => {
73
+ cy.mount(accordionItemWithAccordion)
74
+ cy.get("[udex-accordion-item]").click({ multiple: true });
75
+ cy.get("#last-item").should("be.visible");
76
+ });
60
77
 
61
78
  it("emit accordion-item-focus when item focused", () => {
62
79
  const itemFocusHandler = cy.stub().as("itemFocus")
@@ -121,7 +121,7 @@ describe("EventRibbon", () => {
121
121
  cy.get("[udex-event-ribbon]")
122
122
  .shadow()
123
123
  .find('.udex-event-ribbon__container')
124
- .should('have.attr', 'aria-labelledby', `${_id}-text ${_id}-link-text`)
124
+ .should('have.attr', 'aria-labelledby', `${_id}__logo-alt ${_id}-text ${_id}-link-text`)
125
125
  });
126
126
  });
127
127
 
@@ -134,4 +134,14 @@ describe("EventRibbon", () => {
134
134
  cy.mount(customLogoEventRibbon)
135
135
  cy.get("[udex-event-ribbon]").shadow().find(".udex-event-ribbon__logo-img").should("have.attr", "alt", "SAP Logo");
136
136
  });
137
+
138
+ it("correctly renders readable logo text", () => {
139
+ cy.mount(imageEventRibbon)
140
+ cy.get("[udex-event-ribbon]").shadow().find(".hidden-text").should("have.text", "SAP Now");
141
+ });
142
+
143
+ it("correctly renders readable custom logo text", () => {
144
+ cy.mount(customLogoEventRibbon)
145
+ cy.get("[udex-event-ribbon]").shadow().find(".hidden-text").should("have.text", "SAP Logo");
146
+ });
137
147
  })
@@ -1,4 +1,4 @@
1
- import {UDExFilterMenu, UDExQuote} from "../support/component-imports.js";
1
+ import {UDExQuote} from "../support/component-imports.js";
2
2
  import { UDExLink } from "../support/component-imports.js";
3
3
  import { UDExMaskType, UDExSizeType, UDExImagePlacement } from "../../src/Quote.js";
4
4
 
@@ -32,7 +32,7 @@ describe("Quote", () => {
32
32
  })
33
33
 
34
34
  it("Default slot content renders correctly", () => {
35
- cy.get("[udex-quote]").shadow().find(".content-container__text").should("exist");
35
+ cy.get("[udex-quote]").shadow().find(".udex-quote__text").should("exist");
36
36
  });
37
37
 
38
38
  it("Image slot content renders correctly", () => {
@@ -268,10 +268,10 @@ describe("Desktop", () => {
268
268
  cy.viewport(1080, 640);
269
269
  })
270
270
 
271
- it("has the attr \"data-horizontal-align=`right`\" when doesn't fit", () => {
271
+ xit("has the attr \"data-horizontal-align=`right`\" when doesn't fit", () => {
272
272
  const moreNavItem = cy.get("#secondary-nav-without-breadcrumbs").shadow().find("[udex-secondary-navigation-item]").eq(5);
273
273
  moreNavItem.click();
274
- moreNavItem.shadow().find(".udex-secondary-navigation__dropdown")
274
+ moreNavItem.shadow().find(".udex-secondary-navigation__dropdown", { timeout: 1000 })
275
275
  .should("have.attr", "data-horizontal-align", "right")
276
276
  });
277
277
 
@@ -47,5 +47,17 @@ describe("Switch", () => {
47
47
  it("sets aria-checked attribute to false after click if switch was already checked", () => {
48
48
  cy.mount(defaultSwitch)
49
49
  cy.get("[udex-switch]").shadow().find(".udex-switch__container").click().click().should("have.attr", "aria-checked", "false")
50
- });;
50
+ });
51
+
52
+ it("can be checked via keyboard using \"Enter\"", () => {
53
+ cy.mount(defaultSwitch)
54
+ cy.get("[udex-switch]").shadow().find(".udex-switch__container").focus().realPress("Enter")
55
+ cy.get("[udex-switch]").shadow().find(".udex-switch__container").should("have.attr", "aria-checked", "true")
56
+ });
57
+
58
+ it("can be checked via keyboard using \"Space\"", () => {
59
+ cy.mount(defaultSwitch)
60
+ cy.get("[udex-switch]").shadow().find(".udex-switch__container").focus().realPress("Space")
61
+ cy.get("[udex-switch]").shadow().find(".udex-switch__container").should("have.attr", "aria-checked", "true")
62
+ });
51
63
  });
@@ -82,10 +82,14 @@ declare class UDExAccordionItem extends UI5Element {
82
82
  * @public
83
83
  */
84
84
  content: Array<Node>;
85
+ _resizeHandler: () => void;
86
+ contentElement: HTMLElement | null | undefined;
85
87
  constructor();
86
88
  onAfterRendering(): void;
87
89
  onEnterDOM(): void;
90
+ onExitDOM(): void;
88
91
  setContentHeight(): void;
92
+ _onResize(): void;
89
93
  contentKeydown(e: KeyboardEvent): void;
90
94
  itemClickHandler(e: Event): void;
91
95
  focusHandler(): void;
@@ -12,6 +12,7 @@ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
12
12
  import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
13
13
  import { isEnter, isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
14
14
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
15
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
15
16
  import AccordionItemTemplate from "./AccordionItemTemplate.js";
16
17
  // Styles
17
18
  import AccordionItemCss from "./generated/themes/AccordionItem.css.js";
@@ -63,18 +64,32 @@ let UDExAccordionItem = class UDExAccordionItem extends UI5Element {
63
64
  * @private
64
65
  */
65
66
  this.isOpen = false;
67
+ this._resizeHandler = this._onResize.bind(this);
68
+ this.contentElement = null;
66
69
  }
67
70
  onAfterRendering() {
68
71
  this.handleDirection();
72
+ this.contentElement = this.shadowRoot?.querySelector(".udex-accordion-item__content-inner");
69
73
  this.setContentHeight();
70
74
  }
71
75
  onEnterDOM() {
72
76
  if (isDesktop()) {
73
77
  this.setAttribute("desktop", "");
74
78
  }
79
+ if (this.contentElement) {
80
+ ResizeHandler.register(this.contentElement, this._resizeHandler);
81
+ }
82
+ }
83
+ onExitDOM() {
84
+ if (this.contentElement) {
85
+ ResizeHandler.deregister(this.contentElement, this._resizeHandler);
86
+ }
75
87
  }
76
88
  setContentHeight() {
77
- this.style.setProperty("--udex-accordion-item-content-max-height", `${this.shadowRoot?.querySelector(".udex-accordion-item__content")?.scrollHeight}px`);
89
+ this.style.setProperty("--udex-accordion-item-content-max-height", `${this.contentElement?.scrollHeight}px`);
90
+ }
91
+ _onResize() {
92
+ this.setContentHeight();
78
93
  }
79
94
  contentKeydown(e) {
80
95
  e.stopPropagation();
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../src/AccordionItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport AccordionItemTemplate from \"./AccordionItemTemplate.js\";\n\n// Styles\nimport AccordionItemCss from \"./generated/themes/AccordionItem.css.js\";\n\nexport enum UDExAccordionItemTitleSize {\n Standard = \"Standard\",\n Large = \"Large\"\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-accordion-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/AccordionItem.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-accordion-item\n * @public\n */\n@customElement({\n tag: \"udex-accordion-item\",\n renderer: jsxRenderer,\n styles: AccordionItemCss,\n template: AccordionItemTemplate,\n})\n\n/**\n * Triggered when the user focuses on an accordion item.\n * @public\n */\n@event(\"accordion-item-focus\", { bubbles: true })\n\n/**\n * Triggered when the user clicks on an accordion item.\n * @public\n */\n@event(\"accordion-item-click\", { bubbles: true })\n\nclass UDExAccordionItem extends UI5Element {\n eventDetails!: {\n \"accordion-item-focus\": void,\n \"accordion-item-click\": void,\n };\n /**\n * Defines the Badge at the end of the label item.\n *\n * @default \"\"\n * @public\n */\n @property()\n numberBadge!: string;\n\n /**\n * Defines the label of the accordion item component.\n *\n * @default \"\"\n * @public\n */\n @property()\n label!: string;\n\n /**\n * Defines the size of label.\n *\n * @default UDExAccordionItemTitleSize.Standard\n * @public\n */\n @property()\n labelSize: UDExAccordionItemTitleSize = UDExAccordionItemTitleSize.Standard;\n\n /**\n * Defines icon name to be display with title.\n *\n * @default \"\"\n * @public\n */\n @property()\n labelIcon!: string;\n\n /**\n * Defines if the accordion item is expanded by default\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n expanded = false;\n\n /**\n * Used internally to understand the component's open or closed state.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n isOpen = false;\n\n /**\n * Defines direction of the accordion item.\n *\n * @public\n */\n @property({ type: String })\n _direction?: string;\n\n /**\n * Slot for accordion item content.\n *\n * @slot\n * @public\n */\n @slot({ type: Node, \"default\": true })\n content!: Array<Node>;\n\n constructor() {\n super();\n }\n\n onAfterRendering() {\n this.handleDirection();\n this.setContentHeight();\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n setContentHeight() {\n this.style.setProperty(\"--udex-accordion-item-content-max-height\", `${this.shadowRoot?.querySelector(\".udex-accordion-item__content\")?.scrollHeight}px`);\n }\n\n contentKeydown(e: KeyboardEvent) {\n e.stopPropagation();\n }\n\n itemClickHandler(e: Event) {\n e.preventDefault();\n this.expanded = !this.expanded;\n this.setContentHeight();\n this.fireDecoratorEvent(\"accordion-item-click\");\n }\n\n focusHandler() {\n this.fireDecoratorEvent(\"accordion-item-focus\");\n }\n\n keydownHandler(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n this.itemClickHandler(e);\n }\n }\n\n handleDirection() {\n const directionStyles: string = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n}\n\nUDExAccordionItem.define();\n\nexport default UDExAccordionItem;\n"]}
1
+ {"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../src/AccordionItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport AccordionItemTemplate from \"./AccordionItemTemplate.js\";\n\n// Styles\nimport AccordionItemCss from \"./generated/themes/AccordionItem.css.js\";\n\nexport enum UDExAccordionItemTitleSize {\n Standard = \"Standard\",\n Large = \"Large\"\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-accordion-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/AccordionItem.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-accordion-item\n * @public\n */\n@customElement({\n tag: \"udex-accordion-item\",\n renderer: jsxRenderer,\n styles: AccordionItemCss,\n template: AccordionItemTemplate,\n})\n\n/**\n * Triggered when the user focuses on an accordion item.\n * @public\n */\n@event(\"accordion-item-focus\", { bubbles: true })\n\n/**\n * Triggered when the user clicks on an accordion item.\n * @public\n */\n@event(\"accordion-item-click\", { bubbles: true })\n\nclass UDExAccordionItem extends UI5Element {\n eventDetails!: {\n \"accordion-item-focus\": void,\n \"accordion-item-click\": void,\n };\n /**\n * Defines the Badge at the end of the label item.\n *\n * @default \"\"\n * @public\n */\n @property()\n numberBadge!: string;\n\n /**\n * Defines the label of the accordion item component.\n *\n * @default \"\"\n * @public\n */\n @property()\n label!: string;\n\n /**\n * Defines the size of label.\n *\n * @default UDExAccordionItemTitleSize.Standard\n * @public\n */\n @property()\n labelSize: UDExAccordionItemTitleSize = UDExAccordionItemTitleSize.Standard;\n\n /**\n * Defines icon name to be display with title.\n *\n * @default \"\"\n * @public\n */\n @property()\n labelIcon!: string;\n\n /**\n * Defines if the accordion item is expanded by default\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n expanded = false;\n\n /**\n * Used internally to understand the component's open or closed state.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n isOpen = false;\n\n /**\n * Defines direction of the accordion item.\n *\n * @public\n */\n @property({ type: String })\n _direction?: string;\n\n /**\n * Slot for accordion item content.\n *\n * @slot\n * @public\n */\n @slot({ type: Node, \"default\": true })\n content!: Array<Node>;\n\n _resizeHandler: () => void;\n contentElement: HTMLElement | null | undefined;\n\n constructor() {\n super();\n this._resizeHandler = this._onResize.bind(this);\n this.contentElement = null;\n }\n\n onAfterRendering() {\n this.handleDirection();\n this.contentElement = this.shadowRoot?.querySelector(\".udex-accordion-item__content-inner\");\n this.setContentHeight();\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n if (this.contentElement) {\n ResizeHandler.register(this.contentElement, this._resizeHandler);\n }\n }\n\n onExitDOM(): void {\n if (this.contentElement) {\n ResizeHandler.deregister(this.contentElement, this._resizeHandler);\n }\n }\n\n setContentHeight() {\n this.style.setProperty(\"--udex-accordion-item-content-max-height\", `${this.contentElement?.scrollHeight}px`);\n }\n\n _onResize(): void {\n this.setContentHeight();\n }\n\n contentKeydown(e: KeyboardEvent) {\n e.stopPropagation();\n }\n\n itemClickHandler(e: Event) {\n e.preventDefault();\n this.expanded = !this.expanded;\n this.setContentHeight();\n this.fireDecoratorEvent(\"accordion-item-click\");\n }\n\n focusHandler() {\n this.fireDecoratorEvent(\"accordion-item-focus\");\n }\n\n keydownHandler(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n this.itemClickHandler(e);\n }\n }\n\n handleDirection() {\n const directionStyles: string = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n}\n\nUDExAccordionItem.define();\n\nexport default UDExAccordionItem;\n"]}
@@ -18,6 +18,19 @@ const variablesOverwrite = `
18
18
  ${getScopedVarName("--ui5_carousel_active_dot_border")}: 1px solid var(--udexColorBlue8, #0057D2);
19
19
 
20
20
  /* Calendar & Date Picker */
21
+ ${getScopedVarName("--_ui5_calendar_width")}: 371px;
22
+ ${getScopedVarName("--_ui5_calendar_height")}: auto;
23
+ ${getScopedVarName("--_ui5_calendar_top_bottom_padding")}: var(--udexSpacer8, 8px);
24
+ ${getScopedVarName("--_ui5_calendar_left_right_padding")}: var(--udexSpacer8, 8px);
25
+ ${getScopedVarName("--_ui5_calendar_header_height")}: 42px;
26
+ ${getScopedVarName("--_ui5_calendar_header_arrow_button_width")}: 42px;
27
+ ${getScopedVarName("--_ui5_day_picker_item_width")}: 42px;
28
+ ${getScopedVarName("--_ui5_day_picker_item_height")}: 42px;
29
+ ${getScopedVarName("--_ui5_daypicker_weekname_color")}: var(--udexColorGrey6, #5B738B);
30
+ ${getScopedVarName("--_ui5_month_picker_item_height")}: 36px;
31
+ ${getScopedVarName("--_ui5_monthpicker_item_margin")}: -8px 0 var(--udexSpacer16, 16px) 0;
32
+ ${getScopedVarName("--_ui5_year_picker_item_height")}: 36px;
33
+ ${getScopedVarName("--_ui5_yearpicker_item_margin")}: -8px 0 var(--udexSpacer16, 16px) 0;
21
34
  ${getScopedVarName("--_ui5_daypicker_daynames_container_height")}: 42px;
22
35
  ${getScopedVarName("--_ui5_daypicker_dayname_color")}: var(--udexColorGrey6, #5B738B);
23
36
  ${getScopedVarName("--_ui5_daypicker_item_now_border_color")}: var(--udexColorPink8, #A100C2);
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsVariables.js","sourceRoot":"","sources":["../src/AssetsVariables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAE/E,MAAM,kBAAkB,GAAG;IACvB,0BAA0B,EAAE;;;;IAI5B,gBAAgB,CAAC,mCAAmC,CAAC;;;IAGrD,gBAAgB,CAAC,2BAA2B,CAAC;;;IAG7C,gBAAgB,CAAC,0BAA0B,CAAC;;;IAG5C,gBAAgB,CAAC,sCAAsC,CAAC;IACxD,gBAAgB,CAAC,kCAAkC,CAAC;;;IAGpD,gBAAgB,CAAC,4CAA4C,CAAC;IAC9D,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,wCAAwC,CAAC;IAC1D,gBAAgB,CAAC,uCAAuC,CAAC;IACzD,gBAAgB,CAAC,6CAA6C,CAAC;IAC/D,gBAAgB,CAAC,oDAAoD,CAAC;IACtE,gBAAgB,CAAC,gDAAgD,CAAC;IAClE,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,oCAAoC,CAAC;IACtD,gBAAgB,CAAC,oCAAoC,CAAC;;;;MAIpD,gBAAgB,CAAC,uBAAuB,CAAC;;;;MAIzC,gBAAgB,CAAC,4CAA4C,CAAC;;;;;;;MAO9D,gBAAgB,CAAC,uBAAuB,CAAC;MACzC,gBAAgB,CAAC,wBAAwB,CAAC;MAC1C,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,2CAA2C,CAAC;MAC7D,gBAAgB,CAAC,8BAA8B,CAAC;MAChD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,uCAAuC,CAAC;MACzD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,oCAAoC,CAAC;;CAE3D,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport getEffectiveScrollbarStyle from \"./utils/getEffectiveScrollbarStyle.js\";\n\nconst variablesOverwrite = `\n ${getEffectiveScrollbarStyle()}\n \n :root {\n /* Browser Scrollbar */\n ${getScopedVarName(\"--browser_scrollbar_border_radius\")}: var(--udexRadiusM, 8px);\n\n /* Tooltip */\n ${getScopedVarName(\"--_ui5_popover_box_shadow\")}: 0px 0px 0px 1px var(--udexColorGrey4);\n\n /* Tokenizer */\n ${getScopedVarName(\"--_ui5_tokenizer_padding\")}: var(--udexSpacer12, 12px);\n\n /* Carousel */\n ${getScopedVarName(\"--ui5_carousel_active_dot_background\")}: var(--udexColorBlue8, #0057D2);\n ${getScopedVarName(\"--ui5_carousel_active_dot_border\")}: 1px solid var(--udexColorBlue8, #0057D2);\n\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_daypicker_daynames_container_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_dayname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_now_border_color\")}: var(--udexColorPink8, #A100C2);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_daypicker_item_select_between_border\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_middle_button_focus_outline\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_box_shadow\")}: none;\n ${getScopedVarName(\"--_ui5_calendar_header_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: 0;\n \n /* Avatar */\n [udex-avatar].dark {\n ${getScopedVarName(\"--_ui5_avatar_outline\")}: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--udexColorNeutralWhite, #FFFFFF);\n }\n\n [udex-search] {\n ${getScopedVarName(\"--_ui5_button_pressed_focused_border_color\")}: transparent;\n }\n\n .sapUiSizeCompact,\n .ui5-content-density-compact,\n [data-ui5-compact-size] {\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_calendar_width\")}: 371px;\n ${getScopedVarName(\"--_ui5_calendar_height\")}: auto;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_header_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_weekname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_month_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_monthpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_year_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_yearpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: 0;\n }\n`;\n\nexport default variablesOverwrite;\n"]}
1
+ {"version":3,"file":"AssetsVariables.js","sourceRoot":"","sources":["../src/AssetsVariables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAE/E,MAAM,kBAAkB,GAAG;IACvB,0BAA0B,EAAE;;;;IAI5B,gBAAgB,CAAC,mCAAmC,CAAC;;;IAGrD,gBAAgB,CAAC,2BAA2B,CAAC;;;IAG7C,gBAAgB,CAAC,0BAA0B,CAAC;;;IAG5C,gBAAgB,CAAC,sCAAsC,CAAC;IACxD,gBAAgB,CAAC,kCAAkC,CAAC;;;IAGpD,gBAAgB,CAAC,uBAAuB,CAAC;IACzC,gBAAgB,CAAC,wBAAwB,CAAC;IAC1C,gBAAgB,CAAC,oCAAoC,CAAC;IACtD,gBAAgB,CAAC,oCAAoC,CAAC;IACtD,gBAAgB,CAAC,+BAA+B,CAAC;IACjD,gBAAgB,CAAC,2CAA2C,CAAC;IAC7D,gBAAgB,CAAC,8BAA8B,CAAC;IAChD,gBAAgB,CAAC,+BAA+B,CAAC;IACjD,gBAAgB,CAAC,iCAAiC,CAAC;IACnD,gBAAgB,CAAC,iCAAiC,CAAC;IACnD,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,+BAA+B,CAAC;IACjD,gBAAgB,CAAC,4CAA4C,CAAC;IAC9D,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,wCAAwC,CAAC;IAC1D,gBAAgB,CAAC,uCAAuC,CAAC;IACzD,gBAAgB,CAAC,6CAA6C,CAAC;IAC/D,gBAAgB,CAAC,oDAAoD,CAAC;IACtE,gBAAgB,CAAC,gDAAgD,CAAC;IAClE,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,oCAAoC,CAAC;IACtD,gBAAgB,CAAC,oCAAoC,CAAC;;;;MAIpD,gBAAgB,CAAC,uBAAuB,CAAC;;;;MAIzC,gBAAgB,CAAC,4CAA4C,CAAC;;;;;;;MAO9D,gBAAgB,CAAC,uBAAuB,CAAC;MACzC,gBAAgB,CAAC,wBAAwB,CAAC;MAC1C,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,2CAA2C,CAAC;MAC7D,gBAAgB,CAAC,8BAA8B,CAAC;MAChD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,uCAAuC,CAAC;MACzD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,oCAAoC,CAAC;;CAE3D,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport getEffectiveScrollbarStyle from \"./utils/getEffectiveScrollbarStyle.js\";\n\nconst variablesOverwrite = `\n ${getEffectiveScrollbarStyle()}\n \n :root {\n /* Browser Scrollbar */\n ${getScopedVarName(\"--browser_scrollbar_border_radius\")}: var(--udexRadiusM, 8px);\n\n /* Tooltip */\n ${getScopedVarName(\"--_ui5_popover_box_shadow\")}: 0px 0px 0px 1px var(--udexColorGrey4);\n\n /* Tokenizer */\n ${getScopedVarName(\"--_ui5_tokenizer_padding\")}: var(--udexSpacer12, 12px);\n\n /* Carousel */\n ${getScopedVarName(\"--ui5_carousel_active_dot_background\")}: var(--udexColorBlue8, #0057D2);\n ${getScopedVarName(\"--ui5_carousel_active_dot_border\")}: 1px solid var(--udexColorBlue8, #0057D2);\n\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_calendar_width\")}: 371px;\n ${getScopedVarName(\"--_ui5_calendar_height\")}: auto;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_header_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_weekname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_month_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_monthpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_year_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_yearpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_daypicker_daynames_container_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_dayname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_now_border_color\")}: var(--udexColorPink8, #A100C2);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_daypicker_item_select_between_border\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_middle_button_focus_outline\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_box_shadow\")}: none;\n ${getScopedVarName(\"--_ui5_calendar_header_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: 0;\n \n /* Avatar */\n [udex-avatar].dark {\n ${getScopedVarName(\"--_ui5_avatar_outline\")}: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--udexColorNeutralWhite, #FFFFFF);\n }\n\n [udex-search] {\n ${getScopedVarName(\"--_ui5_button_pressed_focused_border_color\")}: transparent;\n }\n\n .sapUiSizeCompact,\n .ui5-content-density-compact,\n [data-ui5-compact-size] {\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_calendar_width\")}: 371px;\n ${getScopedVarName(\"--_ui5_calendar_height\")}: auto;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_header_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_weekname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_month_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_monthpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_year_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_yearpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: 0;\n }\n`;\n\nexport default variablesOverwrite;\n"]}
@@ -21,8 +21,10 @@ declare class UDExAvatarGroup extends AvatarGroup {
21
21
  constructor();
22
22
  onEnterDOM(): void;
23
23
  onExitDOM(): void;
24
+ _initializeItemNavigation(): Promise<void>;
24
25
  _onHover(hover: boolean): void;
25
26
  _onfocusin(e: FocusEvent): void;
27
+ _isValidSize(size: string): boolean;
26
28
  _prepareAvatars(): void;
27
29
  get _isIndividual(): boolean;
28
30
  }
@@ -8,6 +8,7 @@ import AvatarGroup from "@ui5/webcomponents/dist/AvatarGroup.js";
8
8
  import AvatarGroupType from "@ui5/webcomponents/dist/types/AvatarGroupType.js";
9
9
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
10
10
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
11
+ import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
11
12
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
12
13
  // Styles
13
14
  import UI5AvatarGroupCss from "@ui5/webcomponents/dist/generated/themes/AvatarGroup.css.js";
@@ -55,19 +56,13 @@ const avatarOffsets = {
55
56
  let UDExAvatarGroup = class UDExAvatarGroup extends AvatarGroup {
56
57
  constructor() {
57
58
  super();
58
- this._itemNavigation = new ItemNavigation(this, {
59
- getItemsCallback: () => {
60
- return this._isIndividual
61
- ? this.items.slice(0, this._hiddenStartIndex).map(item => item.shadowRoot?.firstElementChild)
62
- : [];
63
- },
64
- });
65
59
  }
66
60
  onEnterDOM() {
67
61
  super.onEnterDOM();
68
62
  const container = this.shadowRoot?.querySelector(".ui5-avatar-group-items");
69
63
  container?.addEventListener("mouseenter", this._onHover.bind(this, true));
70
64
  container?.addEventListener("mouseleave", this._onHover.bind(this, false));
65
+ this._initializeItemNavigation();
71
66
  }
72
67
  onExitDOM() {
73
68
  super.onExitDOM();
@@ -75,6 +70,16 @@ let UDExAvatarGroup = class UDExAvatarGroup extends AvatarGroup {
75
70
  container?.removeEventListener("mouseenter", this._onHover.bind(this, true));
76
71
  container?.removeEventListener("mouseleave", this._onHover.bind(this, false));
77
72
  }
73
+ async _initializeItemNavigation() {
74
+ await renderFinished();
75
+ this._itemNavigation = new ItemNavigation(this, {
76
+ getItemsCallback: () => {
77
+ return this._isIndividual
78
+ ? this.items.slice(0, this._hiddenStartIndex).map(item => item.shadowRoot?.firstElementChild)
79
+ : [];
80
+ },
81
+ });
82
+ }
78
83
  _onHover(hover) {
79
84
  if (this._isGroup) {
80
85
  this.items.every(avatar => {
@@ -89,6 +94,9 @@ let UDExAvatarGroup = class UDExAvatarGroup extends AvatarGroup {
89
94
  : e.target.shadowRoot?.firstElementChild;
90
95
  this._itemNavigation.setCurrentItem(targetItem);
91
96
  }
97
+ _isValidSize(size) {
98
+ return Object.values(UDExAvatarSize).includes(size);
99
+ }
92
100
  _prepareAvatars() {
93
101
  this._colorIndex = 0;
94
102
  const visibleColors = Object.values(UDExAvatarColorScheme);
@@ -102,7 +110,7 @@ let UDExAvatarGroup = class UDExAvatarGroup extends AvatarGroup {
102
110
  avatar.setAttribute("color-scheme", visibleColors[this._colorIndex]);
103
111
  }
104
112
  if (index !== this._itemsCount - 1 || this._customOverflowButton) {
105
- const avatarSize = avatar.effectiveSize || UDExAvatarSize.S;
113
+ const avatarSize = this._isValidSize(avatar.effectiveSize) ? avatar.effectiveSize : UDExAvatarSize.S;
106
114
  avatar.style.marginInlineEnd = avatarOffsets[avatarSize][this.type];
107
115
  }
108
116
  });
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroup.js","sourceRoot":"","sources":["../src/AvatarGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IAvatarGroupItem } from \"@ui5/webcomponents/dist/AvatarGroup.js\";\nimport AvatarGroup from \"@ui5/webcomponents/dist/AvatarGroup.js\";\nimport AvatarGroupType from \"@ui5/webcomponents/dist/types/AvatarGroupType.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\n\n// Styles\nimport UI5AvatarGroupCss from \"@ui5/webcomponents/dist/generated/themes/AvatarGroup.css.js\";\n\nimport UDExAvatar, { UDExAvatarColorScheme, UDExAvatarSize } from \"./Avatar.js\";\n\nconst avatarOffsets = {\n [UDExAvatarSize.XS]: {\n [AvatarGroupType.Individual]: \"0.0625rem\",\n [AvatarGroupType.Group]: \"-0.75rem\",\n },\n [UDExAvatarSize.S]: {\n [AvatarGroupType.Individual]: \"0.125rem\",\n [AvatarGroupType.Group]: \"-1.25rem\",\n },\n [UDExAvatarSize.M]: {\n [AvatarGroupType.Individual]: \"0.125rem\",\n [AvatarGroupType.Group]: \"-1.625rem\",\n },\n [UDExAvatarSize.L]: {\n [AvatarGroupType.Individual]: \"0.125rem\",\n [AvatarGroupType.Group]: \"-2rem\",\n },\n [UDExAvatarSize.XL]: {\n [AvatarGroupType.Individual]: \"0.25rem\",\n [AvatarGroupType.Group]: \"-2.75rem\",\n },\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-avatar-group</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/AvatarGroup.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends AvatarGroup\n * @public\n */\n@customElement({\n tag: \"udex-avatar-group\",\n renderer: jsxRenderer,\n styles: [UI5AvatarGroupCss],\n dependencies: [UDExAvatar],\n})\n\nclass UDExAvatarGroup extends AvatarGroup {\n constructor() {\n super();\n\n this._itemNavigation = new ItemNavigation(this, {\n getItemsCallback: () => {\n return this._isIndividual\n ? this.items.slice(0, this._hiddenStartIndex).map(\n item => item.shadowRoot?.firstElementChild as IAvatarGroupItem,\n )\n : [];\n },\n });\n }\n onEnterDOM(): void {\n super.onEnterDOM();\n const container: HTMLElement = this.shadowRoot?.querySelector(\".ui5-avatar-group-items\") as HTMLElement;\n container?.addEventListener(\"mouseenter\", this._onHover.bind(this, true));\n container?.addEventListener(\"mouseleave\", this._onHover.bind(this, false));\n }\n\n onExitDOM(): void {\n super.onExitDOM();\n const container: HTMLElement = this.shadowRoot?.querySelector(\".ui5-avatar-group-items\") as HTMLElement;\n container?.removeEventListener(\"mouseenter\", this._onHover.bind(this, true));\n container?.removeEventListener(\"mouseleave\", this._onHover.bind(this, false));\n }\n\n _onHover(hover: boolean) {\n if (this._isGroup) {\n this.items.every(avatar => {\n avatar.toggleAttribute(\"hover\", hover);\n return !avatar.hidden;\n });\n }\n }\n\n _onfocusin(e: FocusEvent) {\n const targetItem = this._isGroup\n ? e.currentTarget\n : (e.target as HTMLElement).shadowRoot?.firstElementChild;\n this._itemNavigation.setCurrentItem(targetItem as IAvatarGroupItem);\n }\n\n _prepareAvatars() {\n this._colorIndex = 0;\n const visibleColors = Object.values(UDExAvatarColorScheme);\n\n this.items.forEach((avatar, index) => {\n if (++this._colorIndex > visibleColors.length - 3) {\n this._colorIndex = 1;\n }\n avatar.interactive = !this._isGroup;\n avatar.toggleAttribute(\"ui5-avatar\", true);\n\n if (!avatar.getAttribute(\"color-scheme\")) {\n avatar.setAttribute(\"color-scheme\", visibleColors[this._colorIndex]);\n }\n\n if (index !== this._itemsCount - 1 || this._customOverflowButton) {\n const avatarSize = avatar.effectiveSize || UDExAvatarSize.S;\n avatar.style.marginInlineEnd = avatarOffsets[avatarSize][this.type];\n }\n });\n }\n\n get _isIndividual() {\n return this.type === AvatarGroupType.Individual;\n }\n}\n\nUDExAvatarGroup.define();\n\nexport default UDExAvatarGroup;\n"]}
1
+ {"version":3,"file":"AvatarGroup.js","sourceRoot":"","sources":["../src/AvatarGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IAvatarGroupItem } from \"@ui5/webcomponents/dist/AvatarGroup.js\";\nimport AvatarGroup from \"@ui5/webcomponents/dist/AvatarGroup.js\";\nimport AvatarGroupType from \"@ui5/webcomponents/dist/types/AvatarGroupType.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\n\n// Styles\nimport UI5AvatarGroupCss from \"@ui5/webcomponents/dist/generated/themes/AvatarGroup.css.js\";\n\nimport UDExAvatar, { UDExAvatarColorScheme, UDExAvatarSize } from \"./Avatar.js\";\n\nconst avatarOffsets = {\n [UDExAvatarSize.XS]: {\n [AvatarGroupType.Individual]: \"0.0625rem\",\n [AvatarGroupType.Group]: \"-0.75rem\",\n },\n [UDExAvatarSize.S]: {\n [AvatarGroupType.Individual]: \"0.125rem\",\n [AvatarGroupType.Group]: \"-1.25rem\",\n },\n [UDExAvatarSize.M]: {\n [AvatarGroupType.Individual]: \"0.125rem\",\n [AvatarGroupType.Group]: \"-1.625rem\",\n },\n [UDExAvatarSize.L]: {\n [AvatarGroupType.Individual]: \"0.125rem\",\n [AvatarGroupType.Group]: \"-2rem\",\n },\n [UDExAvatarSize.XL]: {\n [AvatarGroupType.Individual]: \"0.25rem\",\n [AvatarGroupType.Group]: \"-2.75rem\",\n },\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-avatar-group</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/AvatarGroup.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends AvatarGroup\n * @public\n */\n@customElement({\n tag: \"udex-avatar-group\",\n renderer: jsxRenderer,\n styles: [UI5AvatarGroupCss],\n dependencies: [UDExAvatar],\n})\n\nclass UDExAvatarGroup extends AvatarGroup {\n constructor() {\n super();\n }\n\n onEnterDOM(): void {\n super.onEnterDOM();\n const container: HTMLElement = this.shadowRoot?.querySelector(\".ui5-avatar-group-items\") as HTMLElement;\n container?.addEventListener(\"mouseenter\", this._onHover.bind(this, true));\n container?.addEventListener(\"mouseleave\", this._onHover.bind(this, false));\n this._initializeItemNavigation();\n }\n\n onExitDOM(): void {\n super.onExitDOM();\n const container: HTMLElement = this.shadowRoot?.querySelector(\".ui5-avatar-group-items\") as HTMLElement;\n container?.removeEventListener(\"mouseenter\", this._onHover.bind(this, true));\n container?.removeEventListener(\"mouseleave\", this._onHover.bind(this, false));\n }\n\n async _initializeItemNavigation() {\n await renderFinished();\n this._itemNavigation = new ItemNavigation(this, {\n getItemsCallback: () => {\n return this._isIndividual\n ? this.items.slice(0, this._hiddenStartIndex).map(\n item => item.shadowRoot?.firstElementChild as IAvatarGroupItem,\n )\n : [];\n },\n });\n }\n\n _onHover(hover: boolean) {\n if (this._isGroup) {\n this.items.every(avatar => {\n avatar.toggleAttribute(\"hover\", hover);\n return !avatar.hidden;\n });\n }\n }\n\n _onfocusin(e: FocusEvent) {\n const targetItem = this._isGroup\n ? e.currentTarget\n : (e.target as HTMLElement).shadowRoot?.firstElementChild;\n this._itemNavigation.setCurrentItem(targetItem as IAvatarGroupItem);\n }\n\n _isValidSize(size: string): boolean {\n return Object.values(UDExAvatarSize).includes(size as UDExAvatarSize);\n }\n\n _prepareAvatars() {\n this._colorIndex = 0;\n const visibleColors = Object.values(UDExAvatarColorScheme);\n\n this.items.forEach((avatar, index) => {\n if (++this._colorIndex > visibleColors.length - 3) {\n this._colorIndex = 1;\n }\n avatar.interactive = !this._isGroup;\n avatar.toggleAttribute(\"ui5-avatar\", true);\n\n if (!avatar.getAttribute(\"color-scheme\")) {\n avatar.setAttribute(\"color-scheme\", visibleColors[this._colorIndex]);\n }\n\n if (index !== this._itemsCount - 1 || this._customOverflowButton) {\n const avatarSize = this._isValidSize(avatar.effectiveSize) ? avatar.effectiveSize : UDExAvatarSize.S;\n avatar.style.marginInlineEnd = avatarOffsets[avatarSize][this.type];\n }\n });\n }\n\n get _isIndividual() {\n return this.type === AvatarGroupType.Individual;\n }\n}\n\nUDExAvatarGroup.define();\n\nexport default UDExAvatarGroup;\n"]}
@@ -97,8 +97,9 @@ declare class UDExBreadcrumbs extends UI5Element {
97
97
  get _visibleItems(): Array<UDExBreadcrumbsItem>;
98
98
  get _dropdownItems(): Array<UDExBreadcrumbsItem>;
99
99
  get _triggerClass(): string;
100
- get _accessibleNameText(): string;
100
+ get _breadcrumbsAccessibleNameText(): string;
101
101
  get _dropdownArrowAccessibleNameText(): string;
102
+ get _dropdownAccessibleNameText(): string;
102
103
  }
103
104
  export default UDExBreadcrumbs;
104
105
  export type { UDExBreadcrumbsItemClickEventDetail };
@@ -23,7 +23,7 @@ import BreadcrumbsTemplate from "./BreadcrumbsTemplate.js";
23
23
  import UDExBreadcrumbsItem from "./BreadcrumbsItem.js";
24
24
  import UDExDropdown from "./Dropdown.js";
25
25
  import UDExLink from "./Link.js";
26
- import { BREADCRUMBS_ARIA_LABEL, BREADCRUMBS_OVERFLOW_ARIA_LABEL } from "./generated/i18n/i18n-defaults.js";
26
+ import { AVAILABLE_VALUES, BREADCRUMBS_ARIA_LABEL, BREADCRUMBS_OVERFLOW_ARIA_LABEL, } from "./generated/i18n/i18n-defaults.js";
27
27
  // Styles
28
28
  import BreadcrumbsCss from "./generated/themes/Breadcrumbs.css.js";
29
29
  import BreadcrumbsPopoverCss from "./generated/themes/BreadcrumbsPopover.css.js";
@@ -202,12 +202,15 @@ let UDExBreadcrumbs = UDExBreadcrumbs_1 = class UDExBreadcrumbs extends UI5Eleme
202
202
  const rootClass = "udex-breadcrumbs";
203
203
  return this._dropdownOpened ? `${rootClass} ${rootClass}__trigger--opened` : rootClass;
204
204
  }
205
- get _accessibleNameText() {
205
+ get _breadcrumbsAccessibleNameText() {
206
206
  return UDExBreadcrumbs_1.i18nBundle.getText(BREADCRUMBS_ARIA_LABEL);
207
207
  }
208
208
  get _dropdownArrowAccessibleNameText() {
209
209
  return UDExBreadcrumbs_1.i18nBundle.getText(BREADCRUMBS_OVERFLOW_ARIA_LABEL);
210
210
  }
211
+ get _dropdownAccessibleNameText() {
212
+ return UDExBreadcrumbs_1.i18nBundle.getText(AVAILABLE_VALUES);
213
+ }
211
214
  };
212
215
  __decorate([
213
216
  property({ type: Number })
@@ -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 customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport { isTabNext, isTabPrevious, isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport type { LinkClickEventDetail } from \"@ui5/webcomponents/dist/Link.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport UI5BreadcrumbsCss from \"@ui5/webcomponents/dist/generated/themes/Breadcrumbs.css.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/home.js\";\nimport BreadcrumbsTemplate from \"./BreadcrumbsTemplate.js\";\nimport UDExBreadcrumbsItem from \"./BreadcrumbsItem.js\";\nimport UDExDropdown from \"./Dropdown.js\";\nimport UDExLink from \"./Link.js\";\nimport { BREADCRUMBS_ARIA_LABEL, BREADCRUMBS_OVERFLOW_ARIA_LABEL } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport BreadcrumbsCss from \"./generated/themes/Breadcrumbs.css.js\";\nimport BreadcrumbsPopoverCss from \"./generated/themes/BreadcrumbsPopover.css.js\";\n\ntype UDExBreadcrumbsItemClickEventDetail = {\n item: UDExBreadcrumbsItem;\n altKey?: boolean;\n ctrlKey?: boolean;\n metaKey?: boolean;\n shiftKey?: boolean;\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-breadcrumbs</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Breadcrumbs.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-breadcrumbs\",\n renderer: jsxRenderer,\n styles: [UI5BreadcrumbsCss, BreadcrumbsCss, BreadcrumbsPopoverCss],\n template: BreadcrumbsTemplate,\n dependencies: [UDExBreadcrumbsItem, UDExLink, UDExDropdown, UI5Icon],\n})\n/**\n * @public\n */\n@event(\"item-click\", { cancelable: true, bubbles: true })\n\n/**\n * Fired after the dropdown is opened.\n *\n * @public\n */\n@event(\"open\", { bubbles: true })\n\n/**\n * Fired after the dropdown is closed.\n *\n * @public\n */\n@event(\"close\", { bubbles: true })\n\nclass UDExBreadcrumbs extends UI5Element {\n eventDetails!: {\n \"item-click\": UDExBreadcrumbsItemClickEventDetail,\n \"open\": void,\n \"close\": void,\n };\n /**\n * Defines how many breadcrumb items should be visible\n *\n * @default 3\n * @public\n */\n @property({ type: Number })\n showItems: number = 3;\n\n /**\n * Indicates if dropdown is opened\n *\n * @default false\n * @private\n */\n @property({ noAttribute: true, type: Boolean })\n _dropdownOpened!: boolean;\n\n /**\n * Defines the component items.\n *\n * **Note:** Use the `udex-breadcrumbs-item` component to define the desired items.\n * @public\n */\n @slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n items!: Array<UDExBreadcrumbsItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _responsivePopover?: UDExDropdown;\n _itemNavigation?: ItemNavigation;\n _shouldFocusFirstVisibleItem!: boolean;\n _rootClass: string;\n\n constructor() {\n super();\n this._rootClass = \"udex-breadcrumbs\";\n }\n\n onBeforeRendering(): void {\n this._preprocessItems();\n }\n\n onAfterRendering(): void {\n this._responsivePopover = this._getResponsePopover();\n this._initItemNavigation();\n this._dropdownArrowLink.forcedTabIndex = \"0\";\n this._handleOutsideClick();\n\n if (this._shouldFocusFirstVisibleItem) {\n this._getFocusableItems()[1].focus();\n this._shouldFocusFirstVisibleItem = false;\n }\n }\n\n _preprocessItems(): void {\n this.items.forEach(item => {\n item._getRealDomRef = () => this.getDomRef()!.querySelector(`[data-ui5-stable*=${item.stableDomRef}]`)!;\n });\n }\n\n _getResponsePopover(): UDExDropdown {\n return this.shadowRoot!.querySelector<UDExDropdown>(`#udex-${this.__id!}-breadcrumbs__popover`)!;\n }\n\n _getFocusableItems(): Array<UDExLink> {\n const items = this._links;\n items.unshift(this._dropdownArrowLink);\n\n return items;\n }\n\n _initItemNavigation(): void {\n if (!this._itemNavigation) {\n this._itemNavigation = new ItemNavigation(this, {\n navigationMode: NavigationMode.Horizontal,\n getItemsCallback: () => this._getFocusableItems(),\n });\n }\n }\n\n _getItems(): Array<UDExBreadcrumbsItem> {\n return this.getSlottedNodes<UDExBreadcrumbsItem>(\"items\");\n }\n\n _onDropdownLinkPress(e: CustomEvent<LinkClickEventDetail>): void {\n const listItem = e.target as HTMLElement,\n items = this._getItems(),\n item = items.find(x => `${x._id}-li` === listItem.id)!;\n\n if (item._isCurrentPageItem) {\n return;\n }\n\n if (this.fireDecoratorEvent(\"item-click\", { item })) {\n window.open(item.href, item.target || \"_self\", \"noopener,noreferrer\");\n this._toggleDropdown();\n }\n\n this.setDropdownCloseState();\n }\n\n _onLinkPress(e: CustomEvent<LinkClickEventDetail>): void {\n const link = e.target as UDExLink,\n items = this._getItems(),\n item = items.find(x => `${x._id}-link` === link.id)!,\n {\n altKey,\n ctrlKey,\n metaKey,\n shiftKey,\n } = e.detail;\n\n if (!this.fireDecoratorEvent(\"item-click\", {\n item,\n altKey,\n ctrlKey,\n metaKey,\n shiftKey,\n })) {\n e.preventDefault();\n }\n\n this.setDropdownCloseState();\n }\n\n _isItemVisible(item: UDExBreadcrumbsItem): boolean {\n return !item.hidden;\n }\n\n _afterDropdownOpen(): void {\n this._dropdownOpened = true;\n this.fireDecoratorEvent(\"open\");\n }\n\n _afterDropdownClose(): void {\n this._dropdownOpened = false;\n this.fireDecoratorEvent(\"close\");\n }\n\n _toggleDropdown(): void {\n if (this._responsivePopover) {\n this._responsivePopover.open = !this._responsivePopover.open;\n this._dropdownOpened = !this._dropdownOpened;\n }\n }\n\n _onfocusin(e: FocusEvent): void {\n const currentItem = e.target as UDExLink;\n\n this._itemNavigation?.setCurrentItem(currentItem);\n }\n\n _handleKeydown(e: KeyboardEvent): void {\n const itemIndex = (e.target as HTMLElement).getAttribute(\"data-index\");\n const isLastItem = itemIndex === (this.items.length - 2).toString();\n const isFirstItem = itemIndex === \"0\";\n\n if (isTabNext(e) && isLastItem) {\n this._shouldFocusFirstVisibleItem = true;\n this._toggleDropdown();\n return;\n }\n\n if ((isTabNext(e) && isLastItem) || (isTabPrevious(e) && isFirstItem) || isEscape(e)) {\n this._toggleDropdown();\n }\n }\n\n _handleOutsideClick(): void {\n document.addEventListener(\"mousedown\", (e: Event) => {\n if (e.target !== this) {\n this.setDropdownCloseState();\n }\n });\n }\n\n setDropdownCloseState(): void {\n if (this._responsivePopover) {\n this._dropdownOpened = false;\n }\n }\n\n /**\n * Getter for the interactive element that opens the overflow\n * @private\n */\n get _dropdownArrowLink(): UDExLink {\n return this.shadowRoot!.querySelector<UDExLink>(\".udex-breadcrumbs__trigger\")!;\n }\n\n /**\n * Getter for the list of links corresponding to the abstract breadcrumb items\n */\n get _links(): Array<UDExLink> {\n return Array.from(this.shadowRoot!.querySelectorAll<UDExLink>(\".udex-breadcrumbs__link-wrapper [udex-link]\"));\n }\n\n /**\n * Getter for the list of abstract breadcrumb items to be rendered as links outside the overflow\n */\n get _linksData(): Array<UDExBreadcrumbsItem> {\n const items = this._visibleItems;\n const itemsCount = items.length;\n\n return items\n .map((item, index) => {\n item._isCurrentPageItem = index === (itemsCount - 1);\n return item;\n });\n }\n\n get _visibleItems(): Array<UDExBreadcrumbsItem> {\n const items = this._getItems();\n const itemsLength = this.showItems ?? 0;\n\n return this._getItems()\n .slice(Math.max(items.length - itemsLength - 1, 0))\n .filter(i => this._isItemVisible(i));\n }\n\n get _dropdownItems(): Array<UDExBreadcrumbsItem> {\n return this._getItems().filter(i => this._isItemVisible(i));\n }\n\n get _triggerClass(): string {\n const rootClass = \"udex-breadcrumbs\";\n return this._dropdownOpened ? `${rootClass} ${rootClass}__trigger--opened` : rootClass;\n }\n\n get _accessibleNameText(): string {\n return UDExBreadcrumbs.i18nBundle.getText(BREADCRUMBS_ARIA_LABEL);\n }\n\n get _dropdownArrowAccessibleNameText(): string {\n return UDExBreadcrumbs.i18nBundle.getText(BREADCRUMBS_OVERFLOW_ARIA_LABEL);\n }\n}\n\nUDExBreadcrumbs.define();\n\nexport default UDExBreadcrumbs;\nexport type { UDExBreadcrumbsItemClickEventDetail };\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 customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport { isTabNext, isTabPrevious, isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport type { LinkClickEventDetail } from \"@ui5/webcomponents/dist/Link.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport UI5BreadcrumbsCss from \"@ui5/webcomponents/dist/generated/themes/Breadcrumbs.css.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/home.js\";\nimport BreadcrumbsTemplate from \"./BreadcrumbsTemplate.js\";\nimport UDExBreadcrumbsItem from \"./BreadcrumbsItem.js\";\nimport UDExDropdown from \"./Dropdown.js\";\nimport UDExLink from \"./Link.js\";\nimport {\n AVAILABLE_VALUES,\n BREADCRUMBS_ARIA_LABEL,\n BREADCRUMBS_OVERFLOW_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport BreadcrumbsCss from \"./generated/themes/Breadcrumbs.css.js\";\nimport BreadcrumbsPopoverCss from \"./generated/themes/BreadcrumbsPopover.css.js\";\n\ntype UDExBreadcrumbsItemClickEventDetail = {\n item: UDExBreadcrumbsItem;\n altKey?: boolean;\n ctrlKey?: boolean;\n metaKey?: boolean;\n shiftKey?: boolean;\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-breadcrumbs</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Breadcrumbs.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-breadcrumbs\",\n renderer: jsxRenderer,\n styles: [UI5BreadcrumbsCss, BreadcrumbsCss, BreadcrumbsPopoverCss],\n template: BreadcrumbsTemplate,\n dependencies: [UDExBreadcrumbsItem, UDExLink, UDExDropdown, UI5Icon],\n})\n/**\n * @public\n */\n@event(\"item-click\", { cancelable: true, bubbles: true })\n\n/**\n * Fired after the dropdown is opened.\n *\n * @public\n */\n@event(\"open\", { bubbles: true })\n\n/**\n * Fired after the dropdown is closed.\n *\n * @public\n */\n@event(\"close\", { bubbles: true })\n\nclass UDExBreadcrumbs extends UI5Element {\n eventDetails!: {\n \"item-click\": UDExBreadcrumbsItemClickEventDetail,\n \"open\": void,\n \"close\": void,\n };\n /**\n * Defines how many breadcrumb items should be visible\n *\n * @default 3\n * @public\n */\n @property({ type: Number })\n showItems: number = 3;\n\n /**\n * Indicates if dropdown is opened\n *\n * @default false\n * @private\n */\n @property({ noAttribute: true, type: Boolean })\n _dropdownOpened!: boolean;\n\n /**\n * Defines the component items.\n *\n * **Note:** Use the `udex-breadcrumbs-item` component to define the desired items.\n * @public\n */\n @slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n items!: Array<UDExBreadcrumbsItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _responsivePopover?: UDExDropdown;\n _itemNavigation?: ItemNavigation;\n _shouldFocusFirstVisibleItem!: boolean;\n _rootClass: string;\n\n constructor() {\n super();\n this._rootClass = \"udex-breadcrumbs\";\n }\n\n onBeforeRendering(): void {\n this._preprocessItems();\n }\n\n onAfterRendering(): void {\n this._responsivePopover = this._getResponsePopover();\n this._initItemNavigation();\n this._dropdownArrowLink.forcedTabIndex = \"0\";\n this._handleOutsideClick();\n\n if (this._shouldFocusFirstVisibleItem) {\n this._getFocusableItems()[1].focus();\n this._shouldFocusFirstVisibleItem = false;\n }\n }\n\n _preprocessItems(): void {\n this.items.forEach(item => {\n item._getRealDomRef = () => this.getDomRef()!.querySelector(`[data-ui5-stable*=${item.stableDomRef}]`)!;\n });\n }\n\n _getResponsePopover(): UDExDropdown {\n return this.shadowRoot!.querySelector<UDExDropdown>(`#udex-${this.__id!}-breadcrumbs__popover`)!;\n }\n\n _getFocusableItems(): Array<UDExLink> {\n const items = this._links;\n items.unshift(this._dropdownArrowLink);\n\n return items;\n }\n\n _initItemNavigation(): void {\n if (!this._itemNavigation) {\n this._itemNavigation = new ItemNavigation(this, {\n navigationMode: NavigationMode.Horizontal,\n getItemsCallback: () => this._getFocusableItems(),\n });\n }\n }\n\n _getItems(): Array<UDExBreadcrumbsItem> {\n return this.getSlottedNodes<UDExBreadcrumbsItem>(\"items\");\n }\n\n _onDropdownLinkPress(e: CustomEvent<LinkClickEventDetail>): void {\n const listItem = e.target as HTMLElement,\n items = this._getItems(),\n item = items.find(x => `${x._id}-li` === listItem.id)!;\n\n if (item._isCurrentPageItem) {\n return;\n }\n\n if (this.fireDecoratorEvent(\"item-click\", { item })) {\n window.open(item.href, item.target || \"_self\", \"noopener,noreferrer\");\n this._toggleDropdown();\n }\n\n this.setDropdownCloseState();\n }\n\n _onLinkPress(e: CustomEvent<LinkClickEventDetail>): void {\n const link = e.target as UDExLink,\n items = this._getItems(),\n item = items.find(x => `${x._id}-link` === link.id)!,\n {\n altKey,\n ctrlKey,\n metaKey,\n shiftKey,\n } = e.detail;\n\n if (!this.fireDecoratorEvent(\"item-click\", {\n item,\n altKey,\n ctrlKey,\n metaKey,\n shiftKey,\n })) {\n e.preventDefault();\n }\n\n this.setDropdownCloseState();\n }\n\n _isItemVisible(item: UDExBreadcrumbsItem): boolean {\n return !item.hidden;\n }\n\n _afterDropdownOpen(): void {\n this._dropdownOpened = true;\n this.fireDecoratorEvent(\"open\");\n }\n\n _afterDropdownClose(): void {\n this._dropdownOpened = false;\n this.fireDecoratorEvent(\"close\");\n }\n\n _toggleDropdown(): void {\n if (this._responsivePopover) {\n this._responsivePopover.open = !this._responsivePopover.open;\n this._dropdownOpened = !this._dropdownOpened;\n }\n }\n\n _onfocusin(e: FocusEvent): void {\n const currentItem = e.target as UDExLink;\n\n this._itemNavigation?.setCurrentItem(currentItem);\n }\n\n _handleKeydown(e: KeyboardEvent): void {\n const itemIndex = (e.target as HTMLElement).getAttribute(\"data-index\");\n const isLastItem = itemIndex === (this.items.length - 2).toString();\n const isFirstItem = itemIndex === \"0\";\n\n if (isTabNext(e) && isLastItem) {\n this._shouldFocusFirstVisibleItem = true;\n this._toggleDropdown();\n return;\n }\n\n if ((isTabNext(e) && isLastItem) || (isTabPrevious(e) && isFirstItem) || isEscape(e)) {\n this._toggleDropdown();\n }\n }\n\n _handleOutsideClick(): void {\n document.addEventListener(\"mousedown\", (e: Event) => {\n if (e.target !== this) {\n this.setDropdownCloseState();\n }\n });\n }\n\n setDropdownCloseState(): void {\n if (this._responsivePopover) {\n this._dropdownOpened = false;\n }\n }\n\n /**\n * Getter for the interactive element that opens the overflow\n * @private\n */\n get _dropdownArrowLink(): UDExLink {\n return this.shadowRoot!.querySelector<UDExLink>(\".udex-breadcrumbs__trigger\")!;\n }\n\n /**\n * Getter for the list of links corresponding to the abstract breadcrumb items\n */\n get _links(): Array<UDExLink> {\n return Array.from(this.shadowRoot!.querySelectorAll<UDExLink>(\".udex-breadcrumbs__link-wrapper [udex-link]\"));\n }\n\n /**\n * Getter for the list of abstract breadcrumb items to be rendered as links outside the overflow\n */\n get _linksData(): Array<UDExBreadcrumbsItem> {\n const items = this._visibleItems;\n const itemsCount = items.length;\n\n return items\n .map((item, index) => {\n item._isCurrentPageItem = index === (itemsCount - 1);\n return item;\n });\n }\n\n get _visibleItems(): Array<UDExBreadcrumbsItem> {\n const items = this._getItems();\n const itemsLength = this.showItems ?? 0;\n\n return this._getItems()\n .slice(Math.max(items.length - itemsLength - 1, 0))\n .filter(i => this._isItemVisible(i));\n }\n\n get _dropdownItems(): Array<UDExBreadcrumbsItem> {\n return this._getItems().filter(i => this._isItemVisible(i));\n }\n\n get _triggerClass(): string {\n const rootClass = \"udex-breadcrumbs\";\n return this._dropdownOpened ? `${rootClass} ${rootClass}__trigger--opened` : rootClass;\n }\n\n get _breadcrumbsAccessibleNameText(): string {\n return UDExBreadcrumbs.i18nBundle.getText(BREADCRUMBS_ARIA_LABEL);\n }\n\n get _dropdownArrowAccessibleNameText(): string {\n return UDExBreadcrumbs.i18nBundle.getText(BREADCRUMBS_OVERFLOW_ARIA_LABEL);\n }\n\n get _dropdownAccessibleNameText(): string {\n return UDExBreadcrumbs.i18nBundle.getText(AVAILABLE_VALUES);\n }\n}\n\nUDExBreadcrumbs.define();\n\nexport default UDExBreadcrumbs;\nexport type { UDExBreadcrumbsItemClickEventDetail };\n"]}
@@ -3,6 +3,6 @@ import UDExDropdown from "./Dropdown.js";
3
3
  import UDExLink from "./Link.js";
4
4
  import { Placement, HorizontalAlign } from "./types/Dropdown.js";
5
5
  export default function BreadcrumbsPopoverTemplate() {
6
- return (_jsx(UDExDropdown, { id: `udex-${this._id}-breadcrumbs__popover`, opener: `udex-${this._id}-breadcrumbs__opener`, class: `${this._rootClass}__popover ui5-breadcrumbs-popover`, placement: Placement.Bottom, horizontalAlign: HorizontalAlign.Start, onKeyDown: this._handleKeydown, onClose: this._afterDropdownClose, onOpen: this._afterDropdownOpen, children: _jsx("div", { className: `${this._rootClass}__popover-content`, children: this._dropdownItems.map((item, index) => (item.icon ? (_jsx(UDExLink, { "data-index": index, id: `${item._id}-li`, onClick: this._onDropdownLinkPress, href: item.href, target: item.target, class: `${this._rootClass}__item ${this._rootClass}__item--with-icon ${this._rootClass}__item--hidden ${this._rootClass}__item--${index}`, icon: item.icon, accessibleName: item.textContent ?? undefined, "data-ui5-stable": item.stableDomRef, children: item.textContent }, index)) : item._isCurrentPageItem ? (_jsx("span", { id: `${item._id}-li`, className: `${this._rootClass}__item ${this._rootClass}__item--current ${this._rootClass}__item--hidden ${this._rootClass}__item--${index}`, "accessible-name": item.accessibleName, "data-ui5-stable": item.stableDomRef, children: item.textContent }, index)) : (_jsx(UDExLink, { "data-index": index, id: `${item._id}-li`, onClick: this._onDropdownLinkPress, href: item.href, target: item.target, class: `${this._rootClass}__item ${this._rootClass}__item--hidden ${this._rootClass}__item--${index}`, accessibleName: item.accessibleName, "data-ui5-stable": item.stableDomRef, children: item.textContent }, index)))) }) }));
6
+ return (_jsx(UDExDropdown, { id: `udex-${this._id}-breadcrumbs__popover`, opener: `udex-${this._id}-breadcrumbs__opener`, class: `${this._rootClass}__popover ui5-breadcrumbs-popover`, accessibleName: this._dropdownAccessibleNameText, placement: Placement.Bottom, horizontalAlign: HorizontalAlign.Start, onKeyDown: this._handleKeydown, onClose: this._afterDropdownClose, onOpen: this._afterDropdownOpen, children: _jsx("div", { className: `${this._rootClass}__popover-content`, children: this._dropdownItems.map((item, index) => (item.icon ? (_jsx(UDExLink, { "data-index": index, id: `${item._id}-li`, onClick: this._onDropdownLinkPress, href: item.href, target: item.target, class: `${this._rootClass}__item ${this._rootClass}__item--with-icon ${this._rootClass}__item--hidden ${this._rootClass}__item--${index}`, icon: item.icon, accessibleName: item.textContent ?? undefined, "data-ui5-stable": item.stableDomRef, children: item.textContent }, index)) : item._isCurrentPageItem ? (_jsx("span", { id: `${item._id}-li`, className: `${this._rootClass}__item ${this._rootClass}__item--current ${this._rootClass}__item--hidden ${this._rootClass}__item--${index}`, "accessible-name": item.accessibleName, "data-ui5-stable": item.stableDomRef, children: item.textContent }, index)) : (_jsx(UDExLink, { "data-index": index, id: `${item._id}-li`, onClick: this._onDropdownLinkPress, href: item.href, target: item.target, class: `${this._rootClass}__item ${this._rootClass}__item--hidden ${this._rootClass}__item--${index}`, accessibleName: item.accessibleName, "data-ui5-stable": item.stableDomRef, children: item.textContent }, index)))) }) }));
7
7
  }
8
8
  //# sourceMappingURL=BreadcrumbsPopoverTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbsPopoverTemplate.js","sourceRoot":"","sources":["../src/BreadcrumbsPopoverTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,CAAC,OAAO,UAAU,0BAA0B;IAChD,OAAO,CACL,KAAC,YAAY,IACX,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,uBAAuB,EAC3C,MAAM,EAAE,QAAQ,IAAI,CAAC,GAAG,sBAAsB,EAC9C,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,mCAAmC,EAC5D,SAAS,EAAE,SAAS,CAAC,MAAM,EAC3B,eAAe,EAAE,eAAe,CAAC,KAAK,EACtC,SAAS,EAAE,IAAI,CAAC,cAAc,EAC9B,OAAO,EAAE,IAAI,CAAC,mBAAmB,EACjC,MAAM,EAAE,IAAI,CAAC,kBAAkB,YAC/B,cAAK,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,mBAAmB,YAClD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACxC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACV,KAAC,QAAQ,kBAEK,KAAK,EACjB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,EACpB,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,UAAU,IAAI,CAAC,UAAU,qBAAqB,IAAI,CAAC,UAAU,kBAAkB,IAAI,CAAC,UAAU,WAAW,KAAK,EAAE,EACzI,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,cAAc,EAAE,IAAI,CAAC,WAAW,IAAI,SAAS,qBAC5B,IAAI,CAAC,YAAY,YACjC,IAAI,CAAC,WAAW,IAVZ,KAAK,CAWD,CACZ,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAC5B,eAEE,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,EACpB,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,UAAU,IAAI,CAAC,UAAU,mBAAmB,IAAI,CAAC,UAAU,kBAAkB,IAAI,CAAC,UAAU,WAAW,KAAK,EAAE,qBAC1H,IAAI,CAAC,cAAc,qBACnB,IAAI,CAAC,YAAY,YACjC,IAAI,CAAC,WAAW,IALZ,KAAK,CAML,CACR,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,kBAEK,KAAK,EACjB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,EACpB,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,UAAU,IAAI,CAAC,UAAU,kBAAkB,IAAI,CAAC,UAAU,WAAW,KAAK,EAAE,EACrG,cAAc,EAAE,IAAI,CAAC,cAAc,qBAClB,IAAI,CAAC,YAAY,YACjC,IAAI,CAAC,WAAW,IATZ,KAAK,CAUD,CACZ,CACF,CAAC,GACE,GACO,CAChB,CAAC;AACJ,CAAC","sourcesContent":["import type Breadcrumbs from \"./Breadcrumbs.js\";\nimport UDExDropdown from \"./Dropdown.js\";\nimport UDExLink from \"./Link.js\";\nimport { Placement, HorizontalAlign } from \"./types/Dropdown.js\";\n\nexport default function BreadcrumbsPopoverTemplate(this: Breadcrumbs) {\n return (\n <UDExDropdown\n id={`udex-${this._id}-breadcrumbs__popover`}\n opener={`udex-${this._id}-breadcrumbs__opener`}\n class={`${this._rootClass}__popover ui5-breadcrumbs-popover`}\n placement={Placement.Bottom}\n horizontalAlign={HorizontalAlign.Start}\n onKeyDown={this._handleKeydown}\n onClose={this._afterDropdownClose}\n onOpen={this._afterDropdownOpen}>\n <div className={`${this._rootClass}__popover-content`}>\n {this._dropdownItems.map((item, index) => (\n item.icon ? (\n <UDExLink\n key={index}\n data-index={index}\n id={`${item._id}-li`}\n onClick={this._onDropdownLinkPress}\n href={item.href}\n target={item.target}\n class={`${this._rootClass}__item ${this._rootClass}__item--with-icon ${this._rootClass}__item--hidden ${this._rootClass}__item--${index}`}\n icon={item.icon}\n accessibleName={item.textContent ?? undefined}\n data-ui5-stable={item.stableDomRef}>\n {item.textContent}\n </UDExLink>\n ) : item._isCurrentPageItem ? (\n <span\n key={index}\n id={`${item._id}-li`}\n className={`${this._rootClass}__item ${this._rootClass}__item--current ${this._rootClass}__item--hidden ${this._rootClass}__item--${index}`}\n accessible-name={item.accessibleName}\n data-ui5-stable={item.stableDomRef}>\n {item.textContent}\n </span>\n ) : (\n <UDExLink\n key={index}\n data-index={index}\n id={`${item._id}-li`}\n onClick={this._onDropdownLinkPress}\n href={item.href}\n target={item.target}\n class={`${this._rootClass}__item ${this._rootClass}__item--hidden ${this._rootClass}__item--${index}`}\n accessibleName={item.accessibleName}\n data-ui5-stable={item.stableDomRef}>\n {item.textContent}\n </UDExLink>\n )\n ))}\n </div>\n </UDExDropdown>\n );\n}\n"]}
1
+ {"version":3,"file":"BreadcrumbsPopoverTemplate.js","sourceRoot":"","sources":["../src/BreadcrumbsPopoverTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,CAAC,OAAO,UAAU,0BAA0B;IAChD,OAAO,CACL,KAAC,YAAY,IACX,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,uBAAuB,EAC3C,MAAM,EAAE,QAAQ,IAAI,CAAC,GAAG,sBAAsB,EAC9C,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,mCAAmC,EAC5D,cAAc,EAAE,IAAI,CAAC,2BAA2B,EAChD,SAAS,EAAE,SAAS,CAAC,MAAM,EAC3B,eAAe,EAAE,eAAe,CAAC,KAAK,EACtC,SAAS,EAAE,IAAI,CAAC,cAAc,EAC9B,OAAO,EAAE,IAAI,CAAC,mBAAmB,EACjC,MAAM,EAAE,IAAI,CAAC,kBAAkB,YAC/B,cAAK,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,mBAAmB,YAClD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACxC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACV,KAAC,QAAQ,kBAEK,KAAK,EACjB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,EACpB,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,UAAU,IAAI,CAAC,UAAU,qBAAqB,IAAI,CAAC,UAAU,kBAAkB,IAAI,CAAC,UAAU,WAAW,KAAK,EAAE,EACzI,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,cAAc,EAAE,IAAI,CAAC,WAAW,IAAI,SAAS,qBAC5B,IAAI,CAAC,YAAY,YACjC,IAAI,CAAC,WAAW,IAVZ,KAAK,CAWD,CACZ,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAC5B,eAEE,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,EACpB,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,UAAU,IAAI,CAAC,UAAU,mBAAmB,IAAI,CAAC,UAAU,kBAAkB,IAAI,CAAC,UAAU,WAAW,KAAK,EAAE,qBAC1H,IAAI,CAAC,cAAc,qBACnB,IAAI,CAAC,YAAY,YACjC,IAAI,CAAC,WAAW,IALZ,KAAK,CAML,CACR,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,kBAEK,KAAK,EACjB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,EACpB,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,UAAU,IAAI,CAAC,UAAU,kBAAkB,IAAI,CAAC,UAAU,WAAW,KAAK,EAAE,EACrG,cAAc,EAAE,IAAI,CAAC,cAAc,qBAClB,IAAI,CAAC,YAAY,YACjC,IAAI,CAAC,WAAW,IATZ,KAAK,CAUD,CACZ,CACF,CAAC,GACE,GACO,CAChB,CAAC;AACJ,CAAC","sourcesContent":["import type Breadcrumbs from \"./Breadcrumbs.js\";\nimport UDExDropdown from \"./Dropdown.js\";\nimport UDExLink from \"./Link.js\";\nimport { Placement, HorizontalAlign } from \"./types/Dropdown.js\";\n\nexport default function BreadcrumbsPopoverTemplate(this: Breadcrumbs) {\n return (\n <UDExDropdown\n id={`udex-${this._id}-breadcrumbs__popover`}\n opener={`udex-${this._id}-breadcrumbs__opener`}\n class={`${this._rootClass}__popover ui5-breadcrumbs-popover`}\n accessibleName={this._dropdownAccessibleNameText}\n placement={Placement.Bottom}\n horizontalAlign={HorizontalAlign.Start}\n onKeyDown={this._handleKeydown}\n onClose={this._afterDropdownClose}\n onOpen={this._afterDropdownOpen}>\n <div className={`${this._rootClass}__popover-content`}>\n {this._dropdownItems.map((item, index) => (\n item.icon ? (\n <UDExLink\n key={index}\n data-index={index}\n id={`${item._id}-li`}\n onClick={this._onDropdownLinkPress}\n href={item.href}\n target={item.target}\n class={`${this._rootClass}__item ${this._rootClass}__item--with-icon ${this._rootClass}__item--hidden ${this._rootClass}__item--${index}`}\n icon={item.icon}\n accessibleName={item.textContent ?? undefined}\n data-ui5-stable={item.stableDomRef}>\n {item.textContent}\n </UDExLink>\n ) : item._isCurrentPageItem ? (\n <span\n key={index}\n id={`${item._id}-li`}\n className={`${this._rootClass}__item ${this._rootClass}__item--current ${this._rootClass}__item--hidden ${this._rootClass}__item--${index}`}\n accessible-name={item.accessibleName}\n data-ui5-stable={item.stableDomRef}>\n {item.textContent}\n </span>\n ) : (\n <UDExLink\n key={index}\n data-index={index}\n id={`${item._id}-li`}\n onClick={this._onDropdownLinkPress}\n href={item.href}\n target={item.target}\n class={`${this._rootClass}__item ${this._rootClass}__item--hidden ${this._rootClass}__item--${index}`}\n accessibleName={item.accessibleName}\n data-ui5-stable={item.stableDomRef}>\n {item.textContent}\n </UDExLink>\n )\n ))}\n </div>\n </UDExDropdown>\n );\n}\n"]}
@@ -5,6 +5,6 @@ import slimArrowDown from "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
5
5
  import BreadcrumbsPopoverTemplate from "./BreadcrumbsPopoverTemplate.js";
6
6
  export default function BreadcrumbsTemplate() {
7
7
  const rootClass = "udex-breadcrumbs";
8
- return (_jsxs(_Fragment, { children: [_jsx("nav", { class: `${this._rootClass} ui5-breadcrumbs-root`, "aria-label": this._accessibleNameText, children: _jsxs("ol", { onFocusIn: this._onfocusin, children: [_jsx("li", { class: `${this._rootClass}__arrow-wrapper ui5-breadcrumbs-dropdown-arrow-link-wrapper`, children: _jsx(UDExLink, { id: `udex-${this._id}-breadcrumbs__opener`, class: `${this._rootClass}__trigger ${this._triggerClass}`, onClick: this._toggleDropdown, "aria-label": this._dropdownArrowAccessibleNameText, accessibleRole: UDExButtonAccessibleRole.Button, icon: slimArrowDown, "aria-haspopup": "true" }) }), this._linksData.map(linkData => _jsx("li", { class: `${this._rootClass}__link-wrapper ui5-breadcrumbs-link-wrapper`, id: `${linkData._id}-link-wrapper`, children: !linkData._isCurrentPageItem && (_jsxs(_Fragment, { children: [_jsx("span", { className: `${this._rootClass}__separator`, "aria-hidden": "true" }), _jsx(UDExLink, { onClick: this._onLinkPress, id: `${linkData._id}-link`, class: `${rootClass}__item ${this._rootClass}__item--visible`, href: linkData.href, target: linkData.target, accessibleName: linkData._accessibleNameText, "data-ui5-stable": linkData.stableDomRef, children: linkData.innerText })] })) }))] }) }), BreadcrumbsPopoverTemplate.call(this)] }));
8
+ return (_jsxs(_Fragment, { children: [_jsx("nav", { class: `${this._rootClass} ui5-breadcrumbs-root`, "aria-label": this._breadcrumbsAccessibleNameText, children: _jsxs("ol", { onFocusIn: this._onfocusin, children: [_jsx("li", { class: `${this._rootClass}__arrow-wrapper ui5-breadcrumbs-dropdown-arrow-link-wrapper`, children: _jsx(UDExLink, { id: `udex-${this._id}-breadcrumbs__opener`, class: `${this._rootClass}__trigger ${this._triggerClass}`, onClick: this._toggleDropdown, accessibleName: this._dropdownArrowAccessibleNameText, accessibleRole: UDExButtonAccessibleRole.Button, icon: slimArrowDown, "aria-haspopup": "true" }) }), this._linksData.map(linkData => _jsx("li", { class: `${this._rootClass}__link-wrapper ui5-breadcrumbs-link-wrapper`, id: `${linkData._id}-link-wrapper`, children: !linkData._isCurrentPageItem && (_jsxs(_Fragment, { children: [_jsx("span", { className: `${this._rootClass}__separator`, "aria-hidden": "true" }), _jsx(UDExLink, { onClick: this._onLinkPress, id: `${linkData._id}-link`, class: `${rootClass}__item ${this._rootClass}__item--visible`, href: linkData.href, target: linkData.target, accessibleName: linkData._accessibleNameText, "data-ui5-stable": linkData.stableDomRef, children: linkData.innerText })] })) }))] }) }), BreadcrumbsPopoverTemplate.call(this)] }));
9
9
  }
10
10
  //# sourceMappingURL=BreadcrumbsTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbsTemplate.js","sourceRoot":"","sources":["../src/BreadcrumbsTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,wBAAwB,MAAM,iCAAiC,CAAC;AACvE,OAAO,aAAa,MAAM,kDAAkD,CAAC;AAC7E,OAAO,0BAA0B,MAAM,iCAAiC,CAAC;AAEzE,MAAM,CAAC,OAAO,UAAU,mBAAmB;IACzC,MAAM,SAAS,GAAG,kBAAkB,CAAC;IAErC,OAAO,CACL,8BACE,cACE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,uBAAuB,gBACpC,IAAI,CAAC,mBAAmB,YACpC,cAAI,SAAS,EAAE,IAAI,CAAC,UAAU,aAC5B,aAAI,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,6DAA6D,YACxF,KAAC,QAAQ,IACP,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,sBAAsB,EAC1C,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,aAAa,IAAI,CAAC,aAAa,EAAE,EAC1D,OAAO,EAAE,IAAI,CAAC,eAAe,gBACjB,IAAI,CAAC,gCAAgC,EACjD,cAAc,EAAE,wBAAwB,CAAC,MAAM,EAC/C,IAAI,EAAE,aAAa,mBACL,MAAM,GACX,GACR,EACJ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAC9B,aACE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,6CAA6C,EACtE,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAG,eAAe,YACjC,CAAC,QAAQ,CAAC,kBAAkB,IAAI,CAC/B,8BACE,eAAM,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,aAAa,iBAAc,MAAM,GAAQ,EAC5E,KAAC,QAAQ,IACP,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAG,OAAO,EAC1B,KAAK,EAAE,GAAG,SAAS,UAAU,IAAI,CAAC,UAAU,iBAAiB,EAC7D,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,MAAM,EAAE,QAAQ,CAAC,MAAM,EACvB,cAAc,EAAE,QAAQ,CAAC,mBAAmB,qBAC3B,QAAQ,CAAC,YAAY,YACrC,QAAQ,CAAC,SAAS,GACV,IACV,CACJ,GACE,CACN,IACE,GACD,EACL,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IACrC,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import type Breadcrumbs from \"./Breadcrumbs.js\";\nimport UDExLink from \"./Link.js\";\nimport UDExButtonAccessibleRole from \"./types/ButtonAccessibleRole.js\";\nimport slimArrowDown from \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport BreadcrumbsPopoverTemplate from \"./BreadcrumbsPopoverTemplate.js\";\n\nexport default function BreadcrumbsTemplate(this: Breadcrumbs) {\n const rootClass = \"udex-breadcrumbs\";\n\n return (\n <>\n <nav\n class={`${this._rootClass} ui5-breadcrumbs-root`}\n aria-label={this._accessibleNameText}>\n <ol onFocusIn={this._onfocusin}>\n <li class={`${this._rootClass}__arrow-wrapper ui5-breadcrumbs-dropdown-arrow-link-wrapper`}>\n <UDExLink\n id={`udex-${this._id}-breadcrumbs__opener`}\n class={`${this._rootClass}__trigger ${this._triggerClass}`}\n onClick={this._toggleDropdown}\n aria-label={this._dropdownArrowAccessibleNameText}\n accessibleRole={UDExButtonAccessibleRole.Button}\n icon={slimArrowDown}\n aria-haspopup=\"true\">\n </UDExLink>\n </li>\n {this._linksData.map(linkData =>\n <li\n class={`${this._rootClass}__link-wrapper ui5-breadcrumbs-link-wrapper`}\n id={`${linkData._id}-link-wrapper`}>\n {!linkData._isCurrentPageItem && (\n <>\n <span className={`${this._rootClass}__separator`} aria-hidden=\"true\"></span>\n <UDExLink\n onClick={this._onLinkPress}\n id={`${linkData._id}-link`}\n class={`${rootClass}__item ${this._rootClass}__item--visible`}\n href={linkData.href}\n target={linkData.target}\n accessibleName={linkData._accessibleNameText}\n data-ui5-stable={linkData.stableDomRef}>\n {linkData.innerText}\n </UDExLink>\n </>\n )}\n </li>\n )}\n </ol>\n </nav>\n {BreadcrumbsPopoverTemplate.call(this)}\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"BreadcrumbsTemplate.js","sourceRoot":"","sources":["../src/BreadcrumbsTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,wBAAwB,MAAM,iCAAiC,CAAC;AACvE,OAAO,aAAa,MAAM,kDAAkD,CAAC;AAC7E,OAAO,0BAA0B,MAAM,iCAAiC,CAAC;AAEzE,MAAM,CAAC,OAAO,UAAU,mBAAmB;IACzC,MAAM,SAAS,GAAG,kBAAkB,CAAC;IAErC,OAAO,CACL,8BACE,cACE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,uBAAuB,gBACpC,IAAI,CAAC,8BAA8B,YAC/C,cAAI,SAAS,EAAE,IAAI,CAAC,UAAU,aAC5B,aAAI,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,6DAA6D,YACxF,KAAC,QAAQ,IACP,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,sBAAsB,EAC1C,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,aAAa,IAAI,CAAC,aAAa,EAAE,EAC1D,OAAO,EAAE,IAAI,CAAC,eAAe,EAC7B,cAAc,EAAE,IAAI,CAAC,gCAAgC,EACrD,cAAc,EAAE,wBAAwB,CAAC,MAAM,EAC/C,IAAI,EAAE,aAAa,mBACL,MAAM,GACX,GACR,EACJ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAC9B,aACE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,6CAA6C,EACtE,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAG,eAAe,YACjC,CAAC,QAAQ,CAAC,kBAAkB,IAAI,CAC/B,8BACE,eAAM,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,aAAa,iBAAc,MAAM,GAAQ,EAC5E,KAAC,QAAQ,IACP,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAG,OAAO,EAC1B,KAAK,EAAE,GAAG,SAAS,UAAU,IAAI,CAAC,UAAU,iBAAiB,EAC7D,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,MAAM,EAAE,QAAQ,CAAC,MAAM,EACvB,cAAc,EAAE,QAAQ,CAAC,mBAAmB,qBAC3B,QAAQ,CAAC,YAAY,YACrC,QAAQ,CAAC,SAAS,GACV,IACV,CACJ,GACE,CACN,IACE,GACD,EACL,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IACrC,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import type Breadcrumbs from \"./Breadcrumbs.js\";\nimport UDExLink from \"./Link.js\";\nimport UDExButtonAccessibleRole from \"./types/ButtonAccessibleRole.js\";\nimport slimArrowDown from \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport BreadcrumbsPopoverTemplate from \"./BreadcrumbsPopoverTemplate.js\";\n\nexport default function BreadcrumbsTemplate(this: Breadcrumbs) {\n const rootClass = \"udex-breadcrumbs\";\n\n return (\n <>\n <nav\n class={`${this._rootClass} ui5-breadcrumbs-root`}\n aria-label={this._breadcrumbsAccessibleNameText}>\n <ol onFocusIn={this._onfocusin}>\n <li class={`${this._rootClass}__arrow-wrapper ui5-breadcrumbs-dropdown-arrow-link-wrapper`}>\n <UDExLink\n id={`udex-${this._id}-breadcrumbs__opener`}\n class={`${this._rootClass}__trigger ${this._triggerClass}`}\n onClick={this._toggleDropdown}\n accessibleName={this._dropdownArrowAccessibleNameText}\n accessibleRole={UDExButtonAccessibleRole.Button}\n icon={slimArrowDown}\n aria-haspopup=\"true\">\n </UDExLink>\n </li>\n {this._linksData.map(linkData =>\n <li\n class={`${this._rootClass}__link-wrapper ui5-breadcrumbs-link-wrapper`}\n id={`${linkData._id}-link-wrapper`}>\n {!linkData._isCurrentPageItem && (\n <>\n <span className={`${this._rootClass}__separator`} aria-hidden=\"true\"></span>\n <UDExLink\n onClick={this._onLinkPress}\n id={`${linkData._id}-link`}\n class={`${rootClass}__item ${this._rootClass}__item--visible`}\n href={linkData.href}\n target={linkData.target}\n accessibleName={linkData._accessibleNameText}\n data-ui5-stable={linkData.stableDomRef}>\n {linkData.innerText}\n </UDExLink>\n </>\n )}\n </li>\n )}\n </ol>\n </nav>\n {BreadcrumbsPopoverTemplate.call(this)}\n </>\n );\n}\n"]}
@@ -4,9 +4,9 @@ export default function EventRibbonTemplate() {
4
4
  const rootClass = "udex-event-ribbon";
5
5
  const logoClass = this.customEventLogo?.length ? `${rootClass}__logo-img ${rootClass}__custom-logo` : `${rootClass}__logo-img`;
6
6
  const { text, target, url } = this._eventLink;
7
- return (_jsxs("a", { onKeyDown: this.handleKeyDown, "aria-labelledby": `${this.eventText ? `${this._id}-text` : ""} ${this._id}-link-text`, class: {
7
+ return (_jsxs("a", { onKeyDown: this.handleKeyDown, "aria-labelledby": `${this._id}__logo-alt ${this.eventText ? `${this._id}-text` : ""} ${this._id}-link-text`, class: {
8
8
  [`${rootClass}__container`]: true,
9
9
  [`${rootClass}__container-with-background-image`]: this.backgroundImage
10
- }, target: target, href: url, children: [_jsx("div", { class: `${rootClass}__logo`, children: _jsx("img", { class: `${logoClass}`, src: this.eventLogoPath, alt: this.eventLogoAlt }) }), this.eventText && _jsx("p", { class: `${rootClass}__text`, id: `${this._id}-text`, children: this.eventText }), _jsxs("div", { class: `${rootClass}__link-container`, children: [this.eventLinkIcon && _jsx(Icon, { name: this.eventLinkIcon }), _jsx("span", { class: `${rootClass}__link-text`, id: `${this._id}-link-text`, children: text })] })] }));
10
+ }, target: target, href: url, children: [_jsxs("div", { class: `${rootClass}__logo`, children: [_jsx("img", { class: `${logoClass}`, src: this.eventLogoPath, alt: this.eventLogoAlt }), _jsx("span", { id: `${this._id}__logo-alt`, class: "hidden-text", children: this.eventLogoAlt })] }), this.eventText && _jsx("p", { class: `${rootClass}__text`, id: `${this._id}-text`, children: this.eventText }), _jsxs("div", { class: `${rootClass}__link-container`, children: [this.eventLinkIcon && _jsx(Icon, { name: this.eventLinkIcon }), _jsx("span", { class: `${rootClass}__link-text`, id: `${this._id}-link-text`, children: text })] })] }));
11
11
  }
12
12
  //# sourceMappingURL=EventRibbonTemplate.js.map