@sapudex/web-components 2.1.1 → 2.3.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 (384) hide show
  1. package/bundle.esm.js +1 -0
  2. package/cypress/fixtures/event-ribbon-links.ts +5 -0
  3. package/cypress/specs/Accordion.cy.tsx +1 -2
  4. package/cypress/specs/AccordionItem.cy.tsx +1 -1
  5. package/cypress/specs/Avatar.cy.tsx +1 -1
  6. package/cypress/specs/AvatarGroup.cy.tsx +1 -2
  7. package/cypress/specs/Badge.cy.tsx +1 -1
  8. package/cypress/specs/CountrySelector.cy.tsx +10 -4
  9. package/cypress/specs/EventRibbon.cy.tsx +110 -0
  10. package/cypress/specs/Footer.cy.tsx +1 -1
  11. package/cypress/specs/ListItem.cy.tsx +5 -5
  12. package/cypress/specs/PhoneNumberField.cy.tsx +4 -2
  13. package/cypress/specs/Review.cy.tsx +1 -3
  14. package/cypress/specs/ReviewItem.cy.tsx +1 -1
  15. package/cypress/specs/SecondaryNavigationDesktop.cy.tsx +129 -131
  16. package/cypress/specs/SecondaryNavigationMobile.cy.tsx +27 -38
  17. package/cypress/specs/SelectBox.cy.tsx +93 -88
  18. package/cypress/specs/Slider.cy.tsx +5 -4
  19. package/cypress/specs/StatusBadge.cy.tsx +1 -1
  20. package/cypress/specs/StatusMessage.cy.tsx +1 -1
  21. package/cypress/specs/Switch.cy.tsx +1 -2
  22. package/cypress/specs/Table.cy.tsx +1 -9
  23. package/cypress/specs/Tag.cy.tsx +1 -1
  24. package/cypress/specs/TagGroup.cy.tsx +1 -2
  25. package/cypress/specs/TextField.cy.tsx +1 -1
  26. package/cypress/specs/Textarea.cy.tsx +1 -1
  27. package/cypress/specs/Toast.cy.tsx +1 -1
  28. package/cypress/specs/Tooltip.cy.tsx +1 -2
  29. package/cypress/specs/TruncatedText.cy.tsx +2 -1
  30. package/cypress/specs/Upload.cy.tsx +1 -2
  31. package/cypress/specs/UploadItem.cy.tsx +1 -1
  32. package/cypress/specs/Wizard.cy.tsx +7 -4
  33. package/cypress/support/component-imports.instrumented.ts +91 -0
  34. package/cypress/support/component-imports.src.ts +91 -0
  35. package/cypress/support/component.ts +1 -1
  36. package/cypress.config.ts +6 -0
  37. package/dist/AssetsVariables.js +4 -0
  38. package/dist/AssetsVariables.js.map +1 -1
  39. package/dist/Badge.d.ts +2 -2
  40. package/dist/Badge.js +4 -4
  41. package/dist/Badge.js.map +1 -1
  42. package/dist/Breadcrumbs.d.ts +1 -0
  43. package/dist/Breadcrumbs.js +11 -1
  44. package/dist/Breadcrumbs.js.map +1 -1
  45. package/dist/Button.d.ts +19 -1
  46. package/dist/Button.js +15 -1
  47. package/dist/Button.js.map +1 -1
  48. package/dist/Checkbox.d.ts +1 -0
  49. package/dist/Checkbox.js +3 -0
  50. package/dist/Checkbox.js.map +1 -1
  51. package/dist/ControlButton.d.ts +2 -1
  52. package/dist/ControlButton.js +2 -1
  53. package/dist/ControlButton.js.map +1 -1
  54. package/dist/CountrySelector.d.ts +2 -2
  55. package/dist/CountrySelector.js +3 -1
  56. package/dist/CountrySelector.js.map +1 -1
  57. package/dist/DatePicker.d.ts +2 -2
  58. package/dist/DatePicker.js +2 -1
  59. package/dist/DatePicker.js.map +1 -1
  60. package/dist/EventRibbon.d.ts +80 -0
  61. package/dist/EventRibbon.js +111 -0
  62. package/dist/EventRibbon.js.map +1 -0
  63. package/dist/EventRibbonTemplate.d.ts +2 -0
  64. package/dist/EventRibbonTemplate.js +7 -0
  65. package/dist/EventRibbonTemplate.js.map +1 -0
  66. package/dist/HeroBanner.d.ts +1 -1
  67. package/dist/InputGroup.d.ts +5 -2
  68. package/dist/InputGroup.js +6 -0
  69. package/dist/InputGroup.js.map +1 -1
  70. package/dist/ListItem.d.ts +3 -2
  71. package/dist/ListItem.js +2 -2
  72. package/dist/ListItem.js.map +1 -1
  73. package/dist/MastheadItem.js +1 -1
  74. package/dist/MastheadItem.js.map +1 -1
  75. package/dist/MastheadShell.d.ts +4 -1
  76. package/dist/MastheadShell.js +21 -5
  77. package/dist/MastheadShell.js.map +1 -1
  78. package/dist/MediaPlayer.d.ts +2 -1
  79. package/dist/MediaPlayer.js.map +1 -1
  80. package/dist/MediaPlayerYoutube.d.ts +2 -1
  81. package/dist/MediaPlayerYoutube.js.map +1 -1
  82. package/dist/Pagination.d.ts +18 -4
  83. package/dist/Pagination.js +33 -31
  84. package/dist/Pagination.js.map +1 -1
  85. package/dist/PhoneNumberField.d.ts +10 -7
  86. package/dist/PhoneNumberField.js +8 -2
  87. package/dist/PhoneNumberField.js.map +1 -1
  88. package/dist/ProgressBar.d.ts +2 -2
  89. package/dist/ProgressBar.js +6 -6
  90. package/dist/ProgressBar.js.map +1 -1
  91. package/dist/RadioButton.d.ts +2 -2
  92. package/dist/RadioButton.js +6 -6
  93. package/dist/RadioButton.js.map +1 -1
  94. package/dist/Search.d.ts +0 -1
  95. package/dist/Search.js +1 -3
  96. package/dist/Search.js.map +1 -1
  97. package/dist/SearchableListBase.d.ts +9 -0
  98. package/dist/SearchableListBase.js +10 -2
  99. package/dist/SearchableListBase.js.map +1 -1
  100. package/dist/SecondaryNavigation.d.ts +4 -1
  101. package/dist/SecondaryNavigation.js +38 -10
  102. package/dist/SecondaryNavigation.js.map +1 -1
  103. package/dist/SecondaryNavigationItem.d.ts +10 -0
  104. package/dist/SecondaryNavigationItem.js +19 -0
  105. package/dist/SecondaryNavigationItem.js.map +1 -1
  106. package/dist/SecondaryNavigationItemBase.d.ts +1 -0
  107. package/dist/SecondaryNavigationItemBase.js +4 -0
  108. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  109. package/dist/SecondaryNavigationSubItem.d.ts +0 -1
  110. package/dist/SecondaryNavigationSubItem.js +0 -4
  111. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  112. package/dist/SegmentedButton.d.ts +1 -1
  113. package/dist/SegmentedButton.js +1 -1
  114. package/dist/SegmentedButton.js.map +1 -1
  115. package/dist/SegmentedButtonItem.d.ts +1 -1
  116. package/dist/SegmentedButtonItem.js +2 -2
  117. package/dist/SegmentedButtonItem.js.map +1 -1
  118. package/dist/StatusBadge.d.ts +8 -3
  119. package/dist/StatusBadge.js +9 -1
  120. package/dist/StatusBadge.js.map +1 -1
  121. package/dist/StepInput.d.ts +3 -3
  122. package/dist/StepInput.js.map +1 -1
  123. package/dist/TableCellBase.d.ts +2 -2
  124. package/dist/TableCellBase.js.map +1 -1
  125. package/dist/Tag.d.ts +2 -2
  126. package/dist/Tag.js +4 -4
  127. package/dist/Tag.js.map +1 -1
  128. package/dist/TextArea.d.ts +2 -2
  129. package/dist/TextArea.js +9 -9
  130. package/dist/TextArea.js.map +1 -1
  131. package/dist/TextField.d.ts +9 -2
  132. package/dist/TextField.js +8 -5
  133. package/dist/TextField.js.map +1 -1
  134. package/dist/Toast.js +1 -1
  135. package/dist/Toast.js.map +1 -1
  136. package/dist/Upload.d.ts +1 -1
  137. package/dist/Upload.js +1 -1
  138. package/dist/Upload.js.map +1 -1
  139. package/dist/UploadItem.d.ts +3 -3
  140. package/dist/UploadItem.js +9 -9
  141. package/dist/UploadItem.js.map +1 -1
  142. package/dist/Wizard.d.ts +20 -1
  143. package/dist/Wizard.js +22 -9
  144. package/dist/Wizard.js.map +1 -1
  145. package/dist/WizardTemplate.js +1 -1
  146. package/dist/WizardTemplate.js.map +1 -1
  147. package/dist/assets/InputSuggestions-BgbbJ4tc.js +2 -0
  148. package/dist/assets/{ListItemStandardExpandableTextTemplate-CLBtdbBK.js → ListItemStandardExpandableTextTemplate-onAnn1Tj.js} +2 -2
  149. package/dist/assets/bundle.esm-CwUfibNQ.js +389 -0
  150. package/dist/assets/parameters-bundle.css-1GGBOW8m.js +2 -0
  151. package/dist/assets/parameters-bundle.css-A9eeRg2R.js +2 -0
  152. package/dist/assets/parameters-bundle.css-COBI_9-U.js +2 -0
  153. package/dist/assets/parameters-bundle.css-CgAoZ-Ir.js +2 -0
  154. package/dist/assets/parameters-bundle.css-DuFHHRNK.js +2 -0
  155. package/dist/assets/parameters-bundle.css-Pf68NO0T.js +2 -0
  156. package/dist/assets/parameters-bundle.css-aX_t_-9o.js +2 -0
  157. package/dist/assets/parameters-bundle.css-rNSryFKH.js +2 -0
  158. package/dist/css/themes/Breadcrumbs.css +1 -1
  159. package/dist/css/themes/Button.css +1 -1
  160. package/dist/css/themes/DatePickerPopover.css +1 -1
  161. package/dist/css/themes/EventRibbon.css +1 -0
  162. package/dist/css/themes/ListItem.css +1 -1
  163. package/dist/css/themes/MastheadCountrySelector.css +1 -1
  164. package/dist/css/themes/MastheadItem.css +1 -1
  165. package/dist/css/themes/MastheadShell.css +1 -1
  166. package/dist/css/themes/Modal.css +1 -1
  167. package/dist/css/themes/Pagination.css +1 -1
  168. package/dist/css/themes/RatingIndicator.css +1 -1
  169. package/dist/css/themes/Search.css +1 -1
  170. package/dist/css/themes/SideNavigationItem.css +1 -1
  171. package/dist/css/themes/SideNavigationSubItem.css +1 -1
  172. package/dist/css/themes/Slider.css +1 -1
  173. package/dist/css/themes/TextField.css +1 -1
  174. package/dist/custom-elements-internal.json +471 -37
  175. package/dist/custom-elements.json +442 -35
  176. package/dist/data/CountryListISO3166.d.ts +13 -4
  177. package/dist/data/CountryListISO3166.js +8 -0
  178. package/dist/data/CountryListISO3166.js.map +1 -1
  179. package/dist/generated/json-imports/Themes-node.d.ts +1 -0
  180. package/dist/generated/json-imports/Themes-node.js +19 -0
  181. package/dist/generated/json-imports/Themes-node.js.map +1 -0
  182. package/dist/generated/json-imports/i18n-node.d.ts +1 -0
  183. package/dist/generated/json-imports/i18n-node.js +82 -0
  184. package/dist/generated/json-imports/i18n-node.js.map +1 -0
  185. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +1 -1
  186. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +1 -1
  187. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
  188. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  189. package/dist/generated/templates/PaginationTemplate.lit.js +1 -1
  190. package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
  191. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +2 -2
  192. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  193. package/dist/generated/templates/SearchTemplate.lit.js +3 -3
  194. package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
  195. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +2 -2
  196. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
  197. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +1 -1
  198. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  199. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  200. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  201. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  202. package/dist/generated/themes/Button.css.d.ts +1 -1
  203. package/dist/generated/themes/Button.css.js +1 -1
  204. package/dist/generated/themes/Button.css.js.map +1 -1
  205. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  206. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  207. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  208. package/dist/generated/themes/EventRibbon.css.d.ts +2 -0
  209. package/dist/generated/themes/EventRibbon.css.js +8 -0
  210. package/dist/generated/themes/EventRibbon.css.js.map +1 -0
  211. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  212. package/dist/generated/themes/ListItem.css.js +1 -1
  213. package/dist/generated/themes/ListItem.css.js.map +1 -1
  214. package/dist/generated/themes/MastheadCountrySelector.css.d.ts +1 -1
  215. package/dist/generated/themes/MastheadCountrySelector.css.js +1 -1
  216. package/dist/generated/themes/MastheadCountrySelector.css.js.map +1 -1
  217. package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
  218. package/dist/generated/themes/MastheadItem.css.js +1 -1
  219. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  220. package/dist/generated/themes/MastheadShell.css.d.ts +1 -1
  221. package/dist/generated/themes/MastheadShell.css.js +1 -1
  222. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  223. package/dist/generated/themes/Modal.css.d.ts +1 -1
  224. package/dist/generated/themes/Modal.css.js +1 -1
  225. package/dist/generated/themes/Modal.css.js.map +1 -1
  226. package/dist/generated/themes/Pagination.css.d.ts +1 -1
  227. package/dist/generated/themes/Pagination.css.js +1 -1
  228. package/dist/generated/themes/Pagination.css.js.map +1 -1
  229. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  230. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  231. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  232. package/dist/generated/themes/Search.css.d.ts +1 -1
  233. package/dist/generated/themes/Search.css.js +1 -1
  234. package/dist/generated/themes/Search.css.js.map +1 -1
  235. package/dist/generated/themes/SideNavigationItem.css.d.ts +1 -1
  236. package/dist/generated/themes/SideNavigationItem.css.js +1 -1
  237. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  238. package/dist/generated/themes/SideNavigationSubItem.css.d.ts +1 -1
  239. package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
  240. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  241. package/dist/generated/themes/Slider.css.d.ts +1 -1
  242. package/dist/generated/themes/Slider.css.js +1 -1
  243. package/dist/generated/themes/Slider.css.js.map +1 -1
  244. package/dist/generated/themes/TextField.css.d.ts +1 -1
  245. package/dist/generated/themes/TextField.css.js +1 -1
  246. package/dist/generated/themes/TextField.css.js.map +1 -1
  247. package/dist/types/ButtonAccessibleRole.d.ts +8 -0
  248. package/dist/types/ButtonAccessibleRole.js +10 -0
  249. package/dist/types/ButtonAccessibleRole.js.map +1 -0
  250. package/dist/types/{Button.d.ts → ButtonDesign.d.ts} +1 -15
  251. package/dist/types/ButtonDesign.js +16 -0
  252. package/dist/types/ButtonDesign.js.map +1 -0
  253. package/dist/types/ButtonSize.d.ts +6 -0
  254. package/dist/types/ButtonSize.js +8 -0
  255. package/dist/types/ButtonSize.js.map +1 -0
  256. package/dist/types/ControlButtonDesign.d.ts +10 -0
  257. package/dist/types/ControlButtonDesign.js +12 -0
  258. package/dist/types/ControlButtonDesign.js.map +1 -0
  259. package/dist/types/EventRibbon.d.ts +37 -0
  260. package/dist/types/EventRibbon.js +43 -0
  261. package/dist/types/EventRibbon.js.map +1 -0
  262. package/dist/types/ProgressBar.d.ts +1 -1
  263. package/dist/types/ProgressBar.js +1 -1
  264. package/dist/types/ProgressBar.js.map +1 -1
  265. package/dist/types/common.d.ts +1 -1
  266. package/dist/types/common.js +1 -1
  267. package/dist/types/common.js.map +1 -1
  268. package/dist/vscode.html-custom-data.json +110 -10
  269. package/dist/web-types.json +159 -13
  270. package/filter-coverage.js +58 -0
  271. package/package.json +14 -9
  272. package/src/AssetsVariables.ts +4 -0
  273. package/src/Badge.ts +4 -4
  274. package/src/Breadcrumbs.hbs +7 -10
  275. package/src/Breadcrumbs.ts +14 -1
  276. package/src/BreadcrumbsPopover.hbs +3 -1
  277. package/src/Button.ts +21 -1
  278. package/src/Checkbox.ts +4 -0
  279. package/src/ControlButton.ts +2 -1
  280. package/src/CountrySelector.ts +5 -3
  281. package/src/DatePicker.ts +4 -3
  282. package/src/EventRibbon.ts +143 -0
  283. package/src/EventRibbonTemplate.tsx +18 -0
  284. package/src/InputGroup.ts +5 -2
  285. package/src/ListItem.ts +4 -4
  286. package/src/MastheadItem.ts +1 -1
  287. package/src/MastheadShell.ts +25 -5
  288. package/src/MediaPlayer.ts +3 -1
  289. package/src/MediaPlayerYoutube.ts +4 -2
  290. package/src/Pagination.hbs +7 -3
  291. package/src/Pagination.ts +49 -32
  292. package/src/PhoneNumberField.hbs +1 -1
  293. package/src/PhoneNumberField.ts +13 -5
  294. package/src/ProgressBar.ts +6 -6
  295. package/src/RadioButton.ts +6 -6
  296. package/src/Search.hbs +3 -2
  297. package/src/Search.ts +1 -3
  298. package/src/SearchableListBase.ts +18 -2
  299. package/src/SecondaryNavigation.hbs +1 -0
  300. package/src/SecondaryNavigation.ts +41 -12
  301. package/src/SecondaryNavigationItem.hbs +2 -1
  302. package/src/SecondaryNavigationItem.ts +31 -0
  303. package/src/SecondaryNavigationItemBase.ts +3 -0
  304. package/src/SecondaryNavigationSubItem.ts +0 -3
  305. package/src/SegmentedButton.ts +1 -1
  306. package/src/SegmentedButtonItem.ts +2 -2
  307. package/src/StatusBadge.ts +8 -3
  308. package/src/StepInput.ts +3 -3
  309. package/src/TableCellBase.ts +2 -2
  310. package/src/Tag.ts +4 -4
  311. package/src/TextArea.ts +9 -9
  312. package/src/TextField.ts +14 -5
  313. package/src/Toast.ts +1 -1
  314. package/src/Upload.ts +1 -1
  315. package/src/UploadItem.ts +9 -9
  316. package/src/Wizard.ts +39 -11
  317. package/src/WizardTemplate.tsx +5 -1
  318. package/src/data/CountryListISO3166.ts +10 -2
  319. package/src/generated/json-imports/Themes-node.ts +21 -0
  320. package/src/generated/json-imports/i18n-node.ts +85 -0
  321. package/src/generated/templates/BreadcrumbsPopoverTemplate.lit.ts +1 -1
  322. package/src/generated/templates/BreadcrumbsTemplate.lit.ts +1 -1
  323. package/src/generated/templates/PaginationTemplate.lit.ts +1 -1
  324. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +1 -1
  325. package/src/generated/templates/SearchTemplate.lit.ts +3 -3
  326. package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +2 -2
  327. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +1 -1
  328. package/src/generated/themes/Breadcrumbs.css.ts +1 -1
  329. package/src/generated/themes/Button.css.ts +1 -1
  330. package/src/generated/themes/DatePickerPopover.css.ts +1 -1
  331. package/src/generated/themes/EventRibbon.css.ts +9 -0
  332. package/src/generated/themes/ListItem.css.ts +1 -1
  333. package/src/generated/themes/MastheadCountrySelector.css.ts +1 -1
  334. package/src/generated/themes/MastheadItem.css.ts +1 -1
  335. package/src/generated/themes/MastheadShell.css.ts +1 -1
  336. package/src/generated/themes/Modal.css.ts +1 -1
  337. package/src/generated/themes/Pagination.css.ts +1 -1
  338. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  339. package/src/generated/themes/Search.css.ts +1 -1
  340. package/src/generated/themes/SideNavigationItem.css.ts +1 -1
  341. package/src/generated/themes/SideNavigationSubItem.css.ts +1 -1
  342. package/src/generated/themes/Slider.css.ts +1 -1
  343. package/src/generated/themes/TextField.css.ts +1 -1
  344. package/src/themes/Breadcrumbs.css +3 -0
  345. package/src/themes/Button.css +71 -29
  346. package/src/themes/DatePickerPopover.css +64 -6
  347. package/src/themes/EventRibbon.css +411 -0
  348. package/src/themes/ListItem.css +4 -0
  349. package/src/themes/MastheadCountrySelector.css +8 -5
  350. package/src/themes/MastheadItem.css +12 -4
  351. package/src/themes/MastheadShell.css +5 -2
  352. package/src/themes/Modal.css +6 -1
  353. package/src/themes/Pagination.css +19 -0
  354. package/src/themes/Search.css +8 -1
  355. package/src/themes/SideNavigationItem.css +9 -1
  356. package/src/themes/SideNavigationSubItem.css +7 -0
  357. package/src/themes/TextField.css +2 -13
  358. package/src/types/ButtonAccessibleRole.ts +9 -0
  359. package/src/types/{Button.ts → ButtonDesign.ts} +1 -17
  360. package/src/types/ButtonSize.ts +7 -0
  361. package/src/types/ControlButtonDesign.ts +11 -0
  362. package/src/types/EventRibbon.ts +51 -0
  363. package/src/types/ProgressBar.ts +1 -1
  364. package/src/types/common.ts +1 -1
  365. package/swap-component-imports.js +18 -0
  366. package/dist/assets/InputSuggestions-CP3cBQsh.js +0 -2
  367. package/dist/assets/bundle.esm-jHcdiVfj.js +0 -380
  368. package/dist/assets/parameters-bundle.css-BU4Bi-ho.js +0 -2
  369. package/dist/assets/parameters-bundle.css-Beilb2gS.js +0 -2
  370. package/dist/assets/parameters-bundle.css-BzQMaZUt.js +0 -2
  371. package/dist/assets/parameters-bundle.css-Bzfv_Fox.js +0 -2
  372. package/dist/assets/parameters-bundle.css-CLwmjytB.js +0 -2
  373. package/dist/assets/parameters-bundle.css-CU3plTdF.js +0 -2
  374. package/dist/assets/parameters-bundle.css-DRX-o-Cb.js +0 -2
  375. package/dist/assets/parameters-bundle.css-DhFMZJhW.js +0 -2
  376. package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +0 -1
  377. package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +0 -1
  378. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.d.ts +0 -2
  379. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +0 -3
  380. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +0 -1
  381. package/dist/types/Button.js +0 -33
  382. package/dist/types/Button.js.map +0 -1
  383. package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +0 -2
  384. package/src/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +0 -195
