@sapudex/web-components 2.13.0 → 2.14.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 (228) hide show
  1. package/cypress/specs/EventRibbon.cy.tsx +9 -1
  2. package/cypress/specs/FilterMenu.cy.tsx +17 -1
  3. package/cypress/specs/SelectBox.cy.tsx +17 -0
  4. package/cypress/specs/SocialMediaButton.cy.tsx +6 -0
  5. package/dist/Accordion.d.ts +4 -3
  6. package/dist/Accordion.js.map +1 -1
  7. package/dist/AccordionItem.js.map +1 -1
  8. package/dist/Breadcrumbs.d.ts +2 -1
  9. package/dist/Breadcrumbs.js +2 -2
  10. package/dist/Breadcrumbs.js.map +1 -1
  11. package/dist/Checkbox.js +1 -1
  12. package/dist/Checkbox.js.map +1 -1
  13. package/dist/ContactItem.d.ts +1 -0
  14. package/dist/ContactItem.js.map +1 -1
  15. package/dist/ControlButton.js +3 -3
  16. package/dist/ControlButton.js.map +1 -1
  17. package/dist/CountrySelector.d.ts +1 -0
  18. package/dist/CountrySelector.js +1 -1
  19. package/dist/CountrySelector.js.map +1 -1
  20. package/dist/DatePicker.d.ts +3 -2
  21. package/dist/DatePicker.js.map +1 -1
  22. package/dist/Dropdown.js.map +1 -1
  23. package/dist/EventRibbon.js +1 -1
  24. package/dist/EventRibbon.js.map +1 -1
  25. package/dist/EventRibbonTemplate.js +2 -2
  26. package/dist/EventRibbonTemplate.js.map +1 -1
  27. package/dist/FilterMenu.d.ts +11 -5
  28. package/dist/FilterMenu.js +7 -0
  29. package/dist/FilterMenu.js.map +1 -1
  30. package/dist/FilterMenuGroupHeader.js.map +1 -1
  31. package/dist/FilterMenuItem.js.map +1 -1
  32. package/dist/Footer.d.ts +1 -0
  33. package/dist/Footer.js.map +1 -1
  34. package/dist/HeroBanner.js.map +1 -1
  35. package/dist/InputGroup.js.map +1 -1
  36. package/dist/LinkList.js.map +1 -1
  37. package/dist/LinkListItem.d.ts +1 -0
  38. package/dist/LinkListItem.js.map +1 -1
  39. package/dist/List.d.ts +1 -0
  40. package/dist/List.js +1 -1
  41. package/dist/List.js.map +1 -1
  42. package/dist/ListGroupHeader.d.ts +1 -0
  43. package/dist/ListGroupHeader.js.map +1 -1
  44. package/dist/ListGroupHeaderBase.js.map +1 -1
  45. package/dist/ListItem.d.ts +1 -0
  46. package/dist/ListItem.js +1 -1
  47. package/dist/ListItem.js.map +1 -1
  48. package/dist/ListItemBase.d.ts +5 -4
  49. package/dist/ListItemBase.js.map +1 -1
  50. package/dist/ListSelectAll.d.ts +1 -0
  51. package/dist/ListSelectAll.js.map +1 -1
  52. package/dist/MastheadCountrySelector.d.ts +10 -9
  53. package/dist/MastheadCountrySelector.js.map +1 -1
  54. package/dist/MastheadItem.d.ts +2 -1
  55. package/dist/MastheadItem.js.map +1 -1
  56. package/dist/MastheadMenu.d.ts +1 -0
  57. package/dist/MastheadMenu.js.map +1 -1
  58. package/dist/MastheadMenuItem.js.map +1 -1
  59. package/dist/MastheadMobileMenu.d.ts +1 -0
  60. package/dist/MastheadMobileMenu.js.map +1 -1
  61. package/dist/MastheadProfileMenu.d.ts +4 -3
  62. package/dist/MastheadProfileMenu.js +2 -2
  63. package/dist/MastheadProfileMenu.js.map +1 -1
  64. package/dist/MastheadShell.d.ts +12 -11
  65. package/dist/MastheadShell.js.map +1 -1
  66. package/dist/MediaPlayer.d.ts +2 -1
  67. package/dist/MediaPlayer.js.map +1 -1
  68. package/dist/MediaPlayerVimeo.d.ts +1 -0
  69. package/dist/MediaPlayerVimeo.js.map +1 -1
  70. package/dist/MediaPlayerYoutube.d.ts +1 -0
  71. package/dist/MediaPlayerYoutube.js.map +1 -1
  72. package/dist/Pagination.d.ts +3 -2
  73. package/dist/Pagination.js.map +1 -1
  74. package/dist/RatingIndicator.js.map +1 -1
  75. package/dist/Search.d.ts +11 -5
  76. package/dist/Search.js +5 -5
  77. package/dist/Search.js.map +1 -1
  78. package/dist/SearchableListBase.d.ts +5 -4
  79. package/dist/SearchableListBase.js.map +1 -1
  80. package/dist/SecondaryNavigation.d.ts +1 -0
  81. package/dist/SecondaryNavigation.js.map +1 -1
  82. package/dist/SecondaryNavigationItem.d.ts +3 -2
  83. package/dist/SecondaryNavigationItem.js.map +1 -1
  84. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  85. package/dist/SecondaryNavigationSubItem.d.ts +3 -2
  86. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  87. package/dist/SelectBox.d.ts +6 -0
  88. package/dist/SelectBox.js +7 -0
  89. package/dist/SelectBox.js.map +1 -1
  90. package/dist/SelectBoxGroupHeader.js.map +1 -1
  91. package/dist/SideNavigationMobile.d.ts +1 -1
  92. package/dist/SideNavigationMobile.js.map +1 -1
  93. package/dist/SocialMediaButton.d.ts +8 -0
  94. package/dist/SocialMediaButton.js +10 -1
  95. package/dist/SocialMediaButton.js.map +1 -1
  96. package/dist/SocialMediaButtonTemplate.js +1 -1
  97. package/dist/SocialMediaButtonTemplate.js.map +1 -1
  98. package/dist/StepInput.d.ts +3 -2
  99. package/dist/StepInput.js.map +1 -1
  100. package/dist/StepInputTemplate.js +1 -1
  101. package/dist/StepInputTemplate.js.map +1 -1
  102. package/dist/Switch.js.map +1 -1
  103. package/dist/Tab.d.ts +1 -2
  104. package/dist/Tab.js.map +1 -1
  105. package/dist/TabNavigation.d.ts +1 -0
  106. package/dist/TabNavigation.js.map +1 -1
  107. package/dist/Table.d.ts +2 -2
  108. package/dist/Table.js.map +1 -1
  109. package/dist/TableCellBase.js.map +1 -1
  110. package/dist/TableRowBase.js.map +1 -1
  111. package/dist/Tag.d.ts +1 -0
  112. package/dist/Tag.js.map +1 -1
  113. package/dist/TagGroup.d.ts +1 -0
  114. package/dist/TagGroup.js.map +1 -1
  115. package/dist/TextField.d.ts +2 -1
  116. package/dist/TextField.js.map +1 -1
  117. package/dist/Tile.d.ts +2 -0
  118. package/dist/Tile.js.map +1 -1
  119. package/dist/Tooltip.d.ts +11 -0
  120. package/dist/Tooltip.js +42 -0
  121. package/dist/Tooltip.js.map +1 -1
  122. package/dist/Upload.d.ts +1 -0
  123. package/dist/Upload.js.map +1 -1
  124. package/dist/UploadItem.js +1 -1
  125. package/dist/UploadItem.js.map +1 -1
  126. package/dist/Wizard.d.ts +2 -2
  127. package/dist/Wizard.js.map +1 -1
  128. package/dist/WizardTab.js +1 -1
  129. package/dist/WizardTab.js.map +1 -1
  130. package/dist/assets/{InputSuggestions-FI3fjOZ9.js → InputSuggestions-AxcsfuTc.js} +1 -1
  131. package/dist/assets/{ListItemStandardExpandableTextTemplate-CkvW90wq.js → ListItemStandardExpandableTextTemplate-CaS49yZt.js} +1 -1
  132. package/dist/assets/{bundle.esm-BrqOd5tw.js → bundle.esm-DzkSPQ0p.js} +112 -112
  133. package/dist/css/themes/EventRibbon.css +1 -1
  134. package/dist/css/themes/RatingIndicator.css +1 -1
  135. package/dist/css/themes/Slider.css +1 -1
  136. package/dist/css/themes/SocialMediaButton.css +1 -1
  137. package/dist/custom-elements-internal.json +235 -139
  138. package/dist/custom-elements.json +189 -124
  139. package/dist/generated/templates/TooltipTemplate.lit.js +1 -1
  140. package/dist/generated/templates/TooltipTemplate.lit.js.map +1 -1
  141. package/dist/generated/themes/EventRibbon.css.d.ts +1 -1
  142. package/dist/generated/themes/EventRibbon.css.js +1 -1
  143. package/dist/generated/themes/EventRibbon.css.js.map +1 -1
  144. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  145. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  146. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  147. package/dist/generated/themes/Slider.css.d.ts +1 -1
  148. package/dist/generated/themes/Slider.css.js +1 -1
  149. package/dist/generated/themes/Slider.css.js.map +1 -1
  150. package/dist/generated/themes/SocialMediaButton.css.d.ts +1 -1
  151. package/dist/generated/themes/SocialMediaButton.css.js +1 -1
  152. package/dist/generated/themes/SocialMediaButton.css.js.map +1 -1
  153. package/dist/vscode.html-custom-data.json +4 -4
  154. package/dist/web-types.json +47 -7
  155. package/package.json +1 -1
  156. package/src/Accordion.ts +5 -4
  157. package/src/AccordionItem.ts +1 -0
  158. package/src/Breadcrumbs.ts +4 -10
  159. package/src/Checkbox.ts +3 -2
  160. package/src/ContactItem.ts +1 -0
  161. package/src/ControlButton.ts +3 -3
  162. package/src/CountrySelector.ts +2 -5
  163. package/src/DatePicker.ts +3 -2
  164. package/src/Dropdown.ts +0 -1
  165. package/src/EventRibbon.ts +1 -1
  166. package/src/EventRibbonTemplate.tsx +4 -6
  167. package/src/FilterMenu.ts +16 -7
  168. package/src/FilterMenuGroupHeader.ts +0 -1
  169. package/src/FilterMenuItem.ts +1 -0
  170. package/src/Footer.ts +1 -0
  171. package/src/HeroBanner.ts +0 -1
  172. package/src/InputGroup.ts +0 -1
  173. package/src/LinkList.ts +1 -0
  174. package/src/LinkListItem.ts +1 -0
  175. package/src/List.ts +3 -8
  176. package/src/ListGroupHeader.ts +1 -0
  177. package/src/ListGroupHeaderBase.ts +0 -1
  178. package/src/ListItem.ts +2 -3
  179. package/src/ListItemBase.ts +6 -6
  180. package/src/ListSelectAll.ts +1 -0
  181. package/src/MastheadCountrySelector.ts +12 -11
  182. package/src/MastheadItem.ts +2 -1
  183. package/src/MastheadMenu.ts +1 -0
  184. package/src/MastheadMenuItem.ts +1 -0
  185. package/src/MastheadMobileMenu.ts +1 -0
  186. package/src/MastheadProfileMenu.ts +7 -5
  187. package/src/MastheadShell.ts +14 -12
  188. package/src/MediaPlayer.ts +2 -2
  189. package/src/MediaPlayerVimeo.ts +1 -0
  190. package/src/MediaPlayerYoutube.ts +1 -0
  191. package/src/Pagination.ts +3 -2
  192. package/src/RatingIndicator.ts +0 -1
  193. package/src/Search.ts +13 -16
  194. package/src/SearchableListBase.ts +8 -5
  195. package/src/SecondaryNavigation.ts +1 -0
  196. package/src/SecondaryNavigationItem.ts +4 -11
  197. package/src/SecondaryNavigationItemBase.ts +0 -1
  198. package/src/SecondaryNavigationSubItem.ts +3 -2
  199. package/src/SelectBox.ts +10 -12
  200. package/src/SelectBoxGroupHeader.ts +0 -1
  201. package/src/SideNavigationMobile.ts +1 -1
  202. package/src/SocialMediaButton.ts +17 -1
  203. package/src/SocialMediaButtonTemplate.tsx +3 -1
  204. package/src/StepInput.ts +4 -14
  205. package/src/StepInputTemplate.tsx +1 -1
  206. package/src/Switch.ts +0 -1
  207. package/src/Tab.ts +1 -2
  208. package/src/TabNavigation.ts +5 -14
  209. package/src/Table.ts +2 -2
  210. package/src/TableCellBase.ts +0 -1
  211. package/src/TableRowBase.ts +0 -1
  212. package/src/Tag.ts +1 -0
  213. package/src/TagGroup.ts +1 -0
  214. package/src/TextField.ts +2 -1
  215. package/src/Tile.ts +3 -1
  216. package/src/Tooltip.hbs +5 -1
  217. package/src/Tooltip.ts +52 -0
  218. package/src/Upload.ts +1 -0
  219. package/src/UploadItem.ts +1 -4
  220. package/src/Wizard.ts +2 -2
  221. package/src/WizardTab.ts +1 -1
  222. package/src/generated/templates/TooltipTemplate.lit.ts +1 -1
  223. package/src/generated/themes/EventRibbon.css.ts +1 -1
  224. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  225. package/src/generated/themes/Slider.css.ts +1 -1
  226. package/src/generated/themes/SocialMediaButton.css.ts +1 -1
  227. package/src/themes/EventRibbon.css +3 -3
  228. package/src/themes/SocialMediaButton.css +4 -1
