@sapudex/web-components 0.111.0 → 0.117.1
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/.npmrc +1 -2
- package/bundle.esm.js +4 -0
- package/dist/AccordionItem.d.ts +7 -0
- package/dist/AccordionItem.js +6 -2
- package/dist/AccordionItem.js.map +1 -1
- package/dist/Avatar.d.ts +8 -1
- package/dist/Avatar.js +5 -2
- package/dist/Avatar.js.map +1 -1
- package/dist/CountrySelector.d.ts +6 -7
- package/dist/CountrySelector.js +15 -7
- package/dist/CountrySelector.js.map +1 -1
- package/dist/Dropdown.d.ts +10 -0
- package/dist/Dropdown.js +10 -0
- package/dist/Dropdown.js.map +1 -1
- package/dist/FilterMenu.d.ts +14 -4
- package/dist/FilterMenu.js +46 -7
- package/dist/FilterMenu.js.map +1 -1
- package/dist/Footer.d.ts +40 -1
- package/dist/Footer.js +151 -1
- package/dist/Footer.js.map +1 -1
- package/dist/InputGroup.d.ts +75 -0
- package/dist/InputGroup.js +101 -0
- package/dist/InputGroup.js.map +1 -0
- package/dist/List.d.ts +7 -0
- package/dist/List.js +78 -18
- package/dist/List.js.map +1 -1
- package/dist/ListItem.d.ts +0 -1
- package/dist/ListItem.js +0 -6
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +3 -0
- package/dist/ListItemBase.js +12 -0
- package/dist/ListItemBase.js.map +1 -1
- package/dist/MastheadMobileMenu.d.ts +4 -1
- package/dist/MastheadMobileMenu.js +10 -3
- package/dist/MastheadMobileMenu.js.map +1 -1
- package/dist/PhoneNumberField.d.ts +8 -0
- package/dist/PhoneNumberField.js +23 -10
- package/dist/PhoneNumberField.js.map +1 -1
- package/dist/Search.d.ts +60 -1
- package/dist/Search.js +191 -19
- package/dist/Search.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +37 -45
- package/dist/SecondaryNavigation.js +148 -153
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.d.ts +101 -0
- package/dist/SecondaryNavigationItem.js +287 -0
- package/dist/SecondaryNavigationItem.js.map +1 -0
- package/dist/SecondaryNavigationItemBase.d.ts +68 -0
- package/dist/SecondaryNavigationItemBase.js +78 -0
- package/dist/SecondaryNavigationItemBase.js.map +1 -0
- package/dist/SecondaryNavigationSubItem.d.ts +52 -0
- package/dist/SecondaryNavigationSubItem.js +102 -0
- package/dist/SecondaryNavigationSubItem.js.map +1 -0
- package/dist/SelectBox.d.ts +7 -0
- package/dist/SelectBox.js +27 -2
- package/dist/SelectBox.js.map +1 -1
- package/dist/StatusBadge.d.ts +67 -0
- package/dist/StatusBadge.js +104 -0
- package/dist/StatusBadge.js.map +1 -0
- package/dist/Tab.js +1 -1
- package/dist/Tab.js.map +1 -1
- package/dist/Table.d.ts +5 -5
- package/dist/Table.js +5 -5
- package/dist/Table.js.map +1 -1
- package/dist/Tag.d.ts +7 -1
- package/dist/Tag.js +6 -2
- package/dist/Tag.js.map +1 -1
- package/dist/TextArea.js.map +1 -1
- package/dist/assets/{bundle.esm-b7920968.js → bundle.esm-f65ae7da.js} +189 -184
- package/dist/assets/messagebundle_en-7249941b.js +1 -0
- package/dist/css/themes/AccordionItem.css +1 -1
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/Checkbox.css +1 -1
- package/dist/css/themes/CountrySelector.css +1 -1
- package/dist/css/themes/DatePicker.css +1 -1
- package/dist/css/themes/Dropdown.css +1 -1
- package/dist/css/themes/FilterMenu.css +1 -1
- package/dist/css/themes/HeroBanner.css +1 -1
- package/dist/css/themes/InputGroup.css +1 -0
- package/dist/css/themes/MastheadItem.css +1 -1
- package/dist/css/themes/MastheadMenuItem.css +1 -1
- package/dist/css/themes/MastheadShell.css +1 -1
- package/dist/css/themes/MediaPlayer.css +1 -1
- package/dist/css/themes/PhoneNumberField.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Search.css +1 -1
- package/dist/css/themes/SearchSuggestions.css +1 -1
- package/dist/css/themes/SecondaryNavigation.css +1 -1
- package/dist/css/themes/SecondaryNavigationItem.css +1 -0
- package/dist/css/themes/SecondaryNavigationSubItem.css +1 -0
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/StatusBadge.css +1 -0
- package/dist/css/themes/Tag.css +1 -1
- package/dist/css/themes/TextField.css +1 -1
- package/dist/custom-elements-internal.json +1070 -116
- package/dist/custom-elements.json +1047 -169
- package/dist/features/SearchSuggestionsPopover.d.ts +3 -3
- package/dist/features/SearchSuggestionsPopover.js +16 -18
- package/dist/features/SearchSuggestionsPopover.js.map +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +8 -1
- package/dist/generated/i18n/i18n-defaults.js +8 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/AccordionItemTemplate.lit.js +2 -1
- package/dist/generated/templates/AccordionItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/CountrySelectorTemplate.lit.js +1 -1
- package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DropdownTemplate.lit.js +1 -1
- package/dist/generated/templates/DropdownTemplate.lit.js.map +1 -1
- package/dist/generated/templates/FilterMenuTemplate.lit.js +3 -3
- package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/FooterTemplate.lit.js +15 -15
- package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
- package/dist/generated/templates/HeroBannerTemplate.lit.js +2 -2
- package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/InputGroupTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/InputGroupTemplate.lit.js +7 -0
- package/dist/generated/templates/InputGroupTemplate.lit.js.map +1 -0
- package/dist/generated/templates/ListGroupHeaderTemplate.lit.js +4 -4
- package/dist/generated/templates/ListGroupHeaderTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListItemTemplate.lit.js +1 -1
- package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListSelectAllTemplate.lit.js +1 -1
- package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +15 -10
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +1 -1
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SearchSuggestionsTemplate.lit.js +11 -10
- package/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SearchTemplate.lit.js +11 -10
- package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SearchableListBaseTemplate.lit.js +2 -2
- package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +11 -0
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +9 -0
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +7 -9
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SelectBoxTemplate.lit.js +1 -1
- package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/StatusBadgeTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/StatusBadgeTemplate.lit.js +5 -0
- package/dist/generated/templates/StatusBadgeTemplate.lit.js.map +1 -0
- package/dist/generated/themes/AccordionItem.css.js +1 -1
- package/dist/generated/themes/AccordionItem.css.js.map +1 -1
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/Avatar.css.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/Checkbox.css.js +1 -1
- package/dist/generated/themes/Checkbox.css.js.map +1 -1
- package/dist/generated/themes/CountrySelector.css.js +1 -1
- package/dist/generated/themes/CountrySelector.css.js.map +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js.map +1 -1
- package/dist/generated/themes/Dropdown.css.js +1 -1
- package/dist/generated/themes/Dropdown.css.js.map +1 -1
- package/dist/generated/themes/FilterMenu.css.js +1 -1
- package/dist/generated/themes/FilterMenu.css.js.map +1 -1
- package/dist/generated/themes/HeroBanner.css.js +1 -1
- package/dist/generated/themes/HeroBanner.css.js.map +1 -1
- package/dist/generated/themes/InputGroup.css.d.ts +3 -0
- package/dist/generated/themes/InputGroup.css.js +9 -0
- package/dist/generated/themes/InputGroup.css.js.map +1 -0
- package/dist/generated/themes/MastheadItem.css.js +1 -1
- package/dist/generated/themes/MastheadItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadMenuItem.css.js +1 -1
- package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadShell.css.js +1 -1
- package/dist/generated/themes/MastheadShell.css.js.map +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/PhoneNumberField.css.js +1 -1
- package/dist/generated/themes/PhoneNumberField.css.js.map +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/Search.css.js +1 -1
- package/dist/generated/themes/Search.css.js.map +1 -1
- package/dist/generated/themes/SearchSuggestions.css.js +1 -1
- package/dist/generated/themes/SearchSuggestions.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
- package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigationItem.css.d.ts +3 -0
- package/dist/generated/themes/SecondaryNavigationItem.css.js +9 -0
- package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -0
- package/dist/generated/themes/SecondaryNavigationSubItem.css.d.ts +3 -0
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js +9 -0
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -0
- package/dist/generated/themes/Slider.css.js +1 -1
- package/dist/generated/themes/Slider.css.js.map +1 -1
- package/dist/generated/themes/StatusBadge.css.d.ts +3 -0
- package/dist/generated/themes/StatusBadge.css.js +9 -0
- package/dist/generated/themes/StatusBadge.css.js.map +1 -0
- package/dist/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/TextField.css.js +1 -1
- package/dist/generated/themes/TextField.css.js.map +1 -1
- package/dist/i18n/messagebundle.properties +12 -1
- package/dist/i18n/messagebundle_en.properties +8 -1
- package/dist/types/callback.d.ts +2 -0
- package/dist/types/callback.js +2 -0
- package/dist/types/callback.js.map +1 -0
- package/dist/utils/debounce.d.ts +2 -2
- package/dist/utils/debounce.js.map +1 -1
- package/dist/utils/retryUntilSuccessful.d.ts +3 -0
- package/dist/utils/retryUntilSuccessful.js +21 -0
- package/dist/utils/retryUntilSuccessful.js.map +1 -0
- package/dist/vscode.html-custom-data.json +178 -14
- package/dist/web-types.json +406 -32
- package/package.json +1 -1
- package/src/AccordionItem.hbs +12 -1
- package/src/AccordionItem.ts +11 -2
- package/src/Avatar.ts +12 -3
- package/src/CountrySelector.hbs +3 -3
- package/src/CountrySelector.ts +22 -21
- package/src/Dropdown.hbs +0 -1
- package/src/Dropdown.ts +10 -0
- package/src/FilterMenu.hbs +5 -1
- package/src/FilterMenu.ts +60 -10
- package/src/Footer.hbs +154 -91
- package/src/Footer.ts +158 -1
- package/src/HeroBanner.hbs +24 -21
- package/src/InputGroup.hbs +20 -0
- package/src/InputGroup.ts +137 -0
- package/src/List.ts +92 -21
- package/src/ListGroupHeader.hbs +9 -5
- package/src/ListItem.hbs +2 -1
- package/src/ListItem.ts +0 -7
- package/src/ListItemBase.ts +14 -0
- package/src/ListSelectAll.hbs +1 -0
- package/src/MastheadMobileMenu.hbs +51 -28
- package/src/MastheadMobileMenu.ts +12 -3
- package/src/MastheadProfileMenu.hbs +1 -1
- package/src/PhoneNumberField.ts +27 -3
- package/src/Search.hbs +26 -3
- package/src/Search.ts +236 -21
- package/src/SearchSuggestions.hbs +47 -49
- package/src/SearchableListBase.hbs +2 -0
- package/src/SecondaryNavigation.hbs +52 -72
- package/src/SecondaryNavigation.ts +182 -186
- package/src/SecondaryNavigationItem.hbs +63 -0
- package/src/SecondaryNavigationItem.ts +358 -0
- package/src/SecondaryNavigationItemBase.ts +115 -0
- package/src/SecondaryNavigationSubItem.hbs +41 -0
- package/src/SecondaryNavigationSubItem.ts +123 -0
- package/src/SelectBox.hbs +1 -0
- package/src/SelectBox.ts +38 -1
- package/src/StatusBadge.hbs +9 -0
- package/src/StatusBadge.ts +129 -0
- package/src/Tab.ts +1 -1
- package/src/Table.ts +7 -7
- package/src/Tag.ts +12 -3
- package/src/TextArea.ts +1 -1
- package/src/features/SearchSuggestionsPopover.ts +18 -20
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/templates/AccordionItemTemplate.lit.ts +2 -1
- package/src/generated/templates/CountrySelectorTemplate.lit.ts +1 -1
- package/src/generated/templates/DropdownTemplate.lit.ts +1 -1
- package/src/generated/templates/FilterMenuTemplate.lit.ts +3 -3
- package/src/generated/templates/FooterTemplate.lit.ts +15 -15
- package/src/generated/templates/HeroBannerTemplate.lit.ts +2 -2
- package/src/generated/templates/InputGroupTemplate.lit.ts +12 -0
- package/src/generated/templates/ListGroupHeaderTemplate.lit.ts +4 -4
- package/src/generated/templates/ListItemTemplate.lit.ts +1 -1
- package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +15 -10
- package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +1 -1
- package/src/generated/templates/SearchSuggestionsTemplate.lit.ts +11 -10
- package/src/generated/templates/SearchTemplate.lit.ts +10 -9
- package/src/generated/templates/SearchableListBaseTemplate.lit.ts +2 -2
- package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +16 -0
- package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +14 -0
- package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -9
- package/src/generated/templates/SelectBoxTemplate.lit.ts +1 -1
- package/src/generated/templates/StatusBadgeTemplate.lit.ts +10 -0
- package/src/generated/themes/AccordionItem.css.ts +1 -1
- package/src/generated/themes/Avatar.css.ts +1 -1
- package/src/generated/themes/Breadcrumbs.css.ts +1 -1
- package/src/generated/themes/Checkbox.css.ts +1 -1
- package/src/generated/themes/CountrySelector.css.ts +1 -1
- package/src/generated/themes/DatePicker.css.ts +1 -1
- package/src/generated/themes/Dropdown.css.ts +1 -1
- package/src/generated/themes/FilterMenu.css.ts +1 -1
- package/src/generated/themes/HeroBanner.css.ts +1 -1
- package/src/generated/themes/InputGroup.css.ts +13 -0
- package/src/generated/themes/MastheadItem.css.ts +1 -1
- package/src/generated/themes/MastheadMenuItem.css.ts +1 -1
- package/src/generated/themes/MastheadShell.css.ts +1 -1
- package/src/generated/themes/MediaPlayer.css.ts +1 -1
- package/src/generated/themes/PhoneNumberField.css.ts +1 -1
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/Search.css.ts +1 -1
- package/src/generated/themes/SearchSuggestions.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigationItem.css.ts +13 -0
- package/src/generated/themes/SecondaryNavigationSubItem.css.ts +13 -0
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/StatusBadge.css.ts +13 -0
- package/src/generated/themes/Tag.css.ts +1 -1
- package/src/generated/themes/TextField.css.ts +1 -1
- package/src/i18n/messagebundle.properties +12 -1
- package/src/i18n/messagebundle_en.properties +8 -1
- package/src/themes/AccordionItem.css +20 -15
- package/src/themes/Avatar.css +20 -0
- package/src/themes/Breadcrumbs.css +4 -2
- package/src/themes/Checkbox.css +12 -0
- package/src/themes/CountrySelector.css +16 -1
- package/src/themes/DatePicker.css +1 -1
- package/src/themes/Dropdown.css +3 -1
- package/src/themes/FilterMenu.css +10 -0
- package/src/themes/HeroBanner.css +42 -6
- package/src/themes/InputGroup.css +19 -0
- package/src/themes/MastheadItem.css +2 -7
- package/src/themes/MastheadMenuItem.css +0 -4
- package/src/themes/MastheadShell.css +9 -10
- package/src/themes/MediaPlayer.css +3 -2
- package/src/themes/PhoneNumberField.css +17 -3
- package/src/themes/Search.css +168 -21
- package/src/themes/SearchSuggestions.css +7 -1
- package/src/themes/SecondaryNavigation.css +44 -302
- package/src/themes/SecondaryNavigationItem.css +220 -0
- package/src/themes/SecondaryNavigationSubItem.css +118 -0
- package/src/themes/StatusBadge.css +135 -0
- package/src/themes/Tag.css +6 -1
- package/src/themes/TextField.css +10 -1
- package/src/types/callback.ts +3 -0
- package/src/utils/debounce.ts +1 -1
- package/src/utils/retryUntilSuccessful.ts +23 -0
- package/dist/assets/messagebundle_en-26cd7a92.js +0 -1
|
@@ -1,23 +1,17 @@
|
|
|
1
|
-
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
|
-
import "
|
|
3
|
-
|
|
4
|
-
_blank = "_blank",
|
|
5
|
-
_parent = "_parent",
|
|
6
|
-
_self = "_self",
|
|
7
|
-
_top = "_top"
|
|
8
|
-
}
|
|
9
|
-
export type NavItem = {
|
|
10
|
-
path: string;
|
|
11
|
-
mobileLinkTitle: string;
|
|
12
|
-
target: Target;
|
|
13
|
-
title: string;
|
|
14
|
-
active?: boolean;
|
|
15
|
-
};
|
|
1
|
+
import UI5Element, { ChangeInfo } from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
|
+
import UDExSecondaryNavigationItem from "./SecondaryNavigationItem.js";
|
|
3
|
+
import UDExSecondaryNavigationItemBase, { NavItem } from "./SecondaryNavigationItemBase.js";
|
|
16
4
|
export type SecondaryNavigationItemClickDetail = {
|
|
17
5
|
originalEvent: Event;
|
|
18
|
-
clickedItem:
|
|
6
|
+
clickedItem: UDExSecondaryNavigationItem;
|
|
19
7
|
clickedIndex: number;
|
|
20
8
|
};
|
|
9
|
+
export type SecondaryNavigationSubItemClickDetail = {
|
|
10
|
+
originalEvent: Event;
|
|
11
|
+
clickedItem: {
|
|
12
|
+
items: Array<NavItem>;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
21
15
|
/**
|
|
22
16
|
* @class
|
|
23
17
|
*
|
|
@@ -70,59 +64,57 @@ declare class UDExSecondaryNavigation extends UI5Element {
|
|
|
70
64
|
* @public
|
|
71
65
|
*/
|
|
72
66
|
title: string;
|
|
73
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Defines the href of the title.
|
|
69
|
+
*
|
|
70
|
+
* @default ""
|
|
71
|
+
* @public
|
|
72
|
+
*/
|
|
73
|
+
titleHref: string;
|
|
74
|
+
_selectedMore: boolean;
|
|
74
75
|
_overflowItems: Array<NavItem>;
|
|
75
|
-
|
|
76
|
+
_visibleItems: Array<NavItem>;
|
|
76
77
|
_requestRender: boolean;
|
|
77
78
|
_mobileBtnExpanded: boolean;
|
|
78
|
-
|
|
79
|
-
|
|
79
|
+
_navItems: Array<NavItem>;
|
|
80
|
+
_showMoreButton: boolean;
|
|
80
81
|
_rootHolder: HTMLElement | null | undefined;
|
|
82
|
+
_clickedNavItem: UDExSecondaryNavigationItem;
|
|
81
83
|
_boundReflowItems: () => void;
|
|
82
84
|
static i18nBundle: any;
|
|
83
85
|
static onDefine(): Promise<void>;
|
|
84
86
|
constructor();
|
|
85
87
|
onEnterDOM(): void;
|
|
86
88
|
onExitDOM(): void;
|
|
89
|
+
onInvalidation(changeInfo: ChangeInfo): void;
|
|
87
90
|
onAfterRendering(): void;
|
|
88
91
|
refreshRendering(): void;
|
|
89
92
|
reflowItems(): void;
|
|
90
93
|
handleKeyDown(e: KeyboardEvent): void;
|
|
91
|
-
handleEscapeKey(e: KeyboardEvent): void;
|
|
92
|
-
handleKeyDownDropdown(e: KeyboardEvent): void;
|
|
93
|
-
handleLeftArrow(e: KeyboardEvent): void;
|
|
94
|
-
handleRightArrow(e: KeyboardEvent): void;
|
|
95
|
-
handleUpArrow(e: KeyboardEvent): void;
|
|
96
|
-
handleDownArrow(e: KeyboardEvent): void;
|
|
97
|
-
handleOutsideClick(): void;
|
|
98
|
-
handleMobileOpen(): void;
|
|
99
|
-
handleToggleDropdown(): void;
|
|
100
94
|
focusPrevNavItem(e: KeyboardEvent): void;
|
|
101
95
|
focusNextNavItem(e: KeyboardEvent): void;
|
|
102
|
-
onCloseDropdown(): void;
|
|
103
96
|
getItemWidth(item: NavItem): number;
|
|
104
|
-
getCurrentIndex(item: HTMLElement): number;
|
|
105
|
-
getListItemByIndex(index: number): HTMLElement | null;
|
|
106
|
-
getDropdown(): HTMLElement;
|
|
107
|
-
getMobileButtonMenu(): HTMLElement;
|
|
108
|
-
getMoreButton(): HTMLElement;
|
|
109
97
|
getMoreButtonWidth(): number;
|
|
98
|
+
getCurrentIndex(item: UDExSecondaryNavigationItem): number;
|
|
99
|
+
handleItemClick(e: CustomEvent): void;
|
|
100
|
+
handleSubItemClick(e: CustomEvent): void;
|
|
101
|
+
setActiveItem(navItems: Array<NavItem>, clickedItem: UDExSecondaryNavigationItemBase): void;
|
|
102
|
+
handleOutsideClick(): void;
|
|
103
|
+
closePrevDropdown(clickedItemId: string): void;
|
|
110
104
|
parseArrayFromString<T>(string: string): T[];
|
|
111
|
-
|
|
112
|
-
get navigationItems(): Array<HTMLElement>;
|
|
113
|
-
get domNavItems(): Array<HTMLElement>;
|
|
105
|
+
get domNavItems(): Array<UDExSecondaryNavigationItem>;
|
|
114
106
|
get rootHolder(): HTMLElement;
|
|
115
107
|
get heading(): HTMLElement;
|
|
108
|
+
get mobileNav(): UDExSecondaryNavigationItem;
|
|
116
109
|
get optionalButtons(): HTMLElement | null | undefined;
|
|
117
|
-
get linksList(): HTMLElement | null | undefined;
|
|
118
110
|
get moreButtonText(): string;
|
|
119
|
-
get
|
|
120
|
-
get
|
|
121
|
-
get navigationList(): Array<NavItem>;
|
|
122
|
-
get items(): Array<NavItem>;
|
|
123
|
-
get moreIsActive(): boolean;
|
|
124
|
-
get rootClass(): string;
|
|
111
|
+
get parsedItems(): Array<NavItem>;
|
|
112
|
+
get visibleItems(): Array<NavItem>;
|
|
125
113
|
get hasBreadcrumbsSlot(): boolean;
|
|
114
|
+
get hasDesktopButtonsSlot(): boolean;
|
|
115
|
+
get hasMobileButtonsSlot(): boolean;
|
|
116
|
+
get hasButtons(): boolean;
|
|
126
117
|
get isDesktopScreen(): boolean;
|
|
118
|
+
get isMobileScreen(): boolean;
|
|
127
119
|
}
|
|
128
120
|
export default UDExSecondaryNavigation;
|
|
@@ -13,25 +13,16 @@ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
|
13
13
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
14
14
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
15
15
|
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
16
|
-
import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
17
16
|
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
18
|
-
import "@ui5/webcomponents-
|
|
19
|
-
import { isLeft, isRight, isUp, isDown, isEscape, } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
17
|
+
import { isLeft, isRight, isEscape, } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
20
18
|
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
19
|
+
import UDExSecondaryNavigationItem from "./SecondaryNavigationItem.js";
|
|
21
20
|
import { MORE } from "./generated/i18n/i18n-defaults.js";
|
|
22
21
|
import SecondaryNavigationTemplate from "./generated/templates/SecondaryNavigationTemplate.lit.js";
|
|
23
22
|
// Styles
|
|
24
23
|
import SecondaryNavigationCss from "./generated/themes/SecondaryNavigation.css.js";
|
|
25
|
-
const
|
|
26
|
-
const rootClass = "udex-secondary-navigation__root";
|
|
24
|
+
const canvasContentFont = "16px / 17.6px '72 Brand Variable'";
|
|
27
25
|
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 = {}));
|
|
35
26
|
/**
|
|
36
27
|
* @class
|
|
37
28
|
*
|
|
@@ -57,181 +48,171 @@ let UDExSecondaryNavigation = UDExSecondaryNavigation_1 = class UDExSecondaryNav
|
|
|
57
48
|
super();
|
|
58
49
|
this._requestRender = false;
|
|
59
50
|
this._mobileBtnExpanded = false;
|
|
51
|
+
this._showMoreButton = true;
|
|
60
52
|
this._boundReflowItems = this.reflowItems.bind(this);
|
|
61
53
|
}
|
|
62
54
|
onEnterDOM() {
|
|
63
55
|
if (isDesktop()) {
|
|
64
56
|
this.setAttribute("desktop", "");
|
|
65
57
|
}
|
|
66
|
-
|
|
67
|
-
this.reflowItems();
|
|
68
|
-
}
|
|
69
|
-
ResizeHandler.register(this.rootHolder, this._boundReflowItems);
|
|
58
|
+
ResizeHandler.register(this, this._boundReflowItems);
|
|
70
59
|
}
|
|
71
60
|
onExitDOM() {
|
|
72
|
-
ResizeHandler.deregister(this
|
|
61
|
+
ResizeHandler.deregister(this, this._boundReflowItems);
|
|
62
|
+
}
|
|
63
|
+
onInvalidation(changeInfo) {
|
|
64
|
+
if (changeInfo.name === "navItems") {
|
|
65
|
+
this.reflowItems();
|
|
66
|
+
}
|
|
73
67
|
}
|
|
74
68
|
onAfterRendering() {
|
|
75
69
|
this._rootHolder = this.rootHolder;
|
|
76
|
-
this._dropdown = this.getDropdown();
|
|
77
70
|
this.handleOutsideClick();
|
|
78
71
|
}
|
|
79
72
|
refreshRendering() {
|
|
80
73
|
this._requestRender = !this._requestRender;
|
|
81
74
|
}
|
|
82
75
|
reflowItems() {
|
|
83
|
-
const availableWidth = this.rootHolder.offsetWidth - this.heading
|
|
76
|
+
const availableWidth = this.rootHolder.offsetWidth - this.heading?.offsetWidth - (this.optionalButtons?.offsetWidth || 0);
|
|
84
77
|
const moreButtonWidth = this.getMoreButtonWidth();
|
|
85
78
|
const itemsGap = 20;
|
|
86
|
-
const widths = this.
|
|
79
|
+
const widths = this.parsedItems.map(item => this.getItemWidth(item));
|
|
87
80
|
const steps = [];
|
|
88
|
-
widths
|
|
81
|
+
widths?.forEach((itemWidth, index) => {
|
|
89
82
|
steps.push((steps.at(-1) || 0) + itemWidth + (index && itemsGap));
|
|
90
83
|
});
|
|
91
84
|
if ((steps.at(-1) || 0) <= availableWidth) {
|
|
92
|
-
this.
|
|
85
|
+
this._visibleItems.splice(0, Infinity, ...this.parsedItems);
|
|
86
|
+
this._showMoreButton = false;
|
|
93
87
|
this.refreshRendering();
|
|
94
88
|
return;
|
|
95
89
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
e.stopPropagation();
|
|
104
|
-
this.handleLeftArrow(e);
|
|
105
|
-
this.handleRightArrow(e);
|
|
106
|
-
this.handleEscapeKey(e);
|
|
107
|
-
}
|
|
108
|
-
handleEscapeKey(e) {
|
|
109
|
-
if (isEscape(e)) {
|
|
110
|
-
if (!this.isDesktopScreen) {
|
|
111
|
-
this._rootHolder?.classList.remove(mobileMenuActiveClass);
|
|
112
|
-
this.getMobileButtonMenu().focus();
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
this.onCloseDropdown();
|
|
116
|
-
this.getMoreButton().focus();
|
|
117
|
-
}
|
|
90
|
+
if (this.parsedItems) {
|
|
91
|
+
// @ts-ignore
|
|
92
|
+
const lastVisibleIndex = steps.findLastIndex((size) => size < (availableWidth - moreButtonWidth - itemsGap));
|
|
93
|
+
this._visibleItems.splice(0, Infinity, ...this.parsedItems.slice(0, lastVisibleIndex + 1));
|
|
94
|
+
this._overflowItems.splice(0, Infinity, ...this.parsedItems.slice(lastVisibleIndex + 1));
|
|
95
|
+
this._showMoreButton = true;
|
|
96
|
+
this.refreshRendering();
|
|
118
97
|
}
|
|
119
98
|
}
|
|
120
|
-
|
|
99
|
+
handleKeyDown(e) {
|
|
121
100
|
e.stopPropagation();
|
|
122
|
-
this.handleUpArrow(e);
|
|
123
|
-
this.handleDownArrow(e);
|
|
124
|
-
this.handleEscapeKey(e);
|
|
125
|
-
}
|
|
126
|
-
handleLeftArrow(e) {
|
|
127
101
|
if (isLeft(e)) {
|
|
128
102
|
this.focusPrevNavItem(e);
|
|
129
103
|
}
|
|
130
|
-
}
|
|
131
|
-
handleRightArrow(e) {
|
|
132
104
|
if (isRight(e)) {
|
|
133
105
|
this.focusNextNavItem(e);
|
|
134
106
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
if (isUp(e)) {
|
|
138
|
-
this.focusPrevNavItem(e);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
handleDownArrow(e) {
|
|
142
|
-
if (isDown(e)) {
|
|
143
|
-
this.focusNextNavItem(e);
|
|
107
|
+
if (isEscape(e)) {
|
|
108
|
+
e.target.closeDropdown();
|
|
144
109
|
}
|
|
145
110
|
}
|
|
146
|
-
handleOutsideClick() {
|
|
147
|
-
document.addEventListener("click", () => {
|
|
148
|
-
if (this._dropdown) {
|
|
149
|
-
this.onCloseDropdown();
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
handleMobileOpen() {
|
|
154
|
-
this._rootHolder?.classList.toggle(mobileMenuActiveClass);
|
|
155
|
-
this._mobileBtnExpanded = !this._mobileBtnExpanded;
|
|
156
|
-
}
|
|
157
|
-
handleToggleDropdown() {
|
|
158
|
-
this._dropdownMoreIsOpen = !this._dropdownMoreIsOpen;
|
|
159
|
-
}
|
|
160
111
|
focusPrevNavItem(e) {
|
|
161
|
-
const
|
|
162
|
-
const
|
|
163
|
-
const
|
|
164
|
-
const lastItemIndex = this.navigationItems.length - 1;
|
|
112
|
+
const item = e.target;
|
|
113
|
+
const currentSelectedIndex = this.getCurrentIndex(item);
|
|
114
|
+
const lastItemIndex = this.domNavItems.length - 1;
|
|
165
115
|
const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;
|
|
166
|
-
|
|
167
|
-
listItem?.focus();
|
|
116
|
+
this.domNavItems[previousSelectIndex]?.focus();
|
|
168
117
|
}
|
|
169
118
|
focusNextNavItem(e) {
|
|
170
|
-
const
|
|
171
|
-
const
|
|
172
|
-
const
|
|
173
|
-
|
|
174
|
-
const listItem = this.getListItemByIndex(nextSelectIndex);
|
|
175
|
-
listItem?.focus();
|
|
176
|
-
}
|
|
177
|
-
onCloseDropdown() {
|
|
178
|
-
this._dropdownMoreIsOpen = false;
|
|
119
|
+
const item = e.target;
|
|
120
|
+
const currentSelectedIndex = this.getCurrentIndex(item);
|
|
121
|
+
const nextSelectIndex = currentSelectedIndex + 1 > this.domNavItems.length - 1 ? 0 : currentSelectedIndex + 1;
|
|
122
|
+
this.domNavItems[nextSelectIndex].focus();
|
|
179
123
|
}
|
|
180
124
|
getItemWidth(item) {
|
|
181
125
|
const canvas = document.createElement("canvas");
|
|
182
126
|
const context = canvas.getContext("2d");
|
|
183
|
-
context.font =
|
|
127
|
+
context.font = canvasContentFont;
|
|
184
128
|
return Math.ceil(context.measureText(item.title).width);
|
|
185
129
|
}
|
|
186
|
-
getCurrentIndex(item) {
|
|
187
|
-
return this.navigationItems.indexOf(item);
|
|
188
|
-
}
|
|
189
|
-
getListItemByIndex(index) {
|
|
190
|
-
return this.navigationItems[index].querySelector(".udex-secondary-navigation__link-btn");
|
|
191
|
-
}
|
|
192
|
-
getDropdown() {
|
|
193
|
-
return this.shadowRoot.querySelector(".udex-secondary-navigation__dropdown");
|
|
194
|
-
}
|
|
195
|
-
getMobileButtonMenu() {
|
|
196
|
-
return this.shadowRoot?.querySelector(".udex-secondary-navigation__mobile-opener");
|
|
197
|
-
}
|
|
198
|
-
getMoreButton() {
|
|
199
|
-
return this.shadowRoot.querySelector(".udex-secondary-navigation__list-item_more > button");
|
|
200
|
-
}
|
|
201
130
|
getMoreButtonWidth() {
|
|
202
131
|
const canvas = document.createElement("canvas");
|
|
203
132
|
const context = canvas.getContext("2d");
|
|
204
|
-
context.font =
|
|
205
|
-
return Math.ceil(context.measureText(
|
|
133
|
+
context.font = canvasContentFont;
|
|
134
|
+
return Math.ceil(context.measureText(this.moreButtonText).width);
|
|
206
135
|
}
|
|
207
|
-
|
|
208
|
-
return
|
|
136
|
+
getCurrentIndex(item) {
|
|
137
|
+
return this.domNavItems.indexOf(item);
|
|
209
138
|
}
|
|
210
|
-
|
|
211
|
-
const
|
|
212
|
-
const clickedIndex = this.domNavItems.indexOf(target);
|
|
139
|
+
handleItemClick(e) {
|
|
140
|
+
const clickedItem = e.detail.item;
|
|
213
141
|
const prevented = !this.fireEvent("item-click", {
|
|
214
142
|
originalEvent: e,
|
|
215
|
-
clickedItem
|
|
216
|
-
clickedIndex,
|
|
143
|
+
clickedItem,
|
|
144
|
+
clickedIndex: this.getCurrentIndex(clickedItem),
|
|
217
145
|
}, true);
|
|
218
146
|
if (prevented) {
|
|
219
147
|
e.preventDefault();
|
|
220
148
|
return;
|
|
221
149
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
this.
|
|
150
|
+
this._clickedNavItem = clickedItem;
|
|
151
|
+
this.closePrevDropdown(clickedItem._id);
|
|
152
|
+
if (!clickedItem.hasNestedItems) {
|
|
153
|
+
this.setActiveItem(this.parsedItems, clickedItem);
|
|
226
154
|
}
|
|
227
155
|
}
|
|
228
|
-
|
|
229
|
-
|
|
156
|
+
handleSubItemClick(e) {
|
|
157
|
+
const item = e.detail.item;
|
|
158
|
+
const { items } = item;
|
|
159
|
+
const prevented = !this.fireEvent("sub-item-click", {
|
|
160
|
+
originalEvent: e,
|
|
161
|
+
clickedItem: item,
|
|
162
|
+
}, true);
|
|
163
|
+
if (prevented) {
|
|
164
|
+
e.preventDefault();
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
if (this.isMobileScreen && !items) {
|
|
168
|
+
this.mobileNav.closeDropdown();
|
|
169
|
+
}
|
|
170
|
+
if (!items) {
|
|
171
|
+
this.setActiveItem(this.parsedItems, item);
|
|
172
|
+
this._clickedNavItem?.closeDropdown();
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
setActiveItem(navItems, clickedItem) {
|
|
176
|
+
const updateNav = (items, { title, path }) => {
|
|
177
|
+
items.forEach(item => {
|
|
178
|
+
if (item.title === title && item.path === path) {
|
|
179
|
+
item.active = true;
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
delete item.active;
|
|
183
|
+
if (item.items) {
|
|
184
|
+
updateNav(item.items, clickedItem);
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
};
|
|
188
|
+
updateNav(navItems, clickedItem);
|
|
189
|
+
this.navItems = JSON.stringify(navItems);
|
|
190
|
+
}
|
|
191
|
+
handleOutsideClick() {
|
|
192
|
+
document.addEventListener("click", (e) => {
|
|
193
|
+
if (this.isMobileScreen && e.target !== this) {
|
|
194
|
+
this.mobileNav?.closeDropdown();
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
const isClickedNavItem = e.composedPath().includes(this._clickedNavItem);
|
|
198
|
+
if (this.isDesktopScreen && !isClickedNavItem && this._clickedNavItem) {
|
|
199
|
+
this._clickedNavItem.closeDropdown();
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
closePrevDropdown(clickedItemId) {
|
|
204
|
+
this.domNavItems.forEach(item => {
|
|
205
|
+
if (clickedItemId !== item._id) {
|
|
206
|
+
item.closeDropdown();
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
parseArrayFromString(string) {
|
|
211
|
+
return string ? JSON.parse(string) : [];
|
|
230
212
|
}
|
|
231
213
|
get domNavItems() {
|
|
232
|
-
const
|
|
233
|
-
|
|
234
|
-
return domNavItems ? Array.from(domNavItems) : [];
|
|
214
|
+
const items = this.shadowRoot?.querySelectorAll("udex-secondary-navigation-item");
|
|
215
|
+
return items ? Array.from(items) : [];
|
|
235
216
|
}
|
|
236
217
|
get rootHolder() {
|
|
237
218
|
return (this.shadowRoot ? this.shadowRoot.querySelector(".udex-secondary-navigation__root") : undefined);
|
|
@@ -239,45 +220,39 @@ let UDExSecondaryNavigation = UDExSecondaryNavigation_1 = class UDExSecondaryNav
|
|
|
239
220
|
get heading() {
|
|
240
221
|
return (this.shadowRoot ? this.shadowRoot.querySelector(".udex-secondary-navigation__heading") : undefined);
|
|
241
222
|
}
|
|
223
|
+
get mobileNav() {
|
|
224
|
+
return (this.shadowRoot ? this.shadowRoot.querySelector(".udex-secondary-navigation__mobile-nav") : undefined);
|
|
225
|
+
}
|
|
242
226
|
get optionalButtons() {
|
|
243
227
|
return this.shadowRoot?.querySelector(".udex-secondary-navigation__buttons");
|
|
244
228
|
}
|
|
245
|
-
get linksList() {
|
|
246
|
-
return this.shadowRoot?.querySelector(".udex-secondary-navigation__list");
|
|
247
|
-
}
|
|
248
229
|
get moreButtonText() {
|
|
249
230
|
return UDExSecondaryNavigation_1.i18nBundle.getText(MORE);
|
|
250
231
|
}
|
|
251
|
-
get
|
|
252
|
-
|
|
253
|
-
return activeItem ? activeItem?.title : "";
|
|
232
|
+
get parsedItems() {
|
|
233
|
+
return this.parseArrayFromString(this.navItems);
|
|
254
234
|
}
|
|
255
|
-
get
|
|
256
|
-
|
|
257
|
-
return this._dropdownMoreIsOpen ? `${rootClasses} udex-secondary-navigation__list-item_open` : `${rootClasses}`;
|
|
258
|
-
}
|
|
259
|
-
get navigationList() {
|
|
260
|
-
if (!this._navigationList) {
|
|
261
|
-
this._navigationList = this.parseArrayFromString(this.navItems);
|
|
262
|
-
}
|
|
263
|
-
return this._navigationList;
|
|
235
|
+
get visibleItems() {
|
|
236
|
+
return this.isDesktopScreen ? this._visibleItems : this.parsedItems;
|
|
264
237
|
}
|
|
265
|
-
get
|
|
266
|
-
return this.
|
|
238
|
+
get hasBreadcrumbsSlot() {
|
|
239
|
+
return !!this.getSlottedNodes("breadcrumbs").length && this.isDesktopScreen;
|
|
267
240
|
}
|
|
268
|
-
get
|
|
269
|
-
return this.
|
|
241
|
+
get hasDesktopButtonsSlot() {
|
|
242
|
+
return this.hasButtons && this.isDesktopScreen;
|
|
270
243
|
}
|
|
271
|
-
get
|
|
272
|
-
|
|
273
|
-
return `${rootClass} ${centeredClass}`;
|
|
244
|
+
get hasMobileButtonsSlot() {
|
|
245
|
+
return this.hasButtons && this.isMobileScreen;
|
|
274
246
|
}
|
|
275
|
-
get
|
|
276
|
-
return !!this.getSlottedNodes("
|
|
247
|
+
get hasButtons() {
|
|
248
|
+
return !!this.getSlottedNodes("buttons").length;
|
|
277
249
|
}
|
|
278
250
|
get isDesktopScreen() {
|
|
279
251
|
return window.innerWidth > breakpointSizeS;
|
|
280
252
|
}
|
|
253
|
+
get isMobileScreen() {
|
|
254
|
+
return window.innerWidth <= breakpointSizeS;
|
|
255
|
+
}
|
|
281
256
|
};
|
|
282
257
|
__decorate([
|
|
283
258
|
property({ type: String })
|
|
@@ -294,15 +269,18 @@ __decorate([
|
|
|
294
269
|
__decorate([
|
|
295
270
|
property()
|
|
296
271
|
], UDExSecondaryNavigation.prototype, "title", void 0);
|
|
272
|
+
__decorate([
|
|
273
|
+
property()
|
|
274
|
+
], UDExSecondaryNavigation.prototype, "titleHref", void 0);
|
|
297
275
|
__decorate([
|
|
298
276
|
property({ type: Boolean, noAttribute: true })
|
|
299
|
-
], UDExSecondaryNavigation.prototype, "
|
|
277
|
+
], UDExSecondaryNavigation.prototype, "_selectedMore", void 0);
|
|
300
278
|
__decorate([
|
|
301
|
-
property({ type:
|
|
279
|
+
property({ type: Object, multiple: true, noAttribute: true })
|
|
302
280
|
], UDExSecondaryNavigation.prototype, "_overflowItems", void 0);
|
|
303
281
|
__decorate([
|
|
304
|
-
property({ type:
|
|
305
|
-
], UDExSecondaryNavigation.prototype, "
|
|
282
|
+
property({ type: Object, multiple: true, noAttribute: true })
|
|
283
|
+
], UDExSecondaryNavigation.prototype, "_visibleItems", void 0);
|
|
306
284
|
__decorate([
|
|
307
285
|
property({ type: Boolean, noAttribute: true })
|
|
308
286
|
], UDExSecondaryNavigation.prototype, "_requestRender", void 0);
|
|
@@ -315,7 +293,7 @@ UDExSecondaryNavigation = UDExSecondaryNavigation_1 = __decorate([
|
|
|
315
293
|
renderer: litRender,
|
|
316
294
|
styles: SecondaryNavigationCss,
|
|
317
295
|
template: SecondaryNavigationTemplate,
|
|
318
|
-
dependencies: [
|
|
296
|
+
dependencies: [UDExSecondaryNavigationItem],
|
|
319
297
|
})
|
|
320
298
|
/**
|
|
321
299
|
* Fires when item is clicked
|
|
@@ -337,6 +315,23 @@ UDExSecondaryNavigation = UDExSecondaryNavigation_1 = __decorate([
|
|
|
337
315
|
},
|
|
338
316
|
},
|
|
339
317
|
})
|
|
318
|
+
/**
|
|
319
|
+
* Fires when sub item is clicked
|
|
320
|
+
*
|
|
321
|
+
* @allowPreventDefault
|
|
322
|
+
* @public
|
|
323
|
+
*/
|
|
324
|
+
,
|
|
325
|
+
event("sub-item-click", {
|
|
326
|
+
detail: {
|
|
327
|
+
originalEvent: {
|
|
328
|
+
type: Event,
|
|
329
|
+
},
|
|
330
|
+
clickedItem: {
|
|
331
|
+
type: HTMLElement,
|
|
332
|
+
},
|
|
333
|
+
},
|
|
334
|
+
})
|
|
340
335
|
], UDExSecondaryNavigation);
|
|
341
336
|
UDExSecondaryNavigation.define();
|
|
342
337
|
export default UDExSecondaryNavigation;
|