@sapudex/web-components 2.13.0 → 2.15.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.
- package/cypress/specs/Breadcrumbs.cy.tsx +77 -0
- package/cypress/specs/EventRibbon.cy.tsx +9 -1
- package/cypress/specs/FilterMenu.cy.tsx +36 -44
- package/cypress/specs/InputGroup.cy.tsx +47 -0
- package/cypress/specs/SelectBox.cy.tsx +17 -0
- package/cypress/specs/SocialMediaButton.cy.tsx +6 -0
- package/cypress/support/component-imports.instrumented.ts +4 -0
- package/cypress/support/component-imports.src.ts +4 -0
- package/dist/Accordion.d.ts +4 -3
- package/dist/Accordion.js.map +1 -1
- package/dist/AccordionItem.js.map +1 -1
- package/dist/Breadcrumbs.d.ts +4 -1
- package/dist/Breadcrumbs.js +10 -9
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/BreadcrumbsItem.d.ts +1 -2
- package/dist/BreadcrumbsItem.js.map +1 -1
- package/dist/BreadcrumbsPopoverTemplate.d.ts +2 -0
- package/dist/BreadcrumbsPopoverTemplate.js +8 -0
- package/dist/BreadcrumbsPopoverTemplate.js.map +1 -0
- package/dist/BreadcrumbsTemplate.d.ts +2 -0
- package/dist/BreadcrumbsTemplate.js +10 -0
- package/dist/BreadcrumbsTemplate.js.map +1 -0
- package/dist/Checkbox.js +1 -1
- package/dist/Checkbox.js.map +1 -1
- package/dist/ContactItem.d.ts +1 -0
- package/dist/ContactItem.js.map +1 -1
- package/dist/ControlButton.js +3 -3
- package/dist/ControlButton.js.map +1 -1
- package/dist/CountrySelector.d.ts +1 -0
- package/dist/CountrySelector.js +1 -1
- package/dist/CountrySelector.js.map +1 -1
- package/dist/DatePicker.d.ts +3 -2
- package/dist/DatePicker.js.map +1 -1
- package/dist/Dropdown.js.map +1 -1
- package/dist/EventRibbon.js +1 -1
- package/dist/EventRibbon.js.map +1 -1
- package/dist/EventRibbonTemplate.js +2 -2
- package/dist/EventRibbonTemplate.js.map +1 -1
- package/dist/FilterMenu.d.ts +11 -5
- package/dist/FilterMenu.js +8 -2
- package/dist/FilterMenu.js.map +1 -1
- package/dist/FilterMenuGroupHeader.js.map +1 -1
- package/dist/FilterMenuItem.js.map +1 -1
- package/dist/FilterMenuSelectAll.d.ts +0 -1
- package/dist/FilterMenuSelectAll.js +0 -3
- package/dist/FilterMenuSelectAll.js.map +1 -1
- package/dist/Footer.d.ts +1 -0
- package/dist/Footer.js.map +1 -1
- package/dist/HeroBanner.js.map +1 -1
- package/dist/InputGroup.d.ts +0 -1
- package/dist/InputGroup.js +3 -6
- package/dist/InputGroup.js.map +1 -1
- package/dist/InputGroupTemplate.d.ts +2 -0
- package/dist/InputGroupTemplate.js +7 -0
- package/dist/InputGroupTemplate.js.map +1 -0
- package/dist/LinkList.js.map +1 -1
- package/dist/LinkListItem.d.ts +1 -0
- package/dist/LinkListItem.js.map +1 -1
- package/dist/List.d.ts +1 -0
- package/dist/List.js +1 -1
- package/dist/List.js.map +1 -1
- package/dist/ListGroupHeader.d.ts +1 -0
- package/dist/ListGroupHeader.js.map +1 -1
- package/dist/ListGroupHeaderBase.js.map +1 -1
- package/dist/ListItem.d.ts +1 -0
- package/dist/ListItem.js +1 -1
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +5 -4
- package/dist/ListItemBase.js.map +1 -1
- package/dist/ListSelectAll.d.ts +1 -0
- package/dist/ListSelectAll.js.map +1 -1
- package/dist/MastheadCountrySelector.d.ts +10 -9
- package/dist/MastheadCountrySelector.js.map +1 -1
- package/dist/MastheadItem.d.ts +2 -1
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadMenu.d.ts +1 -0
- package/dist/MastheadMenu.js.map +1 -1
- package/dist/MastheadMenuItem.js.map +1 -1
- package/dist/MastheadMobileMenu.d.ts +1 -0
- package/dist/MastheadMobileMenu.js +1 -1
- package/dist/MastheadMobileMenu.js.map +1 -1
- package/dist/MastheadProfileMenu.d.ts +4 -3
- package/dist/MastheadProfileMenu.js +2 -2
- package/dist/MastheadProfileMenu.js.map +1 -1
- package/dist/MastheadShell.d.ts +12 -11
- package/dist/MastheadShell.js.map +1 -1
- package/dist/MediaPlayer.d.ts +2 -1
- package/dist/MediaPlayer.js.map +1 -1
- package/dist/MediaPlayerVimeo.d.ts +1 -0
- package/dist/MediaPlayerVimeo.js.map +1 -1
- package/dist/MediaPlayerYoutube.d.ts +1 -0
- package/dist/MediaPlayerYoutube.js.map +1 -1
- package/dist/Pagination.d.ts +3 -2
- package/dist/Pagination.js.map +1 -1
- package/dist/RatingIndicator.js.map +1 -1
- package/dist/Search.d.ts +11 -5
- package/dist/Search.js +9 -8
- package/dist/Search.js.map +1 -1
- package/dist/SearchableListBase.d.ts +7 -5
- package/dist/SearchableListBase.js +13 -23
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +1 -0
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.d.ts +3 -2
- package/dist/SecondaryNavigationItem.js.map +1 -1
- package/dist/SecondaryNavigationItemBase.js.map +1 -1
- package/dist/SecondaryNavigationSubItem.d.ts +3 -2
- package/dist/SecondaryNavigationSubItem.js.map +1 -1
- package/dist/SelectBox.d.ts +6 -0
- package/dist/SelectBox.js +8 -2
- package/dist/SelectBox.js.map +1 -1
- package/dist/SelectBoxGroupHeader.js.map +1 -1
- package/dist/SideNavigationMobile.d.ts +1 -1
- package/dist/SideNavigationMobile.js.map +1 -1
- package/dist/SocialMediaButton.d.ts +8 -0
- package/dist/SocialMediaButton.js +10 -1
- package/dist/SocialMediaButton.js.map +1 -1
- package/dist/SocialMediaButtonTemplate.js +1 -1
- package/dist/SocialMediaButtonTemplate.js.map +1 -1
- package/dist/StepInput.d.ts +3 -2
- package/dist/StepInput.js.map +1 -1
- package/dist/StepInputTemplate.js +1 -1
- package/dist/StepInputTemplate.js.map +1 -1
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.d.ts +1 -2
- package/dist/Tab.js.map +1 -1
- package/dist/TabNavigation.d.ts +1 -0
- package/dist/TabNavigation.js.map +1 -1
- package/dist/Table.d.ts +2 -2
- package/dist/Table.js.map +1 -1
- package/dist/TableCellBase.js.map +1 -1
- package/dist/TableRowBase.js.map +1 -1
- package/dist/Tag.d.ts +1 -0
- package/dist/Tag.js.map +1 -1
- package/dist/TagGroup.d.ts +1 -0
- package/dist/TagGroup.js.map +1 -1
- package/dist/TextField.d.ts +2 -1
- package/dist/TextField.js.map +1 -1
- package/dist/Tile.d.ts +2 -0
- package/dist/Tile.js.map +1 -1
- package/dist/Tooltip.d.ts +11 -0
- package/dist/Tooltip.js +42 -0
- package/dist/Tooltip.js.map +1 -1
- package/dist/TruncatedText.d.ts +0 -1
- package/dist/TruncatedText.js +5 -6
- package/dist/TruncatedText.js.map +1 -1
- package/dist/TruncatedTextTemplate.d.ts +2 -0
- package/dist/TruncatedTextTemplate.js +9 -0
- package/dist/TruncatedTextTemplate.js.map +1 -0
- package/dist/Upload.d.ts +1 -0
- package/dist/Upload.js.map +1 -1
- package/dist/UploadItem.js +1 -1
- package/dist/UploadItem.js.map +1 -1
- package/dist/Wizard.d.ts +2 -2
- package/dist/Wizard.js.map +1 -1
- package/dist/WizardTab.js +1 -1
- package/dist/WizardTab.js.map +1 -1
- package/dist/assets/{InputSuggestions-FI3fjOZ9.js → InputSuggestions-D5z6eIC2.js} +1 -1
- package/dist/assets/{ListItemStandardExpandableTextTemplate-CkvW90wq.js → ListItemStandardExpandableTextTemplate-BKeYxhnX.js} +1 -1
- package/dist/assets/{bundle.esm-BrqOd5tw.js → bundle.esm-DXwtYGLH.js} +210 -210
- package/dist/css/themes/EventRibbon.css +1 -1
- package/dist/css/themes/MediaPlayer.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/SocialMediaButton.css +1 -1
- package/dist/custom-elements-internal.json +247 -136
- package/dist/custom-elements.json +201 -121
- package/dist/generated/templates/TooltipTemplate.lit.js +1 -1
- package/dist/generated/templates/TooltipTemplate.lit.js.map +1 -1
- package/dist/generated/themes/EventRibbon.css.d.ts +1 -1
- package/dist/generated/themes/EventRibbon.css.js +1 -1
- package/dist/generated/themes/EventRibbon.css.js.map +1 -1
- package/dist/generated/themes/MediaPlayer.css.d.ts +1 -1
- package/dist/generated/themes/MediaPlayer.css.js +1 -1
- package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/Slider.css.d.ts +1 -1
- package/dist/generated/themes/Slider.css.js +1 -1
- package/dist/generated/themes/Slider.css.js.map +1 -1
- package/dist/generated/themes/SocialMediaButton.css.d.ts +1 -1
- package/dist/generated/themes/SocialMediaButton.css.js +1 -1
- package/dist/generated/themes/SocialMediaButton.css.js.map +1 -1
- package/dist/utils/sanitizeString.d.ts +2 -0
- package/dist/utils/sanitizeString.js +12 -0
- package/dist/utils/sanitizeString.js.map +1 -0
- package/dist/vscode.html-custom-data.json +4 -4
- package/dist/web-types.json +48 -8
- package/package.json +2 -2
- package/src/Accordion.ts +5 -4
- package/src/AccordionItem.ts +1 -0
- package/src/Breadcrumbs.ts +16 -17
- package/src/BreadcrumbsItem.ts +2 -2
- package/src/BreadcrumbsPopoverTemplate.tsx +60 -0
- package/src/BreadcrumbsTemplate.tsx +53 -0
- package/src/Checkbox.ts +3 -2
- package/src/ContactItem.ts +1 -0
- package/src/ControlButton.ts +3 -3
- package/src/CountrySelector.ts +2 -5
- package/src/DatePicker.ts +3 -2
- package/src/Dropdown.ts +0 -1
- package/src/EventRibbon.ts +1 -1
- package/src/EventRibbonTemplate.tsx +4 -6
- package/src/FilterMenu.ts +17 -9
- package/src/FilterMenuGroupHeader.ts +0 -1
- package/src/FilterMenuItem.ts +1 -0
- package/src/FilterMenuSelectAll.ts +0 -4
- package/src/Footer.ts +1 -0
- package/src/HeroBanner.ts +0 -1
- package/src/InputGroup.ts +3 -8
- package/src/InputGroupTemplate.tsx +31 -0
- package/src/LinkList.ts +1 -0
- package/src/LinkListItem.ts +1 -0
- package/src/List.ts +3 -8
- package/src/ListGroupHeader.ts +1 -0
- package/src/ListGroupHeaderBase.ts +0 -1
- package/src/ListItem.ts +2 -3
- package/src/ListItemBase.ts +6 -6
- package/src/ListSelectAll.ts +1 -0
- package/src/MastheadCountrySelector.ts +12 -11
- package/src/MastheadItem.ts +2 -1
- package/src/MastheadMenu.ts +1 -0
- package/src/MastheadMenuItem.ts +1 -0
- package/src/MastheadMobileMenu.ts +2 -1
- package/src/MastheadProfileMenu.ts +7 -5
- package/src/MastheadShell.ts +14 -12
- package/src/MediaPlayer.ts +2 -2
- package/src/MediaPlayerVimeo.ts +1 -0
- package/src/MediaPlayerYoutube.ts +1 -0
- package/src/Pagination.ts +3 -2
- package/src/RatingIndicator.ts +0 -1
- package/src/Search.ts +17 -19
- package/src/SearchableListBase.ts +23 -31
- package/src/SecondaryNavigation.ts +1 -0
- package/src/SecondaryNavigationItem.ts +4 -11
- package/src/SecondaryNavigationItemBase.ts +0 -1
- package/src/SecondaryNavigationSubItem.ts +3 -2
- package/src/SelectBox.ts +11 -14
- package/src/SelectBoxGroupHeader.ts +0 -1
- package/src/SideNavigationMobile.ts +1 -1
- package/src/SocialMediaButton.ts +17 -1
- package/src/SocialMediaButtonTemplate.tsx +3 -1
- package/src/StepInput.ts +4 -14
- package/src/StepInputTemplate.tsx +1 -1
- package/src/Switch.ts +0 -1
- package/src/Tab.ts +1 -2
- package/src/TabNavigation.ts +5 -14
- package/src/Table.ts +2 -2
- package/src/TableCellBase.ts +0 -1
- package/src/TableRowBase.ts +0 -1
- package/src/Tag.ts +1 -0
- package/src/TagGroup.ts +1 -0
- package/src/TextField.ts +2 -1
- package/src/Tile.ts +3 -1
- package/src/Tooltip.hbs +5 -1
- package/src/Tooltip.ts +52 -0
- package/src/TruncatedText.ts +8 -14
- package/src/TruncatedTextTemplate.tsx +21 -0
- package/src/Upload.ts +1 -0
- package/src/UploadItem.ts +1 -4
- package/src/Wizard.ts +2 -2
- package/src/WizardTab.ts +1 -1
- package/src/generated/templates/TooltipTemplate.lit.ts +1 -1
- package/src/generated/themes/EventRibbon.css.ts +1 -1
- package/src/generated/themes/MediaPlayer.css.ts +1 -1
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/SocialMediaButton.css.ts +1 -1
- package/src/themes/EventRibbon.css +3 -3
- package/src/themes/MediaPlayer.css +133 -186
- package/src/themes/SocialMediaButton.css +4 -1
- package/src/utils/sanitizeString.ts +13 -0
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +0 -12
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +0 -1
- package/dist/generated/templates/BreadcrumbsTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js +0 -14
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +0 -1
- package/dist/generated/templates/InputGroupTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/InputGroupTemplate.lit.js +0 -9
- package/dist/generated/templates/InputGroupTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TruncatedTextTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TruncatedTextTemplate.lit.js +0 -7
- package/dist/generated/templates/TruncatedTextTemplate.lit.js.map +0 -1
- package/src/Breadcrumbs.hbs +0 -38
- package/src/BreadcrumbsPopover.hbs +0 -48
- package/src/InputGroup.hbs +0 -20
- package/src/TruncatedText.hbs +0 -11
- package/src/generated/templates/BreadcrumbsPopoverTemplate.lit.ts +0 -16
- package/src/generated/templates/BreadcrumbsTemplate.lit.ts +0 -18
- package/src/generated/templates/InputGroupTemplate.lit.ts +0 -13
- package/src/generated/templates/TruncatedTextTemplate.lit.ts +0 -11
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";
|
|
@@ -45,6 +39,7 @@ import {
|
|
|
45
39
|
} from "./generated/i18n/i18n-defaults.js";
|
|
46
40
|
import type SearchInputSuggestion from "./features/SearchSuggestionsPopover.js";
|
|
47
41
|
import retryUntilSuccessful from "./utils/retryUntilSuccessful.js";
|
|
42
|
+
import sanitizeString from "./utils/sanitizeString.js";
|
|
48
43
|
import UDExButton from "./Button.js";
|
|
49
44
|
|
|
50
45
|
import SearchTemplate from "./generated/templates/SearchTemplate.lit.js";
|
|
@@ -58,12 +53,12 @@ const SearchIcon: string = "sap-icon://search";
|
|
|
58
53
|
|
|
59
54
|
const SuggestionsPopoverId: string = "suggestions-popover";
|
|
60
55
|
|
|
61
|
-
type ListItem = {
|
|
56
|
+
export type ListItem = {
|
|
62
57
|
label: string;
|
|
63
58
|
icon: string;
|
|
64
59
|
}
|
|
65
60
|
|
|
66
|
-
type DataList = Array<ListItem | string>;
|
|
61
|
+
export type DataList = Array<ListItem | string>;
|
|
67
62
|
|
|
68
63
|
export type SuggestionData = {
|
|
69
64
|
label: string,
|
|
@@ -75,7 +70,7 @@ export type RecommendData = {
|
|
|
75
70
|
list: DataList
|
|
76
71
|
}
|
|
77
72
|
|
|
78
|
-
type SuggestionRecommendLists = {
|
|
73
|
+
export type SuggestionRecommendLists = {
|
|
79
74
|
suggested: SuggestionData | DataList,
|
|
80
75
|
recommended: RecommendData | DataList
|
|
81
76
|
}
|
|
@@ -99,15 +94,17 @@ export type PopoverPlacement = "Bottom" | "Top";
|
|
|
99
94
|
|
|
100
95
|
type UDExSearchBaseEventDetail = {
|
|
101
96
|
value: string,
|
|
97
|
+
categoryName?: string
|
|
102
98
|
}
|
|
103
99
|
|
|
104
100
|
type UDExSearchPrefixItemClickEventDetail = {
|
|
105
101
|
item: ListItemBase,
|
|
106
102
|
}
|
|
107
103
|
|
|
108
|
-
|
|
104
|
+
type UDExSearchKeydownEventDetail = {
|
|
109
105
|
e: KeyboardEvent;
|
|
110
106
|
}
|
|
107
|
+
|
|
111
108
|
/**
|
|
112
109
|
* @class
|
|
113
110
|
*
|
|
@@ -693,13 +690,13 @@ class UDExSearch extends UI5Element {
|
|
|
693
690
|
const itemWithCustomIcon = typeof item === "object";
|
|
694
691
|
const label = itemWithCustomIcon ? item.label : item;
|
|
695
692
|
return {
|
|
696
|
-
handleSelectItem: this.handleSelectItem(label),
|
|
697
|
-
text: this.getTextWithSuggestion(label),
|
|
698
|
-
title: label,
|
|
693
|
+
handleSelectItem: this.handleSelectItem(label, idName),
|
|
694
|
+
text: sanitizeString(this.getTextWithSuggestion(label)),
|
|
695
|
+
title: sanitizeString(label),
|
|
699
696
|
icon: itemWithCustomIcon ? item.icon : SearchIcon,
|
|
700
697
|
hasCustomIcon: itemWithCustomIcon,
|
|
701
698
|
id: `${idName}-${index}`,
|
|
702
|
-
suggestionDescription: `${label}, ${idName} ${index + 1} ${UDExSearch.i18nBundle.getText(OF)} ${suggestedList.length}
|
|
699
|
+
suggestionDescription: sanitizeString(`${label}, ${idName} ${index + 1} ${UDExSearch.i18nBundle.getText(OF)} ${suggestedList.length}`),
|
|
703
700
|
};
|
|
704
701
|
});
|
|
705
702
|
}
|
|
@@ -715,14 +712,14 @@ class UDExSearch extends UI5Element {
|
|
|
715
712
|
return text.replace(search, "<b>$&</b>");
|
|
716
713
|
}
|
|
717
714
|
|
|
718
|
-
handleSelectItem = (itemValue: string) => () => {
|
|
715
|
+
handleSelectItem = (itemValue: string, categoryName: string) => () => {
|
|
719
716
|
this.value = itemValue;
|
|
720
|
-
this.fireDropdownItemClick(itemValue);
|
|
717
|
+
this.fireDropdownItemClick(itemValue, categoryName);
|
|
721
718
|
this.handleSubmitValue();
|
|
722
719
|
};
|
|
723
720
|
|
|
724
|
-
fireDropdownItemClick(value: string) {
|
|
725
|
-
this.fireDecoratorEvent("dropdown-item-click", { value });
|
|
721
|
+
fireDropdownItemClick(value: string, categoryName: string) {
|
|
722
|
+
this.fireDecoratorEvent("dropdown-item-click", { value: sanitizeString(value), categoryName });
|
|
726
723
|
}
|
|
727
724
|
|
|
728
725
|
handleDropdownClick() {
|
|
@@ -1323,3 +1320,4 @@ class UDExSearch extends UI5Element {
|
|
|
1323
1320
|
UDExSearch.define();
|
|
1324
1321
|
|
|
1325
1322
|
export default UDExSearch;
|
|
1323
|
+
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
|
*
|
|
@@ -250,18 +250,6 @@ class UDExSearchableListBase extends UI5Element {
|
|
|
250
250
|
this.fireSelectionChange(dropdownItemId);
|
|
251
251
|
}
|
|
252
252
|
|
|
253
|
-
onFilterSelectAllHeaderPress(e:CustomEvent) {
|
|
254
|
-
const dropdownHeaderItemId = this.getDataTokenId(e);
|
|
255
|
-
this.getProcessedItems().forEach(({ item }) => {
|
|
256
|
-
if (item._id === dropdownHeaderItemId) {
|
|
257
|
-
this.activateHeaderAndSetAllItems(item as UDExListGroupHeaderBase);
|
|
258
|
-
}
|
|
259
|
-
});
|
|
260
|
-
|
|
261
|
-
this.syncFilteredItems();
|
|
262
|
-
this.fireSelectionChange(dropdownHeaderItemId);
|
|
263
|
-
}
|
|
264
|
-
|
|
265
253
|
activateHeaderAndSetAllItems(item: UDExListGroupHeaderBase) {
|
|
266
254
|
item.activateHeader();
|
|
267
255
|
item.setAllItems(false);
|
|
@@ -298,28 +286,29 @@ class UDExSearchableListBase extends UI5Element {
|
|
|
298
286
|
|
|
299
287
|
handleGroupHeaderState(groupHeader: UDExListGroupHeaderBase) {
|
|
300
288
|
if (this.modeMultiSelect) {
|
|
301
|
-
|
|
302
|
-
groupHeader.deactivateHeader();
|
|
303
|
-
|
|
304
|
-
if (groupHeader.isAllDeselected()) {
|
|
305
|
-
groupHeader.activateHeader();
|
|
306
|
-
}
|
|
307
|
-
} else {
|
|
308
|
-
groupHeader.handleHeaderState();
|
|
309
|
-
}
|
|
289
|
+
groupHeader.handleHeaderState();
|
|
310
290
|
}
|
|
311
291
|
}
|
|
312
292
|
|
|
313
293
|
onHeaderPress(e:CustomEvent) {
|
|
314
|
-
|
|
294
|
+
this.handleGroupHeaderSelection(e);
|
|
295
|
+
this.syncFilteredItems();
|
|
296
|
+
this.fireSelectionChange(this.getDataTokenId(e));
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
onSelectAllHeaderPress(e:CustomEvent) {
|
|
300
|
+
this.handleGroupHeaderSelection(e);
|
|
301
|
+
this.syncFilteredItems();
|
|
302
|
+
this.fireDecoratorEvent("select-all");
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
handleGroupHeaderSelection(e: CustomEvent): void {
|
|
306
|
+
const headerItemId = this.getDataTokenId(e);
|
|
315
307
|
this.getProcessedItems().forEach(({ item }) => {
|
|
316
|
-
if (item._id ===
|
|
308
|
+
if (item._id === headerItemId) {
|
|
317
309
|
(item as UDExListGroupHeaderBase).handleSelectionGroupState();
|
|
318
310
|
}
|
|
319
311
|
});
|
|
320
|
-
|
|
321
|
-
this.syncFilteredItems();
|
|
322
|
-
this.fireSelectionChange(dropdownHeaderItemId);
|
|
323
312
|
}
|
|
324
313
|
|
|
325
314
|
onSearch(e:CustomEvent) {
|
|
@@ -655,3 +644,6 @@ class UDExSearchableListBase extends UI5Element {
|
|
|
655
644
|
}
|
|
656
645
|
|
|
657
646
|
export default UDExSearchableListBase;
|
|
647
|
+
export type {
|
|
648
|
+
UDExSelectBoxIconClickEventDetail, UDExSearchableListBaseSubmitSearchEventDetail, UDExSearchableListBaseChangeSearchEventDetail, UDExSearchableListBaseSelectionChangeEventDetail,
|
|
649
|
+
};
|
|
@@ -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
|
-
|
|
24
|
+
type UDExSecondaryNavigationItemClickEventDetail = {
|
|
33
25
|
item: HTMLElement,
|
|
34
26
|
index: number,
|
|
35
27
|
originalEvent: PointerEvent | KeyboardEvent
|
|
36
28
|
};
|
|
37
29
|
|
|
38
|
-
|
|
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 };
|
|
@@ -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
|
-
|
|
18
|
+
type UDExSecondaryNavigationSubItemClickEventDetail = {
|
|
19
19
|
item: UDExSecondaryNavigationSubItem,
|
|
20
20
|
originalEvent: PointerEvent
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
|
|
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";
|
|
@@ -337,8 +326,7 @@ class UDExSelectBox extends UDExSearchableListBase {
|
|
|
337
326
|
}
|
|
338
327
|
|
|
339
328
|
handleSelectAll(e:CustomEvent) {
|
|
340
|
-
this.
|
|
341
|
-
this.fireDecoratorEvent("select-all");
|
|
329
|
+
this.onSelectAllHeaderPress(e);
|
|
342
330
|
}
|
|
343
331
|
|
|
344
332
|
handleHeaderPress(e:CustomEvent) {
|
|
@@ -649,6 +637,14 @@ class UDExSelectBox extends UDExSearchableListBase {
|
|
|
649
637
|
this._tags.forEach((tag, i) => { this.getTagContent(tag).tabIndex = (i === 0 && !this.isDisabled) ? this._activeTabIndex : this._inactiveTabIndex; });
|
|
650
638
|
}
|
|
651
639
|
|
|
640
|
+
/**
|
|
641
|
+
* Close the dropdown.
|
|
642
|
+
* @public
|
|
643
|
+
*/
|
|
644
|
+
close(): void {
|
|
645
|
+
this.closeDropdown();
|
|
646
|
+
}
|
|
647
|
+
|
|
652
648
|
get allowTargetOverlap(): boolean {
|
|
653
649
|
return !this.disableTargetOverlap;
|
|
654
650
|
}
|
|
@@ -754,3 +750,4 @@ class UDExSelectBox extends UDExSearchableListBase {
|
|
|
754
750
|
UDExSelectBox.define();
|
|
755
751
|
|
|
756
752
|
export default UDExSelectBox;
|
|
753
|
+
export type { UDExSelectBoxRemoveEventDetail };
|
|
@@ -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
|
package/src/SocialMediaButton.ts
CHANGED
|
@@ -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.
|
|
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}
|
|
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
|
-
|
|
30
|
+
type UDExStepInputValueChangeEventDetail = {
|
|
42
31
|
value: number,
|
|
43
32
|
}
|
|
44
33
|
|
|
45
|
-
|
|
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
|
-
|
|
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
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 };
|
package/src/TabNavigation.ts
CHANGED
|
@@ -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>;
|
package/src/TableCellBase.ts
CHANGED
package/src/TableRowBase.ts
CHANGED
package/src/Tag.ts
CHANGED
package/src/TagGroup.ts
CHANGED
package/src/TextField.ts
CHANGED
|
@@ -33,7 +33,7 @@ export type AccInfo = {
|
|
|
33
33
|
ariaHasPopup?: string,
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
|
|
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}}
|