package/src/Badge.ts CHANGED
@@ -9,7 +9,7 @@ import BadgeTemplate from "./generated/templates/BadgeTemplate.lit.js";
9
9
 
10
10
  // Styles
11
11
  import BadgeCss from "./generated/themes/Badge.css.js";
12
- import IconPlacement from "./types/IconPlacement.js";
12
+ import UDExIconPlacement from "./types/IconPlacement.js";
13
13
 
14
14
  import {
15
15
  UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTextBadgeDesign, UDExTypeBadgeDesign,
@@ -81,7 +81,7 @@ class UDExBadge extends UI5Element {
81
81
  * @public
82
82
  */
83
83
  @property()
84
- iconPlacement: `${IconPlacement}` = IconPlacement.End;
84
+ iconPlacement: `${UDExIconPlacement}` = UDExIconPlacement.End;
85
85
  /**
86
86
  * Defines icon name
87
87
  *
@@ -100,11 +100,11 @@ class UDExBadge extends UI5Element {
100
100
  default!: Array<Node>;
101
101
 
102
102
  get startIcon(): boolean {
103
- return !!this.icon && this.iconPlacement === IconPlacement.Start;
103
+ return !!this.icon && this.iconPlacement === UDExIconPlacement.Start;
104
104
  }
105
105
 
106
106
  get endIcon(): boolean {
107
- return !!this.icon && this.iconPlacement === IconPlacement.End;
107
+ return !!this.icon && this.iconPlacement === UDExIconPlacement.End;
108
108
  }
109
109
 
110
110
  get textClasses(): string {
@@ -3,19 +3,16 @@
3
3
  aria-label="{{_accessibleNameText}}">
4
4
  <ol @focusin="{{_onfocusin}}">
5
5
  <li class="udex-breadcrumbs__arrow-wrapper ui5-breadcrumbs-dropdown-arrow-link-wrapper">
6
- <button
6
+ <udex-link
7
7
  id="udex-{{this._id}}-breadcrumbs__opener"
8
8
  @click="{{_toggleDropdown}}"
9
9
  class="udex-breadcrumbs__trigger {{_triggerClass}}"
10
- accessible-role="button"
11
- aria-label="{{_dropdownArrowAccessibleNameText}}"
12
- aria-haspopup="true">
13
- <ui5-icon
14
- name="slim-arrow-down"
15
- mode="Decorative"
16
- title="{{_dropdownArrowAccessibleNameText}}">
17
- </ui5-icon>
18
- </button>
10
+ accessible-role="button"
11
+ aria-label="{{_dropdownArrowAccessibleNameText}}"
12
+ icon="slim-arrow-down"
13
+ icon-placement="Start"
14
+ aria-haspopup="true">
15
+ </udex-link>
19
16
  </li>
20
17
  {{#each _linksData}}
21
18
  <li
@@ -122,6 +122,7 @@ class UDExBreadcrumbs extends UI5Element {
122
122
 
123
123
  _responsivePopover?: UDExDropdown;
124
124
  _itemNavigation?: ItemNavigation;
125
+ _shouldFocusFirstVisibleItem!: boolean;
125
126
 
126
127
  onBeforeRendering(): void {
127
128
  this._preprocessItems();
@@ -130,7 +131,13 @@ class UDExBreadcrumbs extends UI5Element {
130
131
  onAfterRendering(): void {
131
132
  this._responsivePopover = this._getResponsePopover();
132
133
  this._initItemNavigation();
134
+ this._dropdownArrowLink.forcedTabIndex = "0";
133
135
  this._handleOutsideClick();
136
+
137
+ if (this._shouldFocusFirstVisibleItem) {
138
+ this._getFocusableItems()[1].focus();
139
+ this._shouldFocusFirstVisibleItem = false;
140
+ }
134
141
  }
135
142
 
136
143
  _preprocessItems(): void {
@@ -236,6 +243,12 @@ class UDExBreadcrumbs extends UI5Element {
236
243
  const isLastItem = itemIndex === (this.items.length - 2).toString();
237
244
  const isFirstItem = itemIndex === "0";
238
245
 
246
+ if (isTabNext(e) && isLastItem) {
247
+ this._shouldFocusFirstVisibleItem = true;
248
+ this._toggleDropdown();
249
+ return;
250
+ }
251
+
239
252
  if ((isTabNext(e) && isLastItem) || (isTabPrevious(e) && isFirstItem) || isEscape(e)) {
240
253
  this._toggleDropdown();
241
254
  }
@@ -267,7 +280,7 @@ class UDExBreadcrumbs extends UI5Element {
267
280
  * Getter for the list of links corresponding to the abstract breadcrumb items
268
281
  */
269
282
  get _links(): Array<UDExLink> {
270
- return Array.from(this.shadowRoot!.querySelectorAll<UDExLink>(".udex-breadcrumbs__link-wrapper [ui5-link]"));
283
+ return Array.from(this.shadowRoot!.querySelectorAll<UDExLink>(".udex-breadcrumbs__link-wrapper [udex-link]"));
271
284
  }
272
285
 
273
286
  /**
@@ -4,7 +4,9 @@
4
4
  class="udex-breadcrumbs__popover ui5-breadcrumbs-popover"
5
5
  placement="Bottom"
6
6
  horizontal-align="Start"
7
- @keydown="{{_handleKeydown}}">
7
+ @keydown="{{_handleKeydown}}"
8
+ @close="{{_afterDropdownClose}}"
9
+ @open="{{_afterDropdownOpen}}">
8
10
  <div class="udex-breadcrumbs__popover-content">
9
11
  {{#each _dropdownItems}}
10
12
  {{#if this.icon}}
package/src/Button.ts CHANGED
@@ -8,7 +8,8 @@ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
8
8
  import {
9
9
  BUTTON_ARIA_ATTENTION, BUTTON_ARIA_DEFAULT, BUTTON_ARIA_EMPHASIZED, BUTTON_ARIA_TRANSPARENT, BUTTON_ARIA_TYPE_NEGATIVE, BUTTON_ARIA_TYPE_POSITIVE, BUTTON_ARIA_TYPE_PRIMARY, BUTTON_ARIA_TYPE_SECONDARY, BUTTON_ARIA_TYPE_TERTIARY, BUTTON_ARIA_TYPE_WARNING, TOGGLED,
10
10
  } from "./generated/i18n/i18n-defaults.js";
11
- import { UDExButtonDesign, UDExButtonSize } from "./types/Button.js";
11
+ import UDExButtonSize from "./types/ButtonSize.js";
12
+ import UDExButtonDesign from "./types/ButtonDesign.js";
12
13
 
13
14
  // Styles
14
15
  import ButtonCss from "./generated/themes/Button.css.js";
@@ -16,6 +17,16 @@ import ButtonCss from "./generated/themes/Button.css.js";
16
17
  /**
17
18
  * @class
18
19
  *
20
+ * <h3 class="comment-api-title">Overview</h3>
21
+ *
22
+ *
23
+ * <h3>Usage</h3>
24
+ *
25
+ * For the <code>udex-button</code>
26
+ * <h3>ES6 Module Import</h3>
27
+ *
28
+ * <code>import "@sapudex/web-components/dist/Button.js";</code>
29
+ *
19
30
  * @constructor
20
31
  * @extends Button
21
32
  * @tagname udex-button
@@ -57,6 +68,15 @@ class UDExButton extends Button {
57
68
  /** @ts-expect-error */
58
69
  design: `${UDExButtonDesign}` = UDExButtonDesign.Primary;
59
70
 
71
+ /**
72
+ * Defines if button is in pseudo-disabled state.
73
+ *
74
+ * @default false
75
+ * @private
76
+ */
77
+ @property({ type: Boolean })
78
+ _ariaDisabled!: boolean;
79
+
60
80
  @i18n("@sapudex/web-components")
61
81
  static i18nBundle: I18nBundle;
62
82
 
package/src/Checkbox.ts CHANGED
@@ -74,6 +74,10 @@ class UDExCheckbox extends CheckBox {
74
74
  ResizeHandler.register(this, this._handleResizeBound);
75
75
  }
76
76
 
77
+ onAfterRendering() {
78
+ this.shadowRoot?.querySelector(".ui5-checkbox-label")?.removeAttribute("required");
79
+ }
80
+
77
81
  onExitDOM(): void {
78
82
  ResizeHandler.deregister(this, this._handleResizeBound);
79
83
  }
@@ -5,7 +5,8 @@ import Button from "@ui5/webcomponents/dist/Button.js";
5
5
  // Styles
6
6
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
7
7
  import ControlButtonCss from "./generated/themes/ControlButton.css.js";
8
- import { UDExButtonSize, UDExControlButtonDesign } from "./types/Button.js";
8
+ import UDExButtonSize from "./types/ButtonSize.js";
9
+ import UDExControlButtonDesign from "./types/ControlButtonDesign.js";
9
10
 
10
11
  /**
11
12
  * @class
@@ -267,7 +267,7 @@ class UDExCountrySelector extends UDExSearchableListBase {
267
267
 
268
268
  countryList: Country[] = CountryListDB;
269
269
  selectedCountry!: Country | undefined;
270
- _trigger!: HTMLElement;
270
+ _trigger!: UDExTextField;
271
271
 
272
272
  _dropdown!: UDExDropdown;
273
273
  _search!: Search;
@@ -314,16 +314,18 @@ class UDExCountrySelector extends UDExSearchableListBase {
314
314
  this._trigger = this.getTrigger();
315
315
  }
316
316
 
317
- getTrigger(): HTMLElement {
318
- return this.shadowRoot!.querySelector(".udex-country-selector__dropdown")!;
317
+ getTrigger(): UDExTextField {
318
+ return this.shadowRoot!.querySelector<UDExTextField>("[udex-text-field]")!;
319
319
  }
320
320
 
321
321
  _dropdownClose() {
322
322
  this.fireDecoratorEvent("close");
323
+ this._trigger.iconActive = false;
323
324
  }
324
325
 
325
326
  _dropdownOpen() {
326
327
  this.fireDecoratorEvent("open");
328
+ this._trigger.iconActive = true;
327
329
  }
328
330
 
329
331
  _dropdownBeforeOpen() {
package/src/DatePicker.ts CHANGED
@@ -28,13 +28,13 @@ export enum UDExDatePickerSelectionMode {
28
28
  Range = "Range",
29
29
  }
30
30
 
31
- type UDExDatePickerSelectionChangeEventDetail = {
31
+ export type UDExDatePickerSelectionChangeEventDetail = {
32
32
  selectedValues: Array<string>;
33
33
  selectedDates: Array<number | undefined>;
34
34
  timestamp: number | undefined;
35
35
  };
36
36
 
37
- type UDExDatePickerValueStateChangeEventDetail = {
37
+ export type UDExDatePickerValueStateChangeEventDetail = {
38
38
  valueState: `${UDExValueState}`,
39
39
  valid: boolean
40
40
  }
@@ -230,12 +230,13 @@ class UDExDatePicker extends DateComponentBase {
230
230
 
231
231
  _afterDropdownClose(): void {
232
232
  this._dropdownTrigger.active = false;
233
+ this._dropdownTrigger.iconActive = false;
233
234
  this._dropdownTrigger.shadowRoot?.querySelector("input")?.blur();
234
235
  this._tempValue = "";
235
236
  }
236
237
 
237
238
  _afterDropdownOpen(): void {
238
- this._dropdownTrigger.active = true;
239
+ this._dropdownTrigger.iconActive = true;
239
240
  }
240
241
 
241
242
  _closeRespPopover(): void {
@@ -0,0 +1,143 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
3
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
5
+ import type {
6
+ UDExEventRibbonColorSheme, UDExEventRibbonLink, UDExEventRibbonIcon, UDExEventRibbonLogo,
7
+ } from "./types/EventRibbon.js";
8
+ import { eventLogoText, UDExEventRibbonMode } from "./types/EventRibbon.js";
9
+ import "@ui5/webcomponents-icons/add-calendar.js";
10
+ import "@ui5/webcomponents-icons/media-play.js";
11
+ import EventRibbonTemplate from "./EventRibbonTemplate.js";
12
+
13
+ // Styles
14
+ import EventRibbonCss from "./generated/themes/EventRibbon.css.js";
15
+ import { isEnter, isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
16
+
17
+ /**
18
+ * @class
19
+ *
20
+ * <h3 class="comment-api-title">Overview</h3>
21
+ *
22
+ *
23
+ * <h3>Usage</h3>
24
+ *
25
+ * For the <code>udex-event-ribbon</code>
26
+ * <h3>ES6 Module Import</h3>
27
+ *
28
+ * <code>import "@sapudex/web-components/dist/EventRibbon.js";</code>
29
+ *
30
+ * @constructor
31
+ * @extends UI5Element
32
+ * @public
33
+ */
34
+ @customElement({
35
+ tag: "udex-event-ribbon",
36
+ renderer: jsxRenderer,
37
+ styles: EventRibbonCss,
38
+ template: EventRibbonTemplate,
39
+ })
40
+
41
+ class UDExEventRibbon extends UI5Element {
42
+ /**
43
+ * Defines the text of the event logo.
44
+ *
45
+ * @default ""
46
+ * @public
47
+ */
48
+ @property({ type: String })
49
+ eventLogo!: `${UDExEventRibbonLogo}`;
50
+
51
+ /**
52
+ * Defines the link details of the event ribbon.
53
+ *
54
+ * @default "{}"
55
+ * @public
56
+ */
57
+ @property({ type: String })
58
+ eventLink: string = "{}";
59
+
60
+ /**
61
+ * Defines the icon displayed next to the link.
62
+ *
63
+ * @default ""
64
+ * @public
65
+ */
66
+ @property({ type: String })
67
+ eventLinkIcon!: `${UDExEventRibbonIcon}`;
68
+
69
+ /**
70
+ * Defines the text displayed in event ribbon.
71
+ *
72
+ * @default ""
73
+ * @public
74
+ */
75
+ @property({ type: String })
76
+ eventText!: string;
77
+
78
+ /**
79
+ * Defines whether event-ribbon uses dark or light theme.
80
+ *
81
+ * @default "light"
82
+ * @public
83
+ */
84
+ @property({ type: String })
85
+ mode: `${UDExEventRibbonMode}` = UDExEventRibbonMode.light;
86
+
87
+ /**
88
+ * Defines the solid background color.
89
+ *
90
+ * @default "Blue"
91
+ * @public
92
+ */
93
+ @property({ type: String })
94
+ backgroundColorScheme!: UDExEventRibbonColorSheme;
95
+
96
+ /**
97
+ * Allows control over the background image source.
98
+ *
99
+ * @public
100
+ */
101
+ @property({ type: String })
102
+ backgroundImage?: string;
103
+
104
+ _eventLink!: UDExEventRibbonLink;
105
+
106
+ onBeforeRendering(): void {
107
+ this._eventLink = JSON.parse(this.eventLink);
108
+ }
109
+
110
+ onAfterRendering(): void {
111
+ this.applyColorScheme();
112
+ }
113
+
114
+ applyColorScheme(): void {
115
+ const backgroundColorLowercase = this.backgroundColorScheme.toLowerCase();
116
+ const backgroundColor: string = `var(--udex-event-ribbon-${this.mode}-${backgroundColorLowercase}-default-background-color)`;
117
+ const backgroundColorHover: string = `var(--udex-event-ribbon-${this.mode}-${backgroundColorLowercase}-hover-background-color)`;
118
+
119
+ this.style.setProperty("--udex-event-ribbon-background-color", backgroundColor);
120
+ this.style.setProperty("--udex-event-ribbon-hover-background-color", backgroundColorHover);
121
+
122
+ this.style.setProperty("--udex-event-ribbon-background-image", `url("${this.backgroundImage}")`);
123
+ }
124
+
125
+ handleKeyDown(e: KeyboardEvent): void {
126
+ if (isSpace(e) || isEnter(e)) {
127
+ e.preventDefault();
128
+ this.shadowRoot!.querySelector("a")?.click();
129
+ }
130
+ }
131
+
132
+ get eventLogoAlt(): string {
133
+ return eventLogoText[this.eventLogo];
134
+ }
135
+
136
+ get eventLogoPath(): string {
137
+ return `https://cdn.udex.services.sap.com/dds/design-tokens/assets/logos/event-ribbon-logo-${this.eventLogo}.svg`;
138
+ }
139
+ }
140
+
141
+ UDExEventRibbon.define();
142
+
143
+ export default UDExEventRibbon;
@@ -0,0 +1,18 @@
1
+ import Icon from "@ui5/webcomponents/dist/Icon.js";
2
+ import type UDExEventRibbon from "./EventRibbon.js";
3
+
4
+ export default function EventRibbonTemplate(this: UDExEventRibbon) {
5
+ const { text, target, url } = this._eventLink;
6
+ return (
7
+ <a onKeyDown={this.handleKeyDown} role="banner" aria-label={this.eventText} class= {{ "udex-event-ribbon__container": true, "udex-event-ribbon__container-with-background-image": this.backgroundImage }} target={target} href={url} title={text}>
8
+ <div class="udex-event-ribbon__logo">
9
+ <img src={this.eventLogoPath} alt={this.eventLogoAlt}/>
10
+ </div>
11
+ {this.eventText && <p class="udex-event-ribbon__text">{this.eventText}</p>}
12
+ <div class="udex-event-ribbon__link-container">
13
+ {this.eventLinkIcon && <Icon name={this.eventLinkIcon}></Icon>}
14
+ <span>{text}</span>
15
+ </div>
16
+ </a>
17
+ );
18
+ }
package/src/InputGroup.ts CHANGED
@@ -15,12 +15,15 @@ import {
15
15
  VALUE_STATE_ERROR,
16
16
  VALUE_STATE_SUCCESS,
17
17
  } from "./generated/i18n/i18n-defaults.js";
18
- import type UDExValueState from "./types/common.js";
19
18
 
20
19
  // Styles
21
20
  import InputGroupCss from "./generated/themes/InputGroup.css.js";
22
21
 
23
- export type UDExGroupValueState = Exclude<UDExValueState, "Warning">
22
+ export enum UDExGroupValueState {
23
+ Standard = "Standard",
24
+ Error = "Error",
25
+ Success = "Success",
26
+ }
24
27
 
25
28
  export enum UDExOrientation {
26
29
  Vertical = "Vertical",
package/src/ListItem.ts CHANGED
@@ -196,16 +196,16 @@ class UDExListItem extends UDExListItemBase {
196
196
  * @slot
197
197
  * @public
198
198
  */
199
- @slot()
200
- firstIcon!: Array<HTMLElement>;
199
+ @slot({ type: UDExButton })
200
+ firstIcon!: Array<UDExButton>;
201
201
  /**
202
202
  * Slot for second icon.
203
203
  *
204
204
  * @slot
205
205
  * @public
206
206
  */
207
- @slot()
208
- secondIcon!: Array<HTMLElement>;
207
+ @slot({ type: UDExButton })
208
+ secondIcon!: Array<UDExButton>;
209
209
 
210
210
  /**
211
211
  * Defines the role attribute of component
@@ -549,7 +549,7 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
549
549
  }
550
550
 
551
551
  get isMobile(): boolean {
552
- return BreakpointUtils.isBelow("M") || this.mastheadShell?._isMobileMode;
552
+ return BreakpointUtils.isAtMost("M") || this.mastheadShell?._isMobileMode;
553
553
  }
554
554
 
555
555
  get isTargetBlank(): boolean {
@@ -387,6 +387,12 @@ class UDExMastheadShell extends UI5Element {
387
387
  this._handleResizeBound = this._handleResize.bind(this);
388
388
  }
389
389
 
390
+ onBeforeRendering() {
391
+ if (this.isMobileMenuMode) {
392
+ this.setMobileMenuHeight();
393
+ }
394
+ }
395
+
390
396
  onAfterRendering() {
391
397
  this._rootHolder = this.mastheadHolder;
392
398
  this._searchOpener = this.searchOpener;
@@ -414,7 +420,7 @@ class UDExMastheadShell extends UI5Element {
414
420
  this.handleMobileMode();
415
421
  }
416
422
 
417
- if (this.isBreakpointSizeM) {
423
+ if (this.isAtMostBreakpointSizeM) {
418
424
  this._isSearchOpened = false;
419
425
  }
420
426
 
@@ -424,6 +430,10 @@ class UDExMastheadShell extends UI5Element {
424
430
  return;
425
431
  }
426
432
 
433
+ if (this.isMobileMenuMode) {
434
+ this.setMobileMenuHeight();
435
+ }
436
+
427
437
  this._shouldHandleResize = true;
428
438
  }
429
439
 
@@ -713,6 +723,12 @@ class UDExMastheadShell extends UI5Element {
713
723
  });
714
724
  }
715
725
 
726
+ setMobileMenuHeight(): void {
727
+ const mastheadHeight = parseInt(window.getComputedStyle(this).getPropertyValue("--udex-masthead-shell-height"));
728
+ const mobileMenuHeight = `${window.innerHeight - mastheadHeight}px`;
729
+ this.style.setProperty("--udex-masthead-shell-mobile-menu-height", mobileMenuHeight);
730
+ }
731
+
716
732
  removeMobileMode(): void {
717
733
  this._isMobileMode = false;
718
734
  this.slottedItems.forEach((item: MastheadSlottedItem) => {
@@ -735,7 +751,7 @@ class UDExMastheadShell extends UI5Element {
735
751
  */
736
752
  openSearch(): void {
737
753
  const shouldPreventOpeningSearch = this._isSearchOpened
738
- || (this.isBreakpointSizeM && !this.showSearchByDefault)
754
+ || (this.isAtMostBreakpointSizeM && !this.showSearchByDefault)
739
755
  || this._isMobileMode
740
756
  || (this.isAtLeastBreakpointSizeM && this.showSearchByDefault);
741
757
 
@@ -758,7 +774,7 @@ class UDExMastheadShell extends UI5Element {
758
774
  * @public
759
775
  */
760
776
  openMobileMenu(): void {
761
- if (!this._isMobileMenuOpen && (this._isMobileMode || this.isBreakpointSizeM)) {
777
+ if (!this._isMobileMenuOpen && this.isMobileMenuMode) {
762
778
  this.mobileBtn?.handleSelectedChange();
763
779
  this.handleOpenMobileMenu();
764
780
  }
@@ -873,7 +889,7 @@ class UDExMastheadShell extends UI5Element {
873
889
  return !!this.mobileMenu.length;
874
890
  }
875
891
 
876
- get isBreakpointSizeM(): boolean {
892
+ get isAtMostBreakpointSizeM(): boolean {
877
893
  return BreakpointUtils.isAtMost("M");
878
894
  }
879
895
 
@@ -881,6 +897,10 @@ class UDExMastheadShell extends UI5Element {
881
897
  return BreakpointUtils.isAtLeast("M");
882
898
  }
883
899
 
900
+ get isMobileMenuMode(): boolean {
901
+ return this._isMobileMode || this.isAtMostBreakpointSizeM;
902
+ }
903
+
884
904
  get isMainMenuVisible(): boolean {
885
905
  return !this.showSearchByDefault && !this._isSearchOpened;
886
906
  }
@@ -890,7 +910,7 @@ class UDExMastheadShell extends UI5Element {
890
910
  }
891
911
 
892
912
  get shouldHandleMobileView(): boolean {
893
- return !this.isBreakpointSizeM && !this.showSearchByDefault;
913
+ return !this.isAtMostBreakpointSizeM && !this.showSearchByDefault;
894
914
  }
895
915
 
896
916
  get mainNavigationAriaLabel(): string {
@@ -19,6 +19,8 @@ import MediaPlayerTemplate from "./generated/templates/MediaPlayerTemplate.lit.j
19
19
  // Styles
20
20
  import MediaPlayerCss from "./generated/themes/MediaPlayer.css.js";
21
21
 
22
+ export type YoutubePlayer = YT.Player;
23
+
22
24
  declare global {
23
25
  interface Window {
24
26
  videojs: any;
@@ -352,7 +354,7 @@ class UDExMediaPlayer extends UI5Element {
352
354
  * Returns video element
353
355
  * @public
354
356
  */
355
- getPlayer(): HTMLVideoElement | HTMLAudioElement | YT.Player | VimeoPlayer | null {
357
+ getPlayer(): HTMLVideoElement | HTMLAudioElement | YoutubePlayer | VimeoPlayer | null {
356
358
  if (this._youtubeSrc) {
357
359
  const player = this.shadowRoot?.querySelector("[udex-media-player-youtube]") as UDExMediaPlayerYoutube;
358
360
  return player?.getPlayer() || null;
@@ -3,13 +3,13 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
3
3
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
4
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
5
5
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
6
+ import type { UDExAspectRatio } from "./MediaPlayer.js";
6
7
 
7
8
  import MediaPlayerYoutubeTemplate from "./generated/templates/MediaPlayerYoutubeTemplate.lit.js";
8
9
 
9
10
  // Styles
10
11
  import MediaPlayerYoutubeCss from "./generated/themes/MediaPlayerYoutube.css.js";
11
12
  import MediaPlayerCss from "./generated/themes/MediaPlayer.css.js";
12
- import type { UDExAspectRatio } from "./MediaPlayer.js";
13
13
 
14
14
  const MATCH_NOCOOKIE = /youtube-nocookie\.com/;
15
15
  const 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\//;
@@ -22,6 +22,8 @@ const MATCH_END_QUERY = /[?&#]end=([0-9hms]+)/;
22
22
  const MATCH_START_STAMP = /(\d+)(h|m|s)/g;
23
23
  const MATCH_NUMERIC = /^\d+$/;
24
24
 
25
+ export type YoutubePlayer = YT.Player;
26
+
25
27
  declare global {
26
28
  interface Window {
27
29
  onYouTubeIframeAPIReady: () => void;
@@ -293,7 +295,7 @@ class UDExMediaPlayerYoutube extends UI5Element {
293
295
  * Returns video element
294
296
  * @public
295
297
  */
296
- getPlayer(): YT.Player | null {
298
+ getPlayer(): YoutubePlayer | null {
297
299
  return this.youtubePlayer || null;
298
300
  }
299
301
 
@@ -3,13 +3,15 @@
3
3
  <ul class="udex-pagination__list">
4
4
  <li class="udex-pagination__item--prev udex-pagination__item">
5
5
  <udex-button
6
- ?disabled="{{prevButtonDisabled}}"
6
+ aria-disabled="{{effectivePrevButtonDisabled}}"
7
+ ?_aria-disabled="{{_prevButtonPseudoDisabled}}"
7
8
  accessible-name="{{previousPageAccessibleName}}"
8
9
  tooltip="{{previousBtnTooltip}}"
9
10
  size="Large"
10
11
  icon="navigation-left-arrow"
11
12
  design="Tertiary"
12
13
  @click="{{setPrevPage}}"
14
+ @focusout="{{handlePrevFocusOut}}"
13
15
  ></udex-button>
14
16
  </li>
15
17
  {{#if typeFull}}
@@ -17,7 +19,7 @@
17
19
  <li class="udex-pagination__item">
18
20
  <a class="udex-pagination__page" href="#"
19
21
  aria-label="{{accessibleName}}"
20
- @click="{{../onPageClick}}"
22
+ @click="{{../onPageClick}}"
21
23
  ?active="{{active}}"
22
24
  aria-current="{{ariaCurrent}}"
23
25
  index="{{index}}">
@@ -35,13 +37,15 @@
35
37
  {{/if}}
36
38
  <li class="udex-pagination__item--next udex-pagination__item">
37
39
  <udex-button
38
- ?disabled="{{nextButtonDisbled}}"
40
+ aria-disabled="{{effectiveNextButtonDisabled}}"
41
+ ?_aria-disabled="{{_nextButtonPseudoDisabled}}"
39
42
  tooltip="{{nextBtnTooltip}}"
40
43
  accessible-name="{{nextPageAccessibleName}}"
41
44
  size="Large"
42
45
  icon="navigation-right-arrow"
43
46
  design="Tertiary"
44
47
  @click="{{setNextPage}}"
48
+ @focusout="{{handleNextFocusOut}}"
45
49
  ></udex-button>
46
50
  </li>
47
51
  </ul>