@sapudex/web-components 0.127.6 → 0.138.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 (366) hide show
  1. package/bundle.esm.js +2 -0
  2. package/dist/Accordion.d.ts +1 -1
  3. package/dist/Accordion.js +1 -1
  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/Checkbox.d.ts +1 -1
  9. package/dist/Checkbox.js +1 -1
  10. package/dist/Checkbox.js.map +1 -1
  11. package/dist/CountrySelector.d.ts +24 -6
  12. package/dist/CountrySelector.js +25 -7
  13. package/dist/CountrySelector.js.map +1 -1
  14. package/dist/DatePicker.d.ts +1 -0
  15. package/dist/DatePicker.js +4 -1
  16. package/dist/DatePicker.js.map +1 -1
  17. package/dist/Dropdown.d.ts +1 -1
  18. package/dist/Dropdown.js +3 -3
  19. package/dist/Dropdown.js.map +1 -1
  20. package/dist/FilterMenu.d.ts +19 -5
  21. package/dist/FilterMenu.js +57 -20
  22. package/dist/FilterMenu.js.map +1 -1
  23. package/dist/Footer.d.ts +9 -1
  24. package/dist/Footer.js +8 -1
  25. package/dist/Footer.js.map +1 -1
  26. package/dist/Link.d.ts +1 -1
  27. package/dist/Link.js +1 -1
  28. package/dist/Link.js.map +1 -1
  29. package/dist/List.d.ts +1 -1
  30. package/dist/List.js +17 -1
  31. package/dist/List.js.map +1 -1
  32. package/dist/ListGroupHeader.d.ts +2 -2
  33. package/dist/ListGroupHeader.js +2 -2
  34. package/dist/ListGroupHeader.js.map +1 -1
  35. package/dist/ListItem.d.ts +3 -3
  36. package/dist/ListItem.js +6 -7
  37. package/dist/ListItem.js.map +1 -1
  38. package/dist/ListSelectAll.d.ts +1 -1
  39. package/dist/ListSelectAll.js +1 -1
  40. package/dist/ListSelectAll.js.map +1 -1
  41. package/dist/MastheadItem.d.ts +9 -1
  42. package/dist/MastheadItem.js +26 -9
  43. package/dist/MastheadItem.js.map +1 -1
  44. package/dist/MastheadMenu.d.ts +5 -0
  45. package/dist/MastheadMenu.js +24 -0
  46. package/dist/MastheadMenu.js.map +1 -1
  47. package/dist/MastheadMenuItem.d.ts +2 -3
  48. package/dist/MastheadMenuItem.js +2 -17
  49. package/dist/MastheadMenuItem.js.map +1 -1
  50. package/dist/MastheadMobileMenu.d.ts +25 -5
  51. package/dist/MastheadMobileMenu.js +135 -21
  52. package/dist/MastheadMobileMenu.js.map +1 -1
  53. package/dist/MastheadProfileMenu.d.ts +13 -4
  54. package/dist/MastheadProfileMenu.js +40 -9
  55. package/dist/MastheadProfileMenu.js.map +1 -1
  56. package/dist/MastheadShell.d.ts +3 -0
  57. package/dist/MastheadShell.js +42 -8
  58. package/dist/MastheadShell.js.map +1 -1
  59. package/dist/MediaPlayer.d.ts +3 -3
  60. package/dist/MediaPlayer.js +115 -25
  61. package/dist/MediaPlayer.js.map +1 -1
  62. package/dist/PhoneNumberField.d.ts +26 -0
  63. package/dist/PhoneNumberField.js +46 -2
  64. package/dist/PhoneNumberField.js.map +1 -1
  65. package/dist/ReviewItem.d.ts +105 -0
  66. package/dist/ReviewItem.js +157 -0
  67. package/dist/ReviewItem.js.map +1 -0
  68. package/dist/Search.d.ts +15 -1
  69. package/dist/Search.js +30 -5
  70. package/dist/Search.js.map +1 -1
  71. package/dist/SecondaryNavigation.d.ts +1 -0
  72. package/dist/SecondaryNavigation.js +11 -10
  73. package/dist/SecondaryNavigation.js.map +1 -1
  74. package/dist/SecondaryNavigationItem.js +1 -1
  75. package/dist/SecondaryNavigationItem.js.map +1 -1
  76. package/dist/SecondaryNavigationItemBase.js +1 -1
  77. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  78. package/dist/SelectBox.d.ts +33 -9
  79. package/dist/SelectBox.js +119 -60
  80. package/dist/SelectBox.js.map +1 -1
  81. package/dist/Switch.d.ts +19 -0
  82. package/dist/Switch.js +19 -0
  83. package/dist/Switch.js.map +1 -1
  84. package/dist/Tab.d.ts +1 -1
  85. package/dist/Tab.js +1 -1
  86. package/dist/Tab.js.map +1 -1
  87. package/dist/TabNavigation.d.ts +1 -1
  88. package/dist/TabNavigation.js +1 -1
  89. package/dist/TabNavigation.js.map +1 -1
  90. package/dist/Tag.d.ts +9 -1
  91. package/dist/Tag.js +20 -3
  92. package/dist/Tag.js.map +1 -1
  93. package/dist/TagGroup.d.ts +94 -0
  94. package/dist/TagGroup.js +174 -0
  95. package/dist/TagGroup.js.map +1 -0
  96. package/dist/TextArea.d.ts +13 -0
  97. package/dist/TextArea.js +15 -0
  98. package/dist/TextArea.js.map +1 -1
  99. package/dist/TextField.d.ts +23 -13
  100. package/dist/TextField.js +16 -2
  101. package/dist/TextField.js.map +1 -1
  102. package/dist/Tooltip.d.ts +1 -1
  103. package/dist/Tooltip.js +1 -1
  104. package/dist/Tooltip.js.map +1 -1
  105. package/dist/assets/{bundle.esm-7d53f4f2.js → bundle.esm-bb1c7413.js} +190 -188
  106. package/dist/assets/messagebundle_en-c677773a.js +1 -0
  107. package/dist/assets/parameters-bundle.css-c897ae23.js +2 -0
  108. package/dist/assets/video.es-60bfb78c.js +228 -0
  109. package/dist/css/themes/CountrySelector.css +1 -1
  110. package/dist/css/themes/FilterMenu.css +1 -1
  111. package/dist/css/themes/ListItem.css +1 -1
  112. package/dist/css/themes/MastheadItem.css +1 -1
  113. package/dist/css/themes/MastheadMobileMenu.css +1 -1
  114. package/dist/css/themes/PhoneNumberField.css +1 -1
  115. package/dist/css/themes/RatingIndicator.css +1 -1
  116. package/dist/css/themes/ReviewItem.css +1 -0
  117. package/dist/css/themes/Search.css +1 -1
  118. package/dist/css/themes/SecondaryNavigation.css +1 -1
  119. package/dist/css/themes/SecondaryNavigationItem.css +1 -1
  120. package/dist/css/themes/SecondaryNavigationSubItem.css +1 -1
  121. package/dist/css/themes/SelectBox.css +1 -1
  122. package/dist/css/themes/Slider.css +1 -1
  123. package/dist/css/themes/Tag.css +1 -1
  124. package/dist/css/themes/TagGroup.css +1 -0
  125. package/dist/css/themes/TextArea.css +1 -1
  126. package/dist/css/themes/TextField.css +1 -1
  127. package/dist/css/themes/Toast.css +1 -1
  128. package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
  129. package/dist/custom-elements-internal.json +783 -362
  130. package/dist/custom-elements.json +751 -369
  131. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  132. package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +1 -1
  133. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  134. package/dist/generated/i18n/i18n-defaults.js +6 -4
  135. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  136. package/dist/generated/templates/CountrySelectorTemplate.lit.js +3 -3
  137. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  138. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  139. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  140. package/dist/generated/templates/DropdownTemplate.lit.js +2 -2
  141. package/dist/generated/templates/DropdownTemplate.lit.js.map +1 -1
  142. package/dist/generated/templates/FilterMenuTemplate.lit.js +1 -1
  143. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  144. package/dist/generated/templates/FooterTemplate.lit.js +9 -9
  145. package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
  146. package/dist/generated/templates/HeroBannerTemplate.lit.js +7 -8
  147. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  148. package/dist/generated/templates/ListItemTemplate.lit.js +6 -6
  149. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  150. package/dist/generated/templates/ListSelectAllTemplate.lit.js +1 -1
  151. package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +1 -1
  152. package/dist/generated/templates/MastheadItemTemplate.lit.js +3 -3
  153. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  154. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +1 -1
  155. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
  156. package/dist/generated/templates/MastheadMenuTemplate.lit.js +2 -2
  157. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  158. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +16 -12
  159. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  160. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +2 -2
  161. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
  162. package/dist/generated/templates/MastheadShellTemplate.lit.js +7 -7
  163. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  164. package/dist/generated/templates/MediaPlayerTemplate.lit.js +2 -2
  165. package/dist/generated/templates/MediaPlayerTemplate.lit.js.map +1 -1
  166. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +5 -2
  167. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  168. package/dist/generated/templates/ReviewItemTemplate.lit.d.ts +4 -0
  169. package/dist/generated/templates/ReviewItemTemplate.lit.js +8 -0
  170. package/dist/generated/templates/ReviewItemTemplate.lit.js.map +1 -0
  171. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +7 -6
  172. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  173. package/dist/generated/templates/SelectBoxTemplate.lit.js +2 -2
  174. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  175. package/dist/generated/templates/TabHeaderTemplate.lit.js +2 -2
  176. package/dist/generated/templates/TabHeaderTemplate.lit.js.map +1 -1
  177. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -6
  178. package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -1
  179. package/dist/generated/templates/TabNavigationTemplate.lit.js +3 -1
  180. package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
  181. package/dist/generated/templates/TagGroupTemplate.lit.d.ts +4 -0
  182. package/dist/generated/templates/TagGroupTemplate.lit.js +8 -0
  183. package/dist/generated/templates/TagGroupTemplate.lit.js.map +1 -0
  184. package/dist/generated/templates/TagTemplate.lit.js +11 -7
  185. package/dist/generated/templates/TagTemplate.lit.js.map +1 -1
  186. package/dist/generated/templates/TextAreaTemplate.lit.js +1 -1
  187. package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
  188. package/dist/generated/templates/TextFieldTemplate.lit.js +1 -1
  189. package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
  190. package/dist/generated/themes/CountrySelector.css.js +1 -1
  191. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  192. package/dist/generated/themes/FilterMenu.css.js +1 -1
  193. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  194. package/dist/generated/themes/ListItem.css.js +1 -1
  195. package/dist/generated/themes/ListItem.css.js.map +1 -1
  196. package/dist/generated/themes/MastheadItem.css.js +1 -1
  197. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  198. package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
  199. package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
  200. package/dist/generated/themes/PhoneNumberField.css.js +1 -1
  201. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  202. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  203. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  204. package/dist/generated/themes/ReviewItem.css.d.ts +3 -0
  205. package/dist/generated/themes/ReviewItem.css.js +9 -0
  206. package/dist/generated/themes/ReviewItem.css.js.map +1 -0
  207. package/dist/generated/themes/Search.css.js +1 -1
  208. package/dist/generated/themes/Search.css.js.map +1 -1
  209. package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
  210. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  211. package/dist/generated/themes/SecondaryNavigationItem.css.js +1 -1
  212. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
  213. package/dist/generated/themes/SecondaryNavigationSubItem.css.js +1 -1
  214. package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
  215. package/dist/generated/themes/SelectBox.css.js +1 -1
  216. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  217. package/dist/generated/themes/Slider.css.js +1 -1
  218. package/dist/generated/themes/Slider.css.js.map +1 -1
  219. package/dist/generated/themes/Tag.css.js +1 -1
  220. package/dist/generated/themes/Tag.css.js.map +1 -1
  221. package/dist/generated/themes/TagGroup.css.d.ts +3 -0
  222. package/dist/generated/themes/TagGroup.css.js +9 -0
  223. package/dist/generated/themes/TagGroup.css.js.map +1 -0
  224. package/dist/generated/themes/TextArea.css.js +1 -1
  225. package/dist/generated/themes/TextArea.css.js.map +1 -1
  226. package/dist/generated/themes/TextField.css.js +1 -1
  227. package/dist/generated/themes/TextField.css.js.map +1 -1
  228. package/dist/generated/themes/Toast.css.js +1 -1
  229. package/dist/generated/themes/Toast.css.js.map +1 -1
  230. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +1 -1
  231. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +1 -1
  232. package/dist/i18n/messagebundle.properties +7 -3
  233. package/dist/i18n/messagebundle_en.properties +5 -3
  234. package/dist/vscode.html-custom-data.json +148 -78
  235. package/dist/web-types.json +382 -142
  236. package/package.json +8 -8
  237. package/src/Accordion.ts +1 -1
  238. package/src/AccordionItem.ts +2 -2
  239. package/src/Checkbox.ts +1 -1
  240. package/src/CountrySelector.hbs +19 -15
  241. package/src/CountrySelector.ts +42 -9
  242. package/src/DatePicker.hbs +7 -8
  243. package/src/DatePicker.ts +14 -10
  244. package/src/Dropdown.hbs +3 -0
  245. package/src/Dropdown.ts +3 -3
  246. package/src/FilterMenu.hbs +58 -59
  247. package/src/FilterMenu.ts +91 -37
  248. package/src/Footer.hbs +9 -0
  249. package/src/Footer.ts +10 -1
  250. package/src/HeroBanner.hbs +4 -1
  251. package/src/Link.ts +1 -1
  252. package/src/List.ts +43 -23
  253. package/src/ListGroupHeader.ts +2 -2
  254. package/src/ListItem.hbs +4 -2
  255. package/src/ListItem.ts +8 -10
  256. package/src/ListSelectAll.hbs +1 -1
  257. package/src/ListSelectAll.ts +1 -1
  258. package/src/MastheadItem.hbs +5 -3
  259. package/src/MastheadItem.ts +35 -8
  260. package/src/MastheadMenu.hbs +4 -2
  261. package/src/MastheadMenu.ts +30 -0
  262. package/src/MastheadMenuItem.hbs +0 -2
  263. package/src/MastheadMenuItem.ts +2 -16
  264. package/src/MastheadMobileMenu.hbs +36 -10
  265. package/src/MastheadMobileMenu.ts +162 -22
  266. package/src/MastheadProfileMenu.hbs +6 -2
  267. package/src/MastheadProfileMenu.ts +66 -20
  268. package/src/MastheadShell.hbs +10 -4
  269. package/src/MastheadShell.ts +49 -8
  270. package/src/MediaPlayer.hbs +1 -3
  271. package/src/MediaPlayer.ts +122 -26
  272. package/src/PhoneNumberField.hbs +18 -3
  273. package/src/PhoneNumberField.ts +67 -2
  274. package/src/ReviewItem.hbs +20 -0
  275. package/src/ReviewItem.ts +227 -0
  276. package/src/Search.ts +41 -4
  277. package/src/SecondaryNavigation.hbs +9 -7
  278. package/src/SecondaryNavigation.ts +13 -11
  279. package/src/SecondaryNavigationItem.ts +1 -1
  280. package/src/SecondaryNavigationItemBase.ts +1 -1
  281. package/src/SelectBox.hbs +9 -7
  282. package/src/SelectBox.ts +153 -72
  283. package/src/Switch.ts +21 -0
  284. package/src/Tab.ts +1 -1
  285. package/src/TabHeader.hbs +3 -1
  286. package/src/TabInOverflow.hbs +16 -4
  287. package/src/TabNavigation.hbs +15 -7
  288. package/src/TabNavigation.ts +1 -1
  289. package/src/Tag.hbs +28 -12
  290. package/src/Tag.ts +25 -4
  291. package/src/TagGroup.hbs +48 -0
  292. package/src/TagGroup.ts +222 -0
  293. package/src/TextArea.hbs +36 -33
  294. package/src/TextArea.ts +25 -0
  295. package/src/TextField.hbs +8 -6
  296. package/src/TextField.ts +50 -18
  297. package/src/Tooltip.ts +1 -1
  298. package/src/generated/i18n/i18n-defaults.ts +2 -2
  299. package/src/generated/templates/CountrySelectorTemplate.lit.ts +3 -3
  300. package/src/generated/templates/DatePickerTemplate.lit.ts +1 -1
  301. package/src/generated/templates/DropdownTemplate.lit.ts +2 -2
  302. package/src/generated/templates/FilterMenuTemplate.lit.ts +1 -1
  303. package/src/generated/templates/FooterTemplate.lit.ts +9 -9
  304. package/src/generated/templates/HeroBannerTemplate.lit.ts +7 -8
  305. package/src/generated/templates/ListItemTemplate.lit.ts +6 -6
  306. package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
  307. package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
  308. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +1 -1
  309. package/src/generated/templates/MastheadMenuTemplate.lit.ts +2 -2
  310. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +16 -12
  311. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +2 -2
  312. package/src/generated/templates/MastheadShellTemplate.lit.ts +7 -7
  313. package/src/generated/templates/MediaPlayerTemplate.lit.ts +2 -2
  314. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +5 -2
  315. package/src/generated/templates/ReviewItemTemplate.lit.ts +13 -0
  316. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -6
  317. package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
  318. package/src/generated/templates/TabHeaderTemplate.lit.ts +2 -2
  319. package/src/generated/templates/TabInOverflowTemplate.lit.ts +6 -6
  320. package/src/generated/templates/TabNavigationTemplate.lit.ts +3 -1
  321. package/src/generated/templates/TagGroupTemplate.lit.ts +13 -0
  322. package/src/generated/templates/TagTemplate.lit.ts +11 -7
  323. package/src/generated/templates/TextAreaTemplate.lit.ts +1 -1
  324. package/src/generated/templates/TextFieldTemplate.lit.ts +1 -1
  325. package/src/generated/themes/CountrySelector.css.ts +1 -1
  326. package/src/generated/themes/FilterMenu.css.ts +1 -1
  327. package/src/generated/themes/ListItem.css.ts +1 -1
  328. package/src/generated/themes/MastheadItem.css.ts +1 -1
  329. package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
  330. package/src/generated/themes/PhoneNumberField.css.ts +1 -1
  331. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  332. package/src/generated/themes/ReviewItem.css.ts +13 -0
  333. package/src/generated/themes/Search.css.ts +1 -1
  334. package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
  335. package/src/generated/themes/SecondaryNavigationItem.css.ts +1 -1
  336. package/src/generated/themes/SecondaryNavigationSubItem.css.ts +1 -1
  337. package/src/generated/themes/SelectBox.css.ts +1 -1
  338. package/src/generated/themes/Slider.css.ts +1 -1
  339. package/src/generated/themes/Tag.css.ts +1 -1
  340. package/src/generated/themes/TagGroup.css.ts +13 -0
  341. package/src/generated/themes/TextArea.css.ts +1 -1
  342. package/src/generated/themes/TextField.css.ts +1 -1
  343. package/src/generated/themes/Toast.css.ts +1 -1
  344. package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
  345. package/src/i18n/messagebundle.properties +7 -3
  346. package/src/i18n/messagebundle_en.properties +5 -3
  347. package/src/themes/CountrySelector.css +49 -26
  348. package/src/themes/FilterMenu.css +52 -15
  349. package/src/themes/ListItem.css +4 -0
  350. package/src/themes/MastheadItem.css +12 -2
  351. package/src/themes/MastheadMobileMenu.css +4 -0
  352. package/src/themes/PhoneNumberField.css +14 -1
  353. package/src/themes/ReviewItem.css +121 -0
  354. package/src/themes/Search.css +9 -0
  355. package/src/themes/SecondaryNavigation.css +13 -14
  356. package/src/themes/SecondaryNavigationItem.css +3 -2
  357. package/src/themes/SecondaryNavigationSubItem.css +5 -5
  358. package/src/themes/SelectBox.css +34 -0
  359. package/src/themes/Tag.css +20 -0
  360. package/src/themes/TagGroup.css +90 -0
  361. package/src/themes/TextArea.css +13 -0
  362. package/src/themes/TextField.css +25 -8
  363. package/src/themes/Toast.css +4 -0
  364. package/dist/assets/messagebundle_en-6dcc9ab4.js +0 -1
  365. package/dist/assets/parameters-bundle.css-de55cf62.js +0 -2
  366. package/dist/assets/video.es-17aecf95.js +0 -219
