@sapudex/web-components 2.17.1 → 2.19.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 (349) hide show
  1. package/bundle.esm.js +3 -0
  2. package/config/dev-server.mjs +13 -9
  3. package/cypress/specs/Accordion.cy.tsx +0 -20
  4. package/cypress/specs/BusyIndicator.cy.tsx +10 -0
  5. package/cypress/specs/FilterMenu.cy.tsx +1 -1
  6. package/cypress/specs/Footer.cy.tsx +20 -1
  7. package/cypress/specs/ImageGridTicker.cy.tsx +208 -0
  8. package/cypress/specs/ImageGridTickerItem.cy.tsx +74 -0
  9. package/cypress/specs/RatingIndicator.cy.tsx +74 -0
  10. package/cypress/specs/Table.cy.tsx +1 -1
  11. package/cypress/support/component-imports.instrumented.ts +52 -46
  12. package/cypress/support/component-imports.src.ts +53 -47
  13. package/dist/Accordion.js +3 -3
  14. package/dist/Accordion.js.map +1 -1
  15. package/dist/AccordionItem.d.ts +6 -1
  16. package/dist/AccordionItem.js +1 -1
  17. package/dist/AccordionItem.js.map +1 -1
  18. package/dist/AccordionItemTemplate.js +1 -1
  19. package/dist/AccordionItemTemplate.js.map +1 -1
  20. package/dist/Assets.d.ts +1 -2
  21. package/dist/Assets.js +2 -2
  22. package/dist/Assets.js.map +1 -1
  23. package/dist/AssetsVariables.js +6 -0
  24. package/dist/AssetsVariables.js.map +1 -1
  25. package/dist/BusyIndicator.d.ts +22 -0
  26. package/dist/BusyIndicator.js +39 -0
  27. package/dist/BusyIndicator.js.map +1 -0
  28. package/dist/FilterMenu.js +2 -2
  29. package/dist/FilterMenu.js.map +1 -1
  30. package/dist/Footer.d.ts +13 -0
  31. package/dist/Footer.js +16 -0
  32. package/dist/Footer.js.map +1 -1
  33. package/dist/FooterTemplate.js +3 -3
  34. package/dist/FooterTemplate.js.map +1 -1
  35. package/dist/ImageGridTicker.d.ts +129 -0
  36. package/dist/ImageGridTicker.js +305 -0
  37. package/dist/ImageGridTicker.js.map +1 -0
  38. package/dist/ImageGridTickerItem.d.ts +50 -0
  39. package/dist/ImageGridTickerItem.js +61 -0
  40. package/dist/ImageGridTickerItem.js.map +1 -0
  41. package/dist/ImageGridTickerItemTemplate.d.ts +2 -0
  42. package/dist/ImageGridTickerItemTemplate.js +9 -0
  43. package/dist/ImageGridTickerItemTemplate.js.map +1 -0
  44. package/dist/ImageGridTickerTemplate.d.ts +2 -0
  45. package/dist/ImageGridTickerTemplate.js +14 -0
  46. package/dist/ImageGridTickerTemplate.js.map +1 -0
  47. package/dist/MediaPlayer.d.ts +1 -2
  48. package/dist/MediaPlayer.js +3 -8
  49. package/dist/MediaPlayer.js.map +1 -1
  50. package/dist/MediaPlayerTemplate.d.ts +3 -0
  51. package/dist/MediaPlayerTemplate.js +32 -0
  52. package/dist/MediaPlayerTemplate.js.map +1 -0
  53. package/dist/MediaPlayerVimeo.js +3 -4
  54. package/dist/MediaPlayerVimeo.js.map +1 -1
  55. package/dist/MediaPlayerVimeoTemplate.d.ts +2 -0
  56. package/dist/MediaPlayerVimeoTemplate.js +5 -0
  57. package/dist/MediaPlayerVimeoTemplate.js.map +1 -0
  58. package/dist/MediaPlayerYoutube.js +3 -3
  59. package/dist/MediaPlayerYoutube.js.map +1 -1
  60. package/dist/MediaPlayerYoutubeTemplate.d.ts +2 -0
  61. package/dist/MediaPlayerYoutubeTemplate.js +5 -0
  62. package/dist/MediaPlayerYoutubeTemplate.js.map +1 -0
  63. package/dist/Pagination.d.ts +3 -6
  64. package/dist/Pagination.js +5 -11
  65. package/dist/Pagination.js.map +1 -1
  66. package/dist/PaginationTemplate.d.ts +2 -0
  67. package/dist/PaginationTemplate.js +23 -0
  68. package/dist/PaginationTemplate.js.map +1 -0
  69. package/dist/RatingIndicator.d.ts +1 -1
  70. package/dist/RatingIndicator.js +6 -6
  71. package/dist/RatingIndicator.js.map +1 -1
  72. package/dist/RatingIndicatorTemplate.d.ts +2 -0
  73. package/dist/RatingIndicatorTemplate.js +13 -0
  74. package/dist/RatingIndicatorTemplate.js.map +1 -0
  75. package/dist/SelectBox.js +2 -0
  76. package/dist/SelectBox.js.map +1 -1
  77. package/dist/Table.js +2 -2
  78. package/dist/Table.js.map +1 -1
  79. package/dist/assets/InputComposition-DoqxipV9.js +1 -0
  80. package/dist/assets/InputSuggestions-EAcC3wZN.js +2 -0
  81. package/dist/assets/{ListItemStandardExpandableTextTemplate-DUnH9BGH.js → ListItemStandardExpandableTextTemplate-Bb5Y2JOR.js} +3 -3
  82. package/dist/assets/bundle.esm-BXDoCHfu.js +500 -0
  83. package/dist/assets/messagebundle_ar-CDVauCu2.js +1 -0
  84. package/dist/assets/messagebundle_ar-CH9uoq9g.js +1 -0
  85. package/dist/assets/messagebundle_bg-D9EStGhk.js +1 -0
  86. package/dist/assets/messagebundle_bg-Ns2ALSY2.js +1 -0
  87. package/dist/assets/messagebundle_ca-cMnWazdh.js +1 -0
  88. package/dist/assets/messagebundle_ca-v3O8CWC9.js +1 -0
  89. package/dist/assets/messagebundle_cnr-oRKAxWSt.js +1 -0
  90. package/dist/assets/messagebundle_cnr-uyge3vU_.js +1 -0
  91. package/dist/assets/messagebundle_cs-BL-46wSf.js +1 -0
  92. package/dist/assets/messagebundle_cs-D-wmquh4.js +1 -0
  93. package/dist/assets/messagebundle_cy-CNMNe2DY.js +1 -0
  94. package/dist/assets/messagebundle_cy-CZCpck3Z.js +1 -0
  95. package/dist/assets/messagebundle_da-38nADUJE.js +1 -0
  96. package/dist/assets/messagebundle_da-CkKInIrf.js +1 -0
  97. package/dist/assets/messagebundle_de-CN3Cg-Gc.js +1 -0
  98. package/dist/assets/messagebundle_de-DmraOZqt.js +1 -0
  99. package/dist/assets/messagebundle_el-BFRFxMEL.js +1 -0
  100. package/dist/assets/messagebundle_el-Zxg11y2d.js +1 -0
  101. package/dist/assets/messagebundle_en-BdiOvVBD.js +1 -0
  102. package/dist/assets/messagebundle_en-BhTYnZbC.js +1 -0
  103. package/dist/assets/messagebundle_en-H6ibWmd8.js +1 -0
  104. package/dist/assets/messagebundle_en_GB-CHl7nqmg.js +1 -0
  105. package/dist/assets/messagebundle_en_GB-DNER1sXC.js +1 -0
  106. package/dist/assets/messagebundle_en_US_sappsd-A24jipei.js +1 -0
  107. package/dist/assets/messagebundle_en_US_sappsd-DRY0RcFI.js +1 -0
  108. package/dist/assets/messagebundle_en_US_saprigi-B6BJ2fjK.js +1 -0
  109. package/dist/assets/messagebundle_en_US_saprigi-DrIdR2OA.js +1 -0
  110. package/dist/assets/messagebundle_en_US_saptrc-DhCdjVNQ.js +1 -0
  111. package/dist/assets/messagebundle_en_US_saptrc-eaUqSl9-.js +1 -0
  112. package/dist/assets/messagebundle_es-D5nxxweU.js +1 -0
  113. package/dist/assets/messagebundle_es-DjKiFArz.js +1 -0
  114. package/dist/assets/messagebundle_es_MX-Bl6mL4Gm.js +1 -0
  115. package/dist/assets/messagebundle_es_MX-j4O3ktQl.js +1 -0
  116. package/dist/assets/messagebundle_et-BnJvORLZ.js +1 -0
  117. package/dist/assets/messagebundle_et-C4MZaBvU.js +1 -0
  118. package/dist/assets/messagebundle_fi-CilvS7NU.js +1 -0
  119. package/dist/assets/messagebundle_fi-lfNyCHae.js +1 -0
  120. package/dist/assets/messagebundle_fr-CQ9l7Sw-.js +1 -0
  121. package/dist/assets/messagebundle_fr-ChaecN7D.js +1 -0
  122. package/dist/assets/messagebundle_fr_CA-BiszoJL1.js +1 -0
  123. package/dist/assets/messagebundle_fr_CA-ClnSTsg4.js +1 -0
  124. package/dist/assets/messagebundle_hi-B06bgABi.js +1 -0
  125. package/dist/assets/messagebundle_hi-B4f1dtl5.js +1 -0
  126. package/dist/assets/messagebundle_hr-BsOekihu.js +1 -0
  127. package/dist/assets/messagebundle_hr-DSTrAQyP.js +1 -0
  128. package/dist/assets/messagebundle_hu-AQQHZ70T.js +1 -0
  129. package/dist/assets/messagebundle_hu-BHcMtlLL.js +1 -0
  130. package/dist/assets/messagebundle_id-CFalTccS.js +1 -0
  131. package/dist/assets/messagebundle_id-CRwRJl1J.js +1 -0
  132. package/dist/assets/messagebundle_it-DB8xkT1m.js +1 -0
  133. package/dist/assets/messagebundle_it-iOLGro27.js +1 -0
  134. package/dist/assets/messagebundle_iw-BIOuaDHS.js +1 -0
  135. package/dist/assets/messagebundle_iw-ayxle34r.js +1 -0
  136. package/dist/assets/messagebundle_ja-OWv_hkCF.js +1 -0
  137. package/dist/assets/messagebundle_ja-TwMnsX09.js +1 -0
  138. package/dist/assets/messagebundle_kk-BS30sa4p.js +1 -0
  139. package/dist/assets/messagebundle_kk-DhQM-S2v.js +1 -0
  140. package/dist/assets/messagebundle_ko-BHkAwaFF.js +1 -0
  141. package/dist/assets/messagebundle_ko-CXyX3bMY.js +1 -0
  142. package/dist/assets/messagebundle_lt-2Ha0Zkp4.js +1 -0
  143. package/dist/assets/messagebundle_lt-BpZaKuUr.js +1 -0
  144. package/dist/assets/messagebundle_lv-rwRjOWkA.js +1 -0
  145. package/dist/assets/messagebundle_lv-tJm-NcJt.js +1 -0
  146. package/dist/assets/messagebundle_mk-Bvnsj6mW.js +1 -0
  147. package/dist/assets/messagebundle_mk-CcQTgbUA.js +1 -0
  148. package/dist/assets/messagebundle_ms-DvrAqqcA.js +1 -0
  149. package/dist/assets/messagebundle_ms-v1iRMlhZ.js +1 -0
  150. package/dist/assets/messagebundle_nl-CBTv22ZS.js +1 -0
  151. package/dist/assets/messagebundle_nl-DHvNmpQL.js +1 -0
  152. package/dist/assets/messagebundle_no-CuWL-QZt.js +1 -0
  153. package/dist/assets/messagebundle_no-hc8LfCOM.js +1 -0
  154. package/dist/assets/messagebundle_pl-C6B67me2.js +1 -0
  155. package/dist/assets/messagebundle_pl-hh7tWX9o.js +1 -0
  156. package/dist/assets/messagebundle_pt-D-AHlB8y.js +1 -0
  157. package/dist/assets/messagebundle_pt-D8iDr9U7.js +1 -0
  158. package/dist/assets/messagebundle_pt_PT-Bj7dZnQ9.js +1 -0
  159. package/dist/assets/messagebundle_pt_PT-DV-pULKY.js +1 -0
  160. package/dist/assets/messagebundle_ro-UECV-Atd.js +1 -0
  161. package/dist/assets/messagebundle_ro-z0yjCDrM.js +1 -0
  162. package/dist/assets/messagebundle_ru-BBC8LnLh.js +1 -0
  163. package/dist/assets/messagebundle_ru-zm7B9n87.js +1 -0
  164. package/dist/assets/messagebundle_sh-ByDIxvq3.js +1 -0
  165. package/dist/assets/messagebundle_sh-CK1rAFs-.js +1 -0
  166. package/dist/assets/messagebundle_sk-BTvYn1Yb.js +1 -0
  167. package/dist/assets/messagebundle_sk-DJps-B07.js +1 -0
  168. package/dist/assets/messagebundle_sl-0FOODTiB.js +1 -0
  169. package/dist/assets/messagebundle_sl-P0U3pDjV.js +1 -0
  170. package/dist/assets/messagebundle_sr-BGu5zwgU.js +1 -0
  171. package/dist/assets/messagebundle_sr-CG9T0bXH.js +1 -0
  172. package/dist/assets/messagebundle_sv-Cl8CaUzX.js +1 -0
  173. package/dist/assets/messagebundle_sv-D-9GhRzG.js +1 -0
  174. package/dist/assets/messagebundle_th-BUmGNQWk.js +1 -0
  175. package/dist/assets/messagebundle_th-CBE63UoI.js +1 -0
  176. package/dist/assets/messagebundle_tr-CKJwjJhQ.js +1 -0
  177. package/dist/assets/messagebundle_tr-io8qsWwA.js +1 -0
  178. package/dist/assets/messagebundle_uk-DHSEF0TD.js +1 -0
  179. package/dist/assets/messagebundle_uk-PTyymK4i.js +1 -0
  180. package/dist/assets/messagebundle_vi-D2ZgzSpx.js +1 -0
  181. package/dist/assets/messagebundle_vi-SGqRlDXf.js +1 -0
  182. package/dist/assets/messagebundle_zh_CN-CjpQTGvp.js +1 -0
  183. package/dist/assets/messagebundle_zh_CN-DDFdOOoj.js +1 -0
  184. package/dist/assets/messagebundle_zh_TW-8M6mp9Ec.js +1 -0
  185. package/dist/assets/messagebundle_zh_TW-CjV5SF65.js +1 -0
  186. package/dist/assets/parameters-bundle.css-7tmaWxIc.js +2 -0
  187. package/dist/assets/parameters-bundle.css-BERBdAGd.js +2 -0
  188. package/dist/assets/parameters-bundle.css-B_2Jldx4.js +2 -0
  189. package/dist/assets/parameters-bundle.css-BbhFHnRW.js +2 -0
  190. package/dist/assets/parameters-bundle.css-Bg4Huwh4.js +2 -0
  191. package/dist/assets/parameters-bundle.css-BwKgmVCr.js +2 -0
  192. package/dist/assets/parameters-bundle.css-C759-AfS.js +2 -0
  193. package/dist/assets/parameters-bundle.css-CCDcKh9J.js +2 -0
  194. package/dist/assets/parameters-bundle.css-COmXsTqR.js +2 -0
  195. package/dist/assets/parameters-bundle.css-CPZYPVEO.js +2 -0
  196. package/dist/assets/parameters-bundle.css-C_z8R1zV.js +2 -0
  197. package/dist/assets/parameters-bundle.css-CuV0KqCS.js +2 -0
  198. package/dist/assets/parameters-bundle.css-DT8OC7CO.js +2 -0
  199. package/dist/assets/parameters-bundle.css-Df2zY3XY.js +2 -0
  200. package/dist/assets/parameters-bundle.css-H0NCnWYS.js +2 -0
  201. package/dist/assets/parameters-bundle.css-pC6uofhy.js +2 -0
  202. package/dist/css/themes/AccordionItem.css +1 -1
  203. package/dist/css/themes/Badge.css +1 -1
  204. package/dist/css/themes/Button.css +1 -1
  205. package/dist/css/themes/CountrySelector.css +1 -1
  206. package/dist/css/themes/DatePickerPopover.css +1 -1
  207. package/dist/css/themes/ImageGridTicker.css +1 -0
  208. package/dist/css/themes/ImageGridTickerItem.css +1 -0
  209. package/dist/css/themes/MediaPlayer.css +1 -1
  210. package/dist/css/themes/RatingIndicator.css +1 -1
  211. package/dist/css/themes/Slider.css +1 -1
  212. package/dist/css/themes/Upload.css +1 -1
  213. package/dist/custom-elements-internal.json +3136 -2863
  214. package/dist/custom-elements.json +1548 -1309
  215. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  216. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  217. package/dist/generated/i18n/i18n-defaults.js +3 -1
  218. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  219. package/dist/generated/templates/SearchTemplate.lit.js +1 -1
  220. package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
  221. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +1 -1
  222. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  223. package/dist/generated/templates/TableTemplate.lit.js +1 -1
  224. package/dist/generated/templates/TableTemplate.lit.js.map +1 -1
  225. package/dist/generated/themes/AccordionItem.css.d.ts +1 -1
  226. package/dist/generated/themes/AccordionItem.css.js +1 -1
  227. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  228. package/dist/generated/themes/Badge.css.d.ts +1 -1
  229. package/dist/generated/themes/Badge.css.js +1 -1
  230. package/dist/generated/themes/Badge.css.js.map +1 -1
  231. package/dist/generated/themes/Button.css.d.ts +1 -1
  232. package/dist/generated/themes/Button.css.js +1 -1
  233. package/dist/generated/themes/Button.css.js.map +1 -1
  234. package/dist/generated/themes/CountrySelector.css.d.ts +1 -1
  235. package/dist/generated/themes/CountrySelector.css.js +1 -1
  236. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  237. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  238. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  239. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  240. package/dist/generated/themes/ImageGridTicker.css.d.ts +2 -0
  241. package/dist/generated/themes/ImageGridTicker.css.js +8 -0
  242. package/dist/generated/themes/ImageGridTicker.css.js.map +1 -0
  243. package/dist/generated/themes/ImageGridTickerItem.css.d.ts +2 -0
  244. package/dist/generated/themes/ImageGridTickerItem.css.js +8 -0
  245. package/dist/generated/themes/ImageGridTickerItem.css.js.map +1 -0
  246. package/dist/generated/themes/MediaPlayer.css.d.ts +1 -1
  247. package/dist/generated/themes/MediaPlayer.css.js +1 -1
  248. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  249. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  250. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  251. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  252. package/dist/generated/themes/Slider.css.d.ts +1 -1
  253. package/dist/generated/themes/Slider.css.js +1 -1
  254. package/dist/generated/themes/Slider.css.js.map +1 -1
  255. package/dist/generated/themes/Upload.css.d.ts +1 -1
  256. package/dist/generated/themes/Upload.css.js +1 -1
  257. package/dist/generated/themes/Upload.css.js.map +1 -1
  258. package/dist/messagebundle.properties +4 -0
  259. package/dist/messagebundle_en.properties +2 -0
  260. package/dist/types/BadgeDesign.d.ts +19 -1
  261. package/dist/types/BadgeDesign.js +42 -1
  262. package/dist/types/BadgeDesign.js.map +1 -1
  263. package/dist/vscode.html-custom-data.json +53 -2
  264. package/dist/web-types.json +118 -4
  265. package/package-scripts.cjs +4 -2
  266. package/package.json +9 -9
  267. package/src/Accordion.ts +3 -3
  268. package/src/AccordionItem.ts +8 -2
  269. package/src/AccordionItemTemplate.tsx +1 -0
  270. package/src/Assets.ts +2 -2
  271. package/src/AssetsVariables.ts +6 -0
  272. package/src/BusyIndicator.ts +33 -0
  273. package/src/FilterMenu.ts +2 -2
  274. package/src/Footer.ts +28 -0
  275. package/src/FooterTemplate.tsx +30 -15
  276. package/src/ImageGridTicker.ts +355 -0
  277. package/src/ImageGridTickerItem.ts +81 -0
  278. package/src/ImageGridTickerItemTemplate.tsx +28 -0
  279. package/src/ImageGridTickerTemplate.tsx +50 -0
  280. package/src/MediaPlayer.ts +6 -9
  281. package/src/MediaPlayerTemplate.tsx +102 -0
  282. package/src/MediaPlayerVimeo.ts +4 -4
  283. package/src/MediaPlayerVimeoTemplate.tsx +19 -0
  284. package/src/MediaPlayerYoutube.ts +3 -3
  285. package/src/MediaPlayerYoutubeTemplate.tsx +7 -0
  286. package/src/Pagination.ts +8 -11
  287. package/src/PaginationTemplate.tsx +80 -0
  288. package/src/RatingIndicator.ts +7 -7
  289. package/src/RatingIndicatorTemplate.tsx +53 -0
  290. package/src/Search.hbs +0 -1
  291. package/src/SearchableListBase.hbs +2 -2
  292. package/src/SelectBox.ts +2 -0
  293. package/src/Table.hbs +2 -2
  294. package/src/Table.ts +2 -2
  295. package/src/generated/i18n/i18n-defaults.ts +2 -2
  296. package/src/generated/templates/SearchTemplate.lit.ts +1 -1
  297. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +1 -1
  298. package/src/generated/templates/TableTemplate.lit.ts +1 -1
  299. package/src/generated/themes/AccordionItem.css.ts +1 -1
  300. package/src/generated/themes/Badge.css.ts +1 -1
  301. package/src/generated/themes/Button.css.ts +1 -1
  302. package/src/generated/themes/CountrySelector.css.ts +1 -1
  303. package/src/generated/themes/DatePickerPopover.css.ts +1 -1
  304. package/src/generated/themes/ImageGridTicker.css.ts +9 -0
  305. package/src/generated/themes/ImageGridTickerItem.css.ts +9 -0
  306. package/src/generated/themes/MediaPlayer.css.ts +1 -1
  307. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  308. package/src/generated/themes/Slider.css.ts +1 -1
  309. package/src/generated/themes/Upload.css.ts +1 -1
  310. package/src/i18n/messagebundle.properties +4 -0
  311. package/src/i18n/messagebundle_en.properties +2 -0
  312. package/src/themes/AccordionItem.css +11 -2
  313. package/src/themes/Badge.css +206 -3
  314. package/src/themes/Button.css +1 -0
  315. package/src/themes/CountrySelector.css +2 -2
  316. package/src/themes/DatePickerPopover.css +3 -2
  317. package/src/themes/ImageGridTicker.css +134 -0
  318. package/src/themes/ImageGridTickerItem.css +52 -0
  319. package/src/themes/MediaPlayer.css +6 -7
  320. package/src/themes/Upload.css +4 -0
  321. package/src/types/BadgeDesign.ts +45 -3
  322. package/dist/assets/InputSuggestions-Bxc8oM64.js +0 -2
  323. package/dist/assets/bundle.esm-qoZLPRl7.js +0 -492
  324. package/dist/assets/messagebundle_en-D6cJIiUq.js +0 -1
  325. package/dist/generated/templates/MediaPlayerTemplate.lit.d.ts +0 -3
  326. package/dist/generated/templates/MediaPlayerTemplate.lit.js +0 -16
  327. package/dist/generated/templates/MediaPlayerTemplate.lit.js.map +0 -1
  328. package/dist/generated/templates/MediaPlayerVimeoTemplate.lit.d.ts +0 -3
  329. package/dist/generated/templates/MediaPlayerVimeoTemplate.lit.js +0 -7
  330. package/dist/generated/templates/MediaPlayerVimeoTemplate.lit.js.map +0 -1
  331. package/dist/generated/templates/MediaPlayerYoutubeTemplate.lit.d.ts +0 -3
  332. package/dist/generated/templates/MediaPlayerYoutubeTemplate.lit.js +0 -7
  333. package/dist/generated/templates/MediaPlayerYoutubeTemplate.lit.js.map +0 -1
  334. package/dist/generated/templates/PaginationTemplate.lit.d.ts +0 -3
  335. package/dist/generated/templates/PaginationTemplate.lit.js +0 -11
  336. package/dist/generated/templates/PaginationTemplate.lit.js.map +0 -1
  337. package/dist/generated/templates/RatingIndicatorTemplate.lit.d.ts +0 -3
  338. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +0 -17
  339. package/dist/generated/templates/RatingIndicatorTemplate.lit.js.map +0 -1
  340. package/src/MediaPlayer.hbs +0 -73
  341. package/src/MediaPlayerVimeo.hbs +0 -16
  342. package/src/MediaPlayerYoutube.hbs +0 -1
  343. package/src/Pagination.hbs +0 -54
  344. package/src/RatingIndicator.hbs +0 -53
  345. package/src/generated/templates/MediaPlayerTemplate.lit.ts +0 -20
  346. package/src/generated/templates/MediaPlayerVimeoTemplate.lit.ts +0 -11
  347. package/src/generated/templates/MediaPlayerYoutubeTemplate.lit.ts +0 -11
  348. package/src/generated/templates/PaginationTemplate.lit.ts +0 -15
  349. package/src/generated/templates/RatingIndicatorTemplate.lit.ts +0 -21
