@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
@@ -2,19 +2,19 @@ import { UDExAccordion, UDExAccordionItem } from "../support/component-imports.j
2
2
 
3
3
  const defaultAccordion = <UDExAccordion headline="Test headline" id="accordionComponent">
4
4
  <UDExAccordionItem label="Some label for item 1" numberBadge="72">
5
- <div>some content<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet aperiam aut eum ipsum natus necessitatibus neque officiis repellendus totam voluptatum!</p></div>
5
+ <div>some content<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet aperiam aut eum ipsum natus necessitatibus neque officiis repellendus totam voluptatum!</p></div>
6
6
  </UDExAccordionItem>
7
7
  <UDExAccordionItem label="Some label for item 2" numberBadge="72">
8
- <div>some content<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet aperiam aut eum ipsum natus necessitatibus neque officiis repellendus totam voluptatum!</p></div>
8
+ <div>some content<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet aperiam aut eum ipsum natus necessitatibus neque officiis repellendus totam voluptatum!</p></div>
9
9
  </UDExAccordionItem>
10
- <UDExAccordionItem label="Some label for item 3" numberBadge="72">
11
- <div>some content<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet aperiam aut eum ipsum natus necessitatibus neque officiis repellendus totam voluptatum!</p></div>
10
+ <UDExAccordionItem label="Some label for item 3" numberBadge="72">
11
+ <div>some content<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet aperiam aut eum ipsum natus necessitatibus neque officiis repellendus totam voluptatum!</p></div>
12
12
  </UDExAccordionItem>
13
- <UDExAccordionItem label="Some label for item 4" numberBadge="72">
14
- <div>some content<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet aperiam aut eum ipsum natus necessitatibus neque officiis repellendus totam voluptatum!</p></div>
13
+ <UDExAccordionItem label="Some label for item 4" numberBadge="72">
14
+ <div>some content<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet aperiam aut eum ipsum natus necessitatibus neque officiis repellendus totam voluptatum!</p></div>
15
15
  </UDExAccordionItem>
16
- <UDExAccordionItem label="Some label for item 5" numberBadge="72">
17
- <div>some content<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet aperiam aut eum ipsum natus necessitatibus neque officiis repellendus totam voluptatum!</p></div>
16
+ <UDExAccordionItem label="Some label for item 5" numberBadge="72">
17
+ <div>some content<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet aperiam aut eum ipsum natus necessitatibus neque officiis repellendus totam voluptatum!</p></div>
18
18
  </UDExAccordionItem>
19
19
  </UDExAccordion>
20
20
 
@@ -44,7 +44,7 @@ describe("Accordion", () => {
44
44
  cy.get("[udex-accordion]").find("udex-accordion-item").should("have.length", 5);
45
45
  });
46
46
 
