@sapudex/web-components 2.5.0 → 2.6.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 (533) hide show
  1. package/cypress/specs/Accordion.cy.tsx +18 -10
  2. package/cypress/specs/Divider.cy.tsx +16 -0
  3. package/cypress/support/component-imports.instrumented.ts +2 -0
  4. package/cypress/support/component-imports.src.ts +4 -2
  5. package/dist/Accordion.d.ts +6 -5
  6. package/dist/Accordion.js +21 -20
  7. package/dist/Accordion.js.map +1 -1
  8. package/dist/AccordionItem.d.ts +1 -3
  9. package/dist/AccordionItem.js +17 -19
  10. package/dist/AccordionItem.js.map +1 -1
  11. package/dist/AccordionItemTemplate.d.ts +2 -0
  12. package/dist/AccordionItemTemplate.js +14 -0
  13. package/dist/AccordionItemTemplate.js.map +1 -0
  14. package/dist/AccordionTemplate.d.ts +2 -0
  15. package/dist/AccordionTemplate.js +11 -0
  16. package/dist/AccordionTemplate.js.map +1 -0
  17. package/dist/AssetsVariables.js +5 -1
  18. package/dist/AssetsVariables.js.map +1 -1
  19. package/dist/Avatar.d.ts +2 -1
  20. package/dist/Avatar.js +7 -9
  21. package/dist/Avatar.js.map +1 -1
  22. package/dist/AvatarTemplate.d.ts +2 -0
  23. package/dist/AvatarTemplate.js +6 -0
  24. package/dist/AvatarTemplate.js.map +1 -0
  25. package/dist/Badge.d.ts +1 -2
  26. package/dist/Badge.js +6 -9
  27. package/dist/Badge.js.map +1 -1
  28. package/dist/BadgeTemplate.d.ts +2 -0
  29. package/dist/BadgeTemplate.js +8 -0
  30. package/dist/BadgeTemplate.js.map +1 -0
  31. package/dist/Carousel.d.ts +16 -4
  32. package/dist/Carousel.js +21 -11
  33. package/dist/Carousel.js.map +1 -1
  34. package/dist/CarouselTemplate.d.ts +2 -0
  35. package/dist/CarouselTemplate.js +15 -0
  36. package/dist/CarouselTemplate.js.map +1 -0
  37. package/dist/ContactItemTemplate.js +2 -1
  38. package/dist/ContactItemTemplate.js.map +1 -1
  39. package/dist/CountrySelector.d.ts +1 -1
  40. package/dist/CountrySelector.js +6 -7
  41. package/dist/CountrySelector.js.map +1 -1
  42. package/dist/Divider.d.ts +10 -2
  43. package/dist/Divider.js +11 -4
  44. package/dist/Divider.js.map +1 -1
  45. package/dist/DividerTemplate.d.ts +2 -0
  46. package/dist/DividerTemplate.js +5 -0
  47. package/dist/DividerTemplate.js.map +1 -0
  48. package/dist/Dropdown.js +2 -1
  49. package/dist/Dropdown.js.map +1 -1
  50. package/dist/FilterMenu.d.ts +0 -7
  51. package/dist/FilterMenu.js +12 -12
  52. package/dist/FilterMenu.js.map +1 -1
  53. package/dist/List.js +1 -1
  54. package/dist/List.js.map +1 -1
  55. package/dist/MastheadCountrySelector.d.ts +5 -0
  56. package/dist/MastheadCountrySelector.js +17 -2
  57. package/dist/MastheadCountrySelector.js.map +1 -1
  58. package/dist/MastheadMenu.d.ts +1 -0
  59. package/dist/MastheadMenu.js +7 -3
  60. package/dist/MastheadMenu.js.map +1 -1
  61. package/dist/MastheadMobileMenu.js +6 -3
  62. package/dist/MastheadMobileMenu.js.map +1 -1
  63. package/dist/MastheadShell.d.ts +17 -0
  64. package/dist/MastheadShell.js +53 -15
  65. package/dist/MastheadShell.js.map +1 -1
  66. package/dist/Modal.js +2 -2
  67. package/dist/Modal.js.map +1 -1
  68. package/dist/Search.js +5 -4
  69. package/dist/Search.js.map +1 -1
  70. package/dist/SearchableListBase.d.ts +24 -2
  71. package/dist/SearchableListBase.js +50 -4
  72. package/dist/SearchableListBase.js.map +1 -1
  73. package/dist/SecondaryNavigation.js +1 -1
  74. package/dist/SecondaryNavigation.js.map +1 -1
  75. package/dist/SecondaryNavigationItem.js +1 -2
  76. package/dist/SecondaryNavigationItem.js.map +1 -1
  77. package/dist/SegmentedButton.js +6 -4
  78. package/dist/SegmentedButton.js.map +1 -1
  79. package/dist/SelectBox.d.ts +0 -7
  80. package/dist/SelectBox.js +10 -13
  81. package/dist/SelectBox.js.map +1 -1
  82. package/dist/TabNavigation.d.ts +5 -0
  83. package/dist/TabNavigation.js +8 -0
  84. package/dist/TabNavigation.js.map +1 -1
  85. package/dist/Table.js +1 -1
  86. package/dist/Table.js.map +1 -1
  87. package/dist/TextArea.js +1 -1
  88. package/dist/TextArea.js.map +1 -1
  89. package/dist/assets/InputSuggestions-D_DpCFML.js +2 -0
  90. package/dist/assets/{ListItemStandardExpandableTextTemplate-ClcY2jB2.js → ListItemStandardExpandableTextTemplate-Cd1WOyFc.js} +3 -3
  91. package/dist/assets/bundle-S1uYREqT.css +1 -0
  92. package/dist/assets/bundle.esm-B9JnRRJp.js +475 -0
  93. package/dist/assets/messagebundle_en-CKeTZNW3.js +1 -0
  94. package/dist/assets/parameters-bundle.css-B168-DcZ.js +2 -0
  95. package/dist/assets/parameters-bundle.css-B4OkERQ9.js +2 -0
  96. package/dist/assets/parameters-bundle.css-D1Mp0DP7.js +2 -0
  97. package/dist/assets/parameters-bundle.css-DPQMdjrz.js +2 -0
  98. package/dist/assets/parameters-bundle.css-DW-8EaO7.js +2 -0
  99. package/dist/assets/parameters-bundle.css-DpI130zX.js +2 -0
  100. package/dist/assets/parameters-bundle.css-DsEtCihj.js +2 -0
  101. package/dist/assets/parameters-bundle.css-y5CBgtzD.js +2 -0
  102. package/dist/css/themes/CountrySelector.css +1 -1
  103. package/dist/css/themes/MastheadCountrySelector.css +1 -1
  104. package/dist/css/themes/MastheadItem.css +1 -1
  105. package/dist/css/themes/MastheadMenuItem.css +1 -1
  106. package/dist/css/themes/MastheadMobileMenu.css +1 -1
  107. package/dist/css/themes/MastheadShell.css +1 -1
  108. package/dist/css/themes/RatingIndicator.css +1 -1
  109. package/dist/css/themes/Search.css +1 -1
  110. package/dist/css/themes/SearchableList.css +1 -1
  111. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  112. package/dist/css/themes/Slider.css +1 -1
  113. package/dist/css/themes/TextArea.css +1 -1
  114. package/dist/custom-elements-internal.json +219 -41
  115. package/dist/custom-elements.json +211 -41
  116. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  117. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  118. package/dist/generated/i18n/i18n-defaults.js +2 -1
  119. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  120. package/dist/generated/json-imports/Themes-fetch.js +1 -1
  121. package/dist/generated/json-imports/Themes-fetch.js.map +1 -1
  122. package/dist/generated/json-imports/Themes-node.js +1 -1
  123. package/dist/generated/json-imports/Themes-node.js.map +1 -1
  124. package/dist/generated/json-imports/Themes.js +1 -1
  125. package/dist/generated/json-imports/Themes.js.map +1 -1
  126. package/dist/generated/json-imports/i18n-fetch.js +1 -1
  127. package/dist/generated/json-imports/i18n-fetch.js.map +1 -1
  128. package/dist/generated/json-imports/i18n-node.js +1 -1
  129. package/dist/generated/json-imports/i18n-node.js.map +1 -1
  130. package/dist/generated/json-imports/i18n.js +1 -1
  131. package/dist/generated/json-imports/i18n.js.map +1 -1
  132. package/dist/generated/templates/HeroBannerTemplate.lit.js +1 -1
  133. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  134. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +3 -3
  135. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +1 -1
  136. package/dist/generated/templates/MastheadMenuTemplate.lit.js +3 -3
  137. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  138. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +1 -1
  139. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  140. package/dist/generated/templates/MastheadShellTemplate.lit.js +1 -1
  141. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  142. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +2 -2
  143. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  144. package/dist/generated/themes/Accordion.css.js +2 -2
  145. package/dist/generated/themes/Accordion.css.js.map +1 -1
  146. package/dist/generated/themes/AccordionItem.css.js +2 -2
  147. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  148. package/dist/generated/themes/Avatar.css.js +2 -2
  149. package/dist/generated/themes/Avatar.css.js.map +1 -1
  150. package/dist/generated/themes/Badge.css.js +2 -2
  151. package/dist/generated/themes/Badge.css.js.map +1 -1
  152. package/dist/generated/themes/Breadcrumbs.css.js +2 -2
  153. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  154. package/dist/generated/themes/BreadcrumbsPopover.css.js +2 -2
  155. package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
  156. package/dist/generated/themes/Button.css.js +2 -2
  157. package/dist/generated/themes/Button.css.js.map +1 -1
  158. package/dist/generated/themes/Carousel.css.js +2 -2
  159. package/dist/generated/themes/Carousel.css.js.map +1 -1
  160. package/dist/generated/themes/Checkbox.css.js +2 -2
  161. package/dist/generated/themes/Checkbox.css.js.map +1 -1
  162. package/dist/generated/themes/Contact.css.js +2 -2
  163. package/dist/generated/themes/Contact.css.js.map +1 -1
  164. package/dist/generated/themes/ContactItem.css.js +2 -2
  165. package/dist/generated/themes/ContactItem.css.js.map +1 -1
  166. package/dist/generated/themes/ControlButton.css.js +2 -2
  167. package/dist/generated/themes/ControlButton.css.js.map +1 -1
  168. package/dist/generated/themes/CountrySelector.css.d.ts +1 -1
  169. package/dist/generated/themes/CountrySelector.css.js +3 -3
  170. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  171. package/dist/generated/themes/DatePicker.css.js +2 -2
  172. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  173. package/dist/generated/themes/DatePickerPopover.css.js +2 -2
  174. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  175. package/dist/generated/themes/Divider.css.js +2 -2
  176. package/dist/generated/themes/Divider.css.js.map +1 -1
  177. package/dist/generated/themes/Dropdown.css.js +2 -2
  178. package/dist/generated/themes/Dropdown.css.js.map +1 -1
  179. package/dist/generated/themes/EventRibbon.css.js +2 -2
  180. package/dist/generated/themes/EventRibbon.css.js.map +1 -1
  181. package/dist/generated/themes/FilterMenu.css.js +2 -2
  182. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  183. package/dist/generated/themes/Footer.css.js +2 -2
  184. package/dist/generated/themes/Footer.css.js.map +1 -1
  185. package/dist/generated/themes/HeroBanner.css.js +2 -2
  186. package/dist/generated/themes/HeroBanner.css.js.map +1 -1
  187. package/dist/generated/themes/InputGroup.css.js +2 -2
  188. package/dist/generated/themes/InputGroup.css.js.map +1 -1
  189. package/dist/generated/themes/Link.css.js +2 -2
  190. package/dist/generated/themes/Link.css.js.map +1 -1
  191. package/dist/generated/themes/List.css.js +2 -2
  192. package/dist/generated/themes/List.css.js.map +1 -1
  193. package/dist/generated/themes/ListGroupHeader.css.js +2 -2
  194. package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
  195. package/dist/generated/themes/ListItem.css.js +2 -2
  196. package/dist/generated/themes/ListItem.css.js.map +1 -1
  197. package/dist/generated/themes/MastheadCountrySelector.css.d.ts +1 -1
  198. package/dist/generated/themes/MastheadCountrySelector.css.js +3 -3
  199. package/dist/generated/themes/MastheadCountrySelector.css.js.map +1 -1
  200. package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
  201. package/dist/generated/themes/MastheadItem.css.js +3 -3
  202. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  203. package/dist/generated/themes/MastheadMenu.css.js +2 -2
  204. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  205. package/dist/generated/themes/MastheadMenuItem.css.d.ts +1 -1
  206. package/dist/generated/themes/MastheadMenuItem.css.js +3 -3
  207. package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
  208. package/dist/generated/themes/MastheadMobileMenu.css.d.ts +1 -1
  209. package/dist/generated/themes/MastheadMobileMenu.css.js +3 -3
  210. package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
  211. package/dist/generated/themes/MastheadProfileMenu.css.js +2 -2
  212. package/dist/generated/themes/MastheadProfileMenu.css.js.map +1 -1
  213. package/dist/generated/themes/MastheadShell.css.d.ts +1 -1
  214. package/dist/generated/themes/MastheadShell.css.js +3 -3
  215. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  216. package/dist/generated/themes/MediaPlayer.css.js +2 -2
  217. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  218. package/dist/generated/themes/MediaPlayerYoutube.css.js +2 -2
  219. package/dist/generated/themes/MediaPlayerYoutube.css.js.map +1 -1
  220. package/dist/generated/themes/MessageStrip.css.js +2 -2
  221. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  222. package/dist/generated/themes/Modal.css.js +2 -2
  223. package/dist/generated/themes/Modal.css.js.map +1 -1
  224. package/dist/generated/themes/Pagination.css.js +2 -2
  225. package/dist/generated/themes/Pagination.css.js.map +1 -1
  226. package/dist/generated/themes/PhoneNumberField.css.js +2 -2
  227. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  228. package/dist/generated/themes/ProgressBar.css.js +2 -2
  229. package/dist/generated/themes/ProgressBar.css.js.map +1 -1
  230. package/dist/generated/themes/Quote.css.js +2 -2
  231. package/dist/generated/themes/Quote.css.js.map +1 -1
  232. package/dist/generated/themes/RadioButton.css.js +2 -2
  233. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  234. package/dist/generated/themes/RatingBar.css.js +2 -2
  235. package/dist/generated/themes/RatingBar.css.js.map +1 -1
  236. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  237. package/dist/generated/themes/RatingIndicator.css.js +3 -3
  238. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  239. package/dist/generated/themes/Review.css.js +2 -2
  240. package/dist/generated/themes/Review.css.js.map +1 -1
  241. package/dist/generated/themes/ReviewItem.css.js +2 -2
  242. package/dist/generated/themes/ReviewItem.css.js.map +1 -1
  243. package/dist/generated/themes/Search.css.d.ts +1 -1
  244. package/dist/generated/themes/Search.css.js +3 -3
  245. package/dist/generated/themes/Search.css.js.map +1 -1
  246. package/dist/generated/themes/SearchSuggestions.css.js +2 -2
  247. package/dist/generated/themes/SearchSuggestions.css.js.map +1 -1
  248. package/dist/generated/themes/SearchableList.css.d.ts +1 -1
  249. package/dist/generated/themes/SearchableList.css.js +3 -3
  250. package/dist/generated/themes/SearchableList.css.js.map +1 -1
  251. package/dist/generated/themes/SecondaryNavigation.css.js +2 -2
  252. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  253. package/dist/generated/themes/SecondaryNavigationItem.css.js +2 -2
  254. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
  255. package/dist/generated/themes/SecondaryNavigationSubItem.css.js +2 -2
  256. package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
  257. package/dist/generated/themes/SegmentedButton.css.js +2 -2
  258. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  259. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  260. package/dist/generated/themes/SegmentedButtonItem.css.js +3 -3
  261. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  262. package/dist/generated/themes/SelectBox.css.js +2 -2
  263. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  264. package/dist/generated/themes/SideNavigation.css.js +2 -2
  265. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  266. package/dist/generated/themes/SideNavigationGroup.css.js +2 -2
  267. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  268. package/dist/generated/themes/SideNavigationItem.css.js +2 -2
  269. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  270. package/dist/generated/themes/SideNavigationMobile.css.js +2 -2
  271. package/dist/generated/themes/SideNavigationMobile.css.js.map +1 -1
  272. package/dist/generated/themes/SideNavigationMobileDropdown.css.js +2 -2
  273. package/dist/generated/themes/SideNavigationMobileDropdown.css.js.map +1 -1
  274. package/dist/generated/themes/SideNavigationSubItem.css.js +2 -2
  275. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  276. package/dist/generated/themes/Slider.css.d.ts +1 -1
  277. package/dist/generated/themes/Slider.css.js +3 -3
  278. package/dist/generated/themes/Slider.css.js.map +1 -1
  279. package/dist/generated/themes/StatusBadge.css.js +2 -2
  280. package/dist/generated/themes/StatusBadge.css.js.map +1 -1
  281. package/dist/generated/themes/StatusMessage.css.js +2 -2
  282. package/dist/generated/themes/StatusMessage.css.js.map +1 -1
  283. package/dist/generated/themes/StepInput.css.js +2 -2
  284. package/dist/generated/themes/StepInput.css.js.map +1 -1
  285. package/dist/generated/themes/Switch.css.js +2 -2
  286. package/dist/generated/themes/Switch.css.js.map +1 -1
  287. package/dist/generated/themes/TabInOverflow.css.js +2 -2
  288. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  289. package/dist/generated/themes/TabNavigation.css.js +2 -2
  290. package/dist/generated/themes/TabNavigation.css.js.map +1 -1
  291. package/dist/generated/themes/Table.css.js +2 -2
  292. package/dist/generated/themes/Table.css.js.map +1 -1
  293. package/dist/generated/themes/TableCell.css.js +2 -2
  294. package/dist/generated/themes/TableCell.css.js.map +1 -1
  295. package/dist/generated/themes/TableCellBase.css.js +2 -2
  296. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  297. package/dist/generated/themes/TableGroupRow.css.js +2 -2
  298. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  299. package/dist/generated/themes/TableHeaderCell.css.js +2 -2
  300. package/dist/generated/themes/TableHeaderCell.css.js.map +1 -1
  301. package/dist/generated/themes/TableRowBase.css.js +2 -2
  302. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  303. package/dist/generated/themes/Tag.css.js +2 -2
  304. package/dist/generated/themes/Tag.css.js.map +1 -1
  305. package/dist/generated/themes/TagGroup.css.js +2 -2
  306. package/dist/generated/themes/TagGroup.css.js.map +1 -1
  307. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  308. package/dist/generated/themes/TextArea.css.js +3 -3
  309. package/dist/generated/themes/TextArea.css.js.map +1 -1
  310. package/dist/generated/themes/TextField.css.js +2 -2
  311. package/dist/generated/themes/TextField.css.js.map +1 -1
  312. package/dist/generated/themes/Tile.css.js +2 -2
  313. package/dist/generated/themes/Tile.css.js.map +1 -1
  314. package/dist/generated/themes/Toast.css.js +2 -2
  315. package/dist/generated/themes/Toast.css.js.map +1 -1
  316. package/dist/generated/themes/Tooltip.css.js +2 -2
  317. package/dist/generated/themes/Tooltip.css.js.map +1 -1
  318. package/dist/generated/themes/TruncatedText.css.js +2 -2
  319. package/dist/generated/themes/TruncatedText.css.js.map +1 -1
  320. package/dist/generated/themes/Upload.css.js +2 -2
  321. package/dist/generated/themes/Upload.css.js.map +1 -1
  322. package/dist/generated/themes/UploadItem.css.js +2 -2
  323. package/dist/generated/themes/UploadItem.css.js.map +1 -1
  324. package/dist/generated/themes/Wizard.css.js +2 -2
  325. package/dist/generated/themes/Wizard.css.js.map +1 -1
  326. package/dist/generated/themes/WizardTab.css.js +2 -2
  327. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  328. package/dist/messagebundle.properties +3 -0
  329. package/dist/messagebundle_en.properties +1 -0
  330. package/dist/types/SearchableListBase.d.ts +5 -0
  331. package/dist/types/SearchableListBase.js +6 -0
  332. package/dist/types/SearchableListBase.js.map +1 -1
  333. package/dist/utils/getEffectiveScrollbarStyle.d.ts +4 -0
  334. package/dist/utils/getEffectiveScrollbarStyle.js +45 -0
  335. package/dist/utils/getEffectiveScrollbarStyle.js.map +1 -0
  336. package/dist/vscode.html-custom-data.json +40 -15
  337. package/dist/web-types.json +73 -27
  338. package/package.json +7 -7
  339. package/src/Accordion.ts +38 -31
  340. package/src/AccordionItem.ts +23 -27
  341. package/src/AccordionItemTemplate.tsx +54 -0
  342. package/src/AccordionTemplate.tsx +37 -0
  343. package/src/AssetsVariables.ts +5 -1
  344. package/src/Avatar.ts +9 -11
  345. package/src/AvatarTemplate.tsx +22 -0
  346. package/src/Badge.ts +8 -12
  347. package/src/BadgeTemplate.tsx +22 -0
  348. package/src/Carousel.ts +30 -24
  349. package/src/CarouselTemplate.tsx +56 -0
  350. package/src/ContactItemTemplate.tsx +2 -1
  351. package/src/CountrySelector.ts +9 -10
  352. package/src/Divider.ts +13 -5
  353. package/src/DividerTemplate.tsx +11 -0
  354. package/src/Dropdown.ts +2 -1
  355. package/src/FilterMenu.ts +15 -18
  356. package/src/HeroBanner.hbs +1 -0
  357. package/src/List.ts +1 -1
  358. package/src/MastheadCountrySelector.hbs +5 -9
  359. package/src/MastheadCountrySelector.ts +19 -0
  360. package/src/MastheadMenu.hbs +3 -3
  361. package/src/MastheadMenu.ts +10 -3
  362. package/src/MastheadMobileMenu.hbs +1 -2
  363. package/src/MastheadMobileMenu.ts +7 -3
  364. package/src/MastheadShell.hbs +29 -29
  365. package/src/MastheadShell.ts +65 -16
  366. package/src/Modal.ts +2 -2
  367. package/src/Search.hbs +1 -1
  368. package/src/Search.ts +5 -4
  369. package/src/SearchableListBase.hbs +7 -1
  370. package/src/SearchableListBase.ts +65 -9
  371. package/src/SecondaryNavigation.ts +1 -1
  372. package/src/SecondaryNavigationItem.ts +1 -2
  373. package/src/SegmentedButton.ts +7 -4
  374. package/src/SelectBox.ts +13 -19
  375. package/src/TabNavigation.ts +13 -0
  376. package/src/Table.ts +1 -1
  377. package/src/TextArea.ts +1 -1
  378. package/src/generated/i18n/i18n-defaults.ts +2 -2
  379. package/src/generated/json-imports/Themes-fetch.ts +1 -1
  380. package/src/generated/json-imports/Themes-node.ts +1 -1
  381. package/src/generated/json-imports/Themes.ts +1 -1
  382. package/src/generated/json-imports/i18n-fetch.ts +1 -1
  383. package/src/generated/json-imports/i18n-node.ts +1 -1
  384. package/src/generated/json-imports/i18n.ts +1 -1
  385. package/src/generated/templates/HeroBannerTemplate.lit.ts +1 -1
  386. package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +3 -3
  387. package/src/generated/templates/MastheadMenuTemplate.lit.ts +3 -3
  388. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +1 -1
  389. package/src/generated/templates/MastheadShellTemplate.lit.ts +1 -1
  390. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +2 -2
  391. package/src/generated/themes/Accordion.css.ts +2 -2
  392. package/src/generated/themes/AccordionItem.css.ts +2 -2
  393. package/src/generated/themes/Avatar.css.ts +2 -2
  394. package/src/generated/themes/Badge.css.ts +2 -2
  395. package/src/generated/themes/Breadcrumbs.css.ts +2 -2
  396. package/src/generated/themes/BreadcrumbsPopover.css.ts +2 -2
  397. package/src/generated/themes/Button.css.ts +2 -2
  398. package/src/generated/themes/Carousel.css.ts +2 -2
  399. package/src/generated/themes/Checkbox.css.ts +2 -2
  400. package/src/generated/themes/Contact.css.ts +2 -2
  401. package/src/generated/themes/ContactItem.css.ts +2 -2
  402. package/src/generated/themes/ControlButton.css.ts +2 -2
  403. package/src/generated/themes/CountrySelector.css.ts +3 -3
  404. package/src/generated/themes/DatePicker.css.ts +2 -2
  405. package/src/generated/themes/DatePickerPopover.css.ts +2 -2
  406. package/src/generated/themes/Divider.css.ts +2 -2
  407. package/src/generated/themes/Dropdown.css.ts +2 -2
  408. package/src/generated/themes/EventRibbon.css.ts +2 -2
  409. package/src/generated/themes/FilterMenu.css.ts +2 -2
  410. package/src/generated/themes/Footer.css.ts +2 -2
  411. package/src/generated/themes/HeroBanner.css.ts +2 -2
  412. package/src/generated/themes/InputGroup.css.ts +2 -2
  413. package/src/generated/themes/Link.css.ts +2 -2
  414. package/src/generated/themes/List.css.ts +2 -2
  415. package/src/generated/themes/ListGroupHeader.css.ts +2 -2
  416. package/src/generated/themes/ListItem.css.ts +2 -2
  417. package/src/generated/themes/MastheadCountrySelector.css.ts +3 -3
  418. package/src/generated/themes/MastheadItem.css.ts +3 -3
  419. package/src/generated/themes/MastheadMenu.css.ts +2 -2
  420. package/src/generated/themes/MastheadMenuItem.css.ts +3 -3
  421. package/src/generated/themes/MastheadMobileMenu.css.ts +3 -3
  422. package/src/generated/themes/MastheadProfileMenu.css.ts +2 -2
  423. package/src/generated/themes/MastheadShell.css.ts +3 -3
  424. package/src/generated/themes/MediaPlayer.css.ts +2 -2
  425. package/src/generated/themes/MediaPlayerYoutube.css.ts +2 -2
  426. package/src/generated/themes/MessageStrip.css.ts +2 -2
  427. package/src/generated/themes/Modal.css.ts +2 -2
  428. package/src/generated/themes/Pagination.css.ts +2 -2
  429. package/src/generated/themes/PhoneNumberField.css.ts +2 -2
  430. package/src/generated/themes/ProgressBar.css.ts +2 -2
  431. package/src/generated/themes/Quote.css.ts +2 -2
  432. package/src/generated/themes/RadioButton.css.ts +2 -2
  433. package/src/generated/themes/RatingBar.css.ts +2 -2
  434. package/src/generated/themes/RatingIndicator.css.ts +3 -3
  435. package/src/generated/themes/Review.css.ts +2 -2
  436. package/src/generated/themes/ReviewItem.css.ts +2 -2
  437. package/src/generated/themes/Search.css.ts +3 -3
  438. package/src/generated/themes/SearchSuggestions.css.ts +2 -2
  439. package/src/generated/themes/SearchableList.css.ts +3 -3
  440. package/src/generated/themes/SecondaryNavigation.css.ts +2 -2
  441. package/src/generated/themes/SecondaryNavigationItem.css.ts +2 -2
  442. package/src/generated/themes/SecondaryNavigationSubItem.css.ts +2 -2
  443. package/src/generated/themes/SegmentedButton.css.ts +2 -2
  444. package/src/generated/themes/SegmentedButtonItem.css.ts +3 -3
  445. package/src/generated/themes/SelectBox.css.ts +2 -2
  446. package/src/generated/themes/SideNavigation.css.ts +2 -2
  447. package/src/generated/themes/SideNavigationGroup.css.ts +2 -2
  448. package/src/generated/themes/SideNavigationItem.css.ts +2 -2
  449. package/src/generated/themes/SideNavigationMobile.css.ts +2 -2
  450. package/src/generated/themes/SideNavigationMobileDropdown.css.ts +2 -2
  451. package/src/generated/themes/SideNavigationSubItem.css.ts +2 -2
  452. package/src/generated/themes/Slider.css.ts +3 -3
  453. package/src/generated/themes/StatusBadge.css.ts +2 -2
  454. package/src/generated/themes/StatusMessage.css.ts +2 -2
  455. package/src/generated/themes/StepInput.css.ts +2 -2
  456. package/src/generated/themes/Switch.css.ts +2 -2
  457. package/src/generated/themes/TabInOverflow.css.ts +2 -2
  458. package/src/generated/themes/TabNavigation.css.ts +2 -2
  459. package/src/generated/themes/Table.css.ts +2 -2
  460. package/src/generated/themes/TableCell.css.ts +2 -2
  461. package/src/generated/themes/TableCellBase.css.ts +2 -2
  462. package/src/generated/themes/TableGroupRow.css.ts +2 -2
  463. package/src/generated/themes/TableHeaderCell.css.ts +2 -2
  464. package/src/generated/themes/TableRowBase.css.ts +2 -2
  465. package/src/generated/themes/Tag.css.ts +2 -2
  466. package/src/generated/themes/TagGroup.css.ts +2 -2
  467. package/src/generated/themes/TextArea.css.ts +3 -3
  468. package/src/generated/themes/TextField.css.ts +2 -2
  469. package/src/generated/themes/Tile.css.ts +2 -2
  470. package/src/generated/themes/Toast.css.ts +2 -2
  471. package/src/generated/themes/Tooltip.css.ts +2 -2
  472. package/src/generated/themes/TruncatedText.css.ts +2 -2
  473. package/src/generated/themes/Upload.css.ts +2 -2
  474. package/src/generated/themes/UploadItem.css.ts +2 -2
  475. package/src/generated/themes/Wizard.css.ts +2 -2
  476. package/src/generated/themes/WizardTab.css.ts +2 -2
  477. package/src/i18n/messagebundle.properties +3 -0
  478. package/src/i18n/messagebundle_en.properties +1 -0
  479. package/src/themes/CountrySelector.css +11 -0
  480. package/src/themes/List.css +1 -0
  481. package/src/themes/MastheadCountrySelector.css +11 -0
  482. package/src/themes/MastheadItem.css +5 -2
  483. package/src/themes/MastheadMenuItem.css +5 -0
  484. package/src/themes/MastheadMobileMenu.css +1 -0
  485. package/src/themes/MastheadShell.css +4 -4
  486. package/src/themes/Search.css +3 -1
  487. package/src/themes/SearchableList.css +15 -0
  488. package/src/themes/SegmentedButtonItem.css +2 -2
  489. package/src/themes/TextArea.css +0 -7
  490. package/src/types/SearchableListBase.ts +6 -0
  491. package/src/utils/getEffectiveScrollbarStyle.ts +48 -0
  492. package/dist/assets/InputSuggestions-RQHqFxZ9.js +0 -2
  493. package/dist/assets/bundle-C9ZlnwwH.css +0 -1
  494. package/dist/assets/bundle.esm-DGH8Pvav.js +0 -399
  495. package/dist/assets/messagebundle_en-DXEe5nWA.js +0 -1
  496. package/dist/assets/parameters-bundle.css-1GGBOW8m.js +0 -2
  497. package/dist/assets/parameters-bundle.css-A9eeRg2R.js +0 -2
  498. package/dist/assets/parameters-bundle.css-COBI_9-U.js +0 -2
  499. package/dist/assets/parameters-bundle.css-CgAoZ-Ir.js +0 -2
  500. package/dist/assets/parameters-bundle.css-DuFHHRNK.js +0 -2
  501. package/dist/assets/parameters-bundle.css-Pf68NO0T.js +0 -2
  502. package/dist/assets/parameters-bundle.css-aX_t_-9o.js +0 -2
  503. package/dist/assets/parameters-bundle.css-rNSryFKH.js +0 -2
  504. package/dist/generated/templates/AccordionItemTemplate.lit.d.ts +0 -3
  505. package/dist/generated/templates/AccordionItemTemplate.lit.js +0 -8
  506. package/dist/generated/templates/AccordionItemTemplate.lit.js.map +0 -1
  507. package/dist/generated/templates/AccordionTemplate.lit.d.ts +0 -3
  508. package/dist/generated/templates/AccordionTemplate.lit.js +0 -10
  509. package/dist/generated/templates/AccordionTemplate.lit.js.map +0 -1
  510. package/dist/generated/templates/AvatarTemplate.lit.d.ts +0 -3
  511. package/dist/generated/templates/AvatarTemplate.lit.js +0 -9
  512. package/dist/generated/templates/AvatarTemplate.lit.js.map +0 -1
  513. package/dist/generated/templates/BadgeTemplate.lit.d.ts +0 -3
  514. package/dist/generated/templates/BadgeTemplate.lit.js +0 -9
  515. package/dist/generated/templates/BadgeTemplate.lit.js.map +0 -1
  516. package/dist/generated/templates/CarouselTemplate.lit.d.ts +0 -3
  517. package/dist/generated/templates/CarouselTemplate.lit.js +0 -10
  518. package/dist/generated/templates/CarouselTemplate.lit.js.map +0 -1
  519. package/dist/generated/templates/DividerTemplate.lit.d.ts +0 -3
  520. package/dist/generated/templates/DividerTemplate.lit.js +0 -7
  521. package/dist/generated/templates/DividerTemplate.lit.js.map +0 -1
  522. package/src/Accordion.hbs +0 -25
  523. package/src/AccordionItem.hbs +0 -37
  524. package/src/Avatar.hbs +0 -19
  525. package/src/Badge.hbs +0 -16
  526. package/src/Carousel.hbs +0 -45
  527. package/src/Divider.hbs +0 -1
  528. package/src/generated/templates/AccordionItemTemplate.lit.ts +0 -12
  529. package/src/generated/templates/AccordionTemplate.lit.ts +0 -14
  530. package/src/generated/templates/AvatarTemplate.lit.ts +0 -13
  531. package/src/generated/templates/BadgeTemplate.lit.ts +0 -13
  532. package/src/generated/templates/CarouselTemplate.lit.ts +0 -14
  533. package/src/generated/templates/DividerTemplate.lit.ts +0 -11