@@ -1 +1 @@
1
- {"version":3,"file":"FooterTemplate.js","sourceRoot":"","sources":["../src/FooterTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UI5LinkDesign from \"@ui5/webcomponents/dist/types/LinkDesign.js\";\n\nimport headset from \"@ui5/webcomponents-icons/dist/headset.js\";\nimport email from \"@ui5/webcomponents-icons/dist/email.js\";\nimport backToTop from \"@ui5/webcomponents-icons/dist/back-to-top.js\";\nimport discussion from \"@ui5/webcomponents-icons/dist/discussion-2.js\";\n\nimport type Footer from \"./Footer.js\";\nimport UDExLink from \"./Link.js\";\nimport UDExDivider from \"./Divider.js\";\nimport UDExSocialMediaButton from \"./SocialMediaButton.js\";\nimport UDExAccordion from \"./Accordion.js\";\nimport UDExAccordionItem from \"./AccordionItem.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\n\nexport default function FooterTemplate(this: Footer) {\n const rootClass = \"udex-footer\";\n\n return (\n <footer className={rootClass}>\n <div className={`${rootClass}__content`}>\n <div className={`${rootClass}__contact-social`}>\n {this.hasLogo && (\n <div className={`${rootClass}__logo`}>\n {this.hasLogoLink ? (\n <a\n href={this.logoHref}\n onClick={this._onLogoClick}\n title={this.logoTitle}\n aria-label={this.logoAriaLabel}>\n <img\n id={`${rootClass}__logo-image`}\n src={this.currentLogoUrl}\n className={this.logoClass}\n alt={this.logoAlt}\n />\n </a>\n ) : (\n <img\n id={`${rootClass}__logo-image`}\n src={this.currentLogoUrl}\n className={this.logoClass}\n alt={this.logoAlt}\n />\n )}\n {this.hasTagline && (\n <img\n id={`${rootClass}__tagline-image`}\n src={this.currentTaglineUrl}\n className={this.taglineClass}\n alt={this.taglineAlt}\n />\n )}\n </div>\n )}\n {this.isContactContainerVisible && (\n <div className={`${rootClass}__contact`}>\n {this.contactNumbersArray.length > 0 && (\n <div className={`${rootClass}__numbers`}>\n <div className={`${rootClass}__icon-container`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={headset}\n mode={IconMode.Decorative}\n ></UI5Icon>\n </div>\n <div>\n <div className={`${rootClass}__numbers-wrapper`}>\n {this.contactNumbersArray.map((contact, index) => (\n <div key={index}>\n <span\n className=\"hidden\"\n aria-hidden\n id={`${rootClass}__${index}_phone-label`}>\n {`${this.phoneNumberAccessibleName} ${contact.country} : ${contact.number}`}\n </span>\n <p className={`${rootClass}__country`}>{contact.country}</p>\n <a\n href={`tel:${contact.number}`}\n className={`${rootClass}__number`}\n onClick={this._onContactPhoneClick}\n aria-labelledby={`${rootClass}__${index}_phone-label`}>\n {contact.number}\n </a>\n </div>\n ))}\n </div>\n {this.localCountryNumbersLink && (\n <p className={`${rootClass}__remark`}>\n {this.completeListTitle}\n <UDExLink\n class={`${rootClass}__remark-link`}\n onClick={this._onContactPhoneLocalNumbersClick}\n href={this.localCountryNumbersLink}\n design={UI5LinkDesign.Subtle}>\n {this.localCountryTitle}.\n </UDExLink>\n </p>\n )}\n </div>\n </div>\n )}\n {this.contactUsLink && (\n <div className={`${rootClass}__contact-us`}>\n <div className={`${rootClass}__icon-container`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={email}\n mode={IconMode.Decorative}>\n </UI5Icon>\n </div>\n <span\n className=\"hidden\"\n aria-hidden\n id={`${rootClass}__contact-us-label`}>\n {this.contactUsAccessibleLabel}\n </span>\n <a\n href={this.contactUsLink}\n className={`${rootClass}__contact-us-link`}\n aria-labelledby={`${rootClass}__contact-us-label`}\n onClick={this._onContactEmailClick}>\n {this.contactUsAccessibleName}\n </a>\n </div>\n )}\n {this.chatWithUsLink && (\n <div className={`${rootClass}__chat-with-us`}>\n <div className={`${rootClass}__icon-container`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={discussion}\n mode={IconMode.Decorative}>\n </UI5Icon>\n </div>\n <a\n href={this.chatWithUsLink}\n className={`${rootClass}__chat-with-us-link`}\n onClick={this._onContactChatClick}>\n {this.chatWithUsAccessibleName}\n </a>\n </div>\n )}\n </div>\n )}\n </div>\n\n {this.isContactContainerVisible && (\n <UDExDivider class={`${rootClass}__divider`}></UDExDivider>\n )}\n\n {this._shouldRenderMobileMenu ? (\n mobileNavigation.call(this, rootClass)\n ) : (\n desktopNavigation.call(this, rootClass)\n )}\n\n <UDExDivider class={`${rootClass}__divider`}></UDExDivider>\n\n <div className={`${rootClass}__copyright`}>\n {this.isChineseLang && (\n <span className={`${rootClass}__copyright-chinese-text`}>\n <a\n href={this.chineseIcpNumberLink}\n title={this.chineseICPNumber}\n className={`${rootClass}__copyright-chinese-link`}\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n {this.chineseICPNumber}\n </a>\n {this.chineseSecurityNetworkNumber}\n </span>\n )}\n <span className={`${rootClass}__copyright-text`}>{this.copyrightText}</span>\n </div>\n\n {this.socialLinksArray.length > 0 && (\n <ul className={`${rootClass}__social-container`}>\n {this.socialLinksArray.map((social, index) => (\n <UDExSocialMediaButton\n {...{ role: \"listitem\" }}\n key={index}\n type={social.name}\n url={social.url}\n target={social.target}\n accessible-name={social.accessibleName}\n data-name={social.name}\n data-id={social.id}\n onui5-click={this._onSocialMediaLinkClick}>\n </UDExSocialMediaButton>\n ))}\n </ul>\n )}\n </div>\n\n <UDExButton\n class={`${rootClass}__back-to-top-button`}\n icon={backToTop}\n onClick={this.onBackToTopClick}\n design={UDExButtonDesign.Tertiary}\n size={UDExButtonSize.Large}\n tooltip={this.backToTopTitle}\n accessibleName={this.backToTopTitle}>\n </UDExButton>\n </footer>\n );\n}\n\nfunction mobileNavigation(this: Footer, rootClass: string) {\n return (\n <UDExAccordion class={`${rootClass}__accordion`}>\n {this.quickLinksArray.length > 0 && (\n <>\n <UDExAccordionItem label={this._quickLinksTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list udex-footer__links-list--mobile`}>\n {this.quickLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__quick-links`}\n href={link.url}\n data-id={link.id}\n onClick={this._onQuickLinksClick}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h3 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__quick-links`}>\n {this._quickLinksTitle}\n </h3>\n </UDExAccordionItem>\n </>\n )}\n\n {this.trendingLinksArray.length > 0 && (\n <>\n <UDExAccordionItem label={this._trendingTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--mobile`}>\n {this.trendingLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__footer__trending`}\n href={link.url}\n data-id={link.id}\n onClick={this._onTrendingClick}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h3 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__trending`}>\n {this._trendingTitle}\n </h3>\n </UDExAccordionItem>\n </>\n )}\n\n {this.aboutLinksArray.length > 0 && (\n <>\n <UDExAccordionItem label={this._aboutSapTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--mobile`}>\n {this.aboutLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__about`}\n href={link.url}\n data-id={link.id}\n onClick={this._onAboutSapClick}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h3 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__about`}>\n {this._aboutSapTitle}\n </h3>\n </UDExAccordionItem>\n </>\n )}\n\n {this.siteInformationLinksArray.length > 0 && (\n <>\n <UDExAccordionItem label={this._siteInformationTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list rootClass__links-list--mobile`}>\n {this.siteInformationLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__site-information`}\n href={link.url}\n data-id={link.id}\n onClick={this._onSiteInformationClick}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h3 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__site-information`}>\n {this._siteInformationTitle}\n </h3>\n </UDExAccordionItem>\n </>\n )}\n </UDExAccordion>\n );\n}\n\nfunction desktopNavigation(this: Footer, rootClass: string) {\n return (\n <div className={`${rootClass}__links`}>\n {this.quickLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__quick-links`}>\n <h3 className={`${rootClass}__links-item`} id={`${rootClass}__quick-links`}>\n {this._quickLinksTitle}\n </h3>\n <nav aria-labelledby={`${rootClass}__quick-links`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.quickLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__quick-links`}\n data-id={link.id}\n href={link.url}\n onClick={this._onQuickLinksClick}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n {this.trendingLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__trending-links`}>\n <h3 className={`${rootClass}__links-item`} id={`${rootClass}__trending`}>\n {this._trendingTitle}\n </h3>\n <nav aria-labelledby={`${rootClass}__trending`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.trendingLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__footer__trending`}\n data-id={link.id}\n href={link.url}\n onClick={this._onTrendingClick}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n {this.aboutLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__about-links`}>\n <h3 className={`${rootClass}__links-item`} id={`${rootClass}__about`}>\n {this._aboutSapTitle}\n </h3>\n <nav aria-labelledby={`${rootClass}__about`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.aboutLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__about`}\n data-id={link.id}\n href={link.url}\n onClick={this._onAboutSapClick}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n {this.siteInformationLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__site-information-links`}>\n <h3 className={`${rootClass}__links-item`} id={`${rootClass}__site-information`}>\n {this._siteInformationTitle}\n </h3>\n <nav aria-labelledby={`${rootClass}__site-information`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.siteInformationLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__site-information`}\n data-id={link.id}\n href={link.url}\n onClick={this._onSiteInformationClick}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"FooterTemplate.js","sourceRoot":"","sources":["../src/FooterTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UI5LinkDesign from \"@ui5/webcomponents/dist/types/LinkDesign.js\";\n\nimport headset from \"@ui5/webcomponents-icons/dist/headset.js\";\nimport email from \"@ui5/webcomponents-icons/dist/email.js\";\nimport backToTop from \"@ui5/webcomponents-icons/dist/back-to-top.js\";\nimport discussion from \"@ui5/webcomponents-icons/dist/discussion-2.js\";\n\nimport type Footer from \"./Footer.js\";\nimport UDExLink from \"./Link.js\";\nimport UDExDivider from \"./Divider.js\";\nimport UDExSocialMediaButton from \"./SocialMediaButton.js\";\nimport UDExAccordion from \"./Accordion.js\";\nimport UDExAccordionItem from \"./AccordionItem.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base\";\n\nexport default function FooterTemplate(this: Footer) {\n const rootClass = \"udex-footer\";\n\n return (\n <footer className={rootClass}>\n <div className={`${rootClass}__content`}>\n <div className={`${rootClass}__contact-social`}>\n {this.hasLogo && (\n <div className={`${rootClass}__logo`}>\n {this.hasLogoLink ? (\n <a\n href={this.logoHref}\n onClick={this._onLogoClick}\n title={this.logoTitle}\n aria-label={this.logoAriaLabel}>\n <img\n id={`${rootClass}__logo-image`}\n src={this.currentLogoUrl}\n className={this.logoClass}\n alt={this.logoAlt}\n />\n </a>\n ) : (\n <img\n id={`${rootClass}__logo-image`}\n src={this.currentLogoUrl}\n className={this.logoClass}\n alt={this.logoAlt}\n />\n )}\n {this.hasTagline && (\n <img\n id={`${rootClass}__tagline-image`}\n src={this.currentTaglineUrl}\n className={this.taglineClass}\n alt={this.taglineAlt}\n />\n )}\n </div>\n )}\n {this.isContactContainerVisible && (\n <div className={`${rootClass}__contact`}>\n {this.contactNumbersArray.length > 0 && (\n <div className={`${rootClass}__numbers`}>\n <div className={`${rootClass}__icon-container`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={headset}\n mode={IconMode.Decorative}\n ></UI5Icon>\n </div>\n <div>\n <div className={`${rootClass}__numbers-wrapper`}>\n {this.contactNumbersArray.map((contact, index) => (\n <div key={index}>\n <span\n className=\"hidden\"\n aria-hidden\n id={`${rootClass}__${index}_phone-label`}>\n {`${this.phoneNumberAccessibleName} ${contact.country} : ${contact.number}`}\n </span>\n <p className={`${rootClass}__country`}>{contact.country}</p>\n <a\n href={`tel:${contact.number}`}\n className={`${rootClass}__number`}\n onClick={this._onContactPhoneClick}\n aria-labelledby={`${rootClass}__${index}_phone-label`}>\n {contact.number}\n </a>\n </div>\n ))}\n </div>\n {this.localCountryNumbersLink && (\n <p className={`${rootClass}__remark`}>\n {this.completeListTitle}\n <UDExLink\n class={`${rootClass}__remark-link`}\n onClick={this._onContactPhoneLocalNumbersClick}\n href={this.localCountryNumbersLink}\n design={UI5LinkDesign.Subtle}>\n {this.localCountryTitle}.\n </UDExLink>\n </p>\n )}\n </div>\n </div>\n )}\n {this.contactUsLink && (\n <div className={`${rootClass}__contact-us`}>\n <div className={`${rootClass}__icon-container`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={email}\n mode={IconMode.Decorative}>\n </UI5Icon>\n </div>\n <span\n className=\"hidden\"\n aria-hidden\n id={`${rootClass}__contact-us-label`}>\n {this.contactUsAccessibleLabel}\n </span>\n <a\n href={this.contactUsLink}\n className={`${rootClass}__contact-us-link`}\n aria-labelledby={`${rootClass}__contact-us-label`}\n onClick={this._onContactEmailClick}>\n {this.contactUsAccessibleName}\n </a>\n </div>\n )}\n {this.chatWithUsLink && (\n <div className={`${rootClass}__chat-with-us`}>\n <div className={`${rootClass}__icon-container`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={discussion}\n mode={IconMode.Decorative}>\n </UI5Icon>\n </div>\n <a\n href={this.chatWithUsLink}\n className={`${rootClass}__chat-with-us-link`}\n onClick={this._onContactChatClick}>\n {this.chatWithUsAccessibleName}\n </a>\n </div>\n )}\n </div>\n )}\n </div>\n\n {this.isContactContainerVisible && (\n <UDExDivider class={`${rootClass}__divider`}></UDExDivider>\n )}\n\n {this._shouldRenderMobileMenu ? (\n mobileNavigation.call(this, rootClass)\n ) : (\n desktopNavigation.call(this, rootClass)\n )}\n\n <UDExDivider class={`${rootClass}__divider`}></UDExDivider>\n\n <div className={`${rootClass}__copyright`}>\n {this.isChineseLang && (\n <span className={`${rootClass}__copyright-chinese-text`}>\n <a\n href={this.chineseIcpNumberLink}\n title={this.chineseICPNumber}\n className={`${rootClass}__copyright-chinese-link`}\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n {this.chineseICPNumber}\n </a>\n {this.chineseSecurityNetworkNumber}\n </span>\n )}\n <span className={`${rootClass}__copyright-text`}>{this.copyrightText}</span>\n </div>\n\n {(this.socialLinksArray.length > 0 || this.hasSocialLinksSlot) && (\n <ul className={`${rootClass}__social-container`}>\n {this.socialLinksArray.map((social, index) => (\n <UDExSocialMediaButton\n {...{ role: \"listitem\" }}\n key={index}\n type={social.name}\n url={social.url}\n target={social.target}\n accessible-name={social.accessibleName}\n data-name={social.name}\n data-id={social.id}\n onui5-click={this._onSocialMediaLinkClick}>\n </UDExSocialMediaButton>\n ))}\n {this.hasSocialLinksSlot && (\n <>\n {this.customSocialLinks.map(link =>\n <slot name={link._individualSlot}></slot>\n )}\n </>\n )}\n </ul>\n )}\n </div>\n\n <UDExButton\n class={`${rootClass}__back-to-top-button`}\n icon={backToTop}\n onClick={this.onBackToTopClick}\n design={UDExButtonDesign.Tertiary}\n size={UDExButtonSize.Large}\n tooltip={this.backToTopTitle}>\n </UDExButton>\n </footer>\n );\n}\n\nfunction mobileNavigation(this: Footer, rootClass: string) {\n return (\n <UDExAccordion class={`${rootClass}__accordion`}>\n {this.quickLinksArray.length > 0 && (\n <>\n <UDExAccordionItem onAccordionItemClick={this.handleAccordionItemClick} label={this._quickLinksTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list udex-footer__links-list--mobile`}>\n {this.quickLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__quick-links`}\n href={link.url}\n data-id={link.id}\n onClick={this._onQuickLinksClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h3 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__quick-links`}>\n {this._quickLinksTitle}\n </h3>\n </UDExAccordionItem>\n </>\n )}\n\n {this.trendingLinksArray.length > 0 && (\n <>\n <UDExAccordionItem onAccordionItemClick={this.handleAccordionItemClick} label={this._trendingTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--mobile`}>\n {this.trendingLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__footer__trending`}\n href={link.url}\n data-id={link.id}\n onClick={this._onTrendingClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h3 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__trending`}>\n {this._trendingTitle}\n </h3>\n </UDExAccordionItem>\n </>\n )}\n\n {this.aboutLinksArray.length > 0 && (\n <>\n <UDExAccordionItem onAccordionItemClick={this.handleAccordionItemClick} label={this._aboutSapTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--mobile`}>\n {this.aboutLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__about`}\n href={link.url}\n data-id={link.id}\n onClick={this._onAboutSapClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h3 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__about`}>\n {this._aboutSapTitle}\n </h3>\n </UDExAccordionItem>\n </>\n )}\n\n {this.siteInformationLinksArray.length > 0 && (\n <>\n <UDExAccordionItem onAccordionItemClick={this.handleAccordionItemClick} label={this._siteInformationTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list rootClass__links-list--mobile`}>\n {this.siteInformationLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__site-information`}\n href={link.url}\n data-id={link.id}\n onClick={this._onSiteInformationClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h3 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__site-information`}>\n {this._siteInformationTitle}\n </h3>\n </UDExAccordionItem>\n </>\n )}\n </UDExAccordion>\n );\n}\n\nfunction desktopNavigation(this: Footer, rootClass: string) {\n return (\n <div className={`${rootClass}__links`}>\n {this.quickLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__quick-links`}>\n <h3 className={`${rootClass}__links-item`} id={`${rootClass}__quick-links`}>\n {this._quickLinksTitle}\n </h3>\n <nav aria-labelledby={`${rootClass}__quick-links`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.quickLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__quick-links`}\n data-id={link.id}\n href={link.url}\n onClick={this._onQuickLinksClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n {this.trendingLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__trending-links`}>\n <h3 className={`${rootClass}__links-item`} id={`${rootClass}__trending`}>\n {this._trendingTitle}\n </h3>\n <nav aria-labelledby={`${rootClass}__trending`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.trendingLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__footer__trending`}\n data-id={link.id}\n href={link.url}\n onClick={this._onTrendingClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n {this.aboutLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__about-links`}>\n <h3 className={`${rootClass}__links-item`} id={`${rootClass}__about`}>\n {this._aboutSapTitle}\n </h3>\n <nav aria-labelledby={`${rootClass}__about`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.aboutLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__about`}\n data-id={link.id}\n href={link.url}\n onClick={this._onAboutSapClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n {this.siteInformationLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__site-information-links`}>\n <h3 className={`${rootClass}__links-item`} id={`${rootClass}__site-information`}>\n {this._siteInformationTitle}\n </h3>\n <nav aria-labelledby={`${rootClass}__site-information`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.siteInformationLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__site-information`}\n data-id={link.id}\n href={link.url}\n onClick={this._onSiteInformationClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -0,0 +1,129 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
+ import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
4
+ import type UDExImageGridTickerItem from "./ImageGridTickerItem.js";
5
+ export declare enum UDExImageGridTickerVariable {
6
+ itemGaps = "--udex-image-grid-ticker-item-gaps",
7
+ itemWidth = "--udex-image-grid-ticker-item-width"
8
+ }
9
+ type UDExImageGridTickerPlayBtnClickEventDetail = {
10
+ isPaused: boolean;
11
+ };
12
+ /**
13
+ * @class
14
+ *
15
+ * <h3 class="comment-api-title">Overview</h3>
16
+ *
17
+ *
18
+ * <h3>Usage</h3>
19
+ *
20
+ * For the <code>udex-image-grid-ticker</code>
21
+ * <h3>ES6 Module Import</h3>
22
+ *
23
+ * <code>import "@sapudex/web-components/dist/ImageGridTicker.js";</code>
24
+ *
25
+ * @constructor
26
+ * @extends UI5Element
27
+ * @public
28
+ */
29
+ declare class UDExImageGridTicker extends UI5Element {
30
+ eventDetails: {
31
+ "play-button-click": UDExImageGridTickerPlayBtnClickEventDetail;
32
+ };
33
+ /**
34
+ * Slot for image grid ticker items.
35
+ *
36
+ * @slot
37
+ * @public
38
+ */
39
+ items: Array<UDExImageGridTickerItem>;
40
+ /**
41
+ * Grayscale mode enhances visual harmony and can be used for minimal,
42
+ * professional layouts or to de-emphasize logos.
43
+ *
44
+ * @default false
45
+ * @public
46
+ */
47
+ grayscale: boolean;
48
+ /**
49
+ * Indicates whether the image grid ticker is scrollable.
50
+ *
51
+ * @default false
52
+ * @private
53
+ */
54
+ _isScrollable: boolean;
55
+ /**
56
+ * Indicates whether the screen size is small.
57
+ *
58
+ * @default false
59
+ * @private
60
+ */
61
+ _isSmallScreen: boolean;
62
+ /**
63
+ * Indicates whether the animation is paused.
64
+ *
65
+ * @default false
66
+ * @private
67
+ */
68
+ _isPaused: boolean;
69
+ /**
70
+ * Indicates focus in state.
71
+ *
72
+ * @default false
73
+ * @private
74
+ */
75
+ _isFocusIn: boolean;
76
+ /**
77
+ * Indicates mobile view.
78
+ *
79
+ * @default false
80
+ * @private
81
+ */
82
+ _isMobileView: boolean;
83
+ /**
84
+ * Defines direction of the component.
85
+ *
86
+ * @default undefined
87
+ * @private
88
+ */
89
+ _direction: string;
90
+ _isPlayBtnClicked: boolean;
91
+ _isMouseDown: boolean;
92
+ _handleResizeBound: ResizeObserverCallback;
93
+ static i18nBundle: I18nBundle;
94
+ constructor();
95
+ onAfterRendering(): void;
96
+ onEnterDOM(): void;
97
+ onExitDOM(): void;
98
+ _handleResize(): void;
99
+ _checkScrollable(): void;
100
+ _startAnimation(): void;
101
+ _stopAnimation(): void;
102
+ _toggleAnimation(): void;
103
+ _onFocusIn(): void;
104
+ _onFocusOut(): void;
105
+ _onKeyDown(e: KeyboardEvent): void;
106
+ _onMouseDown(): void;
107
+ _onMouseUp(): void;
108
+ _focusLastItem(): void;
109
+ _handleMobileView(): void;
110
+ _handleDesktopView(): void;
111
+ _focusItem(item: HTMLElement): void;
112
+ _handleDirection(): void;
113
+ _onPlayButtonClick(): void;
114
+ _firePlayButtonClickEvent(): void;
115
+ _getPropertyValues(variable: string): number;
116
+ get itemDimensions(): {
117
+ width: number;
118
+ gaps: number;
119
+ };
120
+ get trackItems(): HTMLElement[];
121
+ get focusedIndex(): number;
122
+ get isAtLeastBreakpointM(): boolean;
123
+ get track(): HTMLElement;
124
+ get grid(): HTMLElement;
125
+ get isRtl(): boolean;
126
+ get playBtnTooltipText(): string;
127
+ }
128
+ export default UDExImageGridTicker;
129
+ export type { UDExImageGridTickerPlayBtnClickEventDetail };
@@ -0,0 +1,305 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var UDExImageGridTicker_1;
8
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
+ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
11
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
12
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
13
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
14
+ import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
15
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
16
+ import { isDesktop } from "@ui5/webcomponents-base/Device.js";
17
+ import { isLeft, isRight } from "@ui5/webcomponents-base/dist/Keys.js";
18
+ import { PAUSE_BUTTON_ACCESSIBLE_NAME, PLAY_BUTTON_ACCESSIBLE_NAME } from "./generated/i18n/i18n-defaults.js";
19
+ import { BreakpointUtils } from "./utils/Breakpoints.js";
20
+ import ImageGridTickerItem from "./ImageGridTickerItem.js";
21
+ import ImageGridTickerTemplate from "./ImageGridTickerTemplate.js";
22
+ // Styles
23
+ import ImageGridTickerCss from "./generated/themes/ImageGridTicker.css.js";
24
+ export var UDExImageGridTickerVariable;
25
+ (function (UDExImageGridTickerVariable) {
26
+ UDExImageGridTickerVariable["itemGaps"] = "--udex-image-grid-ticker-item-gaps";
27
+ UDExImageGridTickerVariable["itemWidth"] = "--udex-image-grid-ticker-item-width";
28
+ })(UDExImageGridTickerVariable || (UDExImageGridTickerVariable = {}));
29
+ /**
30
+ * @class
31
+ *
32
+ * <h3 class="comment-api-title">Overview</h3>
33
+ *
34
+ *
35
+ * <h3>Usage</h3>
36
+ *
37
+ * For the <code>udex-image-grid-ticker</code>
38
+ * <h3>ES6 Module Import</h3>
39
+ *
40
+ * <code>import "@sapudex/web-components/dist/ImageGridTicker.js";</code>
41
+ *
42
+ * @constructor
43
+ * @extends UI5Element
44
+ * @public
45
+ */
46
+ let UDExImageGridTicker = UDExImageGridTicker_1 = class UDExImageGridTicker extends UI5Element {
47
+ constructor() {
48
+ super();
49
+ /**
50
+ * Grayscale mode enhances visual harmony and can be used for minimal,
51
+ * professional layouts or to de-emphasize logos.
52
+ *
53
+ * @default false
54
+ * @public
55
+ */
56
+ this.grayscale = false;
57
+ /**
58
+ * Indicates whether the image grid ticker is scrollable.
59
+ *
60
+ * @default false
61
+ * @private
62
+ */
63
+ this._isScrollable = false;
64
+ /**
65
+ * Indicates whether the screen size is small.
66
+ *
67
+ * @default false
68
+ * @private
69
+ */
70
+ this._isSmallScreen = false;
71
+ /**
72
+ * Indicates whether the animation is paused.
73
+ *
74
+ * @default false
75
+ * @private
76
+ */
77
+ this._isPaused = false;
78
+ /**
79
+ * Indicates focus in state.
80
+ *
81
+ * @default false
82
+ * @private
83
+ */
84
+ this._isFocusIn = false;
85
+ /**
86
+ * Indicates mobile view.
87
+ *
88
+ * @default false
89
+ * @private
90
+ */
91
+ this._isMobileView = false;
92
+ this._isPlayBtnClicked = false;
93
+ this._isMouseDown = false;
94
+ this._isMobileView = !this.isAtLeastBreakpointM;
95
+ this._handleResizeBound = this._handleResize.bind(this);
96
+ }
97
+ onAfterRendering() {
98
+ if (this._isMobileView) {
99
+ this._handleMobileView();
100
+ return;
101
+ }
102
+ this._handleDesktopView();
103
+ }
104
+ onEnterDOM() {
105
+ ResizeHandler.register(this, this._handleResizeBound);
106
+ if (isDesktop()) {
107
+ this.setAttribute("desktop", "");
108
+ }
109
+ }
110
+ onExitDOM() {
111
+ ResizeHandler.deregister(this, this._handleResizeBound);
112
+ }
113
+ _handleResize() {
114
+ this._isMobileView = !this.isAtLeastBreakpointM;
115
+ this._checkScrollable();
116
+ }
117
+ _checkScrollable() {
118
+ if (!this.grid || !this.track || this._isMobileView) {
119
+ this._isScrollable = false;
120
+ return;
121
+ }
122
+ const { width: itemWidth, gaps: itemGaps } = this.itemDimensions;
123
+ const totalItemWidth = itemWidth + itemGaps;
124
+ const totalWidth = this.items.length * totalItemWidth;
125
+ this._isScrollable = totalWidth > this.grid.offsetWidth;
126
+ }
127
+ _startAnimation() {
128
+ if (this._isScrollable && !this._isPlayBtnClicked && !this._isMobileView) {
129
+ this._isPaused = false;
130
+ }
131
+ }
132
+ _stopAnimation() {
133
+ if (this._isScrollable && !this._isMobileView) {
134
+ this._isPaused = true;
135
+ }
136
+ }
137
+ _toggleAnimation() {
138
+ this._isPlayBtnClicked = !this._isPlayBtnClicked;
139
+ if (this._isPaused) {
140
+ this._startAnimation();
141
+ }
142
+ else {
143
+ this._stopAnimation();
144
+ }
145
+ }
146
+ _onFocusIn() {
147
+ if (this._isMouseDown || !this._isScrollable) {
148
+ return;
149
+ }
150
+ this._isFocusIn = true;
151
+ this._stopAnimation();
152
+ const focusedItem = this.trackItems[this.focusedIndex];
153
+ const isLastItem = this.focusedIndex === this.trackItems.length - 1;
154
+ const { right, left } = focusedItem.getBoundingClientRect();
155
+ const windowWidth = window.innerWidth || document.documentElement.clientWidth;
156
+ const isPartiallyVisible = right > 0 && left < windowWidth;
157
+ if (isPartiallyVisible) {
158
+ focusedItem.scrollIntoView({
159
+ behavior: "smooth",
160
+ block: "nearest",
161
+ inline: "center",
162
+ });
163
+ }
164
+ if (isLastItem) {
165
+ this._focusLastItem();
166
+ }
167
+ }
168
+ _onFocusOut() {
169
+ this._isFocusIn = false;
170
+ this._startAnimation();
171
+ }
172
+ _onKeyDown(e) {
173
+ if (isLeft(e) || isRight(e)) {
174
+ e.preventDefault();
175
+ const direction = (isLeft(e) && !this.isRtl) || (isRight(e) && this.isRtl) ? -1 : 1;
176
+ const index = this.focusedIndex + direction;
177
+ if (index >= 0 && index < this.trackItems.length) {
178
+ this._focusItem(this.trackItems[index]);
179
+ }
180
+ }
181
+ }
182
+ _onMouseDown() {
183
+ this._isMouseDown = true;
184
+ }
185
+ _onMouseUp() {
186
+ this._isMouseDown = false;
187
+ }
188
+ _focusLastItem() {
189
+ const lastItem = this.trackItems[this.items.length - 1];
190
+ this._focusItem(lastItem);
191
+ lastItem.scrollIntoView({
192
+ behavior: "smooth",
193
+ block: "nearest",
194
+ });
195
+ }
196
+ _handleMobileView() {
197
+ this._isScrollable = false;
198
+ this._stopAnimation();
199
+ }
200
+ _handleDesktopView() {
201
+ this._handleDirection();
202
+ this._checkScrollable();
203
+ if (this._isScrollable && !this._isPaused && !this._isMobileView) {
204
+ this._startAnimation();
205
+ }
206
+ else {
207
+ this._stopAnimation();
208
+ }
209
+ }
210
+ _focusItem(item) {
211
+ const link = item.shadowRoot?.querySelector(".udex-image-grid-ticker-item__link");
212
+ link.focus();
213
+ }
214
+ _handleDirection() {
215
+ const directionStyles = window.getComputedStyle(this).getPropertyValue("direction");
216
+ this._direction = directionStyles || "ltr";
217
+ }
218
+ _onPlayButtonClick() {
219
+ this._toggleAnimation();
220
+ this._firePlayButtonClickEvent();
221
+ }
222
+ _firePlayButtonClickEvent() {
223
+ this.fireDecoratorEvent("play-button-click", {
224
+ isPaused: this._isPaused,
225
+ });
226
+ }
227
+ _getPropertyValues(variable) {
228
+ const itemStyles = window.getComputedStyle(this.items[0]);
229
+ return parseInt(itemStyles.getPropertyValue(variable));
230
+ }
231
+ get itemDimensions() {
232
+ const width = this._getPropertyValues(UDExImageGridTickerVariable.itemWidth);
233
+ const gaps = this._getPropertyValues(UDExImageGridTickerVariable.itemGaps) * 2;
234
+ return { width, gaps };
235
+ }
236
+ get trackItems() {
237
+ return Array.from(this.track.children);
238
+ }
239
+ get focusedIndex() {
240
+ return this.trackItems.findIndex(item => item.matches(":focus"));
241
+ }
242
+ get isAtLeastBreakpointM() {
243
+ return BreakpointUtils.isAtLeast("M");
244
+ }
245
+ get track() {
246
+ return this.shadowRoot?.querySelector(".udex-image-grid-ticker__track");
247
+ }
248
+ get grid() {
249
+ return this.shadowRoot?.querySelector(".udex-image-grid-ticker");
250
+ }
251
+ get isRtl() {
252
+ return this._direction === "rtl";
253
+ }
254
+ get playBtnTooltipText() {
255
+ return this._isPaused
256
+ ? UDExImageGridTicker_1.i18nBundle.getText(PLAY_BUTTON_ACCESSIBLE_NAME)
257
+ : UDExImageGridTicker_1.i18nBundle.getText(PAUSE_BUTTON_ACCESSIBLE_NAME);
258
+ }
259
+ };
260
+ __decorate([
261
+ slot({ type: HTMLElement, "default": true, individualSlots: true })
262
+ ], UDExImageGridTicker.prototype, "items", void 0);
263
+ __decorate([
264
+ property({ type: Boolean })
265
+ ], UDExImageGridTicker.prototype, "grayscale", void 0);
266
+ __decorate([
267
+ property({ type: Boolean })
268
+ ], UDExImageGridTicker.prototype, "_isScrollable", void 0);
269
+ __decorate([
270
+ property({ type: Boolean })
271
+ ], UDExImageGridTicker.prototype, "_isSmallScreen", void 0);
272
+ __decorate([
273
+ property({ type: Boolean })
274
+ ], UDExImageGridTicker.prototype, "_isPaused", void 0);
275
+ __decorate([
276
+ property({ type: Boolean })
277
+ ], UDExImageGridTicker.prototype, "_isFocusIn", void 0);
278
+ __decorate([
279
+ property({ type: Boolean })
280
+ ], UDExImageGridTicker.prototype, "_isMobileView", void 0);
281
+ __decorate([
282
+ property({ type: String })
283
+ ], UDExImageGridTicker.prototype, "_direction", void 0);
284
+ __decorate([
285
+ i18n("@sapudex/web-components")
286
+ ], UDExImageGridTicker, "i18nBundle", void 0);
287
+ UDExImageGridTicker = UDExImageGridTicker_1 = __decorate([
288
+ customElement({
289
+ tag: "udex-image-grid-ticker",
290
+ renderer: jsxRenderer,
291
+ styles: ImageGridTickerCss,
292
+ template: ImageGridTickerTemplate,
293
+ dependencies: [ImageGridTickerItem],
294
+ })
295
+ /**
296
+ * Fired event when the user click on a play/paused button.
297
+ *
298
+ * @public
299
+ */
300
+ ,
301
+ event("play-button-click", { bubbles: true })
302
+ ], UDExImageGridTicker);
303
+ UDExImageGridTicker.define();
304
+ export default UDExImageGridTicker;
305
+ //# sourceMappingURL=ImageGridTicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageGridTicker.js","sourceRoot":"","sources":["../src/ImageGridTicker.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/Device.js\";\nimport { isLeft, isRight } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { PAUSE_BUTTON_ACCESSIBLE_NAME, PLAY_BUTTON_ACCESSIBLE_NAME } from \"./generated/i18n/i18n-defaults.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport type UDExImageGridTickerItem from \"./ImageGridTickerItem.js\";\nimport ImageGridTickerItem from \"./ImageGridTickerItem.js\";\nimport ImageGridTickerTemplate from \"./ImageGridTickerTemplate.js\";\n\n// Styles\nimport ImageGridTickerCss from \"./generated/themes/ImageGridTicker.css.js\";\n\nexport enum UDExImageGridTickerVariable {\n itemGaps = \"--udex-image-grid-ticker-item-gaps\",\n itemWidth = \"--udex-image-grid-ticker-item-width\",\n}\n\ntype UDExImageGridTickerPlayBtnClickEventDetail = {\n isPaused: 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-image-grid-ticker</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ImageGridTicker.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-image-grid-ticker\",\n renderer: jsxRenderer,\n styles: ImageGridTickerCss,\n template: ImageGridTickerTemplate,\n dependencies: [ImageGridTickerItem],\n})\n\n/**\n * Fired event when the user click on a play/paused button.\n *\n * @public\n */\n@event(\"play-button-click\", { bubbles: true })\n\nclass UDExImageGridTicker extends UI5Element {\n eventDetails!: {\n \"play-button-click\": UDExImageGridTickerPlayBtnClickEventDetail;\n };\n\n /**\n * Slot for image grid ticker items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, individualSlots: true })\n items!: Array<UDExImageGridTickerItem>;\n\n /**\n * Grayscale mode enhances visual harmony and can be used for minimal,\n * professional layouts or to de-emphasize logos.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n grayscale = false;\n\n /**\n * Indicates whether the image grid ticker is scrollable.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isScrollable = false;\n\n /**\n * Indicates whether the screen size is small.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isSmallScreen = false;\n\n /**\n * Indicates whether the animation is paused.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isPaused = false;\n\n /**\n * Indicates focus in state.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isFocusIn: boolean = false;\n\n /**\n * Indicates mobile view.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isMobileView: boolean = false;\n\n /**\n * Defines direction of the component.\n *\n * @default undefined\n * @private\n */\n @property({ type: String })\n _direction!: string;\n\n _isPlayBtnClicked: boolean = false;\n _isMouseDown: boolean = false;\n _handleResizeBound: ResizeObserverCallback;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this._isMobileView = !this.isAtLeastBreakpointM;\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onAfterRendering(): void {\n if (this._isMobileView) {\n this._handleMobileView();\n return;\n }\n\n this._handleDesktopView();\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n _handleResize(): void {\n this._isMobileView = !this.isAtLeastBreakpointM;\n this._checkScrollable();\n }\n\n _checkScrollable(): void {\n if (!this.grid || !this.track || this._isMobileView) {\n this._isScrollable = false;\n return;\n }\n\n const { width: itemWidth, gaps: itemGaps } = this.itemDimensions;\n const totalItemWidth = itemWidth + itemGaps;\n const totalWidth = this.items.length * totalItemWidth;\n\n this._isScrollable = totalWidth > this.grid.offsetWidth;\n }\n\n _startAnimation(): void {\n if (this._isScrollable && !this._isPlayBtnClicked && !this._isMobileView) {\n this._isPaused = false;\n }\n }\n\n _stopAnimation(): void {\n if (this._isScrollable && !this._isMobileView) {\n this._isPaused = true;\n }\n }\n\n _toggleAnimation(): void {\n this._isPlayBtnClicked = !this._isPlayBtnClicked;\n if (this._isPaused) {\n this._startAnimation();\n } else {\n this._stopAnimation();\n }\n }\n\n _onFocusIn(): void {\n if (this._isMouseDown || !this._isScrollable) {\n return;\n }\n\n this._isFocusIn = true;\n this._stopAnimation();\n\n const focusedItem = this.trackItems[this.focusedIndex];\n const isLastItem = this.focusedIndex === this.trackItems.length - 1;\n const { right, left } = focusedItem.getBoundingClientRect();\n const windowWidth = window.innerWidth || document.documentElement.clientWidth;\n const isPartiallyVisible = right > 0 && left < windowWidth;\n\n if (isPartiallyVisible) {\n focusedItem.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"center\",\n });\n }\n\n if (isLastItem) {\n this._focusLastItem();\n }\n }\n\n _onFocusOut(): void {\n this._isFocusIn = false;\n this._startAnimation();\n }\n\n _onKeyDown(e: KeyboardEvent): void {\n if (isLeft(e) || isRight(e)) {\n e.preventDefault();\n const direction = (isLeft(e) && !this.isRtl) || (isRight(e) && this.isRtl) ? -1 : 1;\n const index = this.focusedIndex + direction;\n\n if (index >= 0 && index < this.trackItems.length) {\n this._focusItem(this.trackItems[index]);\n }\n }\n }\n\n _onMouseDown(): void {\n this._isMouseDown = true;\n }\n\n _onMouseUp(): void {\n this._isMouseDown = false;\n }\n\n _focusLastItem(): void {\n const lastItem = this.trackItems[this.items.length - 1];\n this._focusItem(lastItem);\n lastItem.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n });\n }\n\n _handleMobileView(): void {\n this._isScrollable = false;\n this._stopAnimation();\n }\n\n _handleDesktopView(): void {\n this._handleDirection();\n this._checkScrollable();\n if (this._isScrollable && !this._isPaused && !this._isMobileView) {\n this._startAnimation();\n } else {\n this._stopAnimation();\n }\n }\n\n _focusItem(item: HTMLElement): void {\n const link = item.shadowRoot?.querySelector(\".udex-image-grid-ticker-item__link\") as HTMLElement;\n link.focus();\n }\n\n _handleDirection(): void {\n const directionStyles = window.getComputedStyle(this).getPropertyValue(\"direction\");\n this._direction = directionStyles || \"ltr\";\n }\n\n _onPlayButtonClick(): void {\n this._toggleAnimation();\n this._firePlayButtonClickEvent();\n }\n\n _firePlayButtonClickEvent(): void {\n this.fireDecoratorEvent(\"play-button-click\", {\n isPaused: this._isPaused,\n });\n }\n\n _getPropertyValues(variable: string): number {\n const itemStyles = window.getComputedStyle(this.items[0]);\n return parseInt(itemStyles.getPropertyValue(variable));\n }\n\n get itemDimensions(): { width: number; gaps: number } {\n const width = this._getPropertyValues(UDExImageGridTickerVariable.itemWidth);\n const gaps = this._getPropertyValues(UDExImageGridTickerVariable.itemGaps) * 2;\n return { width, gaps };\n }\n\n get trackItems(): HTMLElement[] {\n return Array.from(this.track.children) as HTMLElement[];\n }\n\n get focusedIndex(): number {\n return this.trackItems.findIndex(item => item.matches(\":focus\"));\n }\n\n get isAtLeastBreakpointM(): boolean {\n return BreakpointUtils.isAtLeast(\"M\");\n }\n\n get track(): HTMLElement {\n return this.shadowRoot?.querySelector(\".udex-image-grid-ticker__track\") as HTMLElement;\n }\n\n get grid(): HTMLElement {\n return this.shadowRoot?.querySelector(\".udex-image-grid-ticker\") as HTMLElement;\n }\n\n get isRtl(): boolean {\n return this._direction === \"rtl\";\n }\n\n get playBtnTooltipText(): string {\n return this._isPaused\n ? UDExImageGridTicker.i18nBundle.getText(PLAY_BUTTON_ACCESSIBLE_NAME)\n : UDExImageGridTicker.i18nBundle.getText(PAUSE_BUTTON_ACCESSIBLE_NAME);\n }\n}\n\nUDExImageGridTicker.define();\n\nexport default UDExImageGridTicker;\nexport type { UDExImageGridTickerPlayBtnClickEventDetail };\n"]}
@@ -0,0 +1,50 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ /**
3
+ * @class
4
+ *
5
+ * <h3 class="comment-api-title">Overview</h3>
6
+ *
7
+ *
8
+ * <h3>Usage</h3>
9
+ *
10
+ * For the <code>udex-image-grid-ticker-item</code>
11
+ * <h3>ES6 Module Import</h3>
12
+ *
13
+ * <code>import "@sapudex/web-components/dist/ImageGridTickerItem.js";</code>
14
+ *
15
+ * @constructor
16
+ * @extends UI5Element
17
+ * @public
18
+ */
19
+ declare class UDExImageGridTickerItem extends UI5Element {
20
+ /**
21
+ * Defines the source URL
22
+ *
23
+ * @default ""
24
+ * @public
25
+ */
26
+ src: string;
27
+ /**
28
+ * Defines image alt text
29
+ *
30
+ * @default undefined
31
+ * @public
32
+ */
33
+ alt?: string;
34
+ /**
35
+ * Defines tooltip on hover
36
+ *
37
+ * @default undefined
38
+ * @public
39
+ */
40
+ tooltip?: string;
41
+ /**
42
+ * Defines link URL
43
+ *
44
+ * @default undefined
45
+ * @public
46
+ */
47
+ href?: string;
48
+ onEnterDOM(): void;
49
+ }
50
+ export default UDExImageGridTickerItem;