@sapudex/web-components 0.199.3 → 0.225.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 (1305) hide show
  1. package/bundle.esm.js +76 -69
  2. package/cypress/screenshots/AccordionItem.cy.tsx/AccordionItem -- can be clicked via keyboard using Space (failed).png +0 -0
  3. package/dist/Accordion.d.ts +4 -4
  4. package/dist/Accordion.js +12 -28
  5. package/dist/Accordion.js.map +1 -1
  6. package/dist/AccordionItem.d.ts +3 -5
  7. package/dist/AccordionItem.js +19 -51
  8. package/dist/AccordionItem.js.map +1 -1
  9. package/dist/Avatar.d.ts +3 -2
  10. package/dist/Avatar.js +6 -3
  11. package/dist/Avatar.js.map +1 -1
  12. package/dist/AvatarGroup.d.ts +1 -1
  13. package/dist/AvatarGroup.js +1 -1
  14. package/dist/AvatarGroup.js.map +1 -1
  15. package/dist/Badge.d.ts +5 -5
  16. package/dist/Badge.js +8 -8
  17. package/dist/Badge.js.map +1 -1
  18. package/dist/Breadcrumbs.d.ts +1 -1
  19. package/dist/Breadcrumbs.js +18 -2
  20. package/dist/Breadcrumbs.js.map +1 -1
  21. package/dist/BreadcrumbsItem.d.ts +1 -1
  22. package/dist/BreadcrumbsItem.js +1 -1
  23. package/dist/BreadcrumbsItem.js.map +1 -1
  24. package/dist/Carousel.js +1 -1
  25. package/dist/Carousel.js.map +1 -1
  26. package/dist/Checkbox.d.ts +1 -1
  27. package/dist/Checkbox.js +1 -1
  28. package/dist/Checkbox.js.map +1 -1
  29. package/dist/ControlButton.d.ts +1 -1
  30. package/dist/ControlButton.js +1 -1
  31. package/dist/ControlButton.js.map +1 -1
  32. package/dist/CountrySelector.d.ts +4 -5
  33. package/dist/CountrySelector.js +32 -62
  34. package/dist/CountrySelector.js.map +1 -1
  35. package/dist/DatePicker.d.ts +1 -1
  36. package/dist/DatePicker.js +8 -3
  37. package/dist/DatePicker.js.map +1 -1
  38. package/dist/Dropdown.d.ts +1 -1
  39. package/dist/Dropdown.js +2 -2
  40. package/dist/Dropdown.js.map +1 -1
  41. package/dist/FilterMenu.d.ts +8 -1
  42. package/dist/FilterMenu.js +6 -1
  43. package/dist/FilterMenu.js.map +1 -1
  44. package/dist/FilterMenuGroupHeader.d.ts +1 -1
  45. package/dist/FilterMenuGroupHeader.js +1 -1
  46. package/dist/FilterMenuGroupHeader.js.map +1 -1
  47. package/dist/FilterMenuItem.d.ts +1 -1
  48. package/dist/FilterMenuItem.js +1 -1
  49. package/dist/FilterMenuItem.js.map +1 -1
  50. package/dist/FilterMenuSelectAll.d.ts +1 -1
  51. package/dist/FilterMenuSelectAll.js +1 -1
  52. package/dist/FilterMenuSelectAll.js.map +1 -1
  53. package/dist/Footer.d.ts +1 -1
  54. package/dist/Footer.js +4 -3
  55. package/dist/Footer.js.map +1 -1
  56. package/dist/HeroBanner.d.ts +10 -0
  57. package/dist/HeroBanner.js +6 -0
  58. package/dist/HeroBanner.js.map +1 -1
  59. package/dist/InputGroup.d.ts +1 -1
  60. package/dist/InputGroup.js +2 -2
  61. package/dist/InputGroup.js.map +1 -1
  62. package/dist/Link.d.ts +4 -4
  63. package/dist/Link.js +5 -5
  64. package/dist/Link.js.map +1 -1
  65. package/dist/List.d.ts +4 -15
  66. package/dist/List.js +11 -41
  67. package/dist/List.js.map +1 -1
  68. package/dist/ListGroupHeader.d.ts +1 -1
  69. package/dist/ListGroupHeader.js +1 -1
  70. package/dist/ListGroupHeader.js.map +1 -1
  71. package/dist/ListItem.d.ts +23 -10
  72. package/dist/ListItem.js +14 -13
  73. package/dist/ListItem.js.map +1 -1
  74. package/dist/ListSelectAll.d.ts +1 -1
  75. package/dist/ListSelectAll.js +2 -2
  76. package/dist/ListSelectAll.js.map +1 -1
  77. package/dist/MastheadCountrySelector.d.ts +152 -0
  78. package/dist/MastheadCountrySelector.js +367 -0
  79. package/dist/MastheadCountrySelector.js.map +1 -0
  80. package/dist/MastheadItem.d.ts +75 -6
  81. package/dist/MastheadItem.js +126 -28
  82. package/dist/MastheadItem.js.map +1 -1
  83. package/dist/MastheadMenu.d.ts +2 -1
  84. package/dist/MastheadMenu.js +17 -7
  85. package/dist/MastheadMenu.js.map +1 -1
  86. package/dist/MastheadMenuItem.d.ts +19 -1
  87. package/dist/MastheadMenuItem.js +17 -6
  88. package/dist/MastheadMenuItem.js.map +1 -1
  89. package/dist/MastheadMobileMenu.d.ts +14 -7
  90. package/dist/MastheadMobileMenu.js +99 -41
  91. package/dist/MastheadMobileMenu.js.map +1 -1
  92. package/dist/MastheadProfileMenu.d.ts +1 -1
  93. package/dist/MastheadProfileMenu.js +3 -3
  94. package/dist/MastheadProfileMenu.js.map +1 -1
  95. package/dist/MastheadShell.d.ts +53 -10
  96. package/dist/MastheadShell.js +167 -76
  97. package/dist/MastheadShell.js.map +1 -1
  98. package/dist/MediaPlayer.d.ts +3660 -2
  99. package/dist/MediaPlayer.js +9 -3
  100. package/dist/MediaPlayer.js.map +1 -1
  101. package/dist/MediaPlayerVimeo.d.ts +1 -1
  102. package/dist/MediaPlayerVimeo.js +1 -1
  103. package/dist/MediaPlayerVimeo.js.map +1 -1
  104. package/dist/MediaPlayerYoutube.d.ts +1 -1
  105. package/dist/MediaPlayerYoutube.js +1 -1
  106. package/dist/MediaPlayerYoutube.js.map +1 -1
  107. package/dist/MessageStrip.js +1 -1
  108. package/dist/MessageStrip.js.map +1 -1
  109. package/dist/Pagination.js +3 -6
  110. package/dist/Pagination.js.map +1 -1
  111. package/dist/PasswordField.d.ts +13 -1
  112. package/dist/PasswordField.js +15 -2
  113. package/dist/PasswordField.js.map +1 -1
  114. package/dist/PhoneNumberField.d.ts +1 -0
  115. package/dist/PhoneNumberField.js +5 -2
  116. package/dist/PhoneNumberField.js.map +1 -1
  117. package/dist/ProgressBar.d.ts +1 -1
  118. package/dist/ProgressBar.js +1 -1
  119. package/dist/ProgressBar.js.map +1 -1
  120. package/dist/RadioButton.d.ts +1 -1
  121. package/dist/RadioButton.js +1 -1
  122. package/dist/RadioButton.js.map +1 -1
  123. package/dist/RangeSlider.d.ts +1 -1
  124. package/dist/RangeSlider.js +1 -1
  125. package/dist/RangeSlider.js.map +1 -1
  126. package/dist/RatingBar.d.ts +1 -1
  127. package/dist/RatingBar.js +2 -2
  128. package/dist/RatingBar.js.map +1 -1
  129. package/dist/RatingIndicator.d.ts +1 -1
  130. package/dist/RatingIndicator.js +1 -1
  131. package/dist/RatingIndicator.js.map +1 -1
  132. package/dist/Review.d.ts +1 -1
  133. package/dist/Review.js +2 -2
  134. package/dist/Review.js.map +1 -1
  135. package/dist/ReviewItem.d.ts +1 -1
  136. package/dist/ReviewItem.js +2 -2
  137. package/dist/ReviewItem.js.map +1 -1
  138. package/dist/Search.d.ts +9 -2
  139. package/dist/Search.js +33 -10
  140. package/dist/Search.js.map +1 -1
  141. package/dist/SearchableListBase.d.ts +21 -0
  142. package/dist/SearchableListBase.js +12 -2
  143. package/dist/SearchableListBase.js.map +1 -1
  144. package/dist/SecondaryNavigation.d.ts +7 -1
  145. package/dist/SecondaryNavigation.js +5 -2
  146. package/dist/SecondaryNavigation.js.map +1 -1
  147. package/dist/SecondaryNavigationItem.d.ts +12 -1
  148. package/dist/SecondaryNavigationItem.js +33 -6
  149. package/dist/SecondaryNavigationItem.js.map +1 -1
  150. package/dist/SecondaryNavigationItemBase.d.ts +1 -0
  151. package/dist/SecondaryNavigationItemBase.js +3 -0
  152. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  153. package/dist/SecondaryNavigationSubItem.d.ts +1 -8
  154. package/dist/SecondaryNavigationSubItem.js +2 -5
  155. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  156. package/dist/SegmentedButton.d.ts +2 -2
  157. package/dist/SegmentedButton.js +2 -2
  158. package/dist/SegmentedButton.js.map +1 -1
  159. package/dist/SegmentedButtonItem.d.ts +1 -1
  160. package/dist/SegmentedButtonItem.js +1 -1
  161. package/dist/SegmentedButtonItem.js.map +1 -1
  162. package/dist/SelectBox.d.ts +3 -1
  163. package/dist/SelectBox.js +8 -5
  164. package/dist/SelectBox.js.map +1 -1
  165. package/dist/SelectBoxGroupHeader.d.ts +1 -1
  166. package/dist/SelectBoxGroupHeader.js +1 -1
  167. package/dist/SelectBoxGroupHeader.js.map +1 -1
  168. package/dist/SelectBoxItem.d.ts +1 -1
  169. package/dist/SelectBoxItem.js +1 -1
  170. package/dist/SelectBoxItem.js.map +1 -1
  171. package/dist/SelectBoxSelectAll.d.ts +1 -1
  172. package/dist/SelectBoxSelectAll.js +1 -1
  173. package/dist/SelectBoxSelectAll.js.map +1 -1
  174. package/dist/SideNavigation.d.ts +1 -1
  175. package/dist/SideNavigation.js +1 -1
  176. package/dist/SideNavigation.js.map +1 -1
  177. package/dist/SideNavigationGroup.d.ts +1 -1
  178. package/dist/SideNavigationGroup.js +1 -1
  179. package/dist/SideNavigationGroup.js.map +1 -1
  180. package/dist/SideNavigationItem.d.ts +1 -1
  181. package/dist/SideNavigationItem.js +1 -1
  182. package/dist/SideNavigationItem.js.map +1 -1
  183. package/dist/SideNavigationMobile.d.ts +1 -1
  184. package/dist/SideNavigationMobile.js +1 -1
  185. package/dist/SideNavigationMobile.js.map +1 -1
  186. package/dist/SideNavigationSubItem.d.ts +1 -1
  187. package/dist/SideNavigationSubItem.js +1 -1
  188. package/dist/SideNavigationSubItem.js.map +1 -1
  189. package/dist/Slider.d.ts +1 -1
  190. package/dist/Slider.js +1 -1
  191. package/dist/Slider.js.map +1 -1
  192. package/dist/StatusBadge.d.ts +1 -1
  193. package/dist/StatusBadge.js +2 -2
  194. package/dist/StatusBadge.js.map +1 -1
  195. package/dist/StatusMessage.d.ts +1 -1
  196. package/dist/StatusMessage.js +1 -1
  197. package/dist/StatusMessage.js.map +1 -1
  198. package/dist/StepInput.d.ts +2 -4
  199. package/dist/StepInput.js +11 -15
  200. package/dist/StepInput.js.map +1 -1
  201. package/dist/Switch.d.ts +1 -1
  202. package/dist/Switch.js +1 -1
  203. package/dist/Switch.js.map +1 -1
  204. package/dist/Tab.d.ts +1 -1
  205. package/dist/Tab.js +2 -2
  206. package/dist/Tab.js.map +1 -1
  207. package/dist/TabNavigation.d.ts +1 -1
  208. package/dist/TabNavigation.js +2 -2
  209. package/dist/TabNavigation.js.map +1 -1
  210. package/dist/Table.d.ts +6 -1
  211. package/dist/Table.js +6 -3
  212. package/dist/Table.js.map +1 -1
  213. package/dist/TableCell.d.ts +1 -1
  214. package/dist/TableCell.js +1 -1
  215. package/dist/TableCell.js.map +1 -1
  216. package/dist/TableGroupRow.d.ts +1 -1
  217. package/dist/TableGroupRow.js +1 -1
  218. package/dist/TableGroupRow.js.map +1 -1
  219. package/dist/TableHeaderCell.d.ts +1 -1
  220. package/dist/TableHeaderCell.js +1 -1
  221. package/dist/TableHeaderCell.js.map +1 -1
  222. package/dist/TableHeaderRow.d.ts +1 -1
  223. package/dist/TableHeaderRow.js +1 -1
  224. package/dist/TableHeaderRow.js.map +1 -1
  225. package/dist/TableRow.d.ts +1 -1
  226. package/dist/TableRow.js +1 -1
  227. package/dist/TableRow.js.map +1 -1
  228. package/dist/Tag.d.ts +6 -1
  229. package/dist/Tag.js +18 -1
  230. package/dist/Tag.js.map +1 -1
  231. package/dist/TagGroup.d.ts +1 -1
  232. package/dist/TagGroup.js +1 -1
  233. package/dist/TagGroup.js.map +1 -1
  234. package/dist/TextArea.js +1 -1
  235. package/dist/TextArea.js.map +1 -1
  236. package/dist/TextField.d.ts +9 -1
  237. package/dist/TextField.js +15 -13
  238. package/dist/TextField.js.map +1 -1
  239. package/dist/Toast.d.ts +1 -1
  240. package/dist/Toast.js +1 -1
  241. package/dist/Toast.js.map +1 -1
  242. package/dist/Tooltip.d.ts +1 -1
  243. package/dist/Tooltip.js +1 -1
  244. package/dist/Tooltip.js.map +1 -1
  245. package/dist/TruncatedText.js +1 -1
  246. package/dist/TruncatedText.js.map +1 -1
  247. package/dist/Upload.d.ts +7 -2
  248. package/dist/Upload.js +76 -9
  249. package/dist/Upload.js.map +1 -1
  250. package/dist/UploadItem.d.ts +1 -1
  251. package/dist/UploadItem.js +2 -2
  252. package/dist/UploadItem.js.map +1 -1
  253. package/dist/Wizard.d.ts +1 -1
  254. package/dist/Wizard.js +1 -1
  255. package/dist/Wizard.js.map +1 -1
  256. package/dist/WizardStep.d.ts +1 -1
  257. package/dist/WizardStep.js +1 -1
  258. package/dist/WizardStep.js.map +1 -1
  259. package/dist/WizardTab.d.ts +1 -1
  260. package/dist/WizardTab.js +1 -1
  261. package/dist/WizardTab.js.map +1 -1
  262. package/dist/assets/ar-4a3e3814.js +1 -0
  263. package/dist/assets/az-1a5c38dc.js +1 -0
  264. package/dist/assets/ba-578f2c35.js +1 -0
  265. package/dist/assets/bg-23e26fa4.js +1 -0
  266. package/dist/assets/bn-ecf46fc9.js +1 -0
  267. package/dist/assets/bundle.esm-062c2857.js +331 -0
  268. package/dist/assets/ca-792d0c23.js +1 -0
  269. package/dist/assets/cs-6fb6c274.js +1 -0
  270. package/dist/assets/cy-f6e8dafd.js +1 -0
  271. package/dist/assets/da-89990885.js +1 -0
  272. package/dist/assets/de-32104d6f.js +1 -0
  273. package/dist/assets/el-cfd6e74d.js +1 -0
  274. package/dist/assets/en-111ebeca.js +1 -0
  275. package/dist/assets/en-GB-d734c02c.js +1 -0
  276. package/dist/assets/es-611df0dc.js +1 -0
  277. package/dist/assets/et-9ece8307.js +1 -0
  278. package/dist/assets/eu-49fabb60.js +1 -0
  279. package/dist/assets/fa-b37ac7ef.js +1 -0
  280. package/dist/assets/fi-7ec80e73.js +1 -0
  281. package/dist/assets/fr-ee18d408.js +1 -0
  282. package/dist/assets/gd-b81ebaf0.js +1 -0
  283. package/dist/assets/gl-e4ba9f11.js +1 -0
  284. package/dist/assets/he-3161ae46.js +1 -0
  285. package/dist/assets/hi-90e040fd.js +1 -0
  286. package/dist/assets/hr-578f2c35.js +1 -0
  287. package/dist/assets/hu-42b8fcee.js +1 -0
  288. package/dist/assets/it-b051329d.js +1 -0
  289. package/dist/assets/ja-8cc903fb.js +1 -0
  290. package/dist/assets/ko-b85d1cca.js +1 -0
  291. package/dist/assets/lv-7a47d532.js +1 -0
  292. package/dist/assets/messagebundle_en-5423ac88.js +1 -0
  293. package/dist/assets/mr-9563c6ee.js +1 -0
  294. package/dist/assets/nb-367efd73.js +1 -0
  295. package/dist/assets/nl-7501cf03.js +1 -0
  296. package/dist/assets/nn-7a32f39e.js +1 -0
  297. package/dist/assets/np-2442ddf5.js +1 -0
  298. package/dist/assets/oc-892205fc.js +1 -0
  299. package/dist/assets/parameters-bundle.css-165a1208.js +2 -0
  300. package/dist/assets/parameters-bundle.css-3c706630.js +2 -0
  301. package/dist/assets/parameters-bundle.css-3ea1926f.js +2 -0
  302. package/dist/assets/parameters-bundle.css-47cbf095.js +2 -0
  303. package/dist/assets/parameters-bundle.css-6eda420e.js +2 -0
  304. package/dist/assets/parameters-bundle.css-9905f744.js +2 -0
  305. package/dist/assets/parameters-bundle.css-9e6d1c8d.js +2 -0
  306. package/dist/assets/parameters-bundle.css-b1ba75bd.js +2 -0
  307. package/dist/assets/parameters-bundle.css-b6cfd976.js +2 -0
  308. package/dist/assets/parameters-bundle.css-bd30ac58.js +2 -0
  309. package/dist/assets/parameters-bundle.css-d38a0009.js +2 -0
  310. package/dist/assets/parameters-bundle.css-e591d3a4.js +2 -0
  311. package/dist/assets/pl-c9e6f97c.js +1 -0
  312. package/dist/assets/pt-BR-0cdaa4c2.js +1 -0
  313. package/dist/assets/pt-PT-3b56b10d.js +1 -0
  314. package/dist/assets/ro-27af0bfa.js +1 -0
  315. package/dist/assets/ru-7991b04b.js +1 -0
  316. package/dist/assets/sk-c31445bf.js +1 -0
  317. package/dist/assets/sl-44a6af7b.js +1 -0
  318. package/dist/assets/sr-ec351a65.js +1 -0
  319. package/dist/assets/sv-1176d505.js +1 -0
  320. package/dist/assets/te-78496f2d.js +1 -0
  321. package/dist/assets/th-357add84.js +1 -0
  322. package/dist/assets/tr-e9ba09b2.js +1 -0
  323. package/dist/assets/uk-82e5b14a.js +1 -0
  324. package/dist/assets/vi-8fa3e4db.js +1 -0
  325. package/dist/assets/zh-CN-56d8e9a8.js +1 -0
  326. package/dist/assets/zh-Hans-7eba8277.js +1 -0
  327. package/dist/assets/zh-Hant-c17e8907.js +1 -0
  328. package/dist/assets/zh-TW-52a9fefa.js +1 -0
  329. package/dist/css/themes/Accordion.css +1 -1
  330. package/dist/css/themes/AccordionItem.css +1 -1
  331. package/dist/css/themes/Avatar.css +1 -1
  332. package/dist/css/themes/Badge.css +1 -1
  333. package/dist/css/themes/Breadcrumbs.css +1 -1
  334. package/dist/css/themes/Button.css +1 -1
  335. package/dist/css/themes/Checkbox.css +1 -1
  336. package/dist/css/themes/ControlButton.css +1 -1
  337. package/dist/css/themes/Footer.css +1 -1
  338. package/dist/css/themes/Link.css +1 -1
  339. package/dist/css/themes/MastheadCountrySelector.css +1 -0
  340. package/dist/css/themes/MastheadItem.css +1 -1
  341. package/dist/css/themes/MastheadMenu.css +1 -1
  342. package/dist/css/themes/MastheadMenuItem.css +1 -1
  343. package/dist/css/themes/MastheadMobileMenu.css +1 -1
  344. package/dist/css/themes/MastheadShell.css +1 -1
  345. package/dist/css/themes/MediaPlayer.css +1 -1
  346. package/dist/css/themes/PasswordField.css +1 -0
  347. package/dist/css/themes/PhoneNumberField.css +1 -1
  348. package/dist/css/themes/ProgressBar.css +1 -1
  349. package/dist/css/themes/RatingIndicator.css +1 -1
  350. package/dist/css/themes/Search.css +1 -1
  351. package/dist/css/themes/SearchSuggestions.css +1 -1
  352. package/dist/css/themes/SearchableList.css +1 -1
  353. package/dist/css/themes/SecondaryNavigation.css +1 -1
  354. package/dist/css/themes/SecondaryNavigationItem.css +1 -1
  355. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  356. package/dist/css/themes/SelectBox.css +1 -1
  357. package/dist/css/themes/Slider.css +1 -1
  358. package/dist/css/themes/Tag.css +1 -1
  359. package/dist/css/themes/Tile.css +1 -1
  360. package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
  361. package/dist/custom-elements-internal.json +1019 -170
  362. package/dist/custom-elements.json +951 -169
  363. package/dist/features/SearchSuggestionsPopover.d.ts +3 -16
  364. package/dist/features/SearchSuggestionsPopover.js +9 -44
  365. package/dist/features/SearchSuggestionsPopover.js.map +1 -1
  366. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  367. package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +1 -1
  368. package/dist/generated/i18n/i18n-defaults.d.ts +4 -1
  369. package/dist/generated/i18n/i18n-defaults.js +4 -1
  370. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  371. package/dist/generated/templates/AccordionItemTemplate.lit.js +2 -2
  372. package/dist/generated/templates/AccordionItemTemplate.lit.js.map +1 -1
  373. package/dist/generated/templates/AccordionTemplate.lit.js +1 -1
  374. package/dist/generated/templates/AccordionTemplate.lit.js.map +1 -1
  375. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +1 -1
  376. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +1 -1
  377. package/dist/generated/templates/CarouselTemplate.lit.js +3 -3
  378. package/dist/generated/templates/CarouselTemplate.lit.js.map +1 -1
  379. package/dist/generated/templates/CountrySelectorTemplate.lit.js +1 -1
  380. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  381. package/dist/generated/templates/DropdownTemplate.lit.js +1 -1
  382. package/dist/generated/templates/DropdownTemplate.lit.js.map +1 -1
  383. package/dist/generated/templates/FilterMenuTemplate.lit.js +1 -1
  384. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  385. package/dist/generated/templates/FooterTemplate.lit.js +1 -1
  386. package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
  387. package/dist/generated/templates/HeroBannerTemplate.lit.js +2 -2
  388. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  389. package/dist/generated/templates/LinkTemplate.lit.js +1 -1
  390. package/dist/generated/templates/LinkTemplate.lit.js.map +1 -1
  391. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js +1 -1
  392. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js.map +1 -1
  393. package/dist/generated/templates/ListItemTemplate.lit.js +19 -15
  394. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  395. package/{config/dist/generated/templates/DropdownListGroupHeaderTemplate.lit.d.ts → dist/generated/templates/MastheadCountrySelectorTemplate.lit.d.ts} +2 -2
  396. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +10 -0
  397. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +1 -0
  398. package/dist/generated/templates/MastheadItemTemplate.lit.js +23 -17
  399. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  400. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +7 -7
  401. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
  402. package/dist/generated/templates/MastheadMenuTemplate.lit.js +4 -2
  403. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  404. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +7 -6
  405. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  406. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +2 -2
  407. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
  408. package/dist/generated/templates/MastheadShellTemplate.lit.js +6 -5
  409. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  410. package/dist/generated/templates/MediaPlayerTemplate.lit.js +4 -4
  411. package/dist/generated/templates/MediaPlayerTemplate.lit.js.map +1 -1
  412. package/dist/generated/templates/MessageStripTemplate.lit.js +1 -1
  413. package/dist/generated/templates/MessageStripTemplate.lit.js.map +1 -1
  414. package/dist/generated/templates/PasswordFieldTemplate.lit.js +1 -1
  415. package/dist/generated/templates/PasswordFieldTemplate.lit.js.map +1 -1
  416. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +2 -2
  417. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  418. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js +3 -3
  419. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +1 -1
  420. package/dist/generated/templates/SearchTemplate.lit.js +11 -9
  421. package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
  422. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +10 -8
  423. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  424. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +2 -2
  425. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
  426. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +2 -2
  427. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +1 -1
  428. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +1 -1
  429. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  430. package/dist/generated/templates/SelectBoxTemplate.lit.js +2 -2
  431. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  432. package/dist/generated/templates/StepInputTemplate.lit.js +1 -1
  433. package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -1
  434. package/dist/generated/templates/TextFieldTemplate.lit.js +2 -2
  435. package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
  436. package/dist/generated/templates/TileTemplate.lit.js +3 -3
  437. package/dist/generated/templates/TileTemplate.lit.js.map +1 -1
  438. package/dist/generated/templates/ToastTemplate.lit.js +1 -1
  439. package/dist/generated/templates/ToastTemplate.lit.js.map +1 -1
  440. package/dist/generated/templates/TooltipTemplate.lit.js +1 -1
  441. package/dist/generated/templates/TooltipTemplate.lit.js.map +1 -1
  442. package/dist/generated/templates/WizardTemplate.lit.js +1 -1
  443. package/dist/generated/templates/WizardTemplate.lit.js.map +1 -1
  444. package/dist/generated/themes/Accordion.css.js +1 -1
  445. package/dist/generated/themes/Accordion.css.js.map +1 -1
  446. package/dist/generated/themes/AccordionItem.css.js +1 -1
  447. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  448. package/dist/generated/themes/Avatar.css.js +1 -1
  449. package/dist/generated/themes/Avatar.css.js.map +1 -1
  450. package/dist/generated/themes/Badge.css.js +1 -1
  451. package/dist/generated/themes/Badge.css.js.map +1 -1
  452. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  453. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  454. package/dist/generated/themes/Button.css.js +1 -1
  455. package/dist/generated/themes/Button.css.js.map +1 -1
  456. package/dist/generated/themes/Checkbox.css.js +1 -1
  457. package/dist/generated/themes/Checkbox.css.js.map +1 -1
  458. package/dist/generated/themes/ControlButton.css.js +1 -1
  459. package/dist/generated/themes/ControlButton.css.js.map +1 -1
  460. package/dist/generated/themes/Footer.css.js +1 -1
  461. package/dist/generated/themes/Footer.css.js.map +1 -1
  462. package/dist/generated/themes/Link.css.js +1 -1
  463. package/dist/generated/themes/Link.css.js.map +1 -1
  464. package/dist/generated/themes/MastheadCountrySelector.css.js +9 -0
  465. package/dist/generated/themes/MastheadCountrySelector.css.js.map +1 -0
  466. package/dist/generated/themes/MastheadItem.css.js +1 -1
  467. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  468. package/dist/generated/themes/MastheadMenu.css.js +1 -1
  469. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  470. package/dist/generated/themes/MastheadMenuItem.css.js +1 -1
  471. package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
  472. package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
  473. package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
  474. package/dist/generated/themes/MastheadShell.css.js +1 -1
  475. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  476. package/dist/generated/themes/MediaPlayer.css.js +1 -1
  477. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  478. package/{config/dist/generated/themes/Calendar.css.js → dist/generated/themes/PasswordField.css.js} +4 -3
  479. package/dist/generated/themes/PasswordField.css.js.map +1 -0
  480. package/dist/generated/themes/PhoneNumberField.css.js +1 -1
  481. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  482. package/dist/generated/themes/ProgressBar.css.js +1 -1
  483. package/dist/generated/themes/ProgressBar.css.js.map +1 -1
  484. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  485. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  486. package/dist/generated/themes/Search.css.js +1 -1
  487. package/dist/generated/themes/Search.css.js.map +1 -1
  488. package/dist/generated/themes/SearchSuggestions.css.js +1 -1
  489. package/dist/generated/themes/SearchSuggestions.css.js.map +1 -1
  490. package/dist/generated/themes/SearchableList.css.js +1 -1
  491. package/dist/generated/themes/SearchableList.css.js.map +1 -1
  492. package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
  493. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  494. package/dist/generated/themes/SecondaryNavigationItem.css.js +1 -1
  495. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
  496. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  497. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  498. package/dist/generated/themes/SelectBox.css.js +1 -1
  499. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  500. package/dist/generated/themes/Slider.css.js +1 -1
  501. package/dist/generated/themes/Slider.css.js.map +1 -1
  502. package/dist/generated/themes/Tag.css.js +1 -1
  503. package/dist/generated/themes/Tag.css.js.map +1 -1
  504. package/dist/generated/themes/Tile.css.js +1 -1
  505. package/dist/generated/themes/Tile.css.js.map +1 -1
  506. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +1 -1
  507. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +1 -1
  508. package/dist/i18n/messagebundle.properties +10 -2
  509. package/dist/i18n/messagebundle_en.properties +4 -1
  510. package/dist/mediaPlayerLanguageMapping.d.ts +3506 -0
  511. package/dist/mediaPlayerLanguageMapping.js +114 -0
  512. package/dist/mediaPlayerLanguageMapping.js.map +1 -0
  513. package/dist/types/BadgeDesign.js +1 -1
  514. package/dist/types/BadgeDesign.js.map +1 -1
  515. package/dist/types/List.d.ts +0 -8
  516. package/dist/types/List.js.map +1 -1
  517. package/dist/utils/ListWithFirstLetterFocus.d.ts +21 -0
  518. package/dist/utils/ListWithFirstLetterFocus.js +46 -0
  519. package/dist/utils/ListWithFirstLetterFocus.js.map +1 -0
  520. package/dist/utils/parseRelativeUnits.d.ts +4 -0
  521. package/dist/utils/parseRelativeUnits.js +26 -0
  522. package/dist/utils/parseRelativeUnits.js.map +1 -0
  523. package/dist/vscode.html-custom-data.json +228 -91
  524. package/dist/web-types.json +471 -124
  525. package/package.json +8 -8
  526. package/src/Accordion.hbs +20 -23
  527. package/src/Accordion.ts +18 -36
  528. package/src/AccordionItem.hbs +35 -32
  529. package/src/AccordionItem.ts +19 -58
  530. package/src/Avatar.ts +7 -3
  531. package/src/AvatarGroup.ts +1 -1
  532. package/src/Badge.ts +8 -8
  533. package/src/Breadcrumbs.ts +19 -2
  534. package/src/BreadcrumbsItem.ts +1 -1
  535. package/src/BreadcrumbsPopover.hbs +1 -1
  536. package/src/Carousel.hbs +8 -8
  537. package/src/Carousel.ts +1 -1
  538. package/src/Checkbox.ts +1 -1
  539. package/src/ControlButton.ts +1 -1
  540. package/src/CountrySelector.hbs +1 -2
  541. package/src/CountrySelector.ts +13 -47
  542. package/src/DatePicker.ts +7 -3
  543. package/src/Dropdown.hbs +4 -4
  544. package/src/Dropdown.ts +2 -2
  545. package/src/FilterMenu.hbs +1 -0
  546. package/src/FilterMenu.ts +12 -1
  547. package/src/FilterMenuGroupHeader.ts +1 -1
  548. package/src/FilterMenuItem.ts +1 -1
  549. package/src/FilterMenuSelectAll.ts +1 -1
  550. package/src/Footer.hbs +6 -2
  551. package/src/Footer.ts +4 -3
  552. package/src/HeroBanner.hbs +4 -4
  553. package/src/HeroBanner.ts +18 -3
  554. package/src/InputGroup.ts +2 -2
  555. package/src/Link.hbs +7 -7
  556. package/src/Link.ts +7 -7
  557. package/src/List.ts +10 -56
  558. package/src/ListGroupHeader.hbs +1 -0
  559. package/src/ListGroupHeader.ts +1 -1
  560. package/src/ListItem.hbs +4 -0
  561. package/src/ListItem.ts +29 -22
  562. package/src/ListSelectAll.ts +2 -2
  563. package/src/MastheadCountrySelector.hbs +67 -0
  564. package/src/MastheadCountrySelector.ts +500 -0
  565. package/src/MastheadItem.hbs +20 -17
  566. package/src/MastheadItem.ts +169 -32
  567. package/src/MastheadMenu.hbs +15 -8
  568. package/src/MastheadMenu.ts +19 -7
  569. package/src/MastheadMenuItem.hbs +13 -10
  570. package/src/MastheadMenuItem.ts +33 -7
  571. package/src/MastheadMobileMenu.hbs +17 -12
  572. package/src/MastheadMobileMenu.ts +116 -44
  573. package/src/MastheadProfileMenu.hbs +2 -2
  574. package/src/MastheadProfileMenu.ts +3 -3
  575. package/src/MastheadShell.hbs +17 -5
  576. package/src/MastheadShell.ts +195 -86
  577. package/src/MediaPlayer.hbs +35 -29
  578. package/src/MediaPlayer.ts +9 -3
  579. package/src/MediaPlayerVimeo.ts +1 -1
  580. package/src/MediaPlayerYoutube.ts +1 -1
  581. package/src/MessageStrip.hbs +1 -1
  582. package/src/MessageStrip.ts +1 -1
  583. package/src/Pagination.ts +4 -8
  584. package/src/PasswordField.hbs +3 -2
  585. package/src/PasswordField.ts +21 -3
  586. package/src/PhoneNumberField.hbs +2 -1
  587. package/src/PhoneNumberField.ts +6 -2
  588. package/src/ProgressBar.ts +1 -1
  589. package/src/RadioButton.ts +1 -1
  590. package/src/RangeSlider.ts +1 -1
  591. package/src/RatingBar.ts +2 -2
  592. package/src/RatingIndicator.ts +1 -1
  593. package/src/Review.ts +2 -2
  594. package/src/ReviewItem.ts +2 -2
  595. package/src/Search.hbs +52 -20
  596. package/src/Search.ts +41 -10
  597. package/src/SearchSuggestions.hbs +3 -0
  598. package/src/SearchableListBase.hbs +7 -0
  599. package/src/SearchableListBase.ts +30 -2
  600. package/src/SecondaryNavigation.hbs +1 -0
  601. package/src/SecondaryNavigation.ts +9 -2
  602. package/src/SecondaryNavigationItem.hbs +2 -1
  603. package/src/SecondaryNavigationItem.ts +44 -6
  604. package/src/SecondaryNavigationItemBase.ts +4 -0
  605. package/src/SecondaryNavigationSubItem.hbs +4 -2
  606. package/src/SecondaryNavigationSubItem.ts +2 -11
  607. package/src/SegmentedButton.ts +2 -2
  608. package/src/SegmentedButtonItem.ts +1 -1
  609. package/src/SelectBox.hbs +20 -15
  610. package/src/SelectBox.ts +8 -6
  611. package/src/SelectBoxGroupHeader.ts +1 -1
  612. package/src/SelectBoxItem.ts +1 -1
  613. package/src/SelectBoxSelectAll.ts +1 -1
  614. package/src/SideNavigation.ts +1 -1
  615. package/src/SideNavigationGroup.ts +1 -1
  616. package/src/SideNavigationItem.ts +1 -1
  617. package/src/SideNavigationMobile.ts +1 -1
  618. package/src/SideNavigationSubItem.ts +1 -1
  619. package/src/Slider.ts +1 -1
  620. package/src/StatusBadge.ts +2 -2
  621. package/src/StatusMessage.ts +1 -1
  622. package/src/StepInput.hbs +1 -1
  623. package/src/StepInput.ts +13 -20
  624. package/src/Switch.ts +1 -1
  625. package/src/Tab.ts +2 -2
  626. package/src/TabNavigation.ts +2 -2
  627. package/src/Table.ts +10 -3
  628. package/src/TableCell.ts +1 -1
  629. package/src/TableGroupRow.ts +1 -1
  630. package/src/TableHeaderCell.ts +1 -1
  631. package/src/TableHeaderRow.ts +1 -1
  632. package/src/TableRow.ts +1 -1
  633. package/src/Tag.ts +22 -1
  634. package/src/TagGroup.ts +1 -1
  635. package/src/TextArea.ts +1 -1
  636. package/src/TextField.hbs +4 -2
  637. package/src/TextField.ts +23 -13
  638. package/src/Tile.hbs +7 -5
  639. package/src/Toast.hbs +1 -1
  640. package/src/Toast.ts +1 -1
  641. package/src/Tooltip.hbs +3 -3
  642. package/src/Tooltip.ts +1 -1
  643. package/src/TruncatedText.ts +1 -1
  644. package/src/Upload.ts +92 -11
  645. package/src/UploadItem.ts +2 -2
  646. package/src/Wizard.hbs +1 -1
  647. package/src/Wizard.ts +1 -1
  648. package/src/WizardStep.ts +1 -1
  649. package/src/WizardTab.ts +1 -1
  650. package/src/features/SearchSuggestionsPopover.ts +10 -62
  651. package/src/generated/i18n/i18n-defaults.ts +2 -2
  652. package/src/generated/templates/AccordionItemTemplate.lit.ts +2 -2
  653. package/src/generated/templates/AccordionTemplate.lit.ts +1 -1
  654. package/src/generated/templates/BreadcrumbsPopoverTemplate.lit.ts +1 -1
  655. package/src/generated/templates/CarouselTemplate.lit.ts +3 -3
  656. package/src/generated/templates/CountrySelectorTemplate.lit.ts +1 -1
  657. package/src/generated/templates/DropdownTemplate.lit.ts +1 -1
  658. package/src/generated/templates/FilterMenuTemplate.lit.ts +1 -1
  659. package/src/generated/templates/FooterTemplate.lit.ts +1 -1
  660. package/src/generated/templates/HeroBannerTemplate.lit.ts +2 -2
  661. package/src/generated/templates/LinkTemplate.lit.ts +1 -1
  662. package/src/generated/templates/ListGroupHeaderTemplate.lit.ts +1 -1
  663. package/src/generated/templates/ListItemTemplate.lit.ts +19 -15
  664. package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +15 -0
  665. package/src/generated/templates/MastheadItemTemplate.lit.ts +23 -17
  666. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +7 -7
  667. package/src/generated/templates/MastheadMenuTemplate.lit.ts +4 -2
  668. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +7 -6
  669. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +2 -2
  670. package/src/generated/templates/MastheadShellTemplate.lit.ts +6 -5
  671. package/src/generated/templates/MediaPlayerTemplate.lit.ts +4 -4
  672. package/src/generated/templates/MessageStripTemplate.lit.ts +1 -1
  673. package/src/generated/templates/PasswordFieldTemplate.lit.ts +1 -1
  674. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +2 -2
  675. package/src/generated/templates/SearchSuggestionsTemplate.lit.ts +3 -3
  676. package/src/generated/templates/SearchTemplate.lit.ts +11 -9
  677. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +10 -8
  678. package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +2 -2
  679. package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +2 -2
  680. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +1 -1
  681. package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
  682. package/src/generated/templates/StepInputTemplate.lit.ts +1 -1
  683. package/src/generated/templates/TextFieldTemplate.lit.ts +2 -2
  684. package/src/generated/templates/TileTemplate.lit.ts +3 -3
  685. package/src/generated/templates/ToastTemplate.lit.ts +1 -1
  686. package/src/generated/templates/TooltipTemplate.lit.ts +1 -1
  687. package/src/generated/templates/WizardTemplate.lit.ts +1 -1
  688. package/src/generated/themes/Accordion.css.ts +1 -1
  689. package/src/generated/themes/AccordionItem.css.ts +1 -1
  690. package/src/generated/themes/Avatar.css.ts +1 -1
  691. package/src/generated/themes/Badge.css.ts +1 -1
  692. package/src/generated/themes/Breadcrumbs.css.ts +1 -1
  693. package/src/generated/themes/Button.css.ts +1 -1
  694. package/src/generated/themes/Checkbox.css.ts +1 -1
  695. package/src/generated/themes/ControlButton.css.ts +1 -1
  696. package/src/generated/themes/Footer.css.ts +1 -1
  697. package/src/generated/themes/Link.css.ts +1 -1
  698. package/src/generated/themes/MastheadCountrySelector.css.ts +13 -0
  699. package/src/generated/themes/MastheadItem.css.ts +1 -1
  700. package/src/generated/themes/MastheadMenu.css.ts +1 -1
  701. package/src/generated/themes/MastheadMenuItem.css.ts +1 -1
  702. package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
  703. package/src/generated/themes/MastheadShell.css.ts +1 -1
  704. package/src/generated/themes/MediaPlayer.css.ts +1 -1
  705. package/{config/dist/generated/themes/Divider.css.js → src/generated/themes/PasswordField.css.ts} +8 -4
  706. package/src/generated/themes/PhoneNumberField.css.ts +1 -1
  707. package/src/generated/themes/ProgressBar.css.ts +1 -1
  708. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  709. package/src/generated/themes/Search.css.ts +1 -1
  710. package/src/generated/themes/SearchSuggestions.css.ts +1 -1
  711. package/src/generated/themes/SearchableList.css.ts +1 -1
  712. package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
  713. package/src/generated/themes/SecondaryNavigationItem.css.ts +1 -1
  714. package/src/generated/themes/SegmentedButtonItem.css.ts +1 -1
  715. package/src/generated/themes/SelectBox.css.ts +1 -1
  716. package/src/generated/themes/Slider.css.ts +1 -1
  717. package/src/generated/themes/Tag.css.ts +1 -1
  718. package/src/generated/themes/Tile.css.ts +1 -1
  719. package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
  720. package/src/i18n/messagebundle.properties +10 -2
  721. package/src/i18n/messagebundle_en.properties +4 -1
  722. package/src/mediaPlayerLanguageMapping.ts +114 -0
  723. package/src/themes/Accordion.css +0 -6
  724. package/src/themes/AccordionItem.css +17 -10
  725. package/src/themes/Avatar.css +9 -1
  726. package/src/themes/Badge.css +14 -14
  727. package/src/themes/Breadcrumbs.css +1 -1
  728. package/src/themes/Button.css +16 -17
  729. package/src/themes/Checkbox.css +16 -10
  730. package/src/themes/ControlButton.css +20 -8
  731. package/src/themes/Footer.css +25 -23
  732. package/src/themes/Link.css +29 -6
  733. package/src/themes/MastheadCountrySelector.css +110 -0
  734. package/src/themes/MastheadItem.css +45 -24
  735. package/src/themes/MastheadMenu.css +6 -0
  736. package/src/themes/MastheadMenuItem.css +5 -4
  737. package/src/themes/MastheadMobileMenu.css +3 -1
  738. package/src/themes/MastheadShell.css +5 -9
  739. package/src/themes/MediaPlayer.css +42 -2
  740. package/src/themes/PasswordField.css +3 -0
  741. package/src/themes/PhoneNumberField.css +7 -4
  742. package/src/themes/ProgressBar.css +5 -4
  743. package/src/themes/Search.css +46 -27
  744. package/src/themes/SearchSuggestions.css +3 -6
  745. package/src/themes/SearchableList.css +10 -0
  746. package/src/themes/SecondaryNavigation.css +5 -1
  747. package/src/themes/SecondaryNavigationItem.css +6 -1
  748. package/src/themes/SegmentedButtonItem.css +10 -2
  749. package/src/themes/SelectBox.css +28 -8
  750. package/src/themes/Tag.css +4 -2
  751. package/src/themes/Tile.css +4 -0
  752. package/src/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +3 -8
  753. package/src/types/BadgeDesign.ts +1 -1
  754. package/src/types/List.ts +0 -9
  755. package/src/utils/ListWithFirstLetterFocus.ts +66 -0
  756. package/src/utils/parseRelativeUnits.ts +32 -0
  757. package/config/dist/Accordion.d.ts +0 -76
  758. package/config/dist/Accordion.js +0 -179
  759. package/config/dist/Accordion.js.map +0 -1
  760. package/config/dist/AccordionItem.d.ts +0 -72
  761. package/config/dist/AccordionItem.js +0 -146
  762. package/config/dist/AccordionItem.js.map +0 -1
  763. package/config/dist/Assets.d.ts +0 -3
  764. package/config/dist/Assets.js +0 -10
  765. package/config/dist/Assets.js.map +0 -1
  766. package/config/dist/Avatar.d.ts +0 -128
  767. package/config/dist/Avatar.js +0 -118
  768. package/config/dist/Avatar.js.map +0 -1
  769. package/config/dist/Badge.d.ts +0 -78
  770. package/config/dist/Badge.js +0 -103
  771. package/config/dist/Badge.js.map +0 -1
  772. package/config/dist/Breadcrumbs.d.ts +0 -97
  773. package/config/dist/Breadcrumbs.js +0 -240
  774. package/config/dist/Breadcrumbs.js.map +0 -1
  775. package/config/dist/BreadcrumbsItem.d.ts +0 -28
  776. package/config/dist/BreadcrumbsItem.js +0 -42
  777. package/config/dist/BreadcrumbsItem.js.map +0 -1
  778. package/config/dist/Button.d.ts +0 -133
  779. package/config/dist/Button.js +0 -99
  780. package/config/dist/Button.js.map +0 -1
  781. package/config/dist/Calendar.d.ts +0 -21
  782. package/config/dist/Calendar.js +0 -42
  783. package/config/dist/Calendar.js.map +0 -1
  784. package/config/dist/Carousel.d.ts +0 -76
  785. package/config/dist/Carousel.js +0 -125
  786. package/config/dist/Carousel.js.map +0 -1
  787. package/config/dist/Checkbox.d.ts +0 -24
  788. package/config/dist/Checkbox.js +0 -45
  789. package/config/dist/Checkbox.js.map +0 -1
  790. package/config/dist/DatePicker.d.ts +0 -123
  791. package/config/dist/DatePicker.js +0 -175
  792. package/config/dist/DatePicker.js.map +0 -1
  793. package/config/dist/Divider.d.ts +0 -17
  794. package/config/dist/Divider.js +0 -39
  795. package/config/dist/Divider.js.map +0 -1
  796. package/config/dist/Dropdown.d.ts +0 -125
  797. package/config/dist/Dropdown.js +0 -201
  798. package/config/dist/Dropdown.js.map +0 -1
  799. package/config/dist/DropdownGroupHeaderBase.d.ts +0 -33
  800. package/config/dist/DropdownGroupHeaderBase.js +0 -133
  801. package/config/dist/DropdownGroupHeaderBase.js.map +0 -1
  802. package/config/dist/DropdownList.d.ts +0 -127
  803. package/config/dist/DropdownList.js +0 -243
  804. package/config/dist/DropdownList.js.map +0 -1
  805. package/config/dist/DropdownListGroupHeader.d.ts +0 -49
  806. package/config/dist/DropdownListGroupHeader.js +0 -97
  807. package/config/dist/DropdownListGroupHeader.js.map +0 -1
  808. package/config/dist/DropdownListItem.d.ts +0 -68
  809. package/config/dist/DropdownListItem.js +0 -176
  810. package/config/dist/DropdownListItem.js.map +0 -1
  811. package/config/dist/DropdownListItemBase.d.ts +0 -99
  812. package/config/dist/DropdownListItemBase.js +0 -69
  813. package/config/dist/DropdownListItemBase.js.map +0 -1
  814. package/config/dist/FilterMenu.d.ts +0 -143
  815. package/config/dist/FilterMenu.js +0 -299
  816. package/config/dist/FilterMenu.js.map +0 -1
  817. package/config/dist/FilterMenuGroupHeader.d.ts +0 -40
  818. package/config/dist/FilterMenuGroupHeader.js +0 -51
  819. package/config/dist/FilterMenuGroupHeader.js.map +0 -1
  820. package/config/dist/FilterMenuItem.d.ts +0 -31
  821. package/config/dist/FilterMenuItem.js +0 -47
  822. package/config/dist/FilterMenuItem.js.map +0 -1
  823. package/config/dist/Footer.d.ts +0 -111
  824. package/config/dist/Footer.js +0 -99
  825. package/config/dist/Footer.js.map +0 -1
  826. package/config/dist/HeroBanner.d.ts +0 -86
  827. package/config/dist/HeroBanner.js +0 -74
  828. package/config/dist/HeroBanner.js.map +0 -1
  829. package/config/dist/Link.d.ts +0 -48
  830. package/config/dist/Link.js +0 -68
  831. package/config/dist/Link.js.map +0 -1
  832. package/config/dist/MediaPlayer.d.ts +0 -98
  833. package/config/dist/MediaPlayer.js +0 -105
  834. package/config/dist/MediaPlayer.js.map +0 -1
  835. package/config/dist/MessageStrip.d.ts +0 -100
  836. package/config/dist/MessageStrip.js +0 -145
  837. package/config/dist/MessageStrip.js.map +0 -1
  838. package/config/dist/Modal.d.ts +0 -70
  839. package/config/dist/Modal.js +0 -73
  840. package/config/dist/Modal.js.map +0 -1
  841. package/config/dist/Pagination.d.ts +0 -107
  842. package/config/dist/Pagination.js +0 -272
  843. package/config/dist/Pagination.js.map +0 -1
  844. package/config/dist/PasswordField.d.ts +0 -155
  845. package/config/dist/PasswordField.js +0 -105
  846. package/config/dist/PasswordField.js.map +0 -1
  847. package/config/dist/PhoneNumberField.d.ts +0 -176
  848. package/config/dist/PhoneNumberField.js +0 -270
  849. package/config/dist/PhoneNumberField.js.map +0 -1
  850. package/config/dist/ProgressBar.d.ts +0 -25
  851. package/config/dist/ProgressBar.js +0 -50
  852. package/config/dist/ProgressBar.js.map +0 -1
  853. package/config/dist/Quote.d.ts +0 -81
  854. package/config/dist/Quote.js +0 -72
  855. package/config/dist/Quote.js.map +0 -1
  856. package/config/dist/RadioButton.d.ts +0 -30
  857. package/config/dist/RadioButton.js +0 -49
  858. package/config/dist/RadioButton.js.map +0 -1
  859. package/config/dist/RangeSlider.d.ts +0 -21
  860. package/config/dist/RangeSlider.js +0 -43
  861. package/config/dist/RangeSlider.js.map +0 -1
  862. package/config/dist/RatingIndicator.d.ts +0 -127
  863. package/config/dist/RatingIndicator.js +0 -217
  864. package/config/dist/RatingIndicator.js.map +0 -1
  865. package/config/dist/Search.d.ts +0 -236
  866. package/config/dist/Search.js +0 -450
  867. package/config/dist/Search.js.map +0 -1
  868. package/config/dist/SearchableListBase.d.ts +0 -101
  869. package/config/dist/SearchableListBase.js +0 -237
  870. package/config/dist/SearchableListBase.js.map +0 -1
  871. package/config/dist/Slider.d.ts +0 -21
  872. package/config/dist/Slider.js +0 -42
  873. package/config/dist/Slider.js.map +0 -1
  874. package/config/dist/Switch.d.ts +0 -65
  875. package/config/dist/Switch.js +0 -83
  876. package/config/dist/Switch.js.map +0 -1
  877. package/config/dist/Tab.d.ts +0 -159
  878. package/config/dist/Tab.js +0 -157
  879. package/config/dist/Tab.js.map +0 -1
  880. package/config/dist/TabNavigation.d.ts +0 -175
  881. package/config/dist/TabNavigation.js +0 -650
  882. package/config/dist/TabNavigation.js.map +0 -1
  883. package/config/dist/Tag.d.ts +0 -104
  884. package/config/dist/Tag.js +0 -141
  885. package/config/dist/Tag.js.map +0 -1
  886. package/config/dist/TextArea.d.ts +0 -191
  887. package/config/dist/TextArea.js +0 -182
  888. package/config/dist/TextArea.js.map +0 -1
  889. package/config/dist/TextField.d.ts +0 -178
  890. package/config/dist/TextField.js +0 -139
  891. package/config/dist/TextField.js.map +0 -1
  892. package/config/dist/Tile.d.ts +0 -82
  893. package/config/dist/Tile.js +0 -64
  894. package/config/dist/Tile.js.map +0 -1
  895. package/config/dist/Toast.d.ts +0 -65
  896. package/config/dist/Toast.js +0 -129
  897. package/config/dist/Toast.js.map +0 -1
  898. package/config/dist/Tooltip.d.ts +0 -68
  899. package/config/dist/Tooltip.js +0 -79
  900. package/config/dist/Tooltip.js.map +0 -1
  901. package/config/dist/TruncatedText.d.ts +0 -62
  902. package/config/dist/TruncatedText.js +0 -96
  903. package/config/dist/TruncatedText.js.map +0 -1
  904. package/config/dist/Wizard.d.ts +0 -32
  905. package/config/dist/Wizard.js +0 -167
  906. package/config/dist/Wizard.js.map +0 -1
  907. package/config/dist/WizardStep.d.ts +0 -30
  908. package/config/dist/WizardStep.js +0 -44
  909. package/config/dist/WizardStep.js.map +0 -1
  910. package/config/dist/WizardTab.d.ts +0 -38
  911. package/config/dist/WizardTab.js +0 -56
  912. package/config/dist/WizardTab.js.map +0 -1
  913. package/config/dist/css/themes/Accordion.css +0 -1
  914. package/config/dist/css/themes/AccordionItem.css +0 -1
  915. package/config/dist/css/themes/Avatar.css +0 -1
  916. package/config/dist/css/themes/Badge.css +0 -1
  917. package/config/dist/css/themes/Breadcrumbs.css +0 -1
  918. package/config/dist/css/themes/BreadcrumbsPopover.css +0 -1
  919. package/config/dist/css/themes/Button.css +0 -1
  920. package/config/dist/css/themes/Calendar.css +0 -0
  921. package/config/dist/css/themes/Carousel.css +0 -1
  922. package/config/dist/css/themes/Checkbox.css +0 -1
  923. package/config/dist/css/themes/DatePicker.css +0 -1
  924. package/config/dist/css/themes/Divider.css +0 -1
  925. package/config/dist/css/themes/Dropdown.css +0 -1
  926. package/config/dist/css/themes/DropdownList.css +0 -1
  927. package/config/dist/css/themes/DropdownListGroupHeader.css +0 -1
  928. package/config/dist/css/themes/DropdownListItem.css +0 -1
  929. package/config/dist/css/themes/FilterMenu.css +0 -1
  930. package/config/dist/css/themes/Footer.css +0 -1
  931. package/config/dist/css/themes/HeroBanner.css +0 -1
  932. package/config/dist/css/themes/Link.css +0 -1
  933. package/config/dist/css/themes/MediaPlayer.css +0 -1
  934. package/config/dist/css/themes/MessageStrip.css +0 -1
  935. package/config/dist/css/themes/Modal.css +0 -1
  936. package/config/dist/css/themes/Pagination.css +0 -1
  937. package/config/dist/css/themes/PasswordField.css +0 -1
  938. package/config/dist/css/themes/PhoneNumberField.css +0 -1
  939. package/config/dist/css/themes/ProgressBar.css +0 -1
  940. package/config/dist/css/themes/Quote.css +0 -1
  941. package/config/dist/css/themes/RadioButton.css +0 -1
  942. package/config/dist/css/themes/RatingIndicator.css +0 -1
  943. package/config/dist/css/themes/Search.css +0 -1
  944. package/config/dist/css/themes/SearchSuggestions.css +0 -1
  945. package/config/dist/css/themes/Slider.css +0 -1
  946. package/config/dist/css/themes/Switch.css +0 -1
  947. package/config/dist/css/themes/TabInOverflow.css +0 -1
  948. package/config/dist/css/themes/TabNavigation.css +0 -1
  949. package/config/dist/css/themes/Tag.css +0 -1
  950. package/config/dist/css/themes/TextArea.css +0 -1
  951. package/config/dist/css/themes/TextField.css +0 -1
  952. package/config/dist/css/themes/Tile.css +0 -1
  953. package/config/dist/css/themes/Toast.css +0 -1
  954. package/config/dist/css/themes/Tooltip.css +0 -1
  955. package/config/dist/css/themes/TruncatedText.css +0 -1
  956. package/config/dist/css/themes/Wizard.css +0 -1
  957. package/config/dist/css/themes/WizardTab.css +0 -1
  958. package/config/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +0 -1
  959. package/config/dist/css/themes/sap_fiori_3/parameters-bundle.css +0 -0
  960. package/config/dist/css/themes/sap_glow/parameters-bundle.css +0 -0
  961. package/config/dist/css/themes/sap_horizon/parameters-bundle.css +0 -0
  962. package/config/dist/custom-elements-internal.json +0 -5515
  963. package/config/dist/custom-elements.json +0 -5067
  964. package/config/dist/data/CountriesListPhoneNumber.d.ts +0 -12
  965. package/config/dist/data/CountriesListPhoneNumber.js +0 -53
  966. package/config/dist/data/CountriesListPhoneNumber.js.map +0 -1
  967. package/config/dist/features/SearchSuggestionsPopover.d.ts +0 -42
  968. package/config/dist/features/SearchSuggestionsPopover.js +0 -117
  969. package/config/dist/features/SearchSuggestionsPopover.js.map +0 -1
  970. package/config/dist/generated/assets/i18n/messagebundle_de.json +0 -1
  971. package/config/dist/generated/assets/i18n/messagebundle_en.json +0 -1
  972. package/config/dist/generated/assets/i18n/messagebundle_es.json +0 -1
  973. package/config/dist/generated/assets/i18n/messagebundle_fr.json +0 -1
  974. package/config/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +0 -1
  975. package/config/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +0 -1
  976. package/config/dist/generated/assets/themes/sap_glow/parameters-bundle.css.json +0 -1
  977. package/config/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +0 -1
  978. package/config/dist/generated/i18n/i18n-defaults.d.ts +0 -30
  979. package/config/dist/generated/i18n/i18n-defaults.js +0 -30
  980. package/config/dist/generated/i18n/i18n-defaults.js.map +0 -1
  981. package/config/dist/generated/json-imports/Themes-static.d.ts +0 -1
  982. package/config/dist/generated/json-imports/Themes-static.js +0 -19
  983. package/config/dist/generated/json-imports/Themes-static.js.map +0 -1
  984. package/config/dist/generated/json-imports/Themes.d.ts +0 -1
  985. package/config/dist/generated/json-imports/Themes.js +0 -19
  986. package/config/dist/generated/json-imports/Themes.js.map +0 -1
  987. package/config/dist/generated/json-imports/i18n-static.d.ts +0 -1
  988. package/config/dist/generated/json-imports/i18n-static.js +0 -27
  989. package/config/dist/generated/json-imports/i18n-static.js.map +0 -1
  990. package/config/dist/generated/json-imports/i18n.d.ts +0 -1
  991. package/config/dist/generated/json-imports/i18n.js +0 -26
  992. package/config/dist/generated/json-imports/i18n.js.map +0 -1
  993. package/config/dist/generated/templates/AccordionItemTemplate.lit.d.ts +0 -4
  994. package/config/dist/generated/templates/AccordionItemTemplate.lit.js +0 -5
  995. package/config/dist/generated/templates/AccordionItemTemplate.lit.js.map +0 -1
  996. package/config/dist/generated/templates/AccordionTemplate.lit.d.ts +0 -4
  997. package/config/dist/generated/templates/AccordionTemplate.lit.js +0 -6
  998. package/config/dist/generated/templates/AccordionTemplate.lit.js.map +0 -1
  999. package/config/dist/generated/templates/AvatarTemplate.lit.d.ts +0 -4
  1000. package/config/dist/generated/templates/AvatarTemplate.lit.js +0 -7
  1001. package/config/dist/generated/templates/AvatarTemplate.lit.js.map +0 -1
  1002. package/config/dist/generated/templates/BadgeTemplate.lit.d.ts +0 -4
  1003. package/config/dist/generated/templates/BadgeTemplate.lit.js +0 -7
  1004. package/config/dist/generated/templates/BadgeTemplate.lit.js.map +0 -1
  1005. package/config/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.d.ts +0 -4
  1006. package/config/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +0 -10
  1007. package/config/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +0 -1
  1008. package/config/dist/generated/templates/BreadcrumbsTemplate.lit.d.ts +0 -4
  1009. package/config/dist/generated/templates/BreadcrumbsTemplate.lit.js +0 -7
  1010. package/config/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +0 -1
  1011. package/config/dist/generated/templates/ButtonTemplate.lit.d.ts +0 -4
  1012. package/config/dist/generated/templates/ButtonTemplate.lit.js +0 -6
  1013. package/config/dist/generated/templates/ButtonTemplate.lit.js.map +0 -1
  1014. package/config/dist/generated/templates/CarouselTemplate.lit.d.ts +0 -4
  1015. package/config/dist/generated/templates/CarouselTemplate.lit.js +0 -8
  1016. package/config/dist/generated/templates/CarouselTemplate.lit.js.map +0 -1
  1017. package/config/dist/generated/templates/DatePickerTemplate.lit.d.ts +0 -4
  1018. package/config/dist/generated/templates/DatePickerTemplate.lit.js +0 -6
  1019. package/config/dist/generated/templates/DatePickerTemplate.lit.js.map +0 -1
  1020. package/config/dist/generated/templates/DividerTemplate.lit.d.ts +0 -4
  1021. package/config/dist/generated/templates/DividerTemplate.lit.js +0 -5
  1022. package/config/dist/generated/templates/DividerTemplate.lit.js.map +0 -1
  1023. package/config/dist/generated/templates/DropdownListGroupHeaderTemplate.lit.js +0 -8
  1024. package/config/dist/generated/templates/DropdownListGroupHeaderTemplate.lit.js.map +0 -1
  1025. package/config/dist/generated/templates/DropdownListItemTemplate.lit.d.ts +0 -4
  1026. package/config/dist/generated/templates/DropdownListItemTemplate.lit.js +0 -8
  1027. package/config/dist/generated/templates/DropdownListItemTemplate.lit.js.map +0 -1
  1028. package/config/dist/generated/templates/DropdownListTemplate.lit.d.ts +0 -4
  1029. package/config/dist/generated/templates/DropdownListTemplate.lit.js +0 -6
  1030. package/config/dist/generated/templates/DropdownListTemplate.lit.js.map +0 -1
  1031. package/config/dist/generated/templates/DropdownTemplate.lit.d.ts +0 -4
  1032. package/config/dist/generated/templates/DropdownTemplate.lit.js +0 -8
  1033. package/config/dist/generated/templates/DropdownTemplate.lit.js.map +0 -1
  1034. package/config/dist/generated/templates/FilterMenuTemplate.lit.d.ts +0 -4
  1035. package/config/dist/generated/templates/FilterMenuTemplate.lit.js +0 -7
  1036. package/config/dist/generated/templates/FilterMenuTemplate.lit.js.map +0 -1
  1037. package/config/dist/generated/templates/FooterTemplate.lit.d.ts +0 -4
  1038. package/config/dist/generated/templates/FooterTemplate.lit.js +0 -28
  1039. package/config/dist/generated/templates/FooterTemplate.lit.js.map +0 -1
  1040. package/config/dist/generated/templates/HeroBannerTemplate.lit.d.ts +0 -4
  1041. package/config/dist/generated/templates/HeroBannerTemplate.lit.js +0 -9
  1042. package/config/dist/generated/templates/HeroBannerTemplate.lit.js.map +0 -1
  1043. package/config/dist/generated/templates/LinkTemplate.lit.d.ts +0 -4
  1044. package/config/dist/generated/templates/LinkTemplate.lit.js +0 -8
  1045. package/config/dist/generated/templates/LinkTemplate.lit.js.map +0 -1
  1046. package/config/dist/generated/templates/MediaPlayerTemplate.lit.d.ts +0 -4
  1047. package/config/dist/generated/templates/MediaPlayerTemplate.lit.js +0 -12
  1048. package/config/dist/generated/templates/MediaPlayerTemplate.lit.js.map +0 -1
  1049. package/config/dist/generated/templates/MessageStripTemplate.lit.d.ts +0 -4
  1050. package/config/dist/generated/templates/MessageStripTemplate.lit.js +0 -7
  1051. package/config/dist/generated/templates/MessageStripTemplate.lit.js.map +0 -1
  1052. package/config/dist/generated/templates/ModalTemplate.lit.d.ts +0 -4
  1053. package/config/dist/generated/templates/ModalTemplate.lit.js +0 -7
  1054. package/config/dist/generated/templates/ModalTemplate.lit.js.map +0 -1
  1055. package/config/dist/generated/templates/PaginationTemplate.lit.d.ts +0 -4
  1056. package/config/dist/generated/templates/PaginationTemplate.lit.js +0 -11
  1057. package/config/dist/generated/templates/PaginationTemplate.lit.js.map +0 -1
  1058. package/config/dist/generated/templates/PasswordFieldTemplate.lit.d.ts +0 -4
  1059. package/config/dist/generated/templates/PasswordFieldTemplate.lit.js +0 -6
  1060. package/config/dist/generated/templates/PasswordFieldTemplate.lit.js.map +0 -1
  1061. package/config/dist/generated/templates/PhoneNumberFieldTemplate.lit.d.ts +0 -4
  1062. package/config/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +0 -12
  1063. package/config/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +0 -1
  1064. package/config/dist/generated/templates/ProgressBarTemplate.lit.d.ts +0 -4
  1065. package/config/dist/generated/templates/ProgressBarTemplate.lit.js +0 -5
  1066. package/config/dist/generated/templates/ProgressBarTemplate.lit.js.map +0 -1
  1067. package/config/dist/generated/templates/QuoteTemplate.lit.d.ts +0 -4
  1068. package/config/dist/generated/templates/QuoteTemplate.lit.js +0 -8
  1069. package/config/dist/generated/templates/QuoteTemplate.lit.js.map +0 -1
  1070. package/config/dist/generated/templates/RatingIndicatorTemplate.lit.d.ts +0 -4
  1071. package/config/dist/generated/templates/RatingIndicatorTemplate.lit.js +0 -15
  1072. package/config/dist/generated/templates/RatingIndicatorTemplate.lit.js.map +0 -1
  1073. package/config/dist/generated/templates/SearchSuggestionsTemplate.lit.d.ts +0 -4
  1074. package/config/dist/generated/templates/SearchSuggestionsTemplate.lit.js +0 -10
  1075. package/config/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +0 -1
  1076. package/config/dist/generated/templates/SearchTemplate.lit.d.ts +0 -4
  1077. package/config/dist/generated/templates/SearchTemplate.lit.js +0 -9
  1078. package/config/dist/generated/templates/SearchTemplate.lit.js.map +0 -1
  1079. package/config/dist/generated/templates/SearchableListBaseTemplate.lit.d.ts +0 -4
  1080. package/config/dist/generated/templates/SearchableListBaseTemplate.lit.js +0 -10
  1081. package/config/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +0 -1
  1082. package/config/dist/generated/templates/SwitchTemplate.lit.d.ts +0 -4
  1083. package/config/dist/generated/templates/SwitchTemplate.lit.js +0 -12
  1084. package/config/dist/generated/templates/SwitchTemplate.lit.js.map +0 -1
  1085. package/config/dist/generated/templates/TabHeaderTemplate.lit.d.ts +0 -4
  1086. package/config/dist/generated/templates/TabHeaderTemplate.lit.js +0 -12
  1087. package/config/dist/generated/templates/TabHeaderTemplate.lit.js.map +0 -1
  1088. package/config/dist/generated/templates/TabInOverflowTemplate.lit.d.ts +0 -4
  1089. package/config/dist/generated/templates/TabInOverflowTemplate.lit.js +0 -13
  1090. package/config/dist/generated/templates/TabInOverflowTemplate.lit.js.map +0 -1
  1091. package/config/dist/generated/templates/TabNavigationPopoverTemplate.lit.d.ts +0 -4
  1092. package/config/dist/generated/templates/TabNavigationPopoverTemplate.lit.js +0 -6
  1093. package/config/dist/generated/templates/TabNavigationPopoverTemplate.lit.js.map +0 -1
  1094. package/config/dist/generated/templates/TabNavigationTemplate.lit.d.ts +0 -4
  1095. package/config/dist/generated/templates/TabNavigationTemplate.lit.js +0 -7
  1096. package/config/dist/generated/templates/TabNavigationTemplate.lit.js.map +0 -1
  1097. package/config/dist/generated/templates/TabTemplate.lit.d.ts +0 -4
  1098. package/config/dist/generated/templates/TabTemplate.lit.js +0 -5
  1099. package/config/dist/generated/templates/TabTemplate.lit.js.map +0 -1
  1100. package/config/dist/generated/templates/TagTemplate.lit.d.ts +0 -4
  1101. package/config/dist/generated/templates/TagTemplate.lit.js +0 -7
  1102. package/config/dist/generated/templates/TagTemplate.lit.js.map +0 -1
  1103. package/config/dist/generated/templates/TextAreaTemplate.lit.d.ts +0 -4
  1104. package/config/dist/generated/templates/TextAreaTemplate.lit.js +0 -9
  1105. package/config/dist/generated/templates/TextAreaTemplate.lit.js.map +0 -1
  1106. package/config/dist/generated/templates/TextFieldTemplate.lit.d.ts +0 -4
  1107. package/config/dist/generated/templates/TextFieldTemplate.lit.js +0 -9
  1108. package/config/dist/generated/templates/TextFieldTemplate.lit.js.map +0 -1
  1109. package/config/dist/generated/templates/TileTemplate.lit.d.ts +0 -4
  1110. package/config/dist/generated/templates/TileTemplate.lit.js +0 -7
  1111. package/config/dist/generated/templates/TileTemplate.lit.js.map +0 -1
  1112. package/config/dist/generated/templates/ToastTemplate.lit.d.ts +0 -4
  1113. package/config/dist/generated/templates/ToastTemplate.lit.js +0 -7
  1114. package/config/dist/generated/templates/ToastTemplate.lit.js.map +0 -1
  1115. package/config/dist/generated/templates/TooltipTemplate.lit.d.ts +0 -4
  1116. package/config/dist/generated/templates/TooltipTemplate.lit.js +0 -6
  1117. package/config/dist/generated/templates/TooltipTemplate.lit.js.map +0 -1
  1118. package/config/dist/generated/templates/TruncatedTextTemplate.lit.d.ts +0 -4
  1119. package/config/dist/generated/templates/TruncatedTextTemplate.lit.js +0 -5
  1120. package/config/dist/generated/templates/TruncatedTextTemplate.lit.js.map +0 -1
  1121. package/config/dist/generated/templates/WizardTemplate.lit.d.ts +0 -4
  1122. package/config/dist/generated/templates/WizardTemplate.lit.js +0 -7
  1123. package/config/dist/generated/templates/WizardTemplate.lit.js.map +0 -1
  1124. package/config/dist/generated/themes/Accordion.css.js +0 -9
  1125. package/config/dist/generated/themes/Accordion.css.js.map +0 -1
  1126. package/config/dist/generated/themes/AccordionItem.css.d.ts +0 -3
  1127. package/config/dist/generated/themes/AccordionItem.css.js +0 -9
  1128. package/config/dist/generated/themes/AccordionItem.css.js.map +0 -1
  1129. package/config/dist/generated/themes/Avatar.css.d.ts +0 -3
  1130. package/config/dist/generated/themes/Avatar.css.js +0 -9
  1131. package/config/dist/generated/themes/Avatar.css.js.map +0 -1
  1132. package/config/dist/generated/themes/Badge.css.d.ts +0 -3
  1133. package/config/dist/generated/themes/Badge.css.js +0 -9
  1134. package/config/dist/generated/themes/Badge.css.js.map +0 -1
  1135. package/config/dist/generated/themes/Breadcrumbs.css.d.ts +0 -3
  1136. package/config/dist/generated/themes/Breadcrumbs.css.js +0 -9
  1137. package/config/dist/generated/themes/Breadcrumbs.css.js.map +0 -1
  1138. package/config/dist/generated/themes/BreadcrumbsPopover.css.d.ts +0 -3
  1139. package/config/dist/generated/themes/BreadcrumbsPopover.css.js +0 -9
  1140. package/config/dist/generated/themes/BreadcrumbsPopover.css.js.map +0 -1
  1141. package/config/dist/generated/themes/Button.css.d.ts +0 -3
  1142. package/config/dist/generated/themes/Button.css.js +0 -9
  1143. package/config/dist/generated/themes/Button.css.js.map +0 -1
  1144. package/config/dist/generated/themes/Calendar.css.d.ts +0 -3
  1145. package/config/dist/generated/themes/Calendar.css.js.map +0 -1
  1146. package/config/dist/generated/themes/Carousel.css.d.ts +0 -3
  1147. package/config/dist/generated/themes/Carousel.css.js +0 -9
  1148. package/config/dist/generated/themes/Carousel.css.js.map +0 -1
  1149. package/config/dist/generated/themes/Checkbox.css.d.ts +0 -3
  1150. package/config/dist/generated/themes/Checkbox.css.js +0 -9
  1151. package/config/dist/generated/themes/Checkbox.css.js.map +0 -1
  1152. package/config/dist/generated/themes/DatePicker.css.d.ts +0 -3
  1153. package/config/dist/generated/themes/DatePicker.css.js +0 -9
  1154. package/config/dist/generated/themes/DatePicker.css.js.map +0 -1
  1155. package/config/dist/generated/themes/Divider.css.d.ts +0 -3
  1156. package/config/dist/generated/themes/Divider.css.js.map +0 -1
  1157. package/config/dist/generated/themes/Dropdown.css.d.ts +0 -3
  1158. package/config/dist/generated/themes/Dropdown.css.js +0 -9
  1159. package/config/dist/generated/themes/Dropdown.css.js.map +0 -1
  1160. package/config/dist/generated/themes/DropdownList.css.d.ts +0 -3
  1161. package/config/dist/generated/themes/DropdownList.css.js +0 -9
  1162. package/config/dist/generated/themes/DropdownList.css.js.map +0 -1
  1163. package/config/dist/generated/themes/DropdownListGroupHeader.css.d.ts +0 -3
  1164. package/config/dist/generated/themes/DropdownListGroupHeader.css.js +0 -9
  1165. package/config/dist/generated/themes/DropdownListGroupHeader.css.js.map +0 -1
  1166. package/config/dist/generated/themes/DropdownListItem.css.d.ts +0 -3
  1167. package/config/dist/generated/themes/DropdownListItem.css.js +0 -9
  1168. package/config/dist/generated/themes/DropdownListItem.css.js.map +0 -1
  1169. package/config/dist/generated/themes/FilterMenu.css.d.ts +0 -3
  1170. package/config/dist/generated/themes/FilterMenu.css.js +0 -9
  1171. package/config/dist/generated/themes/FilterMenu.css.js.map +0 -1
  1172. package/config/dist/generated/themes/Footer.css.d.ts +0 -3
  1173. package/config/dist/generated/themes/Footer.css.js +0 -9
  1174. package/config/dist/generated/themes/Footer.css.js.map +0 -1
  1175. package/config/dist/generated/themes/HeroBanner.css.d.ts +0 -3
  1176. package/config/dist/generated/themes/HeroBanner.css.js +0 -9
  1177. package/config/dist/generated/themes/HeroBanner.css.js.map +0 -1
  1178. package/config/dist/generated/themes/Link.css.d.ts +0 -3
  1179. package/config/dist/generated/themes/Link.css.js +0 -9
  1180. package/config/dist/generated/themes/Link.css.js.map +0 -1
  1181. package/config/dist/generated/themes/MediaPlayer.css.d.ts +0 -3
  1182. package/config/dist/generated/themes/MediaPlayer.css.js +0 -9
  1183. package/config/dist/generated/themes/MediaPlayer.css.js.map +0 -1
  1184. package/config/dist/generated/themes/MessageStrip.css.d.ts +0 -3
  1185. package/config/dist/generated/themes/MessageStrip.css.js +0 -9
  1186. package/config/dist/generated/themes/MessageStrip.css.js.map +0 -1
  1187. package/config/dist/generated/themes/Modal.css.d.ts +0 -3
  1188. package/config/dist/generated/themes/Modal.css.js +0 -9
  1189. package/config/dist/generated/themes/Modal.css.js.map +0 -1
  1190. package/config/dist/generated/themes/Pagination.css.d.ts +0 -3
  1191. package/config/dist/generated/themes/Pagination.css.js +0 -9
  1192. package/config/dist/generated/themes/Pagination.css.js.map +0 -1
  1193. package/config/dist/generated/themes/PasswordField.css.js +0 -9
  1194. package/config/dist/generated/themes/PasswordField.css.js.map +0 -1
  1195. package/config/dist/generated/themes/PhoneNumberField.css.d.ts +0 -3
  1196. package/config/dist/generated/themes/PhoneNumberField.css.js +0 -9
  1197. package/config/dist/generated/themes/PhoneNumberField.css.js.map +0 -1
  1198. package/config/dist/generated/themes/ProgressBar.css.d.ts +0 -3
  1199. package/config/dist/generated/themes/ProgressBar.css.js +0 -9
  1200. package/config/dist/generated/themes/ProgressBar.css.js.map +0 -1
  1201. package/config/dist/generated/themes/Quote.css.d.ts +0 -3
  1202. package/config/dist/generated/themes/Quote.css.js +0 -9
  1203. package/config/dist/generated/themes/Quote.css.js.map +0 -1
  1204. package/config/dist/generated/themes/RadioButton.css.d.ts +0 -3
  1205. package/config/dist/generated/themes/RadioButton.css.js +0 -9
  1206. package/config/dist/generated/themes/RadioButton.css.js.map +0 -1
  1207. package/config/dist/generated/themes/RatingIndicator.css.d.ts +0 -3
  1208. package/config/dist/generated/themes/RatingIndicator.css.js +0 -9
  1209. package/config/dist/generated/themes/RatingIndicator.css.js.map +0 -1
  1210. package/config/dist/generated/themes/Search.css.d.ts +0 -3
  1211. package/config/dist/generated/themes/Search.css.js +0 -9
  1212. package/config/dist/generated/themes/Search.css.js.map +0 -1
  1213. package/config/dist/generated/themes/SearchSuggestions.css.d.ts +0 -3
  1214. package/config/dist/generated/themes/SearchSuggestions.css.js +0 -9
  1215. package/config/dist/generated/themes/SearchSuggestions.css.js.map +0 -1
  1216. package/config/dist/generated/themes/Slider.css.d.ts +0 -3
  1217. package/config/dist/generated/themes/Slider.css.js +0 -9
  1218. package/config/dist/generated/themes/Slider.css.js.map +0 -1
  1219. package/config/dist/generated/themes/Switch.css.d.ts +0 -3
  1220. package/config/dist/generated/themes/Switch.css.js +0 -9
  1221. package/config/dist/generated/themes/Switch.css.js.map +0 -1
  1222. package/config/dist/generated/themes/TabInOverflow.css.d.ts +0 -3
  1223. package/config/dist/generated/themes/TabInOverflow.css.js +0 -9
  1224. package/config/dist/generated/themes/TabInOverflow.css.js.map +0 -1
  1225. package/config/dist/generated/themes/TabNavigation.css.d.ts +0 -3
  1226. package/config/dist/generated/themes/TabNavigation.css.js +0 -9
  1227. package/config/dist/generated/themes/TabNavigation.css.js.map +0 -1
  1228. package/config/dist/generated/themes/Tag.css.d.ts +0 -3
  1229. package/config/dist/generated/themes/Tag.css.js +0 -9
  1230. package/config/dist/generated/themes/Tag.css.js.map +0 -1
  1231. package/config/dist/generated/themes/TextArea.css.d.ts +0 -3
  1232. package/config/dist/generated/themes/TextArea.css.js +0 -9
  1233. package/config/dist/generated/themes/TextArea.css.js.map +0 -1
  1234. package/config/dist/generated/themes/TextField.css.d.ts +0 -3
  1235. package/config/dist/generated/themes/TextField.css.js +0 -9
  1236. package/config/dist/generated/themes/TextField.css.js.map +0 -1
  1237. package/config/dist/generated/themes/Tile.css.d.ts +0 -3
  1238. package/config/dist/generated/themes/Tile.css.js +0 -9
  1239. package/config/dist/generated/themes/Tile.css.js.map +0 -1
  1240. package/config/dist/generated/themes/Toast.css.d.ts +0 -3
  1241. package/config/dist/generated/themes/Toast.css.js +0 -9
  1242. package/config/dist/generated/themes/Toast.css.js.map +0 -1
  1243. package/config/dist/generated/themes/Tooltip.css.d.ts +0 -3
  1244. package/config/dist/generated/themes/Tooltip.css.js +0 -9
  1245. package/config/dist/generated/themes/Tooltip.css.js.map +0 -1
  1246. package/config/dist/generated/themes/TruncatedText.css.d.ts +0 -3
  1247. package/config/dist/generated/themes/TruncatedText.css.js +0 -9
  1248. package/config/dist/generated/themes/TruncatedText.css.js.map +0 -1
  1249. package/config/dist/generated/themes/Wizard.css.d.ts +0 -3
  1250. package/config/dist/generated/themes/Wizard.css.js +0 -9
  1251. package/config/dist/generated/themes/Wizard.css.js.map +0 -1
  1252. package/config/dist/generated/themes/WizardTab.css.d.ts +0 -3
  1253. package/config/dist/generated/themes/WizardTab.css.js +0 -9
  1254. package/config/dist/generated/themes/WizardTab.css.js.map +0 -1
  1255. package/config/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.d.ts +0 -3
  1256. package/config/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +0 -4
  1257. package/config/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +0 -1
  1258. package/config/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +0 -3
  1259. package/config/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +0 -3
  1260. package/config/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +0 -1
  1261. package/config/dist/generated/themes/sap_glow/parameters-bundle.css.d.ts +0 -3
  1262. package/config/dist/generated/themes/sap_glow/parameters-bundle.css.js +0 -3
  1263. package/config/dist/generated/themes/sap_glow/parameters-bundle.css.js.map +0 -1
  1264. package/config/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +0 -3
  1265. package/config/dist/generated/themes/sap_horizon/parameters-bundle.css.js +0 -3
  1266. package/config/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +0 -1
  1267. package/config/dist/i18n/messagebundle.properties +0 -58
  1268. package/config/dist/i18n/messagebundle_de.properties +0 -3
  1269. package/config/dist/i18n/messagebundle_en.properties +0 -28
  1270. package/config/dist/i18n/messagebundle_es.properties +0 -3
  1271. package/config/dist/i18n/messagebundle_fr.properties +0 -3
  1272. package/config/dist/types/Dropdown.d.ts +0 -16
  1273. package/config/dist/types/Dropdown.js +0 -20
  1274. package/config/dist/types/Dropdown.js.map +0 -1
  1275. package/config/dist/types/SearchableListBase.d.ts +0 -7
  1276. package/config/dist/types/SearchableListBase.js +0 -2
  1277. package/config/dist/types/SearchableListBase.js.map +0 -1
  1278. package/config/dist/utils/debounce.d.ts +0 -3
  1279. package/config/dist/utils/debounce.js +0 -9
  1280. package/config/dist/utils/debounce.js.map +0 -1
  1281. package/config/dist/utils/redirectAttributes.d.ts +0 -2
  1282. package/config/dist/utils/redirectAttributes.js +0 -10
  1283. package/config/dist/utils/redirectAttributes.js.map +0 -1
  1284. package/config/dist/vscode.html-custom-data.json +0 -1130
  1285. package/config/dist/web-types.json +0 -2420
  1286. package/dist/assets/bundle.esm-44fd7c69.js +0 -329
  1287. package/dist/assets/messagebundle_en-59e0affd.js +0 -1
  1288. package/dist/assets/parameters-bundle.css-016bfbb1.js +0 -2
  1289. package/dist/assets/parameters-bundle.css-16e19728.js +0 -2
  1290. package/dist/assets/parameters-bundle.css-2450af31.js +0 -2
  1291. package/dist/assets/parameters-bundle.css-4f454042.js +0 -2
  1292. package/dist/assets/parameters-bundle.css-5ce14c26.js +0 -2
  1293. package/dist/assets/parameters-bundle.css-9447025f.js +0 -2
  1294. package/dist/assets/parameters-bundle.css-9b55bfaa.js +0 -2
  1295. package/dist/assets/parameters-bundle.css-9b8c1377.js +0 -2
  1296. package/dist/assets/parameters-bundle.css-bd4a2e6d.js +0 -2
  1297. package/dist/assets/parameters-bundle.css-beef06a9.js +0 -2
  1298. package/dist/assets/parameters-bundle.css-ebfade1e.js +0 -2
  1299. package/dist/assets/parameters-bundle.css-f2662097.js +0 -2
  1300. package/dist/utils/listItemLabelStartsWithKeyFocus.d.ts +0 -3
  1301. package/dist/utils/listItemLabelStartsWithKeyFocus.js +0 -55
  1302. package/dist/utils/listItemLabelStartsWithKeyFocus.js.map +0 -1
  1303. package/src/utils/listItemLabelStartsWithKeyFocus.ts +0 -74
  1304. /package/{config/dist/generated/themes/Accordion.css.d.ts → dist/generated/themes/MastheadCountrySelector.css.d.ts} +0 -0
  1305. /package/{config/dist → dist}/generated/themes/PasswordField.css.d.ts +0 -0
