@sapudex/web-components 0.127.6 → 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 (366) hide show
  1. package/bundle.esm.js +2 -0
  2. package/dist/Accordion.d.ts +1 -1
  3. package/dist/Accordion.js +1 -1
  4. package/dist/Accordion.js.map +1 -1
  5. package/dist/AccordionItem.d.ts +1 -1
  6. package/dist/AccordionItem.js +2 -2
  7. package/dist/AccordionItem.js.map +1 -1
  8. package/dist/Checkbox.d.ts +1 -1
  9. package/dist/Checkbox.js +1 -1
  10. package/dist/Checkbox.js.map +1 -1
  11. package/dist/CountrySelector.d.ts +24 -6
  12. package/dist/CountrySelector.js +25 -7
  13. package/dist/CountrySelector.js.map +1 -1
  14. package/dist/DatePicker.d.ts +1 -0
  15. package/dist/DatePicker.js +4 -1
  16. package/dist/DatePicker.js.map +1 -1
  17. package/dist/Dropdown.d.ts +1 -1
  18. package/dist/Dropdown.js +3 -3
  19. package/dist/Dropdown.js.map +1 -1
  20. package/dist/FilterMenu.d.ts +19 -5
  21. package/dist/FilterMenu.js +57 -20
  22. package/dist/FilterMenu.js.map +1 -1
  23. package/dist/Footer.d.ts +9 -1
  24. package/dist/Footer.js +8 -1
  25. package/dist/Footer.js.map +1 -1
  26. package/dist/Link.d.ts +1 -1
  27. package/dist/Link.js +1 -1
  28. package/dist/Link.js.map +1 -1
  29. package/dist/List.d.ts +1 -1
  30. package/dist/List.js +17 -1
  31. package/dist/List.js.map +1 -1
  32. package/dist/ListGroupHeader.d.ts +2 -2
  33. package/dist/ListGroupHeader.js +2 -2
  34. package/dist/ListGroupHeader.js.map +1 -1
  35. package/dist/ListItem.d.ts +3 -3
  36. package/dist/ListItem.js +6 -7
  37. package/dist/ListItem.js.map +1 -1
  38. package/dist/ListSelectAll.d.ts +1 -1
  39. package/dist/ListSelectAll.js +1 -1
  40. package/dist/ListSelectAll.js.map +1 -1
  41. package/dist/MastheadItem.d.ts +9 -1
  42. package/dist/MastheadItem.js +26 -9
  43. package/dist/MastheadItem.js.map +1 -1
  44. package/dist/MastheadMenu.d.ts +5 -0
  45. package/dist/MastheadMenu.js +24 -0
  46. package/dist/MastheadMenu.js.map +1 -1
  47. package/dist/MastheadMenuItem.d.ts +2 -3
  48. package/dist/MastheadMenuItem.js +2 -17
  49. package/dist/MastheadMenuItem.js.map +1 -1
  50. package/dist/MastheadMobileMenu.d.ts +25 -5
  51. package/dist/MastheadMobileMenu.js +135 -21
  52. package/dist/MastheadMobileMenu.js.map +1 -1
  53. package/dist/MastheadProfileMenu.d.ts +13 -4
  54. package/dist/MastheadProfileMenu.js +40 -9
  55. package/dist/MastheadProfileMenu.js.map +1 -1
  56. package/dist/MastheadShell.d.ts +3 -0
  57. package/dist/MastheadShell.js +42 -8
  58. package/dist/MastheadShell.js.map +1 -1
  59. package/dist/MediaPlayer.d.ts +3 -3
  60. package/dist/MediaPlayer.js +115 -25
  61. package/dist/MediaPlayer.js.map +1 -1
  62. package/dist/PhoneNumberField.d.ts +26 -0
  63. package/dist/PhoneNumberField.js +46 -2
  64. package/dist/PhoneNumberField.js.map +1 -1
  65. package/dist/ReviewItem.d.ts +105 -0
  66. package/dist/ReviewItem.js +157 -0
  67. package/dist/ReviewItem.js.map +1 -0
  68. package/dist/Search.d.ts +15 -1
  69. package/dist/Search.js +30 -5
  70. package/dist/Search.js.map +1 -1
  71. package/dist/SecondaryNavigation.d.ts +1 -0
  72. package/dist/SecondaryNavigation.js +11 -10
  73. package/dist/SecondaryNavigation.js.map +1 -1
  74. package/dist/SecondaryNavigationItem.js +1 -1
  75. package/dist/SecondaryNavigationItem.js.map +1 -1
  76. package/dist/SecondaryNavigationItemBase.js +1 -1
  77. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  78. package/dist/SelectBox.d.ts +33 -9
  79. package/dist/SelectBox.js +119 -60
  80. package/dist/SelectBox.js.map +1 -1
  81. package/dist/Switch.d.ts +19 -0
  82. package/dist/Switch.js +19 -0
  83. package/dist/Switch.js.map +1 -1
  84. package/dist/Tab.d.ts +1 -1
  85. package/dist/Tab.js +1 -1
  86. package/dist/Tab.js.map +1 -1
  87. package/dist/TabNavigation.d.ts +1 -1
  88. package/dist/TabNavigation.js +1 -1
  89. package/dist/TabNavigation.js.map +1 -1
  90. package/dist/Tag.d.ts +9 -1
  91. package/dist/Tag.js +20 -3
  92. package/dist/Tag.js.map +1 -1
  93. package/dist/TagGroup.d.ts +94 -0
  94. package/dist/TagGroup.js +174 -0
  95. package/dist/TagGroup.js.map +1 -0
  96. package/dist/TextArea.d.ts +13 -0
  97. package/dist/TextArea.js +15 -0
  98. package/dist/TextArea.js.map +1 -1
  99. package/dist/TextField.d.ts +23 -13
  100. package/dist/TextField.js +16 -2
  101. package/dist/TextField.js.map +1 -1
  102. package/dist/Tooltip.d.ts +1 -1
  103. package/dist/Tooltip.js +1 -1
  104. package/dist/Tooltip.js.map +1 -1
  105. package/dist/assets/{bundle.esm-7d53f4f2.js → bundle.esm-bb1c7413.js} +190 -188
  106. package/dist/assets/messagebundle_en-c677773a.js +1 -0
  107. package/dist/assets/parameters-bundle.css-c897ae23.js +2 -0
  108. package/dist/assets/video.es-60bfb78c.js +228 -0
  109. package/dist/css/themes/CountrySelector.css +1 -1
  110. package/dist/css/themes/FilterMenu.css +1 -1
  111. package/dist/css/themes/ListItem.css +1 -1
  112. package/dist/css/themes/MastheadItem.css +1 -1
  113. package/dist/css/themes/MastheadMobileMenu.css +1 -1
  114. package/dist/css/themes/PhoneNumberField.css +1 -1
  115. package/dist/css/themes/RatingIndicator.css +1 -1
  116. package/dist/css/themes/ReviewItem.css +1 -0
  117. package/dist/css/themes/Search.css +1 -1
  118. package/dist/css/themes/SecondaryNavigation.css +1 -1
  119. package/dist/css/themes/SecondaryNavigationItem.css +1 -1
  120. package/dist/css/themes/SecondaryNavigationSubItem.css +1 -1
  121. package/dist/css/themes/SelectBox.css +1 -1
  122. package/dist/css/themes/Slider.css +1 -1
  123. package/dist/css/themes/Tag.css +1 -1
  124. package/dist/css/themes/TagGroup.css +1 -0
  125. package/dist/css/themes/TextArea.css +1 -1
  126. package/dist/css/themes/TextField.css +1 -1
  127. package/dist/css/themes/Toast.css +1 -1
  128. package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
  129. package/dist/custom-elements-internal.json +783 -362
  130. package/dist/custom-elements.json +751 -369
  131. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  132. package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +1 -1
  133. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  134. package/dist/generated/i18n/i18n-defaults.js +6 -4
  135. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  136. package/dist/generated/templates/CountrySelectorTemplate.lit.js +3 -3
  137. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  138. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  139. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  140. package/dist/generated/templates/DropdownTemplate.lit.js +2 -2
  141. package/dist/generated/templates/DropdownTemplate.lit.js.map +1 -1
  142. package/dist/generated/templates/FilterMenuTemplate.lit.js +1 -1
  143. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  144. package/dist/generated/templates/FooterTemplate.lit.js +9 -9
  145. package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
  146. package/dist/generated/templates/HeroBannerTemplate.lit.js +7 -8
  147. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  148. package/dist/generated/templates/ListItemTemplate.lit.js +6 -6
  149. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  150. package/dist/generated/templates/ListSelectAllTemplate.lit.js +1 -1
  151. package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +1 -1
  152. package/dist/generated/templates/MastheadItemTemplate.lit.js +3 -3
  153. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  154. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +1 -1
  155. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
  156. package/dist/generated/templates/MastheadMenuTemplate.lit.js +2 -2
  157. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  158. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +16 -12
  159. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  160. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +2 -2
  161. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
  162. package/dist/generated/templates/MastheadShellTemplate.lit.js +7 -7
  163. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  164. package/dist/generated/templates/MediaPlayerTemplate.lit.js +2 -2
  165. package/dist/generated/templates/MediaPlayerTemplate.lit.js.map +1 -1
  166. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +5 -2
  167. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  168. package/dist/generated/templates/ReviewItemTemplate.lit.d.ts +4 -0
  169. package/dist/generated/templates/ReviewItemTemplate.lit.js +8 -0
  170. package/dist/generated/templates/ReviewItemTemplate.lit.js.map +1 -0
  171. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +7 -6
  172. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  173. package/dist/generated/templates/SelectBoxTemplate.lit.js +2 -2
  174. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  175. package/dist/generated/templates/TabHeaderTemplate.lit.js +2 -2
  176. package/dist/generated/templates/TabHeaderTemplate.lit.js.map +1 -1
  177. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -6
  178. package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -1
  179. package/dist/generated/templates/TabNavigationTemplate.lit.js +3 -1
  180. package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
  181. package/dist/generated/templates/TagGroupTemplate.lit.d.ts +4 -0
  182. package/dist/generated/templates/TagGroupTemplate.lit.js +8 -0
  183. package/dist/generated/templates/TagGroupTemplate.lit.js.map +1 -0
  184. package/dist/generated/templates/TagTemplate.lit.js +11 -7
  185. package/dist/generated/templates/TagTemplate.lit.js.map +1 -1
  186. package/dist/generated/templates/TextAreaTemplate.lit.js +1 -1
  187. package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
  188. package/dist/generated/templates/TextFieldTemplate.lit.js +1 -1
  189. package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
  190. package/dist/generated/themes/CountrySelector.css.js +1 -1
  191. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  192. package/dist/generated/themes/FilterMenu.css.js +1 -1
  193. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  194. package/dist/generated/themes/ListItem.css.js +1 -1
  195. package/dist/generated/themes/ListItem.css.js.map +1 -1
  196. package/dist/generated/themes/MastheadItem.css.js +1 -1
  197. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  198. package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
  199. package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
  200. package/dist/generated/themes/PhoneNumberField.css.js +1 -1
  201. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  202. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  203. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  204. package/dist/generated/themes/ReviewItem.css.d.ts +3 -0
  205. package/dist/generated/themes/ReviewItem.css.js +9 -0
  206. package/dist/generated/themes/ReviewItem.css.js.map +1 -0
  207. package/dist/generated/themes/Search.css.js +1 -1
  208. package/dist/generated/themes/Search.css.js.map +1 -1
  209. package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
  210. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  211. package/dist/generated/themes/SecondaryNavigationItem.css.js +1 -1
  212. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
  213. package/dist/generated/themes/SecondaryNavigationSubItem.css.js +1 -1
  214. package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
  215. package/dist/generated/themes/SelectBox.css.js +1 -1
  216. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  217. package/dist/generated/themes/Slider.css.js +1 -1
  218. package/dist/generated/themes/Slider.css.js.map +1 -1
  219. package/dist/generated/themes/Tag.css.js +1 -1
  220. package/dist/generated/themes/Tag.css.js.map +1 -1
  221. package/dist/generated/themes/TagGroup.css.d.ts +3 -0
  222. package/dist/generated/themes/TagGroup.css.js +9 -0
  223. package/dist/generated/themes/TagGroup.css.js.map +1 -0
  224. package/dist/generated/themes/TextArea.css.js +1 -1
  225. package/dist/generated/themes/TextArea.css.js.map +1 -1
  226. package/dist/generated/themes/TextField.css.js +1 -1
  227. package/dist/generated/themes/TextField.css.js.map +1 -1
  228. package/dist/generated/themes/Toast.css.js +1 -1
  229. package/dist/generated/themes/Toast.css.js.map +1 -1
  230. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +1 -1
  231. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +1 -1
  232. package/dist/i18n/messagebundle.properties +7 -3
  233. package/dist/i18n/messagebundle_en.properties +5 -3
  234. package/dist/vscode.html-custom-data.json +148 -78
  235. package/dist/web-types.json +382 -142
  236. package/package.json +8 -8
  237. package/src/Accordion.ts +1 -1
  238. package/src/AccordionItem.ts +2 -2
  239. package/src/Checkbox.ts +1 -1
  240. package/src/CountrySelector.hbs +19 -15
  241. package/src/CountrySelector.ts +42 -9
  242. package/src/DatePicker.hbs +7 -8
  243. package/src/DatePicker.ts +14 -10
  244. package/src/Dropdown.hbs +3 -0
  245. package/src/Dropdown.ts +3 -3
  246. package/src/FilterMenu.hbs +58 -59
  247. package/src/FilterMenu.ts +91 -37
  248. package/src/Footer.hbs +9 -0
  249. package/src/Footer.ts +10 -1
  250. package/src/HeroBanner.hbs +4 -1
  251. package/src/Link.ts +1 -1
  252. package/src/List.ts +43 -23
  253. package/src/ListGroupHeader.ts +2 -2
  254. package/src/ListItem.hbs +4 -2
  255. package/src/ListItem.ts +8 -10
  256. package/src/ListSelectAll.hbs +1 -1
  257. package/src/ListSelectAll.ts +1 -1
  258. package/src/MastheadItem.hbs +5 -3
  259. package/src/MastheadItem.ts +35 -8
  260. package/src/MastheadMenu.hbs +4 -2
  261. package/src/MastheadMenu.ts +30 -0
  262. package/src/MastheadMenuItem.hbs +0 -2
  263. package/src/MastheadMenuItem.ts +2 -16
  264. package/src/MastheadMobileMenu.hbs +36 -10
  265. package/src/MastheadMobileMenu.ts +162 -22
  266. package/src/MastheadProfileMenu.hbs +6 -2
  267. package/src/MastheadProfileMenu.ts +66 -20
  268. package/src/MastheadShell.hbs +10 -4
  269. package/src/MastheadShell.ts +49 -8
  270. package/src/MediaPlayer.hbs +1 -3
  271. package/src/MediaPlayer.ts +122 -26
  272. package/src/PhoneNumberField.hbs +18 -3
  273. package/src/PhoneNumberField.ts +67 -2
  274. package/src/ReviewItem.hbs +20 -0
  275. package/src/ReviewItem.ts +227 -0
  276. package/src/Search.ts +41 -4
  277. package/src/SecondaryNavigation.hbs +9 -7
  278. package/src/SecondaryNavigation.ts +13 -11
  279. package/src/SecondaryNavigationItem.ts +1 -1
  280. package/src/SecondaryNavigationItemBase.ts +1 -1
  281. package/src/SelectBox.hbs +9 -7
  282. package/src/SelectBox.ts +153 -72
  283. package/src/Switch.ts +21 -0
  284. package/src/Tab.ts +1 -1
  285. package/src/TabHeader.hbs +3 -1
  286. package/src/TabInOverflow.hbs +16 -4
  287. package/src/TabNavigation.hbs +15 -7
  288. package/src/TabNavigation.ts +1 -1
  289. package/src/Tag.hbs +28 -12
  290. package/src/Tag.ts +25 -4
  291. package/src/TagGroup.hbs +48 -0
  292. package/src/TagGroup.ts +222 -0
  293. package/src/TextArea.hbs +36 -33
  294. package/src/TextArea.ts +25 -0
  295. package/src/TextField.hbs +8 -6
  296. package/src/TextField.ts +50 -18
  297. package/src/Tooltip.ts +1 -1
  298. package/src/generated/i18n/i18n-defaults.ts +2 -2
  299. package/src/generated/templates/CountrySelectorTemplate.lit.ts +3 -3
  300. package/src/generated/templates/DatePickerTemplate.lit.ts +1 -1
  301. package/src/generated/templates/DropdownTemplate.lit.ts +2 -2
  302. package/src/generated/templates/FilterMenuTemplate.lit.ts +1 -1
  303. package/src/generated/templates/FooterTemplate.lit.ts +9 -9
  304. package/src/generated/templates/HeroBannerTemplate.lit.ts +7 -8
  305. package/src/generated/templates/ListItemTemplate.lit.ts +6 -6
  306. package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
  307. package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
  308. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +1 -1
  309. package/src/generated/templates/MastheadMenuTemplate.lit.ts +2 -2
  310. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +16 -12
  311. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +2 -2
  312. package/src/generated/templates/MastheadShellTemplate.lit.ts +7 -7
  313. package/src/generated/templates/MediaPlayerTemplate.lit.ts +2 -2
  314. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +5 -2
  315. package/src/generated/templates/ReviewItemTemplate.lit.ts +13 -0
  316. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -6
  317. package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
  318. package/src/generated/templates/TabHeaderTemplate.lit.ts +2 -2
  319. package/src/generated/templates/TabInOverflowTemplate.lit.ts +6 -6
  320. package/src/generated/templates/TabNavigationTemplate.lit.ts +3 -1
  321. package/src/generated/templates/TagGroupTemplate.lit.ts +13 -0
  322. package/src/generated/templates/TagTemplate.lit.ts +11 -7
  323. package/src/generated/templates/TextAreaTemplate.lit.ts +1 -1
  324. package/src/generated/templates/TextFieldTemplate.lit.ts +1 -1
  325. package/src/generated/themes/CountrySelector.css.ts +1 -1
  326. package/src/generated/themes/FilterMenu.css.ts +1 -1
  327. package/src/generated/themes/ListItem.css.ts +1 -1
  328. package/src/generated/themes/MastheadItem.css.ts +1 -1
  329. package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
  330. package/src/generated/themes/PhoneNumberField.css.ts +1 -1
  331. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  332. package/src/generated/themes/ReviewItem.css.ts +13 -0
  333. package/src/generated/themes/Search.css.ts +1 -1
  334. package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
  335. package/src/generated/themes/SecondaryNavigationItem.css.ts +1 -1
  336. package/src/generated/themes/SecondaryNavigationSubItem.css.ts +1 -1
  337. package/src/generated/themes/SelectBox.css.ts +1 -1
  338. package/src/generated/themes/Slider.css.ts +1 -1
  339. package/src/generated/themes/Tag.css.ts +1 -1
  340. package/src/generated/themes/TagGroup.css.ts +13 -0
  341. package/src/generated/themes/TextArea.css.ts +1 -1
  342. package/src/generated/themes/TextField.css.ts +1 -1
  343. package/src/generated/themes/Toast.css.ts +1 -1
  344. package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
  345. package/src/i18n/messagebundle.properties +7 -3
  346. package/src/i18n/messagebundle_en.properties +5 -3
  347. package/src/themes/CountrySelector.css +49 -26
  348. package/src/themes/FilterMenu.css +52 -15
  349. package/src/themes/ListItem.css +4 -0
  350. package/src/themes/MastheadItem.css +12 -2
  351. package/src/themes/MastheadMobileMenu.css +4 -0
  352. package/src/themes/PhoneNumberField.css +14 -1
  353. package/src/themes/ReviewItem.css +121 -0
  354. package/src/themes/Search.css +9 -0
  355. package/src/themes/SecondaryNavigation.css +13 -14
  356. package/src/themes/SecondaryNavigationItem.css +3 -2
  357. package/src/themes/SecondaryNavigationSubItem.css +5 -5
  358. package/src/themes/SelectBox.css +34 -0
  359. package/src/themes/Tag.css +20 -0
  360. package/src/themes/TagGroup.css +90 -0
  361. package/src/themes/TextArea.css +13 -0
  362. package/src/themes/TextField.css +25 -8
  363. package/src/themes/Toast.css +4 -0
  364. package/dist/assets/messagebundle_en-6dcc9ab4.js +0 -1
  365. package/dist/assets/parameters-bundle.css-de55cf62.js +0 -2
  366. package/dist/assets/video.es-17aecf95.js +0 -219
