@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
@@ -23,6 +23,8 @@ import MastheadShellTemplate from "./generated/templates/MastheadShellTemplate.l
23
23
  import MastheadShellCss from "./generated/themes/MastheadShell.css.js";
24
24
 
25
25
  const mobileMenuActiveClass: string = "udex-masthead-shell_mobile-menu-open";
26
+ const breakpointSizeM: number = 1279;
27
+
26
28
  /**
27
29
  * @class
28
30
  *
@@ -57,7 +59,6 @@ const mobileMenuActiveClass: string = "udex-masthead-shell_mobile-menu-open";
57
59
  /**
58
60
  * Fired event when the user clicks the search button trigger.
59
61
  *
60
- * @event sap.ui.webc.web-components.UDExMastheadShell#searchClick
61
62
  * @public
62
63
  */
63
64
  @event("search-click")
@@ -65,7 +66,6 @@ const mobileMenuActiveClass: string = "udex-masthead-shell_mobile-menu-open";
65
66
  /**
66
67
  * Fired event when the user clicks the cart button trigger.
67
68
  *
68
- * @event sap.ui.webc.web-components.UDExMastheadShell#cartClick
69
69
  * @public
70
70
  */
71
71
  @event("cart-click")
@@ -73,10 +73,36 @@ const mobileMenuActiveClass: string = "udex-masthead-shell_mobile-menu-open";
73
73
  /**
74
74
  * Fired event when the user clicks the profile button trigger.
75
75
  *
76
- * @event sap.ui.webc.web-components.UDExMastheadShell#profileClick
77
76
  * @public
78
77
  */
79
78
  @event("profile-click")
