@sapudex/web-components 0.114.2 → 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.
Files changed (216) hide show
  1. package/bundle.esm.js +3 -0
  2. package/dist/Avatar.d.ts +8 -1
  3. package/dist/Avatar.js +5 -2
  4. package/dist/Avatar.js.map +1 -1
  5. package/dist/CountrySelector.d.ts +1 -0
  6. package/dist/CountrySelector.js +3 -0
  7. package/dist/CountrySelector.js.map +1 -1
  8. package/dist/FilterMenu.d.ts +14 -4
  9. package/dist/FilterMenu.js +46 -7
  10. package/dist/FilterMenu.js.map +1 -1
  11. package/dist/InputGroup.js.map +1 -1
  12. package/dist/List.d.ts +7 -0
  13. package/dist/List.js +78 -18
  14. package/dist/List.js.map +1 -1
  15. package/dist/ListItem.d.ts +0 -1
  16. package/dist/ListItem.js +0 -6
  17. package/dist/ListItem.js.map +1 -1
  18. package/dist/ListItemBase.d.ts +3 -0
  19. package/dist/ListItemBase.js +12 -0
  20. package/dist/ListItemBase.js.map +1 -1
  21. package/dist/PhoneNumberField.js.map +1 -1
  22. package/dist/Search.d.ts +3 -0
  23. package/dist/Search.js +35 -10
  24. package/dist/Search.js.map +1 -1
  25. package/dist/SecondaryNavigation.d.ts +34 -46
  26. package/dist/SecondaryNavigation.js +140 -161
  27. package/dist/SecondaryNavigation.js.map +1 -1
  28. package/dist/SecondaryNavigationItem.d.ts +101 -0
  29. package/dist/SecondaryNavigationItem.js +287 -0
  30. package/dist/SecondaryNavigationItem.js.map +1 -0
  31. package/dist/SecondaryNavigationItemBase.d.ts +68 -0
  32. package/dist/SecondaryNavigationItemBase.js +78 -0
  33. package/dist/SecondaryNavigationItemBase.js.map +1 -0
  34. package/dist/SecondaryNavigationSubItem.d.ts +52 -0
  35. package/dist/SecondaryNavigationSubItem.js +102 -0
  36. package/dist/SecondaryNavigationSubItem.js.map +1 -0
  37. package/dist/SelectBox.d.ts +1 -0
  38. package/dist/SelectBox.js +13 -1
  39. package/dist/SelectBox.js.map +1 -1
  40. package/dist/StatusBadge.d.ts +67 -0
  41. package/dist/StatusBadge.js +104 -0
  42. package/dist/StatusBadge.js.map +1 -0
  43. package/dist/Tab.js +1 -1
  44. package/dist/Tab.js.map +1 -1
  45. package/dist/assets/{bundle.esm-ab45813e.js → bundle.esm-f65ae7da.js} +187 -184
  46. package/dist/assets/messagebundle_en-7249941b.js +1 -0
  47. package/dist/css/themes/Avatar.css +1 -1
  48. package/dist/css/themes/Checkbox.css +1 -1
  49. package/dist/css/themes/CountrySelector.css +1 -1
  50. package/dist/css/themes/Dropdown.css +1 -1
  51. package/dist/css/themes/FilterMenu.css +1 -1
  52. package/dist/css/themes/HeroBanner.css +1 -1
  53. package/dist/css/themes/MediaPlayer.css +1 -1
  54. package/dist/css/themes/PhoneNumberField.css +1 -1
  55. package/dist/css/themes/RatingIndicator.css +1 -1
  56. package/dist/css/themes/Search.css +1 -1
  57. package/dist/css/themes/SecondaryNavigation.css +1 -1
  58. package/dist/css/themes/SecondaryNavigationItem.css +1 -0
  59. package/dist/css/themes/SecondaryNavigationSubItem.css +1 -0
  60. package/dist/css/themes/Slider.css +1 -1
  61. package/dist/css/themes/StatusBadge.css +1 -0
  62. package/dist/custom-elements-internal.json +604 -2
  63. package/dist/custom-elements.json +574 -2
  64. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  65. package/dist/generated/i18n/i18n-defaults.d.ts +8 -1
  66. package/dist/generated/i18n/i18n-defaults.js +8 -1
  67. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  68. package/dist/generated/templates/CountrySelectorTemplate.lit.js +1 -1
  69. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  70. package/dist/generated/templates/DropdownTemplate.lit.js +1 -1
  71. package/dist/generated/templates/DropdownTemplate.lit.js.map +1 -1
  72. package/dist/generated/templates/FilterMenuTemplate.lit.js +3 -3
  73. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  74. package/dist/generated/templates/HeroBannerTemplate.lit.js +2 -2
  75. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  76. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js +4 -4
  77. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js.map +1 -1
  78. package/dist/generated/templates/ListItemTemplate.lit.js +1 -1
  79. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  80. package/dist/generated/templates/ListSelectAllTemplate.lit.js +1 -1
  81. package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +1 -1
  82. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js +1 -1
  83. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +1 -1
  84. package/dist/generated/templates/SearchTemplate.lit.js +2 -2
  85. package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
  86. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +2 -2
  87. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  88. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.d.ts +4 -0
  89. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +11 -0
  90. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -0
  91. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.d.ts +4 -0
  92. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +9 -0
  93. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +1 -0
  94. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +7 -10
  95. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  96. package/dist/generated/templates/SelectBoxTemplate.lit.js +1 -1
  97. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  98. package/dist/generated/templates/StatusBadgeTemplate.lit.d.ts +4 -0
  99. package/dist/generated/templates/StatusBadgeTemplate.lit.js +5 -0
  100. package/dist/generated/templates/StatusBadgeTemplate.lit.js.map +1 -0
  101. package/dist/generated/themes/Avatar.css.js +1 -1
  102. package/dist/generated/themes/Avatar.css.js.map +1 -1
  103. package/dist/generated/themes/Checkbox.css.js +1 -1
  104. package/dist/generated/themes/Checkbox.css.js.map +1 -1
  105. package/dist/generated/themes/CountrySelector.css.js +1 -1
  106. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  107. package/dist/generated/themes/Dropdown.css.js +1 -1
  108. package/dist/generated/themes/Dropdown.css.js.map +1 -1
  109. package/dist/generated/themes/FilterMenu.css.js +1 -1
  110. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  111. package/dist/generated/themes/HeroBanner.css.js +1 -1
  112. package/dist/generated/themes/HeroBanner.css.js.map +1 -1
  113. package/dist/generated/themes/MediaPlayer.css.js +1 -1
  114. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  115. package/dist/generated/themes/PhoneNumberField.css.js +1 -1
  116. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  117. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  118. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  119. package/dist/generated/themes/Search.css.js +1 -1
  120. package/dist/generated/themes/Search.css.js.map +1 -1
  121. package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
  122. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  123. package/dist/generated/themes/SecondaryNavigationItem.css.d.ts +3 -0
  124. package/dist/generated/themes/SecondaryNavigationItem.css.js +9 -0
  125. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -0
  126. package/dist/generated/themes/SecondaryNavigationSubItem.css.d.ts +3 -0
  127. package/dist/generated/themes/SecondaryNavigationSubItem.css.js +9 -0
  128. package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -0
  129. package/dist/generated/themes/Slider.css.js +1 -1
  130. package/dist/generated/themes/Slider.css.js.map +1 -1
  131. package/dist/generated/themes/StatusBadge.css.d.ts +3 -0
  132. package/dist/generated/themes/StatusBadge.css.js +9 -0
  133. package/dist/generated/themes/StatusBadge.css.js.map +1 -0
  134. package/dist/i18n/messagebundle.properties +12 -1
  135. package/dist/i18n/messagebundle_en.properties +8 -1
  136. package/dist/vscode.html-custom-data.json +131 -3
  137. package/dist/web-types.json +203 -5
  138. package/package.json +1 -1
  139. package/src/Avatar.ts +12 -3
  140. package/src/CountrySelector.hbs +2 -1
  141. package/src/CountrySelector.ts +4 -1
  142. package/src/Dropdown.hbs +0 -1
  143. package/src/FilterMenu.hbs +5 -1
  144. package/src/FilterMenu.ts +60 -10
  145. package/src/HeroBanner.hbs +24 -21
  146. package/src/InputGroup.ts +6 -5
  147. package/src/List.ts +92 -21
  148. package/src/ListGroupHeader.hbs +9 -5
  149. package/src/ListItem.hbs +2 -1
  150. package/src/ListItem.ts +0 -7
  151. package/src/ListItemBase.ts +14 -0
  152. package/src/ListSelectAll.hbs +1 -0
  153. package/src/PhoneNumberField.ts +1 -1
  154. package/src/Search.hbs +3 -2
  155. package/src/Search.ts +37 -10
  156. package/src/SearchSuggestions.hbs +1 -1
  157. package/src/SearchableListBase.hbs +2 -0
  158. package/src/SecondaryNavigation.hbs +50 -72
  159. package/src/SecondaryNavigation.ts +171 -195
  160. package/src/SecondaryNavigationItem.hbs +63 -0
  161. package/src/SecondaryNavigationItem.ts +358 -0
  162. package/src/SecondaryNavigationItemBase.ts +115 -0
  163. package/src/SecondaryNavigationSubItem.hbs +41 -0
  164. package/src/SecondaryNavigationSubItem.ts +123 -0
  165. package/src/SelectBox.hbs +1 -0
  166. package/src/SelectBox.ts +16 -1
  167. package/src/StatusBadge.hbs +9 -0
  168. package/src/StatusBadge.ts +129 -0
  169. package/src/Tab.ts +1 -1
  170. package/src/generated/i18n/i18n-defaults.ts +2 -2
  171. package/src/generated/templates/CountrySelectorTemplate.lit.ts +1 -1
  172. package/src/generated/templates/DropdownTemplate.lit.ts +1 -1
  173. package/src/generated/templates/FilterMenuTemplate.lit.ts +3 -3
  174. package/src/generated/templates/HeroBannerTemplate.lit.ts +2 -2
  175. package/src/generated/templates/ListGroupHeaderTemplate.lit.ts +4 -4
  176. package/src/generated/templates/ListItemTemplate.lit.ts +1 -1
  177. package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
  178. package/src/generated/templates/SearchSuggestionsTemplate.lit.ts +1 -1
  179. package/src/generated/templates/SearchTemplate.lit.ts +2 -2
  180. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +2 -2
  181. package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +16 -0
  182. package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +14 -0
  183. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -10
  184. package/src/generated/templates/SelectBoxTemplate.lit.ts +1 -1
  185. package/src/generated/templates/StatusBadgeTemplate.lit.ts +10 -0
  186. package/src/generated/themes/Avatar.css.ts +1 -1
  187. package/src/generated/themes/Checkbox.css.ts +1 -1
  188. package/src/generated/themes/CountrySelector.css.ts +1 -1
  189. package/src/generated/themes/Dropdown.css.ts +1 -1
  190. package/src/generated/themes/FilterMenu.css.ts +1 -1
  191. package/src/generated/themes/HeroBanner.css.ts +1 -1
  192. package/src/generated/themes/MediaPlayer.css.ts +1 -1
  193. package/src/generated/themes/PhoneNumberField.css.ts +1 -1
  194. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  195. package/src/generated/themes/Search.css.ts +1 -1
  196. package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
  197. package/src/generated/themes/SecondaryNavigationItem.css.ts +13 -0
  198. package/src/generated/themes/SecondaryNavigationSubItem.css.ts +13 -0
  199. package/src/generated/themes/Slider.css.ts +1 -1
  200. package/src/generated/themes/StatusBadge.css.ts +13 -0
  201. package/src/i18n/messagebundle.properties +12 -1
  202. package/src/i18n/messagebundle_en.properties +8 -1
  203. package/src/themes/Avatar.css +20 -0
  204. package/src/themes/Checkbox.css +12 -0
  205. package/src/themes/CountrySelector.css +4 -0
  206. package/src/themes/Dropdown.css +2 -0
  207. package/src/themes/FilterMenu.css +10 -0
  208. package/src/themes/HeroBanner.css +42 -6
  209. package/src/themes/MediaPlayer.css +3 -2
  210. package/src/themes/PhoneNumberField.css +4 -0
  211. package/src/themes/Search.css +11 -7
  212. package/src/themes/SecondaryNavigation.css +44 -302
  213. package/src/themes/SecondaryNavigationItem.css +220 -0
  214. package/src/themes/SecondaryNavigationSubItem.css +118 -0
  215. package/src/themes/StatusBadge.css +135 -0
  216. package/dist/assets/messagebundle_en-26cd7a92.js +0 -1