@@ -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; }
@@ -53,10 +53,9 @@
53
53
  design="Tertiary"
54
54
  icon-end
55
55
  ?disabled="{{isButtonDisabled}}"
56
- aria-disabled="{{isButtonDisabled}}"
57
56
  aria-haspopup="true"
57
+ accessible-name-ref="{{_id}}-countrySelectorAriaLabel {{ariaDescribedById}}"
58
58
  aria-label="{{countrySelectorAriaLabel}}"
59
- accessible-name="{{countrySelectorAriaLabel}}"
60
59
  aria-expanded="{{_dropdownExpanded}}"
61
60
  aria-controls="{{this._id}}_dropdown-menu"
62
61
  role="combobox"
@@ -85,13 +84,15 @@
85
84
  ?required="{{required}}"
86
85
  autocomplete="tel"
87
86
  aria-label="{{accessibleName}}"
88
- aria-labelledby="{{accessibleNameRef}}"
87
+ aria-labelledby="{{accessibleName}}"
89
88
  aria-required="{{required}}"
90
89
  aria-readonly="{{isInputReadonly}}"
91
90
  aria-disabled="{{disabled}}"
92
91
  aria-invalid="{{ariaInvalid}}"
92
+ aria-describedby="{{ariaDescribedById}}"
93
93
  @input="{{handleInput}}"
