@sapudex/web-components 2.17.0 → 2.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (501) hide show
  1. package/config/dev-server.mjs +13 -9
  2. package/cypress/specs/Accordion.cy.tsx +0 -20
  3. package/cypress/specs/EventRibbon.cy.tsx +11 -1
  4. package/cypress/specs/Footer.cy.tsx +13 -0
  5. package/cypress/specs/RatingIndicator.cy.tsx +74 -0
  6. package/cypress/specs/Switch.cy.tsx +13 -1
  7. package/dist/Accordion.js +3 -3
  8. package/dist/Accordion.js.map +1 -1
  9. package/dist/AccordionItem.d.ts +6 -1
  10. package/dist/AccordionItem.js +1 -1
  11. package/dist/AccordionItem.js.map +1 -1
  12. package/dist/AccordionItemTemplate.js +1 -1
  13. package/dist/AccordionItemTemplate.js.map +1 -1
  14. package/dist/Assets.d.ts +1 -2
  15. package/dist/Assets.js +2 -2
  16. package/dist/Assets.js.map +1 -1
  17. package/dist/AssetsVariables.js +13 -0
  18. package/dist/AssetsVariables.js.map +1 -1
  19. package/dist/AvatarGroup.d.ts +2 -0
  20. package/dist/AvatarGroup.js +16 -8
  21. package/dist/AvatarGroup.js.map +1 -1
  22. package/dist/Breadcrumbs.d.ts +2 -1
  23. package/dist/Breadcrumbs.js +5 -2
  24. package/dist/Breadcrumbs.js.map +1 -1
  25. package/dist/BreadcrumbsPopoverTemplate.js +1 -1
  26. package/dist/BreadcrumbsPopoverTemplate.js.map +1 -1
  27. package/dist/BreadcrumbsTemplate.js +1 -1
  28. package/dist/BreadcrumbsTemplate.js.map +1 -1
  29. package/dist/EventRibbonTemplate.js +2 -2
  30. package/dist/EventRibbonTemplate.js.map +1 -1
  31. package/dist/Footer.d.ts +4 -0
  32. package/dist/Footer.js +13 -1
  33. package/dist/Footer.js.map +1 -1
  34. package/dist/FooterTemplate.js +2 -2
  35. package/dist/FooterTemplate.js.map +1 -1
  36. package/dist/MediaPlayer.d.ts +1 -2
  37. package/dist/MediaPlayer.js +3 -8
  38. package/dist/MediaPlayer.js.map +1 -1
  39. package/dist/MediaPlayerTemplate.d.ts +3 -0
  40. package/dist/MediaPlayerTemplate.js +32 -0
  41. package/dist/MediaPlayerTemplate.js.map +1 -0
  42. package/dist/MediaPlayerVimeo.js +3 -4
  43. package/dist/MediaPlayerVimeo.js.map +1 -1
  44. package/dist/MediaPlayerVimeoTemplate.d.ts +2 -0
  45. package/dist/MediaPlayerVimeoTemplate.js +5 -0
  46. package/dist/MediaPlayerVimeoTemplate.js.map +1 -0
  47. package/dist/MediaPlayerYoutube.js +3 -3
  48. package/dist/MediaPlayerYoutube.js.map +1 -1
  49. package/dist/MediaPlayerYoutubeTemplate.d.ts +2 -0
  50. package/dist/MediaPlayerYoutubeTemplate.js +5 -0
  51. package/dist/MediaPlayerYoutubeTemplate.js.map +1 -0
  52. package/dist/Pagination.d.ts +3 -6
  53. package/dist/Pagination.js +5 -11
  54. package/dist/Pagination.js.map +1 -1
  55. package/dist/PaginationTemplate.d.ts +2 -0
  56. package/dist/PaginationTemplate.js +23 -0
  57. package/dist/PaginationTemplate.js.map +1 -0
  58. package/dist/Quote.d.ts +1 -0
  59. package/dist/Quote.js +3 -0
  60. package/dist/Quote.js.map +1 -1
  61. package/dist/QuoteTemplate.js +4 -1
  62. package/dist/QuoteTemplate.js.map +1 -1
  63. package/dist/RatingIndicator.d.ts +1 -1
  64. package/dist/RatingIndicator.js +6 -6
  65. package/dist/RatingIndicator.js.map +1 -1
  66. package/dist/RatingIndicatorTemplate.d.ts +2 -0
  67. package/dist/RatingIndicatorTemplate.js +13 -0
  68. package/dist/RatingIndicatorTemplate.js.map +1 -0
  69. package/dist/Switch.d.ts +1 -0
  70. package/dist/Switch.js +7 -0
  71. package/dist/Switch.js.map +1 -1
  72. package/dist/SwitchTemplate.js +1 -1
  73. package/dist/SwitchTemplate.js.map +1 -1
  74. package/dist/assets/InputComposition-DoqxipV9.js +1 -0
  75. package/dist/assets/InputSuggestions-L-9bNSZM.js +2 -0
  76. package/dist/assets/{ListItemStandardExpandableTextTemplate-DgdZLN5V.js → ListItemStandardExpandableTextTemplate-C2VMJfHu.js} +3 -3
  77. package/dist/assets/bundle.esm-D4RSd7yl.js +492 -0
  78. package/dist/assets/messagebundle_ar-BNhVFt1-.js +1 -0
  79. package/dist/assets/messagebundle_ar-CDVauCu2.js +1 -0
  80. package/dist/assets/messagebundle_ar-CH9uoq9g.js +1 -0
  81. package/dist/assets/messagebundle_bg-4X593TQq.js +1 -0
  82. package/dist/assets/messagebundle_bg-D9EStGhk.js +1 -0
  83. package/dist/assets/messagebundle_bg-Ns2ALSY2.js +1 -0
  84. package/dist/assets/messagebundle_ca-cMnWazdh.js +1 -0
  85. package/dist/assets/messagebundle_ca-v3O8CWC9.js +1 -0
  86. package/dist/assets/messagebundle_cnr-oRKAxWSt.js +1 -0
  87. package/dist/assets/messagebundle_cnr-uyge3vU_.js +1 -0
  88. package/dist/assets/messagebundle_cs-BL-46wSf.js +1 -0
  89. package/dist/assets/messagebundle_cs-Bt8XtMib.js +1 -0
  90. package/dist/assets/messagebundle_cs-D-wmquh4.js +1 -0
  91. package/dist/assets/messagebundle_cy-CNMNe2DY.js +1 -0
  92. package/dist/assets/messagebundle_cy-CZCpck3Z.js +1 -0
  93. package/dist/assets/messagebundle_da-38nADUJE.js +1 -0
  94. package/dist/assets/messagebundle_da-BB7OtRY9.js +1 -0
  95. package/dist/assets/messagebundle_da-CkKInIrf.js +1 -0
  96. package/dist/assets/messagebundle_de-CN3Cg-Gc.js +1 -0
  97. package/dist/assets/messagebundle_de-DmraOZqt.js +1 -0
  98. package/dist/assets/messagebundle_de-NtViQTfJ.js +1 -0
  99. package/dist/assets/messagebundle_el-BFRFxMEL.js +1 -0
  100. package/dist/assets/messagebundle_el-BZAAedlK.js +1 -0
  101. package/dist/assets/messagebundle_el-Zxg11y2d.js +1 -0
  102. package/dist/assets/messagebundle_en-BdiOvVBD.js +1 -0
  103. package/dist/assets/messagebundle_en-D6cJIiUq.js +1 -0
  104. package/dist/assets/messagebundle_en-H6ibWmd8.js +1 -0
  105. package/dist/assets/messagebundle_en_GB-CHl7nqmg.js +1 -0
  106. package/dist/assets/messagebundle_en_GB-DNER1sXC.js +1 -0
  107. package/dist/assets/messagebundle_en_US_sappsd-A24jipei.js +1 -0
  108. package/dist/assets/messagebundle_en_US_sappsd-DRY0RcFI.js +1 -0
  109. package/dist/assets/messagebundle_en_US_saprigi-B6BJ2fjK.js +1 -0
  110. package/dist/assets/messagebundle_en_US_saprigi-DrIdR2OA.js +1 -0
  111. package/dist/assets/messagebundle_en_US_saptrc-DhCdjVNQ.js +1 -0
  112. package/dist/assets/messagebundle_en_US_saptrc-eaUqSl9-.js +1 -0
  113. package/dist/assets/messagebundle_es-CO-oJIBU.js +1 -0
  114. package/dist/assets/messagebundle_es-D5nxxweU.js +1 -0
  115. package/dist/assets/messagebundle_es-DjKiFArz.js +1 -0
  116. package/dist/assets/messagebundle_es_MX-Bl6mL4Gm.js +1 -0
  117. package/dist/assets/messagebundle_es_MX-j4O3ktQl.js +1 -0
  118. package/dist/assets/messagebundle_et-BCYOcg2t.js +1 -0
  119. package/dist/assets/messagebundle_et-BnJvORLZ.js +1 -0
  120. package/dist/assets/messagebundle_et-C4MZaBvU.js +1 -0
  121. package/dist/assets/messagebundle_fi-CilvS7NU.js +1 -0
  122. package/dist/assets/messagebundle_fi-CssCIjmp.js +1 -0
  123. package/dist/assets/messagebundle_fi-lfNyCHae.js +1 -0
  124. package/dist/assets/messagebundle_fr-CQ9l7Sw-.js +1 -0
  125. package/dist/assets/messagebundle_fr-ChaecN7D.js +1 -0
  126. package/dist/assets/messagebundle_fr-CvOyuAVw.js +1 -0
  127. package/dist/assets/messagebundle_fr_CA-BiszoJL1.js +1 -0
  128. package/dist/assets/messagebundle_fr_CA-ClnSTsg4.js +1 -0
  129. package/dist/assets/messagebundle_hi-B06bgABi.js +1 -0
  130. package/dist/assets/messagebundle_hi-B4f1dtl5.js +1 -0
  131. package/dist/assets/messagebundle_hr-BsOekihu.js +1 -0
  132. package/dist/assets/messagebundle_hr-CashhWbN.js +1 -0
  133. package/dist/assets/messagebundle_hr-DSTrAQyP.js +1 -0
  134. package/dist/assets/messagebundle_hu-AQQHZ70T.js +1 -0
  135. package/dist/assets/messagebundle_hu-BEMbu-EE.js +1 -0
  136. package/dist/assets/messagebundle_hu-BHcMtlLL.js +1 -0
  137. package/dist/assets/messagebundle_id-CFalTccS.js +1 -0
  138. package/dist/assets/messagebundle_id-CRwRJl1J.js +1 -0
  139. package/dist/assets/messagebundle_it-BhrBdOd4.js +1 -0
  140. package/dist/assets/messagebundle_it-DB8xkT1m.js +1 -0
  141. package/dist/assets/messagebundle_it-iOLGro27.js +1 -0
  142. package/dist/assets/messagebundle_iw-BIOuaDHS.js +1 -0
  143. package/dist/assets/messagebundle_iw-CzJjIyB1.js +1 -0
  144. package/dist/assets/messagebundle_iw-ayxle34r.js +1 -0
  145. package/dist/assets/messagebundle_ja-5P5L7sQ1.js +1 -0
  146. package/dist/assets/messagebundle_ja-OWv_hkCF.js +1 -0
  147. package/dist/assets/messagebundle_ja-TwMnsX09.js +1 -0
  148. package/dist/assets/messagebundle_kk-BS30sa4p.js +1 -0
  149. package/dist/assets/messagebundle_kk-DhQM-S2v.js +1 -0
  150. package/dist/assets/messagebundle_ko-B9H5YQlC.js +1 -0
  151. package/dist/assets/messagebundle_ko-BHkAwaFF.js +1 -0
  152. package/dist/assets/messagebundle_ko-CXyX3bMY.js +1 -0
  153. package/dist/assets/messagebundle_lt-2Ha0Zkp4.js +1 -0
  154. package/dist/assets/messagebundle_lt-BJ5gr_LF.js +1 -0
  155. package/dist/assets/messagebundle_lt-BpZaKuUr.js +1 -0
  156. package/dist/assets/messagebundle_lv-BHId5zho.js +1 -0
  157. package/dist/assets/messagebundle_lv-rwRjOWkA.js +1 -0
  158. package/dist/assets/messagebundle_lv-tJm-NcJt.js +1 -0
  159. package/dist/assets/messagebundle_mk-Bvnsj6mW.js +1 -0
  160. package/dist/assets/messagebundle_mk-CcQTgbUA.js +1 -0
  161. package/dist/assets/messagebundle_ms-DvrAqqcA.js +1 -0
  162. package/dist/assets/messagebundle_ms-v1iRMlhZ.js +1 -0
  163. package/dist/assets/messagebundle_nl-CBTv22ZS.js +1 -0
  164. package/dist/assets/messagebundle_nl-DHvNmpQL.js +1 -0
  165. package/dist/assets/messagebundle_nl-etaldyfo.js +1 -0
  166. package/dist/assets/messagebundle_no-BIUfmTWJ.js +1 -0
  167. package/dist/assets/messagebundle_no-CuWL-QZt.js +1 -0
  168. package/dist/assets/messagebundle_no-hc8LfCOM.js +1 -0
  169. package/dist/assets/messagebundle_pl-BmaELnDD.js +1 -0
  170. package/dist/assets/messagebundle_pl-C6B67me2.js +1 -0
  171. package/dist/assets/messagebundle_pl-hh7tWX9o.js +1 -0
  172. package/dist/assets/messagebundle_pt-D-AHlB8y.js +1 -0
  173. package/dist/assets/messagebundle_pt-D8iDr9U7.js +1 -0
  174. package/dist/assets/messagebundle_pt-DPeE7NbC.js +1 -0
  175. package/dist/assets/messagebundle_pt_PT-Bj7dZnQ9.js +1 -0
  176. package/dist/assets/messagebundle_pt_PT-DV-pULKY.js +1 -0
  177. package/dist/assets/messagebundle_pt_PT-DcVh6BH6.js +1 -0
  178. package/dist/assets/messagebundle_ro-CN4kAAYE.js +1 -0
  179. package/dist/assets/messagebundle_ro-UECV-Atd.js +1 -0
  180. package/dist/assets/messagebundle_ro-z0yjCDrM.js +1 -0
  181. package/dist/assets/messagebundle_ru-BBC8LnLh.js +1 -0
  182. package/dist/assets/messagebundle_ru-BT7zyn7i.js +1 -0
  183. package/dist/assets/messagebundle_ru-zm7B9n87.js +1 -0
  184. package/dist/assets/messagebundle_sh-ByDIxvq3.js +1 -0
  185. package/dist/assets/messagebundle_sh-CK1rAFs-.js +1 -0
  186. package/dist/assets/messagebundle_sk-BTvYn1Yb.js +1 -0
  187. package/dist/assets/messagebundle_sk-DJps-B07.js +1 -0
  188. package/dist/assets/messagebundle_sk-gmWb_4Wo.js +1 -0
  189. package/dist/assets/messagebundle_sl-0FOODTiB.js +1 -0
  190. package/dist/assets/messagebundle_sl-B4p3OqyZ.js +1 -0
  191. package/dist/assets/messagebundle_sl-P0U3pDjV.js +1 -0
  192. package/dist/assets/messagebundle_sr-BGu5zwgU.js +1 -0
  193. package/dist/assets/messagebundle_sr-CG9T0bXH.js +1 -0
  194. package/dist/assets/messagebundle_sr-D8Lxl5cz.js +1 -0
  195. package/dist/assets/messagebundle_sv-Cl8CaUzX.js +1 -0
  196. package/dist/assets/messagebundle_sv-D-9GhRzG.js +1 -0
  197. package/dist/assets/messagebundle_sv-DZNyuq7Z.js +1 -0
  198. package/dist/assets/messagebundle_th-BUmGNQWk.js +1 -0
  199. package/dist/assets/messagebundle_th-CBE63UoI.js +1 -0
  200. package/dist/assets/messagebundle_tr-9FvYSV7d.js +1 -0
  201. package/dist/assets/messagebundle_tr-CKJwjJhQ.js +1 -0
  202. package/dist/assets/messagebundle_tr-io8qsWwA.js +1 -0
  203. package/dist/assets/messagebundle_uk-BgTRxken.js +1 -0
  204. package/dist/assets/messagebundle_uk-DHSEF0TD.js +1 -0
  205. package/dist/assets/messagebundle_uk-PTyymK4i.js +1 -0
  206. package/dist/assets/messagebundle_vi-D2ZgzSpx.js +1 -0
  207. package/dist/assets/messagebundle_vi-SGqRlDXf.js +1 -0
  208. package/dist/assets/messagebundle_zh_CN-BsCxQ-NE.js +1 -0
  209. package/dist/assets/messagebundle_zh_CN-CjpQTGvp.js +1 -0
  210. package/dist/assets/messagebundle_zh_CN-DDFdOOoj.js +1 -0
  211. package/dist/assets/messagebundle_zh_TW-8M6mp9Ec.js +1 -0
  212. package/dist/assets/messagebundle_zh_TW-CjV5SF65.js +1 -0
  213. package/dist/assets/messagebundle_zh_TW-Li9m-Dgo.js +1 -0
  214. package/dist/assets/parameters-bundle.css-7tmaWxIc.js +2 -0
  215. package/dist/assets/parameters-bundle.css-BERBdAGd.js +2 -0
  216. package/dist/assets/parameters-bundle.css-B_2Jldx4.js +2 -0
  217. package/dist/assets/parameters-bundle.css-BbhFHnRW.js +2 -0
  218. package/dist/assets/parameters-bundle.css-Bg4Huwh4.js +2 -0
  219. package/dist/assets/parameters-bundle.css-BwKgmVCr.js +2 -0
  220. package/dist/assets/parameters-bundle.css-C759-AfS.js +2 -0
  221. package/dist/assets/parameters-bundle.css-CCDcKh9J.js +2 -0
  222. package/dist/assets/parameters-bundle.css-COmXsTqR.js +2 -0
  223. package/dist/assets/parameters-bundle.css-CPZYPVEO.js +2 -0
  224. package/dist/assets/parameters-bundle.css-C_z8R1zV.js +2 -0
  225. package/dist/assets/parameters-bundle.css-CuV0KqCS.js +2 -0
  226. package/dist/assets/parameters-bundle.css-DT8OC7CO.js +2 -0
  227. package/dist/assets/parameters-bundle.css-Df2zY3XY.js +2 -0
  228. package/dist/assets/parameters-bundle.css-H0NCnWYS.js +2 -0
  229. package/dist/assets/parameters-bundle.css-pC6uofhy.js +2 -0
  230. package/dist/css/themes/AccordionItem.css +1 -1
  231. package/dist/css/themes/Badge.css +1 -1
  232. package/dist/css/themes/DatePickerPopover.css +1 -1
  233. package/dist/css/themes/EventRibbon.css +1 -1
  234. package/dist/css/themes/Footer.css +1 -1
  235. package/dist/css/themes/MediaPlayer.css +1 -1
  236. package/dist/css/themes/Quote.css +1 -1
  237. package/dist/css/themes/RatingIndicator.css +1 -1
  238. package/dist/css/themes/Slider.css +1 -1
  239. package/dist/css/themes/Upload.css +1 -1
  240. package/dist/custom-elements-internal.json +2890 -2879
  241. package/dist/custom-elements.json +1318 -1311
  242. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  243. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  244. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  245. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  246. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  247. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  248. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  249. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  250. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  251. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  252. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  253. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  254. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  255. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  256. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  257. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -0
  258. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  259. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  260. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  261. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  262. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  263. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  264. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  265. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  266. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  267. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  268. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  269. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  270. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  271. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  272. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  273. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  274. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  275. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  276. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  277. package/dist/generated/i18n/i18n-defaults.js +2 -1
  278. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  279. package/dist/generated/json-imports/i18n-fetch.js +4 -0
  280. package/dist/generated/json-imports/i18n-fetch.js.map +1 -1
  281. package/dist/generated/json-imports/i18n-node.js +4 -0
  282. package/dist/generated/json-imports/i18n-node.js.map +1 -1
  283. package/dist/generated/json-imports/i18n.js +4 -0
  284. package/dist/generated/json-imports/i18n.js.map +1 -1
  285. package/dist/generated/themes/AccordionItem.css.d.ts +1 -1
  286. package/dist/generated/themes/AccordionItem.css.js +1 -1
  287. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  288. package/dist/generated/themes/Badge.css.d.ts +1 -1
  289. package/dist/generated/themes/Badge.css.js +1 -1
  290. package/dist/generated/themes/Badge.css.js.map +1 -1
  291. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  292. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  293. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  294. package/dist/generated/themes/EventRibbon.css.d.ts +1 -1
  295. package/dist/generated/themes/EventRibbon.css.js +1 -1
  296. package/dist/generated/themes/EventRibbon.css.js.map +1 -1
  297. package/dist/generated/themes/Footer.css.d.ts +1 -1
  298. package/dist/generated/themes/Footer.css.js +1 -1
  299. package/dist/generated/themes/Footer.css.js.map +1 -1
  300. package/dist/generated/themes/MediaPlayer.css.d.ts +1 -1
  301. package/dist/generated/themes/MediaPlayer.css.js +1 -1
  302. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  303. package/dist/generated/themes/Quote.css.d.ts +1 -1
  304. package/dist/generated/themes/Quote.css.js +1 -1
  305. package/dist/generated/themes/Quote.css.js.map +1 -1
  306. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  307. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  308. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  309. package/dist/generated/themes/Slider.css.d.ts +1 -1
  310. package/dist/generated/themes/Slider.css.js +1 -1
  311. package/dist/generated/themes/Slider.css.js.map +1 -1
  312. package/dist/generated/themes/Upload.css.d.ts +1 -1
  313. package/dist/generated/themes/Upload.css.js +1 -1
  314. package/dist/generated/themes/Upload.css.js.map +1 -1
  315. package/dist/messagebundle.properties +1 -0
  316. package/dist/messagebundle_ar.properties +1 -0
  317. package/dist/messagebundle_bg.properties +1 -0
  318. package/dist/messagebundle_cs.properties +1 -0
  319. package/dist/messagebundle_da.properties +1 -0
  320. package/dist/messagebundle_de.properties +1 -0
  321. package/dist/messagebundle_el.properties +1 -0
  322. package/dist/messagebundle_en.properties +1 -0
  323. package/dist/messagebundle_es.properties +1 -0
  324. package/dist/messagebundle_et.properties +1 -0
  325. package/dist/messagebundle_fi.properties +1 -0
  326. package/dist/messagebundle_fr.properties +1 -0
  327. package/dist/messagebundle_hr.properties +1 -0
  328. package/dist/messagebundle_hu.properties +1 -0
  329. package/dist/messagebundle_it.properties +1 -0
  330. package/dist/messagebundle_iw.properties +1 -0
  331. package/dist/messagebundle_ja.properties +5 -0
  332. package/dist/messagebundle_ko.properties +1 -0
  333. package/dist/messagebundle_lt.properties +1 -0
  334. package/dist/messagebundle_lv.properties +1 -0
  335. package/dist/messagebundle_nl.properties +1 -0
  336. package/dist/messagebundle_no.properties +2 -0
  337. package/dist/messagebundle_pl.properties +1 -0
  338. package/dist/messagebundle_pt.properties +5 -3
  339. package/dist/messagebundle_pt_PT.properties +7 -0
  340. package/dist/messagebundle_ro.properties +1 -0
  341. package/dist/messagebundle_ru.properties +1 -0
  342. package/dist/messagebundle_sk.properties +1 -0
  343. package/dist/messagebundle_sl.properties +1 -0
  344. package/dist/messagebundle_sr.properties +1 -0
  345. package/dist/messagebundle_sv.properties +1 -0
  346. package/dist/messagebundle_tr.properties +1 -0
  347. package/dist/messagebundle_uk.properties +1 -0
  348. package/dist/messagebundle_zh_CN.properties +1 -0
  349. package/dist/messagebundle_zh_TW.properties +1 -0
  350. package/dist/types/BadgeDesign.d.ts +19 -1
  351. package/dist/types/BadgeDesign.js +42 -1
  352. package/dist/types/BadgeDesign.js.map +1 -1
  353. package/dist/vscode.html-custom-data.json +12 -2
  354. package/dist/web-types.json +12 -4
  355. package/package-scripts.cjs +4 -2
  356. package/package.json +9 -9
  357. package/src/Accordion.ts +3 -3
  358. package/src/AccordionItem.ts +8 -2
  359. package/src/AccordionItemTemplate.tsx +1 -0
  360. package/src/Assets.ts +2 -2
  361. package/src/AssetsVariables.ts +13 -0
  362. package/src/AvatarGroup.ts +21 -11
  363. package/src/Breadcrumbs.ts +10 -2
  364. package/src/BreadcrumbsPopoverTemplate.tsx +1 -0
  365. package/src/BreadcrumbsTemplate.tsx +2 -2
  366. package/src/EventRibbonTemplate.tsx +2 -1
  367. package/src/Footer.ts +17 -0
  368. package/src/FooterTemplate.tsx +39 -37
  369. package/src/MediaPlayer.ts +6 -9
  370. package/src/MediaPlayerTemplate.tsx +102 -0
  371. package/src/MediaPlayerVimeo.ts +4 -4
  372. package/src/MediaPlayerVimeoTemplate.tsx +19 -0
  373. package/src/MediaPlayerYoutube.ts +3 -3
  374. package/src/MediaPlayerYoutubeTemplate.tsx +7 -0
  375. package/src/Pagination.ts +8 -11
  376. package/src/PaginationTemplate.tsx +80 -0
  377. package/src/Quote.ts +4 -0
  378. package/src/QuoteTemplate.tsx +12 -11
  379. package/src/RatingIndicator.ts +7 -7
  380. package/src/RatingIndicatorTemplate.tsx +53 -0
  381. package/src/Switch.ts +8 -0
  382. package/src/SwitchTemplate.tsx +2 -1
  383. package/src/generated/i18n/i18n-defaults.ts +2 -2
  384. package/src/generated/json-imports/i18n-fetch.ts +4 -0
  385. package/src/generated/json-imports/i18n-node.ts +4 -0
  386. package/src/generated/json-imports/i18n.ts +4 -0
  387. package/src/generated/themes/AccordionItem.css.ts +1 -1
  388. package/src/generated/themes/Badge.css.ts +1 -1
  389. package/src/generated/themes/DatePickerPopover.css.ts +1 -1
  390. package/src/generated/themes/EventRibbon.css.ts +1 -1
  391. package/src/generated/themes/Footer.css.ts +1 -1
  392. package/src/generated/themes/MediaPlayer.css.ts +1 -1
  393. package/src/generated/themes/Quote.css.ts +1 -1
  394. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  395. package/src/generated/themes/Slider.css.ts +1 -1
  396. package/src/generated/themes/Upload.css.ts +1 -1
  397. package/src/i18n/messagebundle.properties +1 -0
  398. package/src/i18n/messagebundle_ar.properties +1 -0
  399. package/src/i18n/messagebundle_bg.properties +1 -0
  400. package/src/i18n/messagebundle_cs.properties +1 -0
  401. package/src/i18n/messagebundle_da.properties +1 -0
  402. package/src/i18n/messagebundle_de.properties +1 -0
  403. package/src/i18n/messagebundle_el.properties +1 -0
  404. package/src/i18n/messagebundle_en.properties +1 -0
  405. package/src/i18n/messagebundle_es.properties +1 -0
  406. package/src/i18n/messagebundle_et.properties +1 -0
  407. package/src/i18n/messagebundle_fi.properties +1 -0
  408. package/src/i18n/messagebundle_fr.properties +1 -0
  409. package/src/i18n/messagebundle_hr.properties +1 -0
  410. package/src/i18n/messagebundle_hu.properties +1 -0
  411. package/src/i18n/messagebundle_it.properties +1 -0
  412. package/src/i18n/messagebundle_iw.properties +1 -0
  413. package/src/i18n/messagebundle_ja.properties +5 -0
  414. package/src/i18n/messagebundle_ko.properties +1 -0
  415. package/src/i18n/messagebundle_lt.properties +1 -0
  416. package/src/i18n/messagebundle_lv.properties +1 -0
  417. package/src/i18n/messagebundle_nl.properties +1 -0
  418. package/src/i18n/messagebundle_no.properties +2 -0
  419. package/src/i18n/messagebundle_pl.properties +1 -0
  420. package/src/i18n/messagebundle_pt.properties +5 -3
  421. package/src/i18n/messagebundle_pt_PT.properties +7 -0
  422. package/src/i18n/messagebundle_ro.properties +1 -0
  423. package/src/i18n/messagebundle_ru.properties +1 -0
  424. package/src/i18n/messagebundle_sk.properties +1 -0
  425. package/src/i18n/messagebundle_sl.properties +1 -0
  426. package/src/i18n/messagebundle_sr.properties +1 -0
  427. package/src/i18n/messagebundle_sv.properties +1 -0
  428. package/src/i18n/messagebundle_tr.properties +1 -0
  429. package/src/i18n/messagebundle_uk.properties +1 -0
  430. package/src/i18n/messagebundle_zh_CN.properties +1 -0
  431. package/src/i18n/messagebundle_zh_TW.properties +1 -0
  432. package/src/themes/AccordionItem.css +11 -2
  433. package/src/themes/Badge.css +206 -3
  434. package/src/themes/DatePickerPopover.css +5 -0
  435. package/src/themes/EventRibbon.css +4 -0
  436. package/src/themes/Footer.css +3 -0
  437. package/src/themes/MediaPlayer.css +6 -7
  438. package/src/themes/Quote.css +1 -5
  439. package/src/themes/Upload.css +4 -0
  440. package/src/types/BadgeDesign.ts +45 -3
  441. package/dist/assets/InputSuggestions-EyZxsb7i.js +0 -2
  442. package/dist/assets/bundle.esm-ChjL9w9f.js +0 -479
  443. package/dist/assets/messagebundle_ar-C39XMRa3.js +0 -1
  444. package/dist/assets/messagebundle_bg-CFuqxDUo.js +0 -1
  445. package/dist/assets/messagebundle_cs-HZFdxP5k.js +0 -1
  446. package/dist/assets/messagebundle_da-Cb19y_UU.js +0 -1
  447. package/dist/assets/messagebundle_de-BPtfcnG8.js +0 -1
  448. package/dist/assets/messagebundle_el-BfR2BVvB.js +0 -1
  449. package/dist/assets/messagebundle_en-PmkE-Vht.js +0 -1
  450. package/dist/assets/messagebundle_es-DEz3xznF.js +0 -1
  451. package/dist/assets/messagebundle_et-BHSda64J.js +0 -1
  452. package/dist/assets/messagebundle_fi-DTkxmWJb.js +0 -1
  453. package/dist/assets/messagebundle_fr-BEq1Nxlj.js +0 -1
  454. package/dist/assets/messagebundle_hr-BzWPMYA7.js +0 -1
  455. package/dist/assets/messagebundle_hu-DQvndOA8.js +0 -1
  456. package/dist/assets/messagebundle_it-Bx7wA4HY.js +0 -1
  457. package/dist/assets/messagebundle_iw-L2hZONxh.js +0 -1
  458. package/dist/assets/messagebundle_ko-D4ckbm7i.js +0 -1
  459. package/dist/assets/messagebundle_lt-BriAnQM8.js +0 -1
  460. package/dist/assets/messagebundle_lv-Di1Ng3Tk.js +0 -1
  461. package/dist/assets/messagebundle_nl-Bhq20VT1.js +0 -1
  462. package/dist/assets/messagebundle_no-bTeyeWYl.js +0 -1
  463. package/dist/assets/messagebundle_pl-BnBUJpAL.js +0 -1
  464. package/dist/assets/messagebundle_pt-Cd_ey78V.js +0 -1
  465. package/dist/assets/messagebundle_ro-Cy-zHe5i.js +0 -1
  466. package/dist/assets/messagebundle_ru-CiDd56L1.js +0 -1
  467. package/dist/assets/messagebundle_sk-DJS6mahY.js +0 -1
  468. package/dist/assets/messagebundle_sl-BUi3OLzP.js +0 -1
  469. package/dist/assets/messagebundle_sr-BtodsTa0.js +0 -1
  470. package/dist/assets/messagebundle_sv-CVVuFZcm.js +0 -1
  471. package/dist/assets/messagebundle_tr-CqVlQ8yY.js +0 -1
  472. package/dist/assets/messagebundle_uk-aDyDoabO.js +0 -1
  473. package/dist/assets/messagebundle_zh_CN-CTb6-Dhs.js +0 -1
  474. package/dist/assets/messagebundle_zh_TW-DtT5REQh.js +0 -1
  475. package/dist/generated/templates/MediaPlayerTemplate.lit.d.ts +0 -3
  476. package/dist/generated/templates/MediaPlayerTemplate.lit.js +0 -16
  477. package/dist/generated/templates/MediaPlayerTemplate.lit.js.map +0 -1
  478. package/dist/generated/templates/MediaPlayerVimeoTemplate.lit.d.ts +0 -3
  479. package/dist/generated/templates/MediaPlayerVimeoTemplate.lit.js +0 -7
  480. package/dist/generated/templates/MediaPlayerVimeoTemplate.lit.js.map +0 -1
  481. package/dist/generated/templates/MediaPlayerYoutubeTemplate.lit.d.ts +0 -3
  482. package/dist/generated/templates/MediaPlayerYoutubeTemplate.lit.js +0 -7
  483. package/dist/generated/templates/MediaPlayerYoutubeTemplate.lit.js.map +0 -1
  484. package/dist/generated/templates/PaginationTemplate.lit.d.ts +0 -3
  485. package/dist/generated/templates/PaginationTemplate.lit.js +0 -11
  486. package/dist/generated/templates/PaginationTemplate.lit.js.map +0 -1
  487. package/dist/generated/templates/RatingIndicatorTemplate.lit.d.ts +0 -3
  488. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +0 -17
  489. package/dist/generated/templates/RatingIndicatorTemplate.lit.js.map +0 -1
  490. package/dist/messagebundle_pt_BR.properties +0 -4
  491. package/src/MediaPlayer.hbs +0 -73
  492. package/src/MediaPlayerVimeo.hbs +0 -16
  493. package/src/MediaPlayerYoutube.hbs +0 -1
  494. package/src/Pagination.hbs +0 -54
  495. package/src/RatingIndicator.hbs +0 -53
  496. package/src/generated/templates/MediaPlayerTemplate.lit.ts +0 -20
  497. package/src/generated/templates/MediaPlayerVimeoTemplate.lit.ts +0 -11
  498. package/src/generated/templates/MediaPlayerYoutubeTemplate.lit.ts +0 -11
  499. package/src/generated/templates/PaginationTemplate.lit.ts +0 -15
  500. package/src/generated/templates/RatingIndicatorTemplate.lit.ts +0 -21
  501. package/src/i18n/messagebundle_pt_BR.properties +0 -4
