@sapudex/web-components 0.127.6 → 0.143.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 (434) hide show
  1. package/bundle.esm.js +2 -0
  2. package/dist/Accordion.d.ts +1 -1
  3. package/dist/Accordion.js +2 -2
  4. package/dist/Accordion.js.map +1 -1
  5. package/dist/AccordionItem.d.ts +1 -1
  6. package/dist/AccordionItem.js +2 -2
  7. package/dist/AccordionItem.js.map +1 -1
  8. package/dist/Avatar.js +1 -1
  9. package/dist/Avatar.js.map +1 -1
  10. package/dist/Breadcrumbs.js +1 -1
  11. package/dist/Breadcrumbs.js.map +1 -1
  12. package/dist/Carousel.js +1 -1
  13. package/dist/Carousel.js.map +1 -1
  14. package/dist/Checkbox.d.ts +1 -1
  15. package/dist/Checkbox.js +1 -1
  16. package/dist/Checkbox.js.map +1 -1
  17. package/dist/CountrySelector.d.ts +24 -6
  18. package/dist/CountrySelector.js +32 -10
  19. package/dist/CountrySelector.js.map +1 -1
  20. package/dist/DatePicker.d.ts +1 -0
  21. package/dist/DatePicker.js +5 -2
  22. package/dist/DatePicker.js.map +1 -1
  23. package/dist/Dropdown.d.ts +2 -1
  24. package/dist/Dropdown.js +16 -4
  25. package/dist/Dropdown.js.map +1 -1
  26. package/dist/FilterMenu.d.ts +21 -6
  27. package/dist/FilterMenu.js +66 -21
  28. package/dist/FilterMenu.js.map +1 -1
  29. package/dist/Footer.d.ts +9 -1
  30. package/dist/Footer.js +9 -2
  31. package/dist/Footer.js.map +1 -1
  32. package/dist/InputGroup.js +1 -1
  33. package/dist/InputGroup.js.map +1 -1
  34. package/dist/Link.d.ts +1 -1
  35. package/dist/Link.js +1 -1
  36. package/dist/Link.js.map +1 -1
  37. package/dist/List.d.ts +1 -1
  38. package/dist/List.js +18 -2
  39. package/dist/List.js.map +1 -1
  40. package/dist/ListGroupHeader.d.ts +2 -2
  41. package/dist/ListGroupHeader.js +2 -2
  42. package/dist/ListGroupHeader.js.map +1 -1
  43. package/dist/ListItem.d.ts +3 -3
  44. package/dist/ListItem.js +7 -8
  45. package/dist/ListItem.js.map +1 -1
  46. package/dist/ListItemBase.d.ts +2 -2
  47. package/dist/ListItemBase.js.map +1 -1
  48. package/dist/ListSelectAll.d.ts +1 -1
  49. package/dist/ListSelectAll.js +2 -2
  50. package/dist/ListSelectAll.js.map +1 -1
  51. package/dist/MastheadItem.d.ts +9 -1
  52. package/dist/MastheadItem.js +28 -16
  53. package/dist/MastheadItem.js.map +1 -1
  54. package/dist/MastheadMenu.d.ts +5 -0
  55. package/dist/MastheadMenu.js +24 -0
  56. package/dist/MastheadMenu.js.map +1 -1
  57. package/dist/MastheadMenuItem.d.ts +2 -3
  58. package/dist/MastheadMenuItem.js +2 -17
  59. package/dist/MastheadMenuItem.js.map +1 -1
  60. package/dist/MastheadMobileMenu.d.ts +25 -5
  61. package/dist/MastheadMobileMenu.js +136 -22
  62. package/dist/MastheadMobileMenu.js.map +1 -1
  63. package/dist/MastheadProfileMenu.d.ts +13 -4
  64. package/dist/MastheadProfileMenu.js +41 -10
  65. package/dist/MastheadProfileMenu.js.map +1 -1
  66. package/dist/MastheadShell.d.ts +24 -5
  67. package/dist/MastheadShell.js +77 -29
  68. package/dist/MastheadShell.js.map +1 -1
  69. package/dist/MediaPlayer.d.ts +3 -3
  70. package/dist/MediaPlayer.js +115 -25
  71. package/dist/MediaPlayer.js.map +1 -1
  72. package/dist/MessageStrip.js +1 -1
  73. package/dist/MessageStrip.js.map +1 -1
  74. package/dist/Pagination.js +1 -1
  75. package/dist/Pagination.js.map +1 -1
  76. package/dist/PasswordField.js +1 -1
  77. package/dist/PasswordField.js.map +1 -1
  78. package/dist/PhoneNumberField.d.ts +26 -0
  79. package/dist/PhoneNumberField.js +47 -3
  80. package/dist/PhoneNumberField.js.map +1 -1
  81. package/dist/RatingBar.js +1 -1
  82. package/dist/RatingBar.js.map +1 -1
  83. package/dist/Review.js +1 -1
  84. package/dist/Review.js.map +1 -1
  85. package/dist/ReviewItem.d.ts +105 -0
  86. package/dist/ReviewItem.js +157 -0
  87. package/dist/ReviewItem.js.map +1 -0
  88. package/dist/Search.d.ts +15 -1
  89. package/dist/Search.js +31 -6
  90. package/dist/Search.js.map +1 -1
  91. package/dist/SearchableListBase.d.ts +5 -0
  92. package/dist/SearchableListBase.js +11 -4
  93. package/dist/SearchableListBase.js.map +1 -1
  94. package/dist/SecondaryNavigation.d.ts +2 -0
  95. package/dist/SecondaryNavigation.js +19 -12
  96. package/dist/SecondaryNavigation.js.map +1 -1
  97. package/dist/SecondaryNavigationItem.d.ts +8 -0
  98. package/dist/SecondaryNavigationItem.js +20 -1
  99. package/dist/SecondaryNavigationItem.js.map +1 -1
  100. package/dist/SecondaryNavigationItemBase.js +1 -1
  101. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  102. package/dist/SecondaryNavigationSubItem.js +1 -1
  103. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  104. package/dist/SelectBox.d.ts +33 -9
  105. package/dist/SelectBox.js +119 -60
  106. package/dist/SelectBox.js.map +1 -1
  107. package/dist/StatusBadge.js +1 -1
  108. package/dist/StatusBadge.js.map +1 -1
  109. package/dist/StepInput.js +1 -1
  110. package/dist/StepInput.js.map +1 -1
  111. package/dist/Switch.d.ts +19 -0
  112. package/dist/Switch.js +19 -0
  113. package/dist/Switch.js.map +1 -1
  114. package/dist/Tab.d.ts +1 -1
  115. package/dist/Tab.js +2 -2
  116. package/dist/Tab.js.map +1 -1
  117. package/dist/TabNavigation.d.ts +1 -1
  118. package/dist/TabNavigation.js +2 -2
  119. package/dist/TabNavigation.js.map +1 -1
  120. package/dist/Table.js +1 -1
  121. package/dist/Table.js.map +1 -1
  122. package/dist/Tag.d.ts +9 -1
  123. package/dist/Tag.js +20 -3
  124. package/dist/Tag.js.map +1 -1
  125. package/dist/TagGroup.d.ts +94 -0
  126. package/dist/TagGroup.js +174 -0
  127. package/dist/TagGroup.js.map +1 -0
  128. package/dist/TextArea.d.ts +13 -0
  129. package/dist/TextArea.js +16 -1
  130. package/dist/TextArea.js.map +1 -1
  131. package/dist/TextField.d.ts +23 -13
  132. package/dist/TextField.js +17 -4
  133. package/dist/TextField.js.map +1 -1
  134. package/dist/Tooltip.d.ts +1 -1
  135. package/dist/Tooltip.js +1 -1
  136. package/dist/Tooltip.js.map +1 -1
  137. package/dist/TruncatedText.js +1 -1
  138. package/dist/TruncatedText.js.map +1 -1
  139. package/dist/assets/{bundle.esm-7d53f4f2.js → bundle.esm-8623b7b1.js} +190 -188
  140. package/dist/assets/messagebundle_en-c677773a.js +1 -0
  141. package/dist/assets/parameters-bundle.css-c897ae23.js +2 -0
  142. package/dist/assets/video.es-60bfb78c.js +228 -0
  143. package/dist/css/themes/Button.css +1 -1
  144. package/dist/css/themes/CountrySelector.css +1 -1
  145. package/dist/css/themes/Dropdown.css +1 -1
  146. package/dist/css/themes/FilterMenu.css +1 -1
  147. package/dist/css/themes/ListItem.css +1 -1
  148. package/dist/css/themes/MastheadItem.css +1 -1
  149. package/dist/css/themes/MastheadMobileMenu.css +1 -1
  150. package/dist/css/themes/MastheadShell.css +1 -1
  151. package/dist/css/themes/PhoneNumberField.css +1 -1
  152. package/dist/css/themes/RatingIndicator.css +1 -1
  153. package/dist/css/themes/ReviewItem.css +1 -0
  154. package/dist/css/themes/Search.css +1 -1
  155. package/dist/css/themes/SecondaryNavigation.css +1 -1
  156. package/dist/css/themes/SecondaryNavigationItem.css +1 -1
  157. package/dist/css/themes/SecondaryNavigationSubItem.css +1 -1
  158. package/dist/css/themes/SelectBox.css +1 -1
  159. package/dist/css/themes/Slider.css +1 -1
  160. package/dist/css/themes/Tag.css +1 -1
  161. package/dist/css/themes/TagGroup.css +1 -0
  162. package/dist/css/themes/TextArea.css +1 -1
  163. package/dist/css/themes/TextField.css +1 -1
  164. package/dist/css/themes/Toast.css +1 -1
  165. package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
  166. package/dist/custom-elements-internal.json +881 -404
  167. package/dist/custom-elements.json +787 -350
  168. package/dist/data/CountryListISO3166.js +1 -1
  169. package/dist/data/CountryListISO3166.js.map +1 -1
  170. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  171. package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +1 -1
  172. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  173. package/dist/generated/i18n/i18n-defaults.js +6 -4
  174. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  175. package/dist/generated/templates/CountrySelectorTemplate.lit.js +3 -3
  176. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  177. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  178. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  179. package/dist/generated/templates/DropdownTemplate.lit.js +2 -2
  180. package/dist/generated/templates/DropdownTemplate.lit.js.map +1 -1
  181. package/dist/generated/templates/FilterMenuTemplate.lit.js +1 -1
  182. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  183. package/dist/generated/templates/FooterTemplate.lit.js +9 -9
  184. package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
  185. package/dist/generated/templates/HeroBannerTemplate.lit.js +7 -8
  186. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  187. package/dist/generated/templates/ListItemTemplate.lit.js +6 -6
  188. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  189. package/dist/generated/templates/ListSelectAllTemplate.lit.js +1 -1
  190. package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +1 -1
  191. package/dist/generated/templates/MastheadItemTemplate.lit.js +3 -3
  192. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  193. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +1 -1
  194. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
  195. package/dist/generated/templates/MastheadMenuTemplate.lit.js +2 -2
  196. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  197. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +16 -12
  198. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  199. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +2 -2
  200. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
  201. package/dist/generated/templates/MastheadShellTemplate.lit.js +13 -11
  202. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  203. package/dist/generated/templates/MediaPlayerTemplate.lit.js +2 -2
  204. package/dist/generated/templates/MediaPlayerTemplate.lit.js.map +1 -1
  205. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +5 -2
  206. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  207. package/dist/generated/templates/ReviewItemTemplate.lit.d.ts +4 -0
  208. package/dist/generated/templates/ReviewItemTemplate.lit.js +8 -0
  209. package/dist/generated/templates/ReviewItemTemplate.lit.js.map +1 -0
  210. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +7 -6
  211. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  212. package/dist/generated/templates/SelectBoxTemplate.lit.js +2 -2
  213. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  214. package/dist/generated/templates/TabHeaderTemplate.lit.js +2 -2
  215. package/dist/generated/templates/TabHeaderTemplate.lit.js.map +1 -1
  216. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -6
  217. package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -1
  218. package/dist/generated/templates/TabNavigationTemplate.lit.js +3 -1
  219. package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
  220. package/dist/generated/templates/TagGroupTemplate.lit.d.ts +4 -0
  221. package/dist/generated/templates/TagGroupTemplate.lit.js +8 -0
  222. package/dist/generated/templates/TagGroupTemplate.lit.js.map +1 -0
  223. package/dist/generated/templates/TagTemplate.lit.js +11 -7
  224. package/dist/generated/templates/TagTemplate.lit.js.map +1 -1
  225. package/dist/generated/templates/TextAreaTemplate.lit.js +1 -1
  226. package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
  227. package/dist/generated/templates/TextFieldTemplate.lit.js +1 -1
  228. package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
  229. package/dist/generated/themes/Button.css.js +1 -1
  230. package/dist/generated/themes/Button.css.js.map +1 -1
  231. package/dist/generated/themes/CountrySelector.css.js +1 -1
  232. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  233. package/dist/generated/themes/Dropdown.css.js +1 -1
  234. package/dist/generated/themes/Dropdown.css.js.map +1 -1
  235. package/dist/generated/themes/FilterMenu.css.js +1 -1
  236. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  237. package/dist/generated/themes/ListItem.css.js +1 -1
  238. package/dist/generated/themes/ListItem.css.js.map +1 -1
  239. package/dist/generated/themes/MastheadItem.css.js +1 -1
  240. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  241. package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
  242. package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
  243. package/dist/generated/themes/MastheadShell.css.js +1 -1
  244. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  245. package/dist/generated/themes/PhoneNumberField.css.js +1 -1
  246. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  247. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  248. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  249. package/dist/generated/themes/ReviewItem.css.d.ts +3 -0
  250. package/dist/generated/themes/ReviewItem.css.js +9 -0
  251. package/dist/generated/themes/ReviewItem.css.js.map +1 -0
  252. package/dist/generated/themes/Search.css.js +1 -1
  253. package/dist/generated/themes/Search.css.js.map +1 -1
  254. package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
  255. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  256. package/dist/generated/themes/SecondaryNavigationItem.css.js +1 -1
  257. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
  258. package/dist/generated/themes/SecondaryNavigationSubItem.css.js +1 -1
  259. package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
  260. package/dist/generated/themes/SelectBox.css.js +1 -1
  261. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  262. package/dist/generated/themes/Slider.css.js +1 -1
  263. package/dist/generated/themes/Slider.css.js.map +1 -1
  264. package/dist/generated/themes/Tag.css.js +1 -1
  265. package/dist/generated/themes/Tag.css.js.map +1 -1
  266. package/dist/generated/themes/TagGroup.css.d.ts +3 -0
  267. package/dist/generated/themes/TagGroup.css.js +9 -0
  268. package/dist/generated/themes/TagGroup.css.js.map +1 -0
  269. package/dist/generated/themes/TextArea.css.js +1 -1
  270. package/dist/generated/themes/TextArea.css.js.map +1 -1
  271. package/dist/generated/themes/TextField.css.js +1 -1
  272. package/dist/generated/themes/TextField.css.js.map +1 -1
  273. package/dist/generated/themes/Toast.css.js +1 -1
  274. package/dist/generated/themes/Toast.css.js.map +1 -1
  275. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +1 -1
  276. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +1 -1
  277. package/dist/i18n/messagebundle.properties +7 -3
  278. package/dist/i18n/messagebundle_en.properties +5 -3
  279. package/dist/vscode.html-custom-data.json +156 -81
  280. package/dist/web-types.json +394 -144
  281. package/package.json +8 -8
  282. package/src/Accordion.ts +2 -2
  283. package/src/AccordionItem.ts +2 -2
  284. package/src/Avatar.ts +1 -1
  285. package/src/Breadcrumbs.ts +1 -1
  286. package/src/Carousel.ts +1 -1
  287. package/src/Checkbox.ts +1 -1
  288. package/src/CountrySelector.hbs +19 -15
  289. package/src/CountrySelector.ts +50 -13
  290. package/src/DatePicker.hbs +7 -8
  291. package/src/DatePicker.ts +15 -11
  292. package/src/Dropdown.hbs +3 -0
  293. package/src/Dropdown.ts +12 -4
  294. package/src/FilterMenu.hbs +58 -59
  295. package/src/FilterMenu.ts +101 -42
  296. package/src/Footer.hbs +9 -0
  297. package/src/Footer.ts +11 -2
  298. package/src/HeroBanner.hbs +4 -1
  299. package/src/InputGroup.ts +1 -1
  300. package/src/Link.ts +1 -1
  301. package/src/List.ts +44 -24
  302. package/src/ListGroupHeader.ts +2 -2
  303. package/src/ListItem.hbs +4 -2
  304. package/src/ListItem.ts +9 -11
  305. package/src/ListItemBase.ts +1 -1
  306. package/src/ListSelectAll.hbs +1 -1
  307. package/src/ListSelectAll.ts +2 -2
  308. package/src/MastheadItem.hbs +5 -3
  309. package/src/MastheadItem.ts +39 -17
  310. package/src/MastheadMenu.hbs +4 -2
  311. package/src/MastheadMenu.ts +30 -0
  312. package/src/MastheadMenuItem.hbs +0 -2
  313. package/src/MastheadMenuItem.ts +2 -16
  314. package/src/MastheadMobileMenu.hbs +36 -10
  315. package/src/MastheadMobileMenu.ts +163 -23
  316. package/src/MastheadProfileMenu.hbs +6 -2
  317. package/src/MastheadProfileMenu.ts +67 -21
  318. package/src/MastheadShell.hbs +33 -20
  319. package/src/MastheadShell.ts +101 -32
  320. package/src/MediaPlayer.hbs +1 -3
  321. package/src/MediaPlayer.ts +122 -26
  322. package/src/MessageStrip.ts +1 -3
  323. package/src/Pagination.ts +1 -1
  324. package/src/PasswordField.ts +1 -1
  325. package/src/PhoneNumberField.hbs +18 -3
  326. package/src/PhoneNumberField.ts +68 -3
  327. package/src/RatingBar.ts +1 -1
  328. package/src/Review.ts +1 -1
  329. package/src/ReviewItem.hbs +20 -0
  330. package/src/ReviewItem.ts +227 -0
  331. package/src/Search.ts +42 -5
  332. package/src/SearchableListBase.ts +15 -7
  333. package/src/SecondaryNavigation.hbs +11 -7
  334. package/src/SecondaryNavigation.ts +22 -13
  335. package/src/SecondaryNavigationItem.ts +30 -1
  336. package/src/SecondaryNavigationItemBase.ts +1 -1
  337. package/src/SecondaryNavigationSubItem.ts +1 -1
  338. package/src/SelectBox.hbs +9 -7
  339. package/src/SelectBox.ts +153 -72
  340. package/src/StatusBadge.ts +1 -1
  341. package/src/StepInput.ts +1 -1
  342. package/src/Switch.ts +21 -0
  343. package/src/Tab.ts +2 -2
  344. package/src/TabHeader.hbs +3 -1
  345. package/src/TabInOverflow.hbs +16 -4
  346. package/src/TabNavigation.hbs +15 -7
  347. package/src/TabNavigation.ts +2 -2
  348. package/src/Table.ts +1 -1
  349. package/src/Tag.hbs +28 -12
  350. package/src/Tag.ts +25 -4
  351. package/src/TagGroup.hbs +48 -0
  352. package/src/TagGroup.ts +222 -0
  353. package/src/TextArea.hbs +36 -33
  354. package/src/TextArea.ts +26 -1
  355. package/src/TextField.hbs +8 -6
  356. package/src/TextField.ts +51 -20
  357. package/src/Tooltip.ts +1 -1
  358. package/src/TruncatedText.ts +1 -1
  359. package/src/data/CountryListISO3166.ts +1 -1
  360. package/src/generated/i18n/i18n-defaults.ts +2 -2
  361. package/src/generated/templates/CountrySelectorTemplate.lit.ts +3 -3
  362. package/src/generated/templates/DatePickerTemplate.lit.ts +1 -1
  363. package/src/generated/templates/DropdownTemplate.lit.ts +2 -2
  364. package/src/generated/templates/FilterMenuTemplate.lit.ts +1 -1
  365. package/src/generated/templates/FooterTemplate.lit.ts +9 -9
  366. package/src/generated/templates/HeroBannerTemplate.lit.ts +7 -8
  367. package/src/generated/templates/ListItemTemplate.lit.ts +6 -6
  368. package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
  369. package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
  370. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +1 -1
  371. package/src/generated/templates/MastheadMenuTemplate.lit.ts +2 -2
  372. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +16 -12
  373. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +2 -2
  374. package/src/generated/templates/MastheadShellTemplate.lit.ts +13 -11
  375. package/src/generated/templates/MediaPlayerTemplate.lit.ts +2 -2
  376. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +5 -2
  377. package/src/generated/templates/ReviewItemTemplate.lit.ts +13 -0
  378. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -6
  379. package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
  380. package/src/generated/templates/TabHeaderTemplate.lit.ts +2 -2
  381. package/src/generated/templates/TabInOverflowTemplate.lit.ts +6 -6
  382. package/src/generated/templates/TabNavigationTemplate.lit.ts +3 -1
  383. package/src/generated/templates/TagGroupTemplate.lit.ts +13 -0
  384. package/src/generated/templates/TagTemplate.lit.ts +11 -7
  385. package/src/generated/templates/TextAreaTemplate.lit.ts +1 -1
  386. package/src/generated/templates/TextFieldTemplate.lit.ts +1 -1
  387. package/src/generated/themes/Button.css.ts +1 -1
  388. package/src/generated/themes/CountrySelector.css.ts +1 -1
  389. package/src/generated/themes/Dropdown.css.ts +1 -1
  390. package/src/generated/themes/FilterMenu.css.ts +1 -1
  391. package/src/generated/themes/ListItem.css.ts +1 -1
  392. package/src/generated/themes/MastheadItem.css.ts +1 -1
  393. package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
  394. package/src/generated/themes/MastheadShell.css.ts +1 -1
  395. package/src/generated/themes/PhoneNumberField.css.ts +1 -1
  396. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  397. package/src/generated/themes/ReviewItem.css.ts +13 -0
  398. package/src/generated/themes/Search.css.ts +1 -1
  399. package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
  400. package/src/generated/themes/SecondaryNavigationItem.css.ts +1 -1
  401. package/src/generated/themes/SecondaryNavigationSubItem.css.ts +1 -1
  402. package/src/generated/themes/SelectBox.css.ts +1 -1
  403. package/src/generated/themes/Slider.css.ts +1 -1
  404. package/src/generated/themes/Tag.css.ts +1 -1
  405. package/src/generated/themes/TagGroup.css.ts +13 -0
  406. package/src/generated/themes/TextArea.css.ts +1 -1
  407. package/src/generated/themes/TextField.css.ts +1 -1
  408. package/src/generated/themes/Toast.css.ts +1 -1
  409. package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
  410. package/src/i18n/messagebundle.properties +7 -3
  411. package/src/i18n/messagebundle_en.properties +5 -3
  412. package/src/themes/Button.css +10 -0
  413. package/src/themes/CountrySelector.css +60 -35
  414. package/src/themes/Dropdown.css +10 -0
  415. package/src/themes/FilterMenu.css +65 -15
  416. package/src/themes/ListItem.css +4 -0
  417. package/src/themes/MastheadItem.css +18 -4
  418. package/src/themes/MastheadMobileMenu.css +4 -0
  419. package/src/themes/MastheadShell.css +88 -9
  420. package/src/themes/PhoneNumberField.css +36 -21
  421. package/src/themes/ReviewItem.css +121 -0
  422. package/src/themes/Search.css +13 -0
  423. package/src/themes/SecondaryNavigation.css +13 -14
  424. package/src/themes/SecondaryNavigationItem.css +11 -3
  425. package/src/themes/SecondaryNavigationSubItem.css +5 -5
  426. package/src/themes/SelectBox.css +42 -0
  427. package/src/themes/Tag.css +20 -0
  428. package/src/themes/TagGroup.css +90 -0
  429. package/src/themes/TextArea.css +13 -0
  430. package/src/themes/TextField.css +25 -8
  431. package/src/themes/Toast.css +4 -0
  432. package/dist/assets/messagebundle_en-6dcc9ab4.js +0 -1
  433. package/dist/assets/parameters-bundle.css-de55cf62.js +0 -2
  434. package/dist/assets/video.es-17aecf95.js +0 -219