package/src/Accordion.ts CHANGED
@@ -5,19 +5,15 @@ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
5
5
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
6
6
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
7
7
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
8
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
8
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
9
9
  import "@ui5/webcomponents-icons/dist/feeder-arrow.js";
10
- import {
11
- isEnter,
12
- isSpace,
13
- } from "@ui5/webcomponents-base/dist/Keys.js";
14
- import AccordionTemplate from "./generated/templates/AccordionTemplate.lit.js";
10
+ import { isEnter, isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
11
+ import AccordionTemplate from "./AccordionTemplate.js";
12
+ import type UDExAccordionItem from "./AccordionItem.js";
15
13
  import { COLLAPSE_ALL, EXPAND_ALL } from "./generated/i18n/i18n-defaults.js";
16
- import UDExButton from "./Button.js";
17
14
 
18
15
  // Styles
19
16
  import AccordionCss from "./generated/themes/Accordion.css.js";
20
- import type UDExAccordionItem from "./AccordionItem.js";
21
17
 
22
18
  type UDExAccordionToggleItemsEventDetail = {
23
19
  isOpen: boolean
@@ -43,10 +39,9 @@ type UDExAccordionToggleItemsEventDetail = {
43
39
  */
44
40
  @customElement({
45
41
  tag: "udex-accordion",
46
- renderer: litRender,
42
+ renderer: jsxRenderer,
47
43
  styles: AccordionCss,
48
44
  template: AccordionTemplate,
49
- dependencies: [UDExButton],
50
45
  })
51
46
 
52
47
  /**
@@ -55,30 +50,36 @@ type UDExAccordionToggleItemsEventDetail = {
55
50
  * @public
56
51
  */
57
52
  @event("toggle-items", { bubbles: true })
53
+
58
54
  class UDExAccordion extends UI5Element {
59
55
  eventDetails!: {
60
56
  "toggle-items": UDExAccordionToggleItemsEventDetail,
61
57
  };
58
+
62
59
  /**
63
60
  * Used internally to store expand/collapse button state.
64
61
  *
65
62
  * @private
66
63
  */
67
- @property({ type: Boolean, noAttribute: true }) _allExpanded!: boolean;
64
+ @property({ type: Boolean, noAttribute: true })
65
+ _allExpanded!: boolean;
66
+
68
67
  /**
69
68
  * Defines if expandAll button should be displayed.
70
69
  *
71
70
  * @default false
72
71
  * @public
73
72
  */
74
- @property({ type: Boolean }) hideExpandButton!: boolean;
73
+ @property({ type: Boolean })
74
+ hideExpandButton!: boolean;
75
75
 
76
76
  /**
77
77
  * Defines direction of the accordion component.
78
78
  *
79
79
  * @private
80
80
  */
81
- @property({ type: String }) _direction?: string;
81
+ @property({ type: String })
82
+ _direction?: string;
82
83
 
83
84
  /**
84
85
  * Defines the headline text of the accordion component.
@@ -86,7 +87,8 @@ class UDExAccordion extends UI5Element {
86
87
  * @default ""
87
88
  * @public
88
89
  */
89
- @property({ type: String }) headline!: string;
90
+ @property({ type: String })
91
+ headline!: string;
90
92
 
91
93
  /**
92
94
  * Slot for accordion items.
@@ -94,7 +96,8 @@ class UDExAccordion extends UI5Element {
94
96
  * @slot
95
97
  * @public
96
98
  */
97
- @slot({ type: HTMLElement, "default": true, individualSlots: true }) _items!: Array<UDExAccordionItem>;
99
+ @slot({ type: HTMLElement, "default": true, individualSlots: true })
100
+ _items!: Array<UDExAccordionItem>;
98
101
 
99
102
  @i18n("@sapudex/web-components")
100
103
  static i18nBundle: I18nBundle;
@@ -107,22 +110,8 @@ class UDExAccordion extends UI5Element {
107
110
  this._activeItemIndex = -1;
108
111
  }
109
112
 
110
- get toggleAllText(): string {
111
- return this._allExpanded
112
- ? UDExAccordion.i18nBundle.getText(COLLAPSE_ALL)
113
- : UDExAccordion.i18nBundle.getText(EXPAND_ALL);
114
- }
115
-
116
- get isExpanded(): boolean {
117
- return this._allExpanded;
118
- }
119
-
120
- get items(): {item: HTMLElement}[] {
121
- return this._items.map(el => {
122
- return {
123
- item: el,
124
- };
125
- });
113
+ onEnterDOM() {
114
+ this.updateAllExpandedStatus();
126
115
  }
127
116
 
128
117
  toggleAllHandler(e: Event) {
@@ -187,6 +176,24 @@ class UDExAccordion extends UI5Element {
187
176
  this._activeItemIndex = this._items?.indexOf(target) ?? -1;
188
177
  }
189
178
  }
179
+
180
+ updateAllExpandedStatus() {
181
+ this._allExpanded = this._items.every(item => item.expanded);
182
+ }
183
+
184
+ get toggleAllText(): string {
185
+ return this._allExpanded
186
+ ? UDExAccordion.i18nBundle.getText(COLLAPSE_ALL)
187
+ : UDExAccordion.i18nBundle.getText(EXPAND_ALL);
188
+ }
189
+
190
+ get items(): {item: UDExAccordionItem}[] {
191
+ return this._items.map(el => {
192
+ return {
193
+ item: el,
194
+ };
195
+ });
196
+ }
190
197
  }
191
198
 
192
199
  UDExAccordion.define();
@@ -3,14 +3,10 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
3
3
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
4
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
5
5
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
6
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
6
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
7
7
  import { isEnter, isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
8
- import Icon from "@ui5/webcomponents/dist/Icon.js";
9
- import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
10
8
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
11
- import UDExBadge from "./Badge.js";
12
-
13
- import AccordionItemTemplate from "./generated/templates/AccordionItemTemplate.lit.js";
9
+ import AccordionItemTemplate from "./AccordionItemTemplate.js";
14
10
 
15
11
  // Styles
16
12
  import AccordionItemCss from "./generated/themes/AccordionItem.css.js";
@@ -36,10 +32,9 @@ import AccordionItemCss from "./generated/themes/AccordionItem.css.js";
36
32
  */
37
33
  @customElement({
38
34
  tag: "udex-accordion-item",
39
- renderer: litRender,
35
+ renderer: jsxRenderer,
40
36
  styles: AccordionItemCss,
41
37
  template: AccordionItemTemplate,
42
- dependencies: [UDExBadge, Icon],
43
38
  })
44
39
 
45
40
  /**
@@ -48,9 +43,16 @@ import AccordionItemCss from "./generated/themes/AccordionItem.css.js";
48
43
  */
49
44
  @event("accordion-item-focus", { bubbles: true })
50
45
 
46
+ /**
47
+ * Triggered when the user clicks on an accordion item.
48
+ * @public
49
+ */
50
+ @event("accordion-item-click", { bubbles: true })
51
+
51
52
  class UDExAccordionItem extends UI5Element {
52
53
  eventDetails!: {
53
54
  "accordion-item-focus": void,
55
+ "accordion-item-click": void,
54
56
  };
55
57
  /**
56
58
  * Defines the Badge at the end of the label item.
@@ -58,7 +60,8 @@ class UDExAccordionItem extends UI5Element {
58
60
  * @default ""
59
61
  * @public
60
62
  */
61
- @property() numberBadge!: string;
63
+ @property()
64
+ numberBadge!: string;
62
65
 
63
66
  /**
64
67
  * Defines the label of the accordion item component.
@@ -66,7 +69,8 @@ class UDExAccordionItem extends UI5Element {
66
69
  * @default ""
67
70
  * @public
68
71
  */
69
- @property() label!: string;
72
+ @property()
73
+ label!: string;
70
74
 
71
75
  /**
72
76
  * Defines if the accordion item is expanded by default
@@ -74,7 +78,8 @@ class UDExAccordionItem extends UI5Element {
74
78
  * @default false
75
79
  * @public
76
80
  */
77
- @property({ type: Boolean }) expanded!: boolean;
81
+ @property({ type: Boolean })
82
+ expanded = false;
78
83
 
79
84
  /**
80
85
  * Used internally to understand the component's open or closed state.
@@ -82,14 +87,16 @@ class UDExAccordionItem extends UI5Element {
82
87
  * @default false
83
88
  * @private
84
89
  */
85
- @property({ type: Boolean, noAttribute: true }) isOpen = false;
90
+ @property({ type: Boolean, noAttribute: true })
91
+ isOpen = false;
86
92
 
87
93
  /**
88
94
  * Defines direction of the accordion item.
89
95
  *
90
96
  * @public
91
97
  */
92
- @property({ type: String }) _direction?: string;
98
+ @property({ type: String })
99
+ _direction?: string;
93
100
 
94
101
  /**
95
102
  * Slot for accordion item content.
@@ -97,7 +104,8 @@ class UDExAccordionItem extends UI5Element {
97
104
  * @slot
98
105
  * @public
99
106
  */
100
- @slot({ type: Node, "default": true }) content!: Array<Node>;
107
+ @slot({ type: Node, "default": true })
108
+ content!: Array<Node>;
101
109
 
102
110
  constructor() {
103
111
  super();
@@ -119,20 +127,8 @@ class UDExAccordionItem extends UI5Element {
119
127
 
120
128
  itemClickHandler(e: Event) {
121
129
  e.preventDefault();
122
- this.toggleItemState(e.currentTarget as HTMLElement, this.expanded);
123
- this.toggleExpanded();
124
- }
125
-
126
- toggleItemState(el: HTMLElement, isActive: boolean) {
127
- if (isActive) {
128
- el.setAttribute("aria-expanded", "false");
129
- } else {
130
- el.setAttribute("aria-expanded", "true");
131
- }
132
- }
133
-
134
- toggleExpanded(): void {
135
130
  this.expanded = !this.expanded;
131
+ this.fireDecoratorEvent("accordion-item-click");
136
132
  }
137
133
 
138
134
  focusHandler() {
@@ -0,0 +1,54 @@
1
+ import type AccordionItem from "./AccordionItem.js";
2
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
3
+ import IconMode from "@ui5/webcomponents/dist/types/IconMode.js";
4
+ import slimArrowRight from "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
5
+ import { UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTypeBadgeDesign } from "./types/BadgeDesign.js";
6
+ import UDExBadge from "./Badge.js";
7
+
8
+ export default function AccordionItemTemplate(this: AccordionItem) {
9
+ const ariaControlsId = `udex-accordion-item__${this._id}-content`;
10
+ const ariaLabelledbyId = `udex-accordion-item__${this._id}`;
11
+ const rootClass = "udex-accordion-item";
12
+
13
+ return (
14
+ <>
15
+ <button
16
+ id={ariaLabelledbyId}
17
+ aria-controls={ariaControlsId}
18
+ className={`${rootClass}__header`}
19
+ onFocusIn={this.focusHandler}
20
+ onClick={this.itemClickHandler}
21
+ onKeyDown={this.keydownHandler}
22
+ aria-expanded={this.expanded}
23
+ type="button">
24
+ <div className={`${rootClass}__icon-wrapper`}>
25
+ <UI5Icon
26
+ class={`${rootClass}__icon`}
27
+ mode={IconMode.Decorative}
28
+ name={slimArrowRight}>
29
+ </UI5Icon>
30
+ </div>
31
+ <span className={`${rootClass}__title`}>
32
+ {this.label}
33
+ {this.numberBadge &&
34
+ <UDExBadge
35
+ class={`${rootClass}__badge`}
36
+ number-design={UDExNumberBadgeDesign.Blue}
37
+ type={UDExTypeBadgeDesign.Number}
38
+ size={UDExSizeBadgeDesign.Medium}>
39
+ {this.numberBadge}
40
+ </UDExBadge>
41
+ }
42
+ </span>
43
+ </button>
44
+ <div
45
+ id={ariaControlsId}
46
+ aria-labelledby={ariaLabelledbyId}
47
+ className={`${rootClass}__content`}
48
+ onKeyDown={this.contentKeydown}
49
+ role="region">
50
+ <slot></slot>
51
+ </div>
52
+ </>
53
+ );
54
+ }
@@ -0,0 +1,37 @@
1
+ import type Accordion from "./Accordion.js";
2
+ import UDExButton from "./Button.js";
3
+ import UDExButtonSize from "./types/ButtonSize.js";
4
+ import UDExButtonDesign from "./types/ButtonDesign.js";
5
+
6
+ export default function AccordionTemplate(this: Accordion) {
7
+ const rootClass = "udex-accordion";
8
+
9
+ return (
10
+ <div
11
+ className={rootClass}
12
+ onKeyDown={this.keydownHandler}
13
+ onui5-accordion-item-click={this.updateAllExpandedStatus}
14
+ onui5-accordion-item-focus={this.itemFocusHandler}>
15
+ <div className={`${rootClass}__head`} part="head">
16
+ {this.headline &&
17
+ <h3 className={`${rootClass}__headline`}>{this.headline}</h3>
18
+ }
19
+ {!this.hideExpandButton &&
20
+ <UDExButton class={`${rootClass}__btn`}
21
+ size={UDExButtonSize.Large}
22
+ design={UDExButtonDesign.Tertiary}
23
+ onClick={this.toggleAllHandler}
24
+ onKeyDown={this.toggleKeyAllHandler}
25
+ accessibleName={this.toggleAllText}>
26
+ {this.toggleAllText}
27
+ </UDExButton>
28
+ }
29
+ </div>
30
+ <div className={`${rootClass}__content`}>
31
+ {this.items.map(itemInfo =>
32
+ <slot name={itemInfo.item._individualSlot}></slot>
33
+ )}
34
+ </div>
35
+ </div>
36
+ );
37
+ }
@@ -1,6 +1,10 @@
1
1
  import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsScope.js";
2
+ import getEffectiveScrollbarStyle from "./utils/getEffectiveScrollbarStyle.js";
2
3
 
3
- const variablesOverwrite = `:root {
4
+ const variablesOverwrite = `
5
+ ${getEffectiveScrollbarStyle()}
6
+
7
+ :root {
4
8
  /* Browser Scrollbar */
5
9
  ${getScopedVarName("--browser_scrollbar_border_radius")}: var(--udexRadiusM, 8px);
6
10
 
package/src/Avatar.ts CHANGED
@@ -1,16 +1,15 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
2
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
3
3
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
4
4
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
5
5
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
6
6
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
7
- import Avatar from "@ui5/webcomponents/dist/Avatar.js";
8
7
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
9
8
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
10
9
  import { ATTENTION_BADGE, AVATAR_TEXT, DISABLED } from "./generated/i18n/i18n-defaults.js";
11
-
10
+ import type AvatarColorScheme from "@ui5/webcomponents/dist/types/AvatarColorScheme.js";
12
11
  // Template
13
- import AvatarTemplate from "./generated/templates/AvatarTemplate.lit.js";
12
+ import AvatarTemplate from "./AvatarTemplate.js";
14
13
 
15
14
  // Styles
16
15
  import AvatarCss from "./generated/themes/Avatar.css.js";
@@ -42,18 +41,18 @@ export enum UDExAvatarSize {
42
41
  XL = "XL",
43
42
  }
44
43
 
45
- const udexToUi5ColorSchemeMap = {
44
+ const UDExToUi5ColorSchemeMap = {
46
45
  Mango: "Accent1",
47
46
  Red: "Accent2",
48
47
  Raspberry: "Accent3",
49
48
  Pink: "Accent4",
50
49
  Indigo: "Accent5",
51
50
  Blue: "Accent6",
51
+ Transparent: "Accent6",
52
+ Neutral: "Accent6",
52
53
  Teal: "Accent7",
53
54
  Green: "Accent8",
54
55
  Grey: "Accent10",
55
- Transparent: "Accent6",
56
- Neutral: "Accent6",
57
56
  };
58
57
 
59
58
  /**
@@ -75,10 +74,9 @@ const udexToUi5ColorSchemeMap = {
75
74
  */
76
75
  @customElement({
77
76
  tag: "udex-avatar",
78
- renderer: litRender,
77
+ renderer: jsxRenderer,
79
78
  styles: AvatarCss,
80
79
  template: AvatarTemplate,
81
- dependencies: [Avatar],
82
80
  })
83
81
 
84
82
  /**
@@ -233,8 +231,8 @@ class UDExAvatar extends UI5Element {
233
231
  return this.getAttribute("color-scheme") as UDExAvatarColorScheme || this.colorScheme;
234
232
  }
235
233
 
236
- get getUDExAvatarColorScheme(): string {
237
- return udexToUi5ColorSchemeMap[this.colorScheme];
234
+ get getUDExAvatarColorScheme(): AvatarColorScheme {
235
+ return UDExToUi5ColorSchemeMap[this.colorScheme] as AvatarColorScheme;
238
236
  }
239
237
 
240
238
  get imageSlot(): boolean {
@@ -0,0 +1,22 @@
1
+ import type Avatar from "./Avatar.js";
2
+ import UI5Avatar from "@ui5/webcomponents/dist/Avatar.js";
3
+
4
+ export default function AvatarTemplate(this: Avatar) {
5
+ return (
6
+ <UI5Avatar
7
+ class={this.udexAvatarClass}
8
+ accessibleName={this.avatarAccessibleName}
9
+ colorScheme={this.getUDExAvatarColorScheme}
10
+ onClick={this.handleClick}
11
+ disabled={this.disabled}
12
+ initials={this.initials}
13
+ interactive={this.interactive}
14
+ fallbackIcon={this.fallbackIcon}
15
+ icon={this.icon}
16
+ shape={this.shape}
17
+ size={this.size}>
18
+ {this.imageSlot && <slot></slot>}
19
+ {this.badgeSlot && <slot name="badge" slot="badge"></slot>}
20
+ </UI5Avatar>
21
+ );
22
+ }
package/src/Badge.ts CHANGED
@@ -2,25 +2,21 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
3
3
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
4
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
5
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
6
- import Icon from "@ui5/webcomponents/dist/Icon.js";
7
-
8
- import BadgeTemplate from "./generated/templates/BadgeTemplate.lit.js";
9
-
10
- // Styles
11
- import BadgeCss from "./generated/themes/Badge.css.js";
5
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
6
+ import BadgeTemplate from "./BadgeTemplate.js";
12
7
  import UDExIconPlacement from "./types/IconPlacement.js";
13
-
14
8
  import {
15
9
  UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTextBadgeDesign, UDExTypeBadgeDesign,
16
10
  } from "./types/BadgeDesign.js";
17
11
 
12
+ // Styles
13
+ import BadgeCss from "./generated/themes/Badge.css.js";
14
+
18
15
  /**
19
16
  * @class
20
17
  *
21
18
  * <h3 class="comment-api-title">Overview</h3>
22
19
  *
23
- *
24
20
  * <h3>Usage</h3>
25
21
  *
26
22
  * For the <code>udex-badge</code>
@@ -34,11 +30,11 @@ import {
34
30
  */
35
31
  @customElement({
36
32
  tag: "udex-badge",
37
- renderer: litRender,
33
+ renderer: jsxRenderer,
38
34
  styles: BadgeCss,
39
35
  template: BadgeTemplate,
40
- dependencies: [Icon],
41
36
  })
37
+
42
38
  class UDExBadge extends UI5Element {
43
39
  /**
44
40
  * Defines the type of the component.
@@ -61,7 +57,7 @@ class UDExBadge extends UI5Element {
61
57
  /**
62
58
  * Defines the design of text type component.
63
59
  *
64
- * @default "Info"
60
+ * @default "Information"
65
61
  * @public
66
62
  */
67
63
  @property()
@@ -0,0 +1,22 @@
1
+ import type Badge from "./Badge.js";
2
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
3
+
4
+ export default function BadgeTemplate(this: Badge) {
5
+ return (
6
+ <div className={this.badgeClasses}>
7
+ {this.startIcon &&
8
+ <UI5Icon
9
+ class="udex-badge__icon udex-badge__icon--start"
10
+ name={this.icon}>
11
+ </UI5Icon>
12
+ }
13
+ <slot></slot>
14
+ {this.endIcon &&
15
+ <UI5Icon
16
+ class="udex-badge__icon udex-badge__icon--end"
17
+ name={this.icon}>
18
+ </UI5Icon>
19
+ }
20
+ </div>
21
+ );
22
+ }
package/src/Carousel.ts CHANGED
@@ -2,38 +2,44 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
3
3
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
4
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
5
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
5
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
6
6
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
7
7
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
8
8
  import {
9
- isUp,
10
- isDown,
11
- isRight,
12
- isLeft,
9
+ isUp, isDown, isRight, isLeft,
13
10
  } from "@ui5/webcomponents-base/dist/Keys.js";
14
- import UI5Carousel from "@ui5/webcomponents/dist/Carousel.js";
15
- import {
16
- CAROUSEL_NEXT_ARROW_TEXT,
17
- CAROUSEL_PREVIOUS_ARROW_TEXT,
18
- } from "./generated/i18n/i18n-defaults.js";
19
- import "@ui5/webcomponents-icons/dist/slim-arrow-left.js";
20
- import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
11
+ import { CAROUSEL_NEXT_ARROW_TEXT, CAROUSEL_PREVIOUS_ARROW_TEXT } from "./generated/i18n/i18n-defaults.js";
21
12
  import redirectAttributes from "./utils/redirectAttributes.js";
13
+ import type UI5Carousel from "@ui5/webcomponents/dist/Carousel.js";
22
14
 
23
- import CarouselTemplate from "./generated/templates/CarouselTemplate.lit.js";
15
+ import CarouselTemplate from "./CarouselTemplate.js";
24
16
 
25
17
  // Styles
26
18
  import CarouselCss from "./generated/themes/Carousel.css.js";
27
- import UDExButton from "./Button.js";
28
19
 
29
20
  export enum UDExCarouselNavigationPosition {
30
21
  top = "top",
31
22
  bottom = "bottom",
32
23
  }
33
24
 
25
+ export enum UDExCarouselButtonDesign {
26
+ Secondary = "Secondary",
27
+ Tertiary = "Tertiary",
28
+ }
29
+
34
30
  /**
35
31
  * @class
36
32
  *
33
+ * <h3 class="comment-api-title">Overview</h3>
34
+ *
35
+ *
36
+ * <h3>Usage</h3>
37
+ *
38
+ * For the <code>udex-carousel</code>
39
+ * <h3>ES6 Module Import</h3>
40
+ *
41
+ * <code>import "@sapudex/web-components/dist/Carousel.js";</code>
42
+ *
37
43
  * @constructor
38
44
  * @extends UI5Element
39
45
  * @tagname udex-carousel
@@ -41,11 +47,11 @@ export enum UDExCarouselNavigationPosition {
41
47
  */
42
48
  @customElement({
43
49
  tag: "udex-carousel",
44
- renderer: litRender,
50
+ renderer: jsxRenderer,
45
51
  styles: CarouselCss,
46
52
  template: CarouselTemplate,
47
- dependencies: [UI5Carousel, UDExButton],
48
53
  })
54
+
49
55
  class UDExCarousel extends UI5Element {
50
56
  /**
51
57
  * Defines the position of the navigation.
@@ -100,11 +106,11 @@ class UDExCarousel extends UI5Element {
100
106
  @i18n("@sapudex/web-components")
101
107
  static i18nBundle: I18nBundle;
102
108
 
103
- get nextPageText() {
109
+ get nextPageText(): string {
104
110
  return UDExCarousel.i18nBundle.getText(CAROUSEL_NEXT_ARROW_TEXT);
105
111
  }
106
112
 
107
- get previousPageText() {
113
+ get previousPageText(): string {
108
114
  return UDExCarousel.i18nBundle.getText(CAROUSEL_PREVIOUS_ARROW_TEXT);
109
115
  }
110
116
 
@@ -114,24 +120,24 @@ class UDExCarousel extends UI5Element {
114
120
  return `${classes} udex-carousel__navigation--${this.navigationPlacement}`;
115
121
  }
116
122
 
117
- get buttonDesign() {
123
+ get buttonDesign(): UDExCarouselButtonDesign {
118
124
  return this.navigationPlacement === UDExCarouselNavigationPosition.top
119
- ? "Secondary"
120
- : "Tertiary";
125
+ ? UDExCarouselButtonDesign.Secondary
126
+ : UDExCarouselButtonDesign.Tertiary;
121
127
  }
122
128
 
123
- get showNavigationButtons() {
129
+ get showNavigationButtons(): { top: boolean; bottom: boolean } {
124
130
  return {
125
131
  top: this.navigationPlacement === UDExCarouselNavigationPosition.top,
126
132
  bottom: this.navigationPlacement === UDExCarouselNavigationPosition.bottom,
127
133
  };
128
134
  }
129
135
 
130
- get _hidePageIndicator() {
136
+ get _hidePageIndicator(): boolean {
131
137
  return this.navigationPlacement === UDExCarouselNavigationPosition.top;
132
138
  }
133
139
 
134
- get _carousel() {
140
+ get _carousel(): UI5Carousel | null {
135
141
  return this.shadowRoot!.querySelector<UI5Carousel>("[ui5-carousel]");
136
142
  }
137
143