package/src/Search.ts CHANGED
@@ -43,6 +43,8 @@ import retryUntilSuccessful from "./utils/retryUntilSuccessful.js";
43
43
 
44
44
  const SearchIcon: string = "sap-icon://search";
45
45
 
46
+ const SuggestionsPopoverId: string = "suggestions-popover";
47
+
46
48
  type ListItem = {
47
49
  label: string;
48
50
  icon: string;
@@ -132,6 +134,13 @@ export enum Mode {
132
134
  * @public
133
135
  */
134
136
  @event("handle-value-reset")
137
+ /**
138
+ * Fired event when the user presses escape in search field.
139
+ *
140
+ * @event sap.ui.webc.web-components.UDExSearch#handleCloseSearch
141
+ * @public
142
+ */
143
+ @event("handle-close-search")
135
144
  /**
136
145
  * Fired event when the user clicks on the item inside the popover.
137
146
  *
@@ -841,16 +850,17 @@ class UDExSearch extends UI5Element {
841
850
  this.handleEnterKey(e);
842
851
  this.handleTabKey(e);
843
852
  this.handleEscapeKey(e);
853
+ this.fireEvent("search-keydown", e);
844
854
  };
845
855
 
846
856
  handleEnterKey(e: KeyboardEvent) {
847
- if (isEnter(e) && !this.open) {
848
- e.preventDefault();
849
- this.handleSubmitValue();
850
- }
851
- if (isEnter(e) && this.open) {
852
- this.Suggestion?.onEnter(e);
853
- this.fireDropdownItemClick(this.value);
857
+ if (isEnter(e)) {
858
+ if (!this.open) {
859
+ e.preventDefault();
860
+ } else {
861
+ this.Suggestion?.onEnter(e);
862
+ this.fireDropdownItemClick(this.value);
863
+ }
854
864
  this.handleSubmitValue();
855
865
  }
856
866
  }
@@ -862,9 +872,12 @@ class UDExSearch extends UI5Element {
862
872
  }
863
873
 
864
874
  handleEscapeKey(e: KeyboardEvent) {
865
- if (isEscape(e) && this.open) {
866
- this.Suggestion?.onEscape(e);
867
- this.handleClassToRoot();
875
+ if (isEscape(e)) {
876
+ if (this.open) {
877
+ this.Suggestion?.onEscape(e);
878
+ this.handleClassToRoot();
879
+ }
880
+ this.fireEvent("handle-close-search");
868
881
  }
869
882
  }
870
883
 
@@ -874,12 +887,14 @@ class UDExSearch extends UI5Element {
874
887
  this.handlePrevTabKeyList(e);
875
888
  this.handleDownKeyList(e);
876
889
  this.handleUpKeyList(e);
890
+ this.handleEscapeKey(e);
877
891
  }
878
892
  }
879
893
 
880
894
  handleTabKeyList(e: KeyboardEvent) {
881
895
  if (isTabNext(e)) {
882
896
  this.Suggestion?.onKeyTabList(e);
897
+ this.handleClassToRoot();
883
898
  }
884
899
  }
885
900
 
@@ -1020,6 +1035,18 @@ class UDExSearch extends UI5Element {
1020
1035
  return !!this.recommendedList?.length;
1021
1036
  }
1022
1037
 
1038
+ get hasPopoverContent(): boolean {
1039
+ return !!(this.suggestedList?.length || this.recommendedList?.length);
1040
+ }
1041
+
1042
+ get getAriaControls(): string {
1043
+ return this.hasPopoverContent ? this.getSuggestionsPopoverId : "";
1044
+ }
1045
+
1046
+ get getSuggestionsPopoverId(): string {
1047
+ return SuggestionsPopoverId;
1048
+ }
1049
+
1023
1050
  get isShowSubmitButton(): boolean {
1024
1051
  return this.showSubmitButton;
1025
1052
  }
@@ -5,7 +5,7 @@
5
5
  placement-type="Bottom"
6
6
  horizontal-align="Right"
7
7
  style="{{popoverStyles}}"
8
- id="suggestions-popover"
8
+ id="{{getSuggestionsPopoverId}}"
9
9
  aria-orientation="vertical"
10
10
  accessible-name="{{suggestionsAccessibleName}}">
11
11
  {{#if showNoResultMessage}}
@@ -45,6 +45,7 @@
45
45
  </udex-list-select-all>
46
46
  {{else}}
47
47
  <udex-list-group-header
48
+ role="list"
48
49
  _additional-class-name="udex-searchable-list__header"
49
50
  class="{{../groupClassName}}"
50
51
  ?non-interactive="{{this.item.nonInteractive}}"
@@ -57,6 +58,7 @@
57
58
  ?indeterminate="{{this.item.indeterminate}}">
58
59
  {{#each this.groupItems}}
59
60
  <udex-list-item
61
+ role="none"
60
62
  data-token-id="{{this._id}}"
61
63
  ?controlled="{{this.controlled}}"
62
64
  mode="{{this.mode}}"
@@ -1,4 +1,4 @@
1
- <div class="{{rootClass}}">
1
+ <div class="udex-secondary-navigation__root">
2
2
  {{#if hasBreadcrumbsSlot}}
3
3
  <div class="udex-secondary-navigation__breadcrumbs">
4
4
  <slot name="breadcrumbs"></slot>
@@ -6,87 +6,65 @@
6
6
  {{/if}}
7
7
  <div class="udex-secondary-navigation__holder">
8
8
  <div class="udex-secondary-navigation__heading">
9
- <div class="udex-secondary-navigation__text-wrap">
9
+ {{#if titleHref.length}}
10
+ <a class="udex-secondary-navigation__title" href="{{titleHref}}">{{title}}</a>
11
+ {{else}}
10
12
  <span class="udex-secondary-navigation__title">{{title}}</span>
11
- <span class="udex-secondary-navigation__active-title">{{activeItemText}}</span>
12
- </div>
13
- <button
14
- class="udex-secondary-navigation__mobile-opener"
15
- role="button"
16
- aria-expanded="{{_mobileBtnExpanded}}"
17
- aria-label="{{mobileMenuOpenerAriaLabel}}"
18
- aria-haspopup="true"
19
- @click="{{handleMobileOpen}}">
20
- <ui5-icon class="udex-secondary-navigation__title-icon" name="slim-arrow-down"></ui5-icon>
21
- </button>
13
+ {{/if}}
22
14
  </div>
23
15
  <div class="udex-secondary-navigation__wrap">
24
- <ul role="menubar" class="udex-secondary-navigation__list" @keydown="{{handleKeyDown}}">
25
- {{#each items}}
26
- <li role="none" class="udex-secondary-navigation__list-item udex-secondary-navigation__link-btn-wrap" ?active="{{this.active}}">
27
- {{#if this.path}}
28
- <a
29
- role="menuitem"
30
- class="udex-secondary-navigation__item udex-secondary-navigation__link-btn"
31
- href="{{this.path}}"
32
- target="{{this.target}}"
33
- @click="{{../handleNavigationClick}}">
34
- {{this.title}}
35
- </a>
36
- {{else}}
37
- <button role="menuitem" class="udex-secondary-navigation__item udex-secondary-navigation__link-btn" @click="{{../handleNavigationClick}}">
38
- {{this.title}}
39
- </button>
40
- {{/if}}
16
+ <ul
17
+ role="menubar"
18
+ class="udex-secondary-navigation__list"
19
+ @keydown="{{handleKeyDown}}">
20
+ {{#each visibleItems}}
21
+ <li
22
+ role="none"
23
+ class="udex-secondary-navigation__list-item">
24
+ <udex-secondary-navigation-item
25
+ ?active="{{this.active}}"
26
+ path="{{this.path}}"
27
+ label="{{this.title}}"
28
+ target="{{this.target}}"
29
+ .subItems="{{this.items}}"
30
+ @ui5-sub-item-click="{{../handleSubItemClick}}"
31
+ @ui5-nav-item-click="{{../handleItemClick}}">
32
+ </udex-secondary-navigation-item>
41
33
  </li>
42
34
  {{/each}}
43
35
  {{#if _showMoreButton}}
44
- <li role="none" class="{{moreClass}} udex-secondary-navigation__link-btn-wrap" ?active="{{moreIsActive}}">
45
- <button
46
- role="menuitem"
47
- @click="{{handleToggleDropdown}}"
48
- aria-expanded="{{_dropdownMoreIsOpen}}"
49
- aria-label="{{this.moreButtonText}}"
50
- aria-haspopup="true"
51
- class="udex-secondary-navigation__item udex-secondary-navigation__link-btn udex-secondary-navigation__link-btn-more">
52
- {{this.moreButtonText}}
53
- <ui5-icon
54
- class="udex-secondary-navigation__item-icon"
55
- name="slim-arrow-down">
56
- </ui5-icon>
57
- </button>
58
- {{#if _dropdownMoreIsOpen}}
59
- <div class="udex-secondary-navigation__dropdown">
60
- <ul role="menu" class="udex-secondary-navigation__dropdown-list" @keydown="{{handleKeyDownDropdown}}">
61
- {{#each _overflowItems}}
62
- <li role="none" ?active="{{this.active}}" class="udex-secondary-navigation__link-btn-wrap">
63
- {{#if this.path}}
64
- <a
65
- role="menuitem"
66
- href="{{this.path}}"
67
- target="{{this.target}}"
68
- class="udex-secondary-navigation__dropdown-item udex-secondary-navigation__link-btn"
69
- @click="{{../handleNavigationClick}}">
70
- {{this.title}}
71
- </a>
72
- {{else}}
73
- <button role="menuitem" class="udex-secondary-navigation__dropdown-item" @click="{{../handleNavigationClick}}">
74
- {{this.title}}
75
- </button>
76
- {{/if}}
77
- </li>
78
- {{/each}}
79
- </ul>
80
- </div>
81
- {{/if}}
36
+ <li
37
+ role="none"
38
+ class="udex-secondary-navigation__list-item">
39
+ <udex-secondary-navigation-item
40
+ @ui5-sub-item-click="{{../handleSubItemClick}}"
41
+ @ui5-nav-item-click="{{../handleItemClick}}"
42
+ label="{{this.moreButtonText}}"
43
+ .subItems="{{this._overflowItems}}">
44
+ </udex-secondary-navigation-item>
82
45
  </li>
83
46
  {{/if}}
84
47
  </ul>
85
- {{#if hasButtonsSlot}}
86
- <div class="udex-secondary-navigation__buttons">
87
- <slot name="buttons"></slot>
88
- </div>
48
+ {{#if hasDesktopButtonsSlot}}
49
+ {{>buttons}}
89
50
  {{/if}}
90
51
  </div>
91
52
  </div>
53
+ <udex-secondary-navigation-item
54
+ class="udex-secondary-navigation__mobile-nav"
55
+ role="button"
56
+ aria-label="{{mobileMenuOpenerAriaLabel}}"
57
+ label="{{title}}"
58
+ @ui5-sub-item-click="{{handleSubItemClick}}"
59
+ .subItems="{{this.parsedItems}}">
60
+ {{#if hasMobileButtonsSlot}}
61
+ {{>buttons}}
62
+ {{/if}}
63
+ </udex-secondary-navigation-item>
92
64
  </div>
65
+
66
+ {{#*inline "buttons"}}
67
+ <div class="udex-secondary-navigation__buttons">
68
+ <slot name="buttons"></slot>
69
+ </div>
70
+ {{/inline}}