package/src/FilterMenu.ts CHANGED
@@ -7,16 +7,18 @@ import "@ui5/webcomponents/dist/Icon.js";
7
7
  import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
8
8
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
9
9
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
10
- import { isTabPrevious, isTabNext, isEscape } from "@ui5/webcomponents-base/dist/Keys.js";
10
+ import {
11
+ isTabPrevious, isTabNext, isEscape, isSpace, isEnter,
12
+ } from "@ui5/webcomponents-base/dist/Keys.js";
11
13
  import PopupAccessibleRole from "@ui5/webcomponents/dist/types/PopupAccessibleRole.js";
12
- import UDExDropdown from "./Dropdown.js";
14
+ import ResponsivePopover from "@ui5/webcomponents/dist/ResponsivePopover.js";
13
15
  import UDExList from "./List.js";
14
16
  import UDExListItem from "./ListItem.js";
15
17
  import UDExListGroupHeader from "./ListGroupHeader.js";
16
18
  import UDExFilterMenuItem from "./FilterMenuItem.js";
17
19
  import UDExFilterMenuGroupHeader from "./FilterMenuGroupHeader.js";
18
20
  import UDExSearch from "./Search.js";
19
- import UDEButton from "./Button.js";
21
+ import UDExButton from "./Button.js";
20
22
  import UDExSearchableListBase from "./SearchableListBase.js";