package/dist/Dropdown.js CHANGED
@@ -31,7 +31,7 @@ import DropdownCss from "./generated/themes/Dropdown.css";
31
31
  * For the <code>udex-dropdown</code>
32
32
  * <h3>ES6 Module Import</h3>
33
33
  *
34
- * <code>import @udex/web-components/dist/Dropdown.js";</code>
34
+ * <code>import "@udex/web-components/dist/Dropdown.js";</code>
35
35
  *
36
36
  * @constructor
37
37
  * @author SAP SE
@@ -83,6 +83,7 @@ let UDExDropdown = UDExDropdown_1 = class UDExDropdown extends UI5Element {
83
83
  onOpen(opener) {
84
84
  const dropdown = this.getDropdownPane();
85
85
  dropdown.showAt(opener);
86
+ this.open = true;
86
87
  }
87
88
  /**
88
89
  * Close dropdown
@@ -90,8 +91,7 @@ let UDExDropdown = UDExDropdown_1 = class UDExDropdown extends UI5Element {
90
91
  * @public
91
92
  */
92
93
  onClose() {
93
- const dropdown = this.getDropdownPane();
94
- dropdown.close(true);
94
+ this.open = false;
95
95
  }
96
96
  afterDropdownClose() {
97
97
  this.open = false;
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../src/Dropdown.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,OAAO,MAAM,oCAAoC,CAAC;AACzD,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,0BAA0B,MAAM,iEAAiE,CAAC;AACzG,OAAO,mBAAmB,MAAM,sDAAsD,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAE3E,OAAO,gBAAgB,MAAM,+CAA+C,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAE5D,SAAS;AACT,OAAO,WAAW,MAAM,iCAAiC,CAAC;AAE1D;;;;;;;;;;;;;;;;;;GAkBG;AAmDH,IAAM,YAAY,oBAAlB,MAAM,YAAa,SAAQ,UAAU;IAoHnC,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,cAAY,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,6BAA6B,CAAC,CAAC;IAC/E,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,eAAe;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACpE,IAAI,UAAU,EAAE;YACd,MAAM,eAAe,GAAW,MAAM;iBACnC,gBAAgB,CAAC,UAAU,CAAC;iBAC5B,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACjC,IAAI,CAAC,eAAe,EAAE;gBACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC;aACnC;SACF;IACH,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAU,eAAe,CAAE,CAAC;IACnE,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,aAAa,CAAc,gBAAgB,CAAE,CAAC;IAC5D,CAAC;IAED,cAAc;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAEzD,IAAI,CAAC,gBAAgB,EAAE;YACrB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;SACjC;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAmB;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACxC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACxC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,kBAAkB;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACxC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;QAEhD,IAAI,gBAAgB,EAAE;YACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAW,CAAC,aAAa,CAAC,gBAAgB,CAAgB,CAAC;YACpF,OAAO,CAAC,KAAK,CAAC,SAAS,GAAY,IAAI,CAAC,MAAM,CAAC;SAChD;QAED,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,IAAI,aAAa;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,aAAa;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,yBAAyB;QAC3B,OAAO,IAAI,CAAC,oBAAoB,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAC;IAC1D,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,cAAY,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;CACF,CAAA;AAvNG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACT;AAShB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;mDACjC;AASnC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;qDAC/B;AASvC;IADD,QAAQ,EAAE;oDACe;AAQxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,CAAC,IAAI,EAAE,CAAC;oDACpC;AAQ1C;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;2DACpB;AAS/B;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;6CACd;AAS7B;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;4CACE;AAS5B;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;4CACE;AAS5B;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;6CACG;AAS7B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACX;AASf;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0DACK;AAQ/B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDACL;AAhHlB,YAAY;IAlDjB,aAAa,CAAC;QACb,GAAG,EAAE,eAAe;QACpB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE;YACN,WAAW;YACX,0BAA0B,EAAE;SAC7B;QACD,QAAQ,EAAE,gBAAgB;QAC1B,YAAY,EAAE,CAAC,OAAO,CAAC;KACxB,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,eAAe,CAAC;IAEvB;;;;;OAKG;;IACF,KAAK,CAAC,aAAa,CAAC;IAErB;;;;;OAKG;;IACF,KAAK,CAAC,YAAY,CAAC;IAEpB;;;;;OAKG;;IACF,KAAK,CAAC,cAAc,CAAC;IAEtB;;;;;OAKG;;IACF,KAAK,CAAC,aAAa,CAAC;GACf,YAAY,CA8NjB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport PopupAccessibleRole from \"@ui5/webcomponents/dist/types/PopupAccessibleRole.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport DropdownTemplate from \"./generated/templates/DropdownTemplate.lit.js\";\nimport { PlacementType, HorizontalAlign } from \"./types/Dropdown.js\";\nimport { TRIGGER } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport DropdownCss from \"./generated/themes/Dropdown.css\";\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-dropdown</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import @udex/web-components/dist/Dropdown.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-dropdown\n * @public\n */\n@customElement({\n tag: \"udex-dropdown\",\n renderer: litRender,\n styles: [\n DropdownCss,\n getEffectiveScrollbarStyle(),\n ],\n template: DropdownTemplate,\n dependencies: [Popover],\n})\n\n/**\n * Fired event when the user clicks the trigger.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#clickTrigger\n * @public\n */\n@event(\"click-trigger\")\n\n/**\n * Fired before the dropdown is opened.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#beforeOpen\n * @public\n */\n@event(\"before-open\")\n\n/**\n * Fired after the dropdown is opened.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#afterOpen\n * @public\n */\n@event(\"after-open\")\n\n/**\n * Fired before the menu is closed.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#beforeClose\n * @public\n */\n@event(\"before-close\")\n\n/**\n * Fired after the menu is closed.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#afterClose\n * @public\n */\n@event(\"after-close\")\nclass UDExDropdown extends UI5Element {\n /**\n * Allows control over the height.\n *\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Determines on which side the component is placed at.\n *\n * @default \"Bottom\"\n * @public\n */\n @property({ type: PlacementType, defaultValue: PlacementType.Bottom })\n placementType!: `${PlacementType}`;\n\n /**\n * Determines the horizontal alignment of the component.\n *\n * @default \"Left\"\n * @public\n */\n @property({ type: HorizontalAlign, defaultValue: HorizontalAlign.Left })\n horizontalAlign!: `${HorizontalAlign}`;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Allows setting a custom role.\n * @default \"None\"\n * @public\n */\n @property({ type: PopupAccessibleRole, defaultValue: PopupAccessibleRole.None })\n accessibleRole!: `${PopupAccessibleRole}`;\n\n /**\n * Allows setting a custom role for dropdown trigger.\n * @default \"combobox\"\n * @public\n */\n @property({ type: String, defaultValue: \"combobox\" })\n triggerAccessibleRole!: string;\n\n /**\n * Defines the content of the Dropdown.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content!: Array<HTMLElement>;\n\n /**\n * Defines the header HTML Element.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n header!: Array<HTMLElement>;\n\n /**\n * Defines the footer HTML Element.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n footer!: Array<HTMLElement>;\n\n /**\n * Defines the trigger HTML Element.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n trigger!: Array<HTMLElement>;\n\n /**\n * Indicates if the dropdown pane is open\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n open!: boolean;\n\n /**\n * Determines if there is no enough space, the component can be placed\n * over the target.\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disableTargetOverlap?: boolean;\n\n /**\n * Defines direction of the component.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExDropdown.i18nBundle = await getI18nBundle(\"sap-ui-webcomponents-bundle\");\n }\n\n onAfterRendering() {\n this.handleDirection();\n }\n\n handleDirection() {\n const filterMenu = this.shadowRoot?.querySelector(\".udex-dropdown\");\n if (filterMenu) {\n const directionStyles: string = window\n .getComputedStyle(filterMenu)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n }\n\n getDropdownPane() {\n return this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n }\n\n getTrigger() {\n return this.querySelector<HTMLElement>(\"[slot=trigger]\")!;\n }\n\n onTriggerClick() {\n const dropdown = this.getDropdownPane();\n const opener = this.getTrigger();\n const isOpenerDisabled = opener.hasAttribute(\"disabled\");\n\n if (!isOpenerDisabled) {\n dropdown.showAt(opener);\n this.fireEvent(\"click-trigger\");\n }\n }\n\n /**\n * Open dropdown\n *\n * @public\n */\n onOpen(opener: HTMLElement): void {\n const dropdown = this.getDropdownPane();\n dropdown.showAt(opener);\n }\n\n /**\n * Close dropdown\n *\n * @public\n */\n onClose():void {\n const dropdown = this.getDropdownPane();\n dropdown.close(true);\n }\n\n afterDropdownClose() {\n this.open = false;\n this.fireEvent(\"after-close\");\n }\n\n afterDropdownOpen() {\n this.open = true;\n this.fireEvent(\"after-open\");\n }\n\n beforeDropdownOpen() {\n const dropdown = this.getDropdownPane();\n const hasContentHeight = !!this?.height?.length;\n\n if (hasContentHeight) {\n const content = dropdown.shadowRoot!.querySelector(\"[part=content]\") as HTMLElement;\n content.style.maxHeight = <string> this.height;\n }\n\n this.fireEvent(\"before-open\");\n }\n\n beforeDropdownClose() {\n this.fireEvent(\"before-close\");\n }\n\n get hasTriggerSlot(): boolean {\n return !!this.trigger.length;\n }\n\n get hasHeaderSlot(): boolean {\n return !!this.header.length;\n }\n\n get hasFooterSlot(): boolean {\n return !!this.footer.length;\n }\n\n get disableAllowTargetOverlap(): boolean {\n return this.disableTargetOverlap?.toString() !== \"true\";\n }\n\n get triggerAccessibleName(): string {\n return UDExDropdown.i18nBundle.getText(TRIGGER);\n }\n}\n\nUDExDropdown.define();\n\nexport default UDExDropdown;\n"]}
1
+ {"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../src/Dropdown.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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport PopupAccessibleRole from \"@ui5/webcomponents/dist/types/PopupAccessibleRole.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport DropdownTemplate from \"./generated/templates/DropdownTemplate.lit.js\";\nimport { PlacementType, HorizontalAlign } from \"./types/Dropdown.js\";\nimport { TRIGGER } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport DropdownCss from \"./generated/themes/Dropdown.css\";\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-dropdown</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/Dropdown.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-dropdown\n * @public\n */\n@customElement({\n tag: \"udex-dropdown\",\n renderer: litRender,\n styles: [\n DropdownCss,\n getEffectiveScrollbarStyle(),\n ],\n template: DropdownTemplate,\n dependencies: [Popover],\n})\n\n/**\n * Fired event when the user clicks the trigger.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#clickTrigger\n * @public\n */\n@event(\"click-trigger\")\n\n/**\n * Fired before the dropdown is opened.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#beforeOpen\n * @public\n */\n@event(\"before-open\")\n\n/**\n * Fired after the dropdown is opened.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#afterOpen\n * @public\n */\n@event(\"after-open\")\n\n/**\n * Fired before the menu is closed.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#beforeClose\n * @public\n */\n@event(\"before-close\")\n\n/**\n * Fired after the menu is closed.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#afterClose\n * @public\n */\n@event(\"after-close\")\nclass UDExDropdown extends UI5Element {\n /**\n * Allows control over the height.\n *\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Determines on which side the component is placed at.\n *\n * @default \"Bottom\"\n * @public\n */\n @property({ type: PlacementType, defaultValue: PlacementType.Bottom })\n placementType!: `${PlacementType}`;\n\n /**\n * Determines the horizontal alignment of the component.\n *\n * @default \"Left\"\n * @public\n */\n @property({ type: HorizontalAlign, defaultValue: HorizontalAlign.Left })\n horizontalAlign!: `${HorizontalAlign}`;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Allows setting a custom role.\n * @default \"None\"\n * @public\n */\n @property({ type: PopupAccessibleRole, defaultValue: PopupAccessibleRole.None })\n accessibleRole!: `${PopupAccessibleRole}`;\n\n /**\n * Allows setting a custom role for dropdown trigger.\n * @default \"combobox\"\n * @public\n */\n @property({ type: String, defaultValue: \"combobox\" })\n triggerAccessibleRole!: string;\n\n /**\n * Defines the content of the Dropdown.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content!: Array<HTMLElement>;\n\n /**\n * Defines the header HTML Element.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n header!: Array<HTMLElement>;\n\n /**\n * Defines the footer HTML Element.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n footer!: Array<HTMLElement>;\n\n /**\n * Defines the trigger HTML Element.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n trigger!: Array<HTMLElement>;\n\n /**\n * Indicates if the dropdown pane is open\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n open!: boolean;\n\n /**\n * Determines if there is no enough space, the component can be placed\n * over the target.\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disableTargetOverlap?: boolean;\n\n /**\n * Defines direction of the component.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExDropdown.i18nBundle = await getI18nBundle(\"sap-ui-webcomponents-bundle\");\n }\n\n onAfterRendering() {\n this.handleDirection();\n }\n\n handleDirection() {\n const filterMenu = this.shadowRoot?.querySelector(\".udex-dropdown\");\n if (filterMenu) {\n const directionStyles: string = window\n .getComputedStyle(filterMenu)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n }\n\n getDropdownPane() {\n return this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n }\n\n getTrigger() {\n return this.querySelector<HTMLElement>(\"[slot=trigger]\")!;\n }\n\n onTriggerClick() {\n const dropdown = this.getDropdownPane();\n const opener = this.getTrigger();\n const isOpenerDisabled = opener.hasAttribute(\"disabled\");\n\n if (!isOpenerDisabled) {\n dropdown.showAt(opener);\n this.fireEvent(\"click-trigger\");\n }\n }\n\n /**\n * Open dropdown\n *\n * @public\n */\n onOpen(opener: HTMLElement): void {\n const dropdown = this.getDropdownPane();\n dropdown.showAt(opener);\n this.open = true;\n }\n\n /**\n * Close dropdown\n *\n * @public\n */\n onClose():void {\n this.open = false;\n }\n\n afterDropdownClose() {\n this.open = false;\n this.fireEvent(\"after-close\");\n }\n\n afterDropdownOpen() {\n this.open = true;\n this.fireEvent(\"after-open\");\n }\n\n beforeDropdownOpen() {\n const dropdown = this.getDropdownPane();\n const hasContentHeight = !!this?.height?.length;\n\n if (hasContentHeight) {\n const content = dropdown.shadowRoot!.querySelector(\"[part=content]\") as HTMLElement;\n content.style.maxHeight = <string> this.height;\n }\n\n this.fireEvent(\"before-open\");\n }\n\n beforeDropdownClose() {\n this.fireEvent(\"before-close\");\n }\n\n get hasTriggerSlot(): boolean {\n return !!this.trigger.length;\n }\n\n get hasHeaderSlot(): boolean {\n return !!this.header.length;\n }\n\n get hasFooterSlot(): boolean {\n return !!this.footer.length;\n }\n\n get disableAllowTargetOverlap(): boolean {\n return this.disableTargetOverlap?.toString() !== \"true\";\n }\n\n get triggerAccessibleName(): string {\n return UDExDropdown.i18nBundle.getText(TRIGGER);\n }\n}\n\nUDExDropdown.define();\n\nexport default UDExDropdown;\n"]}
@@ -1,8 +1,9 @@
1
1
  import "@ui5/webcomponents/dist/Icon.js";
