@sapudex/web-components 0.127.6 → 0.143.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 (434) hide show
  1. package/bundle.esm.js +2 -0
  2. package/dist/Accordion.d.ts +1 -1
  3. package/dist/Accordion.js +2 -2
  4. package/dist/Accordion.js.map +1 -1
  5. package/dist/AccordionItem.d.ts +1 -1
  6. package/dist/AccordionItem.js +2 -2
  7. package/dist/AccordionItem.js.map +1 -1
  8. package/dist/Avatar.js +1 -1
  9. package/dist/Avatar.js.map +1 -1
  10. package/dist/Breadcrumbs.js +1 -1
  11. package/dist/Breadcrumbs.js.map +1 -1
  12. package/dist/Carousel.js +1 -1
  13. package/dist/Carousel.js.map +1 -1
  14. package/dist/Checkbox.d.ts +1 -1
  15. package/dist/Checkbox.js +1 -1
  16. package/dist/Checkbox.js.map +1 -1
  17. package/dist/CountrySelector.d.ts +24 -6
  18. package/dist/CountrySelector.js +32 -10
  19. package/dist/CountrySelector.js.map +1 -1
  20. package/dist/DatePicker.d.ts +1 -0
  21. package/dist/DatePicker.js +5 -2
  22. package/dist/DatePicker.js.map +1 -1
  23. package/dist/Dropdown.d.ts +2 -1
  24. package/dist/Dropdown.js +16 -4
  25. package/dist/Dropdown.js.map +1 -1
  26. package/dist/FilterMenu.d.ts +21 -6
  27. package/dist/FilterMenu.js +66 -21
  28. package/dist/FilterMenu.js.map +1 -1
  29. package/dist/Footer.d.ts +9 -1
  30. package/dist/Footer.js +9 -2
  31. package/dist/Footer.js.map +1 -1
  32. package/dist/InputGroup.js +1 -1
  33. package/dist/InputGroup.js.map +1 -1
  34. package/dist/Link.d.ts +1 -1
  35. package/dist/Link.js +1 -1
  36. package/dist/Link.js.map +1 -1
  37. package/dist/List.d.ts +1 -1
  38. package/dist/List.js +18 -2
  39. package/dist/List.js.map +1 -1
  40. package/dist/ListGroupHeader.d.ts +2 -2
  41. package/dist/ListGroupHeader.js +2 -2
  42. package/dist/ListGroupHeader.js.map +1 -1
  43. package/dist/ListItem.d.ts +3 -3
  44. package/dist/ListItem.js +7 -8
  45. package/dist/ListItem.js.map +1 -1
  46. package/dist/ListItemBase.d.ts +2 -2
  47. package/dist/ListItemBase.js.map +1 -1
  48. package/dist/ListSelectAll.d.ts +1 -1
  49. package/dist/ListSelectAll.js +2 -2
  50. package/dist/ListSelectAll.js.map +1 -1
  51. package/dist/MastheadItem.d.ts +9 -1
  52. package/dist/MastheadItem.js +28 -16
  53. package/dist/MastheadItem.js.map +1 -1
  54. package/dist/MastheadMenu.d.ts +5 -0
  55. package/dist/MastheadMenu.js +24 -0
  56. package/dist/MastheadMenu.js.map +1 -1
  57. package/dist/MastheadMenuItem.d.ts +2 -3
  58. package/dist/MastheadMenuItem.js +2 -17
  59. package/dist/MastheadMenuItem.js.map +1 -1
  60. package/dist/MastheadMobileMenu.d.ts +25 -5
  61. package/dist/MastheadMobileMenu.js +136 -22
  62. package/dist/MastheadMobileMenu.js.map +1 -1
  63. package/dist/MastheadProfileMenu.d.ts +13 -4
  64. package/dist/MastheadProfileMenu.js +41 -10
  65. package/dist/MastheadProfileMenu.js.map +1 -1
  66. package/dist/MastheadShell.d.ts +24 -5
  67. package/dist/MastheadShell.js +77 -29
  68. package/dist/MastheadShell.js.map +1 -1
  69. package/dist/MediaPlayer.d.ts +3 -3
  70. package/dist/MediaPlayer.js +115 -25
  71. package/dist/MediaPlayer.js.map +1 -1
  72. package/dist/MessageStrip.js +1 -1
  73. package/dist/MessageStrip.js.map +1 -1
  74. package/dist/Pagination.js +1 -1
  75. package/dist/Pagination.js.map +1 -1
  76. package/dist/PasswordField.js +1 -1
  77. package/dist/PasswordField.js.map +1 -1
  78. package/dist/PhoneNumberField.d.ts +26 -0
  79. package/dist/PhoneNumberField.js +47 -3
  80. package/dist/PhoneNumberField.js.map +1 -1
  81. package/dist/RatingBar.js +1 -1
  82. package/dist/RatingBar.js.map +1 -1
  83. package/dist/Review.js +1 -1
  84. package/dist/Review.js.map +1 -1
  85. package/dist/ReviewItem.d.ts +105 -0
  86. package/dist/ReviewItem.js +157 -0
  87. package/dist/ReviewItem.js.map +1 -0
  88. package/dist/Search.d.ts +15 -1
  89. package/dist/Search.js +31 -6
  90. package/dist/Search.js.map +1 -1
  91. package/dist/SearchableListBase.d.ts +5 -0
  92. package/dist/SearchableListBase.js +11 -4
  93. package/dist/SearchableListBase.js.map +1 -1
  94. package/dist/SecondaryNavigation.d.ts +2 -0
  95. package/dist/SecondaryNavigation.js +19 -12
  96. package/dist/SecondaryNavigation.js.map +1 -1
  97. package/dist/SecondaryNavigationItem.d.ts +8 -0
  98. package/dist/SecondaryNavigationItem.js +20 -1
  99. package/dist/SecondaryNavigationItem.js.map +1 -1
  100. package/dist/SecondaryNavigationItemBase.js +1 -1
  101. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  102. package/dist/SecondaryNavigationSubItem.js +1 -1
  103. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  104. package/dist/SelectBox.d.ts +33 -9
  105. package/dist/SelectBox.js +119 -60
  106. package/dist/SelectBox.js.map +1 -1
  107. package/dist/StatusBadge.js +1 -1
  108. package/dist/StatusBadge.js.map +1 -1
  109. package/dist/StepInput.js +1 -1
  110. package/dist/StepInput.js.map +1 -1
  111. package/dist/Switch.d.ts +19 -0
  112. package/dist/Switch.js +19 -0
  113. package/dist/Switch.js.map +1 -1
  114. package/dist/Tab.d.ts +1 -1
  115. package/dist/Tab.js +2 -2
  116. package/dist/Tab.js.map +1 -1
  117. package/dist/TabNavigation.d.ts +1 -1
  118. package/dist/TabNavigation.js +2 -2
  119. package/dist/TabNavigation.js.map +1 -1
  120. package/dist/Table.js +1 -1
  121. package/dist/Table.js.map +1 -1
  122. package/dist/Tag.d.ts +9 -1
  123. package/dist/Tag.js +20 -3
  124. package/dist/Tag.js.map +1 -1
  125. package/dist/TagGroup.d.ts +94 -0
  126. package/dist/TagGroup.js +174 -0
  127. package/dist/TagGroup.js.map +1 -0
  128. package/dist/TextArea.d.ts +13 -0
  129. package/dist/TextArea.js +16 -1
  130. package/dist/TextArea.js.map +1 -1
  131. package/dist/TextField.d.ts +23 -13
  132. package/dist/TextField.js +17 -4
  133. package/dist/TextField.js.map +1 -1
  134. package/dist/Tooltip.d.ts +1 -1
  135. package/dist/Tooltip.js +1 -1
  136. package/dist/Tooltip.js.map +1 -1
  137. package/dist/TruncatedText.js +1 -1
  138. package/dist/TruncatedText.js.map +1 -1
  139. package/dist/assets/{bundle.esm-7d53f4f2.js → bundle.esm-8623b7b1.js} +190 -188
  140. package/dist/assets/messagebundle_en-c677773a.js +1 -0
  141. package/dist/assets/parameters-bundle.css-c897ae23.js +2 -0
  142. package/dist/assets/video.es-60bfb78c.js +228 -0
  143. package/dist/css/themes/Button.css +1 -1
  144. package/dist/css/themes/CountrySelector.css +1 -1
  145. package/dist/css/themes/Dropdown.css +1 -1
  146. package/dist/css/themes/FilterMenu.css +1 -1
  147. package/dist/css/themes/ListItem.css +1 -1
  148. package/dist/css/themes/MastheadItem.css +1 -1
  149. package/dist/css/themes/MastheadMobileMenu.css +1 -1
  150. package/dist/css/themes/MastheadShell.css +1 -1
  151. package/dist/css/themes/PhoneNumberField.css +1 -1
  152. package/dist/css/themes/RatingIndicator.css +1 -1
  153. package/dist/css/themes/ReviewItem.css +1 -0
  154. package/dist/css/themes/Search.css +1 -1
  155. package/dist/css/themes/SecondaryNavigation.css +1 -1
  156. package/dist/css/themes/SecondaryNavigationItem.css +1 -1
  157. package/dist/css/themes/SecondaryNavigationSubItem.css +1 -1
  158. package/dist/css/themes/SelectBox.css +1 -1
  159. package/dist/css/themes/Slider.css +1 -1
  160. package/dist/css/themes/Tag.css +1 -1
  161. package/dist/css/themes/TagGroup.css +1 -0
  162. package/dist/css/themes/TextArea.css +1 -1
  163. package/dist/css/themes/TextField.css +1 -1
  164. package/dist/css/themes/Toast.css +1 -1
  165. package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
  166. package/dist/custom-elements-internal.json +881 -404
  167. package/dist/custom-elements.json +787 -350
  168. package/dist/data/CountryListISO3166.js +1 -1
  169. package/dist/data/CountryListISO3166.js.map +1 -1
  170. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  171. package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +1 -1
  172. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  173. package/dist/generated/i18n/i18n-defaults.js +6 -4
  174. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  175. package/dist/generated/templates/CountrySelectorTemplate.lit.js +3 -3
  176. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  177. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  178. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  179. package/dist/generated/templates/DropdownTemplate.lit.js +2 -2
  180. package/dist/generated/templates/DropdownTemplate.lit.js.map +1 -1
  181. package/dist/generated/templates/FilterMenuTemplate.lit.js +1 -1
  182. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  183. package/dist/generated/templates/FooterTemplate.lit.js +9 -9
  184. package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
  185. package/dist/generated/templates/HeroBannerTemplate.lit.js +7 -8
  186. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  187. package/dist/generated/templates/ListItemTemplate.lit.js +6 -6
  188. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  189. package/dist/generated/templates/ListSelectAllTemplate.lit.js +1 -1
  190. package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +1 -1
  191. package/dist/generated/templates/MastheadItemTemplate.lit.js +3 -3
  192. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  193. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +1 -1
  194. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
  195. package/dist/generated/templates/MastheadMenuTemplate.lit.js +2 -2
  196. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  197. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +16 -12
  198. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  199. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +2 -2
  200. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
  201. package/dist/generated/templates/MastheadShellTemplate.lit.js +13 -11
  202. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  203. package/dist/generated/templates/MediaPlayerTemplate.lit.js +2 -2
  204. package/dist/generated/templates/MediaPlayerTemplate.lit.js.map +1 -1
  205. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +5 -2
  206. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  207. package/dist/generated/templates/ReviewItemTemplate.lit.d.ts +4 -0
  208. package/dist/generated/templates/ReviewItemTemplate.lit.js +8 -0
  209. package/dist/generated/templates/ReviewItemTemplate.lit.js.map +1 -0
  210. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +7 -6
  211. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  212. package/dist/generated/templates/SelectBoxTemplate.lit.js +2 -2
  213. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  214. package/dist/generated/templates/TabHeaderTemplate.lit.js +2 -2
  215. package/dist/generated/templates/TabHeaderTemplate.lit.js.map +1 -1
  216. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -6
  217. package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -1
  218. package/dist/generated/templates/TabNavigationTemplate.lit.js +3 -1
  219. package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
  220. package/dist/generated/templates/TagGroupTemplate.lit.d.ts +4 -0
  221. package/dist/generated/templates/TagGroupTemplate.lit.js +8 -0
  222. package/dist/generated/templates/TagGroupTemplate.lit.js.map +1 -0
  223. package/dist/generated/templates/TagTemplate.lit.js +11 -7
  224. package/dist/generated/templates/TagTemplate.lit.js.map +1 -1
  225. package/dist/generated/templates/TextAreaTemplate.lit.js +1 -1
  226. package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
  227. package/dist/generated/templates/TextFieldTemplate.lit.js +1 -1
  228. package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
  229. package/dist/generated/themes/Button.css.js +1 -1
  230. package/dist/generated/themes/Button.css.js.map +1 -1
  231. package/dist/generated/themes/CountrySelector.css.js +1 -1
  232. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  233. package/dist/generated/themes/Dropdown.css.js +1 -1
  234. package/dist/generated/themes/Dropdown.css.js.map +1 -1
  235. package/dist/generated/themes/FilterMenu.css.js +1 -1
  236. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  237. package/dist/generated/themes/ListItem.css.js +1 -1
  238. package/dist/generated/themes/ListItem.css.js.map +1 -1
  239. package/dist/generated/themes/MastheadItem.css.js +1 -1
  240. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  241. package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
  242. package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
  243. package/dist/generated/themes/MastheadShell.css.js +1 -1
  244. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  245. package/dist/generated/themes/PhoneNumberField.css.js +1 -1
  246. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  247. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  248. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  249. package/dist/generated/themes/ReviewItem.css.d.ts +3 -0
  250. package/dist/generated/themes/ReviewItem.css.js +9 -0
  251. package/dist/generated/themes/ReviewItem.css.js.map +1 -0
  252. package/dist/generated/themes/Search.css.js +1 -1
  253. package/dist/generated/themes/Search.css.js.map +1 -1
  254. package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
  255. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  256. package/dist/generated/themes/SecondaryNavigationItem.css.js +1 -1
  257. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
  258. package/dist/generated/themes/SecondaryNavigationSubItem.css.js +1 -1
  259. package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
  260. package/dist/generated/themes/SelectBox.css.js +1 -1
  261. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  262. package/dist/generated/themes/Slider.css.js +1 -1
  263. package/dist/generated/themes/Slider.css.js.map +1 -1
  264. package/dist/generated/themes/Tag.css.js +1 -1
  265. package/dist/generated/themes/Tag.css.js.map +1 -1
  266. package/dist/generated/themes/TagGroup.css.d.ts +3 -0
  267. package/dist/generated/themes/TagGroup.css.js +9 -0
  268. package/dist/generated/themes/TagGroup.css.js.map +1 -0
  269. package/dist/generated/themes/TextArea.css.js +1 -1
  270. package/dist/generated/themes/TextArea.css.js.map +1 -1
  271. package/dist/generated/themes/TextField.css.js +1 -1
  272. package/dist/generated/themes/TextField.css.js.map +1 -1
  273. package/dist/generated/themes/Toast.css.js +1 -1
  274. package/dist/generated/themes/Toast.css.js.map +1 -1
  275. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +1 -1
  276. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +1 -1
  277. package/dist/i18n/messagebundle.properties +7 -3
  278. package/dist/i18n/messagebundle_en.properties +5 -3
  279. package/dist/vscode.html-custom-data.json +156 -81
  280. package/dist/web-types.json +394 -144
  281. package/package.json +8 -8
  282. package/src/Accordion.ts +2 -2
  283. package/src/AccordionItem.ts +2 -2
  284. package/src/Avatar.ts +1 -1
  285. package/src/Breadcrumbs.ts +1 -1
  286. package/src/Carousel.ts +1 -1
  287. package/src/Checkbox.ts +1 -1
  288. package/src/CountrySelector.hbs +19 -15
  289. package/src/CountrySelector.ts +50 -13
  290. package/src/DatePicker.hbs +7 -8
  291. package/src/DatePicker.ts +15 -11
  292. package/src/Dropdown.hbs +3 -0
  293. package/src/Dropdown.ts +12 -4
  294. package/src/FilterMenu.hbs +58 -59
  295. package/src/FilterMenu.ts +101 -42
  296. package/src/Footer.hbs +9 -0
  297. package/src/Footer.ts +11 -2
  298. package/src/HeroBanner.hbs +4 -1
  299. package/src/InputGroup.ts +1 -1
  300. package/src/Link.ts +1 -1
  301. package/src/List.ts +44 -24
  302. package/src/ListGroupHeader.ts +2 -2
  303. package/src/ListItem.hbs +4 -2
  304. package/src/ListItem.ts +9 -11
  305. package/src/ListItemBase.ts +1 -1
  306. package/src/ListSelectAll.hbs +1 -1
  307. package/src/ListSelectAll.ts +2 -2
  308. package/src/MastheadItem.hbs +5 -3
  309. package/src/MastheadItem.ts +39 -17
  310. package/src/MastheadMenu.hbs +4 -2
  311. package/src/MastheadMenu.ts +30 -0
  312. package/src/MastheadMenuItem.hbs +0 -2
  313. package/src/MastheadMenuItem.ts +2 -16
  314. package/src/MastheadMobileMenu.hbs +36 -10
  315. package/src/MastheadMobileMenu.ts +163 -23
  316. package/src/MastheadProfileMenu.hbs +6 -2
  317. package/src/MastheadProfileMenu.ts +67 -21
  318. package/src/MastheadShell.hbs +33 -20
  319. package/src/MastheadShell.ts +101 -32
  320. package/src/MediaPlayer.hbs +1 -3
  321. package/src/MediaPlayer.ts +122 -26
  322. package/src/MessageStrip.ts +1 -3
  323. package/src/Pagination.ts +1 -1
  324. package/src/PasswordField.ts +1 -1
  325. package/src/PhoneNumberField.hbs +18 -3
  326. package/src/PhoneNumberField.ts +68 -3
  327. package/src/RatingBar.ts +1 -1
  328. package/src/Review.ts +1 -1
  329. package/src/ReviewItem.hbs +20 -0
  330. package/src/ReviewItem.ts +227 -0
  331. package/src/Search.ts +42 -5
  332. package/src/SearchableListBase.ts +15 -7
  333. package/src/SecondaryNavigation.hbs +11 -7
  334. package/src/SecondaryNavigation.ts +22 -13
  335. package/src/SecondaryNavigationItem.ts +30 -1
  336. package/src/SecondaryNavigationItemBase.ts +1 -1
  337. package/src/SecondaryNavigationSubItem.ts +1 -1
  338. package/src/SelectBox.hbs +9 -7
  339. package/src/SelectBox.ts +153 -72
  340. package/src/StatusBadge.ts +1 -1
  341. package/src/StepInput.ts +1 -1
  342. package/src/Switch.ts +21 -0
  343. package/src/Tab.ts +2 -2
  344. package/src/TabHeader.hbs +3 -1
  345. package/src/TabInOverflow.hbs +16 -4
  346. package/src/TabNavigation.hbs +15 -7
  347. package/src/TabNavigation.ts +2 -2
  348. package/src/Table.ts +1 -1
  349. package/src/Tag.hbs +28 -12
  350. package/src/Tag.ts +25 -4
  351. package/src/TagGroup.hbs +48 -0
  352. package/src/TagGroup.ts +222 -0
  353. package/src/TextArea.hbs +36 -33
  354. package/src/TextArea.ts +26 -1
  355. package/src/TextField.hbs +8 -6
  356. package/src/TextField.ts +51 -20
  357. package/src/Tooltip.ts +1 -1
  358. package/src/TruncatedText.ts +1 -1
  359. package/src/data/CountryListISO3166.ts +1 -1
  360. package/src/generated/i18n/i18n-defaults.ts +2 -2
  361. package/src/generated/templates/CountrySelectorTemplate.lit.ts +3 -3
  362. package/src/generated/templates/DatePickerTemplate.lit.ts +1 -1
  363. package/src/generated/templates/DropdownTemplate.lit.ts +2 -2
  364. package/src/generated/templates/FilterMenuTemplate.lit.ts +1 -1
  365. package/src/generated/templates/FooterTemplate.lit.ts +9 -9
  366. package/src/generated/templates/HeroBannerTemplate.lit.ts +7 -8
  367. package/src/generated/templates/ListItemTemplate.lit.ts +6 -6
  368. package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
  369. package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
  370. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +1 -1
  371. package/src/generated/templates/MastheadMenuTemplate.lit.ts +2 -2
  372. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +16 -12
  373. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +2 -2
  374. package/src/generated/templates/MastheadShellTemplate.lit.ts +13 -11
  375. package/src/generated/templates/MediaPlayerTemplate.lit.ts +2 -2
  376. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +5 -2
  377. package/src/generated/templates/ReviewItemTemplate.lit.ts +13 -0
  378. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -6
  379. package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
  380. package/src/generated/templates/TabHeaderTemplate.lit.ts +2 -2
  381. package/src/generated/templates/TabInOverflowTemplate.lit.ts +6 -6
  382. package/src/generated/templates/TabNavigationTemplate.lit.ts +3 -1
  383. package/src/generated/templates/TagGroupTemplate.lit.ts +13 -0
  384. package/src/generated/templates/TagTemplate.lit.ts +11 -7
  385. package/src/generated/templates/TextAreaTemplate.lit.ts +1 -1
  386. package/src/generated/templates/TextFieldTemplate.lit.ts +1 -1
  387. package/src/generated/themes/Button.css.ts +1 -1
  388. package/src/generated/themes/CountrySelector.css.ts +1 -1
  389. package/src/generated/themes/Dropdown.css.ts +1 -1
  390. package/src/generated/themes/FilterMenu.css.ts +1 -1
  391. package/src/generated/themes/ListItem.css.ts +1 -1
  392. package/src/generated/themes/MastheadItem.css.ts +1 -1
  393. package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
  394. package/src/generated/themes/MastheadShell.css.ts +1 -1
  395. package/src/generated/themes/PhoneNumberField.css.ts +1 -1
  396. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  397. package/src/generated/themes/ReviewItem.css.ts +13 -0
  398. package/src/generated/themes/Search.css.ts +1 -1
  399. package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
  400. package/src/generated/themes/SecondaryNavigationItem.css.ts +1 -1
  401. package/src/generated/themes/SecondaryNavigationSubItem.css.ts +1 -1
  402. package/src/generated/themes/SelectBox.css.ts +1 -1
  403. package/src/generated/themes/Slider.css.ts +1 -1
  404. package/src/generated/themes/Tag.css.ts +1 -1
  405. package/src/generated/themes/TagGroup.css.ts +13 -0
  406. package/src/generated/themes/TextArea.css.ts +1 -1
  407. package/src/generated/themes/TextField.css.ts +1 -1
  408. package/src/generated/themes/Toast.css.ts +1 -1
  409. package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
  410. package/src/i18n/messagebundle.properties +7 -3
  411. package/src/i18n/messagebundle_en.properties +5 -3
  412. package/src/themes/Button.css +10 -0
  413. package/src/themes/CountrySelector.css +60 -35
  414. package/src/themes/Dropdown.css +10 -0
  415. package/src/themes/FilterMenu.css +65 -15
  416. package/src/themes/ListItem.css +4 -0
  417. package/src/themes/MastheadItem.css +18 -4
  418. package/src/themes/MastheadMobileMenu.css +4 -0
  419. package/src/themes/MastheadShell.css +88 -9
  420. package/src/themes/PhoneNumberField.css +36 -21
  421. package/src/themes/ReviewItem.css +121 -0
  422. package/src/themes/Search.css +13 -0
  423. package/src/themes/SecondaryNavigation.css +13 -14
  424. package/src/themes/SecondaryNavigationItem.css +11 -3
  425. package/src/themes/SecondaryNavigationSubItem.css +5 -5
  426. package/src/themes/SelectBox.css +42 -0
  427. package/src/themes/Tag.css +20 -0
  428. package/src/themes/TagGroup.css +90 -0
  429. package/src/themes/TextArea.css +13 -0
  430. package/src/themes/TextField.css +25 -8
  431. package/src/themes/Toast.css +4 -0
  432. package/dist/assets/messagebundle_en-6dcc9ab4.js +0 -1
  433. package/dist/assets/parameters-bundle.css-de55cf62.js +0 -2
  434. package/dist/assets/video.es-17aecf95.js +0 -219
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapudex/web-components",
3
- "version": "0.127.6",
3
+ "version": "0.143.0",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/"
6
6
  },