@@ -22,14 +22,15 @@ import type UDExMastheadShell from "./MastheadShell.js";
22
22
  import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
23
23
  import "@ui5/webcomponents-icons/dist/action.js";
24
24
  import type { LinkClickEventDetail } from "@ui5/webcomponents/dist/Link.js";
25
- // Styles
26
- import MastheadProfileMenuCss from "./generated/themes/MastheadProfileMenu.css.js";
27
25
  import UDExStatusBadgeValueState from "./types/StatusBadgeValueState.js";
28
26
  import type { ResizeObserverCallback } from "@ui5/webcomponents-base/delegate/ResizeHandler.js";
29
27
  import ResizeHandler from "@ui5/webcomponents-base/delegate/ResizeHandler.js";
30
28
  import { BreakpointUtils } from "./utils/Breakpoints.js";
31
29
 
32
- interface UserData {
30
+ // Styles
31
+ import MastheadProfileMenuCss from "./generated/themes/MastheadProfileMenu.css.js";
32
+
33
+ export interface UserData {
33
34
  name?: string,
34
35
  username?: string,
35
36
  email?: string,
@@ -37,7 +38,7 @@ interface UserData {
37
38
  avatarInitials?: string
38
39
  }
39
40
 
40
- interface UserIdentity {
41
+ export interface UserIdentity {
41
42
  avatarUrl: string,
42
43
  email: string,
43
44
  name: string,
@@ -45,7 +46,7 @@ interface UserIdentity {
45
46
  isLogged: boolean,
46
47
  }
47
48
 
48
- interface ExtendedUserIdentity extends UserIdentity {
49
+ export interface ExtendedUserIdentity extends UserIdentity {
49
50
  supportingText: string;
50
51
  statusBadge: string;
51
52
  }
@@ -417,3 +418,4 @@ class UDExMastheadProfileMenu extends UI5Element {
417
418
  UDExMastheadProfileMenu.define();
418
419
 
419
420
  export default UDExMastheadProfileMenu;
421
+ export type { UDExMastheadProfileMenuItemClickEventDetail, UDExMastheadProfileMenuIdentityClickEventDetail, UDExMastheadProfileMenuAddOrRemoveClickEventDetail };
@@ -33,19 +33,9 @@ import MastheadShellTemplate from "./generated/templates/MastheadShellTemplate.l
33
33
  import MastheadShellCss from "./generated/themes/MastheadShell.css.js";
34
34
 
35
35
  const canvasContentFont = "14px '72 Brand Variable'";
36
- type MastheadSlottedItem = UDExMastheadItem | UDExMastheadProfileMenu | UDExMastheadMenu | UDExMastheadCountrySelector | undefined | null;
37
- type MastheadItemType = UDExMastheadItem | null | undefined;
38
36
 
39
- type UDExMastheadShellBaseEventDetail = {
40
- originalEvent: PointerEvent,
41
- analyticsName: AnalyticsName,
42
- sourceNode: HTMLElement,
43
- item?: UDExMastheadItem,
44
- }
45
-
46
- type UDExMastheadShellAnalyticsNameEventDetail = {
47
- analyticsName: AnalyticsName,
48
- }
37
+ export type MastheadSlottedItem = UDExMastheadItem | UDExMastheadProfileMenu | UDExMastheadMenu | UDExMastheadCountrySelector | undefined | null;
38
+ export type MastheadItemType = UDExMastheadItem | null | undefined;
49
39
 
50
40
  export enum UDExMastheadVariable {
51
41
  itemArrowIconMarginInlineStart = "--udex-masthead-item-arrow-margin-inline-start",
@@ -59,6 +49,17 @@ export enum UDExMastheadVariable {
59
49
  itemGap = "--udex-masthead-shell-item-gap",
60
50
  }
61
51
 
52
+ type UDExMastheadShellBaseEventDetail = {
53
+ originalEvent: PointerEvent,
54
+ analyticsName: AnalyticsName,
55
+ sourceNode: HTMLElement,
56
+ item?: UDExMastheadItem,
57
+ }
58
+
59
+ type UDExMastheadShellAnalyticsNameEventDetail = {
60
+ analyticsName: AnalyticsName,
61
+ }
62
+
62
63
  /**
63
64
  * @class
64
65
  *
@@ -1092,3 +1093,4 @@ class UDExMastheadShell extends UI5Element {
1092
1093
  UDExMastheadShell.define();
1093
1094
 
1094
1095
  export default UDExMastheadShell;
1096
+ export type { UDExMastheadShellBaseEventDetail, UDExMastheadShellAnalyticsNameEventDetail };
@@ -18,14 +18,13 @@ import MediaPlayerTemplate from "./generated/templates/MediaPlayerTemplate.lit.j
18
18
  // Styles
19
19
  import MediaPlayerCss from "./generated/themes/MediaPlayer.css.js";
20
20
 
21
- export type YoutubePlayer = YT.Player;
22
-
23
21
  declare global {
24
22
  interface Window {
25
23
  videojs: any;
26
24
  }
27
25
  }
28
26
 
27
+ export type YoutubePlayer = YT.Player;
29
28
  export enum UDExAspectRatio {
30
29
  "16:9" = "16:9",
31
30
  "9:16" = "9:16",
@@ -634,3 +633,4 @@ class UDExMediaPlayer extends UI5Element {
634
633
  UDExMediaPlayer.define();
635
634
 
636
635
  export default UDExMediaPlayer;
636
+ export type { UDExMediaPlayerVideoProgressEventDetail };
@@ -175,3 +175,4 @@ class UDExMediaPlayerVimeo extends UI5Element {
175
175
  UDExMediaPlayerVimeo.define();
176
176
 
177
177
  export default UDExMediaPlayerVimeo;
178
+ export type { UDExMediaPLayerViemeoPlayingEventDetail };
@@ -310,3 +310,4 @@ class UDExMediaPlayerYoutube extends UI5Element {
310
310
  UDExMediaPlayerYoutube.define();
311
311
 
312
312
  export default UDExMediaPlayerYoutube;
313
+ export type { UDExMediaPlayerYoutubeBaseEventDetails, UDExMediaPlayerYoutubePlayingEventDetail };
package/src/Pagination.ts CHANGED
@@ -32,7 +32,7 @@ import PaginationTemplate from "./generated/templates/PaginationTemplate.lit.js"
32
32
  // Styles
33
33
  import PaginationCss from "./generated/themes/Pagination.css.js";
34
34
 
35
- interface Page {
35
+ export interface Page {
36
36
  value: number;
37
37
  active: boolean;
38
38
  }
@@ -47,7 +47,7 @@ export enum UDExDisplayType {
47
47
  mobile = "mobile"
48
48
  }
49
49
 
50
- export type UDExPaginationChangeEventDetail = {
50
+ type UDExPaginationChangeEventDetail = {
51
51
  currentPage: number,
52
52
  }
53
53
 
@@ -471,3 +471,4 @@ class UDExPagination extends UI5Element {
471
471
  UDExPagination.define();
472
472
 
473
473
  export default UDExPagination;
474
+ export type { UDExPaginationChangeEventDetail };
@@ -32,7 +32,6 @@ export enum UDExDisplayType {
32
32
  * @extends RatingIndicator
33
33
  * @public
34
34
  */
35
-
36
35
  @customElement({
37
36
  tag: "udex-rating-indicator",
38
37
  renderer: litRender,
package/src/Search.ts CHANGED
@@ -10,13 +10,7 @@ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
10
10
  import { getFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
11
11
  import Popover from "@ui5/webcomponents/dist/Popover.js";
12
12
  import {
13
- isEnter,
14
- isTabNext,
15
- isTabPrevious,
16
- isUp,
17
- isDown,
18
- isEscape,
19
- isSpace,
13
+ isEnter, isTabNext, isTabPrevious, isUp, isDown, isEscape, isSpace,
20
14
  } from "@ui5/webcomponents-base/dist/Keys.js";
21
15
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
22
16
  import Icon from "@ui5/webcomponents/dist/Icon.js";
@@ -58,12 +52,12 @@ const SearchIcon: string = "sap-icon://search";
58
52
 
59
53
  const SuggestionsPopoverId: string = "suggestions-popover";
60
54
 
61
- type ListItem = {
55
+ export type ListItem = {
62
56
  label: string;
63
57
  icon: string;
64
58
  }
65
59
 
66
- type DataList = Array<ListItem | string>;
60
+ export type DataList = Array<ListItem | string>;
67
61
 
68
62
  export type SuggestionData = {
69
63
  label: string,
@@ -75,7 +69,7 @@ export type RecommendData = {
75
69
  list: DataList
76
70
  }
77
71
 
78
- type SuggestionRecommendLists = {
72
+ export type SuggestionRecommendLists = {
79
73
  suggested: SuggestionData | DataList,
80
74
  recommended: RecommendData | DataList
81
75
  }
@@ -99,15 +93,17 @@ export type PopoverPlacement = "Bottom" | "Top";
99
93
 
100
94
  type UDExSearchBaseEventDetail = {
101
95
  value: string,
96
+ categoryName?: string
102
97
  }
103
98
 
104
99
  type UDExSearchPrefixItemClickEventDetail = {
105
100
  item: ListItemBase,
106
101
  }
107
102
 
108
- export type UDExSearchKeydownEventDetail = {
103
+ type UDExSearchKeydownEventDetail = {
109
104
  e: KeyboardEvent;
110
105
  }
106
+
111
107
  /**
112
108
  * @class
113
109
  *
@@ -693,7 +689,7 @@ class UDExSearch extends UI5Element {
693
689
  const itemWithCustomIcon = typeof item === "object";
694
690
  const label = itemWithCustomIcon ? item.label : item;
695
691
  return {
696
- handleSelectItem: this.handleSelectItem(label),
692
+ handleSelectItem: this.handleSelectItem(label, idName),
697
693
  text: this.getTextWithSuggestion(label),
698
694
  title: label,
699
695
  icon: itemWithCustomIcon ? item.icon : SearchIcon,
@@ -715,14 +711,14 @@ class UDExSearch extends UI5Element {
715
711
  return text.replace(search, "<b>$&</b>");
716
712
  }
717
713
 
718
- handleSelectItem = (itemValue: string) => () => {
714
+ handleSelectItem = (itemValue: string, categoryName: string) => () => {
719
715
  this.value = itemValue;
720
- this.fireDropdownItemClick(itemValue);
716
+ this.fireDropdownItemClick(itemValue, categoryName);
721
717
  this.handleSubmitValue();
722
718
  };
723
719
 
724
- fireDropdownItemClick(value: string) {
725
- this.fireDecoratorEvent("dropdown-item-click", { value });
720
+ fireDropdownItemClick(value: string, categoryName: string) {
721
+ this.fireDecoratorEvent("dropdown-item-click", { value, categoryName });
726
722
  }
727
723
 
728
724
  handleDropdownClick() {
@@ -1323,3 +1319,4 @@ class UDExSearch extends UI5Element {
1323
1319
  UDExSearch.define();
1324
1320
 
1325
1321
  export default UDExSearch;
1322
+ export type { UDExSearchBaseEventDetail, UDExSearchKeydownEventDetail, UDExSearchPrefixItemClickEventDetail };
@@ -30,6 +30,11 @@ type UDExSearchableListBaseSubmitSearchEventDetail = {
30
30
  selectedItems: Array<UDExListItemBase>
31
31
  }
32
32
 
33
+ type UDExSelectBoxIconClickEventDetail = {
34
+ originalEvent: PointerEvent,
35
+ item: UDExItemFromList,
36
+ }
37
+
33
38
  export type UDExSearchableListBaseEvents = {
34
39
  "select-all": void,
35
40
  "selection-change": UDExSearchableListBaseSelectionChangeEventDetail,
@@ -40,11 +45,6 @@ export type UDExSearchableListBaseEvents = {
40
45
  "second-icon-click": UDExSelectBoxIconClickEventDetail,
41
46
  }
42
47
 
43
- type UDExSelectBoxIconClickEventDetail = {
44
- originalEvent: PointerEvent,
45
- item: UDExItemFromList,
46
- }
47
-
48
48
  /**
49
49
  * @class
50
50
  *
@@ -655,3 +655,6 @@ class UDExSearchableListBase extends UI5Element {
655
655
  }
656
656
 
657
657
  export default UDExSearchableListBase;
658
+ export type {
659
+ UDExSelectBoxIconClickEventDetail, UDExSearchableListBaseSubmitSearchEventDetail, UDExSearchableListBaseChangeSearchEventDetail, UDExSearchableListBaseSelectionChangeEventDetail,
660
+ };
@@ -525,3 +525,4 @@ class UDExSecondaryNavigation extends UI5Element {
525
525
  UDExSecondaryNavigation.define();
526
526
 
527
527
  export default UDExSecondaryNavigation;
528
+ export type { UDExSecondaryNavigationClickEventDetail, UDExSecondaryNavigationHeadingClickEventDetail };
@@ -5,15 +5,7 @@ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
5
5
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
6
6
  import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
7
7
  import {
8
- isLeft,
9
- isRight,
10
- isUp,
11
- isDown,
12
- isEscape,
13
- isSpace,
14
- isEnter,
15
- isHome,
16
- isEnd, isTabNext, isTabPrevious,
8
+ isLeft, isRight, isUp, isDown, isEscape, isSpace, isEnter, isHome, isEnd, isTabNext, isTabPrevious,
17
9
  } from "@ui5/webcomponents-base/dist/Keys.js";
18
10
  import type { RelativeValue } from "./utils/parseRelativeUnits.js";
19
11
  import parseRelativeUnits from "./utils/parseRelativeUnits.js";
@@ -29,13 +21,13 @@ import SecondaryNavigationItemCss from "./generated/themes/SecondaryNavigationIt
29
21
 
30
22
  export const menuItemRole: string = "menuitem";
31
23
 
32
- export type UDExSecondaryNavigationItemClickEventDetail = {
24
+ type UDExSecondaryNavigationItemClickEventDetail = {
33
25
  item: HTMLElement,
34
26
  index: number,
35
27
  originalEvent: PointerEvent | KeyboardEvent
36
28
  };
37
29
 
38
- export type UDExSecondaryNavigationItemSubItemClickEventDetail = {
30
+ type UDExSecondaryNavigationItemSubItemClickEventDetail = {
39
31
  item: NavItem,
40
32
  index: number,
41
33
  originalEvent: PointerEvent
@@ -507,3 +499,4 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
507
499
  UDExSecondaryNavigationItem.define();
508
500
 
509
501
  export default UDExSecondaryNavigationItem;
502
+ export type { UDExSecondaryNavigationItemClickEventDetail, UDExSecondaryNavigationItemSubItemClickEventDetail };
@@ -29,7 +29,6 @@ export type NavItem = {
29
29
  * @extends UI5Element
30
30
  * @public
31
31
  */
32
-
33
32
  @customElement({
34
33
  renderer: litRender,
35
34
  })
@@ -15,12 +15,12 @@ import SecondaryNavigationSubItemTemplate from "./generated/templates/SecondaryN
15
15
  // Styles
16
16
  import SecondaryNavigationSubItemCss from "./generated/themes/SecondaryNavigationSubItem.css.js";
17
17
 
18
- export type UDExSecondaryNavigationSubItemClickEventDetail = {
18
+ type UDExSecondaryNavigationSubItemClickEventDetail = {
19
19
  item: UDExSecondaryNavigationSubItem,
20
20
  originalEvent: PointerEvent
21
21
  }
22
22
 
23
- export type UDExSecondaryNavigationSubItemBackClickEventDetail = {
23
+ type UDExSecondaryNavigationSubItemBackClickEventDetail = {
24
24
  originalEvent: PointerEvent
25
25
  }
26
26
 
@@ -124,3 +124,4 @@ class UDExSecondaryNavigationSubItem extends UDExSecondaryNavigationItemBase {
124
124
  UDExSecondaryNavigationSubItem.define();
125
125
 
126
126
  export default UDExSecondaryNavigationSubItem;
127
+ export type { UDExSecondaryNavigationSubItemClickEventDetail, UDExSecondaryNavigationSubItemBackClickEventDetail };
package/src/SelectBox.ts CHANGED
@@ -4,18 +4,7 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
4
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
5
5
  import executeTemplate from "@ui5/webcomponents-base/dist/renderer/executeTemplate.js";
6
6
  import {
7
- isEnter,
8
- isSpace,
9
- isDelete,
10
- isTabPrevious,
11
- isTabNext,
12
- isLeft,
13
- isRight,
14
- isDown,
15
- isUp,
16
- isEscape,
17
- isBackSpace,
18
- isShift,
7
+ isEnter, isSpace, isDelete, isTabPrevious, isTabNext, isLeft, isRight, isDown, isUp, isEscape, isBackSpace, isShift,
19
8
  } from "@ui5/webcomponents-base/dist/Keys.js";
20
9
  import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
21
10
  import Tokenizer from "@ui5/webcomponents/dist/Tokenizer.js";
@@ -649,6 +638,14 @@ class UDExSelectBox extends UDExSearchableListBase {
649
638
  this._tags.forEach((tag, i) => { this.getTagContent(tag).tabIndex = (i === 0 && !this.isDisabled) ? this._activeTabIndex : this._inactiveTabIndex; });
650
639
  }
651
640
 
641
+ /**
642
+ * Close the dropdown.
643
+ * @public
644
+ */
645
+ close(): void {
646
+ this.closeDropdown();
647
+ }
648
+
652
649
  get allowTargetOverlap(): boolean {
653
650
  return !this.disableTargetOverlap;
654
651
  }
@@ -754,3 +751,4 @@ class UDExSelectBox extends UDExSearchableListBase {
754
751
  UDExSelectBox.define();
755
752
 
756
753
  export default UDExSelectBox;
754
+ export type { UDExSelectBoxRemoveEventDetail };
@@ -24,7 +24,6 @@ import UDExSelectBoxItem from "./SelectBoxItem.js";
24
24
  * @tagname udex-select-box-group-header
25
25
  * @public
26
26
  */
27
-
28
27
  @customElement({
29
28
  tag: "udex-select-box-group-header",
30
29
  renderer: litRender,
@@ -17,7 +17,7 @@ import type UDExSideNavigationGroup from "./SideNavigationGroup.js";
17
17
  import SideNavigationMobileCss from "./generated/themes/SideNavigationMobile.css.js";
18
18
  import SideNavigationMobileDropdownCss from "./generated/themes/SideNavigationMobileDropdown.css.js";
19
19
 
20
- type SelectedItem = UDExSideNavigationItem | UDExSideNavigationSubItem | null;
20
+ export type SelectedItem = UDExSideNavigationItem | UDExSideNavigationSubItem | null;
21
21
 
22
22
  /**
23
23
  * @class
@@ -2,6 +2,7 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
3
3
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
4
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
5
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
5
6
  import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
6
7
  import SocialMediaButtonTemplate from "./SocialMediaButtonTemplate.js";
7
8
  import UDExSocialMediaButtonType from "./types/SocialMediaButtonType.js";
@@ -52,6 +53,15 @@ class UDExSocialMediaButton extends UI5Element {
52
53
  "click": LinkClickEventDetail,
53
54
  };
54
55
 
56
+ /**
57
+ * Defines the slot for custom SVG icon.
58
+ *
59
+ * @slot content
60
+ * @public
61
+ */
62
+ @slot({ type: HTMLElement, "default": true })
63
+ image!: Array<HTMLElement>;
64
+
55
65
  /**
56
66
  * Defines the type of Social Media Button.
57
67
  * <br><br>
@@ -111,7 +121,9 @@ class UDExSocialMediaButton extends UI5Element {
111
121
  }
112
122
 
113
123
  onAfterRendering(): void {
114
- this.fetchIconSvg();
124
+ if (!this.imageSlot) {
125
+ this.fetchIconSvg();
126
+ }
115
127
  }
116
128
 
117
129
  async fetchIconSvg() {
@@ -145,6 +157,10 @@ class UDExSocialMediaButton extends UI5Element {
145
157
  get buttonAccessibleName(): string {
146
158
  return this.accessibleName || UDExSocialMediaButton.i18nBundle.getText(SOCIAL_MEDIA_BUTTON);
147
159
  }
160
+
161
+ get imageSlot(): boolean {
162
+ return !!this.image.length;
163
+ }
148
164
  }
149
165
 
150
166
  UDExSocialMediaButton.define();
@@ -10,7 +10,9 @@ export default function SocialMediaButtonTemplate(this: UDExSocialMediaButton) {
10
10
  target={this.target}
11
11
  accessible-name={this.buttonAccessibleName}
12
12
  onClick={this.fireLinkClickEvent}>
13
- <div class={`udex-social-media-button udex-social-media-button-${this.type}`} title={this.buttonAccessibleName}></div>
13
+ <div class={`udex-social-media-button udex-social-media-button-${this.type}`} title={this.buttonAccessibleName}>
14
+ {this.imageSlot && <slot></slot>}
15
+ </div>
14
16
  <div class="hidden">{this.buttonAccessibleName}</div>
15
17
  </UDExLink>
16
18
  </div>
package/src/StepInput.ts CHANGED
@@ -7,18 +7,7 @@ import type { Timeout } from "@ui5/webcomponents-base/dist/types.js";
7
7
  import "@ui5/webcomponents-icons/dist/less.js";
8
8
  import "@ui5/webcomponents-icons/dist/add.js";
9
9
  import {
10
- isDown,
11
- isDownCtrl,
12
- isDownShift,
13
- isDownShiftCtrl,
14
- isEnter,
15
- isEscape,
16
- isPageDownShift,
17
- isPageUpShift,
18
- isUp,
19
- isUpCtrl,
20
- isUpShift,
21
- isUpShiftCtrl,
10
+ isDown, isDownCtrl, isDownShift, isDownShiftCtrl, isEnter, isEscape, isPageDownShift, isPageUpShift, isUp, isUpCtrl, isUpShift, isUpShiftCtrl,
22
11
  } from "@ui5/webcomponents-base/dist/Keys.js";
23
12
  import { getAllAccessibleNameRefTexts } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
24
13
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
@@ -38,11 +27,11 @@ const ACCELERATION = 0.8;
38
27
  const MIN_WAIT_TIMEOUT = 50; // milliseconds
39
28
  const INITIAL_SPEED = 120; // milliseconds
40
29
 
41
- export type UDExStepInputValueChangeEventDetail = {
30
+ type UDExStepInputValueChangeEventDetail = {
42
31
  value: number,
43
32
  }
44
33
 
45
- export type UDExStepInputValueStateChangeEventDetail = {
34
+ type UDExStepInputValueStateChangeEventDetail = {
46
35
  valueState: `${UDExValueState}`,
47
36
  valid: boolean
48
37
  }
@@ -569,3 +558,4 @@ class UDExStepInput extends UI5Element {
569
558
  UDExStepInput.define();
570
559
 
571
560
  export default UDExStepInput;
561
+ export type { UDExStepInputValueChangeEventDetail, UDExStepInputValueStateChangeEventDetail };
@@ -9,7 +9,7 @@ export default function StepInputTemplate(this: UDExStepInput) {
9
9
  label={this.label}
10
10
  supporting-text={this.supportingText}
11
11
  value={this._valuePrecisioned}
12
- aria-label={this.accInfo.ariaLabel}
12
+ accessible-name={this.accInfo.ariaLabel}
13
13
  onFocusIn={this._onInputFocusIn}
14
14
  onFocusOut={this._onInputFocusOut}
15
15
  onKeydown={this._onkeydown}
package/src/Switch.ts CHANGED
@@ -41,7 +41,6 @@ export enum UDExSwitchColor {
41
41
  * @tagname udex-switch
42
42
  * @public
43
43
  */
44
-
45
44
  @customElement({
46
45
  tag: "udex-switch",
47
46
  renderer: litRender,
package/src/Tab.ts CHANGED
@@ -17,7 +17,7 @@ import { ATTENTION_BADGE } from "./generated/i18n/i18n-defaults.js";
17
17
  // Styles
18
18
  import TabInOverflowCss from "./generated/themes/TabInOverflow.css.js";
19
19
 
20
- interface ITab extends UI5Element {
20
+ export interface ITab extends UI5Element {
21
21
  getTabInHeaderDomRef: () => ITab | null;
22
22
  disabled?: boolean;
23
23
  icon?: string;
@@ -286,4 +286,3 @@ UDExTab.define();
286
286
  TabNavigation.registerStaticAreaTabStyles(TabInOverflowCss);
287
287
 
288
288
  export default UDExTab;
289
- export { ITab };
@@ -10,17 +10,7 @@ import Popover from "@ui5/webcomponents/dist/Popover.js";
10
10
  import executeTemplate from "@ui5/webcomponents-base/dist/renderer/executeTemplate.js";
11
11
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
12
12
  import {
13
- isUp,
14
- isDown,
15
- isRight,
16
- isLeft,
17
- isEnter,
18
- isSpace,
19
- isEscape,
20
- isHome,
21
- isEnd,
22
- isTabNext,
23
- isTabPrevious,
13
+ isUp, isDown, isRight, isLeft, isEnter, isSpace, isEscape, isHome, isEnd, isTabNext, isTabPrevious,
24
14
  } from "@ui5/webcomponents-base/dist/Keys.js";
25
15
  import type { ITab } from "./Tab.js";
26
16
  import type Tab from "./Tab.js";
@@ -51,12 +41,12 @@ export enum Mode {
51
41
  }
52
42
 
53
43
  type UDExTabNavigationClickDetail = {
54
- currentPage: number,
44
+ currentPage: number
55
45
  }
56
46
 
57
47
  type UDExTabContainerTabSelectEventDetail = {
58
- tab: Tab;
59
- tabIndex: number;
48
+ tab: Tab,
49
+ tabIndex: number
60
50
  }
61
51
 
62
52
  /**
@@ -851,3 +841,4 @@ class UDExTabNavigation extends UI5Element {
851
841
  UDExTabNavigation.define();
852
842
 
853
843
  export default UDExTabNavigation;
844
+ export type { UDExTabNavigationClickDetail, UDExTabContainerTabSelectEventDetail };
package/src/Table.ts CHANGED
@@ -21,9 +21,9 @@ import TableTemplate from "./generated/templates/TableTemplate.lit.js";
21
21
  import TableCss from "./generated/themes/Table.css.js";
22
22
  import getEffectiveScrollbarStyle from "./utils/getEffectiveScrollbarStyle.js";
23
23
 
24
- type TableBaseRow = UDExTableHeaderRow | UDExTableRow;
24
+ export type TableBaseRow = UDExTableHeaderRow | UDExTableRow;
25
25
 
26
- type KeyBoardItem = {
26
+ export type KeyBoardItem = {
27
27
  id: string;
28
28
  group?: boolean;
29
29
  elements: Array<HTMLElement>;
@@ -17,7 +17,6 @@ import TableCellBaseCss from "./generated/themes/TableCellBase.css.js";
17
17
  * @extends UI5Element
18
18
  * @public
19
19
  */
20
-
21
20
  @customElement({
22
21
  renderer: litRender,
23
22
  styles: TableCellBaseCss,
@@ -17,7 +17,6 @@ import TableRowBase from "./generated/themes/TableRowBase.css.js";
17
17
  * @extends UI5Element
18
18
  * @public
19
19
  */
20
-
21
20
  @customElement({
22
21
  renderer: litRender,
23
22
  styles: TableRowBase,
package/src/Tag.ts CHANGED
@@ -329,3 +329,4 @@ class UDExTag extends UI5Element {
329
329
  UDExTag.define();
330
330
 
331
331
  export default UDExTag;
332
+ export type { UDExTagLinkClickEventDetail };
package/src/TagGroup.ts CHANGED
@@ -236,3 +236,4 @@ class UDExTagGroup extends UI5Element {
236
236
  UDExTagGroup.define();
237
237
 
238
238
  export default UDExTagGroup;
239
+ export type { UDExTagClickEventDetail, UDExTagKeydownEventDetail, UDExTagIconClickEventDetail };
package/src/TextField.ts CHANGED
@@ -33,7 +33,7 @@ export type AccInfo = {
33
33
  ariaHasPopup?: string,
34
34
  }
35
35
 
36
- export type UDExTextFieldKeydownEventDetail = {
36
+ type UDExTextFieldKeydownEventDetail = {
37
37
  keyboardEvent: KeyboardEvent;
38
38
  }
39
39
 
@@ -490,3 +490,4 @@ class UDExTextField extends UI5Element {
490
490
  UDExTextField.define();
491
491
 
492
492
  export default UDExTextField;
493
+ export type { UDExTextFieldKeydownEventDetail };
package/src/Tile.ts CHANGED
@@ -12,11 +12,12 @@ import TileTemplate from "./TileTemplate.js";
12
12
  // Styles
13
13
  import TileCss from "./generated/themes/Tile.css.js";
14
14
 
15
- type AnchorNode = HTMLAnchorElement | undefined | null;
15
+ export type AnchorNode = HTMLAnchorElement | undefined | null;
16
16
 
17
17
  type UDExTileClickEventDetail = {
18
18
  originalEvent: MouseEvent,
19
19
  }
20
+
20
21
  /**
21
22
  * @class
22
23
  *
@@ -140,3 +141,4 @@ class UDExTile extends UI5Element {
140
141
  UDExTile.define();
141
142
 
142
143
  export default UDExTile;
144
+ export type { UDExTileClickEventDetail };
package/src/Tooltip.hbs CHANGED
@@ -10,7 +10,11 @@
10
10
  accessible-name-ref="{{accessibleNameRef}}"
11
11
  accessible-role="{{accessibleRole}}"
12
12
  ?prevent-initial-focus="{{preventInitialFocus}}"
13
- ?prevent-focus-restore="{{preventFocusRestore}}">
13
+ ?prevent-focus-restore="{{preventFocusRestore}}"
14
+ @ui5-open="{{handleOpen}}"
15
+ @ui5-close="{{handleClose}}"
16
+ @ui5-before-close="{{handleBeforeClose}}"
17
+ @ui5-before-open="{{handleBeforeOpen}}">
14
18
  {{#if title}}
15
19
  <div class="udex-tooltip-title">{{title}}</div>
16
20
  {{/if}}