21
23
  import { PlacementType, HorizontalAlign } from "./types/Dropdown.js";
22
24
  import { ListMode } from "./types/List.js";
@@ -57,17 +59,17 @@ import SearchableListCss from "./generated/themes/SearchableList.css.js";
57
59
  styles: [FilterMenuCss, SearchableListCss],
58
60
  template: FilterMenuTemplate,
59
61
  dependencies: [
62
+ ResponsivePopover,
60
63
  UDExFilterMenuItem,
61
64
  UDExFilterMenuGroupHeader,
62
65
  UDExFilterMenuSelectAll,
63
- UDExDropdown,
64
66
  UDExList,
65
67
  UDExListSelectAll,
66
68
  UDExListItem,
67
69
  UDExListGroupHeader,
68
70
  UDExBadge,
69
71
  UDExSearch,
70
- UDEButton,
72
+ UDExButton,
71
73
  ],
72
74
  })
73
75
 
@@ -233,8 +235,14 @@ class UDExFilterMenu extends UDExSearchableListBase {
233
235
  @property({ type: Boolean })
234
236
  disabled!: boolean;
235
237
 
238
+ /**
239
+ * Defines whether the dropdown is open or not.
240
+ *
241
+ * @default false
242
+ * @private
243
+ */
236
244
  @property({ type: Boolean })
237
- _open?: boolean = false;
245
+ _open!: boolean;
238
246
 
239
247
  /**
240
248
  * Hides the result button in the footer.
@@ -283,15 +291,11 @@ class UDExFilterMenu extends UDExSearchableListBase {
283
291
  @property({ type: String, defaultValue: "combobox" })
284
292
  triggerAccessibleRole!: string;
285
293
 
286
- _dropdown!: UDExDropdown;
294
+ _trigger!: UDExButton;
287
295
  _search!: UDExSearch;
288
296
  _hasFooterButtons!: boolean;
289
-
290
- onAfterRendering() {
291
- this._dropdown = this.getDropdown();
292
- this._search = this.getSearch();
293
- this._hasFooterButtons = this.hasFooterButtons;
294
- }
297
+ _popover!: ResponsivePopover;
298
+ _breakpointSizeXS = 640;
295
299
 
296
300
  onEnterDOM(): void {
297
301
  if (isDesktop()) {
@@ -303,12 +307,19 @@ class UDExFilterMenu extends UDExSearchableListBase {
303
307
  super.onBeforeRendering();
304
308
  }
305
309
 
306
- handleSelectAll(e:CustomEvent) {
310
+ onAfterRendering() {
311
+ this._search = this.getSearch();
312
+ this._popover = this.getPopover();
313
+ this._trigger = this.getTriggerButton();
314
+ this._hasFooterButtons = this.hasFooterButtons;
315
+ }
316
+
317
+ handleSelectAll(e:CustomEvent): void {
307
318
  this.onFilterSelectAllHeaderPress(e);
308
319
  this.fireEvent("select-all");
309
320
  }
310
321
 
311
- handleItemPress(e:CustomEvent) {
322
+ handleItemPress(e:CustomEvent): void {
312
323
  this.onItemPress(e);
313
324
 
314
325
  if (this.modeSingleSelect) {
@@ -316,101 +327,137 @@ class UDExFilterMenu extends UDExSearchableListBase {
316
327
  }
317
328
  }
318
329
 
319
- handleHeaderPress(e:CustomEvent) {
330
+ handleHeaderPress(e:CustomEvent): void {
320
331
  this.onHeaderPress(e);
321
332
  }
322
333
 
323
- handleValueSearch(e:CustomEvent) {
334
+ handleValueSearch(e:CustomEvent): void {
324
335
  this.onSearch(e);
325
336
  }
326
337
 
327
- handleSubmitSearch() {
338
+ handleSubmitSearch(): void {
328
339
  this.onDropdownClose();
329
340
  this.onSubmitSearch();
330
341
  }
331
342
 
332
- handleResetSearch() {
343
+ handleResetSearch(): void {
333
344
  this.onResetSearch();
334
345
  }
335
346
 
336
- handleReset() {
347
+ handleReset(): void {
337
348
  this.fireEvent("reset-click", {
338
349
  restoredItems: this.selectedItems,
339
350
  });
340
351
  this.onReset();
341
352
  }
342
353
 
343
- handleResult() {
354
+ handleResult(): void {
344
355
  if (!this.disabledResultBtn) {
345
- this._dropdown.onClose();
356
+ this._popover.close();
346
357
  this.fireEvent("result-click", {
347
358
  selectedItems: this.selectedItems,
348
359
  });
349
360
  }
350
361
  }
351
362
 
352
- handleKeyDownList(e: KeyboardEvent) {
363
+ handleKeyDownList(e: KeyboardEvent): void {
353
364
  const isTabNextPress = isTabNext(e) && !this._hasFooterButtons;
354
365
  const isTabPrevPress = isTabPrevious(e) && !this._search;
355
-
356
- if (isTabNextPress || isTabPrevPress) {
357
- this.onDropdownClose();
366
+ const target = e.target as HTMLElement;
367
+ const isSearchResetTrigger = target === this._search;
368
+ if ((isTabNextPress && (!isSearchResetTrigger || this.isListEmpty)) || isTabPrevPress) {
369
+ this.onDropdownClose(e);
358
370
  }
359
371
  }
360
372
 
361
- handleKeyDownSearch(e: CustomEvent) {
373
+ handleKeyDownSearch(e: CustomEvent): void {
362
374
  const keyEvent = e.detail as KeyboardEvent;
363
375
  if (isTabPrevious(keyEvent) || isEscape(keyEvent)) {
364
- this.onDropdownClose();
376
+ this.onDropdownClose(keyEvent);
365
377
  }
366
378
  }
367
379
 
368
- handleKeyDownResultBtn(e: KeyboardEvent) {
380
+ handleKeyDownResultBtn(e: KeyboardEvent): void {
369
381
  e.stopPropagation();
370
382
  if (isTabNext(e) && !this.hasResetBtn) {
371
383
  this.onDropdownClose();
372
384
  }
373
385
  }
374
386
 
375
- handleKeyDownResetBtn(e: KeyboardEvent) {
387
+ handleKeyDownResetBtn(e: KeyboardEvent): void {
376
388
  e.stopPropagation();
377
389
  if (isTabNext(e)) {
378
390
  this.onDropdownClose();
379
391
  }
380
392
  }
381
393
 
382
- onDropdownClose() {
383
- if (this._dropdown.open) {
384
- this._dropdown.onClose();
394
+ handleTriggerClick(): void {
395
+ this.toggleDropdown();
396
+ }
397
+
398
+ handleTriggerKeydown(e: KeyboardEvent): void {
399
+ if (isSpace(e) || isEnter(e)) {
400
+ e.preventDefault();
401
+ this.toggleDropdown();
385
402
  }
386
403
  }
387
404
 
388
- getDropdown(): UDExDropdown {
389
- return this.shadowRoot!.querySelector<UDExDropdown>("udex-dropdown")!;
405
+ toggleDropdown(): void {
406
+ this._open = !this._open;
407
+
408
+ if (this._open) {
409
+ this._trigger.classList.add("udex-filter-menu__trigger-active");
410
+ this._popover.showAt(this._trigger);
411
+ } else {
412
+ this.onDropdownClose();
413
+ }
414
+ }
415
+
416
+ onDropdownClose(e?: KeyboardEvent): void {
417
+ if (this._popover.open) {
418
+ if (e && (isTabPrevious(e) || isEscape(e))) {
419
+ e.preventDefault();
420
+ this._popover.close(true);
421
+ } else {
422
+ this._popover.close();
423
+ }
424
+ }
390
425
  }
391
426
 
392
427
  getSearch(): UDExSearch {
393
428
  return this.shadowRoot!.querySelector<UDExSearch>("udex-search")!;
394
429
  }
395
430
 
396
- _dropdownBeforeOpen() {
397
- this._open = true;
431
+ _dropdownBeforeOpen(): void {
432
+ if (this.height) {
433
+ const content = this._popover.shadowRoot!.querySelector("[part=content]") as HTMLElement;
434
+ content.style.maxHeight = this.height;
435
+ }
398
436
  this.fireEvent("before-open");
399
437
  }
400
438
 
401
- _dropdownAfterOpen() {
439
+ _dropdownAfterOpen(): void {
440
+ const popoverLeftOffset = +this._popover.style.left.split("px")[0];
441
+ if (this._popover.offsetWidth + popoverLeftOffset < this._breakpointSizeXS) {
442
+ this.style.setProperty("--udex-filter-menu-popover-left-offset", `${this._popover.style.left}`);
443
+ }
402
444
  this.fireEvent("after-open");
403
445
  }
404
446
 
405
- _dropdownBeforeClose() {
447
+ _dropdownBeforeClose(): void {
406
448
  this.fireEvent("before-close");
407
449
  }
408
450
 
409
- _dropdownAfterClose() {
451
+ _dropdownAfterClose(): void {
410
452
  this._open = false;
453
+ this._trigger.classList.remove("udex-filter-menu__trigger-active");
411
454
  this.fireEvent("after-close");
412
455
  }
413
456
 
457
+ get disableAllowTargetOverlap(): boolean {
458
+ return !this.disableTargetOverlap;
459
+ }
460
+
414
461
  get hasFilterNamePrefix(): boolean {
415
462
  return !!this.filterNamePrefix?.length;
416
463
  }
@@ -425,14 +472,18 @@ class UDExFilterMenu extends UDExSearchableListBase {
425
472
  return hasLabel ? this.resetBtnLabel : UDExFilterMenu.i18nBundle.getText(RESET);
426
473
  }
427
474
 
428
- get disabledResultBtn() {
475
+ get disabledResultBtn(): boolean {
429
476
  return !this.selectedItems.length && !this.selectAll;
430
477
  }
431
478
 
432
- get _iconAccessibleNameText() {
479
+ get _iconAccessibleNameText(): string {
433
480
  return UDExFilterMenu.i18nBundle.getText(SELECT_OPTIONS);
434
481
  }
435
482
 
483
+ get triggerButtonAccessibleName(): string {
484
+ return this.accessibleName || UDExFilterMenu.i18nBundle.getText(SELECT_OPTIONS);
485
+ }
486
+
436
487
  get searchableList() {
437
488
  return executeTemplate(UDExFilterMenu.searchableListBaseTemplate, this);
438
489
  }
@@ -453,6 +504,14 @@ class UDExFilterMenu extends UDExSearchableListBase {
453
504
  return !this.hideResetBtn;
454
505
  }
455
506
 
507
+ getTriggerButton(): UDExButton {
508
+ return this.shadowRoot!.querySelector<UDExButton>("#filterMenuTrigger")!;
509
+ }
510
+
511
+ getPopover(): ResponsivePopover {
512
+ return this.shadowRoot!.querySelector<ResponsivePopover>("[ui5-popover]")!;
513
+ }
514
+
456
515
  getItems(): Array<UDExListItemBase> {
457
516
  return this.getSlottedNodes<UDExListItemBase>("items");
458
517
  }
package/src/Footer.hbs CHANGED
@@ -84,6 +84,7 @@
84
84
  <div class="udex-footer__social-container">
85
85
  {{#each socialLinksArray}}
86
86
  <a
87
+ target="{{target}}"
87
88
  href="{{this.url}}"
88
89
  class="udex-footer__social-icon"
89
90
  data-name="{{this.name}}"
@@ -121,6 +122,7 @@
121
122
  {{#each ../quickLinksArray}}
122
123
  <li>
123
124
  <a
125
+ target="{{target}}"
124
126
  aria-describedby="udex-footer__quick-links"
125
127
  href="{{this.url}}"
126
128
  data-id="{{this.id}}"
@@ -139,6 +141,7 @@
139
141
  {{#each trendingLinksArray}}
140
142
  <li>
141
143
  <a
144
+ target="{{target}}"
142
145
  aria-describedby="udex-footer__footer__trending"
143
146
  href="{{this.url}}"
144
147
  @click="{{../_onTrendingClick}}"
@@ -157,6 +160,7 @@
157
160
  {{#each aboutLinksArray}}
158
161
  <li>
159
162
  <a
163
+ target="{{target}}"
160
164
  aria-describedby="udex-footer__about"
161
165
  href="{{this.url}}"
162
166
  data-id="{{this.id}}"
@@ -175,6 +179,7 @@
175
179
  {{#each siteInformationLinksArray}}
176
180
  <li>
177
181
  <a
182
+ target="{{target}}"
178
183
  aria-describedby="udex-footer__site-information"
179
184
  href="{{this.url}}"
180
185
  data-id="{{this.id}}"
@@ -198,6 +203,7 @@
198
203
  {{#each quickLinksArray}}
199
204
  <li>
200
205
  <a
206
+ target="{{target}}"
201
207
  aria-describedby="udex-footer__quick-links"
202
208
  data-id="{{this.id}}"
203
209
  href="{{this.url}}"
@@ -215,6 +221,7 @@
215
221
  {{#each trendingLinksArray}}
216
222
  <li>
217
223
  <a
224
+ target="{{target}}"
218
225
  aria-describedby="udex-footer__footer__trending"
219
226
  data-id="{{this.id}}"
220
227
  href="{{this.url}}"
@@ -232,6 +239,7 @@
232
239
  {{#each aboutLinksArray}}
233
240
  <li>
234
241
  <a
242
+ target="{{target}}"
235
243
  aria-describedby="udex-footer__about"
236
244
  data-id="{{this.id}}"
237
245
  href="{{this.url}}"
@@ -249,6 +257,7 @@
249
257
  {{#each siteInformationLinksArray}}
250
258
  <li>
251
259
  <a
260
+ target="{{target}}"
252
261
  aria-describedby="udex-footer__site-information"
253
262
  data-id="{{this.id}}"
254
263
  href="{{this.url}}"
package/src/Footer.ts CHANGED
@@ -36,14 +36,23 @@ import {
36
36
 
37
37
  const BreakpointSizeS: number = 979;
38
38
 
39
+ export enum Target {
40
+ _blank = "_blank",
41
+ _parent = "_parent",
42
+ _self = "_self",
43
+ _top = "_top",
44
+ }
45
+
39
46
  export type FooterLink = {
40
47
  title: string;
41
48
  url: string;
49
+ target: Target;
42
50
  };
43
51
 
44
52
  export type FooterSocialLink = {
45
53
  url: string;
46
54
  iconUrl: string;
55
+ target: Target;
47
56
  };
48
57
 
49
58
  export type FooterContactNumber = {
@@ -88,7 +97,7 @@ export const FooterDetailedEvent = {
88
97
  * For the <code>udex-footer</code>
89
98
  * <h3>ES6 Module Import</h3>
90
99
  *
91
- * <code>import @udex/web-components/dist/Footer.js";</code>
100
+ * <code>import "@udex/web-components/dist/Footer.js";</code>
92
101
  *
93
102
  * @constructor
94
103
  * @author SAP SE
@@ -311,7 +320,7 @@ class UDExFooter extends UI5Element {
311
320
  static i18nBundle: I18nBundle;
312
321
 
313
322
  static async onDefine(): Promise<void> {
314
- UDExFooter.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
323
+ UDExFooter.i18nBundle = await getI18nBundle("@udex/web-components");
315
324
  }
316
325
 
317
326
  _handleResizeBound: ResizeObserverCallback;
@@ -10,7 +10,10 @@
10
10
  <img loading="{{backgroundImageLoadingStrategy}}" src="{{backgroundImage}}" part="background-image" class="udex-hero-banner__background-image" alt="{{backgroundImageLabel}}" />
11
11
  </picture>
12
12
  {{/if}}
13
- {{> hero-content}}
13
+ <div class="udex-hero-banner__content-container">
14
+ <slot id="udex-hero-banner__content" name="content" part="content"></slot>
15
+ <slot id="udex-hero-banner__additionalContent" name="additionalContent" part="additionalContent"></slot>
16
+ </div>
14
17
  <button class="udex-hero-banner__media-button" aria-label="Play / Pause button" role="button" @click={{_toggleMediaButton}}>
15
18
  <ui5-icon name={{mediaButtonIconName}}></ui5-icon>
16
19
  </button>
package/src/InputGroup.ts CHANGED
@@ -104,7 +104,7 @@ class UDExInputGroup extends UI5Element {
104
104
  static i18nBundle: I18nBundle;
105
105
 
106
106
  static async onDefine() {
107
- UDExInputGroup.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
107
+ UDExInputGroup.i18nBundle = await getI18nBundle("@udex/web-components");
108
108
  }
109
109
 
110
110
  get _items() {
package/src/Link.ts CHANGED
@@ -25,7 +25,7 @@ export enum IconPlacement {
25
25
  * For the <code>udex-link</code>
26
26
  * <h3>ES6 Module Import</h3>
27
27
  *
28
- * <code>import @udex/web-components/dist/Link.js";</code>
28
+ * <code>import "@udex/web-components/dist/Link.js";</code>
29
29
  *
30
30
  * @constructor
31
31
  * @author SAP SE
package/src/List.ts CHANGED
@@ -40,7 +40,7 @@ export type UDExListItemBase = UDExListItem & UDExListGroupHeader;
40
40
  * For the <code>udex-list</code>
41
41
  * <h3>ES6 Module Import</h3>
42
42
  *
43
- * <code>import @udex/web-components/dist/List.js";</code>
43
+ * <code>import "@udex/web-components/dist/List.js";</code>
44
44
  *
45
45
  * @constructor
46
46
  * @author SAP SE
@@ -147,19 +147,19 @@ class UDExList extends UI5Element {
147
147
  static i18nBundle: I18nBundle;
148
148
 
149
149
  static async onDefine(): Promise<void> {
150
- UDExList.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
150
+ UDExList.i18nBundle = await getI18nBundle("@udex/web-components");
151
151
  }
152
152
 
153
- onBeforeRendering() {
153
+ onBeforeRendering(): void {
154
154
  this.prepareListItemsMode();
155
155
  }
156
156
 
157
- handleItemPress(e: CustomEvent) {
157
+ handleItemPress(e: CustomEvent): void {
158
158
  const clickedItem: UDExListItemBase = e.detail.item;
159
159
  this.onItemPress(clickedItem);
160
160
  }
161
161
 
162
- handleKeyDown(e: KeyboardEvent) {
162
+ handleKeyDown(e: KeyboardEvent): void {
163
163
  this.handleUpArrow(e);
164
164
  this.handleDownArrow(e);
165
165
  this.handleHomeKey(e);
@@ -167,7 +167,7 @@ class UDExList extends UI5Element {
167
167
  this.handleEnterOrSpace(e);
168
168
  }
169
169
 
170
- handleEnterOrSpace(e: KeyboardEvent) {
170
+ handleEnterOrSpace(e: KeyboardEvent): void {
171
171
  if (isEnter(e) || isSpace(e)) {
172
172
  e.preventDefault();
173
173
  const clickedItem = e.target as UDExListItemBase;
@@ -175,7 +175,7 @@ class UDExList extends UI5Element {
175
175
  }
176
176
  }
177
177
 
178
- handleUpArrow(e: KeyboardEvent) {
178
+ handleUpArrow(e: KeyboardEvent): void {
179
179
  if (isUp(e)) {
180
180
  e.preventDefault();
181
181
  const items = this.getKeyboardNavigationItems();
@@ -206,13 +206,18 @@ class UDExList extends UI5Element {
206
206
  return;
207
207
  }
208
208
 
209
+ if (this.modeRadioGroup) {
210
+ items[currentSelectedIndex].selected = false;
211
+ items[previousSelectIndex].selected = true;
212
+ }
213
+
209
214
  this.unsetTabIndexByIndex(items, currentSelectedIndex);
210
215
  this.setTabIndexByIndex(items, previousSelectIndex);
211
216
  items[previousSelectIndex].focus();
212
217
  }
213
218
  }
214
219
 
215
- handleDownArrow(e: KeyboardEvent) {
220
+ handleDownArrow(e: KeyboardEvent): void {
216
221
  if (isDown(e)) {
217
222
  e.preventDefault();
218
223
  const items = this.getKeyboardNavigationItems();
@@ -235,13 +240,18 @@ class UDExList extends UI5Element {
235
240
  return;
236
241
  }
237
242
 
243
+ if (this.modeRadioGroup) {
244
+ items[currentSelectedIndex].selected = false;
245
+ items[nextSelectIndex].selected = true;
246
+ }
247
+
238
248
  this.unsetTabIndexByIndex(items, currentSelectedIndex);
239
249
  this.setTabIndexByIndex(items, nextSelectIndex);
240
250
  items[nextSelectIndex].focus();
241
251
  }
242
252
  }
243
253
 
244
- handleHomeKey(e: KeyboardEvent) {
254
+ handleHomeKey(e: KeyboardEvent): void {
245
255
  if (isHome(e)) {
246
256
  e.preventDefault();
247
257
  const items = this.getKeyboardNavigationItems();
@@ -264,25 +274,35 @@ class UDExList extends UI5Element {
264
274
  return;
265
275
  }
266
276
 
277
+ if (this.modeRadioGroup) {
278
+ items[currentSelectedIndex].selected = false;
279
+ items[0].selected = true;
280
+ }
281
+
267
282
  this.unsetTabIndexByIndex(items, currentSelectedIndex);
268
283
  this.setTabIndexByIndex(items, 0);
269
284
  items[0].focus();
270
285
  }
271
286
  }
272
287
 
273
- handleEndKey(e: KeyboardEvent) {
288
+ handleEndKey(e: KeyboardEvent): void {
274
289
  if (isEnd(e)) {
275
290
  e.preventDefault();
276
291
  const items = this.getKeyboardNavigationItems();
277
292
  const currentSelectedIndex = this.getCurrentIndex(items, e.target as UDExListItemBase);
278
293
 
294
+ if (this.modeRadioGroup) {
295
+ items[currentSelectedIndex].selected = false;
296
+ items[items.length - 1].selected = true;
297
+ }
298
+
279
299
  this.unsetTabIndexByIndex(items, currentSelectedIndex);
280
300
  this.setTabIndexByIndex(items, items.length - 1);
281
301
  items[items.length - 1].focus();
282
302
  }
283
303
  }
284
304
 
285
- onItemPress(clickedItem :UDExListItemBase) {
305
+ onItemPress(clickedItem :UDExListItemBase): void {
286
306
  if (this.modeSingleSelect && !this.controlled) {
287
307
  this.revertSelectedItems(this.getSelectedItems());
288
308
  clickedItem.selected = true;
@@ -305,7 +325,7 @@ class UDExList extends UI5Element {
305
325
  });
306
326
  }
307
327
 
308
- revertSelectedItems(items: Array<UDExListItemBase>) {
328
+ revertSelectedItems(items: Array<UDExListItemBase>): void {
309
329
  items.forEach((item: UDExListItemBase) => {
310
330
  if (!item.disabled) {
311
331
  item.selected = false;
@@ -313,16 +333,16 @@ class UDExList extends UI5Element {
313
333
  });
314
334
  }
315
335
 
316
- focusHeader(item: UDExListItemBase) {
336
+ focusHeader(item: UDExListItemBase): void {
317
337
  const header = item.shadowRoot?.querySelector(".udex-list__group-header") as HTMLElement;
318
338
  header.focus();
319
339
  }
320
340
 
321
- unsetTabIndexByIndex(items: UDExListItemBase[], index: number) {
341
+ unsetTabIndexByIndex(items: UDExListItemBase[], index: number): void {
322
342
  items[index]._tabIndex = "-1";
323
343
  }
324
344
 
325
- setTabIndexByIndex(items: UDExListItemBase[], index: number) {
345
+ setTabIndexByIndex(items: UDExListItemBase[], index: number): void {
326
346
  items[index]._tabIndex = "0";
327
347
  }
328
348
 
@@ -359,7 +379,7 @@ class UDExList extends UI5Element {
359
379
  return items;
360
380
  }
361
381
 
362
- prepareListItemsMode() {
382
+ prepareListItemsMode(): void {
363
383
  this.getItemsFromList().forEach((item, index) => {
364
384
  item.mode = this.mode;
365
385
  item.controlled = this.controlled;
@@ -381,7 +401,7 @@ class UDExList extends UI5Element {
381
401
  return "-1";
382
402
  }
383
403
 
384
- resetTabIndexes() {
404
+ resetTabIndexes(): void {
385
405
  this.getItemsFromList().forEach(item => {
386
406
  item._tabIndex = "-1";
387
407
  });
@@ -398,31 +418,31 @@ class UDExList extends UI5Element {
398
418
  return UDExList.i18nBundle.getText(ARIA_LABEL_LIST_MULTISELECTABLE);
399
419
  }
400
420
 
401
- get ariaLabelledBy() {
421
+ get ariaLabelledBy(): string {
402
422
  return `${this._id}-mode-label`;
403
423
  }
404
424
 
405
- get modeRadioGroup() {
425
+ get modeRadioGroup(): boolean {
406
426
  return this.mode === ListMode.RadioGroup;
407
427
  }
408
428
 
409
- get modeMultiSelect() {
429
+ get modeMultiSelect(): boolean {
410
430
  return this.mode === ListMode.MultiSelect;
411
431
  }
412
432
 
413
- get modeSingleSelect() {
433
+ get modeSingleSelect(): boolean {
414
434
  return this.mode === ListMode.SingleSelect;
415
435
  }
416
436
 
417
- get modeSingleContent() {
437
+ get modeSingleContent(): boolean {
418
438
  return this.mode === ListMode.SingleContent;
419
439
  }
420
440
 
421
- get modeSelected() {
441
+ get modeSelected(): boolean {
422
442
  return [ListMode.SingleSelect, ListMode.MultiSelect, ListMode.RadioGroup].includes(this.mode as ListMode);
423
443
  }
424
444
 
425
- get holderHeight() {
445
+ get holderHeight(): string {
426
446
  return this.height ? this.height : "auto";
427
447
  }
428
448
  }
@@ -17,10 +17,10 @@ import ListGroupHeaderCss from "./generated/themes/ListGroupHeader.css.js";
17
17
  *
18
18
  * <h3>Usage</h3>
19
19
  *
20
- * For the <code>udex--list-group-header</code>
20
+ * For the <code>udex-list-group-header</code>
21
21
  * <h3>ES6 Module Import</h3>
22
22
  *
23
- * <code>import @udex/web-components/dist/ListGroupHeader.js";</code>
23
+ * <code>import "@udex/web-components/dist/ListGroupHeader.js";</code>
24
24
  *
25
25
  * @constructor
26
26
  * @author SAP SE