@sapudex/web-components 0.117.1 → 0.138.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 (536) hide show
  1. package/bundle.esm.js +5 -0
  2. package/config/wdio.conf.js +19 -8
  3. package/dist/Accordion.d.ts +1 -1
  4. package/dist/Accordion.js +1 -1
  5. package/dist/Accordion.js.map +1 -1
  6. package/dist/AccordionItem.d.ts +3 -2
  7. package/dist/AccordionItem.js +4 -4
  8. package/dist/AccordionItem.js.map +1 -1
  9. package/dist/Avatar.d.ts +12 -0
  10. package/dist/Avatar.js +22 -1
  11. package/dist/Avatar.js.map +1 -1
  12. package/dist/AvatarGroup.d.ts +28 -0
  13. package/dist/AvatarGroup.js +126 -0
  14. package/dist/AvatarGroup.js.map +1 -0
  15. package/dist/Checkbox.d.ts +1 -1
  16. package/dist/Checkbox.js +1 -1
  17. package/dist/Checkbox.js.map +1 -1
  18. package/dist/CountrySelector.d.ts +24 -6
  19. package/dist/CountrySelector.js +25 -7
  20. package/dist/CountrySelector.js.map +1 -1
  21. package/dist/DatePicker.d.ts +1 -0
  22. package/dist/DatePicker.js +4 -1
  23. package/dist/DatePicker.js.map +1 -1
  24. package/dist/Dropdown.d.ts +12 -2
  25. package/dist/Dropdown.js +18 -6
  26. package/dist/Dropdown.js.map +1 -1
  27. package/dist/FilterMenu.d.ts +26 -6
  28. package/dist/FilterMenu.js +61 -21
  29. package/dist/FilterMenu.js.map +1 -1
  30. package/dist/Footer.d.ts +36 -1
  31. package/dist/Footer.js +35 -37
  32. package/dist/Footer.js.map +1 -1
  33. package/dist/HeroBanner.js +3 -0
  34. package/dist/HeroBanner.js.map +1 -1
  35. package/dist/Link.d.ts +1 -1
  36. package/dist/Link.js +1 -1
  37. package/dist/Link.js.map +1 -1
  38. package/dist/List.d.ts +1 -1
  39. package/dist/List.js +17 -1
  40. package/dist/List.js.map +1 -1
  41. package/dist/ListGroupHeader.d.ts +2 -2
  42. package/dist/ListGroupHeader.js +2 -2
  43. package/dist/ListGroupHeader.js.map +1 -1
  44. package/dist/ListItem.d.ts +3 -3
  45. package/dist/ListItem.js +6 -7
  46. package/dist/ListItem.js.map +1 -1
  47. package/dist/ListSelectAll.d.ts +1 -1
  48. package/dist/ListSelectAll.js +1 -1
  49. package/dist/ListSelectAll.js.map +1 -1
  50. package/dist/MastheadItem.d.ts +10 -1
  51. package/dist/MastheadItem.js +29 -18
  52. package/dist/MastheadItem.js.map +1 -1
  53. package/dist/MastheadMenu.d.ts +5 -0
  54. package/dist/MastheadMenu.js +24 -0
  55. package/dist/MastheadMenu.js.map +1 -1
  56. package/dist/MastheadMenuItem.d.ts +2 -3
  57. package/dist/MastheadMenuItem.js +2 -17
  58. package/dist/MastheadMenuItem.js.map +1 -1
  59. package/dist/MastheadMobileMenu.d.ts +25 -5
  60. package/dist/MastheadMobileMenu.js +135 -21
  61. package/dist/MastheadMobileMenu.js.map +1 -1
  62. package/dist/MastheadProfileMenu.d.ts +13 -4
  63. package/dist/MastheadProfileMenu.js +40 -9
  64. package/dist/MastheadProfileMenu.js.map +1 -1
  65. package/dist/MastheadShell.d.ts +11 -0
  66. package/dist/MastheadShell.js +52 -8
  67. package/dist/MastheadShell.js.map +1 -1
  68. package/dist/MediaPlayer.d.ts +3 -3
  69. package/dist/MediaPlayer.js +115 -25
  70. package/dist/MediaPlayer.js.map +1 -1
  71. package/dist/MessageStrip.js +1 -1
  72. package/dist/MessageStrip.js.map +1 -1
  73. package/dist/Pagination.d.ts +3 -0
  74. package/dist/Pagination.js +16 -4
  75. package/dist/Pagination.js.map +1 -1
  76. package/dist/PasswordField.d.ts +14 -4
  77. package/dist/PasswordField.js +24 -15
  78. package/dist/PasswordField.js.map +1 -1
  79. package/dist/PhoneNumberField.d.ts +32 -0
  80. package/dist/PhoneNumberField.js +51 -2
  81. package/dist/PhoneNumberField.js.map +1 -1
  82. package/dist/RatingBar.d.ts +53 -0
  83. package/dist/RatingBar.js +96 -0
  84. package/dist/RatingBar.js.map +1 -0
  85. package/dist/Review.d.ts +71 -0
  86. package/dist/Review.js +108 -0
  87. package/dist/Review.js.map +1 -0
  88. package/dist/ReviewItem.d.ts +105 -0
  89. package/dist/ReviewItem.js +157 -0
  90. package/dist/ReviewItem.js.map +1 -0
  91. package/dist/Search.d.ts +64 -2
  92. package/dist/Search.js +62 -8
  93. package/dist/Search.js.map +1 -1
  94. package/dist/SearchableListBase.d.ts +1 -1
  95. package/dist/SearchableListBase.js +1 -1
  96. package/dist/SearchableListBase.js.map +1 -1
  97. package/dist/SecondaryNavigation.d.ts +9 -8
  98. package/dist/SecondaryNavigation.js +59 -46
  99. package/dist/SecondaryNavigation.js.map +1 -1
  100. package/dist/SecondaryNavigationItem.d.ts +1 -1
  101. package/dist/SecondaryNavigationItem.js +15 -5
  102. package/dist/SecondaryNavigationItem.js.map +1 -1
  103. package/dist/SecondaryNavigationItemBase.d.ts +16 -2
  104. package/dist/SecondaryNavigationItemBase.js +27 -1
  105. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  106. package/dist/SecondaryNavigationSubItem.d.ts +2 -1
  107. package/dist/SecondaryNavigationSubItem.js +5 -2
  108. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  109. package/dist/SelectBox.d.ts +33 -9
  110. package/dist/SelectBox.js +121 -60
  111. package/dist/SelectBox.js.map +1 -1
  112. package/dist/StatusBadge.d.ts +5 -5
  113. package/dist/StatusBadge.js.map +1 -1
  114. package/dist/Switch.d.ts +20 -0
  115. package/dist/Switch.js +22 -0
  116. package/dist/Switch.js.map +1 -1
  117. package/dist/Tab.d.ts +9 -1
  118. package/dist/Tab.js +4 -1
  119. package/dist/Tab.js.map +1 -1
  120. package/dist/TabNavigation.d.ts +21 -21
  121. package/dist/TabNavigation.js +83 -102
  122. package/dist/TabNavigation.js.map +1 -1
  123. package/dist/Tag.d.ts +22 -7
  124. package/dist/Tag.js +52 -21
  125. package/dist/Tag.js.map +1 -1
  126. package/dist/TagGroup.d.ts +94 -0
  127. package/dist/TagGroup.js +174 -0
  128. package/dist/TagGroup.js.map +1 -0
  129. package/dist/TextArea.d.ts +14 -1
  130. package/dist/TextArea.js +18 -0
  131. package/dist/TextArea.js.map +1 -1
  132. package/dist/TextField.d.ts +32 -13
  133. package/dist/TextField.js +32 -2
  134. package/dist/TextField.js.map +1 -1
  135. package/dist/Tooltip.d.ts +3 -3
  136. package/dist/Tooltip.js +4 -4
  137. package/dist/Tooltip.js.map +1 -1
  138. package/dist/assets/bundle.esm-bb1c7413.js +316 -0
  139. package/dist/assets/messagebundle_en-c677773a.js +1 -0
  140. package/dist/assets/parameters-bundle.css-c897ae23.js +2 -0
  141. package/dist/assets/video.es-60bfb78c.js +228 -0
  142. package/dist/css/themes/AccordionItem.css +1 -1
  143. package/dist/css/themes/Avatar.css +1 -1
  144. package/dist/css/themes/Badge.css +1 -1
  145. package/dist/css/themes/CountrySelector.css +1 -1
  146. package/dist/css/themes/Divider.css +1 -1
  147. package/dist/css/themes/FilterMenu.css +1 -1
  148. package/dist/css/themes/Footer.css +1 -1
  149. package/dist/css/themes/HeroBanner.css +1 -1
  150. package/dist/css/themes/ListItem.css +1 -1
  151. package/dist/css/themes/MastheadItem.css +1 -1
  152. package/dist/css/themes/MastheadMobileMenu.css +1 -1
  153. package/dist/css/themes/MastheadShell.css +1 -1
  154. package/dist/css/themes/Modal.css +1 -1
  155. package/dist/css/themes/Pagination.css +1 -1
  156. package/dist/css/themes/PhoneNumberField.css +1 -1
  157. package/dist/css/themes/RatingBar.css +1 -0
  158. package/dist/css/themes/RatingIndicator.css +1 -1
  159. package/dist/css/themes/Review.css +1 -0
  160. package/dist/css/themes/ReviewItem.css +1 -0
  161. package/dist/css/themes/Search.css +1 -1
  162. package/dist/css/themes/SecondaryNavigation.css +1 -1
  163. package/dist/css/themes/SecondaryNavigationItem.css +1 -1
  164. package/dist/css/themes/SecondaryNavigationSubItem.css +1 -1
  165. package/dist/css/themes/SelectBox.css +1 -1
  166. package/dist/css/themes/Slider.css +1 -1
  167. package/dist/css/themes/StepInput.css +1 -1
  168. package/dist/css/themes/TabNavigation.css +1 -1
  169. package/dist/css/themes/Tag.css +1 -1
  170. package/dist/css/themes/TagGroup.css +1 -0
  171. package/dist/css/themes/TextArea.css +1 -1
  172. package/dist/css/themes/TextField.css +1 -1
  173. package/dist/css/themes/Toast.css +1 -1
  174. package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
  175. package/dist/custom-elements-internal.json +1435 -444
  176. package/dist/custom-elements.json +1267 -358
  177. package/dist/data/CountryListISO3166.js +162 -162
  178. package/dist/data/CountryListISO3166.js.map +1 -1
  179. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  180. package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +1 -1
  181. package/dist/generated/i18n/i18n-defaults.d.ts +11 -1
  182. package/dist/generated/i18n/i18n-defaults.js +18 -8
  183. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  184. package/dist/generated/templates/AccordionItemTemplate.lit.js +1 -1
  185. package/dist/generated/templates/AccordionItemTemplate.lit.js.map +1 -1
  186. package/dist/generated/templates/CountrySelectorTemplate.lit.js +3 -3
  187. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  188. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  189. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  190. package/dist/generated/templates/DropdownTemplate.lit.js +2 -2
  191. package/dist/generated/templates/DropdownTemplate.lit.js.map +1 -1
  192. package/dist/generated/templates/FilterMenuTemplate.lit.js +1 -1
  193. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  194. package/dist/generated/templates/FooterTemplate.lit.js +26 -28
  195. package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
  196. package/dist/generated/templates/HeroBannerTemplate.lit.js +7 -7
  197. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  198. package/dist/generated/templates/ListItemTemplate.lit.js +6 -6
  199. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  200. package/dist/generated/templates/ListSelectAllTemplate.lit.js +1 -1
  201. package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +1 -1
  202. package/dist/generated/templates/MastheadItemTemplate.lit.js +3 -3
  203. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  204. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +1 -1
  205. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
  206. package/dist/generated/templates/MastheadMenuTemplate.lit.js +2 -2
  207. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  208. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +16 -12
  209. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  210. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +2 -2
  211. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
  212. package/dist/generated/templates/MastheadShellTemplate.lit.js +8 -8
  213. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  214. package/dist/generated/templates/MediaPlayerTemplate.lit.js +2 -2
  215. package/dist/generated/templates/MediaPlayerTemplate.lit.js.map +1 -1
  216. package/dist/generated/templates/PaginationTemplate.lit.js +1 -1
  217. package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
  218. package/dist/generated/templates/PasswordFieldTemplate.lit.js +1 -2
  219. package/dist/generated/templates/PasswordFieldTemplate.lit.js.map +1 -1
  220. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +6 -3
  221. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  222. package/dist/generated/templates/RatingBarTemplate.lit.d.ts +4 -0
  223. package/dist/generated/templates/RatingBarTemplate.lit.js +6 -0
  224. package/dist/generated/templates/RatingBarTemplate.lit.js.map +1 -0
  225. package/dist/generated/templates/ReviewItemTemplate.lit.d.ts +4 -0
  226. package/dist/generated/templates/ReviewItemTemplate.lit.js +8 -0
  227. package/dist/generated/templates/ReviewItemTemplate.lit.js.map +1 -0
  228. package/dist/generated/templates/ReviewTemplate.lit.d.ts +4 -0
  229. package/dist/generated/templates/ReviewTemplate.lit.js +10 -0
  230. package/dist/generated/templates/ReviewTemplate.lit.js.map +1 -0
  231. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js +1 -1
  232. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +1 -1
  233. package/dist/generated/templates/SearchTemplate.lit.js +7 -7
  234. package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
  235. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +3 -3
  236. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
  237. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +5 -4
  238. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +1 -1
  239. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +7 -6
  240. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  241. package/dist/generated/templates/SelectBoxTemplate.lit.js +2 -2
  242. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  243. package/dist/generated/templates/SwitchTemplate.lit.js +2 -2
  244. package/dist/generated/templates/SwitchTemplate.lit.js.map +1 -1
  245. package/dist/generated/templates/TabHeaderTemplate.lit.js +2 -2
  246. package/dist/generated/templates/TabHeaderTemplate.lit.js.map +1 -1
  247. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -6
  248. package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -1
  249. package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js +1 -1
  250. package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js.map +1 -1
  251. package/dist/generated/templates/TabNavigationTemplate.lit.js +4 -2
  252. package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
  253. package/dist/generated/templates/TagGroupTemplate.lit.d.ts +4 -0
  254. package/dist/generated/templates/TagGroupTemplate.lit.js +8 -0
  255. package/dist/generated/templates/TagGroupTemplate.lit.js.map +1 -0
  256. package/dist/generated/templates/TagTemplate.lit.js +13 -3
  257. package/dist/generated/templates/TagTemplate.lit.js.map +1 -1
  258. package/dist/generated/templates/TextAreaTemplate.lit.js +1 -1
  259. package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
  260. package/dist/generated/templates/TextFieldTemplate.lit.js +2 -2
  261. package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
  262. package/dist/generated/templates/TooltipTemplate.lit.js +1 -1
  263. package/dist/generated/templates/TooltipTemplate.lit.js.map +1 -1
  264. package/dist/generated/themes/AccordionItem.css.js +1 -1
  265. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  266. package/dist/generated/themes/Avatar.css.js +1 -1
  267. package/dist/generated/themes/Avatar.css.js.map +1 -1
  268. package/dist/generated/themes/Badge.css.js +1 -1
  269. package/dist/generated/themes/Badge.css.js.map +1 -1
  270. package/dist/generated/themes/CountrySelector.css.js +1 -1
  271. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  272. package/dist/generated/themes/Divider.css.js +1 -1
  273. package/dist/generated/themes/Divider.css.js.map +1 -1
  274. package/dist/generated/themes/FilterMenu.css.js +1 -1
  275. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  276. package/dist/generated/themes/Footer.css.js +1 -1
  277. package/dist/generated/themes/Footer.css.js.map +1 -1
  278. package/dist/generated/themes/HeroBanner.css.js +1 -1
  279. package/dist/generated/themes/HeroBanner.css.js.map +1 -1
  280. package/dist/generated/themes/ListItem.css.js +1 -1
  281. package/dist/generated/themes/ListItem.css.js.map +1 -1
  282. package/dist/generated/themes/MastheadItem.css.js +1 -1
  283. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  284. package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
  285. package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
  286. package/dist/generated/themes/MastheadShell.css.js +1 -1
  287. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  288. package/dist/generated/themes/Modal.css.js +1 -1
  289. package/dist/generated/themes/Modal.css.js.map +1 -1
  290. package/dist/generated/themes/Pagination.css.js +1 -1
  291. package/dist/generated/themes/Pagination.css.js.map +1 -1
  292. package/dist/generated/themes/PhoneNumberField.css.js +1 -1
  293. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  294. package/dist/generated/themes/RatingBar.css.js +9 -0
  295. package/dist/generated/themes/RatingBar.css.js.map +1 -0
  296. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  297. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  298. package/dist/generated/themes/Review.css.d.ts +3 -0
  299. package/dist/generated/themes/Review.css.js +9 -0
  300. package/dist/generated/themes/Review.css.js.map +1 -0
  301. package/dist/generated/themes/ReviewItem.css.d.ts +3 -0
  302. package/dist/generated/themes/ReviewItem.css.js +9 -0
  303. package/dist/generated/themes/ReviewItem.css.js.map +1 -0
  304. package/dist/generated/themes/Search.css.js +1 -1
  305. package/dist/generated/themes/Search.css.js.map +1 -1
  306. package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
  307. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  308. package/dist/generated/themes/SecondaryNavigationItem.css.js +1 -1
  309. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
  310. package/dist/generated/themes/SecondaryNavigationSubItem.css.js +1 -1
  311. package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
  312. package/dist/generated/themes/SelectBox.css.js +1 -1
  313. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  314. package/dist/generated/themes/Slider.css.js +1 -1
  315. package/dist/generated/themes/Slider.css.js.map +1 -1
  316. package/dist/generated/themes/StepInput.css.js +1 -1
  317. package/dist/generated/themes/StepInput.css.js.map +1 -1
  318. package/dist/generated/themes/TabNavigation.css.js +1 -1
  319. package/dist/generated/themes/TabNavigation.css.js.map +1 -1
  320. package/dist/generated/themes/Tag.css.js +1 -1
  321. package/dist/generated/themes/Tag.css.js.map +1 -1
  322. package/dist/generated/themes/TagGroup.css.d.ts +3 -0
  323. package/dist/generated/themes/TagGroup.css.js +9 -0
  324. package/dist/generated/themes/TagGroup.css.js.map +1 -0
  325. package/dist/generated/themes/TextArea.css.js +1 -1
  326. package/dist/generated/themes/TextArea.css.js.map +1 -1
  327. package/dist/generated/themes/TextField.css.js +1 -1
  328. package/dist/generated/themes/TextField.css.js.map +1 -1
  329. package/dist/generated/themes/Toast.css.js +1 -1
  330. package/dist/generated/themes/Toast.css.js.map +1 -1
  331. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +1 -1
  332. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +1 -1
  333. package/dist/i18n/messagebundle.properties +35 -7
  334. package/dist/i18n/messagebundle_en.properties +17 -7
  335. package/dist/vscode.html-custom-data.json +260 -95
  336. package/dist/web-types.json +605 -183
  337. package/package.json +9 -9
  338. package/src/Accordion.ts +1 -1
  339. package/src/AccordionItem.hbs +1 -4
  340. package/src/AccordionItem.ts +6 -5
  341. package/src/Avatar.ts +24 -1
  342. package/src/AvatarGroup.ts +135 -0
  343. package/src/Checkbox.ts +1 -1
  344. package/src/CountrySelector.hbs +19 -15
  345. package/src/CountrySelector.ts +42 -9
  346. package/src/DatePicker.hbs +7 -9
  347. package/src/DatePicker.ts +14 -10
  348. package/src/Dropdown.hbs +8 -2
  349. package/src/Dropdown.ts +27 -6
  350. package/src/FilterMenu.hbs +58 -56
  351. package/src/FilterMenu.ts +101 -39
  352. package/src/Footer.hbs +21 -37
  353. package/src/Footer.ts +74 -52
  354. package/src/HeroBanner.hbs +22 -15
  355. package/src/HeroBanner.ts +3 -0
  356. package/src/Link.ts +1 -1
  357. package/src/List.ts +43 -23
  358. package/src/ListGroupHeader.ts +2 -2
  359. package/src/ListItem.hbs +4 -2
  360. package/src/ListItem.ts +8 -10
  361. package/src/ListSelectAll.hbs +1 -1
  362. package/src/ListSelectAll.ts +1 -1
  363. package/src/MastheadItem.hbs +7 -5
  364. package/src/MastheadItem.ts +44 -11
  365. package/src/MastheadMenu.hbs +4 -2
  366. package/src/MastheadMenu.ts +30 -0
  367. package/src/MastheadMenuItem.hbs +0 -2
  368. package/src/MastheadMenuItem.ts +2 -16
  369. package/src/MastheadMobileMenu.hbs +36 -10
  370. package/src/MastheadMobileMenu.ts +162 -22
  371. package/src/MastheadProfileMenu.hbs +6 -2
  372. package/src/MastheadProfileMenu.ts +66 -20
  373. package/src/MastheadShell.hbs +14 -4
  374. package/src/MastheadShell.ts +67 -8
  375. package/src/MediaPlayer.hbs +1 -3
  376. package/src/MediaPlayer.ts +122 -26
  377. package/src/MessageStrip.ts +1 -1
  378. package/src/Pagination.hbs +4 -2
  379. package/src/Pagination.ts +19 -4
  380. package/src/PasswordField.hbs +6 -17
  381. package/src/PasswordField.ts +31 -23
  382. package/src/PhoneNumberField.hbs +26 -6
  383. package/src/PhoneNumberField.ts +77 -2
  384. package/src/RatingBar.hbs +11 -0
  385. package/src/RatingBar.ts +113 -0
  386. package/src/Review.hbs +44 -0
  387. package/src/Review.ts +140 -0
  388. package/src/ReviewItem.hbs +20 -0
  389. package/src/ReviewItem.ts +227 -0
  390. package/src/Search.hbs +19 -14
  391. package/src/Search.ts +113 -6
  392. package/src/SearchSuggestions.hbs +1 -0
  393. package/src/SearchableListBase.ts +1 -1
  394. package/src/SecondaryNavigation.hbs +14 -8
  395. package/src/SecondaryNavigation.ts +76 -56
  396. package/src/SecondaryNavigationItem.hbs +3 -2
  397. package/src/SecondaryNavigationItem.ts +15 -5
  398. package/src/SecondaryNavigationItemBase.ts +41 -3
  399. package/src/SecondaryNavigationSubItem.hbs +13 -10
  400. package/src/SecondaryNavigationSubItem.ts +6 -2
  401. package/src/SelectBox.hbs +84 -83
  402. package/src/SelectBox.ts +155 -72
  403. package/src/StatusBadge.ts +2 -2
  404. package/src/Switch.hbs +3 -3
  405. package/src/Switch.ts +25 -0
  406. package/src/Tab.ts +11 -1
  407. package/src/TabHeader.hbs +3 -1
  408. package/src/TabInOverflow.hbs +19 -6
  409. package/src/TabNavigation.hbs +22 -12
  410. package/src/TabNavigation.ts +93 -117
  411. package/src/TabNavigationPopover.hbs +1 -0
  412. package/src/Tag.hbs +76 -26
  413. package/src/Tag.ts +77 -36
  414. package/src/TagGroup.hbs +48 -0
  415. package/src/TagGroup.ts +222 -0
  416. package/src/TextArea.hbs +36 -34
  417. package/src/TextArea.ts +28 -0
  418. package/src/TextField.hbs +45 -39
  419. package/src/TextField.ts +73 -17
  420. package/src/Tooltip.hbs +2 -2
  421. package/src/Tooltip.ts +5 -5
  422. package/src/data/CountryListISO3166.ts +162 -162
  423. package/src/generated/i18n/i18n-defaults.ts +2 -2
  424. package/src/generated/templates/AccordionItemTemplate.lit.ts +1 -1
  425. package/src/generated/templates/CountrySelectorTemplate.lit.ts +3 -3
  426. package/src/generated/templates/DatePickerTemplate.lit.ts +1 -1
  427. package/src/generated/templates/DropdownTemplate.lit.ts +2 -2
  428. package/src/generated/templates/FilterMenuTemplate.lit.ts +1 -1
  429. package/src/generated/templates/FooterTemplate.lit.ts +26 -28
  430. package/src/generated/templates/HeroBannerTemplate.lit.ts +7 -7
  431. package/src/generated/templates/ListItemTemplate.lit.ts +6 -6
  432. package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
  433. package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
  434. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +1 -1
  435. package/src/generated/templates/MastheadMenuTemplate.lit.ts +2 -2
  436. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +16 -12
  437. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +2 -2
  438. package/src/generated/templates/MastheadShellTemplate.lit.ts +8 -8
  439. package/src/generated/templates/MediaPlayerTemplate.lit.ts +2 -2
  440. package/src/generated/templates/PaginationTemplate.lit.ts +1 -1
  441. package/src/generated/templates/PasswordFieldTemplate.lit.ts +1 -2
  442. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +6 -3
  443. package/src/generated/templates/RatingBarTemplate.lit.ts +11 -0
  444. package/src/generated/templates/ReviewItemTemplate.lit.ts +13 -0
  445. package/src/generated/templates/ReviewTemplate.lit.ts +15 -0
  446. package/src/generated/templates/SearchSuggestionsTemplate.lit.ts +1 -1
  447. package/src/generated/templates/SearchTemplate.lit.ts +7 -7
  448. package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +3 -3
  449. package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +5 -4
  450. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -6
  451. package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
  452. package/src/generated/templates/SwitchTemplate.lit.ts +2 -2
  453. package/src/generated/templates/TabHeaderTemplate.lit.ts +2 -2
  454. package/src/generated/templates/TabInOverflowTemplate.lit.ts +6 -6
  455. package/src/generated/templates/TabNavigationPopoverTemplate.lit.ts +1 -1
  456. package/src/generated/templates/TabNavigationTemplate.lit.ts +4 -2
  457. package/src/generated/templates/TagGroupTemplate.lit.ts +13 -0
  458. package/src/generated/templates/TagTemplate.lit.ts +13 -3
  459. package/src/generated/templates/TextAreaTemplate.lit.ts +1 -1
  460. package/src/generated/templates/TextFieldTemplate.lit.ts +2 -2
  461. package/src/generated/templates/TooltipTemplate.lit.ts +1 -1
  462. package/src/generated/themes/AccordionItem.css.ts +1 -1
  463. package/src/generated/themes/Avatar.css.ts +1 -1
  464. package/src/generated/themes/Badge.css.ts +1 -1
  465. package/src/generated/themes/CountrySelector.css.ts +1 -1
  466. package/src/generated/themes/Divider.css.ts +1 -1
  467. package/src/generated/themes/FilterMenu.css.ts +1 -1
  468. package/src/generated/themes/Footer.css.ts +1 -1
  469. package/src/generated/themes/HeroBanner.css.ts +1 -1
  470. package/src/generated/themes/ListItem.css.ts +1 -1
  471. package/src/generated/themes/MastheadItem.css.ts +1 -1
  472. package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
  473. package/src/generated/themes/MastheadShell.css.ts +1 -1
  474. package/src/generated/themes/Modal.css.ts +1 -1
  475. package/src/generated/themes/Pagination.css.ts +1 -1
  476. package/src/generated/themes/PhoneNumberField.css.ts +1 -1
  477. package/src/generated/themes/RatingBar.css.ts +13 -0
  478. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  479. package/src/generated/themes/Review.css.ts +13 -0
  480. package/src/generated/themes/ReviewItem.css.ts +13 -0
  481. package/src/generated/themes/Search.css.ts +1 -1
  482. package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
  483. package/src/generated/themes/SecondaryNavigationItem.css.ts +1 -1
  484. package/src/generated/themes/SecondaryNavigationSubItem.css.ts +1 -1
  485. package/src/generated/themes/SelectBox.css.ts +1 -1
  486. package/src/generated/themes/Slider.css.ts +1 -1
  487. package/src/generated/themes/StepInput.css.ts +1 -1
  488. package/src/generated/themes/TabNavigation.css.ts +1 -1
  489. package/src/generated/themes/Tag.css.ts +1 -1
  490. package/src/generated/themes/TagGroup.css.ts +13 -0
  491. package/src/generated/themes/TextArea.css.ts +1 -1
  492. package/src/generated/themes/TextField.css.ts +1 -1
  493. package/src/generated/themes/Toast.css.ts +1 -1
  494. package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
  495. package/src/i18n/messagebundle.properties +35 -7
  496. package/src/i18n/messagebundle_en.properties +17 -7
  497. package/src/themes/AccordionItem.css +6 -4
  498. package/src/themes/Avatar.css +24 -7
  499. package/src/themes/Badge.css +1 -1
  500. package/src/themes/CountrySelector.css +49 -26
  501. package/src/themes/Divider.css +6 -2
  502. package/src/themes/FilterMenu.css +52 -15
  503. package/src/themes/Footer.css +93 -168
  504. package/src/themes/HeroBanner.css +52 -24
  505. package/src/themes/ListItem.css +4 -0
  506. package/src/themes/MastheadItem.css +12 -2
  507. package/src/themes/MastheadMobileMenu.css +4 -0
  508. package/src/themes/MastheadShell.css +25 -29
  509. package/src/themes/Modal.css +6 -0
  510. package/src/themes/Pagination.css +7 -0
  511. package/src/themes/PhoneNumberField.css +15 -1
  512. package/src/themes/RatingBar.css +52 -0
  513. package/src/themes/Review.css +196 -0
  514. package/src/themes/ReviewItem.css +121 -0
  515. package/src/themes/Search.css +46 -25
  516. package/src/themes/SecondaryNavigation.css +41 -13
  517. package/src/themes/SecondaryNavigationItem.css +6 -4
  518. package/src/themes/SecondaryNavigationSubItem.css +5 -5
  519. package/src/themes/SelectBox.css +51 -24
  520. package/src/themes/StepInput.css +5 -2
  521. package/src/themes/TabNavigation.css +7 -1
  522. package/src/themes/Tag.css +200 -148
  523. package/src/themes/TagGroup.css +90 -0
  524. package/src/themes/TextArea.css +13 -0
  525. package/src/themes/TextField.css +97 -60
  526. package/src/themes/Toast.css +4 -0
  527. package/dist/assets/bundle.esm-f65ae7da.js +0 -315
  528. package/dist/assets/messagebundle_en-7249941b.js +0 -1
  529. package/dist/assets/parameters-bundle.css-76ef62fa.js +0 -2
  530. package/dist/assets/video.es-17aecf95.js +0 -219
  531. package/dist/css/themes/PasswordField.css +0 -1
  532. package/dist/generated/themes/PasswordField.css.js +0 -9
  533. package/dist/generated/themes/PasswordField.css.js.map +0 -1
  534. package/src/generated/themes/PasswordField.css.ts +0 -13
  535. package/src/themes/PasswordField.css +0 -29
  536. /package/dist/generated/themes/{PasswordField.css.d.ts → RatingBar.css.d.ts} +0 -0
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
@@ -150,16 +150,16 @@ class UDExList extends UI5Element {
150
150
  UDExList.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
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
package/src/ListItem.hbs CHANGED
@@ -4,7 +4,6 @@
4
4
  role="{{roleItem}}"
5
5
  tabindex="{{_effectiveTabIndex}}"
6
6
  aria-disabled="{{_ariaDisabled}}"
7
- aria-labelledby="{{_accessibleNameRef}}"
8
7
  class="{{className}}"
9
8
  @click="{{handleItemClick}}"
10
9
  @mousedown="{{handleMouseDown}}"
@@ -52,7 +51,7 @@
52
51
  </li>
53
52
  {{/if}}
54
53
  {{#*inline "contentList"}}
55
- <div id="{{_id}}-content" class="udex-list__content-wrap">
54
+ <div class="udex-list__content-wrap" _id="{{this._id}}" aria-labelledby="{{this._id}}-invisibleText">
56
55
  {{#if flag}}
57
56
  <div class="udex-list__flag-wrap">
58
57
  <span class="udex-list__flag" style="background-position: {{flagPosition}}"></span>
@@ -102,6 +101,7 @@
102
101
  design="Tertiary"
103
102
  icon="{{editIcon}}"
104
103
  accessible-name="{{editButtonAccessibleName}}"
104
+ toolTip="{{editButtonAccessibleName}}"
105
105
  size="Small">
106
106
  </udex-button>
107
107
  {{/if}}
@@ -114,10 +114,12 @@
114
114
  design="Tertiary"
115
115
  size="Small"
116
116
  accessible-name="{{deleteButtonAccessibleName}}"
117
+ toolTip="{{deleteButtonAccessibleName}}"
117
118
  icon="{{deleteIcon}}">
118
119
  </udex-button>
119
120
  {{/if}}
120
121
  {{/if}}
121
122
  </div>
123
+ <div class="hidden" id="{{this._id}}-invisibleText">{{accessibleName}}</div>
122
124
  </div>
123
125
  {{/inline}}
package/src/ListItem.ts CHANGED
@@ -36,7 +36,7 @@ import ListItemCss from "./generated/themes/ListItem.css.js";
36
36
  * For the <code>udex-list-item</code>
37
37
  * <h3>ES6 Module Import</h3>
38
38
  *
39
- * <code>import @udex/web-components/dist/ListItem.js";</code>
39
+ * <code>import "@udex/web-components/dist/ListItem.js";</code>
40
40
  *
41
41
  * @constructor
42
42
  * @author SAP SE
@@ -109,7 +109,7 @@ class UDExListItem extends UDExListItemBase {
109
109
  /**
110
110
  * Defines the accessible name of the item.
111
111
  *
112
- * @defaultvalue ""
112
+ * @default ""
113
113
  * @public
114
114
  */
115
115
  @property()
@@ -261,6 +261,12 @@ class UDExListItem extends UDExListItemBase {
261
261
  }
262
262
  }
263
263
 
264
+ onAfterRendering() {
265
+ if (!this.accessibleRole || this.accessibleRole === "listitem") {
266
+ this.shadowRoot?.querySelector("li")?.removeAttribute("aria-selected");
267
+ }
268
+ }
269
+
264
270
  onExitDOM() {
265
271
  document.removeEventListener("mouseup", this.deactivate);
266
272
  }
@@ -387,14 +393,6 @@ class UDExListItem extends UDExListItemBase {
387
393
  return this.size === ListItemSize.Large;
388
394
  }
389
395
 
390
- get _accessibleNameRef(): string {
391
- if (this.accessibleName) {
392
- return `${this._id}-invisibleText`;
393
- }
394
-
395
- return `${this._id}-content`;
396
- }
397
-
398
396
  get stateAccessibleName(): string {
399
397
  if (this.indeterminate) { return UDExListItem.i18nBundle.getText(INDETERMINATE); }
400
398
  return `${this.selected ? UDExListItem.i18nBundle.getText(SELECTED) : UDExListItem.i18nBundle.getText(UNSELECTED)} `;
@@ -11,7 +11,7 @@
11
11
  _additional-class-name="{{additionalClassName}}"
12
12
  class="{{className}}"
13
13
  ?selected="{{selected}}"
14
- aria-selected="{{selected}}"
14
+ aria-current="{{selected}}"
15
15
  ?indeterminate="{{indeterminate}}"
16
16
  mode="{{multiselectMode}}"
17
17
  part="group-item"
@@ -20,7 +20,7 @@ import ListGroupHeaderCss from "./generated/themes/ListGroupHeader.css";
20
20
  *
21
21
  * <h3>Usage</h3>
22
22
  *
23
- * For the <code>udex--list-select-all</code>
23
+ * For the <code>udex-list-select-all</code>
24
24
  * <h3>ES6 Module Import</h3>
25
25
  *
26
26
  * <code>import "@udex/web-components/dist/ListSelectAll.js";</code>
@@ -7,19 +7,21 @@
7
7
  target="{{target}}"
8
8
  href="{{href}}"
9
9
  aria-labelledby="{{ariaLabelledBy}}"
10
- aria-label="{{accessibleName}}">
10
+ aria-label="{{accessibleLabel}}"
11
+ @click="{{handleNavigationItemClick}}">
11
12
  {{> content}}
12
13
  </a>
13
14
  {{else if isProfileBtn}}
14
15
  <span
15
16
  id="{{this._id}}"
17
+ role="combobox"
16
18
  class="udex-masthead-item__btn {{additionalClass}}"
17
19
  aria-expanded="{{selected}}"
18
20
  aria-labelledby="{{ariaLabelledBy}}"
19
21
  aria-haspopup="{{hasDropdownSlot}}"
20
- aria-label="{{accessibleName}}"
22
+ aria-label="{{accessibleLabel}}"
21
23
  @keydown="{{handleKeyDown}}"
22
- @click="{{onClick}}">
24
+ @click="{{handleNavigationItemClick}}">
23
25
  {{> content}}
24
26
  </span>
25
27
  {{#if showDropdown}}
@@ -33,9 +35,9 @@
33
35
  aria-expanded="{{selected}}"
34
36
  aria-labelledby="{{ariaLabelledBy}}"
35
37
  aria-haspopup="{{hasDropdownSlot}}"
36
- aria-label="{{accessibleName}}"
38
+ aria-label="{{accessibleLabel}}"
37
39
  @keydown="{{handleKeyDown}}"
38
- @click="{{onClick}}">
40
+ @click="{{handleNavigationItemClick}}">
39
41
  {{> content}}
40
42
  </button>
41
43
  {{#if showDropdown}}
@@ -1,6 +1,8 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
3
3
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
+ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
5
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
4
6
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
5
7
  import event from "@ui5/webcomponents-base/dist/decorators/event.js";
6
8
  import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
@@ -8,6 +10,7 @@ import "@ui5/webcomponents-icons/dist/search.js";
8
10
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
9
11
  import { isEscape } from "@ui5/webcomponents-base/dist/Keys.js";
10
12
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
13
+ import { PROFILE } from "./generated/i18n/i18n-defaults.js";
11
14
  import UDExMastheadMenu from "./MastheadMenu.js";
12
15
  import UDExAvatar from "./Avatar.js";
13
16
  import MastheadShell from "./MastheadShell.js";
@@ -18,6 +21,8 @@ import MastheadItemTemplate from "./generated/templates/MastheadItemTemplate.lit
18
21
  // Styles
19
22
  import MastheadItemCss from "./generated/themes/MastheadItem.css.js";
20
23
 
24
+ const breakpointSizeM: number = 1279;
25
+
21
26
  export interface IMastheadItem {
22
27
  text?: string;
23
28
  selected?: boolean;
@@ -36,12 +41,18 @@ export type SubMenuLinkItem = {
36
41
  category: string;
37
42
  url?: string;
38
43
  items: CategoryItem[];
44
+ index: number;
39
45
  };
40
46
 
41
47
  export type MenuItem = {
42
48
  subMenuLinkItems: SubMenuLinkItem[];
43
49
  };
44
50
 
51
+ export type ItemClickEventDetail = {
52
+ originalEvent: Event,
53
+ item: UDExMastheadItem,
54
+ }
55
+
45
56
  /**
46
57
  * @class
47
58
  *
@@ -76,7 +87,17 @@ export type MenuItem = {
76
87
  * @allowPreventDefault
77
88
  * @public
78
89
  */
79
- @event("click")
90
+ @event("item-click", {
91
+ detail: {
92
+ item: {
93
+ type: HTMLElement,
94
+ },
95
+ originalEvent: {
96
+ type: PointerEvent,
97
+ },
98
+ },
99
+ })
100
+
80
101
  class UDExMastheadItem extends UI5Element implements IMastheadItem {
81
102
  /**
82
103
  * Defines sub items for item
@@ -164,7 +185,7 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
164
185
  * @public
165
186
  */
166
187
  @property({ type: String, defaultValue: "" })
167
- iconAlt?: string = "";
188
+ iconAlt?: string;
168
189
 
169
190
  /**
170
191
  * Hide active border for item
@@ -202,6 +223,11 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
202
223
  content?: Array<HTMLElement>;
203
224
 
204
225
  _profileAvatar!: UDExAvatar;
226
+ static i18nBundle: I18nBundle;
227
+
228
+ static async onDefine(): Promise<void> {
229
+ UDExMastheadItem.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
230
+ }
205
231
 
206
232
  onEnterDOM() {
207
233
  if (isDesktop()) {
@@ -217,12 +243,6 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
217
243
  }
218
244
  }
219
245
 
220
- onClick(e: Event): void {
221
- e.stopPropagation();
222
- this.fireEvent("click", { item: this });
223
- this.selected = this.isMobile ? true : !this.selected;
224
- }
225
-
226
246
  handleKeyDown(e: KeyboardEvent): void {
227
247
  if (isEscape(e) && this.hasDropdownSlot) {
228
248
  if (this.isMobile) {
@@ -254,6 +274,15 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
254
274
  }
255
275
  }
256
276
 
277
+ handleNavigationItemClick(e: Event): void {
278
+ this.selected = this.isMobile ? true : !this.selected;
279
+
280
+ this.fireEvent<ItemClickEventDetail>("item-click", {
281
+ item: this,
282
+ originalEvent: e,
283
+ });
284
+ }
285
+
257
286
  setDropdownInsetStart(): void {
258
287
  const dropdown = this.getDomElement(".udex-masthead-item__dropdown");
259
288
  if (dropdown) {
@@ -369,20 +398,24 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
369
398
  return this.hasDropdownSlot && !this.isProfileBtn && !this.icon.length;
370
399
  }
371
400
 
372
- get isProfileBtn():boolean {
401
+ get isProfileBtn(): boolean {
373
402
  return this.getAttribute("slot") === "profile";
374
403
  }
375
404
 
376
- get isExploreBtn():boolean {
405
+ get isExploreBtn(): boolean {
377
406
  return this.getAttribute("slot") === "exploreSAP";
378
407
  }
379
408
 
409
+ get accessibleLabel(): string {
410
+ return this.accessibleName || this.innerText || (this.isProfileBtn ? UDExMastheadItem.i18nBundle.getText(PROFILE) : "");
411
+ }
412
+
380
413
  get isMenuItem(): boolean {
381
414
  return true;
382
415
  }
383
416
 
384
417
  get isMobile(): boolean {
385
- return window.innerWidth < 1279;
418
+ return window.innerWidth < breakpointSizeM;
386
419
  }
387
420
  }
388
421
 
@@ -22,6 +22,7 @@
22
22
  {{#*inline "header"}}
23
23
  <div class="udex-masthead-menu__header">
24
24
  <udex-masthead-menu-item
25
+ @click="{{../../handleMenuItemClick}}"
25
26
  url="{{this.url}}"
26
27
  label="{{this.category}}"
27
28
  ?icon-end="{{this.url}}"
@@ -36,11 +37,12 @@
36
37
  {{#each this.items}}
37
38
  <li role="none">
38
39
  <udex-masthead-menu-item
39
- role="menuitem"
40
+ @click="{{../../../handleMenuItemClick}}"
40
41
  badge="{{this.badge}}"
41
42
  ?external-link="{{this.externalLink}}"
42
43
  url="{{this.url}}"
43
- label="{{this.title}}">
44
+ label="{{this.title}}"
45
+ role="menuitem" >
44
46
  </udex-masthead-menu-item>
45
47
  </li>
46
48
  {{/each}}
@@ -3,6 +3,7 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
3
3
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
4
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
5
5
  import Icon from "@ui5/webcomponents/dist/Icon.js";
6
+ import event from "@ui5/webcomponents-base/dist/decorators/event.js";
6
7
  import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
7
8
  import "@ui5/webcomponents-icons/dist/action.js";
8
9
  import { isUp, isDown } from "@ui5/webcomponents-base/dist/Keys.js";
@@ -29,6 +30,11 @@ export type MenuItem = {
29
30
  subMenuLinkItems: SubMenuLinkItem[];
30
31
  };
31
32
 
33
+ export type MenuItemClickEventDetail = {
34
+ originalEvent: Event,
35
+ item: UDExMastheadMenuItem,
36
+ }
37
+
32
38
  /**
33
39
  * @class
34
40
  *
@@ -54,6 +60,23 @@ export type MenuItem = {
54
60
  dependencies: [Icon, UDExBadge, UDExMastheadMenuItem],
55
61
  })
56
62
 
63
+ /**
64
+ * Fires when menu item is clicked
65
+ *
66
+ * @allowPreventDefault
67
+ * @public
68
+ */
69
+ @event("menu-item-click", {
70
+ detail: {
71
+ item: {
72
+ type: HTMLElement,
73
+ },
74
+ originalEvent: {
75
+ type: PointerEvent,
76
+ },
77
+ },
78
+ })
79
+
57
80
  class UDExMastheadMenu extends UI5Element {
58
81
  /**
59
82
  * Defines a menu heading
@@ -94,6 +117,13 @@ class UDExMastheadMenu extends UI5Element {
94
117
  }
95
118
  }
96
119
 
120
+ handleMenuItemClick(e: Event) {
121
+ this.fireEvent<MenuItemClickEventDetail>("menu-item-click", {
122
+ item: e.target as UDExMastheadMenuItem,
123
+ originalEvent: e,
124
+ });
125
+ }
126
+
97
127
  focusPreviousItem(item: UDExMastheadMenuItem): void {
98
128
  const currentSelectedIndex = this.getCurrentIndex(item);
99
129
  const lastItemIndex = this.links.length - 1;
@@ -27,7 +27,6 @@
27
27
  {{else}}
28
28
  {{#if isButtonType}}
29
29
  <button
30
- @click="{{handleClick}}"
31
30
  _id="{{id}}"
32
31
  class="udex-masthead-menu-item {{rootClass}}"
33
32
  part="menu-item-button"
@@ -85,4 +84,3 @@
85
84
  part="right">
86
85
  </ui5-icon>
87
86
  {{/inline}}
88
-
@@ -1,6 +1,5 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
3
- import event from "@ui5/webcomponents-base/dist/decorators/event.js";
4
3
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
5
4
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
6
5
  import Icon from "@ui5/webcomponents/dist/Icon.js";
@@ -26,14 +25,14 @@ export enum ItemType {
26
25
  *
27
26
  * <h3>Usage</h3>
28
27
  *
29
- * For the <code>masthead-menu-item</code>
28
+ * For the <code>udex-masthead-menu-item</code>
30
29
  * <h3>ES6 Module Import</h3>
31
30
  *
32
31
  * <code>import "@udex/web-components/dist/MastheadMenuItem.js";</code>
33
32
  *
34
33
  * @constructor
35
34
  * @extends UI5Element
36
- * @public
35
+ * @private
37
36
  */
38
37
  @customElement({
39
38
  tag: "udex-masthead-menu-item",
@@ -43,16 +42,6 @@ export enum ItemType {
43
42
  dependencies: [Icon],
44
43
  })
45
44
 
46
- /**
47
- * Fires when item button is clicked
48
- *
49
- * @public
50
- */
51
- @event("click", {
52
- detail: {
53
- item: { type: HTMLElement },
54
- },
55
- })
56
45
  class UDExMastheadMenuItem extends UI5Element {
57
46
  /**
58
47
  * Defines the type of the item.
@@ -144,9 +133,6 @@ class UDExMastheadMenuItem extends UI5Element {
144
133
  this.setAttribute("desktop", "");
145
134
  }
146
135
  }
147
- handleClick() {
148
- this.fireEvent("click", { item: this });
149
- }
150
136
 
151
137
  get rootClass(): string {
152
138
  const badgeClass = this.badge ? "udex-masthead-menu-item_badge" : "";