79
+
80
+ /**
81
+ * Fired event when the user clicks the logo.
82
+ *
83
+ * @public
84
+ */
85
+ @event("logo-click", {
86
+ detail: {
87
+ originalEvent: {
88
+ type: PointerEvent,
89
+ },
90
+ },
91
+ })
92
+
93
+ /**
94
+ * Fired event when the user clicks the site label.
95
+ *
96
+ * @public
97
+ */
98
+ @event("site-label-click", {
99
+ detail: {
100
+ originalEvent: {
101
+ type: PointerEvent,
102
+ },
103
+ },
104
+ })
105
+
80
106
  class UDExMastheadShell extends UI5Element {
81
107
  /**
82
108
  * Slot for mobile menu
@@ -173,6 +199,15 @@ class UDExMastheadShell extends UI5Element {
173
199
  @property({ type: String, defaultValue: "" })
174
200
  logoUrl!: string;
175
201
 
202
+ /**
203
+ * Defines the Logo default title
204
+ *
205
+ * @default ""
206
+ * @public
207
+ */
208
+ @property({ type: String, defaultValue: "" })
209
+ logoTitle!: string;
210
+
176
211
  /**
177
212
  * Defines a site label. It will be displayed next to a logo.
178
213
  *
@@ -267,11 +302,15 @@ class UDExMastheadShell extends UI5Element {
267
302
  }
268
303
 
269
304
  _handleResize(): void {
270
- if (this._shouldHandleResize) {
271
- this._mobileMenu?.showFirstLevelMenu();
272
- this.removeOverflowBody();
305
+ if (this.isMobileView) {
306
+ this._isSearchVisible = false;
307
+ }
308
+
309
+ if (this._shouldHandleResize && this.isMobileView) {
310
+ this.resetMobileMenuOpenState();
273
311
  return;
274
312
  }
313
+
275
314
  this._shouldHandleResize = true;
276
315
  }
277
316
 
@@ -299,6 +338,14 @@ class UDExMastheadShell extends UI5Element {
299
338
  }
300
339
  }
301
340
 
341
+ handleLogoClick(e: CustomEvent): void {
342
+ this.fireEvent("logo-click", { originalEvent: e });
343
+ }
344
+
345
+ handleSiteLabelClick(e: CustomEvent): void {
346
+ this.fireEvent("site-label-click", { originalEvent: e });
347
+ }
348
+
302
349
  handleSearchClick(e: CustomEvent): void {
303
350
  e.stopPropagation();
304
351
  this._isSearchVisible = true;
@@ -311,13 +358,11 @@ class UDExMastheadShell extends UI5Element {
311
358
 
312
359
  handleCartClick(e: CustomEvent) {
313
360
  e.stopPropagation();
314
- this.setSelectedItem(e);
315
361
  this.fireEvent("cart-click");
316
362
  }
317
363
 
318
364
  handleProfileClick(e: CustomEvent): void {
319
365
  e.stopPropagation();
320
- this.setSelectedItem(e);
321
366
  this.fireEvent("profile-click");
322
367
  }
323
368
 
@@ -443,6 +488,16 @@ class UDExMastheadShell extends UI5Element {
443
488
  style.removeProperty("overflow");
444
489
  }
445
490
 
491
+ resetMobileMenuOpenState(): void {
492
+ this.removeActiveMobileClass();
493
+ this.resetSelectedItems();
494
+ this._mobileMenu?.showFirstLevelMenu();
495
+
496
+ if (this.bodyOverflow) {
497
+ this.removeOverflowBody();
498
+ }
499
+ }
500
+
446
501
  get searchOpener(): UDExMastheadItem | null | undefined {
447
502
  return this.shadowRoot?.querySelector(".udex-masthead-shell__search-btn");
448
503
  }
@@ -478,6 +533,10 @@ class UDExMastheadShell extends UI5Element {
478
533
  get hasMobileMenuButtons(): boolean {
479
534
  return !!this.mobileMenu.length;
480
535
  }
536
+
537
+ get isMobileView(): boolean {
538
+ return window.innerWidth <= breakpointSizeM;
539
+ }
481
540
  }
482
541
 
483
542
  UDExMastheadShell.define();
@@ -10,8 +10,7 @@
10
10
  <audio
11
11
  id="{{playerElementId}}"
12
12
  class="udex-media-player__video video-js {{aspectRatioClass}}"
13
- preload="auto"
14
- data-setup="{{dataSetup}}"
13
+ preload="auto"
15
14
  >
16
15
  <source src="{{source}}" type="{{type}}" />
17
16
  </audio>
@@ -21,7 +20,6 @@
21
20
  <video
22
21
  id="{{playerElementId}}"
23
22
  class="udex-media-player__video video-js {{aspectRatioClass}}"
24
- data-setup="{{dataSetup}}"
25
23
  >
26
24
  <source src="{{source}}" type="{{type}}">
27
25
  {{#each _tracks}}
@@ -50,7 +50,7 @@ export interface VideoJSPlayer extends Player{
50
50
  * For the <code>udex-media-player</code>
51
51
  * <h3>ES6 Module Import</h3>
52
52
  *
53
- * <code>import @udex/web-components/dist/MediaPlayer.js";</code>
53
+ * <code>import "@udex/web-components/dist/MediaPlayer.js";</code>
54
54
  *
55
55
  * @constructor
56
56
  * @author SAP SE
@@ -357,41 +357,135 @@ class UDExMediaPlayer extends UI5Element {
357
357
  return this.shadowRoot?.querySelector(".video-js video") as HTMLVideoElement || this.shadowRoot?.querySelector(".video-js audio") || null;
358
358
  }
359
359
 
360
- get optionsValue() {
360
+ setupHotkeys(e: KeyboardEvent, player: VideoJSPlayer) {
361
+ // Back to start
362
+ if (e.key === "0") {
363
+ e.preventDefault();
364
+ e.stopPropagation();
365
+ player.currentTime(0);
366
+ player.play();
367
+ return;
368
+ }
369
+
370
+ // Full screen toggle
371
+ if (e.key.toLowerCase() === "f") {
372
+ e.preventDefault();
373
+ e.stopPropagation();
374
+ if (!player.isFullscreen()) {
375
+ player.requestFullscreen();
376
+ } else {
377
+ player.exitFullscreen();
378
+ }
379
+ return;
380
+ }
381
+
382
+ // Mute / Unmute
383
+ if (e.key.toLowerCase() === "m") {
384
+ e.preventDefault();
385
+ e.stopPropagation();
386
+ player.muted(!player.muted());
387
+ return;
388
+ }
389
+
390
+ // Play / Pause
391
+ if (e.key === " ") {
392
+ e.preventDefault();
393
+ e.stopPropagation();
394
+ if (player.paused()) {
395
+ player.play();
396
+ } else {
397
+ player.pause();
398
+ }
399
+ return;
400
+ }
401
+
402
+ // Speed up the video - set higher playback rate
403
+ if (e.key === "ArrowRight" && e.shiftKey) {
404
+ e.preventDefault();
405
+ e.stopPropagation();
406
+ const playbackRatesOptions: Array<number> = player.options_.playbackRates;
407
+ const currentRateIndex = playbackRatesOptions.indexOf(player.playbackRate() ?? 1);
408
+ if (currentRateIndex < playbackRatesOptions.length - 1) {
409
+ const newPlaybackRate = currentRateIndex + 1;
410
+ player.playbackRate(playbackRatesOptions[newPlaybackRate]);
411
+ }
412
+ return;
413
+ }
414
+
415
+ // Slow down the video - set lower playback rate
416
+ if (e.key === "ArrowLeft" && e.shiftKey) {
417
+ e.preventDefault();
418
+ e.stopPropagation();
419
+ const playbackRatesOptions: Array<number> = player.options_.playbackRates;
420
+ const currentRateIndex = playbackRatesOptions.indexOf(player.playbackRate() ?? 1);
421
+ if (currentRateIndex > 0) {
422
+ const newPlaybackRate = currentRateIndex - 1;
423
+ player.playbackRate(playbackRatesOptions[newPlaybackRate]);
424
+ }
425
+ return;
426
+ }
427
+
428
+ // Skip forward / Skip backward
429
+ if (e.key === "ArrowRight" || e.key === "ArrowLeft") {
430
+ e.preventDefault();
431
+ e.stopPropagation();
432
+ const stepSeconds = player.controlBar.progressControl.seekBar.options_.stepSeconds;
433
+ const duration: number = player.duration() ?? 0;
434
+ const currentTime: number = player.currentTime() ?? 0;
435
+ const delta: number = (e.key === "ArrowRight" ? stepSeconds : -stepSeconds);
436
+ const newTime = Math.min(Math.max(currentTime + delta, 0), duration);
437
+ player.currentTime(newTime);
438
+ return;
439
+ }
440
+
441
+ // Volume change
442
+ if (((e.key === "ArrowUp" || e.key === "ArrowDown") && e.ctrlKey)
443
+ || ((e.key === "ArrowUp" || e.key === "ArrowDown") && e.metaKey)) {
444
+ e.preventDefault();
445
+ e.stopPropagation();
446
+ const volumeStep: number = 0.1;
447
+ const volume: number = player.volume() ?? 0;
448
+ let newVolume = volume + (e.key === "ArrowUp" ? volumeStep : -volumeStep);
449
+ newVolume = Math.min(Math.max(newVolume, 0), 1);
450
+ player.volume(newVolume);
451
+ }
452
+ }
453
+
454
+ getOptionsValue() {
361
455
  const baseOptions = {
362
456
  playbackRates: [1, 1.5, 2],
363
457
  controls: true,
364
- audioOnly: this.audioOnly,
365
458
  poster: this.poster,
459
+ audioOnly: this.audioOnly,
366
460
  controlBar: {
367
- children: [
368
- "PlayToggle",
369
- "VolumePanel",
370
- "ProgressControl",
371
- "RemainingTimeDisplay",
372
- "SubsCapsButton",
373
- "PlaybackRateMenuButton",
374
- "FullscreenToggle",
375
- "MediaLoader",
376
- ],
461
+ playToggle: true,
462
+ volumePanel: true,
463
+ progressControl: {
464
+ seekBar: {
465
+ stepSeconds: 10,
466
+ },
467
+ },
468
+ remainingTimeDisplay: true,
469
+ subsCapsButton: true,
470
+ playbackRateMenuButton: true,
471
+ fullscreenToggle: true,
472
+ pictureInPictureToggle: false,
377
473
  },
378
474
  userActions: {
379
- hotkeys: true,
475
+ hotkeys: (e: KeyboardEvent) => {
476
+ this.setupHotkeys(e, this.player);
477
+ },
380
478
  },
381
479
  };
382
480
 
383
- if (typeof this.options === "string") {
384
- return this.options ? {
385
- ...baseOptions,
386
- ...JSON.parse(this.options),
387
- } : baseOptions;
481
+ if (!this.options) {
482
+ return baseOptions;
388
483
  }
389
484
 
390
- return this.options;
391
- }
392
-
393
- get dataSetup() {
394
- return JSON.stringify(this.optionsValue);
485
+ return {
486
+ ...baseOptions,
487
+ ...JSON.parse(this.options),
488
+ };
395
489
  }
396
490
 
397
491
  async setupLanguage(language: string) {
@@ -411,12 +505,14 @@ class UDExMediaPlayer extends UI5Element {
411
505
  if (this.enableGlobalDependency) {
412
506
  window.videojs = videojs;
413
507
  }
414
- const language: string = this.optionsValue?.language;
508
+
509
+ const options = this.getOptionsValue();
510
+ const language: string = options?.language;
415
511
  if (language) {
416
512
  videojs.addLanguage(language, await this.setupLanguage(language));
417
513
  }
418
514
 
419
- this.player = videojs(this.shadowRoot?.querySelector(".video-js") || "");
515
+ this.player = videojs(this.shadowRoot?.querySelector(".video-js") || "", options);
420
516
  this.attachListeners(this.player);
421
517
 
422
518
  if (this.audioOnly) { return; }
@@ -189,7 +189,7 @@ class UDExMessageStrip extends MessageStrip {
189
189
  }
190
190
 
191
191
  get _closeButtonText() {
192
- return this.getTranslation(MESSAGE_STRIP_CLOSE_BUTTON);
192
+ return `${this.textStatus ?? ""} ${this.getTranslation(MESSAGE_STRIP_CLOSE_BUTTON)}`;
193
193
  }
194
194
 
195
195
  get iconProvided() {
@@ -17,8 +17,9 @@
17
17
  <udex-button
18
18
  ?disabled="{{prevButtonDisbled}}"
19
19
  accessible-name="{{previousPageAccessibleName}}"
20
+ tooltip="{{previousBtnTooltip}}"
20
21
  size="Large"
21
- icon="nav-back"
22
+ icon="navigation-left-arrow"
22
23
  design="Tertiary"
23
24
  @click="{{setPrevPage}}"
24
25
  ></udex-button>
@@ -45,7 +46,8 @@
45
46
  {{/if}}
46
47
  <li class="udex-pagination__item--next udex-pagination__item">
47
48
  <udex-button
48
- ?disabled="{{nextButtonDisbled}}"
49
+ ?disabled="{{nextButtonDisbled}}"
50
+ tooltip="{{nextBtnTooltip}}"
49
51
  accessible-name="{{nextPageAccessibleName}}"
50
52
  size="Large"
51
53
  icon="navigation-right-arrow"
package/src/Pagination.ts CHANGED
@@ -6,6 +6,7 @@ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
6
6
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
7
7
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
8
8
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
9
+ import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
9
10
  import {
10
11
  OF,
11
12
  PAGINATION_PAGE,
@@ -141,6 +142,12 @@ class UDExPagination extends UI5Element {
141
142
  this._mobileDisplayNumber = 5;
142
143
  }
143
144
 
145
+ onEnterDOM() {
146
+ if (isDesktop()) {
147
+ this.setAttribute("desktop", "");
148
+ }
149
+ }
150
+
144
151
  get nextButtonDisbled(): boolean {
145
152
  return this.currentPageIndex + 1 === this.pages;
146
153
  }
@@ -209,11 +216,19 @@ class UDExPagination extends UI5Element {
209
216
  return `${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;
210
217
  }
211
218
 
219
+ get previousBtnTooltip(): string {
220
+ return !this.prevButtonDisbled ? `${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}` : "";
221
+ }
222
+
212
223
  get nextPageAccessibleName(): string {
213
224
  if (this.pages && this.currentPageIndex === (this.pages - 1)) { return UDExPagination.i18nBundle.getText(NEXT_PAGE); }
214
225
  return `${UDExPagination.i18nBundle.getText(NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;
215
226
  }
216
227
 
228
+ get nextBtnTooltip(): string {
229
+ return !this.nextButtonDisbled ? `${UDExPagination.i18nBundle.getText(NEXT_PAGE)}` : "";
230
+ }
231
+
217
232
  get pagination(): Page[] {
218
233
  return this.setupPages(this.pages);
219
234
  }
@@ -312,8 +327,8 @@ class UDExPagination extends UI5Element {
312
327
 
313
328
  for (let index = startIndex; index < endIndex && index < pages; index++) {
314
329
  const isCurrent = index === this.currentPageIndex;
315
- const accessibleName = isCurrent ? `
316
- ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}, ${UDExPagination.i18nBundle.getText(SELECTED)}` : `
330
+ const accessibleName = isCurrent ? `
331
+ ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}, ${UDExPagination.i18nBundle.getText(SELECTED)}` : `
317
332
  ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}`;
318
333
  pagesCollection.push({
319
334
  index,
@@ -330,8 +345,8 @@ class UDExPagination extends UI5Element {
330
345
  const pagesCollection = [];
331
346
  for (let index = 0; index < pages; index++) {
332
347
  const isCurrent = index === this.currentPageIndex;
333
- const accessibleName = isCurrent ? `
334
- ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}, ${UDExPagination.i18nBundle.getText(SELECTED)}` : `
348
+ const accessibleName = isCurrent ? `
349
+ ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}, ${UDExPagination.i18nBundle.getText(SELECTED)}` : `
335
350
  ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}`;
336
351
  pagesCollection.push({
337
352
  index,
@@ -1,5 +1,4 @@
1
- <div class="udex-password-field">
2
- <udex-text-field
1
+ <udex-text-field
3
2
  type={{type}}
4
3
  value="{{value}}"
5
4
  label="{{passwordLabel}}"
@@ -11,18 +10,8 @@
11
10
  supporting-text="{{supportingText}}"
12
11
  accessible-name="{{accessibleName}}"
13
12
  accessible-name-ref="{{accessibleNameRef}}"
14
- ></udex-text-field>
15
- {{#if renderShowButton}}
16
- <udex-control-button
17
- ?disabled="{{disabled}}"
18
- id="show-button"
19
- design="Default"
20
- class="udex-password-field__button udex-password-field__button_show"
21
- icon={{icon}}
22
- size="Large"
23
- accessible-name="{{showButtonTooltip}}"
24
- tooltip={{showButtonTooltip}}
25
- @click="{{handleShowPassword}}"
26
- ></udex-control-button>
27
- {{/if}}
28
- </div>
13
+ accessible-icon-name="{{showButtonTooltip}}"
14
+ show-button-tooltip="{{showButtonTooltip}}"
15
+ @ui5-click-icon="{{handleShowPassword}}"
16
+ icon="{{iconButton}}"
17
+ ></udex-text-field>
@@ -6,15 +6,19 @@ import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
6
6
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
7
7
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
8
8
  import UDExTextField from "./TextField.js";
9
- import UDExControlButton from "./ControlButton.js";
10
9
  import ValueState from "./types/common.js";
11
10
 
12
11
  import PasswordFieldTemplate from "./generated/templates/PasswordFieldTemplate.lit.js";
13
12
 
14
- // Styles
15
-
16
- import PasswordFieldCss from "./generated/themes/PasswordField.css.js";
13
+ export enum InputType {
14
+ Password = "password",
15
+ Text = "text",
16
+ }
17
17
 
18
+ export enum IconType {
19
+ Hide = "hide",
20
+ Show = "show",
21
+ }
18
22
  /**
19
23
  * @class
20
24
  *
@@ -36,19 +40,19 @@ import PasswordFieldCss from "./generated/themes/PasswordField.css.js";
36
40
  @customElement({
37
41
  tag: "udex-password-field",
38
42
  renderer: litRender,
39
- styles: PasswordFieldCss,
40
43
  template: PasswordFieldTemplate,
41
- dependencies: [UDExTextField, UDExControlButton],
44
+ dependencies: [UDExTextField],
42
45
  })
46
+
43
47
  class UDExPasswordField extends UI5Element {
44
48
  /**
45
49
  * Defines supporting text under the input field.
46
50
  *
47
51
  * @default ""
48
- * @public
52
+ * @private
49
53
  */
50
- @property({ type: String, noAttribute: true, defaultValue: "password" })
51
- type!: string;
54
+ @property({ type: String, noAttribute: true, defaultValue: InputType.Password })
55
+ type!: InputType;
52
56
 
53
57
  /**
54
58
  * Defines whether the component is in disabled state.
@@ -109,8 +113,8 @@ class UDExPasswordField extends UI5Element {
109
113
  * @public
110
114
  */
111
115
 
112
- @property({ type: ValueState, defaultValue: "Standard" })
113
- valueState!: "Standard" | "Warning" | "Error" | "Success";
116
+ @property({ type: ValueState, defaultValue: ValueState.Standard })
117
+ valueState!: ValueState;
114
118
 
115
119
  /**
116
120
  * Defines supporting text under the input field.
@@ -139,8 +143,8 @@ class UDExPasswordField extends UI5Element {
139
143
  * @private
140
144
  */
141
145
 
142
- @property({ type: String, noAttribute: true, defaultValue: "show" })
143
- icon!: string;
146
+ @property({ type: String, noAttribute: true, defaultValue: IconType.Show })
147
+ icon!: IconType;
144
148
 
145
149
  /**
146
150
  * Defines the inner stored show password button tooltip.
@@ -149,7 +153,7 @@ class UDExPasswordField extends UI5Element {
149
153
  * @public
150
154
  */
151
155
 
152
- @property({ type: String, defaultValue: "" })
156
+ @property({ type: String })
153
157
  showButtonTooltip!: string;
154
158
 
155
159
  /**
@@ -176,7 +180,7 @@ class UDExPasswordField extends UI5Element {
176
180
  * @default ""
177
181
  * @public
178
182
  */
179
- @property()
183
+ @property({ type: String })
180
184
  accessibleName!: string;
181
185
 
182
186
  /**
@@ -184,7 +188,7 @@ class UDExPasswordField extends UI5Element {
184
188
  * @default ""
185
189
  * @public
186
190
  */
187
- @property({ defaultValue: "" })
191
+ @property({ type: String })
188
192
  accessibleNameRef!: string;
189
193
 
190
194
  static i18nBundle: I18nBundle;
@@ -193,20 +197,24 @@ class UDExPasswordField extends UI5Element {
193
197
  UDExPasswordField.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
194
198
  }
195
199
 
196
- handleShowPassword() {
197
- const isPassword = this.type === "password";
200
+ handleShowPassword(): void {
201
+ const isPassword = this.type === InputType.Password;
198
202
 
199
- this.icon = isPassword ? "hide" : "show";
200
- this.type = isPassword ? "text" : "password";
203
+ this.icon = isPassword ? IconType.Hide : IconType.Show;
204
+ this.type = isPassword ? InputType.Text : InputType.Password;
201
205
  }
202
206
 
203
- get passwordLabel() {
204
- return `${this.label} ${this.showAsterisk && this.showAsterisk ? "*" : ""}`;
207
+ get passwordLabel(): string {
208
+ return `${this.label} ${this.showAsterisk ? "*" : ""}`;
205
209
  }
206
210
 
207
- get renderShowButton() {
211
+ get renderShowButton(): boolean {
208
212
  return !this.disabled && !this.readonly && !this.displayonly && this.showButtonEnabled;
209
213
  }
214
+
215
+ get iconButton(): IconType | null {
216
+ return this.renderShowButton ? this.icon : null;
217
+ }
210
218
  }
211
219
 
212
220
  UDExPasswordField.define();
@@ -6,8 +6,9 @@
6
6
  >
7
7
  {{#if label}}
8
8
  <label
9
+ id="udex-phone-number-field__label"
9
10
  class="udex-phone-number-field__label"
10
- for="phone"
11
+ for="{{this._id}}-phone"
11
12
  >
12
13
  {{label}}
13
14
  {{#if required}}
@@ -17,7 +18,7 @@
17
18
  {{/if}}
18
19
  <udex-dropdown
19
20
  class="udex-phone-number-field__dropdown"
20
- id="dropdown-menu"
21
+ id="{{this._id}}_dropdown-menu"
21
22
  horizontal-align="Left"
22
23
  height="{{height}}"
23
24
  >
@@ -52,9 +53,12 @@
52
53
  design="Tertiary"
53
54
  icon-end
54
55
  ?disabled="{{isButtonDisabled}}"
55
- aria-disabled="{{isButtonDisabled}}"
56
56
  aria-haspopup="true"
57
- accessible-name="{{countrySelectorAriaLabel}}"
57
+ accessible-name-ref="{{_id}}-countrySelectorAriaLabel {{ariaDescribedById}}"
58
+ aria-label="{{countrySelectorAriaLabel}}"
59
+ aria-expanded="{{_dropdownExpanded}}"
60
+ aria-controls="{{this._id}}_dropdown-menu"
61
+ role="combobox"
58
62
  @click="{{onClick}}"
59
63
  >
60
64
  <div class="udex-phone-number-field__open-button-text">
@@ -70,7 +74,7 @@
70
74
  {{/unless}}
71
75
  <input
72
76
  class="udex-phone-number-field__input"
73
- id="phone"
77
+ id="{{this._id}}-phone"
74
78
  type="tel"
75
79
  .value="{{value}}"
76
80
  placeholder="{{phoneFormat}}"
@@ -80,13 +84,15 @@
80
84
  ?required="{{required}}"
81
85
  autocomplete="tel"
82
86
  aria-label="{{accessibleName}}"
83
- aria-labelledby="{{accessibleNameRef}}"
87
+ aria-labelledby="{{accessibleName}}"
84
88
  aria-required="{{required}}"
85
89
  aria-readonly="{{isInputReadonly}}"
86
90
  aria-disabled="{{disabled}}"
87
91
  aria-invalid="{{ariaInvalid}}"
92
+ aria-describedby="{{ariaDescribedById}}"
88
93
  @input="{{handleInput}}"
89
94
  @change="{{handleChange}}"
95
+ @click="{{handleClick}}"
90
96
  @focus="{{handleFocus}}"
91
97
  @blur="{{handleBlur}}"
92
98
  @keydown={{handleKeyDown}}
@@ -101,3 +107,17 @@
101
107
  value-state="{{fieldState}}">
102
108
  </udex-status-message>
103
109
  {{/if}}
110
+
111
+ {{#if supportingText}}
112
+ <span id="{{_id}}-supportingTextDesc" class="hidden-text">{{supportingText}}</span>
113
+ {{/if}}
114
+
115
+ {{#if hasValueState}}
116
+ <span id="{{_id}}-valueStateDesc" class="hidden-text">{{valueStateText}}</span>
117
+ {{/if}}
118
+
119
+ {{#if readonly}}
120
+ <span id="{{_id}}-stateReadOnlyDesc" class="hidden-text">{{readOnlyStateText}}</span>
121
+ {{/if}}
122
+
123
+ <span id="{{_id}}-countrySelectorAriaLabel" class="hidden-text">{{countrySelectorAriaLabel}}</span>