47
- it("clicking on expand all btn shows hidden ", () => {
47
+ it("clicking on expand all btn shows hidden", () => {
48
48
  cy.get("[udex-accordion]").shadow().find(".udex-accordion__btn").click()
49
49
 
50
50
  const accordionItems = cy.get("[udex-accordion]").find("udex-accordion-item")
@@ -53,6 +53,14 @@ describe("Accordion", () => {
53
53
  })
54
54
  });
55
55
 
56
+ it("clicking on all items change Expanded to Collapse state", () => {
57
+ const accordionItems = cy.get("[udex-accordion]").find("udex-accordion-item")
58
+ accordionItems.each($item => {
59
+ cy.wrap($item).shadow().find(".udex-accordion-item__header").click()
60
+ })
61
+ cy.get("[udex-accordion]").shadow().find(".udex-accordion__btn").should("have.text", "Collapse All")
62
+ });
63
+
56
64
  it("clicking on collapse all btn hides accordion content", () => {
57
65
  cy.get("[udex-accordion]").shadow().find(".udex-accordion__btn").click().click()
58
66
 
@@ -162,4 +170,4 @@ describe("Accordion - simplified", () => {
162
170
  it("hide expand all button", () => {
163
171
  cy.get("[udex-accordion]").shadow().find(".udex-accordion__btn").should("not.exist");
164
172
  });
165
- });
173
+ });
@@ -0,0 +1,16 @@
1
+ import { UDExDivider } from "../support/component-imports.js";
2
+
3
+ const simpleDivider = <UDExDivider></UDExDivider>
4
+ const roleDivider = <UDExDivider accessible-role="block"></UDExDivider>
5
+
6
+ describe("Divider", () => {
7
+ it("renders simple divider", () => {
8
+ cy.mount(simpleDivider)
9
+ cy.get("[udex-divider]").shadow().find(".udex-divider-wrapper").should("be.visible")
10
+ });
11
+
12
+ it("renders divider with role", () => {
13
+ cy.mount(roleDivider)
14
+ cy.get("[udex-divider]").shadow().find(".udex-divider-wrapper").should("have.prop", "role", "block")
15
+ });
16
+ });
@@ -44,6 +44,7 @@ import UDExSelectBoxItem from "../../instrumented/SelectBoxItem.js";
44
44
  import UDExContact from "../../instrumented/Contact.js";
45
45
  import UDExContactItem from "../../instrumented/ContactItem.js";
46
46
  import UDExEventRibbon from "../../instrumented/EventRibbon.js";
47
+ import UDExDivider from "../../instrumented/Divider.js";
47
48
 
48
49
  export {
49
50
  UDExAccordion,
@@ -92,4 +93,5 @@ export {
92
93
  UDExUploadItem,
93
94
  UDExWizard,
94
95
  UDExWizardStep,
96
+ UDExDivider,
95
97
  };
@@ -41,9 +41,10 @@ import UDExRatingIndicator from "../../src/RatingIndicator.js";
41
41
  import UDExSelectBoxSelectAll from "../../src/SelectBoxSelectAll.js";
42
42
  import UDExSelectBoxGroupHeader from "../../src/SelectBoxGroupHeader.js";
43
43
  import UDExSelectBoxItem from "../../src/SelectBoxItem.js";
44
- import UDExContact from "../../instrumented/Contact.js";
45
- import UDExContactItem from "../../instrumented/ContactItem.js";
44
+ import UDExContact from "../../src/Contact.js";
45
+ import UDExContactItem from "../../src/ContactItem.js";
46
46
  import UDExEventRibbon from "../../src/EventRibbon.js";
47
+ import UDExDivider from "../../src/Divider.js";
47
48
 
48
49
  export {
49
50
  UDExAccordion,
@@ -92,4 +93,5 @@ export {
92
93
  UDExUploadItem,
93
94
  UDExWizard,
94
95
  UDExWizardStep,
96
+ UDExDivider
95
97
  };
@@ -64,15 +64,16 @@ declare class UDExAccordion extends UI5Element {
64
64
  static i18nBundle: I18nBundle;
65
65
  _activeItemIndex: number;
66
66
  constructor();
67
- get toggleAllText(): string;
68
- get isExpanded(): boolean;
69
- get items(): {
70
- item: HTMLElement;
71
- }[];
67
+ onEnterDOM(): void;
72
68
  toggleAllHandler(e: Event): void;
73
69
  toggleOpenItems(isOpen: boolean): void;
74
70
  toggleKeyAllHandler(e: KeyboardEvent): void;
75
71
  keydownHandler(e: KeyboardEvent): void;
76
72
  itemFocusHandler(e: CustomEvent): void;
73
+ updateAllExpandedStatus(): void;
74
+ get toggleAllText(): string;
75
+ get items(): {
76
+ item: UDExAccordionItem;
77
+ }[];
77
78
  }
78
79
  export default UDExAccordion;
package/dist/Accordion.js CHANGED
@@ -11,12 +11,11 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
11
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
12
12
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
13
13
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
14
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
14
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
15
15
  import "@ui5/webcomponents-icons/dist/feeder-arrow.js";
16
- import { isEnter, isSpace, } from "@ui5/webcomponents-base/dist/Keys.js";
17
- import AccordionTemplate from "./generated/templates/AccordionTemplate.lit.js";
16
+ import { isEnter, isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
17
+ import AccordionTemplate from "./AccordionTemplate.js";
18
18
  import { COLLAPSE_ALL, EXPAND_ALL } from "./generated/i18n/i18n-defaults.js";
19
- import UDExButton from "./Button.js";
20
19
  // Styles
21
20
  import AccordionCss from "./generated/themes/Accordion.css.js";
22
21
  /**
@@ -44,20 +43,8 @@ let UDExAccordion = UDExAccordion_1 = class UDExAccordion extends UI5Element {
44
43
  this._allExpanded = false;
45
44
  this._activeItemIndex = -1;
46
45
  }
47
- get toggleAllText() {
48
- return this._allExpanded
49
- ? UDExAccordion_1.i18nBundle.getText(COLLAPSE_ALL)
50
- : UDExAccordion_1.i18nBundle.getText(EXPAND_ALL);
51
- }
52
- get isExpanded() {
53
- return this._allExpanded;
54
- }
55
- get items() {
56
- return this._items.map(el => {
57
- return {
58
- item: el,
59
- };
60
- });
46
+ onEnterDOM() {
47
+ this.updateAllExpandedStatus();
61
48
  }
62
49
  toggleAllHandler(e) {
63
50
  e.preventDefault();
@@ -118,6 +105,21 @@ let UDExAccordion = UDExAccordion_1 = class UDExAccordion extends UI5Element {
118
105
  this._activeItemIndex = this._items?.indexOf(target) ?? -1;
119
106
  }
120
107
  }
108
+ updateAllExpandedStatus() {
109
+ this._allExpanded = this._items.every(item => item.expanded);
110
+ }
111
+ get toggleAllText() {
112
+ return this._allExpanded
113
+ ? UDExAccordion_1.i18nBundle.getText(COLLAPSE_ALL)
114
+ : UDExAccordion_1.i18nBundle.getText(EXPAND_ALL);
115
+ }
116
+ get items() {
117
+ return this._items.map(el => {
118
+ return {
119
+ item: el,
120
+ };
121
+ });
122
+ }
121
123
  };
122
124
  __decorate([
123
125
  property({ type: Boolean, noAttribute: true })
@@ -140,10 +142,9 @@ __decorate([
140
142
  UDExAccordion = UDExAccordion_1 = __decorate([
141
143
  customElement({
142
144
  tag: "udex-accordion",
143
- renderer: litRender,
145
+ renderer: jsxRenderer,
144
146
  styles: AccordionCss,
145
147
  template: AccordionTemplate,
146
- dependencies: [UDExButton],
147
148
  })
148
149
  /**
149
150
  * Triggered when the user clicks on the Expand/Collapse All button..
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../src/Accordion.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport \"@ui5/webcomponents-icons/dist/feeder-arrow.js\";\nimport {\n isEnter,\n isSpace,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport AccordionTemplate from \"./generated/templates/AccordionTemplate.lit.js\";\nimport { COLLAPSE_ALL, EXPAND_ALL } from \"./generated/i18n/i18n-defaults.js\";\nimport UDExButton from \"./Button.js\";\n\n// Styles\nimport AccordionCss from \"./generated/themes/Accordion.css.js\";\nimport type UDExAccordionItem from \"./AccordionItem.js\";\n\ntype UDExAccordionToggleItemsEventDetail = {\n isOpen: boolean\n}\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-accordion</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Accordion.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-accordion\n * @public\n */\n@customElement({\n tag: \"udex-accordion\",\n renderer: litRender,\n styles: AccordionCss,\n template: AccordionTemplate,\n dependencies: [UDExButton],\n})\n\n/**\n * Triggered when the user clicks on the Expand/Collapse All button..\n *\n * @public\n */\n@event(\"toggle-items\", { bubbles: true })\nclass UDExAccordion extends UI5Element {\n eventDetails!: {\n \"toggle-items\": UDExAccordionToggleItemsEventDetail,\n };\n /**\n * Used internally to store expand/collapse button state.\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true }) _allExpanded!: boolean;\n /**\n * Defines if expandAll button should be displayed.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean }) hideExpandButton!: boolean;\n\n /**\n * Defines direction of the accordion component.\n *\n * @private\n */\n @property({ type: String }) _direction?: string;\n\n /**\n * Defines the headline text of the accordion component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String }) headline!: string;\n\n /**\n * Slot for accordion items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, individualSlots: true }) _items!: Array<UDExAccordionItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _activeItemIndex: number;\n\n constructor() {\n super();\n this._allExpanded = false;\n this._activeItemIndex = -1;\n }\n\n get toggleAllText(): string {\n return this._allExpanded\n ? UDExAccordion.i18nBundle.getText(COLLAPSE_ALL)\n : UDExAccordion.i18nBundle.getText(EXPAND_ALL);\n }\n\n get isExpanded(): boolean {\n return this._allExpanded;\n }\n\n get items(): {item: HTMLElement}[] {\n return this._items.map(el => {\n return {\n item: el,\n };\n });\n }\n\n toggleAllHandler(e: Event) {\n e.preventDefault();\n this._allExpanded = !this._allExpanded;\n this.toggleOpenItems(this._allExpanded);\n this.fireDecoratorEvent(\"toggle-items\", { isOpen: this._allExpanded });\n }\n\n toggleOpenItems(isOpen: boolean) {\n this._items.forEach(item => {\n item.expanded = isOpen;\n });\n }\n\n toggleKeyAllHandler(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n this.toggleAllHandler(e);\n }\n }\n\n keydownHandler(e: KeyboardEvent) {\n if (e.key !== \"Tab\") {\n e.preventDefault();\n }\n const len = this._items.length;\n const focusOnItem = (itemIndex: number) => {\n const item = this._items[itemIndex];\n this._activeItemIndex = itemIndex;\n (item?.shadowRoot?.querySelector(\".udex-accordion-item__header\") as HTMLElement)?.focus();\n };\n\n switch (e.key) {\n case \"Home\":\n focusOnItem(0);\n break;\n case \"End\":\n focusOnItem(len - 1);\n break;\n case \"ArrowUp\":\n if (this._activeItemIndex > 0) {\n focusOnItem(this._activeItemIndex - 1);\n } else if (this._activeItemIndex === 0) {\n focusOnItem(len - 1);\n }\n break;\n case \"ArrowDown\":\n if (this._activeItemIndex < len - 1) {\n focusOnItem(this._activeItemIndex + 1);\n } else if (this._activeItemIndex === len - 1) {\n focusOnItem(0);\n }\n break;\n default:\n break;\n }\n }\n\n itemFocusHandler(e: CustomEvent) {\n const target = e.target as UDExAccordionItem;\n if (target) {\n this._activeItemIndex = this._items?.indexOf(target) ?? -1;\n }\n }\n}\n\nUDExAccordion.define();\n\nexport default UDExAccordion;\n"]}
1
+ {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../src/Accordion.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport \"@ui5/webcomponents-icons/dist/feeder-arrow.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport AccordionTemplate from \"./AccordionTemplate.js\";\nimport type UDExAccordionItem from \"./AccordionItem.js\";\nimport { COLLAPSE_ALL, EXPAND_ALL } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport AccordionCss from \"./generated/themes/Accordion.css.js\";\n\ntype UDExAccordionToggleItemsEventDetail = {\n isOpen: boolean\n}\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-accordion</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Accordion.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-accordion\n * @public\n */\n@customElement({\n tag: \"udex-accordion\",\n renderer: jsxRenderer,\n styles: AccordionCss,\n template: AccordionTemplate,\n})\n\n/**\n * Triggered when the user clicks on the Expand/Collapse All button..\n *\n * @public\n */\n@event(\"toggle-items\", { bubbles: true })\n\nclass UDExAccordion extends UI5Element {\n eventDetails!: {\n \"toggle-items\": UDExAccordionToggleItemsEventDetail,\n };\n\n /**\n * Used internally to store expand/collapse button state.\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _allExpanded!: boolean;\n\n /**\n * Defines if expandAll button should be displayed.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n hideExpandButton!: boolean;\n\n /**\n * Defines direction of the accordion component.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n /**\n * Defines the headline text of the accordion component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n headline!: string;\n\n /**\n * Slot for accordion items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, individualSlots: true })\n _items!: Array<UDExAccordionItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _activeItemIndex: number;\n\n constructor() {\n super();\n this._allExpanded = false;\n this._activeItemIndex = -1;\n }\n\n onEnterDOM() {\n this.updateAllExpandedStatus();\n }\n\n toggleAllHandler(e: Event) {\n e.preventDefault();\n this._allExpanded = !this._allExpanded;\n this.toggleOpenItems(this._allExpanded);\n this.fireDecoratorEvent(\"toggle-items\", { isOpen: this._allExpanded });\n }\n\n toggleOpenItems(isOpen: boolean) {\n this._items.forEach(item => {\n item.expanded = isOpen;\n });\n }\n\n toggleKeyAllHandler(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n this.toggleAllHandler(e);\n }\n }\n\n keydownHandler(e: KeyboardEvent) {\n if (e.key !== \"Tab\") {\n e.preventDefault();\n }\n const len = this._items.length;\n const focusOnItem = (itemIndex: number) => {\n const item = this._items[itemIndex];\n this._activeItemIndex = itemIndex;\n (item?.shadowRoot?.querySelector(\".udex-accordion-item__header\") as HTMLElement)?.focus();\n };\n\n switch (e.key) {\n case \"Home\":\n focusOnItem(0);\n break;\n case \"End\":\n focusOnItem(len - 1);\n break;\n case \"ArrowUp\":\n if (this._activeItemIndex > 0) {\n focusOnItem(this._activeItemIndex - 1);\n } else if (this._activeItemIndex === 0) {\n focusOnItem(len - 1);\n }\n break;\n case \"ArrowDown\":\n if (this._activeItemIndex < len - 1) {\n focusOnItem(this._activeItemIndex + 1);\n } else if (this._activeItemIndex === len - 1) {\n focusOnItem(0);\n }\n break;\n default:\n break;\n }\n }\n\n itemFocusHandler(e: CustomEvent) {\n const target = e.target as UDExAccordionItem;\n if (target) {\n this._activeItemIndex = this._items?.indexOf(target) ?? -1;\n }\n }\n\n updateAllExpandedStatus() {\n this._allExpanded = this._items.every(item => item.expanded);\n }\n\n get toggleAllText(): string {\n return this._allExpanded\n ? UDExAccordion.i18nBundle.getText(COLLAPSE_ALL)\n : UDExAccordion.i18nBundle.getText(EXPAND_ALL);\n }\n\n get items(): {item: UDExAccordionItem}[] {\n return this._items.map(el => {\n return {\n item: el,\n };\n });\n }\n}\n\nUDExAccordion.define();\n\nexport default UDExAccordion;\n"]}
@@ -1,5 +1,4 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
- import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
3
2
  /**
4
3
  * @class
5
4
  *
@@ -22,6 +21,7 @@ import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
22
21
  declare class UDExAccordionItem extends UI5Element {
23
22
  eventDetails: {
24
23
  "accordion-item-focus": void;
24
+ "accordion-item-click": void;
25
25
  };
26
26
  /**
27
27
  * Defines the Badge at the end of the label item.
@@ -69,8 +69,6 @@ declare class UDExAccordionItem extends UI5Element {
69
69
  onEnterDOM(): void;
70
70
  contentKeydown(e: KeyboardEvent): void;
71
71
  itemClickHandler(e: Event): void;
72
- toggleItemState(el: HTMLElement, isActive: boolean): void;
73
- toggleExpanded(): void;
74
72
  focusHandler(): void;
75
73
  keydownHandler(e: KeyboardEvent): void;
76
74
  handleDirection(): void;
@@ -9,13 +9,10 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
9
9
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
10
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
11
11
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
12
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
12
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
13
13
  import { isEnter, isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
14
- import Icon from "@ui5/webcomponents/dist/Icon.js";
15
- import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
16
14
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
17
- import UDExBadge from "./Badge.js";
18
- import AccordionItemTemplate from "./generated/templates/AccordionItemTemplate.lit.js";
15
+ import AccordionItemTemplate from "./AccordionItemTemplate.js";
19
16
  // Styles
20
17
  import AccordionItemCss from "./generated/themes/AccordionItem.css.js";
21
18
  /**
@@ -40,6 +37,13 @@ import AccordionItemCss from "./generated/themes/AccordionItem.css.js";
40
37
  let UDExAccordionItem = class UDExAccordionItem extends UI5Element {
41
38
  constructor() {
42
39
  super();
40
+ /**
41
+ * Defines if the accordion item is expanded by default
42
+ *
43
+ * @default false
44
+ * @public
45
+ */
46
+ this.expanded = false;
43
47
  /**
44
48
  * Used internally to understand the component's open or closed state.
45
49
  *
@@ -61,19 +65,8 @@ let UDExAccordionItem = class UDExAccordionItem extends UI5Element {
61
65
  }
62
66
  itemClickHandler(e) {
63
67
  e.preventDefault();
64
- this.toggleItemState(e.currentTarget, this.expanded);
65
- this.toggleExpanded();
66
- }
67
- toggleItemState(el, isActive) {
68
- if (isActive) {
69
- el.setAttribute("aria-expanded", "false");
70
- }
71
- else {
72
- el.setAttribute("aria-expanded", "true");
73
- }
74
- }
75
- toggleExpanded() {
76
68
  this.expanded = !this.expanded;
69
+ this.fireDecoratorEvent("accordion-item-click");
77
70
  }
78
71
  focusHandler() {
79
72
  this.fireDecoratorEvent("accordion-item-focus");
@@ -116,10 +109,9 @@ __decorate([
116
109
  UDExAccordionItem = __decorate([
117
110
  customElement({
118
111
  tag: "udex-accordion-item",
119
- renderer: litRender,
112
+ renderer: jsxRenderer,
120
113
  styles: AccordionItemCss,
121
114
  template: AccordionItemTemplate,
122
- dependencies: [UDExBadge, Icon],
123
115
  })
124
116
  /**
125
117
  * Triggered when the user focuses on an accordion item.
@@ -127,6 +119,12 @@ UDExAccordionItem = __decorate([
127
119
  */
128
120
  ,
129
121
  event("accordion-item-focus", { bubbles: true })
122
+ /**
123
+ * Triggered when the user clicks on an accordion item.
124
+ * @public
125
+ */
126
+ ,
127
+ event("accordion-item-click", { bubbles: true })
130
128
  ], UDExAccordionItem);
131
129
  UDExAccordionItem.define();
132
130
  export default UDExAccordionItem;
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../src/AccordionItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport UDExBadge from \"./Badge.js\";\n\nimport AccordionItemTemplate from \"./generated/templates/AccordionItemTemplate.lit.js\";\n\n// Styles\nimport AccordionItemCss from \"./generated/themes/AccordionItem.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-accordion-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/AccordionItem.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-accordion-item\n * @public\n */\n@customElement({\n tag: \"udex-accordion-item\",\n renderer: litRender,\n styles: AccordionItemCss,\n template: AccordionItemTemplate,\n dependencies: [UDExBadge, Icon],\n})\n\n/**\n * Triggered when the user focuses on an accordion item.\n * @public\n */\n@event(\"accordion-item-focus\", { bubbles: true })\n\nclass UDExAccordionItem extends UI5Element {\n eventDetails!: {\n \"accordion-item-focus\": void,\n };\n /**\n * Defines the Badge at the end of the label item.\n *\n * @default \"\"\n * @public\n */\n @property() numberBadge!: string;\n\n /**\n * Defines the label of the accordion item component.\n *\n * @default \"\"\n * @public\n */\n @property() label!: string;\n\n /**\n * Defines if the accordion item is expanded by default\n *\n * @default false\n * @public\n */\n @property({ type: Boolean }) expanded!: boolean;\n\n /**\n * Used internally to understand the component's open or closed state.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true }) isOpen = false;\n\n /**\n * Defines direction of the accordion item.\n *\n * @public\n */\n @property({ type: String }) _direction?: string;\n\n /**\n * Slot for accordion item content.\n *\n * @slot\n * @public\n */\n @slot({ type: Node, \"default\": true }) content!: Array<Node>;\n\n constructor() {\n super();\n }\n\n onAfterRendering() {\n this.handleDirection();\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n contentKeydown(e: KeyboardEvent) {\n e.stopPropagation();\n }\n\n itemClickHandler(e: Event) {\n e.preventDefault();\n this.toggleItemState(e.currentTarget as HTMLElement, this.expanded);\n this.toggleExpanded();\n }\n\n toggleItemState(el: HTMLElement, isActive: boolean) {\n if (isActive) {\n el.setAttribute(\"aria-expanded\", \"false\");\n } else {\n el.setAttribute(\"aria-expanded\", \"true\");\n }\n }\n\n toggleExpanded(): void {\n this.expanded = !this.expanded;\n }\n\n focusHandler() {\n this.fireDecoratorEvent(\"accordion-item-focus\");\n }\n\n keydownHandler(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n this.itemClickHandler(e);\n }\n }\n\n handleDirection() {\n const directionStyles: string = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n}\n\nUDExAccordionItem.define();\n\nexport default UDExAccordionItem;\n"]}
1
+ {"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../src/AccordionItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport AccordionItemTemplate from \"./AccordionItemTemplate.js\";\n\n// Styles\nimport AccordionItemCss from \"./generated/themes/AccordionItem.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-accordion-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/AccordionItem.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-accordion-item\n * @public\n */\n@customElement({\n tag: \"udex-accordion-item\",\n renderer: jsxRenderer,\n styles: AccordionItemCss,\n template: AccordionItemTemplate,\n})\n\n/**\n * Triggered when the user focuses on an accordion item.\n * @public\n */\n@event(\"accordion-item-focus\", { bubbles: true })\n\n/**\n * Triggered when the user clicks on an accordion item.\n * @public\n */\n@event(\"accordion-item-click\", { bubbles: true })\n\nclass UDExAccordionItem extends UI5Element {\n eventDetails!: {\n \"accordion-item-focus\": void,\n \"accordion-item-click\": void,\n };\n /**\n * Defines the Badge at the end of the label item.\n *\n * @default \"\"\n * @public\n */\n @property()\n numberBadge!: string;\n\n /**\n * Defines the label of the accordion item component.\n *\n * @default \"\"\n * @public\n */\n @property()\n label!: string;\n\n /**\n * Defines if the accordion item is expanded by default\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n expanded = false;\n\n /**\n * Used internally to understand the component's open or closed state.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n isOpen = false;\n\n /**\n * Defines direction of the accordion item.\n *\n * @public\n */\n @property({ type: String })\n _direction?: string;\n\n /**\n * Slot for accordion item content.\n *\n * @slot\n * @public\n */\n @slot({ type: Node, \"default\": true })\n content!: Array<Node>;\n\n constructor() {\n super();\n }\n\n onAfterRendering() {\n this.handleDirection();\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n contentKeydown(e: KeyboardEvent) {\n e.stopPropagation();\n }\n\n itemClickHandler(e: Event) {\n e.preventDefault();\n this.expanded = !this.expanded;\n this.fireDecoratorEvent(\"accordion-item-click\");\n }\n\n focusHandler() {\n this.fireDecoratorEvent(\"accordion-item-focus\");\n }\n\n keydownHandler(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n this.itemClickHandler(e);\n }\n }\n\n handleDirection() {\n const directionStyles: string = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n}\n\nUDExAccordionItem.define();\n\nexport default UDExAccordionItem;\n"]}
@@ -0,0 +1,2 @@
1
+ import type AccordionItem from "./AccordionItem.js";
2
+ export default function AccordionItemTemplate(this: AccordionItem): import("@ui5/webcomponents-base").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
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
+ export default function AccordionItemTemplate() {
8
+ const ariaControlsId = `udex-accordion-item__${this._id}-content`;
9
+ const ariaLabelledbyId = `udex-accordion-item__${this._id}`;
10
+ const rootClass = "udex-accordion-item";
11
+ return (_jsxs(_Fragment, { children: [_jsxs("button", { id: ariaLabelledbyId, "aria-controls": ariaControlsId, className: `${rootClass}__header`, onFocusIn: this.focusHandler, onClick: this.itemClickHandler, onKeyDown: this.keydownHandler, "aria-expanded": this.expanded, type: "button", children: [_jsx("div", { className: `${rootClass}__icon-wrapper`, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, mode: IconMode.Decorative, name: slimArrowRight }) }), _jsxs("span", { className: `${rootClass}__title`, children: [this.label, this.numberBadge &&
12
+ _jsx(UDExBadge, { class: `${rootClass}__badge`, "number-design": UDExNumberBadgeDesign.Blue, type: UDExTypeBadgeDesign.Number, size: UDExSizeBadgeDesign.Medium, children: this.numberBadge })] })] }), _jsx("div", { id: ariaControlsId, "aria-labelledby": ariaLabelledbyId, className: `${rootClass}__content`, onKeyDown: this.contentKeydown, role: "region", children: _jsx("slot", {}) })] }));
13
+ }
14
+ //# sourceMappingURL=AccordionItemTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionItemTemplate.js","sourceRoot":"","sources":["../src/AccordionItemTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,QAAQ,MAAM,2CAA2C,CAAC;AACjE,OAAO,cAAc,MAAM,mDAAmD,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC3C,MAAM,cAAc,GAAG,wBAAwB,IAAI,CAAC,GAAG,UAAU,CAAC;IAClE,MAAM,gBAAgB,GAAG,wBAAwB,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5D,MAAM,SAAS,GAAG,qBAAqB,CAAC;IAExC,OAAO,CACL,8BACE,kBACE,EAAE,EAAE,gBAAgB,mBACL,cAAc,EAC7B,SAAS,EAAE,GAAG,SAAS,UAAU,EACjC,SAAS,EAAE,IAAI,CAAC,YAAY,EAC5B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,SAAS,EAAE,IAAI,CAAC,cAAc,mBACf,IAAI,CAAC,QAAQ,EAC5B,IAAI,EAAC,QAAQ,aACb,cAAK,SAAS,EAAE,GAAG,SAAS,gBAAgB,YAC1C,KAAC,OAAO,IACN,KAAK,EAAE,GAAG,SAAS,QAAQ,EAC3B,IAAI,EAAE,QAAQ,CAAC,UAAU,EACzB,IAAI,EAAE,cAAc,GACZ,GACN,EACN,gBAAM,SAAS,EAAE,GAAG,SAAS,SAAS,aACnC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW;gCACf,KAAC,SAAS,IACR,KAAK,EAAE,GAAG,SAAS,SAAS,mBACb,qBAAqB,CAAC,IAAI,EACzC,IAAI,EAAE,mBAAmB,CAAC,MAAM,EAChC,IAAI,EAAE,mBAAmB,CAAC,MAAM,YAC/B,IAAI,CAAC,WAAW,GACP,IAET,IACA,EACT,cACE,EAAE,EAAE,cAAc,qBACD,gBAAgB,EACjC,SAAS,EAAE,GAAG,SAAS,WAAW,EAClC,SAAS,EAAE,IAAI,CAAC,cAAc,EAC9B,IAAI,EAAC,QAAQ,YACb,gBAAa,GACT,IACL,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import type AccordionItem from \"./AccordionItem.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport slimArrowRight from \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport { UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTypeBadgeDesign } from \"./types/BadgeDesign.js\";\nimport UDExBadge from \"./Badge.js\";\n\nexport default function AccordionItemTemplate(this: AccordionItem) {\n const ariaControlsId = `udex-accordion-item__${this._id}-content`;\n const ariaLabelledbyId = `udex-accordion-item__${this._id}`;\n const rootClass = \"udex-accordion-item\";\n\n return (\n <>\n <button\n id={ariaLabelledbyId}\n aria-controls={ariaControlsId}\n className={`${rootClass}__header`}\n onFocusIn={this.focusHandler}\n onClick={this.itemClickHandler}\n onKeyDown={this.keydownHandler}\n aria-expanded={this.expanded}\n type=\"button\">\n <div className={`${rootClass}__icon-wrapper`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n mode={IconMode.Decorative}\n name={slimArrowRight}>\n </UI5Icon>\n </div>\n <span className={`${rootClass}__title`}>\n {this.label}\n {this.numberBadge &&\n <UDExBadge\n class={`${rootClass}__badge`}\n number-design={UDExNumberBadgeDesign.Blue}\n type={UDExTypeBadgeDesign.Number}\n size={UDExSizeBadgeDesign.Medium}>\n {this.numberBadge}\n </UDExBadge>\n }\n </span>\n </button>\n <div\n id={ariaControlsId}\n aria-labelledby={ariaLabelledbyId}\n className={`${rootClass}__content`}\n onKeyDown={this.contentKeydown}\n role=\"region\">\n <slot></slot>\n </div>\n </>\n );\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import type Accordion from "./Accordion.js";
2
+ export default function AccordionTemplate(this: Accordion): import("@ui5/webcomponents-base").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import UDExButton from "./Button.js";
3
+ import UDExButtonSize from "./types/ButtonSize.js";
4
+ import UDExButtonDesign from "./types/ButtonDesign.js";
5
+ export default function AccordionTemplate() {
6
+ const rootClass = "udex-accordion";
7
+ return (_jsxs("div", { className: rootClass, onKeyDown: this.keydownHandler, "onui5-accordion-item-click": this.updateAllExpandedStatus, "onui5-accordion-item-focus": this.itemFocusHandler, children: [_jsxs("div", { className: `${rootClass}__head`, part: "head", children: [this.headline &&
8
+ _jsx("h3", { className: `${rootClass}__headline`, children: this.headline }), !this.hideExpandButton &&
9
+ _jsx(UDExButton, { class: `${rootClass}__btn`, size: UDExButtonSize.Large, design: UDExButtonDesign.Tertiary, onClick: this.toggleAllHandler, onKeyDown: this.toggleKeyAllHandler, accessibleName: this.toggleAllText, children: this.toggleAllText })] }), _jsx("div", { className: `${rootClass}__content`, children: this.items.map(itemInfo => _jsx("slot", { name: itemInfo.item._individualSlot })) })] }));
10
+ }
11
+ //# sourceMappingURL=AccordionTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionTemplate.js","sourceRoot":"","sources":["../src/AccordionTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,MAAM,SAAS,GAAG,gBAAgB,CAAC;IAEnC,OAAO,CACL,eACE,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,IAAI,CAAC,cAAc,gCACF,IAAI,CAAC,uBAAuB,gCAC5B,IAAI,CAAC,gBAAgB,aACjD,eAAK,SAAS,EAAE,GAAG,SAAS,QAAQ,EAAE,IAAI,EAAC,MAAM,aAC9C,IAAI,CAAC,QAAQ;wBACZ,aAAI,SAAS,EAAE,GAAG,SAAS,YAAY,YAAG,IAAI,CAAC,QAAQ,GAAM,EAE9D,CAAC,IAAI,CAAC,gBAAgB;wBACrB,KAAC,UAAU,IAAC,KAAK,EAAE,GAAG,SAAS,OAAO,EACpC,IAAI,EAAE,cAAc,CAAC,KAAK,EAC1B,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EACjC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,SAAS,EAAE,IAAI,CAAC,mBAAmB,EACnC,cAAc,EAAE,IAAI,CAAC,aAAa,YACjC,IAAI,CAAC,aAAa,GACR,IAEX,EACN,cAAK,SAAS,EAAE,GAAG,SAAS,WAAW,YACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CACzB,eAAM,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,GAAS,CACnD,GACG,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import type Accordion from \"./Accordion.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\n\nexport default function AccordionTemplate(this: Accordion) {\n const rootClass = \"udex-accordion\";\n\n return (\n <div\n className={rootClass}\n onKeyDown={this.keydownHandler}\n onui5-accordion-item-click={this.updateAllExpandedStatus}\n onui5-accordion-item-focus={this.itemFocusHandler}>\n <div className={`${rootClass}__head`} part=\"head\">\n {this.headline &&\n <h3 className={`${rootClass}__headline`}>{this.headline}</h3>\n }\n {!this.hideExpandButton &&\n <UDExButton class={`${rootClass}__btn`}\n size={UDExButtonSize.Large}\n design={UDExButtonDesign.Tertiary}\n onClick={this.toggleAllHandler}\n onKeyDown={this.toggleKeyAllHandler}\n accessibleName={this.toggleAllText}>\n {this.toggleAllText}\n </UDExButton>\n }\n </div>\n <div className={`${rootClass}__content`}>\n {this.items.map(itemInfo =>\n <slot name={itemInfo.item._individualSlot}></slot>\n )}\n </div>\n </div>\n );\n}\n"]}
@@ -1,5 +1,9 @@
1
1
  import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsScope.js";