2
2
  import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
3
3
  import PopupAccessibleRole from "@ui5/webcomponents/dist/types/PopupAccessibleRole.js";
4
- import UDExDropdown from "./Dropdown.js";
4
+ import ResponsivePopover from "@ui5/webcomponents/dist/ResponsivePopover.js";
5
5
  import UDExSearch from "./Search.js";
6
+ import UDExButton from "./Button.js";
6
7
  import UDExSearchableListBase from "./SearchableListBase.js";
7
8
  import { PlacementType, HorizontalAlign } from "./types/Dropdown.js";
8
9
  import { ListMode } from "./types/List.js";
@@ -102,7 +103,13 @@ declare class UDExFilterMenu extends UDExSearchableListBase {
102
103
  * @public
103
104
  */
104
105
  disabled: boolean;
105
- _open?: boolean;
106
+ /**
107
+ * Defines whether the dropdown is open or not.
108
+ *
109
+ * @default false
110
+ * @private
111
+ */
112
+ _open: boolean;
106
113
  /**
107
114
  * Hides the result button in the footer.
108
115
  *
@@ -140,9 +147,10 @@ declare class UDExFilterMenu extends UDExSearchableListBase {
140
147
  * @public
141
148
  */
142
149
  triggerAccessibleRole: string;
143
- _dropdown: UDExDropdown;
150
+ _trigger: UDExButton;
144
151
  _search: UDExSearch;
145
152
  _hasFooterButtons: boolean;
153
+ _popover: ResponsivePopover;
146
154
  onAfterRendering(): void;
147
155
  onEnterDOM(): void;
148
156
  onBeforeRendering(): void;
@@ -158,23 +166,29 @@ declare class UDExFilterMenu extends UDExSearchableListBase {
158
166
  handleKeyDownSearch(e: CustomEvent): void;
159
167
  handleKeyDownResultBtn(e: KeyboardEvent): void;
160
168
  handleKeyDownResetBtn(e: KeyboardEvent): void;
161
- onDropdownClose(): void;
162
- getDropdown(): UDExDropdown;
169
+ handleTriggerClick(): void;
170
+ handleTriggerKeydown(e: KeyboardEvent): void;
171
+ toggleDropdown(): void;
172
+ onDropdownClose(e?: KeyboardEvent): void;
163
173
  getSearch(): UDExSearch;
164
174
  _dropdownBeforeOpen(): void;
165
175
  _dropdownAfterOpen(): void;
166
176
  _dropdownBeforeClose(): void;
167
177
  _dropdownAfterClose(): void;
178
+ get disableAllowTargetOverlap(): boolean;
168
179
  get hasFilterNamePrefix(): boolean;
169
180
  get getResultLabelText(): string;
170
181
  get getResetLabelText(): string;
171
182
  get disabledResultBtn(): boolean;
172
183
  get _iconAccessibleNameText(): string;
184
+ get triggerButtonAccessibleName(): string;
173
185
  get searchableList(): object;
174
186
  get hideActionBar(): boolean;
175
187
  get hasFooterButtons(): boolean;
176
188
  get hasResultBtn(): boolean;
177
189
  get hasResetBtn(): boolean;
190
+ getTriggerButton(): UDExButton;
191
+ getPopover(): ResponsivePopover;
178
192
  getItems(): Array<UDExListItemBase>;
179
193
  static get searchableListBaseTemplate(): typeof SearchableListBaseTemplate;
180
194
  }
@@ -14,16 +14,16 @@ import "@ui5/webcomponents/dist/Icon.js";
14
14
  import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
15
15
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
16
16
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
17
- import { isTabPrevious, isTabNext, isEscape } from "@ui5/webcomponents-base/dist/Keys.js";
17
+ import { isTabPrevious, isTabNext, isEscape, isSpace, isEnter, } from "@ui5/webcomponents-base/dist/Keys.js";
18
18
  import PopupAccessibleRole from "@ui5/webcomponents/dist/types/PopupAccessibleRole.js";
19
- import UDExDropdown from "./Dropdown.js";
19
+ import ResponsivePopover from "@ui5/webcomponents/dist/ResponsivePopover.js";
20
20
  import UDExList from "./List.js";
21
21
  import UDExListItem from "./ListItem.js";
22
22
  import UDExListGroupHeader from "./ListGroupHeader.js";
23
23
  import UDExFilterMenuItem from "./FilterMenuItem.js";
24
24
  import UDExFilterMenuGroupHeader from "./FilterMenuGroupHeader.js";
25
25
  import UDExSearch from "./Search.js";
26
- import UDEButton from "./Button.js";
26
+ import UDExButton from "./Button.js";
27
27
  import UDExSearchableListBase from "./SearchableListBase.js";
28
28
  import { PlacementType, HorizontalAlign } from "./types/Dropdown.js";
29
29
  import { ListMode } from "./types/List.js";
@@ -55,13 +55,10 @@ import SearchableListCss from "./generated/themes/SearchableList.css.js";
55
55
  * @public
56
56
  */
57
57
  let UDExFilterMenu = UDExFilterMenu_1 = class UDExFilterMenu extends UDExSearchableListBase {
58
- constructor() {
59
- super(...arguments);
60
- this._open = false;
61
- }
62
58
  onAfterRendering() {
63
- this._dropdown = this.getDropdown();
64
59
  this._search = this.getSearch();
60
+ this._popover = this.getPopover();
61
+ this._trigger = this.getTriggerButton();
65
62
  this._hasFooterButtons = this.hasFooterButtons;
66
63
  }
67
64
  onEnterDOM() {
@@ -103,7 +100,7 @@ let UDExFilterMenu = UDExFilterMenu_1 = class UDExFilterMenu extends UDExSearcha
103
100
  }
104
101
  handleResult() {
105
102
  if (!this.disabledResultBtn) {
106
- this._dropdown.onClose();
103
+ this._popover.close();
107
104
  this.fireEvent("result-click", {
108
105
  selectedItems: this.selectedItems,
109
106
  });
@@ -112,14 +109,16 @@ let UDExFilterMenu = UDExFilterMenu_1 = class UDExFilterMenu extends UDExSearcha
112
109
  handleKeyDownList(e) {
113
110
  const isTabNextPress = isTabNext(e) && !this._hasFooterButtons;
114
111
  const isTabPrevPress = isTabPrevious(e) && !this._search;
115
- if (isTabNextPress || isTabPrevPress) {
116
- this.onDropdownClose();
112
+ const target = e.target;
113
+ const isSearchResetTrigger = target === this._search;
114
+ if ((isTabNextPress && (!isSearchResetTrigger || this.isListEmpty)) || isTabPrevPress) {
115
+ this.onDropdownClose(e);
117
116
  }
118
117
  }
119
118
  handleKeyDownSearch(e) {
120
119
  const keyEvent = e.detail;
121
120
  if (isTabPrevious(keyEvent) || isEscape(keyEvent)) {
122
- this.onDropdownClose();
121
+ this.onDropdownClose(keyEvent);
123
122
  }
124
123
  }
125
124
  handleKeyDownResultBtn(e) {
@@ -134,19 +133,44 @@ let UDExFilterMenu = UDExFilterMenu_1 = class UDExFilterMenu extends UDExSearcha
134
133
  this.onDropdownClose();
135
134
  }
136
135
  }
137
- onDropdownClose() {
138
- if (this._dropdown.open) {
139
- this._dropdown.onClose();
136
+ handleTriggerClick() {
137
+ this.toggleDropdown();
138
+ }
139
+ handleTriggerKeydown(e) {
140
+ if (isSpace(e) || isEnter(e)) {
141
+ e.preventDefault();
142
+ this.toggleDropdown();
140
143
  }
141
144
  }
142
- getDropdown() {
143
- return this.shadowRoot.querySelector("udex-dropdown");
145
+ toggleDropdown() {
146
+ this._open = !this._open;
147
+ if (this._open) {
148
+ this._trigger.classList.add("udex-filter-menu__trigger-active");
149
+ this._popover.showAt(this._trigger);
150
+ }
151
+ else {
152
+ this.onDropdownClose();
153
+ }
154
+ }
155
+ onDropdownClose(e) {
156
+ if (this._popover.open) {
157
+ if (e && (isTabPrevious(e) || isEscape(e))) {
158
+ e.preventDefault();
159
+ this._popover.close(true);
160
+ }
161
+ else {
162
+ this._popover.close();
163
+ }
164
+ }
144
165
  }
145
166
  getSearch() {
146
167
  return this.shadowRoot.querySelector("udex-search");
147
168
  }
148
169
  _dropdownBeforeOpen() {
149
- this._open = true;
170
+ if (this.height) {
171
+ const content = this._popover.shadowRoot.querySelector("[part=content]");
172
+ content.style.maxHeight = this.height;
173
+ }
150
174
  this.fireEvent("before-open");
151
175
  }
152
176
  _dropdownAfterOpen() {
@@ -157,8 +181,12 @@ let UDExFilterMenu = UDExFilterMenu_1 = class UDExFilterMenu extends UDExSearcha
157
181
  }
158
182
  _dropdownAfterClose() {
159
183
  this._open = false;
184
+ this._trigger.classList.remove("udex-filter-menu__trigger-active");
160
185
  this.fireEvent("after-close");
161
186
  }
187
+ get disableAllowTargetOverlap() {
188
+ return !this.disableTargetOverlap;
189
+ }
162
190
  get hasFilterNamePrefix() {
163
191
  return !!this.filterNamePrefix?.length;
164
192
  }
@@ -176,6 +204,9 @@ let UDExFilterMenu = UDExFilterMenu_1 = class UDExFilterMenu extends UDExSearcha
176
204
  get _iconAccessibleNameText() {
177
205
  return UDExFilterMenu_1.i18nBundle.getText(SELECT_OPTIONS);
178
206
  }
207
+ get triggerButtonAccessibleName() {
208
+ return this.accessibleName || UDExFilterMenu_1.i18nBundle.getText(SELECT_OPTIONS);
209
+ }
179
210
  get searchableList() {
180
211
  return executeTemplate(UDExFilterMenu_1.searchableListBaseTemplate, this);
181
212
  }
@@ -191,6 +222,12 @@ let UDExFilterMenu = UDExFilterMenu_1 = class UDExFilterMenu extends UDExSearcha
191
222
  get hasResetBtn() {
192
223
  return !this.hideResetBtn;
193
224
  }
225
+ getTriggerButton() {
226
+ return this.shadowRoot.querySelector("#filterMenuTrigger");
227
+ }
228
+ getPopover() {
229
+ return this.shadowRoot.querySelector("[ui5-popover]");
230
+ }
194
231
  getItems() {
195
232
  return this.getSlottedNodes("items");
196
233
  }
@@ -256,17 +293,17 @@ UDExFilterMenu = UDExFilterMenu_1 = __decorate([
256
293
  styles: [FilterMenuCss, SearchableListCss],
257
294
  template: FilterMenuTemplate,
258
295
  dependencies: [
296
+ ResponsivePopover,
259
297
  UDExFilterMenuItem,
260
298
  UDExFilterMenuGroupHeader,
261
299
  UDExFilterMenuSelectAll,
262
- UDExDropdown,
263
300
  UDExList,
264
301
  UDExListSelectAll,
265
302
  UDExListItem,
266
303
  UDExListGroupHeader,
267
304
  UDExBadge,
268
305
  UDExSearch,
269
- UDEButton,
306
+ UDExButton,
270
307
  ],
271
308
  })
272
309
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FilterMenu.js","sourceRoot":"","sources":["../src/FilterMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { isTabPrevious, isTabNext, isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport PopupAccessibleRole from \"@ui5/webcomponents/dist/types/PopupAccessibleRole.js\";\nimport UDExDropdown from \"./Dropdown.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExListGroupHeader from \"./ListGroupHeader.js\";\nimport UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport UDExFilterMenuGroupHeader from \"./FilterMenuGroupHeader.js\";\nimport UDExSearch from \"./Search.js\";\nimport UDEButton from \"./Button.js\";\nimport UDExSearchableListBase from \"./SearchableListBase.js\";\nimport { PlacementType, HorizontalAlign } from \"./types/Dropdown.js\";\nimport { ListMode } from \"./types/List.js\";\nimport UDExFilterMenuSelectAll from \"./FilterMenuSelectAll.js\";\nimport UDExListSelectAll from \"./ListSelectAll.js\";\nimport UDExBadge from \"./Badge.js\";\nimport UDExListItemBase from \"./ListItemBase.js\";\n\nimport { RESET, SHOW_RESULTS, SELECT_OPTIONS } from \"./generated/i18n/i18n-defaults.js\";\nimport FilterMenuTemplate from \"./generated/templates/FilterMenuTemplate.lit.js\";\nimport SearchableListBaseTemplate from \"./generated/templates/SearchableListBaseTemplate.lit.js\";\n\n// Styles\nimport FilterMenuCss from \"./generated/themes/FilterMenu.css.js\";\nimport SearchableListCss from \"./generated/themes/SearchableList.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-filter-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/UDExFilterMenu.js\";</code>\n *\n * @constructor\n * @extends UDExSearchableListBase\n * @tagname udex-filter-menu\n * @public\n */\n@customElement({\n tag: \"udex-filter-menu\",\n renderer: litRender,\n styles: [FilterMenuCss, SearchableListCss],\n template: FilterMenuTemplate,\n dependencies: [\n UDExFilterMenuItem,\n UDExFilterMenuGroupHeader,\n UDExFilterMenuSelectAll,\n UDExDropdown,\n UDExList,\n UDExListSelectAll,\n UDExListItem,\n UDExListGroupHeader,\n UDExBadge,\n UDExSearch,\n UDEButton,\n ],\n})\n\n/**\n * Fired event when the user click on a reset button on the footer.\n *\n * @event sap.ui.webc.web-components.UDExFilterMenu#resetClick\n * @public\n */\n@event(\"reset-click\", {\n detail: {\n restoredItems: { type: Array },\n },\n})\n\n/**\n * Fired event when the user click on a result button on the footer.\n *\n * @event sap.ui.webc.web-components.UDExFilterMenu#resultClick\n * @public\n */\n@event(\"result-click\", {\n detail: {\n selectedItems: { type: Array },\n },\n})\n\n/**\n * Fired event when the user click on Select All header item.\n *\n * @event sap.ui.webc.web-components.UDExFilterMenu#selectAll\n * @public\n */\n@event(\"select-all\")\n\n/**\n * Fired before the dropdown pane is opened.\n *\n * @event sap.ui.webc.web-components.UDExFilterMenu#beforeOpen\n * @public\n */\n@event(\"before-open\")\n\n/**\n * Fired after the dropdown pane is opened.\n *\n * @event sap.ui.webc.web-components.UDExFilterMenu#afterOpen\n * @public\n */\n@event(\"after-open\")\n\n/**\n * Fired before the dropdown pane is closed.\n *\n * @event sap.ui.webc.web-components.UDExFilterMenu#beforeClose\n * @public\n */\n@event(\"before-close\")\n\n/**\n * Fired after the dropdown pane is closed.\n *\n * @event sap.ui.webc.web-components.UDExFilterMenu#afterClose\n * @public\n */\n@event(\"after-close\")\n\nclass UDExFilterMenu extends UDExSearchableListBase {\n /**\n * Determines the value of the badge.\n *\n * @public\n */\n @property({ validator: Integer })\n badgeValue?: number;\n\n /**\n * Determines if there is no enough space, the component can be placed\n * over the target.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disableTargetOverlap?: boolean;\n\n /**\n * Allows control over the height.\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Determines on which side the component is placed at.\n *\n * @default \"Bottom\"\n * @public\n */\n @property({ type: PlacementType, defaultValue: PlacementType.Bottom })\n placementType!: `${PlacementType}`;\n\n /**\n * Determines the horizontal alignment of the component.\n *\n * @default \"Left\"\n * @public\n */\n @property({ type: HorizontalAlign, defaultValue: HorizontalAlign.Left })\n horizontalAlign!: `${HorizontalAlign}`;\n\n /**\n * Defines the mode of the component.\n *\n * @default \"SingleSelect\"\n * @public\n */\n @property({ type: ListMode, defaultValue: ListMode.SingleSelect })\n mode!: `${ListMode}`;\n\n /**\n * Defines the label of the button reset in the footer.\n *\n * @default \"Reset\"\n * @public\n */\n @property()\n resetBtnLabel!: string;\n\n /**\n * Defines the label of the button result in the footer.\n *\n * @default \"Show Result\"\n * @public\n */\n @property()\n resultBtnLabel!: string;\n\n /**\n * Defines the filter name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n filterName!: string;\n\n /**\n * Defines the filter name prefix of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n filterNamePrefix!: string;\n\n /**\n * Defines whether the component is in disabled state.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n @property({ type: Boolean })\n _open?: boolean = false;\n\n /**\n * Hides the result button in the footer.\n *\n * @type {boolean}\n * @name sap.ui.webc.web-components.UDExFilterMenu.prototype.hideResultBtn\n * @defaultvalue false\n * @public\n */\n @property({ type: Boolean })\n hideResultBtn!: boolean;\n\n /**\n * Hides the reset button in the footer.\n *\n * @type {boolean}\n * @name sap.ui.webc.web-components.UDExFilterMenu.prototype.hideResetBtn\n * @defaultvalue false\n * @public\n */\n @property({ type: Boolean })\n hideResetBtn!: boolean;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Allows setting a custom role.\n * @default \"None\"\n * @public\n */\n @property({ type: PopupAccessibleRole, defaultValue: PopupAccessibleRole.None })\n accessibleRole!: `${PopupAccessibleRole}`;\n\n /**\n * Allows setting a custom role for dropdown trigger.\n * @default \"combobox\"\n * @public\n */\n @property({ type: String, defaultValue: \"combobox\" })\n triggerAccessibleRole!: string;\n\n _dropdown!: UDExDropdown;\n _search!: UDExSearch;\n _hasFooterButtons!: boolean;\n\n onAfterRendering() {\n this._dropdown = this.getDropdown();\n this._search = this.getSearch();\n this._hasFooterButtons = this.hasFooterButtons;\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering() {\n super.onBeforeRendering();\n }\n\n handleSelectAll(e:CustomEvent) {\n this.onFilterSelectAllHeaderPress(e);\n this.fireEvent(\"select-all\");\n }\n\n handleItemPress(e:CustomEvent) {\n this.onItemPress(e);\n\n if (this.modeSingleSelect) {\n this.onDropdownClose();\n }\n }\n\n handleHeaderPress(e:CustomEvent) {\n this.onHeaderPress(e);\n }\n\n handleValueSearch(e:CustomEvent) {\n this.onSearch(e);\n }\n\n handleSubmitSearch() {\n this.onDropdownClose();\n this.onSubmitSearch();\n }\n\n handleResetSearch() {\n this.onResetSearch();\n }\n\n handleReset() {\n this.fireEvent(\"reset-click\", {\n restoredItems: this.selectedItems,\n });\n this.onReset();\n }\n\n handleResult() {\n if (!this.disabledResultBtn) {\n this._dropdown.onClose();\n this.fireEvent(\"result-click\", {\n selectedItems: this.selectedItems,\n });\n }\n }\n\n handleKeyDownList(e: KeyboardEvent) {\n const isTabNextPress = isTabNext(e) && !this._hasFooterButtons;\n const isTabPrevPress = isTabPrevious(e) && !this._search;\n\n if (isTabNextPress || isTabPrevPress) {\n this.onDropdownClose();\n }\n }\n\n handleKeyDownSearch(e: CustomEvent) {\n const keyEvent = e.detail as KeyboardEvent;\n if (isTabPrevious(keyEvent) || isEscape(keyEvent)) {\n this.onDropdownClose();\n }\n }\n\n handleKeyDownResultBtn(e: KeyboardEvent) {\n e.stopPropagation();\n if (isTabNext(e) && !this.hasResetBtn) {\n this.onDropdownClose();\n }\n }\n\n handleKeyDownResetBtn(e: KeyboardEvent) {\n e.stopPropagation();\n if (isTabNext(e)) {\n this.onDropdownClose();\n }\n }\n\n onDropdownClose() {\n if (this._dropdown.open) {\n this._dropdown.onClose();\n }\n }\n\n getDropdown(): UDExDropdown {\n return this.shadowRoot!.querySelector<UDExDropdown>(\"udex-dropdown\")!;\n }\n\n getSearch(): UDExSearch {\n return this.shadowRoot!.querySelector<UDExSearch>(\"udex-search\")!;\n }\n\n _dropdownBeforeOpen() {\n this._open = true;\n this.fireEvent(\"before-open\");\n }\n\n _dropdownAfterOpen() {\n this.fireEvent(\"after-open\");\n }\n\n _dropdownBeforeClose() {\n this.fireEvent(\"before-close\");\n }\n\n _dropdownAfterClose() {\n this._open = false;\n this.fireEvent(\"after-close\");\n }\n\n get hasFilterNamePrefix(): boolean {\n return !!this.filterNamePrefix?.length;\n }\n\n get getResultLabelText(): string {\n const hasLabel = this.resultBtnLabel !== \"undefined\" && this.resultBtnLabel.length > 0;\n return hasLabel ? this.resultBtnLabel : UDExFilterMenu.i18nBundle.getText(SHOW_RESULTS);\n }\n\n get getResetLabelText(): string {\n const hasLabel = this.resetBtnLabel !== \"undefined\" && this.resetBtnLabel.length > 0;\n return hasLabel ? this.resetBtnLabel : UDExFilterMenu.i18nBundle.getText(RESET);\n }\n\n get disabledResultBtn() {\n return !this.selectedItems.length && !this.selectAll;\n }\n\n get _iconAccessibleNameText() {\n return UDExFilterMenu.i18nBundle.getText(SELECT_OPTIONS);\n }\n\n get searchableList() {\n return executeTemplate(UDExFilterMenu.searchableListBaseTemplate, this);\n }\n\n get hideActionBar(): boolean {\n return this.hideResultBtn && this.hideResetBtn;\n }\n\n get hasFooterButtons(): boolean {\n return (this.hasResultBtn || this.hasResetBtn) && this.modeMultiSelect;\n }\n\n get hasResultBtn(): boolean {\n return !this.hideResultBtn && !this.disabledResultBtn;\n }\n\n get hasResetBtn(): boolean {\n return !this.hideResetBtn;\n }\n\n getItems(): Array<UDExListItemBase> {\n return this.getSlottedNodes<UDExListItemBase>(\"items\");\n }\n\n static get searchableListBaseTemplate() {\n return SearchableListBaseTemplate;\n }\n}\n\nUDExFilterMenu.define();\n\nexport default UDExFilterMenu;\n"]}
1
+ {"version":3,"file":"FilterMenu.js","sourceRoot":"","sources":["../src/FilterMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport {\n isTabPrevious, isTabNext, isEscape, isSpace, isEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport PopupAccessibleRole from \"@ui5/webcomponents/dist/types/PopupAccessibleRole.js\";\nimport ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExListGroupHeader from \"./ListGroupHeader.js\";\nimport UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport UDExFilterMenuGroupHeader from \"./FilterMenuGroupHeader.js\";\nimport UDExSearch from \"./Search.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExSearchableListBase from \"./SearchableListBase.js\";\nimport { PlacementType, HorizontalAlign } from \"./types/Dropdown.js\";\nimport { ListMode } from \"./types/List.js\";\nimport UDExFilterMenuSelectAll from \"./FilterMenuSelectAll.js\";\nimport UDExListSelectAll from \"./ListSelectAll.js\";\nimport UDExBadge from \"./Badge.js\";\nimport UDExListItemBase from \"./ListItemBase.js\";\n\nimport { RESET, SHOW_RESULTS, SELECT_OPTIONS } from \"./generated/i18n/i18n-defaults.js\";\nimport FilterMenuTemplate from \"./generated/templates/FilterMenuTemplate.lit.js\";\nimport SearchableListBaseTemplate from \"./generated/templates/SearchableListBaseTemplate.lit.js\";\n\n// Styles\nimport FilterMenuCss from \"./generated/themes/FilterMenu.css.js\";\nimport SearchableListCss from \"./generated/themes/SearchableList.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-filter-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/UDExFilterMenu.js\";</code>\n *\n * @constructor\n * @extends UDExSearchableListBase\n * @tagname udex-filter-menu\n * @public\n */\n@customElement({\n tag: \"udex-filter-menu\",\n renderer: litRender,\n styles: [FilterMenuCss, SearchableListCss],\n template: FilterMenuTemplate,\n dependencies: [\n ResponsivePopover,\n UDExFilterMenuItem,\n UDExFilterMenuGroupHeader,\n UDExFilterMenuSelectAll,\n UDExList,\n UDExListSelectAll,\n UDExListItem,\n UDExListGroupHeader,\n UDExBadge,\n UDExSearch,\n UDExButton,\n ],\n})\n\n/**\n * Fired event when the user click on a reset button on the footer.\n *\n * @event sap.ui.webc.web-components.UDExFilterMenu#resetClick\n * @public\n */\n@event(\"reset-click\", {\n detail: {\n restoredItems: { type: Array },\n },\n})\n\n/**\n * Fired event when the user click on a result button on the footer.\n *\n * @event sap.ui.webc.web-components.UDExFilterMenu#resultClick\n * @public\n */\n@event(\"result-click\", {\n detail: {\n selectedItems: { type: Array },\n },\n})\n\n/**\n * Fired event when the user click on Select All header item.\n *\n * @event sap.ui.webc.web-components.UDExFilterMenu#selectAll\n * @public\n */\n@event(\"select-all\")\n\n/**\n * Fired before the dropdown pane is opened.\n *\n * @event sap.ui.webc.web-components.UDExFilterMenu#beforeOpen\n * @public\n */\n@event(\"before-open\")\n\n/**\n * Fired after the dropdown pane is opened.\n *\n * @event sap.ui.webc.web-components.UDExFilterMenu#afterOpen\n * @public\n */\n@event(\"after-open\")\n\n/**\n * Fired before the dropdown pane is closed.\n *\n * @event sap.ui.webc.web-components.UDExFilterMenu#beforeClose\n * @public\n */\n@event(\"before-close\")\n\n/**\n * Fired after the dropdown pane is closed.\n *\n * @event sap.ui.webc.web-components.UDExFilterMenu#afterClose\n * @public\n */\n@event(\"after-close\")\n\nclass UDExFilterMenu extends UDExSearchableListBase {\n /**\n * Determines the value of the badge.\n *\n * @public\n */\n @property({ validator: Integer })\n badgeValue?: number;\n\n /**\n * Determines if there is no enough space, the component can be placed\n * over the target.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disableTargetOverlap?: boolean;\n\n /**\n * Allows control over the height.\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Determines on which side the component is placed at.\n *\n * @default \"Bottom\"\n * @public\n */\n @property({ type: PlacementType, defaultValue: PlacementType.Bottom })\n placementType!: `${PlacementType}`;\n\n /**\n * Determines the horizontal alignment of the component.\n *\n * @default \"Left\"\n * @public\n */\n @property({ type: HorizontalAlign, defaultValue: HorizontalAlign.Left })\n horizontalAlign!: `${HorizontalAlign}`;\n\n /**\n * Defines the mode of the component.\n *\n * @default \"SingleSelect\"\n * @public\n */\n @property({ type: ListMode, defaultValue: ListMode.SingleSelect })\n mode!: `${ListMode}`;\n\n /**\n * Defines the label of the button reset in the footer.\n *\n * @default \"Reset\"\n * @public\n */\n @property()\n resetBtnLabel!: string;\n\n /**\n * Defines the label of the button result in the footer.\n *\n * @default \"Show Result\"\n * @public\n */\n @property()\n resultBtnLabel!: string;\n\n /**\n * Defines the filter name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n filterName!: string;\n\n /**\n * Defines the filter name prefix of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n filterNamePrefix!: string;\n\n /**\n * Defines whether the component is in disabled state.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines whether the dropdown is open or not.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _open!: boolean;\n\n /**\n * Hides the result button in the footer.\n *\n * @type {boolean}\n * @name sap.ui.webc.web-components.UDExFilterMenu.prototype.hideResultBtn\n * @defaultvalue false\n * @public\n */\n @property({ type: Boolean })\n hideResultBtn!: boolean;\n\n /**\n * Hides the reset button in the footer.\n *\n * @type {boolean}\n * @name sap.ui.webc.web-components.UDExFilterMenu.prototype.hideResetBtn\n * @defaultvalue false\n * @public\n */\n @property({ type: Boolean })\n hideResetBtn!: boolean;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Allows setting a custom role.\n * @default \"None\"\n * @public\n */\n @property({ type: PopupAccessibleRole, defaultValue: PopupAccessibleRole.None })\n accessibleRole!: `${PopupAccessibleRole}`;\n\n /**\n * Allows setting a custom role for dropdown trigger.\n * @default \"combobox\"\n * @public\n */\n @property({ type: String, defaultValue: \"combobox\" })\n triggerAccessibleRole!: string;\n\n _trigger!: UDExButton;\n _search!: UDExSearch;\n _hasFooterButtons!: boolean;\n _popover!: ResponsivePopover;\n\n onAfterRendering() {\n this._search = this.getSearch();\n this._popover = this.getPopover();\n this._trigger = this.getTriggerButton();\n this._hasFooterButtons = this.hasFooterButtons;\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering() {\n super.onBeforeRendering();\n }\n\n handleSelectAll(e:CustomEvent): void {\n this.onFilterSelectAllHeaderPress(e);\n this.fireEvent(\"select-all\");\n }\n\n handleItemPress(e:CustomEvent): void {\n this.onItemPress(e);\n\n if (this.modeSingleSelect) {\n this.onDropdownClose();\n }\n }\n\n handleHeaderPress(e:CustomEvent): void {\n this.onHeaderPress(e);\n }\n\n handleValueSearch(e:CustomEvent): void {\n this.onSearch(e);\n }\n\n handleSubmitSearch(): void {\n this.onDropdownClose();\n this.onSubmitSearch();\n }\n\n handleResetSearch(): void {\n this.onResetSearch();\n }\n\n handleReset(): void {\n this.fireEvent(\"reset-click\", {\n restoredItems: this.selectedItems,\n });\n this.onReset();\n }\n\n handleResult(): void {\n if (!this.disabledResultBtn) {\n this._popover.close();\n this.fireEvent(\"result-click\", {\n selectedItems: this.selectedItems,\n });\n }\n }\n\n handleKeyDownList(e: KeyboardEvent): void {\n const isTabNextPress = isTabNext(e) && !this._hasFooterButtons;\n const isTabPrevPress = isTabPrevious(e) && !this._search;\n const target = e.target as HTMLElement;\n const isSearchResetTrigger = target === this._search;\n if ((isTabNextPress && (!isSearchResetTrigger || this.isListEmpty)) || isTabPrevPress) {\n this.onDropdownClose(e);\n }\n }\n\n handleKeyDownSearch(e: CustomEvent): void {\n const keyEvent = e.detail as KeyboardEvent;\n if (isTabPrevious(keyEvent) || isEscape(keyEvent)) {\n this.onDropdownClose(keyEvent);\n }\n }\n\n handleKeyDownResultBtn(e: KeyboardEvent): void {\n e.stopPropagation();\n if (isTabNext(e) && !this.hasResetBtn) {\n this.onDropdownClose();\n }\n }\n\n handleKeyDownResetBtn(e: KeyboardEvent): void {\n e.stopPropagation();\n if (isTabNext(e)) {\n this.onDropdownClose();\n }\n }\n\n handleTriggerClick(): void {\n this.toggleDropdown();\n }\n\n handleTriggerKeydown(e: KeyboardEvent): void {\n if (isSpace(e) || isEnter(e)) {\n e.preventDefault();\n this.toggleDropdown();\n }\n }\n\n toggleDropdown(): void {\n this._open = !this._open;\n\n if (this._open) {\n this._trigger.classList.add(\"udex-filter-menu__trigger-active\");\n this._popover.showAt(this._trigger);\n } else {\n this.onDropdownClose();\n }\n }\n\n onDropdownClose(e?: KeyboardEvent): void {\n if (this._popover.open) {\n if (e && (isTabPrevious(e) || isEscape(e))) {\n e.preventDefault();\n this._popover.close(true);\n } else {\n this._popover.close();\n }\n }\n }\n\n getSearch(): UDExSearch {\n return this.shadowRoot!.querySelector<UDExSearch>(\"udex-search\")!;\n }\n\n _dropdownBeforeOpen(): void {\n if (this.height) {\n const content = this._popover.shadowRoot!.querySelector(\"[part=content]\") as HTMLElement;\n content.style.maxHeight = this.height;\n }\n this.fireEvent(\"before-open\");\n }\n\n _dropdownAfterOpen(): void {\n this.fireEvent(\"after-open\");\n }\n\n _dropdownBeforeClose(): void {\n this.fireEvent(\"before-close\");\n }\n\n _dropdownAfterClose(): void {\n this._open = false;\n this._trigger.classList.remove(\"udex-filter-menu__trigger-active\");\n this.fireEvent(\"after-close\");\n }\n\n get disableAllowTargetOverlap(): boolean {\n return !this.disableTargetOverlap;\n }\n\n get hasFilterNamePrefix(): boolean {\n return !!this.filterNamePrefix?.length;\n }\n\n get getResultLabelText(): string {\n const hasLabel = this.resultBtnLabel !== \"undefined\" && this.resultBtnLabel.length > 0;\n return hasLabel ? this.resultBtnLabel : UDExFilterMenu.i18nBundle.getText(SHOW_RESULTS);\n }\n\n get getResetLabelText(): string {\n const hasLabel = this.resetBtnLabel !== \"undefined\" && this.resetBtnLabel.length > 0;\n return hasLabel ? this.resetBtnLabel : UDExFilterMenu.i18nBundle.getText(RESET);\n }\n\n get disabledResultBtn(): boolean {\n return !this.selectedItems.length && !this.selectAll;\n }\n\n get _iconAccessibleNameText(): string {\n return UDExFilterMenu.i18nBundle.getText(SELECT_OPTIONS);\n }\n\n get triggerButtonAccessibleName(): string {\n return this.accessibleName || UDExFilterMenu.i18nBundle.getText(SELECT_OPTIONS);\n }\n\n get searchableList() {\n return executeTemplate(UDExFilterMenu.searchableListBaseTemplate, this);\n }\n\n get hideActionBar(): boolean {\n return this.hideResultBtn && this.hideResetBtn;\n }\n\n get hasFooterButtons(): boolean {\n return (this.hasResultBtn || this.hasResetBtn) && this.modeMultiSelect;\n }\n\n get hasResultBtn(): boolean {\n return !this.hideResultBtn && !this.disabledResultBtn;\n }\n\n get hasResetBtn(): boolean {\n return !this.hideResetBtn;\n }\n\n getTriggerButton(): UDExButton {\n return this.shadowRoot!.querySelector<UDExButton>(\"#filterMenuTrigger\")!;\n }\n\n getPopover(): ResponsivePopover {\n return this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-popover]\")!;\n }\n\n getItems(): Array<UDExListItemBase> {\n return this.getSlottedNodes<UDExListItemBase>(\"items\");\n }\n\n static get searchableListBaseTemplate() {\n return SearchableListBaseTemplate;\n }\n}\n\nUDExFilterMenu.define();\n\nexport default UDExFilterMenu;\n"]}
package/dist/Footer.d.ts CHANGED
@@ -6,13 +6,21 @@ import "@ui5/webcomponents-icons/dist/back-to-top.js";
6
6
  import "@ui5/webcomponents-icons/dist/discussion-2.js";
7
7
  import "@ui5/webcomponents-icons/dist/navigation-right-arrow.js";
8
8
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
9
+ export declare enum Target {
10
+ _blank = "_blank",
11
+ _parent = "_parent",
12
+ _self = "_self",
13
+ _top = "_top"
14
+ }
9
15
  export type FooterLink = {
10
16
  title: string;
11
17
  url: string;
18
+ target: Target;
12
19
  };
13
20
  export type FooterSocialLink = {
14
21
  url: string;
15
22
  iconUrl: string;
23
+ target: Target;
16
24
  };
17
25
  export type FooterContactNumber = {
18
26
  number: string;
@@ -70,7 +78,7 @@ export declare const FooterDetailedEvent: {
70
78
  * For the <code>udex-footer</code>
71
79
  * <h3>ES6 Module Import</h3>
72
80
  *
73
- * <code>import @udex/web-components/dist/Footer.js";</code>
81
+ * <code>import "@udex/web-components/dist/Footer.js";</code>
74
82
  *
75
83
  * @constructor
76
84
  * @author SAP SE
package/dist/Footer.js CHANGED
@@ -25,6 +25,13 @@ import FooterCss from "./generated/themes/Footer.css";
25
25
  import UDExAccordionItem from "./AccordionItem.js";
26
26
  import { ABOUT_SAP, CHAT_WITH_US, CONTACT_US, EMAIL, LOCAL_COUNTRY_NAMES, PHONE_NUMBER, QUICK_LINKS, SEE_COMPLETE_LIST, SITE_INFORMATION, SOCIAL_LINK_ICON, TRENDING, } from "./generated/i18n/i18n-defaults.js";
27
27
  const BreakpointSizeS = 979;
28
+ export var Target;
29
+ (function (Target) {
30
+ Target["_blank"] = "_blank";
31
+ Target["_parent"] = "_parent";
32
+ Target["_self"] = "_self";
33
+ Target["_top"] = "_top";
34
+ })(Target || (Target = {}));
28
35
  export const FooterBaseEvent = {
29
36
  detail: {
30
37
  originalEvent: { type: PointerEvent },
@@ -49,7 +56,7 @@ export const FooterDetailedEvent = {
49
56
  * For the <code>udex-footer</code>
50
57
  * <h3>ES6 Module Import</h3>
51
58
  *
52
- * <code>import @udex/web-components/dist/Footer.js";</code>
59
+ * <code>import "@udex/web-components/dist/Footer.js";</code>
53
60
  *
54
61
  * @constructor
55
62
  * @author SAP SE
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../src/Footer.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 event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\n\nimport \"@ui5/webcomponents-icons/dist/headset.js\";\nimport \"@ui5/webcomponents-icons/dist/email.js\";\nimport \"@ui5/webcomponents-icons/dist/back-to-top.js\";\nimport \"@ui5/webcomponents-icons/dist/discussion-2.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\n\n// Template\nimport FooterTemplate from \"./generated/templates/FooterTemplate.lit.js\";\n\n// Styles\nimport FooterCss from \"./generated/themes/Footer.css\";\nimport UDExAccordionItem from \"./AccordionItem.js\";\nimport {\n ABOUT_SAP,\n CHAT_WITH_US,\n CONTACT_US,\n EMAIL,\n LOCAL_COUNTRY_NAMES,\n PHONE_NUMBER,\n QUICK_LINKS,\n SEE_COMPLETE_LIST,\n SITE_INFORMATION,\n SOCIAL_LINK_ICON,\n TRENDING,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nconst BreakpointSizeS: number = 979;\n\nexport type FooterLink = {\n title: string;\n url: string;\n};\n\nexport type FooterSocialLink = {\n url: string;\n iconUrl: string;\n};\n\nexport type FooterContactNumber = {\n number: string;\n country: string;\n};\n\nexport type FooterDetailedClickEvent = {\n originalEvent: PointerEvent,\n name: string;\n id?: string;\n sourceNode: HTMLElement;\n}\n\nexport type FooterBaseEventEvent = {\n originalEvent: PointerEvent,\n}\n\nexport const FooterBaseEvent = {\n detail: {\n originalEvent: { type: PointerEvent },\n },\n};\n\nexport const FooterDetailedEvent = {\n detail: {\n originalEvent: { type: PointerEvent },\n name: { type: String },\n id: { type: String },\n sourceNode: { type: HTMLElement },\n },\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-footer</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import @udex/web-components/dist/Footer.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-footer\n * @public\n */\n@customElement({\n tag: \"udex-footer\",\n renderer: litRender,\n styles: [FooterCss],\n template: FooterTemplate,\n dependencies: [UDExAccordionItem],\n})\n/**\n * Triggered on click interaction with logo in footer\n * @public\n * @allowPreventDefault\n */\n@event<FooterBaseEventEvent>(\"logo-click\", FooterBaseEvent)\n/**\n * Triggered on click interaction with \"Back to Top\" button\n * @public\n * @allowPreventDefault\n */\n@event<FooterBaseEventEvent>(\"back-to-top-click\", FooterBaseEvent)\n\n/**\n * Triggered on click interaction with phone number link in footer\n * @public\n * @allowPreventDefault\n */\n@event<FooterBaseEventEvent>(\"contact-phone-click\", FooterBaseEvent)\n/**\n * Triggered on click interaction with local country numbers list link\n * @public\n * @allowPreventDefault\n */\n@event<FooterBaseEventEvent>(\"contact-phone-local-numbers-click\", FooterBaseEvent)\n/**\n * Triggered on click interaction with \"Contact us by email\" link\n * @public\n * @allowPreventDefault\n */\n@event<FooterBaseEventEvent>(\"contact-email-click\", FooterBaseEvent)\n/**\n * Triggered on click interaction with \"Contact us by chat\" link\n * @public\n * @allowPreventDefault\n */\n@event<FooterBaseEventEvent>(\"contact-chat-click\", FooterBaseEvent)\n\n/**\n * Triggered on click interaction with a link within \"Quick Links\" category\n * @public\n * @allowPreventDefault\n */\n@event<FooterDetailedClickEvent>(\"quick-links-click\", FooterDetailedEvent)\n/**\n * Triggered on click interaction with a link within \"Trending\" category\n * @public\n * @allowPreventDefault\n */\n@event<FooterDetailedClickEvent>(\"trending-click\", FooterDetailedEvent)\n/**\n * Triggered on click interaction with a link within \"About SAP\" category\n * @public\n * @allowPreventDefault\n */\n@event<FooterDetailedClickEvent>(\"about-sap-click\", FooterDetailedEvent)\n/**\n * Triggered on click interaction with a link within \"Site Information\" category\n * @public\n * @allowPreventDefault\n */\n@event<FooterDetailedClickEvent>(\"site-information-click\", FooterDetailedEvent)\n\n/**\n * Triggered on click interaction with any of the social media links within footer\n * @public\n * @allowPreventDefault\n */\n@event<FooterDetailedClickEvent>(\"social-media-link-click\", FooterDetailedEvent)\n\nclass UDExFooter extends UI5Element {\n /**\n * Defines the Logo default title\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n logoTitle!: string;\n\n /**\n * Defines the Logo URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n logoUrl!: string;\n\n /**\n * Defines the optional component href link for the logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n logoLink?: string;\n\n /**\n * List of the Quick links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n quickLinks!: string;\n\n /**\n * List of the Trending links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n trendingLinks!: string;\n\n /**\n * List of the About SAP links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n aboutLinks!: string;\n\n /**\n * List of the Site Information links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n siteInformationLinks!: string;\n\n /**\n * List of the contact numbers\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n contactNumbersList!: string;\n\n /**\n * Defines the local country numbers link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n localCountryNumbersLink!: string;\n\n /**\n * Defines the Contact us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n contactUsLink!: string;\n\n /**\n * Defines the Chat with us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n chatWithUsLink!: string;\n\n /**\n * List of the Social links and their icons\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n socialLinks!: string;\n\n /**\n * Alt for Logo\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n logoAlt!: string;\n\n /**\n * Defines an aria label for the logo link\n *\n * @public\n */\n @property({ type: String })\n logoAriaLabel!: string;\n\n /**\n * Defines should render the mobile navigation.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _shouldRenderMobileMenu!: boolean;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExFooter.i18nBundle = await getI18nBundle(\"sap-ui-webcomponents-bundle\");\n }\n\n _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n _handleResize(): void {\n this._shouldRenderMobileMenu = this.isMobile;\n }\n\n onBackToTopClick(e: Event): void {\n this.fireEvent(\"back-to-top-click\", { originalEvent: e }, true);\n\n window.scrollTo(0, 0);\n }\n\n parseArrayFromString<T>(string: string): T[] {\n return string ? JSON.parse(string) as T[] : [];\n }\n\n get parsedRef(): string | undefined {\n return (this.logoLink && this.logoLink.length > 0) ? this.logoLink : undefined;\n }\n\n get quickLinksArray(): FooterLink[] {\n return this.parseArrayFromString<FooterLink>(this.quickLinks);\n }\n\n get trendingLinksArray(): FooterLink[] {\n return this.parseArrayFromString<FooterLink>(this.trendingLinks);\n }\n\n get aboutLinksArray(): FooterLink[] {\n return this.parseArrayFromString<FooterLink>(this.aboutLinks);\n }\n\n get siteInformationLinksArray(): FooterLink[] {\n return this.parseArrayFromString<FooterLink>(this.siteInformationLinks);\n }\n\n get contactNumbersArray(): FooterContactNumber[] {\n return this.parseArrayFromString<FooterContactNumber>(this.contactNumbersList);\n }\n\n get socialLinksArray(): FooterSocialLink[] {\n return this.parseArrayFromString<FooterSocialLink>(this.socialLinks);\n }\n\n get isContactContainerVisible(): boolean {\n return !!this.contactNumbersArray.length || !!this.contactUsLink || !!this.chatWithUsLink;\n }\n\n get socialIconAccessibleName() {\n return ` ${UDExFooter.i18nBundle.getText(SOCIAL_LINK_ICON)}`;\n }\n\n get phoneNumberAccessibleName() {\n return `${UDExFooter.i18nBundle.getText(PHONE_NUMBER)} `;\n }\n\n get contactUsAccessibleName() {\n return UDExFooter.i18nBundle.getText(CONTACT_US);\n }\n\n get contactUsAccessibleLabel() {\n if (this.contactUsLink.includes(\"mailto:\")) {\n return `${this.contactUsAccessibleName} ${UDExFooter.i18nBundle.getText(EMAIL)}`;\n }\n return `${this.contactUsAccessibleName}`;\n }\n\n get chatWithUsAccessibleName() {\n return UDExFooter.i18nBundle.getText(CHAT_WITH_US);\n }\n\n get quickLinksTitle() {\n return UDExFooter.i18nBundle.getText(QUICK_LINKS);\n }\n\n get trendingTitle() {\n return UDExFooter.i18nBundle.getText(TRENDING);\n }\n\n get aboutSapTitle() {\n return UDExFooter.i18nBundle.getText(ABOUT_SAP);\n }\n\n get siteInformationTitle() {\n return UDExFooter.i18nBundle.getText(SITE_INFORMATION);\n }\n\n get completeListTitle() {\n return `${UDExFooter.i18nBundle.getText(SEE_COMPLETE_LIST)} `;\n }\n\n get localCountryTitle() {\n return UDExFooter.i18nBundle.getText(LOCAL_COUNTRY_NAMES);\n }\n\n get isMobile(): boolean {\n return window.innerWidth <= BreakpointSizeS;\n }\n\n _onLogoClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"logo-click\");\n }\n\n _onContactPhoneClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"contact-phone-click\");\n }\n _onContactPhoneLocalNumbersClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"contact-phone-local-numbers-click\");\n }\n _onContactEmailClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"contact-email-click\");\n }\n _onContactChatClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"contact-chat-click\");\n }\n\n _onQuickLinksClick(e: Event): void {\n this.fireFooterDetailedClickEvent(e, \"quick-links-click\");\n }\n\n _onTrendingClick(e: Event): void {\n this.fireFooterDetailedClickEvent(e, \"trending-click\");\n }\n\n _onAboutSapClick(e: Event): void {\n this.fireFooterDetailedClickEvent(e, \"about-sap-click\");\n }\n\n _onSiteInformationClick(e: Event): void {\n this.fireFooterDetailedClickEvent(e, \"site-information-click\");\n }\n\n _onSocialMediaLinkClick(e: Event): void {\n this.fireFooterDetailedClickEvent(e, \"social-media-link-click\");\n }\n\n fireFooterBaseEvent(e: Event, eventName: string): void {\n this.fireEvent(eventName, { originalEvent: e }, true);\n }\n\n fireFooterDetailedClickEvent(e: Event, eventName: string): void {\n const sourceNode = e.composedPath()[0] as HTMLElement;\n const { innerText, dataset: { id, name } } = sourceNode;\n\n this.fireEvent(eventName, {\n ...(!!id?.length && { id }),\n name: innerText.length ? innerText : name,\n originalEvent: e,\n sourceNode,\n }, true);\n }\n}\n\nUDExFooter.define();\n\nexport default UDExFooter;\n"]}
1
+ {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../src/Footer.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 event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\n\nimport \"@ui5/webcomponents-icons/dist/headset.js\";\nimport \"@ui5/webcomponents-icons/dist/email.js\";\nimport \"@ui5/webcomponents-icons/dist/back-to-top.js\";\nimport \"@ui5/webcomponents-icons/dist/discussion-2.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\n\n// Template\nimport FooterTemplate from \"./generated/templates/FooterTemplate.lit.js\";\n\n// Styles\nimport FooterCss from \"./generated/themes/Footer.css\";\nimport UDExAccordionItem from \"./AccordionItem.js\";\nimport {\n ABOUT_SAP,\n CHAT_WITH_US,\n CONTACT_US,\n EMAIL,\n LOCAL_COUNTRY_NAMES,\n PHONE_NUMBER,\n QUICK_LINKS,\n SEE_COMPLETE_LIST,\n SITE_INFORMATION,\n SOCIAL_LINK_ICON,\n TRENDING,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nconst BreakpointSizeS: number = 979;\n\nexport enum Target {\n _blank = \"_blank\",\n _parent = \"_parent\",\n _self = \"_self\",\n _top = \"_top\",\n}\n\nexport type FooterLink = {\n title: string;\n url: string;\n target: Target;\n};\n\nexport type FooterSocialLink = {\n url: string;\n iconUrl: string;\n target: Target;\n};\n\nexport type FooterContactNumber = {\n number: string;\n country: string;\n};\n\nexport type FooterDetailedClickEvent = {\n originalEvent: PointerEvent,\n name: string;\n id?: string;\n sourceNode: HTMLElement;\n}\n\nexport type FooterBaseEventEvent = {\n originalEvent: PointerEvent,\n}\n\nexport const FooterBaseEvent = {\n detail: {\n originalEvent: { type: PointerEvent },\n },\n};\n\nexport const FooterDetailedEvent = {\n detail: {\n originalEvent: { type: PointerEvent },\n name: { type: String },\n id: { type: String },\n sourceNode: { type: HTMLElement },\n },\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-footer</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/Footer.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-footer\n * @public\n */\n@customElement({\n tag: \"udex-footer\",\n renderer: litRender,\n styles: [FooterCss],\n template: FooterTemplate,\n dependencies: [UDExAccordionItem],\n})\n/**\n * Triggered on click interaction with logo in footer\n * @public\n * @allowPreventDefault\n */\n@event<FooterBaseEventEvent>(\"logo-click\", FooterBaseEvent)\n/**\n * Triggered on click interaction with \"Back to Top\" button\n * @public\n * @allowPreventDefault\n */\n@event<FooterBaseEventEvent>(\"back-to-top-click\", FooterBaseEvent)\n\n/**\n * Triggered on click interaction with phone number link in footer\n * @public\n * @allowPreventDefault\n */\n@event<FooterBaseEventEvent>(\"contact-phone-click\", FooterBaseEvent)\n/**\n * Triggered on click interaction with local country numbers list link\n * @public\n * @allowPreventDefault\n */\n@event<FooterBaseEventEvent>(\"contact-phone-local-numbers-click\", FooterBaseEvent)\n/**\n * Triggered on click interaction with \"Contact us by email\" link\n * @public\n * @allowPreventDefault\n */\n@event<FooterBaseEventEvent>(\"contact-email-click\", FooterBaseEvent)\n/**\n * Triggered on click interaction with \"Contact us by chat\" link\n * @public\n * @allowPreventDefault\n */\n@event<FooterBaseEventEvent>(\"contact-chat-click\", FooterBaseEvent)\n\n/**\n * Triggered on click interaction with a link within \"Quick Links\" category\n * @public\n * @allowPreventDefault\n */\n@event<FooterDetailedClickEvent>(\"quick-links-click\", FooterDetailedEvent)\n/**\n * Triggered on click interaction with a link within \"Trending\" category\n * @public\n * @allowPreventDefault\n */\n@event<FooterDetailedClickEvent>(\"trending-click\", FooterDetailedEvent)\n/**\n * Triggered on click interaction with a link within \"About SAP\" category\n * @public\n * @allowPreventDefault\n */\n@event<FooterDetailedClickEvent>(\"about-sap-click\", FooterDetailedEvent)\n/**\n * Triggered on click interaction with a link within \"Site Information\" category\n * @public\n * @allowPreventDefault\n */\n@event<FooterDetailedClickEvent>(\"site-information-click\", FooterDetailedEvent)\n\n/**\n * Triggered on click interaction with any of the social media links within footer\n * @public\n * @allowPreventDefault\n */\n@event<FooterDetailedClickEvent>(\"social-media-link-click\", FooterDetailedEvent)\n\nclass UDExFooter extends UI5Element {\n /**\n * Defines the Logo default title\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n logoTitle!: string;\n\n /**\n * Defines the Logo URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n logoUrl!: string;\n\n /**\n * Defines the optional component href link for the logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n logoLink?: string;\n\n /**\n * List of the Quick links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n quickLinks!: string;\n\n /**\n * List of the Trending links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n trendingLinks!: string;\n\n /**\n * List of the About SAP links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n aboutLinks!: string;\n\n /**\n * List of the Site Information links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n siteInformationLinks!: string;\n\n /**\n * List of the contact numbers\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n contactNumbersList!: string;\n\n /**\n * Defines the local country numbers link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n localCountryNumbersLink!: string;\n\n /**\n * Defines the Contact us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n contactUsLink!: string;\n\n /**\n * Defines the Chat with us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n chatWithUsLink!: string;\n\n /**\n * List of the Social links and their icons\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n socialLinks!: string;\n\n /**\n * Alt for Logo\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n logoAlt!: string;\n\n /**\n * Defines an aria label for the logo link\n *\n * @public\n */\n @property({ type: String })\n logoAriaLabel!: string;\n\n /**\n * Defines should render the mobile navigation.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _shouldRenderMobileMenu!: boolean;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExFooter.i18nBundle = await getI18nBundle(\"sap-ui-webcomponents-bundle\");\n }\n\n _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n _handleResize(): void {\n this._shouldRenderMobileMenu = this.isMobile;\n }\n\n onBackToTopClick(e: Event): void {\n this.fireEvent(\"back-to-top-click\", { originalEvent: e }, true);\n\n window.scrollTo(0, 0);\n }\n\n parseArrayFromString<T>(string: string): T[] {\n return string ? JSON.parse(string) as T[] : [];\n }\n\n get parsedRef(): string | undefined {\n return (this.logoLink && this.logoLink.length > 0) ? this.logoLink : undefined;\n }\n\n get quickLinksArray(): FooterLink[] {\n return this.parseArrayFromString<FooterLink>(this.quickLinks);\n }\n\n get trendingLinksArray(): FooterLink[] {\n return this.parseArrayFromString<FooterLink>(this.trendingLinks);\n }\n\n get aboutLinksArray(): FooterLink[] {\n return this.parseArrayFromString<FooterLink>(this.aboutLinks);\n }\n\n get siteInformationLinksArray(): FooterLink[] {\n return this.parseArrayFromString<FooterLink>(this.siteInformationLinks);\n }\n\n get contactNumbersArray(): FooterContactNumber[] {\n return this.parseArrayFromString<FooterContactNumber>(this.contactNumbersList);\n }\n\n get socialLinksArray(): FooterSocialLink[] {\n return this.parseArrayFromString<FooterSocialLink>(this.socialLinks);\n }\n\n get isContactContainerVisible(): boolean {\n return !!this.contactNumbersArray.length || !!this.contactUsLink || !!this.chatWithUsLink;\n }\n\n get socialIconAccessibleName() {\n return ` ${UDExFooter.i18nBundle.getText(SOCIAL_LINK_ICON)}`;\n }\n\n get phoneNumberAccessibleName() {\n return `${UDExFooter.i18nBundle.getText(PHONE_NUMBER)} `;\n }\n\n get contactUsAccessibleName() {\n return UDExFooter.i18nBundle.getText(CONTACT_US);\n }\n\n get contactUsAccessibleLabel() {\n if (this.contactUsLink.includes(\"mailto:\")) {\n return `${this.contactUsAccessibleName} ${UDExFooter.i18nBundle.getText(EMAIL)}`;\n }\n return `${this.contactUsAccessibleName}`;\n }\n\n get chatWithUsAccessibleName() {\n return UDExFooter.i18nBundle.getText(CHAT_WITH_US);\n }\n\n get quickLinksTitle() {\n return UDExFooter.i18nBundle.getText(QUICK_LINKS);\n }\n\n get trendingTitle() {\n return UDExFooter.i18nBundle.getText(TRENDING);\n }\n\n get aboutSapTitle() {\n return UDExFooter.i18nBundle.getText(ABOUT_SAP);\n }\n\n get siteInformationTitle() {\n return UDExFooter.i18nBundle.getText(SITE_INFORMATION);\n }\n\n get completeListTitle() {\n return `${UDExFooter.i18nBundle.getText(SEE_COMPLETE_LIST)} `;\n }\n\n get localCountryTitle() {\n return UDExFooter.i18nBundle.getText(LOCAL_COUNTRY_NAMES);\n }\n\n get isMobile(): boolean {\n return window.innerWidth <= BreakpointSizeS;\n }\n\n _onLogoClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"logo-click\");\n }\n\n _onContactPhoneClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"contact-phone-click\");\n }\n _onContactPhoneLocalNumbersClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"contact-phone-local-numbers-click\");\n }\n _onContactEmailClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"contact-email-click\");\n }\n _onContactChatClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"contact-chat-click\");\n }\n\n _onQuickLinksClick(e: Event): void {\n this.fireFooterDetailedClickEvent(e, \"quick-links-click\");\n }\n\n _onTrendingClick(e: Event): void {\n this.fireFooterDetailedClickEvent(e, \"trending-click\");\n }\n\n _onAboutSapClick(e: Event): void {\n this.fireFooterDetailedClickEvent(e, \"about-sap-click\");\n }\n\n _onSiteInformationClick(e: Event): void {\n this.fireFooterDetailedClickEvent(e, \"site-information-click\");\n }\n\n _onSocialMediaLinkClick(e: Event): void {\n this.fireFooterDetailedClickEvent(e, \"social-media-link-click\");\n }\n\n fireFooterBaseEvent(e: Event, eventName: string): void {\n this.fireEvent(eventName, { originalEvent: e }, true);\n }\n\n fireFooterDetailedClickEvent(e: Event, eventName: string): void {\n const sourceNode = e.composedPath()[0] as HTMLElement;\n const { innerText, dataset: { id, name } } = sourceNode;\n\n this.fireEvent(eventName, {\n ...(!!id?.length && { id }),\n name: innerText.length ? innerText : name,\n originalEvent: e,\n sourceNode,\n }, true);\n }\n}\n\nUDExFooter.define();\n\nexport default UDExFooter;\n"]}
package/dist/Link.d.ts CHANGED
@@ -14,7 +14,7 @@ export declare enum IconPlacement {
14
14
  * For the <code>udex-link</code>
15
15
  * <h3>ES6 Module Import</h3>
16
16
  *
17
- * <code>import @udex/web-components/dist/Link.js";</code>
17
+ * <code>import "@udex/web-components/dist/Link.js";</code>
18
18
  *
19
19
  * @constructor
20
20
  * @author SAP SE
package/dist/Link.js CHANGED
@@ -28,7 +28,7 @@ export var IconPlacement;
28
28
  * For the <code>udex-link</code>
29
29
  * <h3>ES6 Module Import</h3>
30
30
  *
31
- * <code>import @udex/web-components/dist/Link.js";</code>
31
+ * <code>import "@udex/web-components/dist/Link.js";</code>
32
32
  *
33
33
  * @constructor
34
34
  * @author SAP SE
package/dist/Link.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","sourceRoot":"","sources":["../src/Link.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iCAAiC,CAAC;AAEnD,OAAO,OAAO,MAAM,sDAAsD,CAAC;AAC3E,OAAO,YAAY,MAAM,2CAA2C,CAAC;AAErE,SAAS;AACT,OAAO,OAAO,MAAM,gCAAgC,CAAC;AAErD,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,4BAAW,CAAA;AACb,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AAQH,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,IAAI;IAkBvB,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,KAAK,CAAC;IACjE,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,GAAG,CAAC;IAC/D,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,WAAW,CAAC;IACpE,CAAC;CACJ,CAAA;AAtBK;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sCACX;AASd;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC;+CAC9B;AAhBnC,QAAQ;IAPb,aAAa,CAAC;QACb,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,EAAE,YAAY;KACvB,CAAC;GAEI,QAAQ,CA6Bb;AAED,QAAQ,CAAC,MAAM,EAAE,CAAC;AAElB,eAAe,QAAQ,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Link from \"@ui5/webcomponents/dist/Link.js\";\n\nimport linkCss from \"@ui5/webcomponents/dist/generated/themes/Link.css.js\";\nimport LinkTemplate from \"./generated/templates/LinkTemplate.lit.js\";\n\n// Styles\nimport LinkCss from \"./generated/themes/Link.css.js\";\n\nexport enum IconPlacement {\n start = \"start\",\n end = \"end\"\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-link</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import @udex/web-components/dist/Link.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends Link\n * @tagname udex-link\n * @public\n */\n@customElement({\n tag: \"udex-link\",\n renderer: litRender,\n styles: [linkCss, LinkCss],\n template: LinkTemplate,\n})\n\nclass UDExLink extends Link {\n /**\n * Used as the label for background image.\n *\n * @public\n */\n @property({ type: String })\n icon?: string;\n\n /**\n * Used as the label for background image.\n *\n * @public\n * @default \"end\"\n */\n @property({ type: IconPlacement, defaultValue: IconPlacement.end })\n iconPlacement?: `${IconPlacement}`;\n\n get startIcon() {\n return this.icon && this.iconPlacement === IconPlacement.start;\n }\n\n get endIcon() {\n return this.icon && this.iconPlacement === IconPlacement.end;\n }\n\n get linkClass() {\n return this.icon ? \"udex-link udex-link--with-icon\" : \"udex-link\";\n }\n}\n\nUDExLink.define();\n\nexport default UDExLink;\n"]}
1
+ {"version":3,"file":"Link.js","sourceRoot":"","sources":["../src/Link.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iCAAiC,CAAC;AAEnD,OAAO,OAAO,MAAM,sDAAsD,CAAC;AAC3E,OAAO,YAAY,MAAM,2CAA2C,CAAC;AAErE,SAAS;AACT,OAAO,OAAO,MAAM,gCAAgC,CAAC;AAErD,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,4BAAW,CAAA;AACb,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AAQH,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,IAAI;IAkBvB,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,KAAK,CAAC;IACjE,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,GAAG,CAAC;IAC/D,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,WAAW,CAAC;IACpE,CAAC;CACJ,CAAA;AAtBK;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sCACX;AASd;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC;+CAC9B;AAhBnC,QAAQ;IAPb,aAAa,CAAC;QACb,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,EAAE,YAAY;KACvB,CAAC;GAEI,QAAQ,CA6Bb;AAED,QAAQ,CAAC,MAAM,EAAE,CAAC;AAElB,eAAe,QAAQ,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Link from \"@ui5/webcomponents/dist/Link.js\";\n\nimport linkCss from \"@ui5/webcomponents/dist/generated/themes/Link.css.js\";\nimport LinkTemplate from \"./generated/templates/LinkTemplate.lit.js\";\n\n// Styles\nimport LinkCss from \"./generated/themes/Link.css.js\";\n\nexport enum IconPlacement {\n start = \"start\",\n end = \"end\"\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-link</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/Link.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends Link\n * @tagname udex-link\n * @public\n */\n@customElement({\n tag: \"udex-link\",\n renderer: litRender,\n styles: [linkCss, LinkCss],\n template: LinkTemplate,\n})\n\nclass UDExLink extends Link {\n /**\n * Used as the label for background image.\n *\n * @public\n */\n @property({ type: String })\n icon?: string;\n\n /**\n * Used as the label for background image.\n *\n * @public\n * @default \"end\"\n */\n @property({ type: IconPlacement, defaultValue: IconPlacement.end })\n iconPlacement?: `${IconPlacement}`;\n\n get startIcon() {\n return this.icon && this.iconPlacement === IconPlacement.start;\n }\n\n get endIcon() {\n return this.icon && this.iconPlacement === IconPlacement.end;\n }\n\n get linkClass() {\n return this.icon ? \"udex-link udex-link--with-icon\" : \"udex-link\";\n }\n}\n\nUDExLink.define();\n\nexport default UDExLink;\n"]}