94
94
  @change="{{handleChange}}"
95
+ @click="{{handleClick}}"
95
96
  @focus="{{handleFocus}}"
96
97
  @blur="{{handleBlur}}"
97
98
  @keydown={{handleKeyDown}}
@@ -106,3 +107,17 @@
106
107
  value-state="{{fieldState}}">
107
108
  </udex-status-message>
108
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>
@@ -7,7 +7,10 @@ import event from "@ui5/webcomponents-base/dist/decorators/event.js";
7
7
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
8
8
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
9
9
  import ResizeHandler, { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
10
- import { COUNTRY_SELECT } from "./generated/i18n/i18n-defaults.js";
10
+ import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
11
+ import {
12
+ COUNTRY_SELECT, READ_ONLY, VALUE_STATE_ERROR, VALUE_STATE_INFORMATION, VALUE_STATE_SUCCESS, VALUE_STATE_WARNING,
13
+ } from "./generated/i18n/i18n-defaults.js";
11
14
  import { Country, CountryListDB } from "./data/CountryListISO3166.js";
12
15
  import UDExDropdown from "./Dropdown.js";
13
16
  import UDExList from "./List.js";
@@ -266,6 +269,22 @@ class UDExPhoneNumberField extends UI5Element {
266
269
  @property({ type: String, multiple: false, noAttribute: true })
267
270
  previousKey!: string;
268
271
 
272
+ /**
273
+ * Defines the active (focus)
274
+ * @default false
275
+ * @private
276
+ */
277
+ @property({ type: Boolean })
278
+ active!: boolean;
279
+
280
+ /**
281
+ * Defines is it the touch of the input field (only for mobile devices).
282
+ * @default false
283
+ * @private
284
+ */
285
+ @property({ type: Boolean })
286
+ _isTouched!: boolean;
287
+
269
288
  static i18nBundle: I18nBundle;
270
289
  _dropdown!: UDExDropdown;
271
290
  _handleResizeBound: ResizeObserverCallback;
@@ -275,7 +294,7 @@ class UDExPhoneNumberField extends UI5Element {
275
294
  }
276
295
 
277
296
  get countrySelectorAriaLabel() {
278
- return this.accessibleName || `${this.label} ${UDExPhoneNumberField.i18nBundle.getText(COUNTRY_SELECT)}`;
297
+ return this.accessibleName || `${UDExPhoneNumberField.i18nBundle.getText(COUNTRY_SELECT)} ${this.label}`.trim();
279
298
  }
280
299
 
281
300
  get countryIso() {
@@ -360,6 +379,7 @@ class UDExPhoneNumberField extends UI5Element {
360
379
  }
361
380
 
362
381
  handleFocus() {
382
+ this.active = true;
363
383
  if (this.countryIso.length === 0) {
364
384
  this.phoneFormat = initialPlaceholder;
365
385
  }
@@ -369,7 +389,15 @@ class UDExPhoneNumberField extends UI5Element {
369
389
  }
370
390
  }
371
391
 
392
+ handleClick(): void {
393
+ if (!isDesktop()) {
394
+ this._isTouched = true;
395
+ }
396
+ }
397
+
372
398
  handleBlur() {
399
+ this.active = false;
400
+ this._isTouched = false;
373
401
  this.applyPlaceholder();
374
402
 
375
403
  const prefixLength = this.selectedPhonePrefix.length;
@@ -547,6 +575,43 @@ class UDExPhoneNumberField extends UI5Element {
547
575
  });
548
576
  }
549
577
 
578
+ get valueStateTypeMappings() {
579
+ return {
580
+ "Success": UDExPhoneNumberField.i18nBundle.getText(VALUE_STATE_SUCCESS),
581
+ "Standard": UDExPhoneNumberField.i18nBundle.getText(VALUE_STATE_INFORMATION),
582
+ "Error": UDExPhoneNumberField.i18nBundle.getText(VALUE_STATE_ERROR),
583
+ "Warning": UDExPhoneNumberField.i18nBundle.getText(VALUE_STATE_WARNING),
584
+ };
585
+ }
586
+
587
+ get hasValueState() {
588
+ return this.fieldState !== FieldState.Standard;
589
+ }
590
+
591
+ get valueStateText() {
592
+ return this.fieldState !== FieldState.Standard ? this.valueStateTypeMappings[this.fieldState] : undefined;
593
+ }
594
+
595
+ get readOnlyStateText() {
596
+ return UDExPhoneNumberField.i18nBundle.getText(READ_ONLY);
597
+ }
598
+
599
+ get ariaDescribedById(): string {
600
+ return `${this.supportingTextId} ${this.valueStateTextId} ${this.readOnlyStateTextId}`.trim();
601
+ }
602
+
603
+ get supportingTextId():string {
604
+ return this.supportingText ? `${this._id}-supportingTextDesc` : "";
605
+ }
606
+
607
+ get valueStateTextId():string {
608
+ return this.hasValueState ? `${this._id}-valueStateDesc` : "";
609
+ }
610
+
611
+ get readOnlyStateTextId():string {
612
+ return this.readonly ? `${this._id}-stateReadOnlyDesc` : "";
613
+ }
614
+
550
615
  onBeforeRendering() {
551
616
  this.applyPlaceholder();
552
617
 
@@ -0,0 +1,20 @@
1
+ <div class="{{reviewItemClasses}}">
2
+ <div class="udex-review-item__rating-container">
3
+ <udex-rating-indicator value="{{validatedRating}}" max="{{_maxRating}}" readonly></udex-rating-indicator>
4
+ {{#if date}}
5
+ <slot slot="date" name="date" class="udex-review-item__date"></slot>
6
+ {{/if}}
7
+ </div>
8
+ <div class="udex-review-item__text-container">
9
+ <div class="udex-review-item__title">{{reviewTitle}}</div>
10
+ <div class="udex-review-item__text-wrapper">
11
+ <p class="udex-review-item__text" id="udex-review-item__text">{{_completeText}}</p>
12
+ {{#if _showTextExpander}}
13
+ <udex-button id="reviewExpander" class="udex-review-item__text-expander" design="Invisible" size="Small" @click="{{_toggleText}}">{{buttonText}}</udex-button>
14
+ {{/if}}
15
+ </div>
16
+ {{#if author}}
17
+ <slot slot="author" name="author" class="udex-review-item__author"></slot>
18
+ {{/if}}
19
+ </div>
20
+ </div>
@@ -0,0 +1,227 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
3
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
5
+
6
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
7
+ import I18nBundle, { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
8
+ import ResizeHandler, { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
9
+ import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
10
+ import UDExRatingIndicator from "./RatingIndicator.js";
11
+ import UDExButton from "./Button.js";
12
+ import ReviewItemTemplate from "./generated/templates/ReviewItemTemplate.lit.js";
13
+
14
+ // Styles
15
+ import ReviewItemCss from "./generated/themes/ReviewItem.css.js";
16
+ import { READ_LESS, READ_MORE } from "./generated/i18n/i18n-defaults.js";
17
+
18
+ /**
19
+ * @class
20
+ *
21
+ * <h3 class="comment-api-title">Overview</h3>
22
+ *
23
+ *
24
+ * <h3>Usage</h3>
25
+ *
26
+ * For the <code>udex-review-item</code>
27
+ * <h3>ES6 Module Import</h3>
28
+ *
29
+ * <code>import "@udex/web-components/dist/ReviewItem.js";</code>
30
+ *
31
+ * @constructor
32
+ * @extends UI5Element
33
+ * @public
34
+ */
35
+ @customElement({
36
+ tag: "udex-review-item",
37
+ renderer: litRender,
38
+ styles: ReviewItemCss,
39
+ template: ReviewItemTemplate,
40
+ dependencies: [UDExRatingIndicator, UDExButton],
41
+ })
42
+
43
+ class UDExReviewItem extends UI5Element {
44
+ /**
45
+ * Defines the position of the rating in review.
46
+ * @default false
47
+ * @public
48
+ */
49
+ @property({ type: Boolean })
50
+ showRatingTop!: boolean;
51
+
52
+ /**
53
+ * Defines the rating in the review.
54
+ *
55
+ * @default 0
56
+ * @public
57
+ */
58
+ @property({ type: Number, defaultValue: 0, validator: Integer })
59
+ rating!: number;
60
+
61
+ /**
62
+ * Defines the title of the review.
63
+ *
64
+ * @default ""
65
+ * @public
66
+ */
67
+ @property({ type: String })
68
+ reviewTitle!: string;
69
+
70
+ /**
71
+ * Defines the text of the review.
72
+ * @default ""
73
+ * @public
74
+ */
75
+ @property({ type: String })
76
+ text!: string;
77
+
78
+ /**
79
+ * Defines whether button for showing truncated text is shown.
80
+ * @default 2
81
+ * @private
82
+ */
83
+ @property({ type: Number, defaultValue: 2, validator: Integer })
84
+ _textLineLimit!: number;
85
+
86
+ /**
87
+ * Defines whether the text is expanded.
88
+ * @default false
89
+ * @private
90
+ */
91
+ @property({ type: Boolean })
92
+ _textExpanded!: boolean;
93
+
94
+ /**
95
+ * Defines whether button for showing truncated text is shown.
96
+ * @default false
97
+ * @private
98
+ */
99
+ @property({ type: Boolean })
100
+ _showTextExpander!: boolean;
101
+
102
+ /**
103
+ * Defines the text, consisting of visible and invisible parts of the original text.
104
+ * @default ""
105
+ * @private
106
+ */
107
+ @property({ type: String })
108
+ _completeText!: string;
109
+
110
+ /**
111
+ * Defines the author's name and company.
112
+ *
113
+ * @default ""
114
+ * @slot
115
+ */
116
+ @slot()
117
+ author!: Array<HTMLElement>;
118
+
119
+ /**
120
+ * Defines the date of the review.
121
+ *
122
+ * @default ""
123
+ * @slot
124
+ */
125
+ @slot()
126
+ date!: Array<HTMLElement>;
127
+
128
+ _toggleText() {
129
+ this._textExpanded = !this._textExpanded;
130
+ if (this._textExpanded) {
131
+ this._completeText = this.text;
132
+ this._textElement.classList.add("udex-review-item__text-expanded");
133
+ } else {
134
+ this._textElement.classList.remove("udex-review-item__text-expanded");
135
+ this._completeText = this._visibleText;
136
+ }
137
+ }
138
+
139
+ _handleResizeBound: ResizeObserverCallback;
140
+ _textElement!: HTMLElement;
141
+ _visibleText!: string;
142
+ _maxHeight: number = 48;
143
+ _maxRating: number = 5;
144
+ _minRating: number = 0;
145
+
146
+ static i18nBundle: I18nBundle;
147
+
148
+ static async onDefine() {
149
+ UDExReviewItem.i18nBundle = await getI18nBundle("@ui5/webcomponents");
150
+ }
151
+
152
+ constructor() {
153
+ super();
154
+ this._handleResizeBound = this._checkTextOverflow.bind(this);
155
+ }
156
+
157
+ onEnterDOM(): void {
158
+ this._maxHeight = 48;
159
+ this._completeText = this.text;
160
+ ResizeHandler.register(this, this._handleResizeBound);
161
+ }
162
+
163
+ onExitDOM(): void {
164
+ ResizeHandler.deregister(this, this._handleResizeBound);
165
+ }
166
+
167
+ onAfterRendering(): void {
168
+ this._textElement = this.getTextElement();
169
+ this._checkTextOverflow();
170
+ }
171
+
172
+ _checkTextOverflow() {
173
+ const words = this.text.split(" ");
174
+
175
+ const canvas = document.createElement("canvas");
176
+ const context = canvas.getContext("2d")!;
177
+ context.font = `16px sans-serif`;
178
+
179
+ let currentLineWidth = 0;
180
+ let visibleText = "";
181
+
182
+ words.forEach(word => {
183
+ const wordWidth = context.measureText(`${word} `).width;
184
+ if (currentLineWidth + wordWidth <= 2 * this._textElement.offsetWidth) {
185
+ visibleText += `${word} `;
186
+ currentLineWidth += wordWidth;
187
+ }
188
+ });
189
+
190
+ this._visibleText = visibleText;
191
+ if (!this._textExpanded) {
192
+ this._completeText = visibleText;
193
+ }
194
+
195
+ this._showTextExpander = (!this._textExpanded && this._completeText.length < this.text.length) || (this._textExpanded && visibleText.length < this.text.length);
196
+ }
197
+
198
+ get buttonText(): string {
199
+ return this._textExpanded ? UDExReviewItem.i18nBundle.getText(READ_LESS) : UDExReviewItem.i18nBundle.getText(READ_MORE);
200
+ }
201
+
202
+ get reviewItemClasses(): string {
203
+ const ratingTop = this.showRatingTop ? " udex-review-item__rating-top" : "";
204
+ return `udex-review-item${ratingTop}`;
205
+ }
206
+
207
+ get validatedRating(): number {
208
+ if (this.rating > this._maxRating) {
209
+ console.warn("UDEx Review: The rating shouldn't be more than 5.");
210
+ return this._maxRating;
211
+ }
212
+ if (this.rating < this._minRating) {
213
+ console.warn("UDEx Review: The rating shouldn't be less than 0.");
214
+ return this._minRating;
215
+ }
216
+ return this.rating;
217
+ }
218
+
219
+ getTextElement(): HTMLElement {
220
+ const textElement = this.shadowRoot?.getElementById("udex-review-item__text");
221
+ return textElement!;
222
+ }
223
+ }
224
+
225
+ UDExReviewItem.define();
226
+
227
+ export default UDExReviewItem;