2
- const variablesOverwrite = `:root {
2
+ import getEffectiveScrollbarStyle from "./utils/getEffectiveScrollbarStyle.js";
3
+ const variablesOverwrite = `
4
+ ${getEffectiveScrollbarStyle()}
5
+
6
+ :root {
3
7
  /* Browser Scrollbar */
4
8
  ${getScopedVarName("--browser_scrollbar_border_radius")}: var(--udexRadiusM, 8px);
5
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsVariables.js","sourceRoot":"","sources":["../src/AssetsVariables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAEvF,MAAM,kBAAkB,GAAG;;IAEvB,gBAAgB,CAAC,mCAAmC,CAAC;;;IAGrD,gBAAgB,CAAC,2BAA2B,CAAC;;;IAG7C,gBAAgB,CAAC,0BAA0B,CAAC;;;IAG5C,gBAAgB,CAAC,sCAAsC,CAAC;IACxD,gBAAgB,CAAC,kCAAkC,CAAC;;;IAGpD,gBAAgB,CAAC,4CAA4C,CAAC;IAC9D,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,wCAAwC,CAAC;IAC1D,gBAAgB,CAAC,uCAAuC,CAAC;IACzD,gBAAgB,CAAC,6CAA6C,CAAC;IAC/D,gBAAgB,CAAC,oDAAoD,CAAC;IACtE,gBAAgB,CAAC,gDAAgD,CAAC;IAClE,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,oCAAoC,CAAC;IACtD,gBAAgB,CAAC,oCAAoC,CAAC;;;;MAIpD,gBAAgB,CAAC,uBAAuB,CAAC;;;;MAIzC,gBAAgB,CAAC,4CAA4C,CAAC;;;;;;;MAO9D,gBAAgB,CAAC,uBAAuB,CAAC;MACzC,gBAAgB,CAAC,wBAAwB,CAAC;MAC1C,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,2CAA2C,CAAC;MAC7D,gBAAgB,CAAC,8BAA8B,CAAC;MAChD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,uCAAuC,CAAC;MACzD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,oCAAoC,CAAC;;CAE3D,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\n\nconst variablesOverwrite = `:root {\n /* Browser Scrollbar */\n ${getScopedVarName(\"--browser_scrollbar_border_radius\")}: var(--udexRadiusM, 8px);\n\n /* Tooltip */\n ${getScopedVarName(\"--_ui5_popover_box_shadow\")}: 0px 0px 0px 1px var(--udexColorGrey4);\n\n /* Tokenizer */\n ${getScopedVarName(\"--_ui5_tokenizer_padding\")}: var(--udexSpacer12, 12px);\n\n /* Carousel */\n ${getScopedVarName(\"--ui5_carousel_active_dot_background\")}: var(--udexColorBlue8, #0057D2);\n ${getScopedVarName(\"--ui5_carousel_active_dot_border\")}: 1px solid var(--udexColorBlue8, #0057D2);\n\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_daypicker_daynames_container_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_dayname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_now_border_color\")}: var(--udexColorPink8, #A100C2);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_daypicker_item_select_between_border\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_middle_button_focus_outline\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_box_shadow\")}: none;\n ${getScopedVarName(\"--_ui5_calendar_header_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: 0;\n \n /* Avatar */\n [udex-avatar].dark {\n ${getScopedVarName(\"--_ui5_avatar_outline\")}: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--udexColorNeutralWhite, #FFFFFF);\n }\n\n [udex-search] {\n ${getScopedVarName(\"--_ui5_button_pressed_focused_border_color\")}: transparent;\n }\n\n .sapUiSizeCompact,\n .ui5-content-density-compact,\n [data-ui5-compact-size] {\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_calendar_width\")}: 371px;\n ${getScopedVarName(\"--_ui5_calendar_height\")}: auto;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_header_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_weekname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_month_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_monthpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_year_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_yearpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: 0;\n }\n`;\n\nexport default variablesOverwrite;\n"]}
1
+ {"version":3,"file":"AssetsVariables.js","sourceRoot":"","sources":["../src/AssetsVariables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAE/E,MAAM,kBAAkB,GAAG;IACvB,0BAA0B,EAAE;;;;IAI5B,gBAAgB,CAAC,mCAAmC,CAAC;;;IAGrD,gBAAgB,CAAC,2BAA2B,CAAC;;;IAG7C,gBAAgB,CAAC,0BAA0B,CAAC;;;IAG5C,gBAAgB,CAAC,sCAAsC,CAAC;IACxD,gBAAgB,CAAC,kCAAkC,CAAC;;;IAGpD,gBAAgB,CAAC,4CAA4C,CAAC;IAC9D,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,wCAAwC,CAAC;IAC1D,gBAAgB,CAAC,uCAAuC,CAAC;IACzD,gBAAgB,CAAC,6CAA6C,CAAC;IAC/D,gBAAgB,CAAC,oDAAoD,CAAC;IACtE,gBAAgB,CAAC,gDAAgD,CAAC;IAClE,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,oCAAoC,CAAC;IACtD,gBAAgB,CAAC,oCAAoC,CAAC;;;;MAIpD,gBAAgB,CAAC,uBAAuB,CAAC;;;;MAIzC,gBAAgB,CAAC,4CAA4C,CAAC;;;;;;;MAO9D,gBAAgB,CAAC,uBAAuB,CAAC;MACzC,gBAAgB,CAAC,wBAAwB,CAAC;MAC1C,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,2CAA2C,CAAC;MAC7D,gBAAgB,CAAC,8BAA8B,CAAC;MAChD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,uCAAuC,CAAC;MACzD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,oCAAoC,CAAC;;CAE3D,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport getEffectiveScrollbarStyle from \"./utils/getEffectiveScrollbarStyle.js\";\n\nconst variablesOverwrite = `\n ${getEffectiveScrollbarStyle()}\n \n :root {\n /* Browser Scrollbar */\n ${getScopedVarName(\"--browser_scrollbar_border_radius\")}: var(--udexRadiusM, 8px);\n\n /* Tooltip */\n ${getScopedVarName(\"--_ui5_popover_box_shadow\")}: 0px 0px 0px 1px var(--udexColorGrey4);\n\n /* Tokenizer */\n ${getScopedVarName(\"--_ui5_tokenizer_padding\")}: var(--udexSpacer12, 12px);\n\n /* Carousel */\n ${getScopedVarName(\"--ui5_carousel_active_dot_background\")}: var(--udexColorBlue8, #0057D2);\n ${getScopedVarName(\"--ui5_carousel_active_dot_border\")}: 1px solid var(--udexColorBlue8, #0057D2);\n\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_daypicker_daynames_container_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_dayname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_now_border_color\")}: var(--udexColorPink8, #A100C2);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_daypicker_item_select_between_border\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_middle_button_focus_outline\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_box_shadow\")}: none;\n ${getScopedVarName(\"--_ui5_calendar_header_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: 0;\n \n /* Avatar */\n [udex-avatar].dark {\n ${getScopedVarName(\"--_ui5_avatar_outline\")}: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--udexColorNeutralWhite, #FFFFFF);\n }\n\n [udex-search] {\n ${getScopedVarName(\"--_ui5_button_pressed_focused_border_color\")}: transparent;\n }\n\n .sapUiSizeCompact,\n .ui5-content-density-compact,\n [data-ui5-compact-size] {\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_calendar_width\")}: 371px;\n ${getScopedVarName(\"--_ui5_calendar_height\")}: auto;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_header_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_weekname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_month_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_monthpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_year_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_yearpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: 0;\n }\n`;\n\nexport default variablesOverwrite;\n"]}
package/dist/Avatar.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
+ import type AvatarColorScheme from "@ui5/webcomponents/dist/types/AvatarColorScheme.js";
3
4
  export declare enum UDExAvatarColorScheme {
4
5
  Mango = "Mango",
5
6
  Red = "Red",
@@ -144,7 +145,7 @@ declare class UDExAvatar extends UI5Element {
144
145
  * @private
145
146
  */
146
147
  get effectiveBackgroundColor(): UDExAvatarColorScheme;
147
- get getUDExAvatarColorScheme(): string;
148
+ get getUDExAvatarColorScheme(): AvatarColorScheme;
148
149
  get imageSlot(): boolean;
149
150
  get badgeSlot(): boolean;
150
151
  get udexAvatarClass(): string;
package/dist/Avatar.js CHANGED
@@ -6,16 +6,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  var UDExAvatar_1;
8
8
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
9
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
10
10
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
11
11
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
12
12
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
13
13
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
14
- import Avatar from "@ui5/webcomponents/dist/Avatar.js";
15
14
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
16
15
  import { ATTENTION_BADGE, AVATAR_TEXT, DISABLED } from "./generated/i18n/i18n-defaults.js";
17
16
  // Template
18
- import AvatarTemplate from "./generated/templates/AvatarTemplate.lit.js";
17
+ import AvatarTemplate from "./AvatarTemplate.js";
19
18
  // Styles
20
19
  import AvatarCss from "./generated/themes/Avatar.css.js";
21
20
  export var UDExAvatarColorScheme;
@@ -45,18 +44,18 @@ export var UDExAvatarSize;
45
44
  UDExAvatarSize["L"] = "L";
46
45
  UDExAvatarSize["XL"] = "XL";
47
46
  })(UDExAvatarSize || (UDExAvatarSize = {}));
48
- const udexToUi5ColorSchemeMap = {
47
+ const UDExToUi5ColorSchemeMap = {
49
48
  Mango: "Accent1",
50
49
  Red: "Accent2",
51
50
  Raspberry: "Accent3",
52
51
  Pink: "Accent4",
53
52
  Indigo: "Accent5",
54
53
  Blue: "Accent6",
54
+ Transparent: "Accent6",
55
+ Neutral: "Accent6",
55
56
  Teal: "Accent7",
56
57
  Green: "Accent8",
57
58
  Grey: "Accent10",
58
- Transparent: "Accent6",
59
- Neutral: "Accent6",
60
59
  };
61
60
  /**
62
61
  * @class
@@ -149,7 +148,7 @@ let UDExAvatar = UDExAvatar_1 = class UDExAvatar extends UI5Element {
149
148
  return this.getAttribute("color-scheme") || this.colorScheme;
150
149
  }
151
150
  get getUDExAvatarColorScheme() {
152
- return udexToUi5ColorSchemeMap[this.colorScheme];
151
+ return UDExToUi5ColorSchemeMap[this.colorScheme];
153
152
  }
154
153
  get imageSlot() {
155
154
  return !!this.image.length;
@@ -213,10 +212,9 @@ __decorate([
213
212
  UDExAvatar = UDExAvatar_1 = __decorate([
214
213
  customElement({
215
214
  tag: "udex-avatar",
216
- renderer: litRender,
215
+ renderer: jsxRenderer,
217
216
  styles: AvatarCss,
218
217
  template: AvatarTemplate,
219
- dependencies: [Avatar],
220
218
  })
221
219
  /**
222
220
  * Fires when the avatar is clicked.
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../src/Avatar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport Avatar from \"@ui5/webcomponents/dist/Avatar.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { ATTENTION_BADGE, AVATAR_TEXT, DISABLED } from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport AvatarTemplate from \"./generated/templates/AvatarTemplate.lit.js\";\n\n// Styles\nimport AvatarCss from \"./generated/themes/Avatar.css.js\";\n\nexport enum UDExAvatarColorScheme {\n Mango = \"Mango\",\n Red = \"Red\",\n Raspberry = \"Raspberry\",\n Pink = \"Pink\",\n Indigo = \"Indigo\",\n Blue = \"Blue\",\n Teal = \"Teal\",\n Green = \"Green\",\n Grey = \"Grey\",\n Transparent = \"Transparent\",\n Neutral = \"Neutral\",\n}\n\nexport enum UDExAvatarShape {\n Circle = \"Circle\",\n Square = \"Square\",\n}\n\nexport enum UDExAvatarSize {\n XS = \"XS\",\n S = \"S\",\n M = \"M\",\n L = \"L\",\n XL = \"XL\",\n}\n\nconst udexToUi5ColorSchemeMap = {\n Mango: \"Accent1\",\n Red: \"Accent2\",\n Raspberry: \"Accent3\",\n Pink: \"Accent4\",\n Indigo: \"Accent5\",\n Blue: \"Accent6\",\n Teal: \"Accent7\",\n Green: \"Accent8\",\n Grey: \"Accent10\",\n Transparent: \"Accent6\",\n Neutral: \"Accent6\",\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-avatar</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Avatar.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-avatar\",\n renderer: litRender,\n styles: AvatarCss,\n template: AvatarTemplate,\n dependencies: [Avatar],\n})\n\n/**\n * Fires when the avatar is clicked.\n *\n * @public\n */\n@event(\"click\", { bubbles: true })\n\nclass UDExAvatar extends UI5Element {\n eventDetails!: {\n \"click\": void,\n };\n /**\n * Defines the displayed initials.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n initials: string = \"\";\n\n /**\n * Defines if the avatar is interactive (focusable and pressable).\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n interactive!: boolean;\n\n /**\n * Defines the text alternative of the component.\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleName?: string;\n\n /**\n * Defines the design of the component.\n *\n * @default \"Blue\"\n * @public\n */\n @property()\n colorScheme: `${UDExAvatarColorScheme}` = UDExAvatarColorScheme.Blue;\n\n /**\n * Defines whether the component is disabled.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines the name of the fallback icon.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n fallbackIcon: string = \"\";\n\n /**\n * Defines the name of the UI5 Icon, that will be displayed.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n icon: string = \"\";\n\n /**\n * Defines the shape of the component.\n *\n * @default \"Circle\"\n * @public\n */\n @property()\n shape: `${UDExAvatarShape}` = UDExAvatarShape.Circle;\n\n /**\n * Defines predefined size of the component.\n *\n * @default \"S\"\n * @public\n */\n @property()\n size: `${UDExAvatarSize}` = UDExAvatarSize.S;\n\n /**\n * Defines the displaying attention badge.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n showAttentionBadge!: boolean;\n\n /**\n * Receives the desired <img> tag\n *\n * @slot image\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n image!: Array<HTMLElement>;\n\n /**\n * Defines the optional badge that will be used for visual affordance.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n badge!: Array<HTMLElement>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onAfterRendering(): void {\n this.title = this.initials;\n }\n handleClick(e: Event) {\n e.stopPropagation();\n if (this.interactive) {\n this.fireDecoratorEvent(\"click\");\n }\n }\n\n /**\n * Returns the effective avatar size.\n * @default \"S\"\n * @private\n */\n get effectiveSize(): UDExAvatarSize {\n // we read the attribute, because the \"size\" property will always have a default value\n return this.getAttribute(\"size\") as UDExAvatarSize || this.size;\n }\n\n /**\n * Returns the effective background color.\n * @default \"Blue\"\n * @private\n */\n get effectiveBackgroundColor(): UDExAvatarColorScheme {\n // we read the attribute, because the \"background-color\" property will always have a default value\n return this.getAttribute(\"color-scheme\") as UDExAvatarColorScheme || this.colorScheme;\n }\n\n get getUDExAvatarColorScheme(): string {\n return udexToUi5ColorSchemeMap[this.colorScheme];\n }\n\n get imageSlot(): boolean {\n return !!this.image.length;\n }\n\n get badgeSlot(): boolean {\n return !!this.badge.length;\n }\n\n get udexAvatarClass(): string {\n let avatarClass = \"udex-avatar\";\n\n if (this.imageSlot) {\n avatarClass += \" udex-avatar--with-image\";\n }\n\n return avatarClass;\n }\n\n get avatarAccessibleName(): string {\n let accName = `${this.accessibleName ? this.accessibleName : `${UDExAvatar.i18nBundle.getText(AVATAR_TEXT)} ${this.initials}`}`;\n accName += ` ${this.disabled ? UDExAvatar.i18nBundle.getText(DISABLED) : \"\"}`;\n accName += ` ${this.showAttentionBadge ? UDExAvatar.i18nBundle.getText(ATTENTION_BADGE) : \"\"}`;\n return accName;\n }\n}\n\nUDExAvatar.define();\n\nexport default UDExAvatar;\n"]}
1
+ {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../src/Avatar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { ATTENTION_BADGE, AVATAR_TEXT, DISABLED } from \"./generated/i18n/i18n-defaults.js\";\nimport type AvatarColorScheme from \"@ui5/webcomponents/dist/types/AvatarColorScheme.js\";\n// Template\nimport AvatarTemplate from \"./AvatarTemplate.js\";\n\n// Styles\nimport AvatarCss from \"./generated/themes/Avatar.css.js\";\n\nexport enum UDExAvatarColorScheme {\n Mango = \"Mango\",\n Red = \"Red\",\n Raspberry = \"Raspberry\",\n Pink = \"Pink\",\n Indigo = \"Indigo\",\n Blue = \"Blue\",\n Teal = \"Teal\",\n Green = \"Green\",\n Grey = \"Grey\",\n Transparent = \"Transparent\",\n Neutral = \"Neutral\",\n}\n\nexport enum UDExAvatarShape {\n Circle = \"Circle\",\n Square = \"Square\",\n}\n\nexport enum UDExAvatarSize {\n XS = \"XS\",\n S = \"S\",\n M = \"M\",\n L = \"L\",\n XL = \"XL\",\n}\n\nconst UDExToUi5ColorSchemeMap = {\n Mango: \"Accent1\",\n Red: \"Accent2\",\n Raspberry: \"Accent3\",\n Pink: \"Accent4\",\n Indigo: \"Accent5\",\n Blue: \"Accent6\",\n Transparent: \"Accent6\",\n Neutral: \"Accent6\",\n Teal: \"Accent7\",\n Green: \"Accent8\",\n Grey: \"Accent10\",\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-avatar</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Avatar.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-avatar\",\n renderer: jsxRenderer,\n styles: AvatarCss,\n template: AvatarTemplate,\n})\n\n/**\n * Fires when the avatar is clicked.\n *\n * @public\n */\n@event(\"click\", { bubbles: true })\n\nclass UDExAvatar extends UI5Element {\n eventDetails!: {\n \"click\": void,\n };\n /**\n * Defines the displayed initials.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n initials: string = \"\";\n\n /**\n * Defines if the avatar is interactive (focusable and pressable).\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n interactive!: boolean;\n\n /**\n * Defines the text alternative of the component.\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleName?: string;\n\n /**\n * Defines the design of the component.\n *\n * @default \"Blue\"\n * @public\n */\n @property()\n colorScheme: `${UDExAvatarColorScheme}` = UDExAvatarColorScheme.Blue;\n\n /**\n * Defines whether the component is disabled.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines the name of the fallback icon.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n fallbackIcon: string = \"\";\n\n /**\n * Defines the name of the UI5 Icon, that will be displayed.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n icon: string = \"\";\n\n /**\n * Defines the shape of the component.\n *\n * @default \"Circle\"\n * @public\n */\n @property()\n shape: `${UDExAvatarShape}` = UDExAvatarShape.Circle;\n\n /**\n * Defines predefined size of the component.\n *\n * @default \"S\"\n * @public\n */\n @property()\n size: `${UDExAvatarSize}` = UDExAvatarSize.S;\n\n /**\n * Defines the displaying attention badge.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n showAttentionBadge!: boolean;\n\n /**\n * Receives the desired <img> tag\n *\n * @slot image\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n image!: Array<HTMLElement>;\n\n /**\n * Defines the optional badge that will be used for visual affordance.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n badge!: Array<HTMLElement>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onAfterRendering(): void {\n this.title = this.initials;\n }\n handleClick(e: Event) {\n e.stopPropagation();\n if (this.interactive) {\n this.fireDecoratorEvent(\"click\");\n }\n }\n\n /**\n * Returns the effective avatar size.\n * @default \"S\"\n * @private\n */\n get effectiveSize(): UDExAvatarSize {\n // we read the attribute, because the \"size\" property will always have a default value\n return this.getAttribute(\"size\") as UDExAvatarSize || this.size;\n }\n\n /**\n * Returns the effective background color.\n * @default \"Blue\"\n * @private\n */\n get effectiveBackgroundColor(): UDExAvatarColorScheme {\n // we read the attribute, because the \"background-color\" property will always have a default value\n return this.getAttribute(\"color-scheme\") as UDExAvatarColorScheme || this.colorScheme;\n }\n\n get getUDExAvatarColorScheme(): AvatarColorScheme {\n return UDExToUi5ColorSchemeMap[this.colorScheme] as AvatarColorScheme;\n }\n\n get imageSlot(): boolean {\n return !!this.image.length;\n }\n\n get badgeSlot(): boolean {\n return !!this.badge.length;\n }\n\n get udexAvatarClass(): string {\n let avatarClass = \"udex-avatar\";\n\n if (this.imageSlot) {\n avatarClass += \" udex-avatar--with-image\";\n }\n\n return avatarClass;\n }\n\n get avatarAccessibleName(): string {\n let accName = `${this.accessibleName ? this.accessibleName : `${UDExAvatar.i18nBundle.getText(AVATAR_TEXT)} ${this.initials}`}`;\n accName += ` ${this.disabled ? UDExAvatar.i18nBundle.getText(DISABLED) : \"\"}`;\n accName += ` ${this.showAttentionBadge ? UDExAvatar.i18nBundle.getText(ATTENTION_BADGE) : \"\"}`;\n return accName;\n }\n}\n\nUDExAvatar.define();\n\nexport default UDExAvatar;\n"]}