@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
package/src/AccordionItem.hbs
CHANGED
|
@@ -16,7 +16,18 @@
|
|
|
16
16
|
<div class="udex-accordion-item__icon-wrapper">
|
|
17
17
|
<ui5-icon class="udex-accordion-item__icon" name="slim-arrow-right"></ui5-icon>
|
|
18
18
|
</div>
|
|
19
|
-
<
|
|
19
|
+
<span class="udex-accordion-item__title">
|
|
20
|
+
{{title}}
|
|
21
|
+
{{#if numberBadge}}
|
|
22
|
+
<udex-badge
|
|
23
|
+
class="udex-accordion-item__badge"
|
|
24
|
+
type="Number"
|
|
25
|
+
number-design="Blue"
|
|
26
|
+
size="Large">
|
|
27
|
+
{{numberBadge}}
|
|
28
|
+
</udex-badge>
|
|
29
|
+
{{/if}}
|
|
30
|
+
</span>
|
|
20
31
|
</div>
|
|
21
32
|
</div>
|
|
22
33
|
<div id="udex-accordion-item__{{_id}}-content" @keydown={{contentKeydown}} class="udex-accordion-item__content">
|
package/src/AccordionItem.ts
CHANGED
|
@@ -8,6 +8,7 @@ import "@ui5/webcomponents/dist/Icon.js";
|
|
|
8
8
|
import "@ui5/webcomponents-icons/dist/AllIcons.js";
|
|
9
9
|
import "@ui5/webcomponents-icons/dist/feeder-arrow.js";
|
|
10
10
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
11
|
+
import UDExBadge from "./Badge.js";
|
|
11
12
|
|
|
12
13
|
import AccordionItemTemplate from "./generated/templates/AccordionItemTemplate.lit.js";
|
|
13
14
|
|
|
@@ -41,7 +42,7 @@ type ToggleAllEvent = {
|
|
|
41
42
|
renderer: litRender,
|
|
42
43
|
styles: AccordionItemCss,
|
|
43
44
|
template: AccordionItemTemplate,
|
|
44
|
-
dependencies: [],
|
|
45
|
+
dependencies: [UDExBadge],
|
|
45
46
|
})
|
|
46
47
|
|
|
47
48
|
/**
|
|
@@ -51,13 +52,21 @@ type ToggleAllEvent = {
|
|
|
51
52
|
@event("accordion-item-focus")
|
|
52
53
|
|
|
53
54
|
class UDExAccordionItem extends UI5Element {
|
|
55
|
+
/**
|
|
56
|
+
* Defines the Badge at the end of the title item.
|
|
57
|
+
*
|
|
58
|
+
* @default ""
|
|
59
|
+
* @public
|
|
60
|
+
*/
|
|
61
|
+
@property() numberBadge!: string;
|
|
62
|
+
|
|
54
63
|
/**
|
|
55
64
|
* Defines the title of the accordion item component.
|
|
56
65
|
*
|
|
57
66
|
* @default ""
|
|
58
67
|
* @public
|
|
59
68
|
*/
|
|
60
|
-
@property(
|
|
69
|
+
@property() title!: string;
|
|
61
70
|
|
|
62
71
|
/**
|
|
63
72
|
* Defines if the accordion item is expanded by default
|
package/src/Avatar.ts
CHANGED
|
@@ -5,7 +5,7 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
|
5
5
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
6
6
|
import Avatar from "@ui5/webcomponents/dist/Avatar.js";
|
|
7
7
|
import I18nBundle, { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
8
|
-
import { AVATAR_TEXT, DISABLED } from "./generated/i18n/i18n-defaults.js";
|
|
8
|
+
import { ATTENTION_BADGE, AVATAR_TEXT, DISABLED } from "./generated/i18n/i18n-defaults.js";
|
|
9
9
|
|
|
10
10
|
// Template
|
|
11
11
|
import AvatarTemplate from "./generated/templates/AvatarTemplate.lit.js";
|
|
@@ -152,7 +152,7 @@ class UDExAvatar extends UI5Element {
|
|
|
152
152
|
shape!: `${AvatarShape}`;
|
|
153
153
|
|
|
154
154
|
/**
|
|
155
|
-
*
|
|
155
|
+
* Defines predefined size of the component.
|
|
156
156
|
*
|
|
157
157
|
* @default "S"
|
|
158
158
|
* @public
|
|
@@ -160,6 +160,15 @@ class UDExAvatar extends UI5Element {
|
|
|
160
160
|
@property({ type: AvatarSize, defaultValue: AvatarSize.S })
|
|
161
161
|
size!: `${AvatarSize}`;
|
|
162
162
|
|
|
163
|
+
/**
|
|
164
|
+
* Defines the displaying attention badge.
|
|
165
|
+
*
|
|
166
|
+
* @public
|
|
167
|
+
* @default false
|
|
168
|
+
*/
|
|
169
|
+
@property({ type: Boolean })
|
|
170
|
+
showAttentionBadge!: boolean;
|
|
171
|
+
|
|
163
172
|
/**
|
|
164
173
|
* Receives the desired <img> tag
|
|
165
174
|
*
|
|
@@ -214,7 +223,7 @@ class UDExAvatar extends UI5Element {
|
|
|
214
223
|
}
|
|
215
224
|
|
|
216
225
|
get avatarAccessibleName(): string {
|
|
217
|
-
return `${this.accessibleName ? this.accessibleName : UDExAvatar.i18nBundle.getText(AVATAR_TEXT)} ${this.disabled ? UDExAvatar.i18nBundle.getText(DISABLED) : ""}`;
|
|
226
|
+
return `${this.accessibleName ? this.accessibleName : UDExAvatar.i18nBundle.getText(AVATAR_TEXT)} ${this.disabled ? UDExAvatar.i18nBundle.getText(DISABLED) : ""} ${this.showAttentionBadge ? UDExAvatar.i18nBundle.getText(ATTENTION_BADGE) : ""}`;
|
|
218
227
|
}
|
|
219
228
|
}
|
|
220
229
|
|
package/src/CountrySelector.hbs
CHANGED
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
@click-trigger="{{handleTriggerClick}}"
|
|
12
12
|
@ui5-submit-search-value="{{handleSubmitSearch}}"
|
|
13
13
|
@ui5-handle-value-search="{{handleValueSearch}}"
|
|
14
|
-
@ui5-handle-value-reset="{{handleResetSearch}}"
|
|
14
|
+
@ui5-handle-value-reset="{{handleResetSearch}}"
|
|
15
|
+
@ui5-handle-close-search="{{handleCloseSearch}}">
|
|
15
16
|
{{> trigger}}
|
|
16
17
|
{{searchableList}}
|
|
17
18
|
</udex-dropdown>
|
|
@@ -22,8 +23,7 @@
|
|
|
22
23
|
class="{{countrySelectorTriggerClasses}}"
|
|
23
24
|
?disabled="{{isOpenerDisabled}}"
|
|
24
25
|
value="{{selectedCountryName}}"
|
|
25
|
-
slot="trigger"
|
|
26
|
-
style="width:{{holderWidth}}">
|
|
26
|
+
slot="trigger">
|
|
27
27
|
{{#if showFlagImages}}
|
|
28
28
|
<img
|
|
29
29
|
class="udex-country-selector__image"
|
package/src/CountrySelector.ts
CHANGED
|
@@ -7,6 +7,7 @@ import executeTemplate from "@ui5/webcomponents-base/dist/renderer/executeTempla
|
|
|
7
7
|
import { isEnter, isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
8
8
|
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
9
9
|
import Button from "@ui5/webcomponents/dist/Button.js";
|
|
10
|
+
import ResizeHandler, { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
10
11
|
import { COUNTRY_SELECT } from "./generated/i18n/i18n-defaults.js";
|
|
11
12
|
import CountrySelectorTemplate from "./generated/templates/CountrySelectorTemplate.lit.js";
|
|
12
13
|
import SearchableListBaseTemplate from "./generated/templates/SearchableListBaseTemplate.lit.js";
|
|
@@ -23,12 +24,6 @@ import UDExListItem from "./ListItem.js";
|
|
|
23
24
|
import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
|
|
24
25
|
import TextField from "./TextField.js";
|
|
25
26
|
|
|
26
|
-
type CountryItem = {
|
|
27
|
-
label: any,
|
|
28
|
-
content: any,
|
|
29
|
-
_id: any
|
|
30
|
-
}
|
|
31
|
-
|
|
32
27
|
/**
|
|
33
28
|
* @class
|
|
34
29
|
*
|
|
@@ -163,14 +158,6 @@ class CountrySelector extends UDExSearchableListBase {
|
|
|
163
158
|
@property({ type: Boolean })
|
|
164
159
|
required!: boolean;
|
|
165
160
|
|
|
166
|
-
/**
|
|
167
|
-
* Allows control over the width.
|
|
168
|
-
*
|
|
169
|
-
* @public
|
|
170
|
-
*/
|
|
171
|
-
@property({ type: String })
|
|
172
|
-
width?: string;
|
|
173
|
-
|
|
174
161
|
/**
|
|
175
162
|
* Allows control over the height.
|
|
176
163
|
*
|
|
@@ -258,6 +245,8 @@ class CountrySelector extends UDExSearchableListBase {
|
|
|
258
245
|
_dropdown!: UDExDropdown;
|
|
259
246
|
_search!: Search;
|
|
260
247
|
|
|
248
|
+
_handleResizeBound: ResizeObserverCallback;
|
|
249
|
+
|
|
261
250
|
static i18nBundle: I18nBundle;
|
|
262
251
|
|
|
263
252
|
static async onDefine() {
|
|
@@ -267,9 +256,18 @@ class CountrySelector extends UDExSearchableListBase {
|
|
|
267
256
|
constructor() {
|
|
268
257
|
super();
|
|
269
258
|
this._shouldFilterItems = false;
|
|
259
|
+
this._handleResizeBound = this._handleResize.bind(this);
|
|
270
260
|
this._filteredItems = [];
|
|
271
261
|
}
|
|
272
262
|
|
|
263
|
+
onEnterDOM(): void {
|
|
264
|
+
ResizeHandler.register(this, this._handleResizeBound);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
onExitDOM(): void {
|
|
268
|
+
ResizeHandler.deregister(this, this._handleResizeBound);
|
|
269
|
+
}
|
|
270
|
+
|
|
273
271
|
onBeforeRendering(): void {
|
|
274
272
|
if (this.blockedCountryCodes?.length) {
|
|
275
273
|
const blockedCountryCodesArray = this.blockedCountryCodes.split(",").map(code => code.trim().toUpperCase());
|
|
@@ -319,15 +317,15 @@ class CountrySelector extends UDExSearchableListBase {
|
|
|
319
317
|
return SearchableListBaseTemplate;
|
|
320
318
|
}
|
|
321
319
|
|
|
320
|
+
_handleResize() {
|
|
321
|
+
this._dropdown.style.setProperty("--udex-dropdown-pane-width", `${this.offsetWidth}px`);
|
|
322
|
+
}
|
|
323
|
+
|
|
322
324
|
get ariaControls(): string | null | undefined {
|
|
323
325
|
const list = this.shadowRoot!.querySelector<UDExList>("udex-list");
|
|
324
326
|
return list?.getAttribute("id");
|
|
325
327
|
}
|
|
326
328
|
|
|
327
|
-
get holderWidth() {
|
|
328
|
-
return this.width ? this.width : "auto";
|
|
329
|
-
}
|
|
330
|
-
|
|
331
329
|
get selectedCountryFlagX() {
|
|
332
330
|
return this.selectedCountry?.flagX;
|
|
333
331
|
}
|
|
@@ -380,6 +378,10 @@ class CountrySelector extends UDExSearchableListBase {
|
|
|
380
378
|
return localName ? `${countryName} (${localName})` : countryName;
|
|
381
379
|
}
|
|
382
380
|
|
|
381
|
+
handleCloseSearch() {
|
|
382
|
+
this._dropdown.onClose();
|
|
383
|
+
}
|
|
384
|
+
|
|
383
385
|
handleItemPress(e: CustomEvent) {
|
|
384
386
|
this.onItemPress(e);
|
|
385
387
|
const target = e.target as HTMLElement;
|
|
@@ -395,7 +397,6 @@ class CountrySelector extends UDExSearchableListBase {
|
|
|
395
397
|
|
|
396
398
|
const keyEvent = e.detail as KeyboardEvent;
|
|
397
399
|
const key = keyEvent.key;
|
|
398
|
-
|
|
399
400
|
if (isEnter(keyEvent) || isSpace(keyEvent)) {
|
|
400
401
|
if (this._dropdown.open) {
|
|
401
402
|
this._dropdown.onClose();
|
|
@@ -444,10 +445,10 @@ class CountrySelector extends UDExSearchableListBase {
|
|
|
444
445
|
const selected = country.iso.toUpperCase() === this.selectedCountry.iso.toUpperCase();
|
|
445
446
|
this.items.push({
|
|
446
447
|
label: this.getCountryLabel(country.countryName, country.localName),
|
|
447
|
-
|
|
448
|
+
innerHTML: this.getItemTemplate(country),
|
|
448
449
|
selected,
|
|
449
450
|
_id: country.iso.toUpperCase(),
|
|
450
|
-
} as
|
|
451
|
+
} as UDExListItem);
|
|
451
452
|
});
|
|
452
453
|
}
|
|
453
454
|
|
package/src/Dropdown.hbs
CHANGED
package/src/Dropdown.ts
CHANGED
|
@@ -225,11 +225,21 @@ class UDExDropdown extends UI5Element {
|
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
227
|
|
|
228
|
+
/**
|
|
229
|
+
* Open dropdown
|
|
230
|
+
*
|
|
231
|
+
* @public
|
|
232
|
+
*/
|
|
228
233
|
onOpen(opener: HTMLElement): void {
|
|
229
234
|
const dropdown = this.getDropdownPane();
|
|
230
235
|
dropdown.showAt(opener);
|
|
231
236
|
}
|
|
232
237
|
|
|
238
|
+
/**
|
|
239
|
+
* Close dropdown
|
|
240
|
+
*
|
|
241
|
+
* @public
|
|
242
|
+
*/
|
|
233
243
|
onClose():void {
|
|
234
244
|
const dropdown = this.getDropdownPane();
|
|
235
245
|
dropdown.close(true);
|
package/src/FilterMenu.hbs
CHANGED
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
@ui5-after-open="{{_dropdownAfterOpen}}"
|
|
13
13
|
@ui5-before-close="{{_dropdownBeforeClose}}"
|
|
14
14
|
@ui5-after-close="{{_dropdownAfterClose}}"
|
|
15
|
-
@click-trigger="{{
|
|
15
|
+
@click-trigger="{{onDropdownClose}}"
|
|
16
|
+
@search-keydown="{{handleKeyDownSearch}}"
|
|
17
|
+
@keydown="{{handleKeyDownList}}"
|
|
16
18
|
@ui5-submit-search-value="{{handleSubmitSearch}}"
|
|
17
19
|
@ui5-handle-value-search="{{handleValueSearch}}"
|
|
18
20
|
@ui5-handle-value-reset="{{handleResetSearch}}">
|
|
@@ -64,6 +66,7 @@
|
|
|
64
66
|
size="Medium"
|
|
65
67
|
design="Primary"
|
|
66
68
|
?disabled="{{disabledResultBtn}}"
|
|
69
|
+
@keydown="{{handleKeyDownResultBtn}}"
|
|
67
70
|
@click="{{handleResult}}">
|
|
68
71
|
{{getResultLabelText}}
|
|
69
72
|
</udex-button>
|
|
@@ -73,6 +76,7 @@
|
|
|
73
76
|
class="udex-filter-menu__reset-btn"
|
|
74
77
|
size="Medium"
|
|
75
78
|
design="Tertiary"
|
|
79
|
+
@keydown="{{handleKeyDownResetBtn}}"
|
|
76
80
|
@click="{{handleReset}}">
|
|
77
81
|
{{getResetLabelText}}
|
|
78
82
|
</udex-button>
|
package/src/FilterMenu.ts
CHANGED
|
@@ -7,6 +7,7 @@ import "@ui5/webcomponents/dist/Icon.js";
|
|
|
7
7
|
import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
|
|
8
8
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
9
9
|
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
10
|
+
import { isTabPrevious, isTabNext, isEscape } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
10
11
|
import PopupAccessibleRole from "@ui5/webcomponents/dist/types/PopupAccessibleRole.js";
|
|
11
12
|
import UDExDropdown from "./Dropdown.js";
|
|
12
13
|
import UDExList from "./List.js";
|
|
@@ -14,14 +15,15 @@ import UDExListItem from "./ListItem.js";
|
|
|
14
15
|
import UDExListGroupHeader from "./ListGroupHeader.js";
|
|
15
16
|
import UDExFilterMenuItem from "./FilterMenuItem.js";
|
|
16
17
|
import UDExFilterMenuGroupHeader from "./FilterMenuGroupHeader.js";
|
|
17
|
-
import
|
|
18
|
-
import
|
|
18
|
+
import UDExSearch from "./Search.js";
|
|
19
|
+
import UDEButton from "./Button.js";
|
|
19
20
|
import UDExSearchableListBase from "./SearchableListBase.js";
|
|
20
21
|
import { PlacementType, HorizontalAlign } from "./types/Dropdown.js";
|
|
21
22
|
import { ListMode } from "./types/List.js";
|
|
22
23
|
import UDExFilterMenuSelectAll from "./FilterMenuSelectAll.js";
|
|
23
24
|
import UDExListSelectAll from "./ListSelectAll.js";
|
|
24
25
|
import UDExBadge from "./Badge.js";
|
|
26
|
+
import UDExListItemBase from "./ListItemBase.js";
|
|
25
27
|
|
|
26
28
|
import { RESET, SHOW_RESULTS, SELECT_OPTIONS } from "./generated/i18n/i18n-defaults.js";
|
|
27
29
|
import FilterMenuTemplate from "./generated/templates/FilterMenuTemplate.lit.js";
|
|
@@ -64,8 +66,8 @@ import SearchableListCss from "./generated/themes/SearchableList.css.js";
|
|
|
64
66
|
UDExListItem,
|
|
65
67
|
UDExListGroupHeader,
|
|
66
68
|
UDExBadge,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
+
UDExSearch,
|
|
70
|
+
UDEButton,
|
|
69
71
|
],
|
|
70
72
|
})
|
|
71
73
|
|
|
@@ -274,11 +276,13 @@ class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
274
276
|
accessibleRole!: `${PopupAccessibleRole}`;
|
|
275
277
|
|
|
276
278
|
_dropdown!: UDExDropdown;
|
|
277
|
-
_search!:
|
|
279
|
+
_search!: UDExSearch;
|
|
280
|
+
_hasFooterButtons!: boolean;
|
|
278
281
|
|
|
279
282
|
onAfterRendering() {
|
|
280
283
|
this._dropdown = this.getDropdown();
|
|
281
284
|
this._search = this.getSearch();
|
|
285
|
+
this._hasFooterButtons = this.hasFooterButtons;
|
|
282
286
|
}
|
|
283
287
|
|
|
284
288
|
onEnterDOM(): void {
|
|
@@ -300,7 +304,7 @@ class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
300
304
|
this.onItemPress(e);
|
|
301
305
|
|
|
302
306
|
if (this.modeSingleSelect) {
|
|
303
|
-
this.
|
|
307
|
+
this.onDropdownClose();
|
|
304
308
|
}
|
|
305
309
|
}
|
|
306
310
|
|
|
@@ -313,7 +317,7 @@ class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
313
317
|
}
|
|
314
318
|
|
|
315
319
|
handleSubmitSearch() {
|
|
316
|
-
this.
|
|
320
|
+
this.onDropdownClose();
|
|
317
321
|
this.onSubmitSearch();
|
|
318
322
|
}
|
|
319
323
|
|
|
@@ -337,7 +341,37 @@ class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
337
341
|
}
|
|
338
342
|
}
|
|
339
343
|
|
|
340
|
-
|
|
344
|
+
handleKeyDownList(e: KeyboardEvent) {
|
|
345
|
+
const isTabNextPress = isTabNext(e) && !this._hasFooterButtons;
|
|
346
|
+
const isTabPrevPress = isTabPrevious(e) && !this._search;
|
|
347
|
+
|
|
348
|
+
if (isTabNextPress || isTabPrevPress) {
|
|
349
|
+
this.onDropdownClose();
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
handleKeyDownSearch(e: CustomEvent) {
|
|
354
|
+
const keyEvent = e.detail as KeyboardEvent;
|
|
355
|
+
if (isTabPrevious(keyEvent) || isEscape(keyEvent)) {
|
|
356
|
+
this.onDropdownClose();
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
handleKeyDownResultBtn(e: KeyboardEvent) {
|
|
361
|
+
e.stopPropagation();
|
|
362
|
+
if (isTabNext(e) && !this.hasResetBtn) {
|
|
363
|
+
this.onDropdownClose();
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
handleKeyDownResetBtn(e: KeyboardEvent) {
|
|
368
|
+
e.stopPropagation();
|
|
369
|
+
if (isTabNext(e)) {
|
|
370
|
+
this.onDropdownClose();
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
onDropdownClose() {
|
|
341
375
|
if (this._dropdown.open) {
|
|
342
376
|
this._dropdown.onClose();
|
|
343
377
|
}
|
|
@@ -347,8 +381,8 @@ class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
347
381
|
return this.shadowRoot!.querySelector<UDExDropdown>("udex-dropdown")!;
|
|
348
382
|
}
|
|
349
383
|
|
|
350
|
-
getSearch():
|
|
351
|
-
return this.shadowRoot!.querySelector<
|
|
384
|
+
getSearch(): UDExSearch {
|
|
385
|
+
return this.shadowRoot!.querySelector<UDExSearch>("udex-search")!;
|
|
352
386
|
}
|
|
353
387
|
|
|
354
388
|
_dropdownBeforeOpen() {
|
|
@@ -399,6 +433,22 @@ class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
399
433
|
return this.hideResultBtn && this.hideResetBtn;
|
|
400
434
|
}
|
|
401
435
|
|
|
436
|
+
get hasFooterButtons(): boolean {
|
|
437
|
+
return (this.hasResultBtn || this.hasResetBtn) && this.modeMultiSelect;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
get hasResultBtn(): boolean {
|
|
441
|
+
return !this.hideResultBtn && !this.disabledResultBtn;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
get hasResetBtn(): boolean {
|
|
445
|
+
return !this.hideResetBtn;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
getItems(): Array<UDExListItemBase> {
|
|
449
|
+
return this.getSlottedNodes<UDExListItemBase>("items");
|
|
450
|
+
}
|
|
451
|
+
|
|
402
452
|
static get searchableListBaseTemplate() {
|
|
403
453
|
return SearchableListBaseTemplate;
|
|
404
454
|
}
|