@@ -3,13 +3,9 @@ import { createServer } from 'vite';
3
3
  import yargs from 'yargs';
4
4
  import { hideBin } from 'yargs/helpers';
5
5
 
6
- const argv = yargs(hideBin(process.argv))
7
- .alias("c", "config")
8
- .argv;
9
-
10
- const startVite = async (port) => {
6
+ const startVite = async (config, port) => {
11
7
  const server = await createServer({
12
- configFile: argv.config,
8
+ configFile: config,
13
9
  server: {
14
10
  port: port,
15
11
  strictPort: true,
@@ -36,15 +32,19 @@ const rmPortFile = async () => {
36
32
  process.on(eventType, rmPortFile);
37
33
  });
38
34
 
39
- (async () => {
35
+ async function start(outArgv) {
40
36
  let retries = 10;
41
37
  let port = 8080;
38
+ const argv = yargs(hideBin(outArgv))
39
+ .alias("c", "config")
40
+ .argv;
41
+
42
42
  while (retries--) {
43
43
  console.log(`taking port ${port}`);
44
44
  await fs.writeFile(".dev-server-port", `${port}`);
45
45
  try {
46
46
  // execSync(command, {stdio: 'pipe'});
47
- const server = await startVite(port);
47
+ const server = await startVite(argv.config ?? "", port);
48
48
  if (server) {
49
49
  // server started, don't try other ports
50
50
  break;
@@ -63,4 +63,8 @@ const rmPortFile = async () => {
63
63
  // no error normal exit
64
64
  // process.exit();
65
65
  }
66
- })();
66
+ };
67
+
68
+ export default {
69
+ _ui5mainFn: start
70
+ }
@@ -134,26 +134,6 @@ describe("Accordion", () => {
134
134
  cy.get("[udex-accordion]").find("udex-accordion-item").eq(4).should("be.focused")
135
135
  });
136
136
 
137
- it("click on \"Arrow up\" btn move focus on first element if initial element is was the second", () => {
138
- cy.get("[udex-accordion]").find("udex-accordion-item").eq(1).click().realPress("{uparrow}")
139
- cy.get("[udex-accordion]").find("udex-accordion-item").first().should("be.focused")
140
- });
141
-
142
- it("click on \"Arrow up\" btn move focus on the last element if initial element was the first", () => {
143
- cy.get("[udex-accordion]").find("udex-accordion-item").first().click().realPress("{uparrow}")
144
- cy.get("[udex-accordion]").find("udex-accordion-item").eq(4).should("be.focused")
145
- });
146
-
147
- it("click on \"Arrow down\" btn move focus on the second element if initial element was the first", () => {
148
- cy.get("[udex-accordion]").find("udex-accordion-item").first().click().realPress("{downarrow}")
149
- cy.get("[udex-accordion]").find("udex-accordion-item").eq(1).should("be.focused")
150
- });
151
-
152
- it("click on \"Arrow down\" btn move focus the first element if initial element was the last ", () => {
153
- cy.get("[udex-accordion]").find("udex-accordion-item").eq(4).click().realPress("{downarrow}")
154
- cy.get("[udex-accordion]").find("udex-accordion-item").first().should("be.focused")
155
- });
156
-
157
137
  it("click on \"Tab\" btn move focus to the next element", () => {
158
138
  cy.get("[udex-accordion]").find("udex-accordion-item").eq(2).click().realPress("Tab")
159
139
  cy.get("[udex-accordion]").find("udex-accordion-item").eq(3).should("be.focused")
@@ -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
  })
@@ -320,6 +320,19 @@ describe("Footer", () => {
320
320
  it("tests if mobile view is correctly rendered", () => {
321
321
  cy.get("#footer").shadow().find("udex-accordion-item.udex-footer__action-item").should("exist")
322
322
  });
323
+
324
+ it("test if accordion item emit events", () => {
325
+ const expectedDetails = {
326
+ name: "Quick Links",
327
+ expanded: true
328
+ }
329
+
330
+ const quickLinksClickHandler = cy.stub().as("accordionItemClick")
331
+ cy.get("#footer").then($footer =>
332
+ $footer[0].addEventListener("accordion-item-click", quickLinksClickHandler)
333
+ ).shadow().find("udex-accordion-item.udex-footer__action-item").first().click()
334
+ cy.get("@accordionItemClick").should("have.been.called").its("lastCall.args.0.detail").should("include", expectedDetails)
335
+ })
323
336
  });
324
337
 
325
338
  describe("Footer chinese", () => {
@@ -0,0 +1,74 @@
1
+ import { UDExRatingIndicator } from "../support/component-imports.js";
2
+
3
+ const totalCount = 100;
4
+ const ratingValue = 2.5;
5
+ const newValue = 4;
6
+ const maxSymbols = 10;
7
+ const displayType = "Mobile";
8
+ const accName = "test";
9
+
10
+ const ratingIndicator = <UDExRatingIndicator total-count={totalCount} value={ratingValue} max={maxSymbols} display={displayType} accessible-name={accName}></UDExRatingIndicator>
11
+ const disabledRatingIndicator = <UDExRatingIndicator value={ratingValue} disabled></UDExRatingIndicator>
12
+
13
+ describe("Rating Indicator", () => {
14
+ beforeEach(() => {
15
+ cy.mount(ratingIndicator);
16
+ });
17
+
18
+ it("renders rating indicator", () => {
19
+ cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator").should("be.visible");
20
+ });
21
+
22
+ it("renders with default attributes", () => {
23
+ cy.get("[udex-rating-indicator]").should("have.attr", "size", "M");
24
+ });
25
+
26
+ it("renders with custom value", () => {
27
+ cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator").should("have.attr", "aria-valuenow", ratingValue);
28
+ });
29
+
30
+ it("renders with custom max symbols", () => {
31
+ cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator").should("have.attr", "aria-valuemax", maxSymbols);
32
+ cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator__item").should("have.length", maxSymbols);
33
+ });
34
+
35
+ it("renders with total count", () => {
36
+ cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator__total").should("have.text", `(${totalCount})`);
37
+ });
38
+
39
+ it("renders with mobile display", () => {
40
+ cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator--mobile").should("be.visible");
41
+ });
42
+
43
+ it("renders with proper accessible name", () => {
44
+ cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator").should("have.attr", "aria-label", `${accName}, Total ${totalCount}`);
45
+ });
46
+
47
+ it("renders disabled", () => {
48
+ cy.mount(disabledRatingIndicator);
49
+ cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator").should("have.attr", "tabindex", -1);
50
+ });
51
+ });
52
+
53
+ describe("General interaction", () => {
54
+ it("changes rate on mouse click", () => {
55
+ cy.mount(ratingIndicator);
56
+ cy.get("[udex-rating-indicator]").should("have.attr", "value", `${ratingValue}`);
57
+ cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator__item").eq(newValue).click();
58
+ cy.get("[udex-rating-indicator]").should("have.attr", "value", `${newValue + 1}`);
59
+ });
60
+
61
+ it("changes rate on enter click", () => {
62
+ cy.mount(ratingIndicator);
63
+ cy.get("[udex-rating-indicator]").should("have.attr", "value", `${ratingValue}`);
64
+ cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator").focus().realPress("Enter");
65
+ cy.get("[udex-rating-indicator]").should("have.attr", "value", `${newValue}`);
66
+ });
67
+
68
+ it("not changes rate on click when disabled", () => {
69
+ cy.mount(disabledRatingIndicator);
70
+ cy.get("[udex-rating-indicator]").should("have.attr", "value", `${ratingValue}`);
71
+ cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator__item").eq(newValue).click();
72
+ cy.get("[udex-rating-indicator]").should("have.attr", "value", `${ratingValue}`);
73
+ });
74
+ });
@@ -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
  });
package/dist/Accordion.js CHANGED
@@ -13,7 +13,7 @@ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
13
13
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
14
14
  import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
15
15
  import "@ui5/webcomponents-icons/dist/feeder-arrow.js";
16
- import { isEnter, isSpace, isUp, isDown, isEnd, isHome, isTabPrevious, isTabNext, } from "@ui5/webcomponents-base/dist/Keys.js";
16
+ import { isEnter, isSpace, isEnd, isHome, isTabPrevious, isTabNext, } from "@ui5/webcomponents-base/dist/Keys.js";
17
17
  import AccordionTemplate from "./AccordionTemplate.js";
18
18
  import { COLLAPSE_ALL, EXPAND_ALL } from "./generated/i18n/i18n-defaults.js";
19
19
  // Styles
@@ -122,10 +122,10 @@ let UDExAccordion = UDExAccordion_1 = class UDExAccordion extends UI5Element {
122
122
  if (isEnd(e)) {
123
123
  focusOnItem(len - 1);
124
124
  }
125
- if (isTabPrevious(e) || isUp(e)) {
125
+ if (isTabPrevious(e)) {
126
126
  focusOnItem(this._activeItemIndex > 0 ? this._activeItemIndex - 1 : len - 1);
127
127
  }
128
- if (isTabNext(e) || isDown(e)) {
128
+ if (isTabNext(e)) {
129
129
  focusOnItem(this._activeItemIndex < len - 1 ? this._activeItemIndex + 1 : 0);
130
130
  }
131
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../src/Accordion.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 i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport \"@ui5/webcomponents-icons/dist/feeder-arrow.js\";\nimport {\n isEnter, isSpace, isUp, isDown, isEnd, isHome, isTabPrevious, isTabNext,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport AccordionTemplate from \"./AccordionTemplate.js\";\nimport type UDExAccordionItem from \"./AccordionItem.js\";\nimport { COLLAPSE_ALL, EXPAND_ALL } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport AccordionCss from \"./generated/themes/Accordion.css.js\";\n\nexport enum UDExAccordionHeadlineLevel {\n H1 = \"H1\",\n H2 = \"H2\",\n H3 = \"H3\",\n H4 = \"H4\",\n H5 = \"H5\",\n H6 = \"H6\"\n}\n\ntype UDExAccordionToggleItemsEventDetail = {\n isOpen: 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-accordion</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Accordion.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-accordion\n * @public\n */\n@customElement({\n tag: \"udex-accordion\",\n renderer: jsxRenderer,\n styles: AccordionCss,\n template: AccordionTemplate,\n})\n\n/**\n * Triggered when the user clicks on the Expand/Collapse All button..\n *\n * @public\n */\n@event(\"toggle-items\", { bubbles: true })\n\nclass UDExAccordion extends UI5Element {\n eventDetails!: {\n \"toggle-items\": UDExAccordionToggleItemsEventDetail,\n };\n\n /**\n * Used internally to store expand/collapse button state.\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _allExpanded!: boolean;\n\n /**\n * Defines if expandAll button should be displayed.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n hideExpandButton!: boolean;\n\n /**\n * Defines direction of the accordion component.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n /**\n * Defines the headline text of the accordion component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n headline!: string;\n\n /**\n * Defines the semantic level of the headline.\n *\n * @default UDExAccordionHeadlineLevel.h3\n * @public\n */\n @property()\n headlineLevel: UDExAccordionHeadlineLevel = UDExAccordionHeadlineLevel.H3;\n\n /**\n * Slot for accordion items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, individualSlots: true })\n _items!: Array<UDExAccordionItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _activeItemIndex: number;\n\n constructor() {\n super();\n this._allExpanded = false;\n this._activeItemIndex = -1;\n }\n\n onEnterDOM() {\n this.updateAllExpandedStatus();\n }\n\n toggleAllHandler(e: Event) {\n e.preventDefault();\n this._allExpanded = !this._allExpanded;\n this.toggleOpenItems(this._allExpanded);\n this.fireDecoratorEvent(\"toggle-items\", { isOpen: this._allExpanded });\n }\n\n toggleOpenItems(isOpen: boolean) {\n this._items.forEach(item => {\n item.expanded = isOpen;\n });\n }\n\n toggleKeyAllHandler(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n this.toggleAllHandler(e);\n }\n }\n\n keydownHandler(e: KeyboardEvent) {\n const activeItem = this._items[this._activeItemIndex];\n const previousItem = this._items[this._activeItemIndex - 1];\n const isLastItem = this._activeItemIndex === this._items.length - 1;\n const isFirstItem = this._activeItemIndex === 0;\n const lastItem = this._items[this._items.length - 1];\n\n const updateTabIndex = (elements: NodeListOf<Element>, value: string) => {\n elements.forEach(element => element.setAttribute(\"tabindex\", value));\n };\n\n const getInteractiveElements = (item: HTMLElement) => {\n const selectors = [\"button\", \"a[href]\", \"input\", \"select\", \"textarea\", \"[tabindex]\"];\n return item.querySelectorAll(selectors.join(\",\"));\n };\n\n const handleTabNavigation = (keyboardEvent: KeyboardEvent) => {\n if (isLastItem && isTabNext(keyboardEvent) && !lastItem.expanded) {\n updateTabIndex(getInteractiveElements(activeItem), \"-1\");\n return true;\n }\n\n if ((activeItem?.expanded && isTabNext(e))\n || (previousItem?.expanded && isTabPrevious(e))\n || (isFirstItem && isTabPrevious(e))) {\n return true;\n }\n\n if (isEnter(e) && isLastItem) {\n updateTabIndex(getInteractiveElements(activeItem), \"0\");\n }\n\n return false;\n };\n\n const focusOnItem = (itemIndex: number) => {\n const item = this._items[itemIndex];\n this._activeItemIndex = itemIndex;\n (item?.shadowRoot?.querySelector(\".udex-accordion-item__header\") as HTMLElement)?.focus();\n };\n\n if (handleTabNavigation(e)) {\n return;\n }\n\n e.preventDefault();\n const len = this._items.length;\n\n if (isHome(e)) {\n focusOnItem(0);\n }\n\n if (isEnd(e)) {\n focusOnItem(len - 1);\n }\n\n if (isTabPrevious(e) || isUp(e)) {\n focusOnItem(this._activeItemIndex > 0 ? this._activeItemIndex - 1 : len - 1);\n }\n\n if (isTabNext(e) || isDown(e)) {\n focusOnItem(this._activeItemIndex < len - 1 ? this._activeItemIndex + 1 : 0);\n }\n }\n\n itemFocusHandler(e: CustomEvent) {\n const target = e.target as UDExAccordionItem;\n if (target) {\n this._activeItemIndex = this._items?.indexOf(target) ?? -1;\n }\n }\n\n updateAllExpandedStatus() {\n this._allExpanded = this._items.every(item => item.expanded);\n }\n\n get toggleAllText(): string {\n return this._allExpanded\n ? UDExAccordion.i18nBundle.getText(COLLAPSE_ALL)\n : UDExAccordion.i18nBundle.getText(EXPAND_ALL);\n }\n\n get items(): {item: UDExAccordionItem}[] {\n return this._items.map(el => {\n return {\n item: el,\n };\n });\n }\n}\n\nUDExAccordion.define();\n\nexport default UDExAccordion;\nexport type { UDExAccordionToggleItemsEventDetail };\n"]}
1
+ {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../src/Accordion.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 i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport \"@ui5/webcomponents-icons/dist/feeder-arrow.js\";\nimport {\n isEnter, isSpace, isEnd, isHome, isTabPrevious, isTabNext,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport AccordionTemplate from \"./AccordionTemplate.js\";\nimport type UDExAccordionItem from \"./AccordionItem.js\";\nimport { COLLAPSE_ALL, EXPAND_ALL } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport AccordionCss from \"./generated/themes/Accordion.css.js\";\n\nexport enum UDExAccordionHeadlineLevel {\n H1 = \"H1\",\n H2 = \"H2\",\n H3 = \"H3\",\n H4 = \"H4\",\n H5 = \"H5\",\n H6 = \"H6\"\n}\n\ntype UDExAccordionToggleItemsEventDetail = {\n isOpen: 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-accordion</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Accordion.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-accordion\n * @public\n */\n@customElement({\n tag: \"udex-accordion\",\n renderer: jsxRenderer,\n styles: AccordionCss,\n template: AccordionTemplate,\n})\n\n/**\n * Triggered when the user clicks on the Expand/Collapse All button..\n *\n * @public\n */\n@event(\"toggle-items\", { bubbles: true })\n\nclass UDExAccordion extends UI5Element {\n eventDetails!: {\n \"toggle-items\": UDExAccordionToggleItemsEventDetail,\n };\n\n /**\n * Used internally to store expand/collapse button state.\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _allExpanded!: boolean;\n\n /**\n * Defines if expandAll button should be displayed.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n hideExpandButton!: boolean;\n\n /**\n * Defines direction of the accordion component.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n /**\n * Defines the headline text of the accordion component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n headline!: string;\n\n /**\n * Defines the semantic level of the headline.\n *\n * @default UDExAccordionHeadlineLevel.h3\n * @public\n */\n @property()\n headlineLevel: UDExAccordionHeadlineLevel = UDExAccordionHeadlineLevel.H3;\n\n /**\n * Slot for accordion items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, individualSlots: true })\n _items!: Array<UDExAccordionItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _activeItemIndex: number;\n\n constructor() {\n super();\n this._allExpanded = false;\n this._activeItemIndex = -1;\n }\n\n onEnterDOM() {\n this.updateAllExpandedStatus();\n }\n\n toggleAllHandler(e: Event) {\n e.preventDefault();\n this._allExpanded = !this._allExpanded;\n this.toggleOpenItems(this._allExpanded);\n this.fireDecoratorEvent(\"toggle-items\", { isOpen: this._allExpanded });\n }\n\n toggleOpenItems(isOpen: boolean) {\n this._items.forEach(item => {\n item.expanded = isOpen;\n });\n }\n\n toggleKeyAllHandler(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n this.toggleAllHandler(e);\n }\n }\n\n keydownHandler(e: KeyboardEvent) {\n const activeItem = this._items[this._activeItemIndex];\n const previousItem = this._items[this._activeItemIndex - 1];\n const isLastItem = this._activeItemIndex === this._items.length - 1;\n const isFirstItem = this._activeItemIndex === 0;\n const lastItem = this._items[this._items.length - 1];\n\n const updateTabIndex = (elements: NodeListOf<Element>, value: string) => {\n elements.forEach(element => element.setAttribute(\"tabindex\", value));\n };\n\n const getInteractiveElements = (item: HTMLElement) => {\n const selectors = [\"button\", \"a[href]\", \"input\", \"select\", \"textarea\", \"[tabindex]\"];\n return item.querySelectorAll(selectors.join(\",\"));\n };\n\n const handleTabNavigation = (keyboardEvent: KeyboardEvent) => {\n if (isLastItem && isTabNext(keyboardEvent) && !lastItem.expanded) {\n updateTabIndex(getInteractiveElements(activeItem), \"-1\");\n return true;\n }\n\n if ((activeItem?.expanded && isTabNext(e))\n || (previousItem?.expanded && isTabPrevious(e))\n || (isFirstItem && isTabPrevious(e))) {\n return true;\n }\n\n if (isEnter(e) && isLastItem) {\n updateTabIndex(getInteractiveElements(activeItem), \"0\");\n }\n\n return false;\n };\n\n const focusOnItem = (itemIndex: number) => {\n const item = this._items[itemIndex];\n this._activeItemIndex = itemIndex;\n (item?.shadowRoot?.querySelector(\".udex-accordion-item__header\") as HTMLElement)?.focus();\n };\n\n if (handleTabNavigation(e)) {\n return;\n }\n\n e.preventDefault();\n const len = this._items.length;\n\n if (isHome(e)) {\n focusOnItem(0);\n }\n\n if (isEnd(e)) {\n focusOnItem(len - 1);\n }\n\n if (isTabPrevious(e)) {\n focusOnItem(this._activeItemIndex > 0 ? this._activeItemIndex - 1 : len - 1);\n }\n\n if (isTabNext(e)) {\n focusOnItem(this._activeItemIndex < len - 1 ? this._activeItemIndex + 1 : 0);\n }\n }\n\n itemFocusHandler(e: CustomEvent) {\n const target = e.target as UDExAccordionItem;\n if (target) {\n this._activeItemIndex = this._items?.indexOf(target) ?? -1;\n }\n }\n\n updateAllExpandedStatus() {\n this._allExpanded = this._items.every(item => item.expanded);\n }\n\n get toggleAllText(): string {\n return this._allExpanded\n ? UDExAccordion.i18nBundle.getText(COLLAPSE_ALL)\n : UDExAccordion.i18nBundle.getText(EXPAND_ALL);\n }\n\n get items(): {item: UDExAccordionItem}[] {\n return this._items.map(el => {\n return {\n item: el,\n };\n });\n }\n}\n\nUDExAccordion.define();\n\nexport default UDExAccordion;\nexport type { UDExAccordionToggleItemsEventDetail };\n"]}
@@ -3,6 +3,10 @@ export declare enum UDExAccordionItemTitleSize {
3
3
  Standard = "Standard",
4
4
  Large = "Large"
5
5
  }
6
+ type UDExAccordionItemClickEventDetail = {
7
+ name: string | undefined;
8
+ expanded: boolean;
9
+ };
6
10
  /**
7
11
  * @class
8
12
  *
@@ -25,7 +29,7 @@ export declare enum UDExAccordionItemTitleSize {
25
29
  declare class UDExAccordionItem extends UI5Element {
26
30
  eventDetails: {
27
31
  "accordion-item-focus": void;
28
- "accordion-item-click": void;
32
+ "accordion-item-click": UDExAccordionItemClickEventDetail;
29
33
  };
30
34
  /**
31
35
  * Defines the Badge at the end of the label item.
@@ -97,3 +101,4 @@ declare class UDExAccordionItem extends UI5Element {
97
101
  handleDirection(): void;
98
102
  }
99
103
  export default UDExAccordionItem;
104
+ export type { UDExAccordionItemClickEventDetail };
@@ -98,7 +98,7 @@ let UDExAccordionItem = class UDExAccordionItem extends UI5Element {
98
98
  e.preventDefault();
99
99
  this.expanded = !this.expanded;
100
100
  this.setContentHeight();
101
- this.fireDecoratorEvent("accordion-item-click");
101
+ this.fireDecoratorEvent("accordion-item-click", { name: this.label, expanded: this.expanded });
102
102
  }
103
103
  focusHandler() {
104
104
  this.fireDecoratorEvent("accordion-item-focus");
@@ -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 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"]}
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\ntype UDExAccordionItemClickEventDetail = {\n name: string | undefined;\n expanded: 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-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\": UDExAccordionItemClickEventDetail,\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\", { name: this.label, expanded: this.expanded });\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;\nexport type { UDExAccordionItemClickEventDetail };\n"]}
@@ -14,6 +14,6 @@ export default function AccordionItemTemplate() {
14
14
  return (_jsxs(_Fragment, { children: [_jsxs("button", { id: ariaLabelledbyId, "aria-controls": ariaControlsId, className: `${headlineClass}`, onFocusIn: this.focusHandler, onClick: this.itemClickHandler, onKeyDown: this.keydownHandler, "aria-expanded": this.expanded, type: "button", children: [this.labelIcon ?
15
15
  _jsx("div", { className: `${rootClass}__icon-wrapper ${rootClass}__label-icon-wrapper`, children: _jsx(UI5Icon, { class: `${rootClass}__icon ${rootClass}__label-icon`, mode: IconMode.Decorative, name: this.labelIcon }) })
16
16
  : "", _jsxs("span", { className: `${rootClass}__title`, children: [this.label, this.numberBadge &&
17
- _jsx(UDExBadge, { class: `${rootClass}__badge`, "number-design": UDExNumberBadgeDesign.Blue, type: UDExTypeBadgeDesign.Number, size: UDExSizeBadgeDesign.Medium, children: this.numberBadge })] }), _jsx("div", { className: `${rootClass}__icon-wrapper`, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, mode: IconMode.Decorative, name: slimArrowRight }) })] }), _jsx("div", { id: ariaControlsId, "aria-labelledby": ariaLabelledbyId, className: `${rootClass}__content ${titleClass}`, onKeyDown: this.contentKeydown, role: "region", children: _jsx("div", { className: `${rootClass}__content-inner`, children: _jsx("slot", {}) }) }), _jsx(UDExDivider, {})] }));
17
+ _jsx(UDExBadge, { class: `${rootClass}__badge`, "number-design": UDExNumberBadgeDesign.Blue, type: UDExTypeBadgeDesign.Number, size: UDExSizeBadgeDesign.Medium, children: this.numberBadge })] }), _jsx("div", { className: `${rootClass}__icon-wrapper`, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, mode: IconMode.Decorative, name: slimArrowRight }) })] }), _jsx("div", { id: ariaControlsId, "aria-hidden": !this.expanded, "aria-labelledby": ariaLabelledbyId, className: `${rootClass}__content ${titleClass}`, onKeyDown: this.contentKeydown, role: "region", children: _jsx("div", { className: `${rootClass}__content-inner`, children: _jsx("slot", {}) }) }), _jsx(UDExDivider, {})] }));
18
18
  }
19
19
  //# sourceMappingURL=AccordionItemTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItemTemplate.js","sourceRoot":"","sources":["../src/AccordionItemTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,QAAQ,MAAM,2CAA2C,CAAC;AACjE,OAAO,cAAc,MAAM,mDAAmD,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC3C,MAAM,cAAc,GAAG,wBAAwB,IAAI,CAAC,GAAG,UAAU,CAAC;IAClE,MAAM,gBAAgB,GAAG,wBAAwB,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5D,MAAM,SAAS,GAAG,qBAAqB,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,aAAa,GAAG,GAAG,SAAS,YAAY,SAAS,aAAa,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;IAEnG,OAAO,CACL,8BACE,kBACE,EAAE,EAAE,gBAAgB,mBACL,cAAc,EAC7B,SAAS,EAAE,GAAG,aAAa,EAAE,EAC7B,SAAS,EAAE,IAAI,CAAC,YAAY,EAC5B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,SAAS,EAAE,IAAI,CAAC,cAAc,mBACf,IAAI,CAAC,QAAQ,EAC5B,IAAI,EAAC,QAAQ,aACZ,IAAI,CAAC,SAAS,CAAC,CAAC;wBACf,cAAK,SAAS,EAAE,GAAG,SAAS,kBAAkB,SAAS,sBAAsB,YAC3E,KAAC,OAAO,IACN,KAAK,EAAE,GAAG,SAAS,UAAU,SAAS,cAAc,EACpD,IAAI,EAAE,QAAQ,CAAC,UAAU,EACzB,IAAI,EAAE,IAAI,CAAC,SAAS,GACZ,GACN;wBACN,CAAC,CAAC,EAAE,EACN,gBAAM,SAAS,EAAE,GAAG,SAAS,SAAS,aACnC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW;gCACf,KAAC,SAAS,IACR,KAAK,EAAE,GAAG,SAAS,SAAS,mBACb,qBAAqB,CAAC,IAAI,EACzC,IAAI,EAAE,mBAAmB,CAAC,MAAM,EAChC,IAAI,EAAE,mBAAmB,CAAC,MAAM,YAC/B,IAAI,CAAC,WAAW,GACP,IAET,EACP,cAAK,SAAS,EAAE,GAAG,SAAS,gBAAgB,YAC1C,KAAC,OAAO,IACN,KAAK,EAAE,GAAG,SAAS,QAAQ,EAC3B,IAAI,EAAE,QAAQ,CAAC,UAAU,EACzB,IAAI,EAAE,cAAc,GACZ,GACN,IACC,EACT,cACE,EAAE,EAAE,cAAc,qBACD,gBAAgB,EACjC,SAAS,EAAE,GAAG,SAAS,aAAa,UAAU,EAAE,EAChD,SAAS,EAAE,IAAI,CAAC,cAAc,EAC9B,IAAI,EAAC,QAAQ,YACb,cAAK,SAAS,EAAE,GAAG,SAAS,iBAAiB,YAC3C,gBAAa,GACT,GACF,EACN,KAAC,WAAW,KAAe,IAC1B,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import type AccordionItem from \"./AccordionItem.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport slimArrowRight from \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport { UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTypeBadgeDesign } from \"./types/BadgeDesign.js\";\nimport UDExBadge from \"./Badge.js\";\nimport UDExDivider from \"./Divider.js\";\n\nexport default function AccordionItemTemplate(this: AccordionItem) {\n const ariaControlsId = `udex-accordion-item__${this._id}-content`;\n const ariaLabelledbyId = `udex-accordion-item__${this._id}`;\n const rootClass = \"udex-accordion-item\";\n const titleClass = this.labelIcon ? `${rootClass}--with-title` : \"\";\n const headlineClass = `${rootClass}__header ${rootClass}__header--${this.labelSize.toLowerCase()}`;\n\n return (\n <>\n <button\n id={ariaLabelledbyId}\n aria-controls={ariaControlsId}\n className={`${headlineClass}`}\n onFocusIn={this.focusHandler}\n onClick={this.itemClickHandler}\n onKeyDown={this.keydownHandler}\n aria-expanded={this.expanded}\n type=\"button\">\n {this.labelIcon ?\n <div className={`${rootClass}__icon-wrapper ${rootClass}__label-icon-wrapper`}>\n <UI5Icon\n class={`${rootClass}__icon ${rootClass}__label-icon`}\n mode={IconMode.Decorative}\n name={this.labelIcon}>\n </UI5Icon>\n </div>\n : \"\"}\n <span className={`${rootClass}__title`}>\n {this.label}\n {this.numberBadge &&\n <UDExBadge\n class={`${rootClass}__badge`}\n number-design={UDExNumberBadgeDesign.Blue}\n type={UDExTypeBadgeDesign.Number}\n size={UDExSizeBadgeDesign.Medium}>\n {this.numberBadge}\n </UDExBadge>\n }\n </span>\n <div className={`${rootClass}__icon-wrapper`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n mode={IconMode.Decorative}\n name={slimArrowRight}>\n </UI5Icon>\n </div>\n </button>\n <div\n id={ariaControlsId}\n aria-labelledby={ariaLabelledbyId}\n className={`${rootClass}__content ${titleClass}`}\n onKeyDown={this.contentKeydown}\n role=\"region\">\n <div className={`${rootClass}__content-inner`}>\n <slot></slot>\n </div>\n </div>\n <UDExDivider></UDExDivider>\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"AccordionItemTemplate.js","sourceRoot":"","sources":["../src/AccordionItemTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,QAAQ,MAAM,2CAA2C,CAAC;AACjE,OAAO,cAAc,MAAM,mDAAmD,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC3C,MAAM,cAAc,GAAG,wBAAwB,IAAI,CAAC,GAAG,UAAU,CAAC;IAClE,MAAM,gBAAgB,GAAG,wBAAwB,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5D,MAAM,SAAS,GAAG,qBAAqB,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,aAAa,GAAG,GAAG,SAAS,YAAY,SAAS,aAAa,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;IAEnG,OAAO,CACL,8BACE,kBACE,EAAE,EAAE,gBAAgB,mBACL,cAAc,EAC7B,SAAS,EAAE,GAAG,aAAa,EAAE,EAC7B,SAAS,EAAE,IAAI,CAAC,YAAY,EAC5B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,SAAS,EAAE,IAAI,CAAC,cAAc,mBACf,IAAI,CAAC,QAAQ,EAC5B,IAAI,EAAC,QAAQ,aACZ,IAAI,CAAC,SAAS,CAAC,CAAC;wBACf,cAAK,SAAS,EAAE,GAAG,SAAS,kBAAkB,SAAS,sBAAsB,YAC3E,KAAC,OAAO,IACN,KAAK,EAAE,GAAG,SAAS,UAAU,SAAS,cAAc,EACpD,IAAI,EAAE,QAAQ,CAAC,UAAU,EACzB,IAAI,EAAE,IAAI,CAAC,SAAS,GACZ,GACN;wBACN,CAAC,CAAC,EAAE,EACN,gBAAM,SAAS,EAAE,GAAG,SAAS,SAAS,aACnC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW;gCACf,KAAC,SAAS,IACR,KAAK,EAAE,GAAG,SAAS,SAAS,mBACb,qBAAqB,CAAC,IAAI,EACzC,IAAI,EAAE,mBAAmB,CAAC,MAAM,EAChC,IAAI,EAAE,mBAAmB,CAAC,MAAM,YAC/B,IAAI,CAAC,WAAW,GACP,IAET,EACP,cAAK,SAAS,EAAE,GAAG,SAAS,gBAAgB,YAC1C,KAAC,OAAO,IACN,KAAK,EAAE,GAAG,SAAS,QAAQ,EAC3B,IAAI,EAAE,QAAQ,CAAC,UAAU,EACzB,IAAI,EAAE,cAAc,GACZ,GACN,IACC,EACT,cACE,EAAE,EAAE,cAAc,iBACL,CAAC,IAAI,CAAC,QAAQ,qBACV,gBAAgB,EACjC,SAAS,EAAE,GAAG,SAAS,aAAa,UAAU,EAAE,EAChD,SAAS,EAAE,IAAI,CAAC,cAAc,EAC9B,IAAI,EAAC,QAAQ,YACb,cAAK,SAAS,EAAE,GAAG,SAAS,iBAAiB,YAC3C,gBAAa,GACT,GACF,EACN,KAAC,WAAW,KAAe,IAC1B,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import type AccordionItem from \"./AccordionItem.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport slimArrowRight from \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport { UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTypeBadgeDesign } from \"./types/BadgeDesign.js\";\nimport UDExBadge from \"./Badge.js\";\nimport UDExDivider from \"./Divider.js\";\n\nexport default function AccordionItemTemplate(this: AccordionItem) {\n const ariaControlsId = `udex-accordion-item__${this._id}-content`;\n const ariaLabelledbyId = `udex-accordion-item__${this._id}`;\n const rootClass = \"udex-accordion-item\";\n const titleClass = this.labelIcon ? `${rootClass}--with-title` : \"\";\n const headlineClass = `${rootClass}__header ${rootClass}__header--${this.labelSize.toLowerCase()}`;\n\n return (\n <>\n <button\n id={ariaLabelledbyId}\n aria-controls={ariaControlsId}\n className={`${headlineClass}`}\n onFocusIn={this.focusHandler}\n onClick={this.itemClickHandler}\n onKeyDown={this.keydownHandler}\n aria-expanded={this.expanded}\n type=\"button\">\n {this.labelIcon ?\n <div className={`${rootClass}__icon-wrapper ${rootClass}__label-icon-wrapper`}>\n <UI5Icon\n class={`${rootClass}__icon ${rootClass}__label-icon`}\n mode={IconMode.Decorative}\n name={this.labelIcon}>\n </UI5Icon>\n </div>\n : \"\"}\n <span className={`${rootClass}__title`}>\n {this.label}\n {this.numberBadge &&\n <UDExBadge\n class={`${rootClass}__badge`}\n number-design={UDExNumberBadgeDesign.Blue}\n type={UDExTypeBadgeDesign.Number}\n size={UDExSizeBadgeDesign.Medium}>\n {this.numberBadge}\n </UDExBadge>\n }\n </span>\n <div className={`${rootClass}__icon-wrapper`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n mode={IconMode.Decorative}\n name={slimArrowRight}>\n </UI5Icon>\n </div>\n </button>\n <div\n id={ariaControlsId}\n aria-hidden={!this.expanded}\n aria-labelledby={ariaLabelledbyId}\n className={`${rootClass}__content ${titleClass}`}\n onKeyDown={this.contentKeydown}\n role=\"region\">\n <div className={`${rootClass}__content-inner`}>\n <slot></slot>\n </div>\n </div>\n <UDExDivider></UDExDivider>\n </>\n );\n}\n"]}
package/dist/Assets.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import "@ui5/webcomponents-theming/dist/Assets.js";
2
- import "@ui5/webcomponents-localization/dist/Assets.js";
1
+ import "@ui5/webcomponents-fiori/dist/Assets.js";
3
2
  import "./generated/json-imports/Themes.js";
4
3
  import "./generated/json-imports/i18n.js";
package/dist/Assets.js CHANGED
@@ -1,5 +1,5 @@
1
- import "@ui5/webcomponents-theming/dist/Assets.js"; // Theming
2
- import "@ui5/webcomponents-localization/dist/Assets.js";
1
+ // ui5 web components packages assets (main & fiori)
2
+ import "@ui5/webcomponents-fiori/dist/Assets.js";
3
3
  // own web-components package assets
4
4
  import "./generated/json-imports/Themes.js";
5
5
  import "./generated/json-imports/i18n.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Assets.js","sourceRoot":"","sources":["../src/Assets.ts"],"names":[],"mappings":"AAAA,OAAO,2CAA2C,CAAC,CAAC,UAAU;AAC9D,OAAO,gDAAgD,CAAC;AAExD,oCAAoC;AACpC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,kCAAkC,CAAC;AAE1C,OAAO,EAAE,mCAAmC,EAAE,MAAM,+CAA+C,CAAC;AACpG,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEpE,mCAAmC,CAAC,oBAAoB,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAEzF,CAAC,SAAS,iBAAiB;IACzB,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAEhD,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC9D,IAAI,CAAC;gBACH,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;gBAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAChH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,GAAG,GAAG;;;0EAGwD,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACtC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,QAAQ,EAAE,CAAC;IACb,CAAC;AACH,CAAC,CAAC,EAAE,CAAC","sourcesContent":["import \"@ui5/webcomponents-theming/dist/Assets.js\"; // Theming\nimport \"@ui5/webcomponents-localization/dist/Assets.js\";\n\n// own web-components package assets\nimport \"./generated/json-imports/Themes.js\";\nimport \"./generated/json-imports/i18n.js\";\n\nimport { registerCustomThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/AssetRegistry.js\";\nimport variablesOverwrite from \"./AssetsVariables.js\";\n\nconst customThemeLoader = () => Promise.resolve(variablesOverwrite);\n\nregisterCustomThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_glow\", customThemeLoader);\n\n(function checkThemeCSSLink() {\n if (typeof document === \"undefined\") { return; }\n\n const runCheck = () => {\n const cssLoaded = Array.from(document.styleSheets).some(sheet => {\n try {\n if (sheet.href && sheet.href.includes(\"css_variables.css\")) { return true; }\n return Array.from(sheet.cssRules || []).some(rule => rule.cssText.includes(\".sapThemeMetaData-Base-baseLib\"));\n } catch {\n return false;\n }\n });\n\n if (!cssLoaded) {\n const msg = `Required theme CSS not found.\nPlease add:\n<link rel=\"stylesheet\" href=\"path/to/@sapudex/design-tokens/dist/themes/sap_glow/css_variables.css\">\nor import '@sapudex/design-tokens/dist/themes/sap_glow/css_variables.css'`;\n console.warn(msg);\n }\n };\n\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", runCheck);\n } else {\n runCheck();\n }\n})();\n"]}
1
+ {"version":3,"file":"Assets.js","sourceRoot":"","sources":["../src/Assets.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,OAAO,yCAAyC,CAAC;AAEjD,oCAAoC;AACpC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,kCAAkC,CAAC;AAE1C,OAAO,EAAE,mCAAmC,EAAE,MAAM,+CAA+C,CAAC;AACpG,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEpE,mCAAmC,CAAC,oBAAoB,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAEzF,CAAC,SAAS,iBAAiB;IACzB,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAEhD,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC9D,IAAI,CAAC;gBACH,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;gBAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAChH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,GAAG,GAAG;;;0EAGwD,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACtC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,QAAQ,EAAE,CAAC;IACb,CAAC;AACH,CAAC,CAAC,EAAE,CAAC","sourcesContent":["// ui5 web components packages assets (main & fiori)\nimport \"@ui5/webcomponents-fiori/dist/Assets.js\";\n\n// own web-components package assets\nimport \"./generated/json-imports/Themes.js\";\nimport \"./generated/json-imports/i18n.js\";\n\nimport { registerCustomThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/AssetRegistry.js\";\nimport variablesOverwrite from \"./AssetsVariables.js\";\n\nconst customThemeLoader = () => Promise.resolve(variablesOverwrite);\n\nregisterCustomThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_glow\", customThemeLoader);\n\n(function checkThemeCSSLink() {\n if (typeof document === \"undefined\") { return; }\n\n const runCheck = () => {\n const cssLoaded = Array.from(document.styleSheets).some(sheet => {\n try {\n if (sheet.href && sheet.href.includes(\"css_variables.css\")) { return true; }\n return Array.from(sheet.cssRules || []).some(rule => rule.cssText.includes(\".sapThemeMetaData-Base-baseLib\"));\n } catch {\n return false;\n }\n });\n\n if (!cssLoaded) {\n const msg = `Required theme CSS not found.\nPlease add:\n<link rel=\"stylesheet\" href=\"path/to/@sapudex/design-tokens/dist/themes/sap_glow/css_variables.css\">\nor import '@sapudex/design-tokens/dist/themes/sap_glow/css_variables.css'`;\n console.warn(msg);\n }\n };\n\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", runCheck);\n } else {\n runCheck();\n }\n})();\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
  });