@@ -16,6 +16,7 @@ import "@ui5/webcomponents-icons/dist/play.js";
16
16
  import "@ui5/webcomponents-icons/dist/v5/play.svg";
17
17
  import UDExMediaPlayerYoutube from "./MediaPlayerYoutube.js";
18
18
  import UDExMediaPlayerVimeo from "./MediaPlayerVimeo.js";
19
+ import mapLangFile from "./mediaPlayerLanguageMapping.js";
19
20
  // Template
20
21
  import MediaPlayerTemplate from "./generated/templates/MediaPlayerTemplate.lit.js";
21
22
  // Styles
@@ -39,7 +40,7 @@ export var AspectRatio;
39
40
  * For the <code>udex-media-player</code>
40
41
  * <h3>ES6 Module Import</h3>
41
42
  *
42
- * <code>import "@udex/web-components/dist/MediaPlayer.js";</code>
43
+ * <code>import "@sapudex/web-components/dist/MediaPlayer.js";</code>
43
44
  *
44
45
  * @constructor
45
46
  * @author SAP SE
@@ -248,6 +249,7 @@ let UDExMediaPlayer = class UDExMediaPlayer extends UI5Element {
248
249
  controls: true,
249
250
  poster: this.poster,
250
251
  audioOnly: this.audioOnly,
252
+ bigPlayButton: true,
251
253
  controlBar: {
252
254
  playToggle: true,
253
255
  volumePanel: true,
@@ -278,7 +280,7 @@ let UDExMediaPlayer = class UDExMediaPlayer extends UI5Element {
278
280
  }
279
281
  async setupLanguage(language) {
280
282
  try {
281
- return await import(`video.js/dist/lang/${language}.json`);
283
+ return await mapLangFile(language);
282
284
  }
283
285
  catch (err) {
284
286
  console.warn("Cannot load language file", err);
@@ -295,7 +297,11 @@ let UDExMediaPlayer = class UDExMediaPlayer extends UI5Element {
295
297
  const options = this.getOptionsValue();
296
298
  const language = options?.language;
297
299
  if (language) {
298
- videojs.addLanguage(language, await this.setupLanguage(language));
300
+ const languageData = await this.setupLanguage(language);
301
+ videojs.addLanguage(language, {
302
+ ...languageData,
303
+ ...languageData?.default,
304
+ });
299
305
  }
300
306
  this.player = videojs(this.shadowRoot?.querySelector(".video-js") || "", options);
301
307
  this.attachListeners(this.player);
@@ -1 +1 @@
1
- {"version":3,"file":"MediaPlayer.js","sourceRoot":"","sources":["../src/MediaPlayer.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/play.js\";\nimport \"@ui5/webcomponents-icons/dist/v5/play.svg\";\nimport Player from \"video.js/dist/types/player.js\";\nimport type SeekBar from \"video.js/dist/types/control-bar/progress-control/seek-bar\";\nimport UDExMediaPlayerYoutube from \"./MediaPlayerYoutube.js\";\nimport UDExMediaPlayerVimeo, { VimeoPlayer } from \"./MediaPlayerVimeo.js\";\n\n// Template\nimport MediaPlayerTemplate from \"./generated/templates/MediaPlayerTemplate.lit.js\";\n\n// Styles\nimport MediaPlayerCss from \"./generated/themes/MediaPlayer.css\";\n\ndeclare global {\n interface Window {\n videojs: any;\n }\n}\n\nexport enum AspectRatio {\n \"16:9\" = \"16:9\",\n \"9:16\" = \"9:16\",\n \"4:3\" = \"4:3\",\n \"1:1\" = \"1:1\",\n \"none\" = \"none\",\n}\n\nexport interface VideoJSPlayer extends Player{\n qualityLevels?: () => any;\n textTracks?: () => any;\n controlBar?: any;\n bigPlayButton?: any;\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-media-player</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/MediaPlayer.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-media-player\n * @public\n */\n@customElement({\n tag: \"udex-media-player\",\n renderer: litRender,\n styles: MediaPlayerCss,\n template: MediaPlayerTemplate,\n dependencies: [Icon, UDExMediaPlayerYoutube, UDExMediaPlayerVimeo],\n})\n/**\n * Fires when video is played\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"videoStart\")\n/**\n * Fires when video is paused\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"videoPause\")\n/**\n * Fires when video is watched\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"videoComplete\")\n/**\n * Fires when video is ready\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"videoReady\")\n/**\n * Fires when video watching progress changed\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"videoProgress\")\n/**\n * Fires when 25% of video is watched\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"video25\")\n/**\n * Fires when 50% of video is watched\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"video50\")\n/**\n * Fires when 75% of video is watched\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"video75\")\nclass UDExMediaPlayer extends UI5Element {\n /**\n * Defines the options object of video.js element\n * accepts following properties: https://videojs.com/guides/options\n *\n * @public\n */\n @property({ type: String })\n options!: string;\n /**\n * Defines the source of the video or audio\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n source!: string;\n /**\n * Defines the video/audio type (examples: \"video/mp4\" for mp4, \"application/x-mpegURL\" for m3u8, \"audio/mp3\" for mp3) more information https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source\n *\n * @default \"video/mp4\"\n * @public\n */\n @property({ type: String, defaultValue: \"video/mp4\" })\n type!: string;\n /**\n * Defines a title for youtube video\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n title!: string;\n /**\n * Defines if only audio should be played\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n audioOnly!: boolean;\n /**\n * Defines the poster url\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n poster!: string;\n /**\n * Placeholder for all html `track` elements to provide video subtitles.\n * Example: `<track kind='captions' src='./videoSubtitles.vtt' srclang='en' label='English' default />`\n * More information: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/track\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, individualSlots: true })\n caption!: Array<HTMLElement>;\n /**\n * Defines video width. Used for YouTube and Vimeo videos only.\n * Regular video and audio sizes are control by CSS variables.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n width!: string;\n /**\n * Defines video height. Used for YouTube and Vimeo videos only.\n * Regular video and audio sizes are control by CSS variables.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n height!: string;\n /**\n * Defines id of html element that videojs will be initialized with\n *\n * @default \"udex-media-player\"\n * @public\n */\n @property({ type: String, defaultValue: \"udex-media-player\" })\n playerid!: string;\n /**\n * Defines aspect ratio of video. If set, video will be display in fluid mode.\n * Possible values: \"16:9\" , \"9:16\", \"4:3\", \"1:1\", \"none\"\n *\n * @default \"16:9\"\n * @public\n */\n @property({ type: AspectRatio, defaultValue: \"16:9\" })\n aspectRatio!: `${AspectRatio}`;\n /**\n * If this property is set, whenever user will focus on udex-media-player element, focus will be redirected into Big Play Button element.\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n playButtonInitialFocus!: boolean;\n /**\n * Enable videojs instance to be added to global window object\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n enableGlobalDependency!: boolean;\n /**\n * @private\n */\n @property({ type: Boolean })\n _allowIframeLoad!: boolean;\n\n player!: VideoJSPlayer;\n video25!: boolean;\n video50!: boolean;\n video75!: boolean;\n videoCompleted!: boolean;\n videoStart!: boolean;\n videoReady!: boolean;\n videoProgress!: number;\n\n getPlayedTime = (target: EventTarget): number => {\n const progressControl: SeekBar = (target as any)?.player.controlBar?.progressControl?.childNameIndex_.seekBar;\n if (!progressControl) {\n return 0;\n }\n return Math.round(progressControl.getPercent() * 100);\n };\n\n calculateVideoProgress(timeWatched: number) {\n if (timeWatched >= 25 && !this.video25) {\n this.fireEvent(\"video25\");\n this.video25 = true;\n }\n\n if (timeWatched >= 50 && !this.video50) {\n this.fireEvent(\"video50\");\n this.video50 = true;\n }\n\n if (timeWatched >= 75 && !this.video75) {\n this.fireEvent(\"video75\");\n this.video75 = true;\n }\n\n this.fireEvent(\"videoProgress\", { progress: timeWatched });\n }\n\n checkCaptionsAvailability(player: VideoJSPlayer) {\n player.on(\"loadedmetadata\", () => {\n if (!player?.textTracks) { return; }\n\n const tracks = player?.textTracks();\n let captionsAvailable = false;\n for (let i = 0; i < tracks.length; i++) {\n if (tracks[i].kind === \"captions\" || tracks[i].kind === \"subtitles\") {\n captionsAvailable = true;\n }\n }\n\n if (!captionsAvailable && !this._tracks.length) {\n player.controlBar?.removeChild(\"SubsCapsButton\");\n }\n });\n }\n\n applyScrollIntoTheView() {\n const bigPlayButton = this.player.bigPlayButton?.el();\n bigPlayButton.addEventListener(\"focus\", () => {\n this.player.el().scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n });\n }\n\n attachListeners(player: Player) {\n player.on(\"timeupdate\", (e: Event) => {\n if (!e.target) {\n return;\n }\n\n const timeWatched = this.getPlayedTime(e.target);\n if (timeWatched >= 0) {\n this.calculateVideoProgress(timeWatched);\n }\n });\n\n player.on(\"play\", () => {\n this.fireEvent(\"videoStart\");\n });\n\n player.on(\"ended\", () => {\n this.fireEvent(\"videoComplete\");\n });\n\n player.on(\"pause\", () => {\n this.fireEvent(\"videoPause\");\n });\n\n player.on(\"ready\", () => {\n this.checkCaptionsAvailability(player);\n this.applyScrollIntoTheView();\n this.fireEvent(\"videoReady\");\n });\n\n if (this.playButtonInitialFocus) {\n this.addEventListener(\"focus\", () => {\n (async () => {\n await player.getChild(\"BigPlayButton\")?.el_.focus();\n })();\n });\n }\n }\n\n /**\n * Returns video element\n * @public\n */\n getPlayer(): HTMLVideoElement | HTMLAudioElement | YT.Player | VimeoPlayer | null {\n if (this._youtubeSrc) {\n const player = this.shadowRoot?.querySelector(\"[udex-media-player-youtube]\") as UDExMediaPlayerYoutube;\n return player?.getPlayer() || null;\n }\n if (this._vimeoSrc) {\n const player = this.shadowRoot?.querySelector(\"[udex-media-player-vimeo]\") as UDExMediaPlayerVimeo;\n return player?.getPlayer() || null;\n }\n return this.shadowRoot?.querySelector(\".video-js video\") as HTMLVideoElement || this.shadowRoot?.querySelector(\".video-js audio\") || null;\n }\n\n setupHotkeys(e: KeyboardEvent, player: VideoJSPlayer) {\n // Back to start\n if (e.key === \"0\") {\n e.preventDefault();\n e.stopPropagation();\n player.currentTime(0);\n player.play();\n return;\n }\n\n // Full screen toggle\n if (e.key.toLowerCase() === \"f\") {\n e.preventDefault();\n e.stopPropagation();\n if (!player.isFullscreen()) {\n player.requestFullscreen();\n } else {\n player.exitFullscreen();\n }\n return;\n }\n\n // Mute / Unmute\n if (e.key.toLowerCase() === \"m\") {\n e.preventDefault();\n e.stopPropagation();\n player.muted(!player.muted());\n return;\n }\n\n // Play / Pause\n if (e.key === \" \") {\n e.preventDefault();\n e.stopPropagation();\n if (player.paused()) {\n player.play();\n } else {\n player.pause();\n }\n return;\n }\n\n // Speed up the video - set higher playback rate\n if (e.key === \"ArrowRight\" && e.shiftKey) {\n e.preventDefault();\n e.stopPropagation();\n const playbackRatesOptions: Array<number> = player.options_.playbackRates;\n const currentRateIndex = playbackRatesOptions.indexOf(player.playbackRate() ?? 1);\n if (currentRateIndex < playbackRatesOptions.length - 1) {\n const newPlaybackRate = currentRateIndex + 1;\n player.playbackRate(playbackRatesOptions[newPlaybackRate]);\n }\n return;\n }\n\n // Slow down the video - set lower playback rate\n if (e.key === \"ArrowLeft\" && e.shiftKey) {\n e.preventDefault();\n e.stopPropagation();\n const playbackRatesOptions: Array<number> = player.options_.playbackRates;\n const currentRateIndex = playbackRatesOptions.indexOf(player.playbackRate() ?? 1);\n if (currentRateIndex > 0) {\n const newPlaybackRate = currentRateIndex - 1;\n player.playbackRate(playbackRatesOptions[newPlaybackRate]);\n }\n return;\n }\n\n // Skip forward / Skip backward\n if (e.key === \"ArrowRight\" || e.key === \"ArrowLeft\") {\n e.preventDefault();\n e.stopPropagation();\n const stepSeconds = player.controlBar.progressControl.seekBar.options_.stepSeconds;\n const duration: number = player.duration() ?? 0;\n const currentTime: number = player.currentTime() ?? 0;\n const delta: number = (e.key === \"ArrowRight\" ? stepSeconds : -stepSeconds);\n const newTime = Math.min(Math.max(currentTime + delta, 0), duration);\n player.currentTime(newTime);\n return;\n }\n\n // Volume change\n if (((e.key === \"ArrowUp\" || e.key === \"ArrowDown\") && e.ctrlKey)\n || ((e.key === \"ArrowUp\" || e.key === \"ArrowDown\") && e.metaKey)) {\n e.preventDefault();\n e.stopPropagation();\n const volumeStep: number = 0.1;\n const volume: number = player.volume() ?? 0;\n let newVolume = volume + (e.key === \"ArrowUp\" ? volumeStep : -volumeStep);\n newVolume = Math.min(Math.max(newVolume, 0), 1);\n player.volume(newVolume);\n }\n }\n\n getOptionsValue() {\n const baseOptions = {\n playbackRates: [1, 1.5, 2],\n controls: true,\n poster: this.poster,\n audioOnly: this.audioOnly,\n controlBar: {\n playToggle: true,\n volumePanel: true,\n progressControl: {\n seekBar: {\n stepSeconds: 10,\n },\n },\n remainingTimeDisplay: true,\n subsCapsButton: true,\n playbackRateMenuButton: true,\n fullscreenToggle: true,\n pictureInPictureToggle: false,\n },\n userActions: {\n hotkeys: (e: KeyboardEvent) => {\n this.setupHotkeys(e, this.player);\n },\n },\n };\n\n if (!this.options) {\n return baseOptions;\n }\n\n return {\n ...baseOptions,\n ...JSON.parse(this.options),\n };\n }\n\n async setupLanguage(language: string) {\n try {\n return await import(`video.js/dist/lang/${language}.json`);\n } catch (err) {\n console.warn(\"Cannot load language file\", err);\n }\n }\n\n onAfterRendering(): void {\n if (this._youtubeSrc || this._vimeoSrc) {\n return;\n }\n\n import(\"video.js\").then(async ({ \"default\": videojs }) => {\n if (this.enableGlobalDependency) {\n window.videojs = videojs;\n }\n\n const options = this.getOptionsValue();\n const language: string = options?.language;\n if (language) {\n videojs.addLanguage(language, await this.setupLanguage(language));\n }\n\n this.player = videojs(this.shadowRoot?.querySelector(\".video-js\") || \"\", options);\n this.attachListeners(this.player);\n\n if (this.audioOnly) { return; }\n\n const backgroundOpacityElement = this.shadowRoot?.querySelector<HTMLOptionElement>(\".vjs-bg-opacity > select > option[value=\\\"0.5\\\"]\");\n if (backgroundOpacityElement) {\n backgroundOpacityElement.value = \"0.7\";\n backgroundOpacityElement.selected = true;\n }\n\n const fontSizeElement = this.shadowRoot?.querySelector<HTMLOptionElement>(\".vjs-font-percent > select > option[value=\\\"1.00\\\"]\");\n if (fontSizeElement) { fontSizeElement.value = \"1.2245\"; }\n\n const playbackSpeed = this.shadowRoot?.querySelector<HTMLOptionElement>(\".vjs-playback-rate .vjs-playback-rate-value\");\n playbackSpeed?.setAttribute(\"aria-hidden\", \"true\");\n });\n }\n\n handleEmbedPlay() {\n this._allowIframeLoad = true;\n }\n\n handleEmbedVideoReady() {\n this.fireEvent(\"videoReady\");\n }\n\n handleEmbedVideoPlaying = (embedEvent: CustomEvent) => {\n if (!this.videoStart) {\n this.fireEvent(\"videoStart\");\n this.videoStart = true;\n }\n const playedTime = Math.round(embedEvent.detail.percentPlayed as number);\n this.calculateVideoProgress(playedTime);\n };\n\n handleEmbedVideoEnded() {\n this.fireEvent(\"videoComplete\");\n }\n\n handleEmbedVideoPause() {\n this.fireEvent(\"videoPause\");\n }\n\n get _iframePosterPreload() {\n const shouldBlockIframe = this._iframeLoad && this.poster;\n if (this._allowIframeLoad) {\n return false;\n }\n if (!shouldBlockIframe) {\n this._allowIframeLoad = true;\n }\n return shouldBlockIframe;\n }\n\n get _iframeLoad() {\n return this._youtubeSrc || this._vimeoSrc;\n }\n\n get _tracks() {\n return this.getSlottedNodes(\"caption\");\n }\n\n get _vimeoSrc() {\n return this.source.includes(\"vimeo\");\n }\n\n get _youtubeSrc() {\n return this.source.includes(\"youtube\");\n }\n\n get aspectRatioClass() {\n switch (this.aspectRatio) {\n case AspectRatio[\"16:9\"]:\n return \"vjs-16-9 udex-media-player__fluid vjs-fluid\";\n case AspectRatio[\"9:16\"]:\n return \"vjs-9-16 udex-media-player__fluid vjs-fluid\";\n case AspectRatio[\"4:3\"]:\n return \"vjs-4-3 udex-media-player__fluid vjs-fluid\";\n case AspectRatio[\"1:1\"]:\n return \"vjs-1-1 udex-media-player__fluid vjs-fluid\";\n default:\n return \"\";\n }\n }\n\n get embedVideoFluidClass() {\n if (this.aspectRatio === AspectRatio[\"16:9\"] || this.aspectRatio === AspectRatio[\"9:16\"] || this.aspectRatio === AspectRatio[\"4:3\"] || this.aspectRatio === AspectRatio[\"1:1\"]) {\n return true;\n }\n return false;\n }\n\n get playerElementId(): string {\n return this.playerid || \"udex-media-player\";\n }\n\n onExitDOM(): void {\n if (this.player) {\n this.player.dispose();\n }\n }\n}\n\nUDExMediaPlayer.define();\n\nexport default UDExMediaPlayer;\n"]}
1
+ {"version":3,"file":"MediaPlayer.js","sourceRoot":"","sources":["../src/MediaPlayer.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/play.js\";\nimport \"@ui5/webcomponents-icons/dist/v5/play.svg\";\nimport Player from \"video.js/dist/types/player.js\";\nimport type SeekBar from \"video.js/dist/types/control-bar/progress-control/seek-bar\";\nimport UDExMediaPlayerYoutube from \"./MediaPlayerYoutube.js\";\nimport UDExMediaPlayerVimeo, { VimeoPlayer } from \"./MediaPlayerVimeo.js\";\nimport mapLangFile from \"./mediaPlayerLanguageMapping.js\";\n\n// Template\nimport MediaPlayerTemplate from \"./generated/templates/MediaPlayerTemplate.lit.js\";\n\n// Styles\nimport MediaPlayerCss from \"./generated/themes/MediaPlayer.css\";\n\ndeclare global {\n interface Window {\n videojs: any;\n }\n}\n\nexport enum AspectRatio {\n \"16:9\" = \"16:9\",\n \"9:16\" = \"9:16\",\n \"4:3\" = \"4:3\",\n \"1:1\" = \"1:1\",\n \"none\" = \"none\",\n}\n\nexport interface VideoJSPlayer extends Player{\n qualityLevels?: () => any;\n textTracks?: () => any;\n controlBar?: any;\n bigPlayButton?: any;\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-media-player</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MediaPlayer.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-media-player\n * @public\n */\n@customElement({\n tag: \"udex-media-player\",\n renderer: litRender,\n styles: MediaPlayerCss,\n template: MediaPlayerTemplate,\n dependencies: [Icon, UDExMediaPlayerYoutube, UDExMediaPlayerVimeo],\n})\n/**\n * Fires when video is played\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"videoStart\")\n/**\n * Fires when video is paused\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"videoPause\")\n/**\n * Fires when video is watched\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"videoComplete\")\n/**\n * Fires when video is ready\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"videoReady\")\n/**\n * Fires when video watching progress changed\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"videoProgress\")\n/**\n * Fires when 25% of video is watched\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"video25\")\n/**\n * Fires when 50% of video is watched\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"video50\")\n/**\n * Fires when 75% of video is watched\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"video75\")\nclass UDExMediaPlayer extends UI5Element {\n /**\n * Defines the options object of video.js element\n * accepts following properties: https://videojs.com/guides/options\n *\n * @public\n */\n @property({ type: String })\n options!: string;\n /**\n * Defines the source of the video or audio\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n source!: string;\n /**\n * Defines the video/audio type (examples: \"video/mp4\" for mp4, \"application/x-mpegURL\" for m3u8, \"audio/mp3\" for mp3) more information https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source\n *\n * @default \"video/mp4\"\n * @public\n */\n @property({ type: String, defaultValue: \"video/mp4\" })\n type!: string;\n /**\n * Defines a title for youtube video\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n title!: string;\n /**\n * Defines if only audio should be played\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n audioOnly!: boolean;\n /**\n * Defines the poster url\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n poster!: string;\n /**\n * Placeholder for all html `track` elements to provide video subtitles.\n * Example: `<track kind='captions' src='./videoSubtitles.vtt' srclang='en' label='English' default />`\n * More information: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/track\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, individualSlots: true })\n caption!: Array<HTMLElement>;\n /**\n * Defines video width. Used for YouTube and Vimeo videos only.\n * Regular video and audio sizes are control by CSS variables.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n width!: string;\n /**\n * Defines video height. Used for YouTube and Vimeo videos only.\n * Regular video and audio sizes are control by CSS variables.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n height!: string;\n /**\n * Defines id of html element that videojs will be initialized with\n *\n * @default \"udex-media-player\"\n * @public\n */\n @property({ type: String, defaultValue: \"udex-media-player\" })\n playerid!: string;\n /**\n * Defines aspect ratio of video. If set, video will be display in fluid mode.\n * Possible values: \"16:9\" , \"9:16\", \"4:3\", \"1:1\", \"none\"\n *\n * @default \"16:9\"\n * @public\n */\n @property({ type: AspectRatio, defaultValue: \"16:9\" })\n aspectRatio!: `${AspectRatio}`;\n /**\n * If this property is set, whenever user will focus on udex-media-player element, focus will be redirected into Big Play Button element.\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n playButtonInitialFocus!: boolean;\n /**\n * Enable videojs instance to be added to global window object\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n enableGlobalDependency!: boolean;\n /**\n * @private\n */\n @property({ type: Boolean })\n _allowIframeLoad!: boolean;\n\n player!: VideoJSPlayer;\n video25!: boolean;\n video50!: boolean;\n video75!: boolean;\n videoCompleted!: boolean;\n videoStart!: boolean;\n videoReady!: boolean;\n videoProgress!: number;\n\n getPlayedTime = (target: EventTarget): number => {\n const progressControl: SeekBar = (target as any)?.player.controlBar?.progressControl?.childNameIndex_.seekBar;\n if (!progressControl) {\n return 0;\n }\n return Math.round(progressControl.getPercent() * 100);\n };\n\n calculateVideoProgress(timeWatched: number) {\n if (timeWatched >= 25 && !this.video25) {\n this.fireEvent(\"video25\");\n this.video25 = true;\n }\n\n if (timeWatched >= 50 && !this.video50) {\n this.fireEvent(\"video50\");\n this.video50 = true;\n }\n\n if (timeWatched >= 75 && !this.video75) {\n this.fireEvent(\"video75\");\n this.video75 = true;\n }\n\n this.fireEvent(\"videoProgress\", { progress: timeWatched });\n }\n\n checkCaptionsAvailability(player: VideoJSPlayer) {\n player.on(\"loadedmetadata\", () => {\n if (!player?.textTracks) { return; }\n\n const tracks = player?.textTracks();\n let captionsAvailable = false;\n for (let i = 0; i < tracks.length; i++) {\n if (tracks[i].kind === \"captions\" || tracks[i].kind === \"subtitles\") {\n captionsAvailable = true;\n }\n }\n\n if (!captionsAvailable && !this._tracks.length) {\n player.controlBar?.removeChild(\"SubsCapsButton\");\n }\n });\n }\n\n applyScrollIntoTheView() {\n const bigPlayButton = this.player.bigPlayButton?.el();\n bigPlayButton.addEventListener(\"focus\", () => {\n this.player.el().scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n });\n }\n\n attachListeners(player: Player) {\n player.on(\"timeupdate\", (e: Event) => {\n if (!e.target) {\n return;\n }\n\n const timeWatched = this.getPlayedTime(e.target);\n if (timeWatched >= 0) {\n this.calculateVideoProgress(timeWatched);\n }\n });\n\n player.on(\"play\", () => {\n this.fireEvent(\"videoStart\");\n });\n\n player.on(\"ended\", () => {\n this.fireEvent(\"videoComplete\");\n });\n\n player.on(\"pause\", () => {\n this.fireEvent(\"videoPause\");\n });\n\n player.on(\"ready\", () => {\n this.checkCaptionsAvailability(player);\n this.applyScrollIntoTheView();\n this.fireEvent(\"videoReady\");\n });\n\n if (this.playButtonInitialFocus) {\n this.addEventListener(\"focus\", () => {\n (async () => {\n await player.getChild(\"BigPlayButton\")?.el_.focus();\n })();\n });\n }\n }\n\n /**\n * Returns video element\n * @public\n */\n getPlayer(): HTMLVideoElement | HTMLAudioElement | YT.Player | VimeoPlayer | null {\n if (this._youtubeSrc) {\n const player = this.shadowRoot?.querySelector(\"[udex-media-player-youtube]\") as UDExMediaPlayerYoutube;\n return player?.getPlayer() || null;\n }\n if (this._vimeoSrc) {\n const player = this.shadowRoot?.querySelector(\"[udex-media-player-vimeo]\") as UDExMediaPlayerVimeo;\n return player?.getPlayer() || null;\n }\n return this.shadowRoot?.querySelector(\".video-js video\") as HTMLVideoElement || this.shadowRoot?.querySelector(\".video-js audio\") || null;\n }\n\n setupHotkeys(e: KeyboardEvent, player: VideoJSPlayer) {\n // Back to start\n if (e.key === \"0\") {\n e.preventDefault();\n e.stopPropagation();\n player.currentTime(0);\n player.play();\n return;\n }\n\n // Full screen toggle\n if (e.key.toLowerCase() === \"f\") {\n e.preventDefault();\n e.stopPropagation();\n if (!player.isFullscreen()) {\n player.requestFullscreen();\n } else {\n player.exitFullscreen();\n }\n return;\n }\n\n // Mute / Unmute\n if (e.key.toLowerCase() === \"m\") {\n e.preventDefault();\n e.stopPropagation();\n player.muted(!player.muted());\n return;\n }\n\n // Play / Pause\n if (e.key === \" \") {\n e.preventDefault();\n e.stopPropagation();\n if (player.paused()) {\n player.play();\n } else {\n player.pause();\n }\n return;\n }\n\n // Speed up the video - set higher playback rate\n if (e.key === \"ArrowRight\" && e.shiftKey) {\n e.preventDefault();\n e.stopPropagation();\n const playbackRatesOptions: Array<number> = player.options_.playbackRates;\n const currentRateIndex = playbackRatesOptions.indexOf(player.playbackRate() ?? 1);\n if (currentRateIndex < playbackRatesOptions.length - 1) {\n const newPlaybackRate = currentRateIndex + 1;\n player.playbackRate(playbackRatesOptions[newPlaybackRate]);\n }\n return;\n }\n\n // Slow down the video - set lower playback rate\n if (e.key === \"ArrowLeft\" && e.shiftKey) {\n e.preventDefault();\n e.stopPropagation();\n const playbackRatesOptions: Array<number> = player.options_.playbackRates;\n const currentRateIndex = playbackRatesOptions.indexOf(player.playbackRate() ?? 1);\n if (currentRateIndex > 0) {\n const newPlaybackRate = currentRateIndex - 1;\n player.playbackRate(playbackRatesOptions[newPlaybackRate]);\n }\n return;\n }\n\n // Skip forward / Skip backward\n if (e.key === \"ArrowRight\" || e.key === \"ArrowLeft\") {\n e.preventDefault();\n e.stopPropagation();\n const stepSeconds = player.controlBar.progressControl.seekBar.options_.stepSeconds;\n const duration: number = player.duration() ?? 0;\n const currentTime: number = player.currentTime() ?? 0;\n const delta: number = (e.key === \"ArrowRight\" ? stepSeconds : -stepSeconds);\n const newTime = Math.min(Math.max(currentTime + delta, 0), duration);\n player.currentTime(newTime);\n return;\n }\n\n // Volume change\n if (((e.key === \"ArrowUp\" || e.key === \"ArrowDown\") && e.ctrlKey)\n || ((e.key === \"ArrowUp\" || e.key === \"ArrowDown\") && e.metaKey)) {\n e.preventDefault();\n e.stopPropagation();\n const volumeStep: number = 0.1;\n const volume: number = player.volume() ?? 0;\n let newVolume = volume + (e.key === \"ArrowUp\" ? volumeStep : -volumeStep);\n newVolume = Math.min(Math.max(newVolume, 0), 1);\n player.volume(newVolume);\n }\n }\n\n getOptionsValue() {\n const baseOptions = {\n playbackRates: [1, 1.5, 2],\n controls: true,\n poster: this.poster,\n audioOnly: this.audioOnly,\n bigPlayButton: true,\n controlBar: {\n playToggle: true,\n volumePanel: true,\n progressControl: {\n seekBar: {\n stepSeconds: 10,\n },\n },\n remainingTimeDisplay: true,\n subsCapsButton: true,\n playbackRateMenuButton: true,\n fullscreenToggle: true,\n pictureInPictureToggle: false,\n },\n userActions: {\n hotkeys: (e: KeyboardEvent) => {\n this.setupHotkeys(e, this.player);\n },\n },\n };\n\n if (!this.options) {\n return baseOptions;\n }\n\n return {\n ...baseOptions,\n ...JSON.parse(this.options),\n };\n }\n\n async setupLanguage(language: string) {\n try {\n return await mapLangFile(language);\n } catch (err) {\n console.warn(\"Cannot load language file\", err);\n }\n }\n\n onAfterRendering(): void {\n if (this._youtubeSrc || this._vimeoSrc) {\n return;\n }\n\n import(\"video.js\").then(async ({ \"default\": videojs }) => {\n if (this.enableGlobalDependency) {\n window.videojs = videojs;\n }\n\n const options = this.getOptionsValue();\n const language: string = options?.language;\n if (language) {\n const languageData = await this.setupLanguage(language);\n videojs.addLanguage(language, {\n ...languageData,\n ...languageData?.default,\n });\n }\n\n this.player = videojs(this.shadowRoot?.querySelector(\".video-js\") || \"\", options);\n this.attachListeners(this.player);\n\n if (this.audioOnly) { return; }\n\n const backgroundOpacityElement = this.shadowRoot?.querySelector<HTMLOptionElement>(\".vjs-bg-opacity > select > option[value=\\\"0.5\\\"]\");\n if (backgroundOpacityElement) {\n backgroundOpacityElement.value = \"0.7\";\n backgroundOpacityElement.selected = true;\n }\n\n const fontSizeElement = this.shadowRoot?.querySelector<HTMLOptionElement>(\".vjs-font-percent > select > option[value=\\\"1.00\\\"]\");\n if (fontSizeElement) { fontSizeElement.value = \"1.2245\"; }\n\n const playbackSpeed = this.shadowRoot?.querySelector<HTMLOptionElement>(\".vjs-playback-rate .vjs-playback-rate-value\");\n playbackSpeed?.setAttribute(\"aria-hidden\", \"true\");\n });\n }\n\n handleEmbedPlay() {\n this._allowIframeLoad = true;\n }\n\n handleEmbedVideoReady() {\n this.fireEvent(\"videoReady\");\n }\n\n handleEmbedVideoPlaying = (embedEvent: CustomEvent) => {\n if (!this.videoStart) {\n this.fireEvent(\"videoStart\");\n this.videoStart = true;\n }\n const playedTime = Math.round(embedEvent.detail.percentPlayed as number);\n this.calculateVideoProgress(playedTime);\n };\n\n handleEmbedVideoEnded() {\n this.fireEvent(\"videoComplete\");\n }\n\n handleEmbedVideoPause() {\n this.fireEvent(\"videoPause\");\n }\n\n get _iframePosterPreload() {\n const shouldBlockIframe = this._iframeLoad && this.poster;\n if (this._allowIframeLoad) {\n return false;\n }\n if (!shouldBlockIframe) {\n this._allowIframeLoad = true;\n }\n return shouldBlockIframe;\n }\n\n get _iframeLoad() {\n return this._youtubeSrc || this._vimeoSrc;\n }\n\n get _tracks() {\n return this.getSlottedNodes(\"caption\");\n }\n\n get _vimeoSrc() {\n return this.source.includes(\"vimeo\");\n }\n\n get _youtubeSrc() {\n return this.source.includes(\"youtube\");\n }\n\n get aspectRatioClass() {\n switch (this.aspectRatio) {\n case AspectRatio[\"16:9\"]:\n return \"vjs-16-9 udex-media-player__fluid vjs-fluid\";\n case AspectRatio[\"9:16\"]:\n return \"vjs-9-16 udex-media-player__fluid vjs-fluid\";\n case AspectRatio[\"4:3\"]:\n return \"vjs-4-3 udex-media-player__fluid vjs-fluid\";\n case AspectRatio[\"1:1\"]:\n return \"vjs-1-1 udex-media-player__fluid vjs-fluid\";\n default:\n return \"\";\n }\n }\n\n get embedVideoFluidClass() {\n if (this.aspectRatio === AspectRatio[\"16:9\"] || this.aspectRatio === AspectRatio[\"9:16\"] || this.aspectRatio === AspectRatio[\"4:3\"] || this.aspectRatio === AspectRatio[\"1:1\"]) {\n return true;\n }\n return false;\n }\n\n get playerElementId(): string {\n return this.playerid || \"udex-media-player\";\n }\n\n onExitDOM(): void {\n if (this.player) {\n this.player.dispose();\n }\n }\n}\n\nUDExMediaPlayer.define();\n\nexport default UDExMediaPlayer;\n"]}
@@ -13,7 +13,7 @@ export type VimeoPlayer = Player;
13
13
  * For the <code>udex-media-player-vimeo</code>
14
14
  * <h3>ES6 Module Import</h3>
15
15
  *
16
- * <code>import "@udex/web-components/dist/MediaPlayerVimeo.js";</code>
16
+ * <code>import "@sapudex/web-components/dist/MediaPlayerVimeo.js";</code>
17
17
  *
18
18
  * @constructor
19
19
  * @extends UI5Element
@@ -24,7 +24,7 @@ import MediaPlayerCss from "./generated/themes/MediaPlayer.css.js";
24
24
  * For the <code>udex-media-player-vimeo</code>
25
25
  * <h3>ES6 Module Import</h3>
26
26
  *
27
- * <code>import "@udex/web-components/dist/MediaPlayerVimeo.js";</code>
27
+ * <code>import "@sapudex/web-components/dist/MediaPlayerVimeo.js";</code>
28
28
  *
29
29
  * @constructor
30
30
  * @extends UI5Element
@@ -1 +1 @@
1
- {"version":3,"file":"MediaPlayerVimeo.js","sourceRoot":"","sources":["../src/MediaPlayerVimeo.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Player from \"@vimeo/player\";\nimport MediaPlayerVimeoTemplate from \"./generated/templates/MediaPlayerVimeoTemplate.lit.js\";\n\n// Styles\nimport MediaPlayerCss from \"./generated/themes/MediaPlayer.css.js\";\n\nexport type VimeoPlayer = Player;\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-media-player-vimeo</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/MediaPlayerVimeo.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-media-player-vimeo\",\n renderer: litRender,\n styles: [MediaPlayerCss],\n template: MediaPlayerVimeoTemplate,\n dependencies: [],\n})\n/**\n * Fires when video is ready\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"ready\")\n/**\n * Fires when video play ended\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"ended\")\n/**\n * Fires when video is paused\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"pause\")\n/**\n * Fires when video watching progress changed\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"playing\", {\n detail: {\n percentPlayed: { type: Number },\n },\n})\nclass UDExMediaPlayerVimeo extends UI5Element {\n /**\n * Defines the source of the video or audio\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n source!: string;\n /**\n * Defines a title for youtube video\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n title!: string;\n /**\n * Defines video width. Used for YouTube and Vimeo videos only.\n * Regular video and audio sizes are control by CSS variables.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n width!: string;\n /**\n * Defines video height. Used for YouTube and Vimeo videos only.\n * Regular video and audio sizes are control by CSS variables.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n height!: string;\n /**\n * CSS class name for iframe fluid styles\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n aspectRatioClass!: string;\n /**\n * Defines if video should be displayed in fluid mode.\n * In fluid mode, width and height will be ignored and size will be adjusted to the container.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n fluidMode!: boolean;\n\n player!: Player;\n\n setupPlayer = () => {\n const iframe = this.shadowRoot?.querySelector(\"iframe\");\n if (!iframe) {\n return;\n }\n this.player = new Player(iframe);\n\n this.player.on(\"timeupdate\", e => {\n this.fireEvent(\"playing\", { percentPlayed: e.percent * 100 });\n });\n\n this.player.on(\"pause\", () => {\n this.fireEvent(\"pause\");\n });\n\n this.player.on(\"ended\", () => {\n this.fireEvent(\"ended\");\n });\n\n this.player.on(\"loaded\", () => {\n this.fireEvent(\"ready\");\n });\n };\n\n onEnterDOM(): void {\n this.setupPlayer();\n }\n\n /**\n * Returns video element\n * @public\n */\n getPlayer(): VimeoPlayer {\n return this.player;\n }\n\n get fluidModeClass() {\n if (this.fluidMode) {\n return \"video-js udex-media-player__fluid\";\n }\n return \"\";\n }\n}\n\nUDExMediaPlayerVimeo.define();\n\nexport default UDExMediaPlayerVimeo;\n"]}
1
+ {"version":3,"file":"MediaPlayerVimeo.js","sourceRoot":"","sources":["../src/MediaPlayerVimeo.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Player from \"@vimeo/player\";\nimport MediaPlayerVimeoTemplate from \"./generated/templates/MediaPlayerVimeoTemplate.lit.js\";\n\n// Styles\nimport MediaPlayerCss from \"./generated/themes/MediaPlayer.css.js\";\n\nexport type VimeoPlayer = Player;\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-media-player-vimeo</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MediaPlayerVimeo.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-media-player-vimeo\",\n renderer: litRender,\n styles: [MediaPlayerCss],\n template: MediaPlayerVimeoTemplate,\n dependencies: [],\n})\n/**\n * Fires when video is ready\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"ready\")\n/**\n * Fires when video play ended\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"ended\")\n/**\n * Fires when video is paused\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"pause\")\n/**\n * Fires when video watching progress changed\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"playing\", {\n detail: {\n percentPlayed: { type: Number },\n },\n})\nclass UDExMediaPlayerVimeo extends UI5Element {\n /**\n * Defines the source of the video or audio\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n source!: string;\n /**\n * Defines a title for youtube video\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n title!: string;\n /**\n * Defines video width. Used for YouTube and Vimeo videos only.\n * Regular video and audio sizes are control by CSS variables.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n width!: string;\n /**\n * Defines video height. Used for YouTube and Vimeo videos only.\n * Regular video and audio sizes are control by CSS variables.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n height!: string;\n /**\n * CSS class name for iframe fluid styles\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n aspectRatioClass!: string;\n /**\n * Defines if video should be displayed in fluid mode.\n * In fluid mode, width and height will be ignored and size will be adjusted to the container.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n fluidMode!: boolean;\n\n player!: Player;\n\n setupPlayer = () => {\n const iframe = this.shadowRoot?.querySelector(\"iframe\");\n if (!iframe) {\n return;\n }\n this.player = new Player(iframe);\n\n this.player.on(\"timeupdate\", e => {\n this.fireEvent(\"playing\", { percentPlayed: e.percent * 100 });\n });\n\n this.player.on(\"pause\", () => {\n this.fireEvent(\"pause\");\n });\n\n this.player.on(\"ended\", () => {\n this.fireEvent(\"ended\");\n });\n\n this.player.on(\"loaded\", () => {\n this.fireEvent(\"ready\");\n });\n };\n\n onEnterDOM(): void {\n this.setupPlayer();\n }\n\n /**\n * Returns video element\n * @public\n */\n getPlayer(): VimeoPlayer {\n return this.player;\n }\n\n get fluidModeClass() {\n if (this.fluidMode) {\n return \"video-js udex-media-player__fluid\";\n }\n return \"\";\n }\n}\n\nUDExMediaPlayerVimeo.define();\n\nexport default UDExMediaPlayerVimeo;\n"]}
@@ -17,7 +17,7 @@ declare global {
17
17
  * For the <code>udex-media-player-youtube</code>
18
18
  * <h3>ES6 Module Import</h3>
19
19
  *
20
- * <code>import "@udex/web-components/dist/MediaPlayerYoutube.js";</code>
20
+ * <code>import "@sapudex/web-components/dist/MediaPlayerYoutube.js";</code>
21
21
  *
22
22
  * @constructor
23
23
  * @extends UI5Element
@@ -35,7 +35,7 @@ const MATCH_NUMERIC = /^\d+$/;
35
35
  * For the <code>udex-media-player-youtube</code>
36
36
  * <h3>ES6 Module Import</h3>
37
37
  *
38
- * <code>import "@udex/web-components/dist/MediaPlayerYoutube.js";</code>
38
+ * <code>import "@sapudex/web-components/dist/MediaPlayerYoutube.js";</code>
39
39
  *
40
40
  * @constructor
41
41
  * @extends UI5Element
@@ -1 +1 @@
1
- {"version":3,"file":"MediaPlayerYoutube.js","sourceRoot":"","sources":["../src/MediaPlayerYoutube.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\n\nimport MediaPlayerYoutubeTemplate from \"./generated/templates/MediaPlayerYoutubeTemplate.lit.js\";\n\n// Styles\nimport MediaPlayerYoutubeCss from \"./generated/themes/MediaPlayerYoutube.css.js\";\nimport MediaPlayerCss from \"./generated/themes/MediaPlayer.css\";\nimport { AspectRatio } from \"./MediaPlayer.js\";\n\nconst MATCH_NOCOOKIE = /youtube-nocookie\\.com/;\nconst MATCH_URL_YOUTUBE = /(?:youtu\\.be\\/|youtube(?:-nocookie|education)?\\.com\\/(?:embed\\/|v\\/|watch\\/|watch\\?v=|watch\\?.+&v=|shorts\\/|live\\/))((\\w|-){11})|youtube\\.com\\/playlist\\?list=|youtube\\.com\\/user\\//;\nconst NOCOOKIE_HOST = \"https://www.youtube-nocookie.com\";\nconst SDK_URL = \"https://www.youtube.com/iframe_api\";\nconst SDK_GLOBAL_READY = \"onYouTubeIframeAPIReady\";\nconst CHECK_INTERVAL_TIME = 1000;\nconst MATCH_START_QUERY = /[?&#](?:start|t)=([0-9hms]+)/;\nconst MATCH_END_QUERY = /[?&#]end=([0-9hms]+)/;\nconst MATCH_START_STAMP = /(\\d+)(h|m|s)/g;\nconst MATCH_NUMERIC = /^\\d+$/;\n\ndeclare global {\n interface Window {\n onYouTubeIframeAPIReady: () => void;\n }\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-media-player-youtube</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/MediaPlayerYoutube.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-media-player-youtube\",\n renderer: litRender,\n styles: [MediaPlayerCss, MediaPlayerYoutubeCss],\n template: MediaPlayerYoutubeTemplate,\n})\n/**\n * Fires when video is ready\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"ready\")\n/**\n * Fires when video play ended\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"ended\")\n/**\n * Fires when video is paused\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"pause\")\n/**\n * Fires when video watching progress changed\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"playing\", {\n detail: {\n percentPlayed: { type: Number },\n },\n})\nclass UDExMediaPlayerYoutube extends UI5Element {\n /**\n * Defines the source of the video or audio\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n source!: string;\n /**\n * Defines video width. Used for YouTube and Vimeo videos only.\n * Regular video and audio sizes are control by CSS variables.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n width!: string;\n /**\n * Defines video height. Used for YouTube and Vimeo videos only.\n * Regular video and audio sizes are control by CSS variables.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n height!: string;\n /**\n * Defines aspect ratio of video. If set, video will be display in fluid mode.\n * Possible values: \"16:9\" , \"9:16\", \"4:3\", \"1:1\", \"none\"\n *\n * @default \"16:9\"\n * @public\n */\n @property({ type: AspectRatio, defaultValue: \"16:9\" })\n aspectRatio!: `${AspectRatio}`;\n /**\n * Defines if video should be displayed in fluid mode.\n * In fluid mode, width and height will be ignored and size will be adjusted to the container.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n fluidMode!: boolean;\n\n private youtubePlayer!: YT.Player;\n private checkInterval?: number;\n private videoDuration: number = 0;\n\n get videoId(): string {\n if (!this.source) {\n return \"\";\n }\n const urlMatch = this.source.match(MATCH_URL_YOUTUBE);\n return urlMatch ? urlMatch[1] : \"\";\n }\n\n get url(): URL {\n return new URL(this.source);\n }\n\n get autoplay(): number | undefined {\n const param = this.url.searchParams.get(\"autoplay\");\n return param ? parseInt(param) : undefined;\n }\n\n get muted(): number | undefined {\n const param = this.url.searchParams.get(\"mute\");\n return param ? parseInt(param) : undefined;\n }\n\n get playsinline(): number | undefined {\n const param = this.url.searchParams.get(\"playsinline\");\n return param ? parseInt(param) : undefined;\n }\n\n setupYoutubeAPI = () => {\n if (!window.YT) { // Only load script if YT is not already loaded\n const tag = document.createElement(\"script\");\n tag.src = SDK_URL;\n const firstScriptTag = document.getElementsByTagName(\"script\")[0];\n firstScriptTag.parentNode!.insertBefore(tag, firstScriptTag);\n }\n\n window[SDK_GLOBAL_READY] = () => this.onYouTubeIframeAPIReady();\n\n // If YouTube IFrame API is already loaded, directly initialize the player\n if (window.YT && window.YT.Player) {\n this.onYouTubeIframeAPIReady();\n }\n };\n\n onYouTubeIframeAPIReady = (): void => {\n this.youtubePlayer = new YT.Player(this.shadowRoot?.querySelector(\"#player\") as HTMLElement, {\n height: this.height,\n width: this.width,\n videoId: this.videoId,\n playerVars: {\n autoplay: this.autoplay ? 1 : 0,\n mute: this.muted ? 1 : 0,\n playsinline: this.playsinline ? 1 : 0,\n origin: window.location.origin,\n start: this.parseStartTime(this.source),\n end: this.parseEndTime(this.source),\n },\n host: MATCH_NOCOOKIE.test(this.source) ? NOCOOKIE_HOST : undefined,\n events: {\n \"onReady\": this.onPlayerReady,\n \"onStateChange\": this.onPlayerStateChange,\n },\n } as unknown as YT.PlayerOptions);\n };\n\n private onPlayerReady = (ytevent: YT.PlayerEvent): void => {\n this.videoDuration = ytevent.target.getDuration();\n this.fireEvent(\"ready\");\n };\n\n private onPlayerStateChange = (ytevent: YT.OnStateChangeEvent): void => {\n const { data } = ytevent;\n const { PLAYING, PAUSED, ENDED } = window.YT.PlayerState;\n\n if (data === PLAYING && !this.checkInterval) {\n this.checkInterval = window.setInterval(() => {\n this.checkVideoProgress();\n }, CHECK_INTERVAL_TIME);\n } else if (data !== PLAYING && this.checkInterval) {\n clearInterval(this.checkInterval);\n this.checkInterval = undefined;\n }\n\n if (data === ENDED) {\n this.fireEvent(\"ended\", ytevent);\n }\n\n if (data === PAUSED) {\n this.fireEvent(\"pause\", ytevent);\n }\n };\n\n private checkVideoProgress(): void {\n const currentTime = this.youtubePlayer?.getCurrentTime() || 0;\n const percentageWatched = (currentTime / this.videoDuration) * 100;\n this.fireEvent(\"playing\", { percentPlayed: percentageWatched });\n }\n\n parseTimeParam(url: any, pattern: RegExp) {\n if (url instanceof Array) {\n return undefined;\n }\n const match = url.match(pattern);\n if (match) {\n const stamp: string = match[1];\n if (stamp.match(MATCH_START_STAMP)) {\n return this.parseTimeString(stamp);\n }\n if (MATCH_NUMERIC.test(stamp)) {\n return parseInt(stamp);\n }\n }\n return undefined;\n }\n\n parseTimeString(stamp: string) {\n let seconds = 0;\n let array = MATCH_START_STAMP.exec(stamp);\n while (array !== null) {\n const [, count, period] = array;\n if (period === \"h\") { seconds += parseInt(count) * 60 * 60; }\n if (period === \"m\") { seconds += parseInt(count) * 60; }\n if (period === \"s\") { seconds += parseInt(count); }\n array = MATCH_START_STAMP.exec(stamp);\n }\n return seconds;\n }\n\n parseStartTime(url: string) {\n return this.parseTimeParam(url, MATCH_START_QUERY);\n }\n\n parseEndTime(url: string) {\n return this.parseTimeParam(url, MATCH_END_QUERY);\n }\n\n onEnterDOM(): void {\n this.setupYoutubeAPI();\n }\n\n onExitDOM() {\n if (this.checkInterval) {\n clearInterval(this.checkInterval);\n this.checkInterval = undefined;\n }\n }\n\n /**\n * Returns video element\n * @public\n */\n getPlayer(): YT.Player | null {\n return this.youtubePlayer || null;\n }\n\n get fluidModeClass() {\n if (this.fluidMode) {\n return \"udex-media-player__fluid\";\n }\n return \"\";\n }\n}\n\nUDExMediaPlayerYoutube.define();\n\nexport default UDExMediaPlayerYoutube;\n"]}
1
+ {"version":3,"file":"MediaPlayerYoutube.js","sourceRoot":"","sources":["../src/MediaPlayerYoutube.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\n\nimport MediaPlayerYoutubeTemplate from \"./generated/templates/MediaPlayerYoutubeTemplate.lit.js\";\n\n// Styles\nimport MediaPlayerYoutubeCss from \"./generated/themes/MediaPlayerYoutube.css.js\";\nimport MediaPlayerCss from \"./generated/themes/MediaPlayer.css\";\nimport { AspectRatio } from \"./MediaPlayer.js\";\n\nconst MATCH_NOCOOKIE = /youtube-nocookie\\.com/;\nconst MATCH_URL_YOUTUBE = /(?:youtu\\.be\\/|youtube(?:-nocookie|education)?\\.com\\/(?:embed\\/|v\\/|watch\\/|watch\\?v=|watch\\?.+&v=|shorts\\/|live\\/))((\\w|-){11})|youtube\\.com\\/playlist\\?list=|youtube\\.com\\/user\\//;\nconst NOCOOKIE_HOST = \"https://www.youtube-nocookie.com\";\nconst SDK_URL = \"https://www.youtube.com/iframe_api\";\nconst SDK_GLOBAL_READY = \"onYouTubeIframeAPIReady\";\nconst CHECK_INTERVAL_TIME = 1000;\nconst MATCH_START_QUERY = /[?&#](?:start|t)=([0-9hms]+)/;\nconst MATCH_END_QUERY = /[?&#]end=([0-9hms]+)/;\nconst MATCH_START_STAMP = /(\\d+)(h|m|s)/g;\nconst MATCH_NUMERIC = /^\\d+$/;\n\ndeclare global {\n interface Window {\n onYouTubeIframeAPIReady: () => void;\n }\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-media-player-youtube</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MediaPlayerYoutube.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-media-player-youtube\",\n renderer: litRender,\n styles: [MediaPlayerCss, MediaPlayerYoutubeCss],\n template: MediaPlayerYoutubeTemplate,\n})\n/**\n * Fires when video is ready\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"ready\")\n/**\n * Fires when video play ended\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"ended\")\n/**\n * Fires when video is paused\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"pause\")\n/**\n * Fires when video watching progress changed\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"playing\", {\n detail: {\n percentPlayed: { type: Number },\n },\n})\nclass UDExMediaPlayerYoutube extends UI5Element {\n /**\n * Defines the source of the video or audio\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n source!: string;\n /**\n * Defines video width. Used for YouTube and Vimeo videos only.\n * Regular video and audio sizes are control by CSS variables.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n width!: string;\n /**\n * Defines video height. Used for YouTube and Vimeo videos only.\n * Regular video and audio sizes are control by CSS variables.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n height!: string;\n /**\n * Defines aspect ratio of video. If set, video will be display in fluid mode.\n * Possible values: \"16:9\" , \"9:16\", \"4:3\", \"1:1\", \"none\"\n *\n * @default \"16:9\"\n * @public\n */\n @property({ type: AspectRatio, defaultValue: \"16:9\" })\n aspectRatio!: `${AspectRatio}`;\n /**\n * Defines if video should be displayed in fluid mode.\n * In fluid mode, width and height will be ignored and size will be adjusted to the container.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n fluidMode!: boolean;\n\n private youtubePlayer!: YT.Player;\n private checkInterval?: number;\n private videoDuration: number = 0;\n\n get videoId(): string {\n if (!this.source) {\n return \"\";\n }\n const urlMatch = this.source.match(MATCH_URL_YOUTUBE);\n return urlMatch ? urlMatch[1] : \"\";\n }\n\n get url(): URL {\n return new URL(this.source);\n }\n\n get autoplay(): number | undefined {\n const param = this.url.searchParams.get(\"autoplay\");\n return param ? parseInt(param) : undefined;\n }\n\n get muted(): number | undefined {\n const param = this.url.searchParams.get(\"mute\");\n return param ? parseInt(param) : undefined;\n }\n\n get playsinline(): number | undefined {\n const param = this.url.searchParams.get(\"playsinline\");\n return param ? parseInt(param) : undefined;\n }\n\n setupYoutubeAPI = () => {\n if (!window.YT) { // Only load script if YT is not already loaded\n const tag = document.createElement(\"script\");\n tag.src = SDK_URL;\n const firstScriptTag = document.getElementsByTagName(\"script\")[0];\n firstScriptTag.parentNode!.insertBefore(tag, firstScriptTag);\n }\n\n window[SDK_GLOBAL_READY] = () => this.onYouTubeIframeAPIReady();\n\n // If YouTube IFrame API is already loaded, directly initialize the player\n if (window.YT && window.YT.Player) {\n this.onYouTubeIframeAPIReady();\n }\n };\n\n onYouTubeIframeAPIReady = (): void => {\n this.youtubePlayer = new YT.Player(this.shadowRoot?.querySelector(\"#player\") as HTMLElement, {\n height: this.height,\n width: this.width,\n videoId: this.videoId,\n playerVars: {\n autoplay: this.autoplay ? 1 : 0,\n mute: this.muted ? 1 : 0,\n playsinline: this.playsinline ? 1 : 0,\n origin: window.location.origin,\n start: this.parseStartTime(this.source),\n end: this.parseEndTime(this.source),\n },\n host: MATCH_NOCOOKIE.test(this.source) ? NOCOOKIE_HOST : undefined,\n events: {\n \"onReady\": this.onPlayerReady,\n \"onStateChange\": this.onPlayerStateChange,\n },\n } as unknown as YT.PlayerOptions);\n };\n\n private onPlayerReady = (ytevent: YT.PlayerEvent): void => {\n this.videoDuration = ytevent.target.getDuration();\n this.fireEvent(\"ready\");\n };\n\n private onPlayerStateChange = (ytevent: YT.OnStateChangeEvent): void => {\n const { data } = ytevent;\n const { PLAYING, PAUSED, ENDED } = window.YT.PlayerState;\n\n if (data === PLAYING && !this.checkInterval) {\n this.checkInterval = window.setInterval(() => {\n this.checkVideoProgress();\n }, CHECK_INTERVAL_TIME);\n } else if (data !== PLAYING && this.checkInterval) {\n clearInterval(this.checkInterval);\n this.checkInterval = undefined;\n }\n\n if (data === ENDED) {\n this.fireEvent(\"ended\", ytevent);\n }\n\n if (data === PAUSED) {\n this.fireEvent(\"pause\", ytevent);\n }\n };\n\n private checkVideoProgress(): void {\n const currentTime = this.youtubePlayer?.getCurrentTime() || 0;\n const percentageWatched = (currentTime / this.videoDuration) * 100;\n this.fireEvent(\"playing\", { percentPlayed: percentageWatched });\n }\n\n parseTimeParam(url: any, pattern: RegExp) {\n if (url instanceof Array) {\n return undefined;\n }\n const match = url.match(pattern);\n if (match) {\n const stamp: string = match[1];\n if (stamp.match(MATCH_START_STAMP)) {\n return this.parseTimeString(stamp);\n }\n if (MATCH_NUMERIC.test(stamp)) {\n return parseInt(stamp);\n }\n }\n return undefined;\n }\n\n parseTimeString(stamp: string) {\n let seconds = 0;\n let array = MATCH_START_STAMP.exec(stamp);\n while (array !== null) {\n const [, count, period] = array;\n if (period === \"h\") { seconds += parseInt(count) * 60 * 60; }\n if (period === \"m\") { seconds += parseInt(count) * 60; }\n if (period === \"s\") { seconds += parseInt(count); }\n array = MATCH_START_STAMP.exec(stamp);\n }\n return seconds;\n }\n\n parseStartTime(url: string) {\n return this.parseTimeParam(url, MATCH_START_QUERY);\n }\n\n parseEndTime(url: string) {\n return this.parseTimeParam(url, MATCH_END_QUERY);\n }\n\n onEnterDOM(): void {\n this.setupYoutubeAPI();\n }\n\n onExitDOM() {\n if (this.checkInterval) {\n clearInterval(this.checkInterval);\n this.checkInterval = undefined;\n }\n }\n\n /**\n * Returns video element\n * @public\n */\n getPlayer(): YT.Player | null {\n return this.youtubePlayer || null;\n }\n\n get fluidModeClass() {\n if (this.fluidMode) {\n return \"udex-media-player__fluid\";\n }\n return \"\";\n }\n}\n\nUDExMediaPlayerYoutube.define();\n\nexport default UDExMediaPlayerYoutube;\n"]}
@@ -30,7 +30,7 @@ import MessageStripCss from "./generated/themes/MessageStrip.css.js";
30
30
  */
31
31
  let UDExMessageStrip = UDExMessageStrip_1 = class UDExMessageStrip extends MessageStrip {
32
32
  static async onDefine() {
33
- UDExMessageStrip_1.i18nBundle = await getI18nBundle("@udex/web-components");
33
+ UDExMessageStrip_1.i18nBundle = await getI18nBundle("@sapudex/web-components");
34
34
  }
35
35
  onBeforeRendering() {
36
36
  if (this.isDesignActionOrIsNotIconType) {
@@ -1 +1 @@
1
- {"version":3,"file":"MessageStrip.js","sourceRoot":"","sources":["../src/MessageStrip.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n getI18nBundle,\n I18nText,\n} from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport MessageStrip from \"@ui5/webcomponents/dist/MessageStrip.js\";\nimport messageStripCss from \"@ui5/webcomponents/dist/generated/themes/MessageStrip.css.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UDExButton from \"./Button.js\";\nimport {\n MESSAGE_STRIP_CLOSE_BUTTON,\n MESSAGE_STRIP_ERROR,\n MESSAGE_STRIP_INFORMATION,\n MESSAGE_STRIP_SUCCESS,\n MESSAGE_STRIP_WARNING,\n MESSAGE_STRIP_ACTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport { UdexMessageStripDesign, UdexMessageStripStatusType } from \"./types/MessageStrip.js\";\n\nimport MessageStripTemplate from \"./generated/templates/MessageStripTemplate.lit.js\";\n\n// Styles\nimport MessageStripCss from \"./generated/themes/MessageStrip.css.js\";\n\n/**\n * @class\n *\n * @constructor\n * @extends MessageStrip\n * @tagname udex-message-strip\n * @public\n */\n@customElement({\n tag: \"udex-message-strip\",\n renderer: litRender,\n styles: [messageStripCss, MessageStripCss],\n template: MessageStripTemplate,\n dependencies: [UDExButton, UI5Icon],\n})\n/**\n * Fired when the close button is pressed either with a\n * click/tap or by using the Enter or Space key.\n *\n * @public\n */\n@event(\"close\")\nclass UDExMessageStrip extends MessageStrip {\n /**\n * Defines the component type.\n *\n * @public\n */\n @property({\n type: UdexMessageStripDesign,\n defaultValue: UdexMessageStripDesign.Action,\n })\n /** @ts-expect-error */\n design!: `${UdexMessageStripDesign}`;\n\n /**\n * Defines the component Status Type.\n *\n * @public\n */\n @property({\n type: UdexMessageStripStatusType,\n defaultValue: UdexMessageStripStatusType.Icon,\n })\n statusType!: `${UdexMessageStripStatusType}`;\n\n /**\n * Defines whether the MessageStrip renders close button.\n *\n * @public\n */\n @property({ type: Boolean })\n hideCloseButton!: boolean;\n\n /**\n * Defines display the icon for the Message Strip.\n *\n * @private\n */\n @property({ type: Boolean })\n hideIcon!: boolean;\n\n /**\n * Defines the content of the component.\n *\n * @slot\n * @public\n */\n @slot({ type: Node }) default!: Node;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine() {\n UDExMessageStrip.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n onBeforeRendering() {\n if (this.isDesignActionOrIsNotIconType) {\n this.hideIcon = true;\n }\n }\n\n getTranslation(text: I18nText): string {\n return UDExMessageStrip.i18nBundle.getText(text);\n }\n\n textStatusTypeMapping(): Record<string, string> {\n return {\n [UdexMessageStripDesign.Information]: this.getTranslation(MESSAGE_STRIP_INFORMATION),\n [UdexMessageStripDesign.Positive]: this.getTranslation(MESSAGE_STRIP_SUCCESS),\n [UdexMessageStripDesign.Negative]: this.getTranslation(MESSAGE_STRIP_ERROR),\n [UdexMessageStripDesign.Warning]: this.getTranslation(MESSAGE_STRIP_WARNING),\n [UdexMessageStripDesign.Action]: this.getTranslation(MESSAGE_STRIP_ACTION),\n };\n }\n\n isDesignAction(): boolean {\n return this.design === UdexMessageStripDesign.Action;\n }\n\n _closeClick(): void {\n this.fireEvent(\"close\");\n }\n\n get shouldHideIcon(): boolean {\n if (this.isDesignActionOrIsNotIconType) {\n return this.hideIcon || this.icon.length === 0;\n }\n\n return this.hideIcon;\n }\n\n get hideTextStatus(): boolean {\n return this.statusType !== UdexMessageStripStatusType.Text || this.isDesignAction();\n }\n\n get textStatus(): string | undefined {\n if (this.design !== UdexMessageStripDesign.Action) {\n return this.textStatusTypeMapping()[this.design];\n }\n }\n\n get _closeButtonText(): string {\n return `${this.textStatus ?? \"\"} ${this.getTranslation(MESSAGE_STRIP_CLOSE_BUTTON)}`;\n }\n\n get isNotIconStatusType(): boolean {\n return this.statusType !== UdexMessageStripStatusType.Icon;\n }\n\n get hasIcon(): boolean {\n return this.icon.length > 0;\n }\n\n get isDesignActionOrIsNotIconType(): boolean {\n return this.isDesignAction() || this.isNotIconStatusType;\n }\n\n get hiddenText(): string {\n return `${this.textStatusTypeMapping()[this.design]} ${this.hideCloseButton ? \"\" : this._closableText}`;\n }\n}\n\nUDExMessageStrip.define();\n\nexport default UDExMessageStrip;\n"]}
1
+ {"version":3,"file":"MessageStrip.js","sourceRoot":"","sources":["../src/MessageStrip.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n getI18nBundle,\n I18nText,\n} from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport MessageStrip from \"@ui5/webcomponents/dist/MessageStrip.js\";\nimport messageStripCss from \"@ui5/webcomponents/dist/generated/themes/MessageStrip.css.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UDExButton from \"./Button.js\";\nimport {\n MESSAGE_STRIP_CLOSE_BUTTON,\n MESSAGE_STRIP_ERROR,\n MESSAGE_STRIP_INFORMATION,\n MESSAGE_STRIP_SUCCESS,\n MESSAGE_STRIP_WARNING,\n MESSAGE_STRIP_ACTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport { UdexMessageStripDesign, UdexMessageStripStatusType } from \"./types/MessageStrip.js\";\n\nimport MessageStripTemplate from \"./generated/templates/MessageStripTemplate.lit.js\";\n\n// Styles\nimport MessageStripCss from \"./generated/themes/MessageStrip.css.js\";\n\n/**\n * @class\n *\n * @constructor\n * @extends MessageStrip\n * @tagname udex-message-strip\n * @public\n */\n@customElement({\n tag: \"udex-message-strip\",\n renderer: litRender,\n styles: [messageStripCss, MessageStripCss],\n template: MessageStripTemplate,\n dependencies: [UDExButton, UI5Icon],\n})\n/**\n * Fired when the close button is pressed either with a\n * click/tap or by using the Enter or Space key.\n *\n * @public\n */\n@event(\"close\")\nclass UDExMessageStrip extends MessageStrip {\n /**\n * Defines the component type.\n *\n * @public\n */\n @property({\n type: UdexMessageStripDesign,\n defaultValue: UdexMessageStripDesign.Action,\n })\n /** @ts-expect-error */\n design!: `${UdexMessageStripDesign}`;\n\n /**\n * Defines the component Status Type.\n *\n * @public\n */\n @property({\n type: UdexMessageStripStatusType,\n defaultValue: UdexMessageStripStatusType.Icon,\n })\n statusType!: `${UdexMessageStripStatusType}`;\n\n /**\n * Defines whether the MessageStrip renders close button.\n *\n * @public\n */\n @property({ type: Boolean })\n hideCloseButton!: boolean;\n\n /**\n * Defines display the icon for the Message Strip.\n *\n * @private\n */\n @property({ type: Boolean })\n hideIcon!: boolean;\n\n /**\n * Defines the content of the component.\n *\n * @slot\n * @public\n */\n @slot({ type: Node }) default!: Node;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine() {\n UDExMessageStrip.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n onBeforeRendering() {\n if (this.isDesignActionOrIsNotIconType) {\n this.hideIcon = true;\n }\n }\n\n getTranslation(text: I18nText): string {\n return UDExMessageStrip.i18nBundle.getText(text);\n }\n\n textStatusTypeMapping(): Record<string, string> {\n return {\n [UdexMessageStripDesign.Information]: this.getTranslation(MESSAGE_STRIP_INFORMATION),\n [UdexMessageStripDesign.Positive]: this.getTranslation(MESSAGE_STRIP_SUCCESS),\n [UdexMessageStripDesign.Negative]: this.getTranslation(MESSAGE_STRIP_ERROR),\n [UdexMessageStripDesign.Warning]: this.getTranslation(MESSAGE_STRIP_WARNING),\n [UdexMessageStripDesign.Action]: this.getTranslation(MESSAGE_STRIP_ACTION),\n };\n }\n\n isDesignAction(): boolean {\n return this.design === UdexMessageStripDesign.Action;\n }\n\n _closeClick(): void {\n this.fireEvent(\"close\");\n }\n\n get shouldHideIcon(): boolean {\n if (this.isDesignActionOrIsNotIconType) {\n return this.hideIcon || this.icon.length === 0;\n }\n\n return this.hideIcon;\n }\n\n get hideTextStatus(): boolean {\n return this.statusType !== UdexMessageStripStatusType.Text || this.isDesignAction();\n }\n\n get textStatus(): string | undefined {\n if (this.design !== UdexMessageStripDesign.Action) {\n return this.textStatusTypeMapping()[this.design];\n }\n }\n\n get _closeButtonText(): string {\n return `${this.textStatus ?? \"\"} ${this.getTranslation(MESSAGE_STRIP_CLOSE_BUTTON)}`;\n }\n\n get isNotIconStatusType(): boolean {\n return this.statusType !== UdexMessageStripStatusType.Icon;\n }\n\n get hasIcon(): boolean {\n return this.icon.length > 0;\n }\n\n get isDesignActionOrIsNotIconType(): boolean {\n return this.isDesignAction() || this.isNotIconStatusType;\n }\n\n get hiddenText(): string {\n return `${this.textStatusTypeMapping()[this.design]} ${this.hideCloseButton ? \"\" : this._closableText}`;\n }\n}\n\nUDExMessageStrip.define();\n\nexport default UDExMessageStrip;\n"]}
@@ -164,7 +164,7 @@ let UDExPagination = UDExPagination_1 = class UDExPagination extends UI5Element
164
164
  return this._desktopDisplayNumber / 2 - 1;
165
165
  }
166
166
  static async onDefine() {
167
- UDExPagination_1.i18nBundle = await getI18nBundle("@udex/web-components");
167
+ UDExPagination_1.i18nBundle = await getI18nBundle("@sapudex/web-components");
168
168
  }
169
169
  setActive(element) {
170
170
  const pageIndex = element.getAttribute("index")
@@ -185,7 +185,6 @@ let UDExPagination = UDExPagination_1 = class UDExPagination extends UI5Element
185
185
  }
186
186
  this.currentPageIndex = currentPage + 1;
187
187
  this._pageFocusedManually = false;
188
- this._pages = this.setupPagesData();
189
188
  this.emitChangeEvent();
190
189
  }
191
190
  setPrevPage(e) {
@@ -196,7 +195,6 @@ let UDExPagination = UDExPagination_1 = class UDExPagination extends UI5Element
196
195
  }
197
196
  this.currentPageIndex -= 1;
198
197
  this._pageFocusedManually = false;
199
- this._pages = this.setupPagesData();
200
198
  this.emitChangeEvent();
201
199
  }
202
200
  setFirstPage(e) {
@@ -232,12 +230,11 @@ let UDExPagination = UDExPagination_1 = class UDExPagination extends UI5Element
232
230
  this._pageFocusedManually = false;
233
231
  }
234
232
  this._pages = this.setupPagesData();
235
- if (this.currentPageIndex > this._lastPageIndex || this._lastPageIndex - this.currentPageIndex <= this.pageOffset) {
236
- this._visiblePages = this.shiftVisiblePages();
237
- }
238
233
  if (this.currentPageIndex < this._firstPageIndex || this.currentPageIndex - this._firstPageIndex <= this.pageOffset) {
239
234
  this._visiblePages = this.shiftVisiblePages(true);
235
+ return;
240
236
  }
237
+ this._visiblePages = this.shiftVisiblePages();
241
238
  }
242
239
  setupPagesData() {
243
240
  const updatedPages = [];
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../src/Pagination.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n OF,\n PAGINATION_PAGE,\n SELECTED,\n ACTIVATE_PAGE,\n FIRST_PAGE,\n LAST_PAGE,\n PREVIOUS_PAGE,\n NEXT_PAGE,\n CURRENT_PAGE,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Button from \"./Button.js\";\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/open-command-field.js\";\nimport \"@ui5/webcomponents-icons/dist/close-command-field.js\";\n\n// Template\nimport PaginationTemplate from \"./generated/templates/PaginationTemplate.lit.js\";\n\n// Styles\nimport PaginationCss from \"./generated/themes/Pagination.css\";\n\ninterface Page {\n value: number;\n active: boolean;\n}\n\nexport enum PaginationType {\n full = \"full\",\n short = \"short\",\n}\n\nexport enum DisplayType {\n desktop = \"desktop\",\n mobile = \"mobile\"\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>udex-pagination</code> component is a pagination component used to navigate thought the pages.\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-pagination\n * @public\n */\n@customElement({\n tag: \"udex-pagination\",\n renderer: litRender,\n styles: PaginationCss,\n template: PaginationTemplate,\n dependencies: [Button],\n})\n/**\n * Fires when pagination item was clicked.\n *\n * @allowPreventDefault\n * @param {Number}\n * @public\n */\n@event(\"change\", {\n detail: {\n currentPage: { type: Number },\n },\n})\nclass UDExPagination extends UI5Element {\n /**\n * Defines number of pages.\n *\n * @public\n * @default 0\n */\n @property({ validator: Integer, defaultValue: 0 })\n pages: number;\n\n /**\n * Defines type of pagination.\n *\n * @public\n * @default \"full\"\n */\n @property({ defaultValue: PaginationType.full, type: PaginationType })\n type?: `${PaginationType}`;\n\n /**\n * Define display purpose.\n *\n * @public\n * @default \"desktop\"\n */\n @property({ defaultValue: DisplayType.desktop, type: DisplayType })\n display?: `${DisplayType}`;\n\n /**\n * Define if arrow icons for last and first page are visible.\n *\n * @public\n */\n @property({ type: Boolean })\n absoluteNavigation!: boolean;\n\n /**\n * Current index of pagination page.\n * @public\n * @default 0\n */\n @property({ validator: Integer, defaultValue: 0 })\n currentPageIndex: number;\n\n /**\n * Defines direction of the input.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n _pages: Page[];\n _visiblePages: Page[];\n\n _previousPageElement?: HTMLElement;\n\n _mobileDisplayNumber: number;\n _desktopDisplayNumber: number;\n _firstPageIndex!: number;\n _lastPageIndex!: number;\n _pageFocusedManually!: boolean;\n\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this.pages = 0;\n this._pages = [];\n this._visiblePages = [];\n this.currentPageIndex = 0;\n this._mobileDisplayNumber = 5;\n this._desktopDisplayNumber = 10;\n this._pageFocusedManually = false;\n }\n\n onEnterDOM() {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering(): void {\n this.setupPages(this.pages);\n }\n\n get nextButtonDisbled(): boolean {\n return this.currentPageIndex + 1 === this.pages;\n }\n\n get prevButtonDisbled(): boolean {\n return this.currentPageIndex === 0;\n }\n\n get typeFull(): boolean {\n return (\n this.type === PaginationType.full || this.display === DisplayType.mobile\n );\n }\n\n get typeShort(): boolean {\n return (\n this.type === PaginationType.short && this.display !== DisplayType.mobile\n );\n }\n\n get shortTextStart(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.currentPageIndex + 1}`;\n }\n\n get shortTextEnd(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.pages}`;\n }\n\n get shortTextSeparator(): string {\n if (!this.pages) {\n return \"\";\n }\n return ` ${UDExPagination.i18nBundle.getText(OF)} `;\n }\n\n get paginationAccessibleName(): string {\n if (this.typeShort) {\n return this.paginationShortAccessibleName;\n }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}`;\n }\n\n get pageAccessibleName(): string {\n return UDExPagination.i18nBundle.getText(PAGINATION_PAGE);\n }\n\n get paginationShortAccessibleName(): string {\n return `${this.pageAccessibleName} ${this.shortTextStart} ${this.shortTextSeparator} ${this.shortTextEnd}`;\n }\n\n get activatePageAccessibleText() {\n return UDExPagination.i18nBundle.getText(ACTIVATE_PAGE);\n }\n\n get firstPageAccessibleName(): string {\n if (this.currentPageIndex === 0) { return UDExPagination.i18nBundle.getText(FIRST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(FIRST_PAGE)}. ${this.activatePageAccessibleText} 1`;\n }\n\n get lastPageAccessibleName(): string {\n if (this.pages && this.currentPageIndex === (this.pages - 1)) { return UDExPagination.i18nBundle.getText(LAST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(LAST_PAGE)}. ${this.activatePageAccessibleText} ${this.pages}`;\n }\n\n get previousPageAccessibleName(): string {\n if (this.currentPageIndex === 0) { return UDExPagination.i18nBundle.getText(PREVIOUS_PAGE); }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}. ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;\n }\n\n get previousBtnTooltip(): string {\n return !this.prevButtonDisbled ? `${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}` : \"\";\n }\n\n get nextPageAccessibleName(): string {\n if (this.pages && this.currentPageIndex === (this.pages - 1)) { return UDExPagination.i18nBundle.getText(NEXT_PAGE); }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}. ${UDExPagination.i18nBundle.getText(NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;\n }\n\n get nextBtnTooltip(): string {\n return !this.nextButtonDisbled ? `${UDExPagination.i18nBundle.getText(NEXT_PAGE)}` : \"\";\n }\n\n get pagination(): Page[] {\n return this._visiblePages;\n }\n\n get paginationClass(): string {\n let classes = \"udex-pagination\";\n if (this._direction === \"rtl\") {\n classes = `${classes} udex-pagination--${this._direction}`;\n }\n if (!this.display) {\n return classes;\n }\n return `${classes} udex-pagination--${this.display} udex-pagination--${this.type}`;\n }\n\n get displayNumber(): number {\n const lastIndex = this.display === DisplayType.mobile ? this._mobileDisplayNumber : this._desktopDisplayNumber;\n return lastIndex;\n }\n\n get pageOffset(): number {\n if (this.display === DisplayType.mobile) {\n return Math.floor(this._mobileDisplayNumber / 2);\n }\n return this._desktopDisplayNumber / 2 - 1;\n }\n\n static async onDefine() {\n UDExPagination.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n setActive(element: HTMLElement): void {\n const pageIndex = element.getAttribute(\"index\")\n ? parseInt(element.getAttribute(\"index\") || \"\")\n : null;\n if (pageIndex === null) {\n return;\n }\n\n this.currentPageIndex = pageIndex;\n this._pageFocusedManually = true;\n this._previousPageElement = element;\n }\n\n setNextPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage >= this.pages - 1) {\n return;\n }\n\n this.currentPageIndex = currentPage + 1;\n this._pageFocusedManually = false;\n this._pages = this.setupPagesData();\n\n this.emitChangeEvent();\n }\n\n setPrevPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage <= 0) {\n return;\n }\n this.currentPageIndex -= 1;\n this._pageFocusedManually = false;\n this._pages = this.setupPagesData();\n\n this.emitChangeEvent();\n }\n\n setFirstPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (currentPage === 0) {\n return;\n }\n\n this._firstPageIndex = 0;\n this._lastPageIndex = this.displayNumber;\n\n this.currentPageIndex = 0;\n this.emitChangeEvent();\n }\n\n setLastPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (!this.pages || currentPage >= this.pages - 1) {\n return;\n }\n\n this._firstPageIndex = this.pages - this.displayNumber;\n this._lastPageIndex = this.pages;\n\n this.currentPageIndex = this._lastPageIndex - 1;\n this.emitChangeEvent();\n }\n\n setupPages(pages: number) {\n if (!pages) {\n this._visiblePages = [];\n return;\n }\n\n if (!this._pages.length || this._visiblePages.length < this.displayNumber) {\n this._firstPageIndex = 0;\n this._lastPageIndex = pages > this.displayNumber ? this.displayNumber : pages;\n this._pageFocusedManually = false;\n }\n\n this._pages = this.setupPagesData();\n\n if (this.currentPageIndex > this._lastPageIndex || this._lastPageIndex - this.currentPageIndex <= this.pageOffset) {\n this._visiblePages = this.shiftVisiblePages();\n }\n\n if (this.currentPageIndex < this._firstPageIndex || this.currentPageIndex - this._firstPageIndex <= this.pageOffset) {\n this._visiblePages = this.shiftVisiblePages(true);\n }\n }\n\n setupPagesData(): Page[] {\n const updatedPages = [];\n if (this.pages) {\n this._previousPageElement?.removeAttribute(\"aria-current\");\n for (let index = 0; index < this.pages; index++) {\n const isCurrent = index === this.currentPageIndex;\n const ariaCurrent = \"page\";\n const accessibleName = this.getPageAccessibleName(index);\n updatedPages.push({\n index,\n value: index + 1,\n active: isCurrent,\n accessibleName,\n ...(isCurrent && { ariaCurrent }),\n });\n }\n }\n return updatedPages;\n }\n\n shiftVisiblePages(shiftBackwards: boolean = false): Page[] {\n if (shiftBackwards) {\n while (this.currentPageIndex - this._firstPageIndex < this.pageOffset && this._firstPageIndex > 0) {\n this._firstPageIndex--;\n this._lastPageIndex--;\n }\n } else {\n while (this._lastPageIndex - this.currentPageIndex - 1 < this.pageOffset && this._lastPageIndex < this.pages) {\n this._firstPageIndex++;\n this._lastPageIndex++;\n }\n }\n return this._pages.slice(this._firstPageIndex, this._lastPageIndex);\n }\n\n getPageAccessibleName(index: number): string {\n const isCurrent = index === this.currentPageIndex;\n\n const accessibleName = isCurrent ? `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}, ${UDExPagination.i18nBundle.getText(SELECTED)}` : `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}`;\n\n return accessibleName;\n }\n\n onPageClick(e: Event) {\n e.preventDefault();\n const target = e.target as HTMLElement;\n const element = target !== e.currentTarget ? (target.parentNode as HTMLElement) : target;\n if (element.getAttribute(\"active\") !== null) {\n return;\n }\n\n this.setActive(element);\n this.emitChangeEvent();\n }\n\n emitChangeEvent() {\n this.fireEvent(\"change\", { currentPage: this.currentPageIndex + 1 });\n }\n\n onAfterRendering() {\n if (this._pageFocusedManually) {\n const activePageItem = this.shadowRoot?.querySelector<HTMLElement>(\".udex-pagination__page[active]\");\n activePageItem?.focus();\n }\n\n if (this.type === PaginationType.full) {\n return;\n }\n\n const shortPaginationElement = this.shadowRoot?.querySelector<HTMLElement>(\n \".udex-pagination__item--short\",\n );\n\n if (!shortPaginationElement) {\n return;\n }\n\n const directionStyles: string = window\n .getComputedStyle(shortPaginationElement)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n}\n\nUDExPagination.define();\n\nexport default UDExPagination;\n"]}
1
+ {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../src/Pagination.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n OF,\n PAGINATION_PAGE,\n SELECTED,\n ACTIVATE_PAGE,\n FIRST_PAGE,\n LAST_PAGE,\n PREVIOUS_PAGE,\n NEXT_PAGE,\n CURRENT_PAGE,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Button from \"./Button.js\";\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/open-command-field.js\";\nimport \"@ui5/webcomponents-icons/dist/close-command-field.js\";\n\n// Template\nimport PaginationTemplate from \"./generated/templates/PaginationTemplate.lit.js\";\n\n// Styles\nimport PaginationCss from \"./generated/themes/Pagination.css\";\n\ninterface Page {\n value: number;\n active: boolean;\n}\n\nexport enum PaginationType {\n full = \"full\",\n short = \"short\",\n}\n\nexport enum DisplayType {\n desktop = \"desktop\",\n mobile = \"mobile\"\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>udex-pagination</code> component is a pagination component used to navigate thought the pages.\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-pagination\n * @public\n */\n@customElement({\n tag: \"udex-pagination\",\n renderer: litRender,\n styles: PaginationCss,\n template: PaginationTemplate,\n dependencies: [Button],\n})\n/**\n * Fires when pagination item was clicked.\n *\n * @allowPreventDefault\n * @param {Number}\n * @public\n */\n@event(\"change\", {\n detail: {\n currentPage: { type: Number },\n },\n})\nclass UDExPagination extends UI5Element {\n /**\n * Defines number of pages.\n *\n * @public\n * @default 0\n */\n @property({ validator: Integer, defaultValue: 0 })\n pages: number;\n\n /**\n * Defines type of pagination.\n *\n * @public\n * @default \"full\"\n */\n @property({ defaultValue: PaginationType.full, type: PaginationType })\n type?: `${PaginationType}`;\n\n /**\n * Define display purpose.\n *\n * @public\n * @default \"desktop\"\n */\n @property({ defaultValue: DisplayType.desktop, type: DisplayType })\n display?: `${DisplayType}`;\n\n /**\n * Define if arrow icons for last and first page are visible.\n *\n * @public\n */\n @property({ type: Boolean })\n absoluteNavigation!: boolean;\n\n /**\n * Current index of pagination page.\n * @public\n * @default 0\n */\n @property({ validator: Integer, defaultValue: 0 })\n currentPageIndex: number;\n\n /**\n * Defines direction of the input.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n _pages: Page[];\n _visiblePages: Page[];\n\n _previousPageElement?: HTMLElement;\n\n _mobileDisplayNumber: number;\n _desktopDisplayNumber: number;\n _firstPageIndex!: number;\n _lastPageIndex!: number;\n _pageFocusedManually!: boolean;\n\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this.pages = 0;\n this._pages = [];\n this._visiblePages = [];\n this.currentPageIndex = 0;\n this._mobileDisplayNumber = 5;\n this._desktopDisplayNumber = 10;\n this._pageFocusedManually = false;\n }\n\n onEnterDOM() {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering(): void {\n this.setupPages(this.pages);\n }\n\n get nextButtonDisbled(): boolean {\n return this.currentPageIndex + 1 === this.pages;\n }\n\n get prevButtonDisbled(): boolean {\n return this.currentPageIndex === 0;\n }\n\n get typeFull(): boolean {\n return (\n this.type === PaginationType.full || this.display === DisplayType.mobile\n );\n }\n\n get typeShort(): boolean {\n return (\n this.type === PaginationType.short && this.display !== DisplayType.mobile\n );\n }\n\n get shortTextStart(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.currentPageIndex + 1}`;\n }\n\n get shortTextEnd(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.pages}`;\n }\n\n get shortTextSeparator(): string {\n if (!this.pages) {\n return \"\";\n }\n return ` ${UDExPagination.i18nBundle.getText(OF)} `;\n }\n\n get paginationAccessibleName(): string {\n if (this.typeShort) {\n return this.paginationShortAccessibleName;\n }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}`;\n }\n\n get pageAccessibleName(): string {\n return UDExPagination.i18nBundle.getText(PAGINATION_PAGE);\n }\n\n get paginationShortAccessibleName(): string {\n return `${this.pageAccessibleName} ${this.shortTextStart} ${this.shortTextSeparator} ${this.shortTextEnd}`;\n }\n\n get activatePageAccessibleText() {\n return UDExPagination.i18nBundle.getText(ACTIVATE_PAGE);\n }\n\n get firstPageAccessibleName(): string {\n if (this.currentPageIndex === 0) { return UDExPagination.i18nBundle.getText(FIRST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(FIRST_PAGE)}. ${this.activatePageAccessibleText} 1`;\n }\n\n get lastPageAccessibleName(): string {\n if (this.pages && this.currentPageIndex === (this.pages - 1)) { return UDExPagination.i18nBundle.getText(LAST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(LAST_PAGE)}. ${this.activatePageAccessibleText} ${this.pages}`;\n }\n\n get previousPageAccessibleName(): string {\n if (this.currentPageIndex === 0) { return UDExPagination.i18nBundle.getText(PREVIOUS_PAGE); }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}. ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;\n }\n\n get previousBtnTooltip(): string {\n return !this.prevButtonDisbled ? `${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}` : \"\";\n }\n\n get nextPageAccessibleName(): string {\n if (this.pages && this.currentPageIndex === (this.pages - 1)) { return UDExPagination.i18nBundle.getText(NEXT_PAGE); }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}. ${UDExPagination.i18nBundle.getText(NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;\n }\n\n get nextBtnTooltip(): string {\n return !this.nextButtonDisbled ? `${UDExPagination.i18nBundle.getText(NEXT_PAGE)}` : \"\";\n }\n\n get pagination(): Page[] {\n return this._visiblePages;\n }\n\n get paginationClass(): string {\n let classes = \"udex-pagination\";\n if (this._direction === \"rtl\") {\n classes = `${classes} udex-pagination--${this._direction}`;\n }\n if (!this.display) {\n return classes;\n }\n return `${classes} udex-pagination--${this.display} udex-pagination--${this.type}`;\n }\n\n get displayNumber(): number {\n const lastIndex = this.display === DisplayType.mobile ? this._mobileDisplayNumber : this._desktopDisplayNumber;\n return lastIndex;\n }\n\n get pageOffset(): number {\n if (this.display === DisplayType.mobile) {\n return Math.floor(this._mobileDisplayNumber / 2);\n }\n return this._desktopDisplayNumber / 2 - 1;\n }\n\n static async onDefine() {\n UDExPagination.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n setActive(element: HTMLElement): void {\n const pageIndex = element.getAttribute(\"index\")\n ? parseInt(element.getAttribute(\"index\") || \"\")\n : null;\n if (pageIndex === null) {\n return;\n }\n\n this.currentPageIndex = pageIndex;\n this._pageFocusedManually = true;\n this._previousPageElement = element;\n }\n\n setNextPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage >= this.pages - 1) {\n return;\n }\n\n this.currentPageIndex = currentPage + 1;\n this._pageFocusedManually = false;\n\n this.emitChangeEvent();\n }\n\n setPrevPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage <= 0) {\n return;\n }\n this.currentPageIndex -= 1;\n this._pageFocusedManually = false;\n\n this.emitChangeEvent();\n }\n\n setFirstPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (currentPage === 0) {\n return;\n }\n\n this._firstPageIndex = 0;\n this._lastPageIndex = this.displayNumber;\n\n this.currentPageIndex = 0;\n this.emitChangeEvent();\n }\n\n setLastPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (!this.pages || currentPage >= this.pages - 1) {\n return;\n }\n\n this._firstPageIndex = this.pages - this.displayNumber;\n this._lastPageIndex = this.pages;\n\n this.currentPageIndex = this._lastPageIndex - 1;\n this.emitChangeEvent();\n }\n\n setupPages(pages: number) {\n if (!pages) {\n this._visiblePages = [];\n return;\n }\n\n if (!this._pages.length || this._visiblePages.length < this.displayNumber) {\n this._firstPageIndex = 0;\n this._lastPageIndex = pages > this.displayNumber ? this.displayNumber : pages;\n this._pageFocusedManually = false;\n }\n\n this._pages = this.setupPagesData();\n\n if (this.currentPageIndex < this._firstPageIndex || this.currentPageIndex - this._firstPageIndex <= this.pageOffset) {\n this._visiblePages = this.shiftVisiblePages(true);\n return;\n }\n\n this._visiblePages = this.shiftVisiblePages();\n }\n\n setupPagesData(): Page[] {\n const updatedPages = [];\n if (this.pages) {\n this._previousPageElement?.removeAttribute(\"aria-current\");\n for (let index = 0; index < this.pages; index++) {\n const isCurrent = index === this.currentPageIndex;\n const ariaCurrent = \"page\";\n const accessibleName = this.getPageAccessibleName(index);\n updatedPages.push({\n index,\n value: index + 1,\n active: isCurrent,\n accessibleName,\n ...(isCurrent && { ariaCurrent }),\n });\n }\n }\n return updatedPages;\n }\n\n shiftVisiblePages(shiftBackwards: boolean = false): Page[] {\n if (shiftBackwards) {\n while (this.currentPageIndex - this._firstPageIndex < this.pageOffset && this._firstPageIndex > 0) {\n this._firstPageIndex--;\n this._lastPageIndex--;\n }\n } else {\n while (this._lastPageIndex - this.currentPageIndex - 1 < this.pageOffset && this._lastPageIndex < this.pages) {\n this._firstPageIndex++;\n this._lastPageIndex++;\n }\n }\n return this._pages.slice(this._firstPageIndex, this._lastPageIndex);\n }\n\n getPageAccessibleName(index: number): string {\n const isCurrent = index === this.currentPageIndex;\n\n const accessibleName = isCurrent ? `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}, ${UDExPagination.i18nBundle.getText(SELECTED)}` : `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}`;\n\n return accessibleName;\n }\n\n onPageClick(e: Event) {\n e.preventDefault();\n const target = e.target as HTMLElement;\n const element = target !== e.currentTarget ? (target.parentNode as HTMLElement) : target;\n if (element.getAttribute(\"active\") !== null) {\n return;\n }\n this.setActive(element);\n this.emitChangeEvent();\n }\n\n emitChangeEvent() {\n this.fireEvent(\"change\", { currentPage: this.currentPageIndex + 1 });\n }\n\n onAfterRendering() {\n if (this._pageFocusedManually) {\n const activePageItem = this.shadowRoot?.querySelector<HTMLElement>(\".udex-pagination__page[active]\");\n activePageItem?.focus();\n }\n\n if (this.type === PaginationType.full) {\n return;\n }\n\n const shortPaginationElement = this.shadowRoot?.querySelector<HTMLElement>(\n \".udex-pagination__item--short\",\n );\n\n if (!shortPaginationElement) {\n return;\n }\n\n const directionStyles: string = window\n .getComputedStyle(shortPaginationElement)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n}\n\nUDExPagination.define();\n\nexport default UDExPagination;\n"]}
@@ -1,6 +1,12 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
3
  import ValueState from "./types/common.js";
4
+ import "@ui5/webcomponents-icons/dist/hide.js";
5
+ import "@ui5/webcomponents-icons/dist/show.js";
6
+ export declare enum PasswordFieldAutoComplete {
7
+ On = "on",
8
+ Off = "off"
9
+ }
4
10
  export declare enum InputType {
5
11
  Password = "password",
6
12
  Text = "text"
@@ -20,7 +26,7 @@ export declare enum IconType {
20
26
  * For the <code>udex-password-field</code>
21
27
  * <h3>ES6 Module Import</h3>
22
28
  *
23
- * <code>import "@udex/web-components/dist/UDExPasswordField.js";</code>
29
+ * <code>import "@sapudex/web-components/dist/UDExPasswordField.js";</code>
24
30
  *
25
31
  * @constructor
26
32
  * @extends UI5Element
@@ -35,6 +41,12 @@ declare class UDExPasswordField extends UI5Element {
35
41
  * @private
36
42
  */
37
43
  type: InputType;
44
+ /**
45
+ * Defines the behaviour of autocomplete.
46
+ *
47
+ * @public
48
+ */
49
+ autocomplete: `${PasswordFieldAutoComplete}`;
38
50
  /**
39
51
  * Defines whether the component is in disabled state.
40
52
  * <br><br>