@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaPlayerYoutubeTemplate.js","sourceRoot":"","sources":["../src/MediaPlayerYoutubeTemplate.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,0BAA0B;IAChD,OAAO,CACL,cAAK,EAAE,EAAC,QAAQ,EAAC,KAAK,EAAE,2DAA2D,IAAI,CAAC,cAAc,EAAE,GAAQ,CACjH,CAAC;AACJ,CAAC","sourcesContent":["import type UDExMediaPlayerYoutube from \"./MediaPlayerYoutube.js\";\n\nexport default function MediaPlayerYoutubeTemplate(this: UDExMediaPlayerYoutube) {\n return (\n <div id=\"player\" class={`udex-media-player__video udex-media-player__video-embed ${this.fluidModeClass}`}></div>\n );\n}\n"]}
@@ -1,14 +1,11 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
- import "@ui5/webcomponents/dist/Icon.js";
4
- import "@ui5/webcomponents-icons/dist/nav-back.js";
5
- import "@ui5/webcomponents-icons/dist/navigation-left-arrow.js";
6
- import "@ui5/webcomponents-icons/dist/navigation-right-arrow.js";
7
- import "@ui5/webcomponents-icons/dist/open-command-field.js";
8
- import "@ui5/webcomponents-icons/dist/close-command-field.js";
9
3
  export interface Page {
4
+ index: number;
10
5
  value: number;
11
6
  active: boolean;
7
+ accessibleName: string;
8
+ ariaCurrent?: string;
12
9
  }
13
10
  export declare enum UDExPaginationType {
14
11
  full = "full",
@@ -9,19 +9,13 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
11
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
12
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
12
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
13
13
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
14
14
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
15
15
  import { OF, PAGINATION_PAGE, SELECTED, ACTIVATE_PAGE, FIRST_PAGE, LAST_PAGE, PREVIOUS_PAGE, NEXT_PAGE, CURRENT_PAGE, DISABLED, } from "./generated/i18n/i18n-defaults.js";
16
16
  import Button from "./Button.js";
17
- import "@ui5/webcomponents/dist/Icon.js";
18
- import "@ui5/webcomponents-icons/dist/nav-back.js";
19
- import "@ui5/webcomponents-icons/dist/navigation-left-arrow.js";
20
- import "@ui5/webcomponents-icons/dist/navigation-right-arrow.js";
21
- import "@ui5/webcomponents-icons/dist/open-command-field.js";
22
- import "@ui5/webcomponents-icons/dist/close-command-field.js";
23
17
  // Template
24
- import PaginationTemplate from "./generated/templates/PaginationTemplate.lit.js";
18
+ import PaginationTemplate from "./PaginationTemplate.js";
25
19
  // Styles
26
20
  import PaginationCss from "./generated/themes/Pagination.css.js";
27
21
  export var UDExPaginationType;
@@ -195,8 +189,8 @@ let UDExPagination = UDExPagination_1 = class UDExPagination extends UI5Element
195
189
  return this._desktopDisplayNumber / 2 - 1;
196
190
  }