@@ -30,16 +30,16 @@
30
30
  "dependencies": {
31
31
  "@types/vimeo__player": "^2.18.3",
32
32
  "@types/youtube": "^0.1.0",
33
- "@ui5/webcomponents": "1.24.15",
34
- "@ui5/webcomponents-base": "1.24.15",
35
- "@ui5/webcomponents-fiori": "1.24.15",
36
- "@ui5/webcomponents-icons": "1.24.15",
37
- "@ui5/webcomponents-theming": "1.24.15",
33
+ "@ui5/webcomponents": "1.24.17",
34
+ "@ui5/webcomponents-base": "1.24.17",
35
+ "@ui5/webcomponents-fiori": "1.24.17",
36
+ "@ui5/webcomponents-icons": "1.24.17",
37
+ "@ui5/webcomponents-theming": "1.24.17",
38
38
  "@vimeo/player": "^2.24.0",
39
- "video.js": "8.19.2"
39
+ "video.js": "8.22.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@ui5/webcomponents-tools": "1.24.15",
42
+ "@ui5/webcomponents-tools": "1.24.17",
43
43
  "chromedriver": "132.0.2",
44
44
  "cross-env": "^7.0.3",
45
45
  "typescript": "^4.9.4",
package/src/Accordion.ts CHANGED
@@ -28,7 +28,7 @@ import { COLLAPSE_ALL, EXPAND_ALL } from "./generated/i18n/i18n-defaults.js";
28
28
  * For the <code>udex-accordion</code>
29
29
  * <h3>ES6 Module Import</h3>
30
30
  *
31
- * <code>import @udex/web-components/dist/Accordion.js";</code>
31
+ * <code>import "@udex/web-components/dist/Accordion.js";</code>
32
32
  *
33
33
  * @constructor
34
34
  * @author SAP SE
@@ -99,7 +99,7 @@ class UDExAccordion extends UI5Element {
99
99
  }
100
100
 
101
101
  static async onDefine() {
102
- UDExAccordion.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
102
+ UDExAccordion.i18nBundle = await getI18nBundle("@udex/web-components");
103
103
  }
104
104
 
105
105
  get accordionClass(): string {
@@ -29,7 +29,7 @@ type ToggleAllEvent = {
29
29
  * For the <code>udex-accordion-item</code>
30
30
  * <h3>ES6 Module Import</h3>
31
31
  *
32
- * <code>import @udex/web-components/dist/AccordionItem.js";</code>
32
+ * <code>import "@udex/web-components/dist/AccordionItem.js";</code>
33
33
  *
34
34
  * @constructor
35
35
  * @author SAP SE
@@ -191,7 +191,7 @@ class UDExAccordionItem extends UI5Element {
191
191
  }
192
192
 
193
193
  this?.parentElement?.addEventListener("ui5-toggle-items", this.toggleAllHandler.bind(this));
194
- // TODO: this should be removed with transition to UI5 2.x, wne changed "title" attribute name.
194
+ // This should be removed with transition to UI5 2.x, we changed "title" attribute name.
195
195
  // Fix was provided to avoid reading "title" property by screen readers, which results reading title twice.
196
196
  this.setAttribute("aria-hidden", "true");
197
197
  }
package/src/Avatar.ts CHANGED
@@ -190,7 +190,7 @@ class UDExAvatar extends UI5Element {
190
190
  static i18nBundle: I18nBundle;
191
191
 
192
192
  static async onDefine(): Promise<void> {
193
- UDExAvatar.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
193
+ UDExAvatar.i18nBundle = await getI18nBundle("@udex/web-components");
194
194
  }
195
195
 
196
196
  handleClick(e: Event) {
@@ -301,7 +301,7 @@ class UDExBreadcrumbs extends UI5Element {
301
301
  }
302
302
 
303
303
  static async onDefine() {
304
- UDExBreadcrumbs.i18nBundle = await getI18nBundle("@ui5/webcomponents");
304
+ UDExBreadcrumbs.i18nBundle = await getI18nBundle("@udex/web-components");
305
305
  }
306
306
  }
307
307
 
package/src/Carousel.ts CHANGED
@@ -102,7 +102,7 @@ class UDExCarousel extends UI5Element {
102
102
  static i18nBundle: I18nBundle;
103
103
 
104
104
  static async onDefine() {
105
- UDExCarousel.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
105
+ UDExCarousel.i18nBundle = await getI18nBundle("@udex/web-components");
106
106
  }
107
107
 
108
108
  get nextPageText() {
package/src/Checkbox.ts CHANGED
@@ -17,7 +17,7 @@ import CheckboxCss from "./generated/themes/Checkbox.css.js";
17
17
  * For the <code>udex-checkbox</code>
18
18
  * <h3>ES6 Module Import</h3>
19
19
  *
20
- * <code>import @udex/web-components/dist/Checkbox.js";</code>
20
+ * <code>import "@udex/web-components/dist/Checkbox.js";</code>
21
21
  *
22
22
  * @constructor
23
23
  * @author SAP SE
@@ -16,47 +16,51 @@
16
16
  {{> trigger}}
17
17
  {{searchableList}}
18
18
  </udex-dropdown>
19
+ {{#if supportingText}}
20
+ <udex-status-message
21
+ ?disabled="{{disabled}}"
22
+ supporting-text="{{supportingText}}"
23
+ value-state="{{valueState}}">
24
+ </udex-status-message>
25
+ {{/if}}
19
26
  </div>
20
27
 
21
28
  {{#*inline "trigger"}}
22
29
  <div
23
30
  class="{{countrySelectorTriggerClasses}}"
24
31
  ?disabled="{{isOpenerDisabled}}"
25
- value="{{selectedCountryName}}"
26
32
  slot="trigger">
27
- {{#if showFlagImages}}
28
- <img
33
+ {{#if showFlagImages}}
34
+ <img
29
35
  class="udex-country-selector__image"
30
36
  design="Default"
31
- icon="decline"
32
- tooltip="Reset Button"
33
- aria-label="{{selectedCountryName}}"
37
+ aria-label="{{flagAriaLabel}}"
34
38
  style="background-position-x: {{selectedCountryFlagX}}; background-position-y: {{selectedCountryFlagY}}">
35
- {{/if}}
39
+ {{/if}}
36
40
  <udex-text-field
37
- label="{{label}}"
41
+ label="{{effectiveAriaLabel}}"
38
42
  id="udexTextField"
39
43
  class="udex-country-selector__text"
40
- value-state="Standard"
44
+ value="{{selectedCountryName}}"
45
+ value-state="{{valueState}}"
41
46
  direction="left"
42
47
  aria-label="{{effectiveAriaLabel}}"
48
+ accessible-name="{{supportingText}}"
43
49
  accessible-name-ref="{{accessibleNameRef}}"
44
50
  aria-controls="{{ariaControls}}"
45
51
  role="combobox"
46
52
  aria-haspopup="true"
47
53
  aria-expanded="{{_open}}"
54
+ ?active="{{_open}}"
48
55
  ?required="{{required}}"
49
56
  ?disabled="{{disabled}}"
50
57
  ?readonly="{{readonly}}"
51
58
  ?displayonly="{{displayonly}}"
52
59
  @click-trigger="{{handleKeyDown}}"
60
+ @mousedown="{{handleInputMouseDown}}"
61
+ icon="{{triggerIcon}}"
62
+ accessible-icon-name="{{effectiveAriaLabel}}"
53
63
  maxlength="0">
54
64
  </udex-text-field>
55
- {{#unless displayonly}}
56
- <ui5-icon
57
- class="udex-country-selector__icon"
58
- name="navigation-down-arrow">
59
- </ui5-icon>
60
- {{/unless}}
61
65
  </div>
62
66
  {{/inline}}
@@ -4,10 +4,15 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
4
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
5
5
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
6
6
  import executeTemplate from "@ui5/webcomponents-base/dist/renderer/executeTemplate.js";
7
- import { isEnter, isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
7
+ import {
8
+ isEnter, isSpace, isBackSpace, isDelete,
9
+ } from "@ui5/webcomponents-base/dist/Keys.js";
8
10
  import event from "@ui5/webcomponents-base/dist/decorators/event.js";
9
11
  import Button from "@ui5/webcomponents/dist/Button.js";
10
12
  import ResizeHandler, { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
13
+ import TextField from "./TextField.js";
14
+ import ValueState from "./types/common.js";
15
+ import StatusMessage from "./StatusMessage.js";
11
16
  import { COUNTRY_SELECT } from "./generated/i18n/i18n-defaults.js";
12
17
  import CountrySelectorTemplate from "./generated/templates/CountrySelectorTemplate.lit.js";
13
18
  import SearchableListBaseTemplate from "./generated/templates/SearchableListBaseTemplate.lit.js";
@@ -22,8 +27,6 @@ import { Country, CountryListDB } from "./data/CountryListISO3166.js";
22
27
  import UDExSearchableListBase from "./SearchableListBase.js";
23
28
  import UDExListItem from "./ListItem.js";
24
29
  import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
25
- import TextField from "./TextField.js";
26
-
27
30
  /**
28
31
  * @class
29
32
  *
@@ -35,7 +38,7 @@ import TextField from "./TextField.js";
35
38
  * For the <code>udex-country-selector</code>
36
39
  * <h3>ES6 Module Import</h3>
37
40
  *
38
- * <code>import @udex/web-components/dist/CountrySelector.js";</code>
41
+ * <code>import "@udex/web-components/dist/CountrySelector.js";</code>
39
42
  *
40
43
  * @constructor
41
44
  * @author SAP SE
@@ -55,6 +58,7 @@ import TextField from "./TextField.js";
55
58
  UDExDropdown,
56
59
  TextField,
57
60
  Button,
61
+ StatusMessage,
58
62
  ],
59
63
  })
60
64
 
@@ -229,6 +233,24 @@ class CountrySelector extends UDExSearchableListBase {
229
233
  @property({ type: String })
230
234
  searchPlaceholder!: string;
231
235
 
236
+ /**
237
+ * Defines the value state of the component.
238
+ *
239
+ * @default "Standard"
240
+ * @public
241
+ */
242
+ @property({ type: ValueState, defaultValue: ValueState.Standard })
243
+ valueState!: `${ValueState}`;
244
+
245
+ /**
246
+ * Defines supporting text under the country selector.
247
+ *
248
+ * @default ""
249
+ * @public
250
+ */
251
+ @property({ type: String, defaultValue: "" })
252
+ supportingText!: string;
253
+
232
254
  /**
233
255
  *
234
256
  * @public
@@ -240,7 +262,7 @@ class CountrySelector extends UDExSearchableListBase {
240
262
  _open?: boolean = false;
241
263
 
242
264
  countryList: Country[] = CountryListDB;
243
- selectedCountry!: Country;
265
+ selectedCountry!: Country | undefined;
244
266
 
245
267
  _dropdown!: UDExDropdown;
246
268
  _search!: Search;
@@ -250,7 +272,7 @@ class CountrySelector extends UDExSearchableListBase {
250
272
  static i18nBundle: I18nBundle;
251
273
 
252
274
  static async onDefine() {
253
- CountrySelector.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
275
+ CountrySelector.i18nBundle = await getI18nBundle("@udex/web-components");
254
276
  }
255
277
 
256
278
  constructor() {
@@ -275,7 +297,7 @@ class CountrySelector extends UDExSearchableListBase {
275
297
  }
276
298
 
277
299
  if (!this.selectedCountry) {
278
- this.selectedCountry = this.countryList.find(country => country.iso.toUpperCase() === this.preselectedCountry.toUpperCase()) || this.countryList[0];
300
+ this.selectedCountry = this.countryList.find(country => country.iso.toUpperCase() === this.preselectedCountry.toUpperCase());
279
301
  }
280
302
 
281
303
  this.prepareCountrySelectorItems();
@@ -335,7 +357,15 @@ class CountrySelector extends UDExSearchableListBase {
335
357
  }
336
358
 
337
359
  get selectedCountryName() {
338
- return this.getCountryLabel(this.selectedCountry?.countryName, this.selectedCountry?.localName);
360
+ return this.selectedCountry ? this.getCountryLabel(this.selectedCountry.countryName, this.selectedCountry.localName) : "";
361
+ }
362
+
363
+ get flagAriaLabel():string {
364
+ return this.getCountryLabel(this.selectedCountry?.countryName, this.selectedCountry?.localName) || "None";
365
+ }
366
+
367
+ get triggerIcon(): string {
368
+ return this._open ? "navigation-up-arrow" : "navigation-down-arrow";
339
369
  }
340
370
 
341
371
  get countrySelectorClasses() {
@@ -374,8 +404,8 @@ class CountrySelector extends UDExSearchableListBase {
374
404
  return this.hideFlagImages ? undefined : `<span class="udex-country-selector-item__image" style="background-position:${country.flagX}">`;
375
405
  }
376
406
 
377
- getCountryLabel(countryName: string, localName?: string) {
378
- return localName ? `${countryName} (${localName})` : countryName;
407
+ getCountryLabel(countryName?: string, localName?: string): string | null {
408
+ return localName ? `${countryName} (${localName})` : countryName || null;
379
409
  }
380
410
 
381
411
  handleCloseSearch() {
@@ -386,7 +416,7 @@ class CountrySelector extends UDExSearchableListBase {
386
416
  this.onItemPress(e);
387
417
  const target = e.target as HTMLElement;
388
418
  const item: any = this.getItemFromList(target?.getAttribute("data-token-id") as string);
389
- this.selectedCountry = this.countryList.find(country => country.iso === item._id) || this.countryList[0];
419
+ this.selectedCountry = this.countryList.find(country => country.iso === item._id);
390
420
  this._dropdown.onClose();
391
421
  }
392
422
 
@@ -403,6 +433,9 @@ class CountrySelector extends UDExSearchableListBase {
403
433
  } else {
404
434
  this._dropdown.onTriggerClick();
405
435
  }
436
+ } else if (isBackSpace(keyEvent) || isDelete(keyEvent)) {
437
+ this.selectedCountry = undefined;
438
+ this._render();
406
439
  } else if (this.isLetterKey(key)) {
407
440
  this._dropdown.onOpen(this.getInput());
408
441
  this._search.focus();
@@ -411,6 +444,10 @@ class CountrySelector extends UDExSearchableListBase {
411
444
  }
412
445
  }
413
446
 
447
+ handleInputMouseDown(e: CustomEvent) {
448
+ e.preventDefault();
449
+ }
450
+
414
451
  onValueSearch(searchValue: string) {
415
452
  this._shouldFilterItems = true;
416
453
  this._filteredItems = this.filterItems(this.getProcessedItems(), searchValue);
@@ -442,7 +479,7 @@ class CountrySelector extends UDExSearchableListBase {
442
479
  prepareCountrySelectorItems(): void {
443
480
  this.items.length = 0;
444
481
  this.countryList.forEach(country => {
445
- const selected = country.iso.toUpperCase() === this.selectedCountry.iso.toUpperCase();
482
+ const selected = country.iso.toUpperCase() === this.selectedCountry?.iso.toUpperCase();
446
483
  this.items.push({
447
484
  label: this.getCountryLabel(country.countryName, country.localName),
448
485
  innerHTML: this.getItemTemplate(country),
@@ -465,7 +502,7 @@ class CountrySelector extends UDExSearchableListBase {
465
502
  }
466
503
 
467
504
  get effectiveAriaLabel(): string {
468
- return this.accessibleName || CountrySelector.i18nBundle.getText(COUNTRY_SELECT);
505
+ return this.label || this.accessibleName || CountrySelector.i18nBundle.getText(COUNTRY_SELECT);
469
506
  }
470
507
  }
471
508
 
@@ -1,16 +1,15 @@
1
1
  <div
2
- class="udex-date-picker__container"
3
- >
2
+ class="udex-date-picker__container">
4
3
  <udex-text-field
5
4
  @click="{{handleInputClick}}"
6
5
  @mousedown="{{handleInputMouseDown}}"
7
6
  @keydown="{{handleInputKeyDown}}"
8
7
  class="udex-date-picker__input udex-date-picker__trigger"
9
8
  label="{{label}}"
10
- accessible-name="{{accessibleName}}"
9
+ accessible-name="{{dateAccessibleName}}"
11
10
  accessible-name-ref="{{accessibleNameRef}}"
12
11
  accessible-icon-name="{{accessibleIconName}}"
13
- aria-haspopup="grid"
12
+ _aria-has-popup="grid"
14
13
  ?disabled="{{disabled}}"
15
14
  ?required="{{required}}"
16
15
  ?readonly="{{readonly}}"
@@ -20,10 +19,10 @@
20
19
  >
21
20
  </udex-text-field>
22
21
  {{#if supportingText}}
23
- <udex-status-message
24
- ?disabled="{{disabled}}"
25
- supporting-text="{{supportingText}}"
26
- value-state="{{valueState}}">
22
+ <udex-status-message
23
+ ?disabled="{{disabled}}"
24
+ supporting-text="{{supportingText}}"
25
+ value-state="{{valueState}}">
27
26
  </udex-status-message>
28
27
  {{/if}}
29
28
  </div>
package/src/DatePicker.ts CHANGED
@@ -10,7 +10,7 @@ import "@ui5/webcomponents/dist/Icon.js";
10
10
  import "@ui5/webcomponents-icons/dist/appointment-2.js";
11
11
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
12
12
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
13
- import { CALENDAR_ICON } from "./generated/i18n/i18n-defaults.js";
13
+ import { CALENDAR_ICON, DATEPICKER_DATE_DESCRIPTION } from "./generated/i18n/i18n-defaults.js";
14
14
 
15
15
  // Template
16
16
  import DatePickerTemplate from "./generated/templates/DatePickerTemplate.lit.js";
@@ -223,16 +223,16 @@ class UDExDatePicker extends UI5Element {
223
223
 
224
224
  static i18nBundle: I18nBundle;
225
225
 
226
- static async onDefine() {
227
- UDExDatePicker.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
226
+ static async onDefine(): Promise<void> {
227
+ UDExDatePicker.i18nBundle = await getI18nBundle("@udex/web-components");
228
228
  }
229
229
 
230
- async _getCalendar() {
230
+ async _getCalendar(): Promise<Calendar> {
231
231
  const staticAreaItem = await this.getStaticAreaItemDomRef();
232
232
  return staticAreaItem!.querySelector<Calendar>("#ui5-calendar")!;
233
233
  }
234
234
 
235
- async _getResponsePopover() {
235
+ async _getResponsePopover(): Promise<UDExDropdown> {
236
236
  const staticAreaItem = await this.getStaticAreaItemDomRef();
237
237
  return staticAreaItem!.querySelector<UDExDropdown>(`#udex-${this.__id!}-calendar__popover`)!;
238
238
  }
@@ -241,24 +241,24 @@ class UDExDatePicker extends UI5Element {
241
241
  * Getter for the interactive element that opens the overflow
242
242
  * @private
243
243
  */
244
- get _dropdownTrigger() {
244
+ get _dropdownTrigger(): UDExTextField {
245
245
  return this.shadowRoot!.querySelector<UDExTextField>(".udex-date-picker__trigger")!;
246
246
  }
247
247
 
248
- _afterDropdownClose() {
248
+ _afterDropdownClose(): void {
249
249
  this._dropdownTrigger.active = false;
250
250
  this._dropdownTrigger.shadowRoot?.querySelector("input")?.focus();
251
251
  }
252
252
 
253
- _afterDropdownOpen() {
253
+ _afterDropdownOpen(): void {
254
254
  this._dropdownTrigger.active = true;
255
255
  }
256
256
 
257
- _closeRespPopover() {
257
+ _closeRespPopover(): void {
258
258
  this.responsivePopover && this.responsivePopover.onClose();
259
259
  }
260
260
 
261
- async _openRespPopover() {
261
+ async _openRespPopover(): Promise<void> {
262
262
  this._dropdownTrigger.active = true;
263
263
  this.responsivePopover = await this._getResponsePopover();
264
264
  this.responsivePopover?.onOpen(this._dropdownTrigger);
@@ -337,9 +337,13 @@ class UDExDatePicker extends UI5Element {
337
337
  return [];
338
338
  }
339
339
 
340
- get accessibleIconName() {
340
+ get accessibleIconName(): string {
341
341
  return UDExDatePicker.i18nBundle.getText(CALENDAR_ICON);
342
342
  }
343
+
344
+ get dateAccessibleName(): string {
345
+ return this.accessibleName || UDExDatePicker.i18nBundle.getText(DATEPICKER_DATE_DESCRIPTION);
346
+ }
343
347
  }
344
348
 
345
349
  UDExDatePicker.define();
package/src/Dropdown.hbs CHANGED
@@ -7,6 +7,7 @@
7
7
  aria-expanded="{{open}}"
8
8
  aria-haspopup="true"
9
9
  aria-controls="{{this._id}}_udex-dropdown"
10
+ id="{{this._id}}-trigger"
10
11
  @click="{{onTriggerClick}}">
11
12
  <slot slot="trigger" name="trigger"></slot>
12
13
  </div>
@@ -16,6 +17,8 @@
16
17
  class="udex-dropdown__pane"
17
18
  ?allow-target-overlap="{{disableAllowTargetOverlap}}"
18
19
  hide-arrow
20
+ .open="{{open}}"
21
+ opener="{{this._id}}-trigger"
19
22
  placement-type="{{placementType}}"
20
23
  horizontal-align="{{horizontalAlign}}"
21
24
  accessible-name="{{accessibleName}}"
package/src/Dropdown.ts CHANGED
@@ -27,7 +27,7 @@ import DropdownCss from "./generated/themes/Dropdown.css";
27
27
  * For the <code>udex-dropdown</code>
28
28
  * <h3>ES6 Module Import</h3>
29
29
  *
30
- * <code>import @udex/web-components/dist/Dropdown.js";</code>
30
+ * <code>import "@udex/web-components/dist/Dropdown.js";</code>
31
31
  *
32
32
  * @constructor
33
33
  * @author SAP SE
@@ -200,9 +200,10 @@ class UDExDropdown extends UI5Element {
200
200
  _direction?: string;
201
201
 
202
202
  static i18nBundle: I18nBundle;
203
+ _breakpointSizeXS = 640;
203
204
 
204
205
  static async onDefine(): Promise<void> {
205
- UDExDropdown.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
206
+ UDExDropdown.i18nBundle = await getI18nBundle("@udex/web-components");
206
207
  }
207
208
 
208
209
  onAfterRendering() {
@@ -250,6 +251,7 @@ class UDExDropdown extends UI5Element {
250
251
  onOpen(opener: HTMLElement): void {
251
252
  const dropdown = this.getDropdownPane();
252
253
  dropdown.showAt(opener);
254
+ this.open = true;
253
255
  }
254
256
 
255
257
  /**
@@ -258,8 +260,7 @@ class UDExDropdown extends UI5Element {
258
260
  * @public
259
261
  */
260
262
  onClose():void {
261
- const dropdown = this.getDropdownPane();
262
- dropdown.close(true);
263
+ this.open = false;
263
264
  }
264
265
 
265
266
  afterDropdownClose() {
@@ -269,6 +270,13 @@ class UDExDropdown extends UI5Element {
269
270
 
270
271
  afterDropdownOpen() {
271
272
  this.open = true;
273
+ const dropdownPane = this.getDropdownPane();
274
+ const dropdownPaneLeftOffset = +dropdownPane.style.left.split("px")[0];
275
+ if (dropdownPane.offsetWidth + dropdownPaneLeftOffset < this._breakpointSizeXS) {
276
+ this.style.setProperty("--udex-dropdown-left-offset", `${dropdownPane.style.left}`);
277
+ } else {
278
+ dropdownPane.style.setProperty("--udex-dropdown-pane-width", `${this.offsetWidth}px`);
279
+ }
272
280
  this.fireEvent("after-open");
273
281
  }
274
282
 
@@ -1,64 +1,63 @@
1
- <udex-dropdown
2
- id="{{this._id}}_dropdown-menu"
3
- class="udex-filter-menu"
4
- ?disable-target-overlap="{{disableTargetOverlap}}"
5
- placement-type="{{placementType}}"
6
- horizontal-align="{{horizontalAlign}}"
7
- height="{{height}}"
8
- accessible-role="{{accessibleRole}}"
9
- @ui5-select-all="{{handleSelectAll}}"
10
- @ui5-item-press="{{handleItemPress}}"
11
- @ui5-header-press="{{handleHeaderPress}}"
12
- @ui5-before-open="{{_dropdownBeforeOpen}}"
13
- @ui5-after-open="{{_dropdownAfterOpen}}"
14
- @ui5-before-close="{{_dropdownBeforeClose}}"
15
- @ui5-after-close="{{_dropdownAfterClose}}"
16
- @click-trigger="{{onDropdownClose}}"
17
- @search-keydown="{{handleKeyDownSearch}}"
18
- @keydown="{{handleKeyDownList}}"
19
- @ui5-submit-search-value="{{handleSubmitSearch}}"
20
- @ui5-handle-value-search="{{handleValueSearch}}"
21
- @ui5-handle-value-reset="{{handleResetSearch}}">
22
- {{> trigger}}
23
- {{searchableList}}
24
- {{#if modeMultiSelect}}
25
- {{> buttons}}
26
- {{/if}}
27
- </udex-dropdown>
28
-
29
- {{#*inline "trigger"}}
1
+ <div>
30
2
  <button
31
- aria-label="{{accessibleName}}"
32
- aria-expanded="{{_open}}"
33
- aria-haspopup="true"
34
- role="{{triggerAccessibleRole}}"
35
- aria-controls="{{this._id}}_dropdown-menu"
36
- ?disabled="{{disabled}}"
37
- class="udex-filter-menu__trigger"
38
- slot="trigger"
39
- tabindex="0">
40
- {{#if hasFilterNamePrefix}}
41
- <span class="udex-filter-menu__trigger-prefix">{{filterNamePrefix}}</span>
3
+ id="filterMenuTrigger"
4
+ @click="{{handleTriggerClick}}"
5
+ @keydown="{{handleTriggerKeydown}}"
6
+ aria-label="{{triggerButtonAccessibleName}}"
7
+ aria-expanded="{{_open}}"
8
+ aria-haspopup="true"
9
+ role="{{triggerAccessibleRole}}"
10
+ aria-controls="{{this._id}}_udex-filter-menu-dropdown"
11
+ ?disabled="{{disabled}}"
12
+ class="udex-filter-menu__trigger"
13
+ tabindex="0">
14
+ {{#if hasFilterNamePrefix}}
15
+ <span class="udex-filter-menu__trigger-prefix">{{filterNamePrefix}}</span>
16
+ {{/if}}
17
+ <span class="udex-filter-menu__trigger-wrap" ?disabled="{{disabled}}">
18
+ <span class="udex-filter-menu__trigger-name">{{filterName}}</span>
19
+ {{#if badgeValue}}
20
+ <udex-badge
21
+ class="udex-filter-menu__badge"
22
+ type="Number"
23
+ design="Info"
24
+ size="Small">
25
+ {{badgeValue}}
26
+ </udex-badge>
42
27
  {{/if}}
43
- <span class="udex-filter-menu__trigger-wrap" ?disabled="{{disabled}}">
44
- <span class="udex-filter-menu__trigger-name">{{filterName}}</span>
45
- {{#if badgeValue}}
46
- <udex-badge
47
- class="udex-filter-menu__badge"
48
- type="Number"
49
- design="Info"
50
- size="Small">
51
- {{badgeValue}}
52
- </udex-badge>
53
- {{/if}}
54
- <ui5-icon
55
- class="udex-filter-menu__trigger-icon"
56
- name="navigation-down-arrow"
57
- accessible-name="{{_iconAccessibleNameText}}">
58
- </ui5-icon>
59
- </span>
60
- </button>
61
- {{/inline}}
28
+ <ui5-icon
29
+ class="udex-filter-menu__trigger-icon"
30
+ name="navigation-down-arrow"
31
+ accessible-name="{{_iconAccessibleNameText}}">
32
+ </ui5-icon>
33
+ </span>
34
+ </button>
35
+ <ui5-popover
36
+ id="{{this._id}}_udex-filter-menu-dropdown"
37
+ hide-arrow
38
+ ?allow-target-overlap="{{disableAllowTargetOverlap}}"
39
+ placement-type="{{placementType}}"
40
+ horizontal-align="{{horizontalAlign}}"
41
+ @ui5-item-press="{{handleItemPress}}"
42
+ @ui5-header-press="{{handleHeaderPress}}"
43
+ @keydown="{{handleKeyDownList}}"
44
+ @search-keydown="{{handleKeyDownSearch}}"
45
+ @ui5-before-open="{{_dropdownBeforeOpen}}"
46
+ @ui5-after-open="{{_dropdownAfterOpen}}"
47
+ @ui5-before-close="{{_dropdownBeforeClose}}"
48
+ @ui5-after-close="{{_dropdownAfterClose}}"
49
+ @ui5-select-all="{{handleSelectAll}}"
50
+ @ui5-submit-search-value="{{handleSubmitSearch}}"
51
+ @ui5-handle-value-search="{{handleValueSearch}}"
52
+ @ui5-handle-value-reset="{{handleResetSearch}}">
53
+ {{searchableList}}
54
+ {{#if modeMultiSelect}}
55
+ {{> buttons}}
56
+ {{/if}}
57
+ </ui5-popover>
58
+ </div>
59
+
60
+
62
61
 
63
62
  {{#*inline "buttons"}}
64
63
  {{#unless hideActionBar}}