197
191
  setActive(element) {
198
- const pageIndex = element.getAttribute("index")
199
- ? parseInt(element.getAttribute("index") || "")
192
+ const pageIndex = element.getAttribute("data-index")
193
+ ? parseInt(element.getAttribute("data-index") || "")
200
194
  : null;
201
195
  if (pageIndex === null) {
202
196
  return;
@@ -360,7 +354,7 @@ __decorate([
360
354
  UDExPagination = UDExPagination_1 = __decorate([
361
355
  customElement({
362
356
  tag: "udex-pagination",
363
- renderer: litRender,
357
+ renderer: jsxRenderer,
364
358
  styles: PaginationCss,
365
359
  template: PaginationTemplate,
366
360
  dependencies: [Button],
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../src/Pagination.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n OF,\n PAGINATION_PAGE,\n SELECTED,\n ACTIVATE_PAGE,\n FIRST_PAGE,\n LAST_PAGE,\n PREVIOUS_PAGE,\n NEXT_PAGE,\n CURRENT_PAGE,\n DISABLED,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Button from \"./Button.js\";\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-left-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/open-command-field.js\";\nimport \"@ui5/webcomponents-icons/dist/close-command-field.js\";\n\n// Template\nimport PaginationTemplate from \"./generated/templates/PaginationTemplate.lit.js\";\n\n// Styles\nimport PaginationCss from \"./generated/themes/Pagination.css.js\";\n\nexport interface Page {\n value: number;\n active: boolean;\n}\n\nexport enum UDExPaginationType {\n full = \"full\",\n short = \"short\",\n}\n\nexport enum UDExDisplayType {\n desktop = \"desktop\",\n mobile = \"mobile\"\n}\n\ntype UDExPaginationChangeEventDetail = {\n currentPage: number,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>udex-pagination</code> component is a pagination component used to navigate thought the pages.\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-pagination\n * @public\n */\n@customElement({\n tag: \"udex-pagination\",\n renderer: litRender,\n styles: PaginationCss,\n template: PaginationTemplate,\n dependencies: [Button],\n})\n/**\n * Fires when pagination item was clicked.\n *\n * @allowPreventDefault\n * @param {Number}\n * @public\n */\n@event(\"change\", { bubbles: true })\nclass UDExPagination extends UI5Element {\n eventDetails!: {\n \"change\": UDExPaginationChangeEventDetail,\n };\n /**\n * Defines number of pages.\n *\n * @public\n * @default 0\n */\n @property({ type: Number })\n pages: number = 0;\n\n /**\n * Defines type of pagination.\n *\n * @public\n * @default \"full\"\n */\n @property()\n type: `${UDExPaginationType}` = UDExPaginationType.full;\n\n /**\n * Define display purpose.\n *\n * @public\n * @default \"desktop\"\n */\n @property()\n display: `${UDExDisplayType}` = UDExDisplayType.desktop;\n\n /**\n * Current index of pagination page.\n * @public\n * @default 0\n */\n @property({ type: Number })\n currentPageIndex: number = 0;\n\n /**\n * Defines direction of the input.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n /**\n * Defines if the previous button is in pseudo-disabled.\n *\n * @private\n */\n @property({ type: Boolean })\n _nextButtonPseudoDisabled!: boolean;\n\n /**\n * Defines if the previous button is in pseudo-disabled.\n *\n * @private\n */\n @property({ type: Boolean })\n _prevButtonPseudoDisabled!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _pages: Page[];\n _visiblePages: Page[];\n\n _previousPageElement?: HTMLElement;\n\n _mobileDisplayNumber: number;\n _desktopDisplayNumber: number;\n _firstPageIndex!: number;\n _lastPageIndex!: number;\n _pageFocusedManually!: boolean;\n\n constructor() {\n super();\n this.pages = 0;\n this._pages = [];\n this._visiblePages = [];\n this.currentPageIndex = 0;\n this._mobileDisplayNumber = 5;\n this._desktopDisplayNumber = 10;\n this._pageFocusedManually = false;\n }\n\n onEnterDOM() {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering(): void {\n this.setupPages(this.pages);\n }\n\n get nextButtonDisabled(): boolean {\n return this.currentPageIndex + 1 === this.pages;\n }\n\n get prevButtonDisabled(): boolean {\n return this.currentPageIndex === 0;\n }\n\n get typeFull(): boolean {\n return (\n this.type === UDExPaginationType.full || this.display === UDExDisplayType.mobile\n );\n }\n\n get typeShort(): boolean {\n return (\n this.type === UDExPaginationType.short && this.display !== UDExDisplayType.mobile\n );\n }\n\n get shortTextStart(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.currentPageIndex + 1}`;\n }\n\n get shortTextEnd(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.pages}`;\n }\n\n get shortTextSeparator(): string {\n if (!this.pages) {\n return \"\";\n }\n return ` ${UDExPagination.i18nBundle.getText(OF)} `;\n }\n\n get paginationAccessibleName(): string {\n if (this.typeShort) {\n return this.paginationShortAccessibleName;\n }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}`;\n }\n\n get pageAccessibleName(): string {\n return UDExPagination.i18nBundle.getText(PAGINATION_PAGE);\n }\n\n get paginationShortAccessibleName(): string {\n return `${this.pageAccessibleName} ${this.shortTextStart} ${this.shortTextSeparator} ${this.shortTextEnd}`;\n }\n\n get activatePageAccessibleText() {\n return UDExPagination.i18nBundle.getText(ACTIVATE_PAGE);\n }\n\n get firstPageAccessibleName(): string {\n if (this.currentPageIndex === 0) { return UDExPagination.i18nBundle.getText(FIRST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(FIRST_PAGE)}. ${this.activatePageAccessibleText} 1`;\n }\n\n get lastPageAccessibleName(): string {\n if (this.pages && this.currentPageIndex === (this.pages - 1)) { return UDExPagination.i18nBundle.getText(LAST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(LAST_PAGE)}. ${this.activatePageAccessibleText} ${this.pages}`;\n }\n\n get previousPageAccessibleName(): string {\n const currentPageText = `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;\n if (this._prevButtonPseudoDisabled || this.prevButtonDisabled) {\n const effectiveDisabledText = this._prevButtonPseudoDisabled ? `${UDExPagination.i18nBundle.getText(DISABLED)}` : \"\";\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)} ${effectiveDisabledText}`;\n }\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;\n }\n\n get previousBtnTooltip(): string {\n return !this.prevButtonDisabled ? `${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}` : \"\";\n }\n\n get nextPageAccessibleName(): string {\n const currentPageText = `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;\n if (this._nextButtonPseudoDisabled || this.nextButtonDisabled) {\n const effectiveDisabledText = this._nextButtonPseudoDisabled ? `${UDExPagination.i18nBundle.getText(DISABLED)}` : \"\";\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(NEXT_PAGE)} ${effectiveDisabledText}`;\n }\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;\n }\n\n get nextBtnTooltip(): string {\n return !this.nextButtonDisabled ? `${UDExPagination.i18nBundle.getText(NEXT_PAGE)}` : \"\";\n }\n\n get pagination(): Page[] {\n return this._visiblePages;\n }\n\n get paginationClass(): string {\n let classes = \"udex-pagination\";\n if (this._direction === \"rtl\") {\n classes = `${classes} udex-pagination--${this._direction}`;\n }\n if (!this.display) {\n return classes;\n }\n return `${classes} udex-pagination--${this.display} udex-pagination--${this.type}`;\n }\n\n get displayNumber(): number {\n const lastIndex = this.display === UDExDisplayType.mobile ? this._mobileDisplayNumber : this._desktopDisplayNumber;\n return lastIndex;\n }\n\n get pageOffset(): number {\n if (this.display === UDExDisplayType.mobile) {\n return Math.floor(this._mobileDisplayNumber / 2);\n }\n return this._desktopDisplayNumber / 2 - 1;\n }\n\n setActive(element: HTMLElement): void {\n const pageIndex = element.getAttribute(\"index\")\n ? parseInt(element.getAttribute(\"index\") || \"\")\n : null;\n if (pageIndex === null) {\n return;\n }\n\n this.currentPageIndex = pageIndex;\n this._pageFocusedManually = true;\n this._previousPageElement = element;\n }\n\n setNextPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage >= this.pages - 1) {\n return;\n }\n\n this.currentPageIndex = currentPage + 1;\n this._pageFocusedManually = false;\n\n this._nextButtonPseudoDisabled = this.currentPageIndex === (this.pages - 1);\n\n this.emitChangeEvent();\n }\n\n get effectiveNextButtonDisabled(): boolean {\n return !this._nextButtonPseudoDisabled && this.nextButtonDisabled;\n }\n\n get effectivePrevButtonDisabled(): boolean {\n return !this._prevButtonPseudoDisabled && this.prevButtonDisabled;\n }\n\n handlePrevFocusOut(): void {\n this._prevButtonPseudoDisabled = false;\n }\n\n handleNextFocusOut(): void {\n this._nextButtonPseudoDisabled = false;\n }\n\n setPrevPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage <= 0) {\n return;\n }\n this.currentPageIndex -= 1;\n this._pageFocusedManually = false;\n\n this._prevButtonPseudoDisabled = this.currentPageIndex === 0;\n\n this.emitChangeEvent();\n }\n\n setupPages(pages: number) {\n if (!pages) {\n this._visiblePages = [];\n return;\n }\n\n if (!this._pages.length || this._visiblePages.length < this.displayNumber) {\n this._firstPageIndex = 0;\n this._lastPageIndex = pages > this.displayNumber ? this.displayNumber : pages;\n this._pageFocusedManually = false;\n }\n\n this._pages = this.setupPagesData();\n\n if (this.currentPageIndex < this._firstPageIndex || this.currentPageIndex - this._firstPageIndex <= this.pageOffset) {\n this._visiblePages = this.shiftVisiblePages(true);\n return;\n }\n\n this._visiblePages = this.shiftVisiblePages();\n }\n\n setupPagesData(): Page[] {\n const updatedPages = [];\n if (this.pages) {\n this._previousPageElement?.removeAttribute(\"aria-current\");\n for (let index = 0; index < this.pages; index++) {\n const isCurrent = index === this.currentPageIndex;\n const ariaCurrent = \"page\";\n const accessibleName = this.getPageAccessibleName(index);\n updatedPages.push({\n index,\n value: index + 1,\n active: isCurrent,\n accessibleName,\n ...(isCurrent && { ariaCurrent }),\n });\n }\n }\n return updatedPages;\n }\n\n shiftVisiblePages(shiftBackwards: boolean = false): Page[] {\n if (shiftBackwards) {\n while (this.currentPageIndex - this._firstPageIndex < this.pageOffset && this._firstPageIndex > 0) {\n this._firstPageIndex--;\n this._lastPageIndex--;\n }\n } else {\n while (this._lastPageIndex - this.currentPageIndex - 1 < this.pageOffset && this._lastPageIndex < this.pages) {\n this._firstPageIndex++;\n this._lastPageIndex++;\n }\n }\n return this._pages.slice(this._firstPageIndex, this._lastPageIndex);\n }\n\n getPageAccessibleName(index: number): string {\n const isCurrent = index === this.currentPageIndex;\n\n const accessibleName = isCurrent ? `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}, ${UDExPagination.i18nBundle.getText(SELECTED)}` : `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}`;\n\n return accessibleName;\n }\n\n onPageClick(e: Event) {\n e.preventDefault();\n const target = e.target as HTMLElement;\n const element = target !== e.currentTarget ? (target.parentNode as HTMLElement) : target;\n if (element.getAttribute(\"active\") !== null) {\n return;\n }\n this.setActive(element);\n this.emitChangeEvent();\n }\n\n emitChangeEvent() {\n this.fireDecoratorEvent(\"change\", { currentPage: this.currentPageIndex + 1 });\n }\n\n onAfterRendering() {\n if (this._pageFocusedManually) {\n const activePageItem = this.shadowRoot?.querySelector<HTMLElement>(\".udex-pagination__page[active]\");\n activePageItem?.focus();\n }\n\n if (this.type === UDExPaginationType.full) {\n return;\n }\n\n const shortPaginationElement = this.shadowRoot?.querySelector<HTMLElement>(\n \".udex-pagination__item--short\",\n );\n\n if (!shortPaginationElement) {\n return;\n }\n\n const directionStyles: string = window\n .getComputedStyle(shortPaginationElement)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n}\n\nUDExPagination.define();\n\nexport default UDExPagination;\nexport type { UDExPaginationChangeEventDetail };\n"]}
1
+ {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../src/Pagination.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n OF,\n PAGINATION_PAGE,\n SELECTED,\n ACTIVATE_PAGE,\n FIRST_PAGE,\n LAST_PAGE,\n PREVIOUS_PAGE,\n NEXT_PAGE,\n CURRENT_PAGE,\n DISABLED,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Button from \"./Button.js\";\n\n// Template\nimport PaginationTemplate from \"./PaginationTemplate.js\";\n\n// Styles\nimport PaginationCss from \"./generated/themes/Pagination.css.js\";\n\nexport interface Page {\n index: number;\n value: number;\n active: boolean;\n accessibleName: string;\n ariaCurrent?: string\n}\n\nexport enum UDExPaginationType {\n full = \"full\",\n short = \"short\",\n}\n\nexport enum UDExDisplayType {\n desktop = \"desktop\",\n mobile = \"mobile\"\n}\n\ntype UDExPaginationChangeEventDetail = {\n currentPage: number,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>udex-pagination</code> component is a pagination component used to navigate thought the pages.\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-pagination\n * @public\n */\n@customElement({\n tag: \"udex-pagination\",\n renderer: jsxRenderer,\n styles: PaginationCss,\n template: PaginationTemplate,\n dependencies: [Button],\n})\n/**\n * Fires when pagination item was clicked.\n *\n * @allowPreventDefault\n * @param {Number}\n * @public\n */\n@event(\"change\", { bubbles: true })\nclass UDExPagination extends UI5Element {\n eventDetails!: {\n \"change\": UDExPaginationChangeEventDetail,\n };\n /**\n * Defines number of pages.\n *\n * @public\n * @default 0\n */\n @property({ type: Number })\n pages: number = 0;\n\n /**\n * Defines type of pagination.\n *\n * @public\n * @default \"full\"\n */\n @property()\n type: `${UDExPaginationType}` = UDExPaginationType.full;\n\n /**\n * Define display purpose.\n *\n * @public\n * @default \"desktop\"\n */\n @property()\n display: `${UDExDisplayType}` = UDExDisplayType.desktop;\n\n /**\n * Current index of pagination page.\n * @public\n * @default 0\n */\n @property({ type: Number })\n currentPageIndex: number = 0;\n\n /**\n * Defines direction of the input.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n /**\n * Defines if the previous button is in pseudo-disabled.\n *\n * @private\n */\n @property({ type: Boolean })\n _nextButtonPseudoDisabled!: boolean;\n\n /**\n * Defines if the previous button is in pseudo-disabled.\n *\n * @private\n */\n @property({ type: Boolean })\n _prevButtonPseudoDisabled!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _pages: Page[];\n _visiblePages: Page[];\n\n _previousPageElement?: HTMLElement;\n\n _mobileDisplayNumber: number;\n _desktopDisplayNumber: number;\n _firstPageIndex!: number;\n _lastPageIndex!: number;\n _pageFocusedManually!: boolean;\n\n constructor() {\n super();\n this.pages = 0;\n this._pages = [];\n this._visiblePages = [];\n this.currentPageIndex = 0;\n this._mobileDisplayNumber = 5;\n this._desktopDisplayNumber = 10;\n this._pageFocusedManually = false;\n }\n\n onEnterDOM() {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering(): void {\n this.setupPages(this.pages);\n }\n\n get nextButtonDisabled(): boolean {\n return this.currentPageIndex + 1 === this.pages;\n }\n\n get prevButtonDisabled(): boolean {\n return this.currentPageIndex === 0;\n }\n\n get typeFull(): boolean {\n return (\n this.type === UDExPaginationType.full || this.display === UDExDisplayType.mobile\n );\n }\n\n get typeShort(): boolean {\n return (\n this.type === UDExPaginationType.short && this.display !== UDExDisplayType.mobile\n );\n }\n\n get shortTextStart(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.currentPageIndex + 1}`;\n }\n\n get shortTextEnd(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.pages}`;\n }\n\n get shortTextSeparator(): string {\n if (!this.pages) {\n return \"\";\n }\n return ` ${UDExPagination.i18nBundle.getText(OF)} `;\n }\n\n get paginationAccessibleName(): string {\n if (this.typeShort) {\n return this.paginationShortAccessibleName;\n }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}`;\n }\n\n get pageAccessibleName(): string {\n return UDExPagination.i18nBundle.getText(PAGINATION_PAGE);\n }\n\n get paginationShortAccessibleName(): string {\n return `${this.pageAccessibleName} ${this.shortTextStart} ${this.shortTextSeparator} ${this.shortTextEnd}`;\n }\n\n get activatePageAccessibleText() {\n return UDExPagination.i18nBundle.getText(ACTIVATE_PAGE);\n }\n\n get firstPageAccessibleName(): string {\n if (this.currentPageIndex === 0) { return UDExPagination.i18nBundle.getText(FIRST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(FIRST_PAGE)}. ${this.activatePageAccessibleText} 1`;\n }\n\n get lastPageAccessibleName(): string {\n if (this.pages && this.currentPageIndex === (this.pages - 1)) { return UDExPagination.i18nBundle.getText(LAST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(LAST_PAGE)}. ${this.activatePageAccessibleText} ${this.pages}`;\n }\n\n get previousPageAccessibleName(): string {\n const currentPageText = `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;\n if (this._prevButtonPseudoDisabled || this.prevButtonDisabled) {\n const effectiveDisabledText = this._prevButtonPseudoDisabled ? `${UDExPagination.i18nBundle.getText(DISABLED)}` : \"\";\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)} ${effectiveDisabledText}`;\n }\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;\n }\n\n get previousBtnTooltip(): string {\n return !this.prevButtonDisabled ? `${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}` : \"\";\n }\n\n get nextPageAccessibleName(): string {\n const currentPageText = `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;\n if (this._nextButtonPseudoDisabled || this.nextButtonDisabled) {\n const effectiveDisabledText = this._nextButtonPseudoDisabled ? `${UDExPagination.i18nBundle.getText(DISABLED)}` : \"\";\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(NEXT_PAGE)} ${effectiveDisabledText}`;\n }\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;\n }\n\n get nextBtnTooltip(): string {\n return !this.nextButtonDisabled ? `${UDExPagination.i18nBundle.getText(NEXT_PAGE)}` : \"\";\n }\n\n get pagination(): Page[] {\n return this._visiblePages;\n }\n\n get paginationClass(): string {\n let classes = \"udex-pagination\";\n if (this._direction === \"rtl\") {\n classes = `${classes} udex-pagination--${this._direction}`;\n }\n if (!this.display) {\n return classes;\n }\n return `${classes} udex-pagination--${this.display} udex-pagination--${this.type}`;\n }\n\n get displayNumber(): number {\n const lastIndex = this.display === UDExDisplayType.mobile ? this._mobileDisplayNumber : this._desktopDisplayNumber;\n return lastIndex;\n }\n\n get pageOffset(): number {\n if (this.display === UDExDisplayType.mobile) {\n return Math.floor(this._mobileDisplayNumber / 2);\n }\n return this._desktopDisplayNumber / 2 - 1;\n }\n\n setActive(element: HTMLElement): void {\n const pageIndex = element.getAttribute(\"data-index\")\n ? parseInt(element.getAttribute(\"data-index\") || \"\")\n : null;\n if (pageIndex === null) {\n return;\n }\n\n this.currentPageIndex = pageIndex;\n this._pageFocusedManually = true;\n this._previousPageElement = element;\n }\n\n setNextPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage >= this.pages - 1) {\n return;\n }\n\n this.currentPageIndex = currentPage + 1;\n this._pageFocusedManually = false;\n\n this._nextButtonPseudoDisabled = this.currentPageIndex === (this.pages - 1);\n\n this.emitChangeEvent();\n }\n\n get effectiveNextButtonDisabled(): boolean {\n return !this._nextButtonPseudoDisabled && this.nextButtonDisabled;\n }\n\n get effectivePrevButtonDisabled(): boolean {\n return !this._prevButtonPseudoDisabled && this.prevButtonDisabled;\n }\n\n handlePrevFocusOut(): void {\n this._prevButtonPseudoDisabled = false;\n }\n\n handleNextFocusOut(): void {\n this._nextButtonPseudoDisabled = false;\n }\n\n setPrevPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage <= 0) {\n return;\n }\n this.currentPageIndex -= 1;\n this._pageFocusedManually = false;\n\n this._prevButtonPseudoDisabled = this.currentPageIndex === 0;\n\n this.emitChangeEvent();\n }\n\n setupPages(pages: number) {\n if (!pages) {\n this._visiblePages = [];\n return;\n }\n\n if (!this._pages.length || this._visiblePages.length < this.displayNumber) {\n this._firstPageIndex = 0;\n this._lastPageIndex = pages > this.displayNumber ? this.displayNumber : pages;\n this._pageFocusedManually = false;\n }\n\n this._pages = this.setupPagesData();\n\n if (this.currentPageIndex < this._firstPageIndex || this.currentPageIndex - this._firstPageIndex <= this.pageOffset) {\n this._visiblePages = this.shiftVisiblePages(true);\n return;\n }\n\n this._visiblePages = this.shiftVisiblePages();\n }\n\n setupPagesData(): Page[] {\n const updatedPages = [];\n if (this.pages) {\n this._previousPageElement?.removeAttribute(\"aria-current\");\n for (let index = 0; index < this.pages; index++) {\n const isCurrent = index === this.currentPageIndex;\n const ariaCurrent = \"page\";\n const accessibleName = this.getPageAccessibleName(index);\n updatedPages.push({\n index,\n value: index + 1,\n active: isCurrent,\n accessibleName,\n ...(isCurrent && { ariaCurrent }),\n });\n }\n }\n return updatedPages;\n }\n\n shiftVisiblePages(shiftBackwards: boolean = false): Page[] {\n if (shiftBackwards) {\n while (this.currentPageIndex - this._firstPageIndex < this.pageOffset && this._firstPageIndex > 0) {\n this._firstPageIndex--;\n this._lastPageIndex--;\n }\n } else {\n while (this._lastPageIndex - this.currentPageIndex - 1 < this.pageOffset && this._lastPageIndex < this.pages) {\n this._firstPageIndex++;\n this._lastPageIndex++;\n }\n }\n return this._pages.slice(this._firstPageIndex, this._lastPageIndex);\n }\n\n getPageAccessibleName(index: number): string {\n const isCurrent = index === this.currentPageIndex;\n\n const accessibleName = isCurrent ? `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}, ${UDExPagination.i18nBundle.getText(SELECTED)}` : `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}`;\n\n return accessibleName;\n }\n\n onPageClick(e: Event) {\n e.preventDefault();\n const target = e.target as HTMLElement;\n const element = target !== e.currentTarget ? (target.parentNode as HTMLElement) : target;\n if (element.getAttribute(\"active\") !== null) {\n return;\n }\n this.setActive(element);\n this.emitChangeEvent();\n }\n\n emitChangeEvent() {\n this.fireDecoratorEvent(\"change\", { currentPage: this.currentPageIndex + 1 });\n }\n\n onAfterRendering() {\n if (this._pageFocusedManually) {\n const activePageItem = this.shadowRoot?.querySelector<HTMLElement>(\".udex-pagination__page[active]\");\n activePageItem?.focus();\n }\n\n if (this.type === UDExPaginationType.full) {\n return;\n }\n\n const shortPaginationElement = this.shadowRoot?.querySelector<HTMLElement>(\n \".udex-pagination__item--short\",\n );\n\n if (!shortPaginationElement) {\n return;\n }\n\n const directionStyles: string = window\n .getComputedStyle(shortPaginationElement)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n}\n\nUDExPagination.define();\n\nexport default UDExPagination;\nexport type { UDExPaginationChangeEventDetail };\n"]}
@@ -0,0 +1,2 @@
1
+ import type UDExPagination from "./Pagination.js";
2
+ export default function PaginationTemplate(this: UDExPagination): import("@ui5/webcomponents-base").JSX.Element;
@@ -0,0 +1,23 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import navigationLeftArrow from "@ui5/webcomponents-icons/dist/navigation-left-arrow.js";
3
+ import navigationRightArrow from "@ui5/webcomponents-icons/dist/navigation-right-arrow.js";
4
+ import UDExButton from "./Button.js";
5
+ import UDExButtonDesign from "./types/ButtonDesign.js";
6
+ import UDExButtonSize from "./types/ButtonSize.js";
7
+ export default function PaginationTemplate() {
8
+ // This can maybe be cleaned up nicer as we can't simply
9
+ // return empty("return;") as the renderer expects an element
10
+ if (!this.pages) {
11
+ return (_jsx(_Fragment, {}));
12
+ }
13
+ return (_jsx("nav", { class: this.paginationClass, role: "navigation", "aria-label": this.paginationAccessibleName, children: _jsxs("ul", { class: "udex-pagination__list", children: [_jsx("li", { class: "udex-pagination__item--prev udex-pagination__item", children: _jsx(UDExButton, { "aria-disabled": this.effectivePrevButtonDisabled, ...(this._prevButtonPseudoDisabled ? { "_aria-disabled": "" } : {}), "accessible-name": this.previousPageAccessibleName, tooltip: this.previousBtnTooltip, onFocusOut: this.handlePrevFocusOut, icon: navigationLeftArrow, onClick: this.setPrevPage, design: UDExButtonDesign.Tertiary, size: UDExButtonSize.Large }) }), this.typeFull ? renderFullPagination.call(this) : "", this.typeShort ? renderShortPagination.call(this) : "", _jsx("li", { class: "udex-pagination__item--next udex-pagination__item", children: _jsx(UDExButton, { "aria-disabled": this.effectiveNextButtonDisabled, ...(this._nextButtonPseudoDisabled ? { "_aria-disabled": "" } : {}), "accessible-name": this.nextPageAccessibleName, tooltip: this.nextBtnTooltip, onFocusOut: this.handleNextFocusOut, icon: navigationRightArrow, onClick: this.setNextPage, design: UDExButtonDesign.Tertiary, size: UDExButtonSize.Large }) })] }) }));
14
+ }
15
+ function renderFullPagination() {
16
+ return this.pagination.map((page, i) => {
17
+ return (_jsx("li", { class: "udex-pagination__item", children: _jsx("a", { class: "udex-pagination__page", href: "#", "aria-label": page.accessibleName, onClick: this.onPageClick, ...(page.active ? { active: "" } : {}), "aria-current": page.ariaCurrent, "data-index": page.index, children: _jsx("span", { class: "udex-pagination__page--value", children: page.value }) }) }, i));
18
+ });
19
+ }
20
+ function renderShortPagination() {
21
+ return (_jsxs("li", { class: "udex-pagination__item udex-pagination__item--short", "tab-index": "-1", "aria-label": this.paginationShortAccessibleName, children: [_jsx("span", { class: "udex-pagination__item--short-value", children: this.shortTextStart }), _jsx("span", { class: "udex-pagination__item--short-separator", children: this.shortTextSeparator }), _jsx("span", { class: "udex-pagination__item--short-value", children: this.shortTextEnd })] }));
22
+ }
23
+ //# sourceMappingURL=PaginationTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationTemplate.js","sourceRoot":"","sources":["../src/PaginationTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExPagination from \"./Pagination.js\";\nimport navigationLeftArrow from \"@ui5/webcomponents-icons/dist/navigation-left-arrow.js\";\nimport navigationRightArrow from \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport type { AriaCurrent } from \"@ui5/webcomponents-base/dist/types.js\";\n\nexport default function PaginationTemplate(this: UDExPagination) {\n // This can maybe be cleaned up nicer as we can't simply\n // return empty(\"return;\") as the renderer expects an element\n if (!this.pages) { return (<></>); }\n\n return (\n <nav class={this.paginationClass} role=\"navigation\" aria-label={this.paginationAccessibleName}>\n <ul class=\"udex-pagination__list\">\n <li class=\"udex-pagination__item--prev udex-pagination__item\">\n <UDExButton\n aria-disabled={this.effectivePrevButtonDisabled}\n {...(this._prevButtonPseudoDisabled ? { \"_aria-disabled\": \"\" } : {})}\n accessible-name={this.previousPageAccessibleName}\n tooltip={this.previousBtnTooltip}\n onFocusOut={this.handlePrevFocusOut}\n icon={navigationLeftArrow}\n onClick={this.setPrevPage}\n design={UDExButtonDesign.Tertiary}\n size={UDExButtonSize.Large}\n ></UDExButton>\n </li>\n\n { this.typeFull ? renderFullPagination.call(this) : \"\" }\n { this.typeShort ? renderShortPagination.call(this) : \"\" }\n\n <li class=\"udex-pagination__item--next udex-pagination__item\">\n <UDExButton\n aria-disabled={this.effectiveNextButtonDisabled}\n {...(this._nextButtonPseudoDisabled ? { \"_aria-disabled\": \"\" } : {})}\n accessible-name={this.nextPageAccessibleName}\n tooltip={this.nextBtnTooltip}\n onFocusOut={this.handleNextFocusOut}\n icon={navigationRightArrow}\n onClick={this.setNextPage}\n design={UDExButtonDesign.Tertiary}\n size={UDExButtonSize.Large}\n ></UDExButton>\n </li>\n </ul>\n </nav>\n );\n}\n\nfunction renderFullPagination(this: UDExPagination) {\n return this.pagination.map((page, i) => {\n return (\n <li key={i} class=\"udex-pagination__item\">\n <a\n class=\"udex-pagination__page\"\n href=\"#\"\n aria-label={page.accessibleName}\n onClick={this.onPageClick}\n {...(page.active ? { active: \"\" } : {})}\n aria-current={page.ariaCurrent as AriaCurrent}\n data-index={page.index}\n >\n <span class=\"udex-pagination__page--value\">{page.value}</span>\n </a>\n </li>\n );\n });\n}\n\nfunction renderShortPagination(this: UDExPagination) {\n return (\n <li class=\"udex-pagination__item udex-pagination__item--short\" tab-index=\"-1\" aria-label={this.paginationShortAccessibleName}>\n <span class=\"udex-pagination__item--short-value\">{this.shortTextStart}</span>\n <span class=\"udex-pagination__item--short-separator\">{this.shortTextSeparator}</span>\n <span class=\"udex-pagination__item--short-value\">{this.shortTextEnd}</span>\n </li>\n );\n}\n"]}
package/dist/Quote.d.ts CHANGED
@@ -80,5 +80,6 @@ declare class UDExQuote extends UI5Element {
80
80
  * @default "left"
81
81
  */
82
82
  imagePlacement: `${UDExImagePlacement}`;
83
+ get isImagePlacementRight(): boolean;
83
84
  }
84
85
  export default UDExQuote;
package/dist/Quote.js CHANGED
@@ -71,6 +71,9 @@ let UDExQuote = class UDExQuote extends UI5Element {
71
71
  */
72
72
  this.imagePlacement = UDExImagePlacement.left;
73
73
  }
74
+ get isImagePlacementRight() {
75
+ return this.imagePlacement === UDExImagePlacement.right;
76
+ }
74
77
  };
75
78
  __decorate([
76
79
  slot({ type: HTMLElement, "default": true })
package/dist/Quote.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Quote.js","sourceRoot":"","sources":["../src/Quote.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,WAAW,MAAM,iDAAiD,CAAC;AAC1E,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,SAAS;AACT,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AAEvD,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,+BAAe,CAAA;AACjB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,uCAAuB,CAAA;AACzB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,qCAAe,CAAA;AACjB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B;AAED;;;;;;;;;;;GAWG;AAOH,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,UAAU;IAAlC;;QAqCE;;;;;UAKE;QAEA,cAAS,GAAsB,YAAY,CAAC,KAAK,CAAC;QAEpD;;;;;UAKE;QAEA,aAAQ,GAAsB,YAAY,CAAC,KAAK,CAAC;QAEnD;;;;;UAKE;QAEA,SAAI,GAAsB,YAAY,CAAC,MAAM,CAAC;QAEhD;;;;;WAKG;QAED,mBAAc,GAA4B,kBAAkB,CAAC,IAAI,CAAC;IACtE,CAAC;CAAA,CAAA;AAhEG;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;0CACd;AAS7B;IADD,IAAI,EAAE;uCACqB;AAS1B;IADD,IAAI,EAAE;yCACuB;AAS5B;IADD,IAAI,EAAE;wCACsB;AAS3B;IADD,QAAQ,EAAE;4CACyC;AASlD;IADD,QAAQ,EAAE;2CACwC;AASjD;IADD,QAAQ,EAAE;uCACqC;AAS9C;IADD,QAAQ,EAAE;iDACyD;AAvEhE,SAAS;IANd,aAAa,CAAC;QACb,GAAG,EAAE,YAAY;QACjB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,aAAa;KACxB,CAAC;GACI,SAAS,CAwEd;AAED,SAAS,CAAC,MAAM,EAAE,CAAC;AAEnB,eAAe,SAAS,CAAC","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 jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport QuoteTemplate from \"./QuoteTemplate.js\";\n\n// Styles\nimport QuoteCss from \"./generated/themes/Quote.css.js\";\n\nexport enum UDExSizeType {\n small = \"small\",\n large = \"large\"\n}\n\nexport enum UDExMaskType {\n avatar = \"avatar\",\n rectangle = \"rectangle\"\n}\n\nexport enum UDExImagePlacement {\n left = \"left\",\n right = \"right\"\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>udex-quote</code> component is a demo component that displays some text.\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-quote\n * @public\n */\n@customElement({\n tag: \"udex-quote\",\n renderer: jsxRenderer,\n styles: QuoteCss,\n template: QuoteTemplate,\n})\nclass UDExQuote extends UI5Element {\n /**\n * Defines the text content of the Quote.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content!: Array<HTMLElement>;\n\n /**\n * Defines the link in the Quote\n *\n * @slot\n * @public\n */\n @slot()\n link!: Array<HTMLElement>;\n\n /**\n * Defines author's name and company\n *\n * @public\n * @slot\n */\n @slot()\n author!: Array<HTMLElement>;\n\n /**\n * Defines image near quote text\n *\n * @public\n * @slot\n */\n @slot()\n image!: Array<HTMLElement>;\n\n /**\n * Defines image (Avatar or company logo) size\n *\n * @public\n * @default \"large\"\n */\n @property()\n imageSize: `${UDExSizeType}` = UDExSizeType.large;\n\n /**\n * Defines text size\n *\n * @public\n * @default \"large\"\n */\n @property()\n textSize: `${UDExSizeType}` = UDExSizeType.large;\n\n /**\n * Defines image mask\n *\n * @public\n * @default \"avatar\"\n */\n @property()\n mask: `${UDExMaskType}` = UDExMaskType.avatar;\n\n /**\n * Defines image placement\n *\n * @public\n * @default \"left\"\n */\n @property()\n imagePlacement: `${UDExImagePlacement}` = UDExImagePlacement.left;\n}\n\nUDExQuote.define();\n\nexport default UDExQuote;\n"]}
1
+ {"version":3,"file":"Quote.js","sourceRoot":"","sources":["../src/Quote.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,WAAW,MAAM,iDAAiD,CAAC;AAC1E,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,SAAS;AACT,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AAEvD,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,+BAAe,CAAA;AACjB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,uCAAuB,CAAA;AACzB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,qCAAe,CAAA;AACjB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B;AAED;;;;;;;;;;;GAWG;AAOH,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,UAAU;IAAlC;;QAqCE;;;;;UAKE;QAEA,cAAS,GAAsB,YAAY,CAAC,KAAK,CAAC;QAEpD;;;;;UAKE;QAEA,aAAQ,GAAsB,YAAY,CAAC,KAAK,CAAC;QAEnD;;;;;UAKE;QAEA,SAAI,GAAsB,YAAY,CAAC,MAAM,CAAC;QAEhD;;;;;WAKG;QAED,mBAAc,GAA4B,kBAAkB,CAAC,IAAI,CAAC;IAKtE,CAAC;IAHC,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,cAAc,KAAK,kBAAkB,CAAC,KAAK,CAAC;IAC1D,CAAC;CACF,CAAA;AApEG;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;0CACd;AAS7B;IADD,IAAI,EAAE;uCACqB;AAS1B;IADD,IAAI,EAAE;yCACuB;AAS5B;IADD,IAAI,EAAE;wCACsB;AAS3B;IADD,QAAQ,EAAE;4CACyC;AASlD;IADD,QAAQ,EAAE;2CACwC;AASjD;IADD,QAAQ,EAAE;uCACqC;AAS9C;IADD,QAAQ,EAAE;iDACyD;AAvEhE,SAAS;IANd,aAAa,CAAC;QACb,GAAG,EAAE,YAAY;QACjB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,aAAa;KACxB,CAAC;GACI,SAAS,CA4Ed;AAED,SAAS,CAAC,MAAM,EAAE,CAAC;AAEnB,eAAe,SAAS,CAAC","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 jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport QuoteTemplate from \"./QuoteTemplate.js\";\n\n// Styles\nimport QuoteCss from \"./generated/themes/Quote.css.js\";\n\nexport enum UDExSizeType {\n small = \"small\",\n large = \"large\"\n}\n\nexport enum UDExMaskType {\n avatar = \"avatar\",\n rectangle = \"rectangle\"\n}\n\nexport enum UDExImagePlacement {\n left = \"left\",\n right = \"right\"\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>udex-quote</code> component is a demo component that displays some text.\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-quote\n * @public\n */\n@customElement({\n tag: \"udex-quote\",\n renderer: jsxRenderer,\n styles: QuoteCss,\n template: QuoteTemplate,\n})\nclass UDExQuote extends UI5Element {\n /**\n * Defines the text content of the Quote.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content!: Array<HTMLElement>;\n\n /**\n * Defines the link in the Quote\n *\n * @slot\n * @public\n */\n @slot()\n link!: Array<HTMLElement>;\n\n /**\n * Defines author's name and company\n *\n * @public\n * @slot\n */\n @slot()\n author!: Array<HTMLElement>;\n\n /**\n * Defines image near quote text\n *\n * @public\n * @slot\n */\n @slot()\n image!: Array<HTMLElement>;\n\n /**\n * Defines image (Avatar or company logo) size\n *\n * @public\n * @default \"large\"\n */\n @property()\n imageSize: `${UDExSizeType}` = UDExSizeType.large;\n\n /**\n * Defines text size\n *\n * @public\n * @default \"large\"\n */\n @property()\n textSize: `${UDExSizeType}` = UDExSizeType.large;\n\n /**\n * Defines image mask\n *\n * @public\n * @default \"avatar\"\n */\n @property()\n mask: `${UDExMaskType}` = UDExMaskType.avatar;\n\n /**\n * Defines image placement\n *\n * @public\n * @default \"left\"\n */\n @property()\n imagePlacement: `${UDExImagePlacement}` = UDExImagePlacement.left;\n\n get isImagePlacementRight(): boolean {\n return this.imagePlacement === UDExImagePlacement.right;\n }\n}\n\nUDExQuote.define();\n\nexport default UDExQuote;\n"]}
@@ -1,6 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
2
2
  export default function QuoteTemplate() {
3
3
  const rootClass = "udex-quote";
4
- return (_jsxs("div", { class: `${rootClass}__container`, children: [this.image?.length > 0 && (_jsx("div", { class: `${rootClass}__image-container`, children: _jsx("slot", { name: "image", slot: "image" }) })), _jsxs("div", { class: `${rootClass}__content-container`, children: [_jsx("blockquote", { class: `${rootClass}__text-container`, children: _jsx("p", { class: `${rootClass}__text`, children: _jsx("slot", {}) }) }), this.author && (_jsx("slot", { slot: "author", name: "author" })), this.link && (_jsx("slot", { slot: "link", name: "link" }))] })] }));
4
+ return (_jsxs("div", { class: `${rootClass}__container`, children: [this.image?.length > 0 && !this.isImagePlacementRight && imageHolder.call(this, rootClass), _jsxs("div", { class: `${rootClass}__content-container`, children: [_jsx("blockquote", { class: `${rootClass}__text-container`, children: _jsx("p", { class: `${rootClass}__text`, children: _jsx("slot", {}) }) }), this.author && _jsx("slot", { slot: "author", name: "author" }), this.link && _jsx("slot", { slot: "link", name: "link" })] }), this.image?.length > 0 && this.isImagePlacementRight && imageHolder.call(this, rootClass)] }));
5
+ }
6
+ function imageHolder(rootClass) {
7
+ return (_jsx("div", { class: `${rootClass}__image-container`, children: _jsx("slot", { name: "image", slot: "image" }) }));
5
8
  }
6
9
  //# sourceMappingURL=QuoteTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuoteTemplate.js","sourceRoot":"","sources":["../src/QuoteTemplate.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,aAAa;IACnC,MAAM,SAAS,GAAG,YAAY,CAAC;IAE/B,OAAO,CACL,eAAK,KAAK,EAAE,GAAG,SAAS,aAAa,aAClC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,CACzB,cAAK,KAAK,EAAE,GAAG,SAAS,mBAAmB,YACzC,eAAM,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,GAAQ,GACnC,CACP,EACD,eAAK,KAAK,EAAE,GAAG,SAAS,qBAAqB,aAC3C,qBAAY,KAAK,EAAE,GAAG,SAAS,kBAAkB,YAC/C,YAAG,KAAK,EAAE,GAAG,SAAS,QAAQ,YAC5B,gBAAa,GACX,GACO,EACZ,IAAI,CAAC,MAAM,IAAI,CACd,eAAM,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,GAAQ,CAC1C,EACA,IAAI,CAAC,IAAI,IAAI,CACZ,eAAM,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,GAAQ,CACtC,IACG,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import type UDExQuote from \"./Quote.js\";\n\nexport default function QuoteTemplate(this: UDExQuote) {\n const rootClass = \"udex-quote\";\n\n return (\n <div class={`${rootClass}__container`}>\n {this.image?.length > 0 && (\n <div class={`${rootClass}__image-container`}>\n <slot name=\"image\" slot=\"image\"></slot>\n </div>\n )}\n <div class={`${rootClass}__content-container`}>\n <blockquote class={`${rootClass}__text-container`}>\n <p class={`${rootClass}__text`}>\n <slot></slot>\n </p>\n </blockquote>\n {this.author && (\n <slot slot=\"author\" name=\"author\"></slot>\n )}\n {this.link && (\n <slot slot=\"link\" name=\"link\"></slot>\n )}\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"QuoteTemplate.js","sourceRoot":"","sources":["../src/QuoteTemplate.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,aAAa;IACnC,MAAM,SAAS,GAAG,YAAY,CAAC;IAE/B,OAAO,CACL,eAAK,KAAK,EAAE,GAAG,SAAS,aAAa,aAClC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAC3F,eAAK,KAAK,EAAE,GAAG,SAAS,qBAAqB,aAC3C,qBAAY,KAAK,EAAE,GAAG,SAAS,kBAAkB,YAC/C,YAAG,KAAK,EAAE,GAAG,SAAS,QAAQ,YAC5B,gBAAa,GACX,GACO,EACZ,IAAI,CAAC,MAAM,IAAI,eAAM,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,GAAQ,EACxD,IAAI,CAAC,IAAI,IAAI,eAAM,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,GAAQ,IAC/C,EACL,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,qBAAqB,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IACtF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAkB,SAAiB;IACrD,OAAO,CACL,cAAK,KAAK,EAAE,GAAG,SAAS,mBAAmB,YACzC,eAAM,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,GAAQ,GACnC,CACP,CAAC;AACJ,CAAC","sourcesContent":["import type UDExQuote from \"./Quote.js\";\n\nexport default function QuoteTemplate(this: UDExQuote) {\n const rootClass = \"udex-quote\";\n\n return (\n <div class={`${rootClass}__container`}>\n {this.image?.length > 0 && !this.isImagePlacementRight && imageHolder.call(this, rootClass)}\n <div class={`${rootClass}__content-container`}>\n <blockquote class={`${rootClass}__text-container`}>\n <p class={`${rootClass}__text`}>\n <slot></slot>\n </p>\n </blockquote>\n {this.author && <slot slot=\"author\" name=\"author\"></slot>}\n {this.link && <slot slot=\"link\" name=\"link\"></slot>}\n </div>\n {this.image?.length > 0 && this.isImagePlacementRight && imageHolder.call(this, rootClass)}\n </div>\n );\n}\n\nfunction imageHolder(this: UDExQuote, rootClass: string) {\n return (\n <div class={`${rootClass}__image-container`}>\n <slot name=\"image\" slot=\"image\"></slot>\n </div>\n );\n}\n"]}
@@ -33,7 +33,7 @@ declare class UDExRatingIndicator extends RatingIndicator {
33
33
  */
34
34
  totalCount: number;
35
35
  static i18nBundle: I18nBundle;
36
- get classNames(): string;
37
36
  get _ariaLabel(): string;
37
+ get hasTotalCount(): boolean;
38
38
  }
39
39
  export default UDExRatingIndicator;
@@ -7,10 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
8
8
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
9
9
  import RatingIndicator from "@ui5/webcomponents/dist/RatingIndicator.js";
10
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
10
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
11
11
  import Icon from "@ui5/webcomponents/dist/Icon.js";
12
12
  import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
13
- import RatingIndicatorTemplate from "./generated/templates/RatingIndicatorTemplate.lit.js";
13
+ import RatingIndicatorTemplate from "./RatingIndicatorTemplate.js";
14
14
  // Styles
15
15
  import RatingIndicatorCss from "./generated/themes/RatingIndicator.css.js";
16
16
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
@@ -45,9 +45,6 @@ let UDExRatingIndicator = class UDExRatingIndicator extends RatingIndicator {
45
45
  */
46
46
  this.display = UDExDisplayType.Desktop;
47
47
  }
48
- get classNames() {
49
- return `udex-rating-indicator--${this.display.toLowerCase()}`;
50
- }
51
48
  get _ariaLabel() {
52
49
  const ariaLabelText = getEffectiveAriaLabelText(this) || "";
53
50
  if (this.totalCount) {
@@ -55,6 +52,9 @@ let UDExRatingIndicator = class UDExRatingIndicator extends RatingIndicator {
55
52
  }
56
53
  return ariaLabelText;
57
54
  }
55
+ get hasTotalCount() {
56
+ return !!this.totalCount || this.totalCount === 0;
57
+ }
58
58
  };
59
59
  __decorate([
60
60
  property()
@@ -68,7 +68,7 @@ __decorate([
68
68
  UDExRatingIndicator = __decorate([
69
69
  customElement({
70
70
  tag: "udex-rating-indicator",
71
- renderer: litRender,
71
+ renderer: jsxRenderer,
72
72
  styles: [RatingIndicator.styles, RatingIndicatorCss],
73
73
  template: RatingIndicatorTemplate,
74
74
  dependencies: [Icon],
@@ -1 +1 @@
1
- {"version":3,"file":"RatingIndicator.js","sourceRoot":"","sources":["../src/RatingIndicator.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,eAAe,MAAM,4CAA4C,CAAC;AACzE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,uBAAuB,MAAM,sDAAsD,CAAC;AAE3F,SAAS;AACT,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,2CAA2C,CAAC;AACnD,OAAO,6CAA6C,CAAC;AAErD,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;AACnB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED;;;;;;;;;;;GAWG;AASH,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,eAAe;IAAjD;;QACE;;;;;WAKG;QAED,YAAO,GAAyB,eAAe,CAAC,OAAO,CAAC;IAwB5D,CAAC;IAXC,IAAI,UAAU;QACZ,OAAO,0BAA0B,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;IAChE,CAAC;IAED,IAAI,UAAU;QACZ,MAAM,aAAa,GAAW,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACvH,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;CACF,CAAA;AAxBG;IADD,QAAQ,EAAE;oDAC+C;AAQxD;IADD,QAAQ,EAAE;uDACW;AAGf;IADN,IAAI,CAAC,yBAAyB,CAAC;6CACF;AAnB1B,mBAAmB;IARxB,aAAa,CAAC;QACb,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,kBAAkB,CAAC;QACpD,QAAQ,EAAE,uBAAuB;QACjC,YAAY,EAAE,CAAC,IAAI,CAAC;KACrB,CAAC;GAEI,mBAAmB,CAgCxB;AAED,mBAAmB,CAAC,MAAM,EAAE,CAAC;AAE7B,eAAe,mBAAmB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\n\nimport RatingIndicator from \"@ui5/webcomponents/dist/RatingIndicator.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport RatingIndicatorTemplate from \"./generated/templates/RatingIndicatorTemplate.lit.js\";\n\n// Styles\nimport RatingIndicatorCss from \"./generated/themes/RatingIndicator.css.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { TOTAL } from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/favorite.js\";\nimport \"@ui5/webcomponents-icons/dist/unfavorite.js\";\n\nexport enum UDExDisplayType {\n Desktop = \"Desktop\",\n Mobile = \"Mobile\"\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * ### ES6 Module Import\n *\n * `import @sapudex/web-components/dist/RatingIndicator.js\";`\n * @constructor\n * @extends RatingIndicator\n * @public\n */\n@customElement({\n tag: \"udex-rating-indicator\",\n renderer: litRender,\n styles: [RatingIndicator.styles, RatingIndicatorCss],\n template: RatingIndicatorTemplate,\n dependencies: [Icon],\n})\n\nclass UDExRatingIndicator extends RatingIndicator {\n /**\n * Defines the display type of the component.\n *\n * @default \"Desktop\"\n * @public\n */\n @property()\n display: `${UDExDisplayType}` = UDExDisplayType.Desktop;\n\n /**\n * The number of total votes.\n *\n * @public\n */\n @property()\n totalCount!: number;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n get classNames(): string {\n return `udex-rating-indicator--${this.display.toLowerCase()}`;\n }\n\n get _ariaLabel(): string {\n const ariaLabelText: string = getEffectiveAriaLabelText(this) || \"\";\n if (this.totalCount) {\n return `${ariaLabelText ? `${ariaLabelText}, ` : \"\"}${RatingIndicator.i18nBundle.getText(TOTAL)} ${this.totalCount}`;\n }\n return ariaLabelText;\n }\n}\n\nUDExRatingIndicator.define();\n\nexport default UDExRatingIndicator;\n"]}
1
+ {"version":3,"file":"RatingIndicator.js","sourceRoot":"","sources":["../src/RatingIndicator.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,eAAe,MAAM,4CAA4C,CAAC;AACzE,OAAO,WAAW,MAAM,iDAAiD,CAAC;AAC1E,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAEnE,SAAS;AACT,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,2CAA2C,CAAC;AACnD,OAAO,6CAA6C,CAAC;AAErD,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;AACnB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED;;;;;;;;;;;GAWG;AASH,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,eAAe;IAAjD;;QACE;;;;;WAKG;QAED,YAAO,GAAyB,eAAe,CAAC,OAAO,CAAC;IAwB5D,CAAC;IAXC,IAAI,UAAU;QACZ,MAAM,aAAa,GAAW,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACvH,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC;IACpD,CAAC;CACF,CAAA;AAxBG;IADD,QAAQ,EAAE;oDAC+C;AAQxD;IADD,QAAQ,EAAE;uDACW;AAGf;IADN,IAAI,CAAC,yBAAyB,CAAC;6CACF;AAnB1B,mBAAmB;IARxB,aAAa,CAAC;QACb,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,kBAAkB,CAAC;QACpD,QAAQ,EAAE,uBAAuB;QACjC,YAAY,EAAE,CAAC,IAAI,CAAC;KACrB,CAAC;GAEI,mBAAmB,CAgCxB;AAED,mBAAmB,CAAC,MAAM,EAAE,CAAC;AAE7B,eAAe,mBAAmB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\n\nimport RatingIndicator from \"@ui5/webcomponents/dist/RatingIndicator.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport RatingIndicatorTemplate from \"./RatingIndicatorTemplate.js\";\n\n// Styles\nimport RatingIndicatorCss from \"./generated/themes/RatingIndicator.css.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { TOTAL } from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/favorite.js\";\nimport \"@ui5/webcomponents-icons/dist/unfavorite.js\";\n\nexport enum UDExDisplayType {\n Desktop = \"Desktop\",\n Mobile = \"Mobile\"\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * ### ES6 Module Import\n *\n * `import @sapudex/web-components/dist/RatingIndicator.js\";`\n * @constructor\n * @extends RatingIndicator\n * @public\n */\n@customElement({\n tag: \"udex-rating-indicator\",\n renderer: jsxRenderer,\n styles: [RatingIndicator.styles, RatingIndicatorCss],\n template: RatingIndicatorTemplate,\n dependencies: [Icon],\n})\n\nclass UDExRatingIndicator extends RatingIndicator {\n /**\n * Defines the display type of the component.\n *\n * @default \"Desktop\"\n * @public\n */\n @property()\n display: `${UDExDisplayType}` = UDExDisplayType.Desktop;\n\n /**\n * The number of total votes.\n *\n * @public\n */\n @property()\n totalCount!: number;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n get _ariaLabel(): string {\n const ariaLabelText: string = getEffectiveAriaLabelText(this) || \"\";\n if (this.totalCount) {\n return `${ariaLabelText ? `${ariaLabelText}, ` : \"\"}${RatingIndicator.i18nBundle.getText(TOTAL)} ${this.totalCount}`;\n }\n return ariaLabelText;\n }\n\n get hasTotalCount(): boolean {\n return !!this.totalCount || this.totalCount === 0;\n }\n}\n\nUDExRatingIndicator.define();\n\nexport default UDExRatingIndicator;\n"]}
@@ -0,0 +1,2 @@
1
+ import type UDExRatingIndicator from "./RatingIndicator.js";
2
+ export default function RatingIndicatorTemplate(this: UDExRatingIndicator): import("@ui5/webcomponents-base").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
3
+ export default function RatingIndicatorTemplate() {
4
+ const rootClass = "udex-rating-indicator";
5
+ const ui5Class = "ui5-rating-indicator";
6
+ return (_jsxs("div", { class: `${rootClass} ${rootClass}--${this.display.toLowerCase()} ${ui5Class}-root`, role: "slider", "aria-roledescription": this._ariaRoleDescription, "aria-valuemin": 0, "aria-valuenow": this.value, "aria-valuemax": this.max, "aria-valuetext": `${this.value} of ${this.max}`, "aria-orientation": "horizontal", "aria-disabled": this._ariaDisabled, "aria-readonly": this.ariaReadonly, "aria-description": this._ariaDescription, tabindex: this.effectiveTabIndex, onFocusIn: this._onfocusin, onFocusOut: this._onfocusout, onClick: this._onclick, onKeyDown: this._onkeydown, title: this.ratingTooltip, "aria-label": this._ariaLabel, children: [_jsx("ul", { class: `${rootClass}__list ${ui5Class}-list`, "aria-hidden": "true", children: this._stars.map(star => (_jsxs("li", { "data-ui5-value": star.index, class: {
7
+ "udex-rating-indicator__item ui5-rating-indicator-item": true,
8
+ "udex-rating-indicator__item-sel ui5-rating-indicator-item-sel": star.selected,
9
+ "udex-rating-indicator__item-unsel ui5-rating-indicator-item-unsel": !star.selected && !star.halfStar,
10
+ "udex-rating-indicator__item-half ui5-rating-indicator-item-half": star.halfStar && !star.selected,
11
+ }, children: [_jsx(UI5Icon, { "data-ui5-value": star.index, name: star.selected ? "favorite" : "unfavorite" }), star.halfStar && (_jsx("div", { class: `${rootClass}__half-icon-wrapper ${ui5Class}-half-icon-wrapper`, children: _jsx(UI5Icon, { "data-ui5-value": star.index, name: "favorite", class: `${rootClass}__half-icon ${ui5Class}-half-icon` }) }))] }))) }), this.hasTotalCount && (_jsxs("div", { class: `${rootClass}__total`, children: ["(", this.totalCount, ")"] }))] }));
12
+ }
13
+ //# sourceMappingURL=RatingIndicatorTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RatingIndicatorTemplate.js","sourceRoot":"","sources":["../src/RatingIndicatorTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AAEtD,MAAM,CAAC,OAAO,UAAU,uBAAuB;IAC7C,MAAM,SAAS,GAAG,uBAAuB,CAAC;IAC1C,MAAM,QAAQ,GAAG,sBAAsB,CAAC;IAExC,OAAO,CACL,eAAK,KAAK,EAAE,GAAG,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,QAAQ,OAAO,EACrF,IAAI,EAAC,QAAQ,0BACS,IAAI,CAAC,oBAAoB,mBAChC,CAAC,mBACD,IAAI,CAAC,KAAK,mBACV,IAAI,CAAC,GAAG,oBACP,GAAG,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,GAAG,EAAE,sBAC7B,YAAY,mBACd,IAAI,CAAC,aAAa,mBAClB,IAAI,CAAC,YAAY,sBACd,IAAI,CAAC,gBAAgB,EACvC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAChC,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,KAAK,EAAE,IAAI,CAAC,aAAa,gBACb,IAAI,CAAC,UAAU,aAC3B,aAAI,KAAK,EAAE,GAAG,SAAS,UAAU,QAAQ,OAAO,iBAClC,MAAM,YACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACvB,gCAAoB,IAAI,CAAC,KAAK,EAC5B,KAAK,EAAE;wBACL,uDAAuD,EAAE,IAAI;wBAC7D,+DAA+D,EAAE,IAAI,CAAC,QAAQ;wBAC9E,mEAAmE,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ;wBACrG,iEAAiE,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ;qBACnG,aACD,KAAC,OAAO,sBAAiB,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,GAAY,EAC/F,IAAI,CAAC,QAAQ,IAAI,CAChB,cAAK,KAAK,EAAE,GAAG,SAAS,uBAAuB,QAAQ,oBAAoB,YACzE,KAAC,OAAO,sBAAiB,IAAI,CAAC,KAAK,EAAE,IAAI,EAAC,UAAU,EAAC,KAAK,EAAE,GAAG,SAAS,eAAe,QAAQ,YAAY,GAAY,GACnH,CACP,IACE,CACN,CAAC,GACC,EACJ,IAAI,CAAC,aAAa,IAAI,CACrB,eAAK,KAAK,EAAE,GAAG,SAAS,SAAS,kBACzB,IAAI,CAAC,UAAU,SACjB,CACP,IACG,CACP,CAAC;AACJ,CAAC","sourcesContent":["import type UDExRatingIndicator from \"./RatingIndicator.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\n\nexport default function RatingIndicatorTemplate(this: UDExRatingIndicator) {\n const rootClass = \"udex-rating-indicator\";\n const ui5Class = \"ui5-rating-indicator\";\n\n return (\n <div class={`${rootClass} ${rootClass}--${this.display.toLowerCase()} ${ui5Class}-root`}\n role=\"slider\"\n aria-roledescription={this._ariaRoleDescription}\n aria-valuemin={0}\n aria-valuenow={this.value}\n aria-valuemax={this.max}\n aria-valuetext={`${this.value} of ${this.max}`}\n aria-orientation=\"horizontal\"\n aria-disabled={this._ariaDisabled}\n aria-readonly={this.ariaReadonly}\n aria-description={this._ariaDescription}\n tabindex={this.effectiveTabIndex}\n onFocusIn={this._onfocusin}\n onFocusOut={this._onfocusout}\n onClick={this._onclick}\n onKeyDown={this._onkeydown}\n title={this.ratingTooltip}\n aria-label={this._ariaLabel}>\n <ul class={`${rootClass}__list ${ui5Class}-list`}\n aria-hidden=\"true\">\n {this._stars.map(star => (\n <li data-ui5-value={star.index}\n class={{\n \"udex-rating-indicator__item ui5-rating-indicator-item\": true,\n \"udex-rating-indicator__item-sel ui5-rating-indicator-item-sel\": star.selected,\n \"udex-rating-indicator__item-unsel ui5-rating-indicator-item-unsel\": !star.selected && !star.halfStar,\n \"udex-rating-indicator__item-half ui5-rating-indicator-item-half\": star.halfStar && !star.selected,\n }}>\n <UI5Icon data-ui5-value={star.index} name={star.selected ? \"favorite\" : \"unfavorite\"}></UI5Icon>\n {star.halfStar && (\n <div class={`${rootClass}__half-icon-wrapper ${ui5Class}-half-icon-wrapper`}>\n <UI5Icon data-ui5-value={star.index} name=\"favorite\" class={`${rootClass}__half-icon ${ui5Class}-half-icon`}></UI5Icon>\n </div>\n )}\n </li>\n ))}\n </ul>\n {this.hasTotalCount && (\n <div class={`${rootClass}__total`}>\n &#40;{this.totalCount}&#41;\n </div>\n )}\n </div>\n );\n}\n"]}
package/dist/Switch.d.ts CHANGED
@@ -76,6 +76,7 @@ declare class UDExSwitch extends UI5Element {
76
76
  tooltip: string;
77
77
  onEnterDOM(): void;
78
78
  handleSwitchClick(): void;
79
+ handleKeyDown(e: KeyboardEvent): void;
79
80
  get switchTabIndex(): 0 | undefined;
80
81
  get isActiveTrackClass(): "udex-switch__track--active" | "udex-switch__track--inactive";
81
82
  get isSemanticColor(): boolean;
package/dist/Switch.js CHANGED
@@ -11,6 +11,7 @@ import "@ui5/webcomponents/dist/Switch.js";
11
11
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
12
12
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
13
13
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
14
+ import { isEnter, isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
14
15
  import SwitchTemplate from "./SwitchTemplate.js";
15
16
  import Icon from "@ui5/webcomponents/dist/Icon.js";
16
17
  // Styles
@@ -81,6 +82,12 @@ let UDExSwitch = class UDExSwitch extends UI5Element {
81
82
  this.fireDecoratorEvent("change");
82
83
  }
83
84
  }
85
+ handleKeyDown(e) {
86
+ if (!this.disabled && (isEnter(e) || isSpace(e))) {
87
+ e.preventDefault();
88
+ this.handleSwitchClick();
89
+ }
90
+ }
84
91
  get switchTabIndex() {
85
92
  return this.disabled ? undefined : 0;
86
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","sourceRoot":"","sources":["../src/Switch.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport \"@ui5/webcomponents/dist/Switch.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport SwitchTemplate from \"./SwitchTemplate.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\n\n// Styles\nimport SwitchCss from \"./generated/themes/Switch.css.js\";\n\nexport enum UDExSwitchColor {\n NonSemantic = \"Non-Semantic\",\n Semantic = \"Semantic\",\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-switch</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Switch.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-switch\n * @public\n */\n@customElement({\n tag: \"udex-switch\",\n renderer: jsxRenderer,\n styles: SwitchCss,\n template: SwitchTemplate,\n dependencies: [Icon],\n})\n\n/**\n * Fired when the component checked state changes.\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"change\", { cancelable: true, bubbles: true })\nclass UDExSwitch extends UI5Element {\n eventDetails!: {\n \"change\": void\n };\n /**\n * Defines the label near switch.\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n label?: string;\n\n /**\n * Defines the color of the component.\n *\n * @default \"Non-Semantic\"\n * @public\n */\n @property()\n color: `${UDExSwitchColor}` = UDExSwitchColor.NonSemantic;\n\n /**\n * Sets the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleName: string = \"\";\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default undefined\n * @public\n */\n @property()\n accessibleNameRef?: string;\n\n /**\n * Defines if the component is checked.\n *\n * @public\n */\n @property({ type: Boolean })\n checked: boolean = false;\n\n /**\n * Defines whether the component is disabled.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines the tooltip of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n tooltip: string = \"\";\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n handleSwitchClick(): void {\n if (!this.disabled) {\n this.checked = !this.checked;\n this.fireDecoratorEvent(\"change\");\n }\n }\n\n get switchTabIndex(): 0 | undefined {\n return this.disabled ? undefined : 0;\n }\n\n get isActiveTrackClass():\n | \"udex-switch__track--active\"\n | \"udex-switch__track--inactive\" {\n return this.checked ? \"udex-switch__track--active\" : \"udex-switch__track--inactive\";\n }\n\n get isSemanticColor(): boolean {\n return this.color === UDExSwitchColor.Semantic;\n }\n\n get ariaLabeledBy(): string {\n return this.accessibleNameRef || this.label ? `${this._id}-switch__label` : \"\";\n }\n}\n\nUDExSwitch.define();\n\nexport default UDExSwitch;\n"]}
1
+ {"version":3,"file":"Switch.js","sourceRoot":"","sources":["../src/Switch.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport \"@ui5/webcomponents/dist/Switch.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport SwitchTemplate from \"./SwitchTemplate.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\n\n// Styles\nimport SwitchCss from \"./generated/themes/Switch.css.js\";\n\nexport enum UDExSwitchColor {\n NonSemantic = \"Non-Semantic\",\n Semantic = \"Semantic\",\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-switch</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Switch.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-switch\n * @public\n */\n@customElement({\n tag: \"udex-switch\",\n renderer: jsxRenderer,\n styles: SwitchCss,\n template: SwitchTemplate,\n dependencies: [Icon],\n})\n\n/**\n * Fired when the component checked state changes.\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"change\", { cancelable: true, bubbles: true })\nclass UDExSwitch extends UI5Element {\n eventDetails!: {\n \"change\": void\n };\n /**\n * Defines the label near switch.\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n label?: string;\n\n /**\n * Defines the color of the component.\n *\n * @default \"Non-Semantic\"\n * @public\n */\n @property()\n color: `${UDExSwitchColor}` = UDExSwitchColor.NonSemantic;\n\n /**\n * Sets the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleName: string = \"\";\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default undefined\n * @public\n */\n @property()\n accessibleNameRef?: string;\n\n /**\n * Defines if the component is checked.\n *\n * @public\n */\n @property({ type: Boolean })\n checked: boolean = false;\n\n /**\n * Defines whether the component is disabled.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines the tooltip of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n tooltip: string = \"\";\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n handleSwitchClick(): void {\n if (!this.disabled) {\n this.checked = !this.checked;\n this.fireDecoratorEvent(\"change\");\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n if (!this.disabled && (isEnter(e) || isSpace(e))) {\n e.preventDefault();\n this.handleSwitchClick();\n }\n }\n\n get switchTabIndex(): 0 | undefined {\n return this.disabled ? undefined : 0;\n }\n\n get isActiveTrackClass():\n | \"udex-switch__track--active\"\n | \"udex-switch__track--inactive\" {\n return this.checked ? \"udex-switch__track--active\" : \"udex-switch__track--inactive\";\n }\n\n get isSemanticColor(): boolean {\n return this.color === UDExSwitchColor.Semantic;\n }\n\n get ariaLabeledBy(): string {\n return this.accessibleNameRef || this.label ? `${this._id}-switch__label` : \"\";\n }\n}\n\nUDExSwitch.define();\n\nexport default UDExSwitch;\n"]}
@@ -7,6 +7,6 @@ import lessIcon from "@ui5/webcomponents-icons/dist/less.js";
7
7
  export default function SwitchTemplate() {
8
8
  const rootClass = "udex-switch";
9
9
  const switchId = `${this._id}-switch`;
10
- return (_jsxs("div", { class: `${rootClass}`, children: [this.label && (_jsx("label", { id: `${switchId}__label`, for: `${switchId}__input`, class: `${rootClass}__label`, part: "label", children: this.label })), _jsxs("div", { class: `${rootClass}__container`, role: "switch", "aria-label": this.accessibleName, "aria-labelledby": this.ariaLabeledBy, "aria-checked": this.checked, "aria-disabled": this.disabled, tabindex: this.switchTabIndex, title: this.tooltip, onClick: this.handleSwitchClick, children: [_jsx("div", { class: `${rootClass}__track ${this.isActiveTrackClass}`, children: _jsx("div", { class: `${rootClass}__handle`, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, name: this.checked ? acceptIcon : this.isSemanticColor ? declineIcon : lessIcon, mode: IconMode.Decorative }) }) }), _jsx("input", { id: `${switchId}__input`, class: `${rootClass}__input`, type: "checkbox", checked: this.checked })] })] }));
10
+ return (_jsxs("div", { class: `${rootClass}`, children: [this.label && (_jsx("label", { id: `${switchId}__label`, for: `${switchId}__input`, class: `${rootClass}__label`, part: "label", children: this.label })), _jsxs("div", { class: `${rootClass}__container`, role: "switch", "aria-label": this.accessibleName, "aria-labelledby": this.ariaLabeledBy, "aria-checked": this.checked, "aria-disabled": this.disabled, tabindex: this.switchTabIndex, title: this.tooltip, onClick: this.handleSwitchClick, onKeyDown: this.handleKeyDown, children: [_jsx("div", { class: `${rootClass}__track ${this.isActiveTrackClass}`, children: _jsx("div", { class: `${rootClass}__handle`, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, name: this.checked ? acceptIcon : this.isSemanticColor ? declineIcon : lessIcon, mode: IconMode.Decorative }) }) }), _jsx("input", { id: `${switchId}__input`, class: `${rootClass}__input`, type: "checkbox", checked: this.checked })] })] }));
11
11
  }
12
12
  //# sourceMappingURL=SwitchTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SwitchTemplate.js","sourceRoot":"","sources":["../src/SwitchTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,QAAQ,MAAM,2CAA2C,CAAC;AACjE,OAAO,UAAU,MAAM,yCAAyC,CAAC;AACjE,OAAO,WAAW,MAAM,0CAA0C,CAAC;AACnE,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAE7D,MAAM,CAAC,OAAO,UAAU,cAAc;IACpC,MAAM,SAAS,GAAG,aAAa,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAEtC,OAAO,CACL,eAAK,KAAK,EAAE,GAAG,SAAS,EAAE,aACvB,IAAI,CAAC,KAAK,IAAI,CACb,gBACE,EAAE,EAAE,GAAG,QAAQ,SAAS,EACxB,GAAG,EAAE,GAAG,QAAQ,SAAS,EACzB,KAAK,EAAE,GAAG,SAAS,SAAS,EAC5B,IAAI,EAAC,OAAO,YACX,IAAI,CAAC,KAAK,GACL,CACT,EACD,eACE,KAAK,EAAE,GAAG,SAAS,aAAa,EAChC,IAAI,EAAC,QAAQ,gBACD,IAAI,CAAC,cAAc,qBACd,IAAI,CAAC,aAAa,kBACrB,IAAI,CAAC,OAAO,mBACX,IAAI,CAAC,QAAQ,EAC5B,QAAQ,EAAE,IAAI,CAAC,cAAc,EAC7B,KAAK,EAAE,IAAI,CAAC,OAAO,EACnB,OAAO,EAAE,IAAI,CAAC,iBAAiB,aAC/B,cAAK,KAAK,EAAE,GAAG,SAAS,WAAW,IAAI,CAAC,kBAAkB,EAAE,YAC1D,cAAK,KAAK,EAAE,GAAG,SAAS,UAAU,YAChC,KAAC,OAAO,IACN,KAAK,EAAE,GAAG,SAAS,QAAQ,EAC3B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAC/E,IAAI,EAAE,QAAQ,CAAC,UAAU,GACjB,GACN,GACF,EACN,gBACE,EAAE,EAAE,GAAG,QAAQ,SAAS,EACxB,KAAK,EAAE,GAAG,SAAS,SAAS,EAC5B,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,IACtB,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import type Switch from \"./Switch.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport acceptIcon from \"@ui5/webcomponents-icons/dist/accept.js\";\nimport declineIcon from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport lessIcon from \"@ui5/webcomponents-icons/dist/less.js\";\n\nexport default function SwitchTemplate(this: Switch) {\n const rootClass = \"udex-switch\";\n const switchId = `${this._id}-switch`;\n\n return (\n <div class={`${rootClass}`}>\n {this.label && (\n <label\n id={`${switchId}__label`}\n for={`${switchId}__input`}\n class={`${rootClass}__label`}\n part=\"label\">\n {this.label}\n </label>\n )}\n <div\n class={`${rootClass}__container`}\n role=\"switch\"\n aria-label={this.accessibleName}\n aria-labelledby={this.ariaLabeledBy}\n aria-checked={this.checked}\n aria-disabled={this.disabled}\n tabindex={this.switchTabIndex}\n title={this.tooltip}\n onClick={this.handleSwitchClick}>\n <div class={`${rootClass}__track ${this.isActiveTrackClass}`}>\n <div class={`${rootClass}__handle`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={this.checked ? acceptIcon : this.isSemanticColor ? declineIcon : lessIcon}\n mode={IconMode.Decorative}>\n </UI5Icon>\n </div>\n </div>\n <input\n id={`${switchId}__input`}\n class={`${rootClass}__input`}\n type=\"checkbox\"\n checked={this.checked}/>\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SwitchTemplate.js","sourceRoot":"","sources":["../src/SwitchTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,QAAQ,MAAM,2CAA2C,CAAC;AACjE,OAAO,UAAU,MAAM,yCAAyC,CAAC;AACjE,OAAO,WAAW,MAAM,0CAA0C,CAAC;AACnE,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAE7D,MAAM,CAAC,OAAO,UAAU,cAAc;IACpC,MAAM,SAAS,GAAG,aAAa,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAEtC,OAAO,CACL,eAAK,KAAK,EAAE,GAAG,SAAS,EAAE,aACvB,IAAI,CAAC,KAAK,IAAI,CACb,gBACE,EAAE,EAAE,GAAG,QAAQ,SAAS,EACxB,GAAG,EAAE,GAAG,QAAQ,SAAS,EACzB,KAAK,EAAE,GAAG,SAAS,SAAS,EAC5B,IAAI,EAAC,OAAO,YACX,IAAI,CAAC,KAAK,GACL,CACT,EACD,eACE,KAAK,EAAE,GAAG,SAAS,aAAa,EAChC,IAAI,EAAC,QAAQ,gBACD,IAAI,CAAC,cAAc,qBACd,IAAI,CAAC,aAAa,kBACrB,IAAI,CAAC,OAAO,mBACX,IAAI,CAAC,QAAQ,EAC5B,QAAQ,EAAE,IAAI,CAAC,cAAc,EAC7B,KAAK,EAAE,IAAI,CAAC,OAAO,EACnB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,SAAS,EAAE,IAAI,CAAC,aAAa,aAC7B,cAAK,KAAK,EAAE,GAAG,SAAS,WAAW,IAAI,CAAC,kBAAkB,EAAE,YAC1D,cAAK,KAAK,EAAE,GAAG,SAAS,UAAU,YAChC,KAAC,OAAO,IACN,KAAK,EAAE,GAAG,SAAS,QAAQ,EAC3B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAC/E,IAAI,EAAE,QAAQ,CAAC,UAAU,GACjB,GACN,GACF,EACN,gBACE,EAAE,EAAE,GAAG,QAAQ,SAAS,EACxB,KAAK,EAAE,GAAG,SAAS,SAAS,EAC5B,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,IACtB,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import type Switch from \"./Switch.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport acceptIcon from \"@ui5/webcomponents-icons/dist/accept.js\";\nimport declineIcon from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport lessIcon from \"@ui5/webcomponents-icons/dist/less.js\";\n\nexport default function SwitchTemplate(this: Switch) {\n const rootClass = \"udex-switch\";\n const switchId = `${this._id}-switch`;\n\n return (\n <div class={`${rootClass}`}>\n {this.label && (\n <label\n id={`${switchId}__label`}\n for={`${switchId}__input`}\n class={`${rootClass}__label`}\n part=\"label\">\n {this.label}\n </label>\n )}\n <div\n class={`${rootClass}__container`}\n role=\"switch\"\n aria-label={this.accessibleName}\n aria-labelledby={this.ariaLabeledBy}\n aria-checked={this.checked}\n aria-disabled={this.disabled}\n tabindex={this.switchTabIndex}\n title={this.tooltip}\n onClick={this.handleSwitchClick}\n onKeyDown={this.handleKeyDown}>\n <div class={`${rootClass}__track ${this.isActiveTrackClass}`}>\n <div class={`${rootClass}__handle`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={this.checked ? acceptIcon : this.isSemanticColor ? declineIcon : lessIcon}\n mode={IconMode.Decorative}>\n </UI5Icon>\n </div>\n </div>\n <input\n id={`${switchId}__input`}\n class={`${rootClass}__input`}\n type=\"checkbox\"\n checked={this.checked}/>\n </div>\n </div>\n );\n}\n"]}
@@ -0,0 +1 @@
1
+ class n{constructor(o){this._onComposition=()=>{this._component.updateCompositionState(!0)},this._onCompositionEnd=()=>{this._component.updateCompositionState(!1)},this._component=o}addEventListeners(){const o=this._component.getInputEl();o&&(o.addEventListener("compositionstart",this._onComposition),o.addEventListener("compositionupdate",this._onComposition),o.addEventListener("compositionend",this._onCompositionEnd))}removeEventListeners(){const o=this._component.getInputEl();o&&(o.removeEventListener("compositionstart",this._onComposition),o.removeEventListener("compositionupdate",this._onComposition),o.removeEventListener("compositionend",this._onCompositionEnd))}}export{n as default};
@@ -0,0 +1,2 @@
1
+ import{r as w,j as l,a,p as x,d as P,b as R,s as p,m as v,u as S,v as y,w as O,x as L,D,c as A,z as G,I as b,A as I,F as H,B as f,R as E,C as V,G as $,H as B,J as N}from"./bundle.esm-D4RSd7yl.js";const F=n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");function _(n,e,t,s){return n.replaceAll(new RegExp(F(e),`${s?"i":""}g`),t)}function M(n,e){if(!n||!e)return n;const t=r=>{const[c,d]=r.split("");for(;n.indexOf(r)>=0||e.indexOf(r)>=0;)r=`${c}${r}${d}`;return r},s=t("12"),i=t("34");let o=w(_(n,e,r=>`${s}${r}${i}`,!0));return[[s,"<b>"],[i,"</b>"]].forEach(([r,c])=>{o=_(o,r,c,!1)}),o}function z(n,e){const t=(n==null?void 0:n.listItemContent)||q;return l("li",{part:"native-li","data-sap-focus-ref":!0,tabindex:this._effectiveTabIndex,class:this.classes.main,draggable:this.movable,role:e==null?void 0:e.role,title:e==null?void 0:e.title,onFocusIn:this._onfocusin,onKeyUp:this._onkeyup,onKeyDown:this._onkeydown,onClick:this._onclick,children:t.call(this)})}function q(){return l("div",{part:"content",id:`${this._id}-content`,class:"ui5-li-content",children:l("div",{class:"ui5-li-text-wrapper",children:l("span",{part:"title",class:"ui5-li-title",children:l("slot",{})})})})}function U(){return[z.call(this,{listItemContent:K},{role:"option"})]}function K(){return l("div",{part:"content",id:"content",class:"ui5-li-content",children:a("div",{class:"ui5-li-text-wrapper",children:[l("span",{part:"title",className:"ui5-li-title",dangerouslySetInnerHTML:{__html:this.markupText}}),this.additionalText&&l("span",{part:"additional-text",class:"ui5-li-additional-text",children:this.additionalText})]})})}x("@ui5/webcomponents-theming","sap_horizon",async()=>P);x("@ui5/webcomponents","sap_horizon",async()=>R);const W=`:host([ui5-suggestion-item]){height:auto;min-height:var(--_ui5-v2-17-0-rc-5_list_item_base_height)}:host([ui5-suggestion-item]) .ui5-li-root{min-height:var(--_ui5-v2-17-0-rc-5_list_item_base_height)}:host([ui5-suggestion-item]) .ui5-li-content{padding-bottom:.5rem;padding-top:.5rem;box-sizing:border-box}
2
+ `;var g=function(n,e,t,s){var i=arguments.length,o=i<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,t):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,s);else for(var c=n.length-1;c>=0;c--)(r=n[c])&&(o=(i<3?r(o):i>3?r(e,t,o):r(e,t))||o);return i>3&&o&&Object.defineProperty(e,t,o),o};let h=class extends S{constructor(){super(...arguments),this.markupText=""}onEnterDOM(){y()&&this.setAttribute("desktop","")}get _effectiveTabIndex(){return-1}};g([p()],h.prototype,"text",void 0);g([p()],h.prototype,"additionalText",void 0);g([p()],h.prototype,"markupText",void 0);h=g([v({tag:"ui5-suggestion-item",template:U,styles:[S.styles,W]})],h);h.define();function J(n){const e=(n==null?void 0:n.items)||X;return a("ul",{role:"group",class:"ui5-group-li-root",onDragEnter:this._ondragenter,onDragOver:this._ondragover,onDrop:this._ondrop,onDragLeave:this._ondragleave,children:[this.hasHeader&&l(L,{focused:this.focused,part:"header",accessibleRole:O.Group,children:this.hasFormattedHeader?l("slot",{name:"header"}):this.headerText}),e.call(this),l(D,{orientation:"Horizontal",ownerReference:this})]})}function X(){return l("slot",{})}var T=function(n,e,t,s){var i=arguments.length,o=i<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,t):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,s);else for(var c=n.length-1;c>=0;c--)(r=n[c])&&(o=(i<3?r(o):i>3?r(e,t,o):r(e,t))||o);return i>3&&o&&Object.defineProperty(e,t,o),o};let m=class extends G{};T([A({default:!0,invalidateOnChildChange:!0,type:HTMLElement})],m.prototype,"items",void 0);m=T([v({tag:"ui5-suggestion-item-group",template:J})],m);m.define();function j(n){const e=(n==null?void 0:n.suggestionsList)||Q,t=n==null?void 0:n.mobileHeader,s=n==null?void 0:n.valueStateMessage,i=n==null?void 0:n.valueStateMessageInputIcon;return a(E,{class:this.classes.popover,hideArrow:!0,preventFocusRestore:!0,preventInitialFocus:!0,placement:"Bottom",horizontalAlign:"Start",tabindex:-1,style:this.styles.suggestionsPopover,onOpen:this._afterOpenPicker,onClose:this._afterClosePicker,onScroll:this._scroll,open:this.open,opener:this,accessibleName:this._popupLabel,children:[this._isPhone&&l(H,{children:a("div",{slot:"header",class:"ui5-responsive-popover-header",children:[l("div",{class:"row",children:l("span",{children:this._headerTitleText})}),l("div",{class:"row",children:a("div",{class:"input-root-phone native-input-wrapper",children:[l(b,{class:"ui5-input-inner-phone",type:this.inputType,value:this.value,showClearIcon:this.showClearIcon,placeholder:this.placeholder,onInput:this._handleInput}),t==null?void 0:t.call(this)]})}),this.hasValueStateMessage&&a("div",{class:this.classes.popoverValueState,style:this.styles.suggestionPopoverHeader,children:[l(I,{class:"ui5-input-value-state-message-icon",name:i==null?void 0:i.call(this)}),this.open&&(s==null?void 0:s.call(this))]})]})}),!this._isPhone&&this.hasValueStateMessage&&a("div",{slot:"header",class:{"ui5-responsive-popover-header":!0,...this.classes.popoverValueState},style:this.styles.suggestionPopoverHeader,children:[l(I,{class:"ui5-input-value-state-message-icon",name:i==null?void 0:i.call(this)}),this.open&&(s==null?void 0:s.call(this))]}),this.showSuggestions&&e.call(this),this._isPhone&&a("div",{slot:"footer",class:"ui5-responsive-popover-footer",children:[l(f,{design:"Emphasized",onClick:this._confirmMobileValue,children:this._suggestionsOkButtonText}),l(f,{class:"ui5-responsive-popover-close-btn",design:"Transparent",onClick:this._cancelMobileValue,children:this._suggestionsCancelButtonText})]})]})}function Q(){return l($,{accessibleRole:V.ListBox,separators:this.suggestionSeparators,selectionMode:"Single",onMouseDown:this.onItemMouseDown,onItemClick:this._handleSuggestionItemPress,onSelectionChange:this._handleSelectionChange,children:l("slot",{})})}class u{get template(){return j}constructor(e,t,s,i){this.component=e,this.slotName=t,this.handleFocus=i,this.highlight=s,this.selectedItemIndex=-1}onUp(e,t){e.preventDefault();const s=!this.isOpened&&this._hasValueState&&t===-1?0:t;return this._handleItemNavigation(!1,s),!0}onDown(e,t){e.preventDefault();const s=!this.isOpened&&this._hasValueState&&t===-1?0:t;return this._handleItemNavigation(!0,s),!0}onSpace(e){return this._isItemOnTarget()?(e.preventDefault(),this.onItemSelected(this._selectedItem,!0),!0):!1}onEnter(e){return this._isGroupItem?(e.preventDefault(),!1):this._isItemOnTarget()?(this.onItemSelected(this._selectedItem,!0),!0):!1}onPageUp(e){e.preventDefault();const t=this.selectedItemIndex-10>-1;return this._moveItemSelection(this.selectedItemIndex,t?this.selectedItemIndex-=10:this.selectedItemIndex=0),!0}onPageDown(e){e.preventDefault();const t=this._getItems();if(!t)return!0;const s=t.length-1,i=this.selectedItemIndex+10<=s;return this._moveItemSelection(this.selectedItemIndex,i?this.selectedItemIndex+=10:this.selectedItemIndex=s),!0}onHome(e){return e.preventDefault(),this._moveItemSelection(this.selectedItemIndex,this.selectedItemIndex=0),!0}onEnd(e){e.preventDefault();const t=this._getItems().length-1;return t&&this._moveItemSelection(this.selectedItemIndex,this.selectedItemIndex=t),!0}onTab(){return this._isItemOnTarget()?(this.onItemSelected(this._selectedItem,!0),!0):!1}toggle(e,t){(e!==void 0?e:!this.isOpened())?this._getComponent().open=!0:this.close(t.preventFocusRestore)}get _selectedItem(){return this._getNonGroupItems().find(e=>e.selected)}_isScrollable(){const e=this._getScrollContainer();return e.offsetHeight<e.scrollHeight}close(e=!1){const t=this._getItems()&&this._getItems()[this.selectedItemIndex];this._getComponent().open=!1;const s=this._getPicker();s.preventFocusRestore=e,s.open=!1,t&&t.focused&&(t.focused=!1)}updateSelectedItemPosition(e){this.selectedItemIndex=e}onItemSelected(e,t){const s=e,i=this._getNonGroupItems();s&&(this.accInfo={isGroup:s.hasAttribute("ui5-suggestion-item-group"),currentPos:i.indexOf(s)+1,listSize:i.length,itemText:s.text||"",additionalText:s.additionalText},this._getComponent().onItemSelected(s,t),this._getComponent().open=!1)}onItemSelect(e){this._getComponent().onItemSelect(e)}onItemPress(e){let t;const s=e.type==="ui5-item-click";s&&!e.detail.item.selected||this._handledPress&&!s||(s&&e.detail.item.selected?(t=e.detail.item,this._handledPress=!0):t=e.detail.selectedItems[0],this.onItemSelected(t,!1))}_onClose(){this._handledPress=!1}_isItemOnTarget(){return this.isOpened()&&this.selectedItemIndex!==null&&this.selectedItemIndex!==-1&&!this._isGroupItem}get _isGroupItem(){const e=this._getItems();return!e||!e[this.selectedItemIndex]?!1:e[this.selectedItemIndex].hasAttribute("ui5-suggestion-item-group")}isOpened(){var e;return!!((e=this._getPicker())!=null&&e.open)}_handleItemNavigation(e,t){this.selectedItemIndex=t,this._getItems().length&&(e?this._selectNextItem():this._selectPreviousItem())}_selectNextItem(){const e=this._getItems().length,t=this.selectedItemIndex;t!==-1&&t+1>e-1||this._moveItemSelection(t,++this.selectedItemIndex)}_selectPreviousItem(){const e=this._getItems(),t=this.selectedItemIndex;if(!(t===-1||t===null)){if(t-1<0){(e[t].hasAttribute("ui5-suggestion-item")||e[t].hasAttribute("ui5-suggestion-item-custom"))&&(e[t].selected=!1),e[t].focused=!1,this.component.focused=!0,this.component.hasSuggestionItemSelected=!1,this.selectedItemIndex-=1;return}this._moveItemSelection(t,--this.selectedItemIndex)}}_moveItemSelection(e,t){const s=this._getItems(),i=s[t],o=s[e],r=this._getNonGroupItems(),c=i.hasAttribute("ui5-suggestion-item-group");if(!i)return;this.component.focused=!1;const d=this._getItems()[this.selectedItemIndex];if(this.accInfo={isGroup:c,currentPos:s.indexOf(i)+1,itemText:(c?d.headerText:d.text)||""},(i.hasAttribute("ui5-suggestion-item")||i.hasAttribute("ui5-suggestion-item-custom"))&&(this.accInfo.additionalText=i.additionalText||"",this.accInfo.currentPos=r.indexOf(i)+1,this.accInfo.listSize=r.length),o&&(o.focused=!1),(o!=null&&o.hasAttribute("ui5-suggestion-item")||o!=null&&o.hasAttribute("ui5-suggestion-item-custom"))&&(o.selected=!1),i&&(i.focused=!0,c||(i.selected=!0),this.handleFocus&&i.focus()),this.component.hasSuggestionItemSelected=!0,this.onItemSelect(i),!this._isItemIntoView(i)){const C=this._isGroupItem?i.shadowRoot.querySelector("[ui5-li-group-header]"):i;this._scrollItemIntoView(C)}}_deselectItems(){this._getItems().forEach(t=>{t.hasAttribute("ui5-suggestion-item")&&(t.selected=!1),t.focused=!1})}_clearItemFocus(){const e=this._getItems().find(t=>t.focused);e&&(e.focused=!1)}_isItemIntoView(e){const t=e.getDomRef().getBoundingClientRect(),s=this._getComponent().getDomRef().getBoundingClientRect(),i=window.innerHeight||document.documentElement.clientHeight;let o=0;return this._hasValueState&&(o=this._getPicker().querySelector("[slot=header]").getBoundingClientRect().height),t.top+u.SCROLL_STEP<=i&&t.top>=s.top+o}_scrollItemIntoView(e){e.scrollIntoView({behavior:"auto",block:"nearest",inline:"nearest"})}_getScrollContainer(){return this._scrollContainer||(this._scrollContainer=this._getPicker().shadowRoot.querySelector(".ui5-popup-content")),this._scrollContainer}_getItems(){return this._getComponent().getSlottedNodes("suggestionItems").flatMap(t=>t.hasAttribute("ui5-suggestion-item-group")?[t,...t.items]:[t])}_getNonGroupItems(){return this._getItems().filter(e=>!e.hasAttribute("ui5-suggestion-item-group"))}_getComponent(){return this.component}_getList(){return this._getPicker().querySelector("[ui5-list]")}_getListWidth(){var e;return(e=this._getList())==null?void 0:e.offsetWidth}_getPicker(){return this._getComponent().shadowRoot.querySelector("[ui5-responsive-popover]")}get itemSelectionAnnounce(){if(!this.accInfo)return"";if(this.accInfo.isGroup)return`${u.i18nBundle.getText(B)} ${this.accInfo.itemText}`;const e=u.i18nBundle.getText(N,this.accInfo.currentPos||0,this.accInfo.listSize||0);return`${this.accInfo.additionalText} ${e}`}hightlightInput(e,t){return M(e,t)}get _hasValueState(){return this.component.hasValueStateMessage}_clearSelectedSuggestionAndaccInfo(){this.accInfo=void 0,this.selectedItemIndex=0}}u.SCROLL_STEP=60;b.SuggestionsClass=u;export{u as default};