@sapudex/web-components 2.25.1 → 2.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/cypress/fixtures/profile-menu.ts +2 -1
  2. package/cypress/specs/MastheadProfileMenu.cy.tsx +21 -6
  3. package/cypress/specs/TabNavigation.cy.tsx +1024 -0
  4. package/cypress/support/component-imports.src.ts +4 -0
  5. package/dist/List.d.ts +9 -0
  6. package/dist/List.js +33 -2
  7. package/dist/List.js.map +1 -1
  8. package/dist/MastheadCountrySelector.d.ts +11 -0
  9. package/dist/MastheadCountrySelector.js +71 -14
  10. package/dist/MastheadCountrySelector.js.map +1 -1
  11. package/dist/MastheadItem.d.ts +1 -0
  12. package/dist/MastheadItem.js +9 -1
  13. package/dist/MastheadItem.js.map +1 -1
  14. package/dist/MastheadMenu.d.ts +11 -0
  15. package/dist/MastheadMenu.js +43 -13
  16. package/dist/MastheadMenu.js.map +1 -1
  17. package/dist/MastheadProfileMenu.d.ts +33 -3
  18. package/dist/MastheadProfileMenu.js +93 -5
  19. package/dist/MastheadProfileMenu.js.map +1 -1
  20. package/dist/Pagination.d.ts +2 -0
  21. package/dist/Pagination.js +31 -6
  22. package/dist/Pagination.js.map +1 -1
  23. package/dist/PaginationTemplate.js +6 -5
  24. package/dist/PaginationTemplate.js.map +1 -1
  25. package/dist/Tab.d.ts +57 -0
  26. package/dist/Tab.js +67 -0
  27. package/dist/Tab.js.map +1 -1
  28. package/dist/TabNavigation.d.ts +25 -3
  29. package/dist/TabNavigation.js +96 -18
  30. package/dist/TabNavigation.js.map +1 -1
  31. package/dist/Tooltip.js +3 -5
  32. package/dist/Tooltip.js.map +1 -1
  33. package/dist/TooltipTemplate.d.ts +2 -0
  34. package/dist/TooltipTemplate.js +7 -0
  35. package/dist/TooltipTemplate.js.map +1 -0
  36. package/dist/assets/{InputSuggestions-CTFZ6hH-.js → InputSuggestions-Bm_0fOBQ.js} +1 -1
  37. package/dist/assets/{ListItemStandardExpandableTextTemplate-wXdCijez.js → ListItemStandardExpandableTextTemplate-CHXlUP-E.js} +1 -1
  38. package/dist/assets/{bundle.esm-BXCZ9BP3.js → bundle.esm-D_SXCGNu.js} +219 -219
  39. package/dist/css/themes/MastheadCountrySelector.css +1 -1
  40. package/dist/css/themes/MastheadItem.css +1 -1
  41. package/dist/css/themes/MastheadMenu.css +1 -1
  42. package/dist/css/themes/MastheadMenuItem.css +1 -1
  43. package/dist/css/themes/MastheadProfileMenu.css +1 -1
  44. package/dist/css/themes/Quote.css +1 -1
  45. package/dist/css/themes/RatingIndicator.css +1 -1
  46. package/dist/css/themes/Slider.css +1 -1
  47. package/dist/css/themes/TabNavigation.css +1 -1
  48. package/dist/custom-elements-internal.json +60 -1
  49. package/dist/custom-elements.json +52 -1
  50. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +1 -1
  51. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +1 -1
  52. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +7 -5
  53. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
  54. package/dist/generated/templates/TabHeaderTemplate.lit.js +30 -11
  55. package/dist/generated/templates/TabHeaderTemplate.lit.js.map +1 -1
  56. package/dist/generated/templates/TabNavigationTemplate.lit.js +8 -6
  57. package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
  58. package/dist/generated/themes/MastheadCountrySelector.css.d.ts +1 -1
  59. package/dist/generated/themes/MastheadCountrySelector.css.js +1 -1
  60. package/dist/generated/themes/MastheadCountrySelector.css.js.map +1 -1
  61. package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
  62. package/dist/generated/themes/MastheadItem.css.js +1 -1
  63. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  64. package/dist/generated/themes/MastheadMenu.css.d.ts +1 -1
  65. package/dist/generated/themes/MastheadMenu.css.js +1 -1
  66. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  67. package/dist/generated/themes/MastheadMenuItem.css.d.ts +1 -1
  68. package/dist/generated/themes/MastheadMenuItem.css.js +1 -1
  69. package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
  70. package/dist/generated/themes/MastheadProfileMenu.css.d.ts +1 -1
  71. package/dist/generated/themes/MastheadProfileMenu.css.js +1 -1
  72. package/dist/generated/themes/MastheadProfileMenu.css.js.map +1 -1
  73. package/dist/generated/themes/Quote.css.d.ts +1 -1
  74. package/dist/generated/themes/Quote.css.js +1 -1
  75. package/dist/generated/themes/Quote.css.js.map +1 -1
  76. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  77. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  78. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  79. package/dist/generated/themes/Slider.css.d.ts +1 -1
  80. package/dist/generated/themes/Slider.css.js +1 -1
  81. package/dist/generated/themes/Slider.css.js.map +1 -1
  82. package/dist/generated/themes/TabNavigation.css.d.ts +1 -1
  83. package/dist/generated/themes/TabNavigation.css.js +1 -1
  84. package/dist/generated/themes/TabNavigation.css.js.map +1 -1
  85. package/dist/types/List.d.ts +6 -0
  86. package/dist/types/List.js +7 -0
  87. package/dist/types/List.js.map +1 -1
  88. package/dist/vscode.html-custom-data.json +12 -2
  89. package/dist/web-types.json +32 -7
  90. package/package.json +1 -1
  91. package/src/List.ts +41 -2
  92. package/src/MastheadCountrySelector.hbs +20 -16
  93. package/src/MastheadCountrySelector.ts +83 -16
  94. package/src/MastheadItem.ts +10 -1
  95. package/src/MastheadMenu.ts +56 -13
  96. package/src/MastheadProfileMenu.hbs +43 -26
  97. package/src/MastheadProfileMenu.ts +124 -7
  98. package/src/Pagination.ts +32 -6
  99. package/src/PaginationTemplate.tsx +19 -16
  100. package/src/Tab.ts +98 -0
  101. package/src/TabHeader.hbs +85 -33
  102. package/src/TabNavigation.hbs +16 -0
  103. package/src/TabNavigation.ts +109 -21
  104. package/src/Tooltip.ts +7 -6
  105. package/src/TooltipTemplate.tsx +29 -0
  106. package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +1 -1
  107. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +7 -5
  108. package/src/generated/templates/TabHeaderTemplate.lit.ts +29 -10
  109. package/src/generated/templates/TabNavigationTemplate.lit.ts +8 -6
  110. package/src/generated/themes/MastheadCountrySelector.css.ts +1 -1
  111. package/src/generated/themes/MastheadItem.css.ts +1 -1
  112. package/src/generated/themes/MastheadMenu.css.ts +1 -1
  113. package/src/generated/themes/MastheadMenuItem.css.ts +1 -1
  114. package/src/generated/themes/MastheadProfileMenu.css.ts +1 -1
  115. package/src/generated/themes/Quote.css.ts +1 -1
  116. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  117. package/src/generated/themes/Slider.css.ts +1 -1
  118. package/src/generated/themes/TabNavigation.css.ts +1 -1
  119. package/src/themes/MastheadCountrySelector.css +70 -10
  120. package/src/themes/MastheadItem.css +0 -1
  121. package/src/themes/MastheadMenu.css +1 -2
  122. package/src/themes/MastheadMenuItem.css +1 -0
  123. package/src/themes/MastheadProfileMenu.css +113 -17
  124. package/src/themes/Quote.css +1 -1
  125. package/src/themes/TabNavigation.css +203 -1
  126. package/src/types/List.ts +7 -0
  127. package/cypress/downloads/downloads.html +0 -0
  128. package/dist/generated/templates/TooltipTemplate.lit.d.ts +0 -3
  129. package/dist/generated/templates/TooltipTemplate.lit.js +0 -8
  130. package/dist/generated/templates/TooltipTemplate.lit.js.map +0 -1
  131. package/src/Tooltip.hbs +0 -22
  132. package/src/generated/templates/TooltipTemplate.lit.ts +0 -12
@@ -9,10 +9,25 @@
9
9
  class="udex-tab-navigation__header-tabs"
10
10
  role="tablist"
11
11
  aria-labelledby="tablist-{{_id}}"
12
+ aria-orientation="{{ariaOrientationValue}}"
12
13
  part="tab-navigation-header-tabs"
13
14
  @click="{{onTabClick}}">
14
15
  {{#each items}}
15
16
  {{this.tabNavigation}}
17
+ {{#if this.isMobileVertical}}
18
+ {{#if this.selected}}
19
+ <div
20
+ class="udex-tab-navigation__content"
21
+ part="tab-navigation-content">
22
+ <div
23
+ class="udex-tab-navigation__content-item"
24
+ id="{{_contentId}}-mobile"
25
+ aria-labelledby="{{_id}}">
26
+ <slot name="{{this._slotName}}"></slot>
27
+ </div>
28
+ </div>
29
+ {{/if}}
30
+ {{/if}}
16
31
  {{/each}}
17
32
  </div>
18
33
  <button
@@ -44,6 +59,7 @@
44
59
  <div
45
60
  class="udex-tab-navigation__content-item"
46
61
  id="{{_contentId}}"
62
+ aria-hidden="{{this.IsMobile}}"
47
63
  aria-labelledby="{{_id}}">
48
64
  <slot name="{{this._slotName}}"></slot>
49
65
  </div>
@@ -19,6 +19,9 @@ import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
19
19
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
20
20
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
21
21
  import { MORE } from "./generated/i18n/i18n-defaults.js";
22
+ import { BreakpointUtils } from "./utils/Breakpoints.js";
23
+ import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
24
+ import UDExButton from "./Button.js";
22
25
 
23
26
  // Templates
24
27
  import TabNavigationTemplate from "./generated/templates/TabNavigationTemplate.lit.js";
@@ -41,6 +44,11 @@ export enum Mode {
41
44
  Dark = "Dark",
42
45
  }
43
46
 
47
+ export enum UDExTabNavigationOrientation {
48
+ Horizontal = "Horizontal",
49
+ Vertical = "Vertical",
50
+ }
51
+
44
52
  type UDExTabNavigationClickDetail = {
45
53
  currentPage: number
46
54
  }
@@ -73,7 +81,7 @@ type UDExTabContainerTabSelectEventDetail = {
73
81
  renderer: litRender,
74
82
  styles: [TabNavigationCss, TabInOverflowCss],
75
83
  template: TabNavigationTemplate,
76
- dependencies: [Popover, Icon],
84
+ dependencies: [Popover, Icon, UDExButton],
77
85
  })
78
86
 
79
87
  /**
@@ -115,6 +123,15 @@ class UDExTabNavigation extends UI5Element {
115
123
  @property()
116
124
  mode: `${Mode}` = Mode.Light;
117
125
 
126
+ /**
127
+ * Defines the orientation of the tab navigation.
128
+ *
129
+ * @public
130
+ * @default "Horizontal"
131
+ */
132
+ @property()
133
+ orientation: `${UDExTabNavigationOrientation}` = UDExTabNavigationOrientation.Horizontal;
134
+
118
135
  /**
119
136
  * Defines the background color of the component.
120
137
  *
@@ -169,6 +186,7 @@ class UDExTabNavigation extends UI5Element {
169
186
  static i18nBundle: I18nBundle;
170
187
 
171
188
  _handleResizeBound: () => void;
189
+ _handleWindowResizeBound: () => void;
172
190
  _popover?: Popover;
173
191
  _visibleTabs?: Array<ITab | HTMLElement>;
174
192
  _isExpanded: boolean = false;
@@ -178,6 +196,7 @@ class UDExTabNavigation extends UI5Element {
178
196
  constructor() {
179
197
  super();
180
198
  this._handleResizeBound = this._handleResize.bind(this);
199
+ this._handleWindowResizeBound = this._handleWindowResize.bind(this);
181
200
  }
182
201
 
183
202
  onAfterRendering(): void {
@@ -189,10 +208,12 @@ class UDExTabNavigation extends UI5Element {
189
208
  console.warn("You have to add the 'udex-tab' as a default slot to the udex-tab-navigation.");
190
209
  }
191
210
  this.initOutsideClick();
211
+ this.applyTabWidthToVerticalTabs();
192
212
  }
193
213
 
194
214
  onEnterDOM(): void {
195
215
  ResizeHandler.register(this.getHeader(), this._handleResizeBound);
216
+ window.addEventListener("resize", this._handleWindowResizeBound);
196
217
  if (isDesktop()) {
197
218
  this.setAttribute("desktop", "");
198
219
  }
@@ -200,11 +221,17 @@ class UDExTabNavigation extends UI5Element {
200
221
 
201
222
  onExitDOM(): void {
202
223
  ResizeHandler.deregister(this.getHeader(), this._handleResizeBound);
224
+ window.removeEventListener("resize", this._handleWindowResizeBound);
225
+ }
226
+
227
+ _handleWindowResize() {
228
+ this.updateMobileState();
203
229
  }
204
230
 
205
231
  _handleResize() {
206
232
  this.handleClosePopover();
207
233
  this._width = this.offsetWidth;
234
+ this.updateMobileState();
208
235
  }
209
236
 
210
237
  emitClickEvent(pageIndex: number) {
@@ -214,6 +241,7 @@ class UDExTabNavigation extends UI5Element {
214
241
  onBeforeRendering(): void {
215
242
  this.updateOverflowItems();
216
243
  this.setSelectedTab();
244
+ this.updateMobileState();
217
245
  }
218
246
 
219
247
  setSelectedTab() {
@@ -240,6 +268,7 @@ class UDExTabNavigation extends UI5Element {
240
268
  }
241
269
 
242
270
  setRealTabToItems() {
271
+ const isMobile = BreakpointUtils.isAtMost("S");
243
272
  this.items.forEach((tab, index, arr) => {
244
273
  tab._iconWithoutBackground = this.iconWithoutBackground;
245
274
  tab._posinset = index + 1;
@@ -247,6 +276,8 @@ class UDExTabNavigation extends UI5Element {
247
276
  tab._contentId = this.getContentId(index);
248
277
  tab._realTab = this._selectedTab;
249
278
  tab._width = this.tabWidth;
279
+ tab._isMobile = isMobile;
280
+ tab._isVertical = this.isVertical;
250
281
  });
251
282
  }
252
283
 
@@ -307,7 +338,7 @@ class UDExTabNavigation extends UI5Element {
307
338
 
308
339
  getTab(el: HTMLElement | null) {
309
340
  while (el) {
310
- if (el.localName === "button" && el.getAttribute("role") === "tab") {
341
+ if (el.getAttribute("role") === "tab") {
311
342
  return el as Tab;
312
343
  }
313
344
 
@@ -330,6 +361,13 @@ class UDExTabNavigation extends UI5Element {
330
361
  }
331
362
 
332
363
  setItemsInHeader() {
364
+ const itemsDomRefs = this.items.map(item => item.getTabInHeaderDomRef()!);
365
+
366
+ // Skip overflow logic for vertical tabs - show all tabs
367
+ if (this.isVertical) {
368
+ return;
369
+ }
370
+
333
371
  const tabHeader = this.getTabHeader();
334
372
  let allItemsWidth = 0;
335
373
 
@@ -337,8 +375,6 @@ class UDExTabNavigation extends UI5Element {
337
375
  return;
338
376
  }
339
377
 
340
- const itemsDomRefs = this.items.map(item => item.getTabInHeaderDomRef()!);
341
-
342
378
  this.getMoreButton()?.setAttribute("hidden", "");
343
379
  this.removeHiddenAttributeInAllTabs(itemsDomRefs);
344
380
  allItemsWidth += this.getTotalItemsWidth(itemsDomRefs);
@@ -617,42 +653,57 @@ class UDExTabNavigation extends UI5Element {
617
653
  }
618
654
 
619
655
  handleKeyDown(e: KeyboardEvent) {
620
- this.handleRightArrow(e);
621
- this.handleLeftArrow(e);
656
+ if (this.isHorizontal) {
657
+ this.handleRightArrow(e);
658
+ this.handleLeftArrow(e);
659
+ } else {
660
+ this.handleDownArrow(e);
661
+ this.handleUpArrow(e);
662
+ }
622
663
  this.handleHomeKey(e);
623
664
  this.handleEndKey(e);
624
665
  }
625
666
 
626
- handleRightArrow(e: KeyboardEvent) {
627
- if (isRight(e)) {
667
+ getTabIndexById(id: string): number {
668
+ return this._visibleTabs!.findIndex(tab => tab.id === id);
669
+ }
670
+
671
+ handleLeftArrow(e: KeyboardEvent) {
672
+ if (isLeft(e)) {
628
673
  e.preventDefault();
629
674
  e.stopPropagation();
630
-
631
- this.onFocusRightItem(e.target as HTMLElement);
675
+ this.onFocusPreviousItem(e.target as HTMLElement);
632
676
  }
633
677
  }
634
678
 
635
- onFocusRightItem(target: HTMLElement) {
636
- const previousSelectedIndex = this.getTabIndexById(target.id);
637
- const lastIndex = this._visibleTabs!.length;
638
- const nextSelectIndex = previousSelectedIndex + 1 < lastIndex ? previousSelectedIndex + 1 : 0;
679
+ handleRightArrow(e: KeyboardEvent) {
680
+ if (isRight(e)) {
681
+ e.preventDefault();
682
+ e.stopPropagation();
639
683
 
640
- this._visibleTabs![nextSelectIndex].focus();
684
+ // For horizontal tabs, right arrow always moves focus to the next tab
685
+ this.onFocusNextItem(e.target as HTMLElement);
686
+ }
641
687
  }
642
688
 
643
- getTabIndexById(id: string): number {
644
- return this._visibleTabs!.findIndex(tab => tab.id === id);
689
+ handleUpArrow(e: KeyboardEvent) {
690
+ if (isUp(e)) {
691
+ e.preventDefault();
692
+ e.stopPropagation();
693
+ this.onFocusPreviousItem(e.target as HTMLElement);
694
+ }
645
695
  }
646
696
 
647
- handleLeftArrow(e: KeyboardEvent) {
648
- if (isLeft(e)) {
697
+ handleDownArrow(e: KeyboardEvent) {
698
+ if (isDown(e)) {
649
699
  e.preventDefault();
650
700
  e.stopPropagation();
651
- this.onFocusLeftItem(e.target as HTMLElement);
701
+
702
+ this.onFocusNextItem(e.target as HTMLElement);
652
703
  }
653
704
  }
654
705
 
655
- onFocusLeftItem(target: HTMLElement) {
706
+ onFocusPreviousItem(target: HTMLElement) {
656
707
  const previousSelectedIndex = this.getTabIndexById(target.id);
657
708
  const lastIndex = this._visibleTabs!.length - 1;
658
709
  const previousSelectIndex = previousSelectedIndex - 1 < 0 ? lastIndex : previousSelectedIndex - 1;
@@ -660,6 +711,14 @@ class UDExTabNavigation extends UI5Element {
660
711
  this._visibleTabs![previousSelectIndex].focus();
661
712
  }
662
713
 
714
+ onFocusNextItem(target: HTMLElement) {
715
+ const previousSelectedIndex = this.getTabIndexById(target.id);
716
+ const lastIndex = this._visibleTabs!.length;
717
+ const nextSelectIndex = previousSelectedIndex + 1 < lastIndex ? previousSelectedIndex + 1 : 0;
718
+
719
+ this._visibleTabs![nextSelectIndex].focus();
720
+ }
721
+
663
722
  handleHomeKey(e: KeyboardEvent) {
664
723
  if (isHome(e)) {
665
724
  e.preventDefault();
@@ -825,6 +884,22 @@ class UDExTabNavigation extends UI5Element {
825
884
  return this.shadowRoot!.querySelector<Popover>("[ui5-popover]")!;
826
885
  }
827
886
 
887
+ get isHorizontal(): boolean {
888
+ return this.orientation === UDExTabNavigationOrientation.Horizontal;
889
+ }
890
+
891
+ get isVertical(): boolean {
892
+ return this.orientation === UDExTabNavigationOrientation.Vertical;
893
+ }
894
+
895
+ get ariaOrientationValue(): string {
896
+ return this.isVertical ? "vertical" : "horizontal";
897
+ }
898
+
899
+ get isDesktop(): boolean {
900
+ return isDesktop();
901
+ }
902
+
828
903
  get moreButtonText(): string {
829
904
  return translate(UDExTabNavigation, MORE);
830
905
  }
@@ -840,6 +915,19 @@ class UDExTabNavigation extends UI5Element {
840
915
  get tabNavigationPopover() {
841
916
  return executeTemplate(UDExTabNavigation.tabNavigationPopoverTemplate, this);
842
917
  }
918
+
919
+ applyTabWidthToVerticalTabs(): void {
920
+ if (this.isVertical && this.tabWidth && this.tabWidth !== "auto") {
921
+ this.style.setProperty("--udex-tab-header-width", this.tabWidth);
922
+ }
923
+ }
924
+
925
+ updateMobileState(): void {
926
+ const isMobile = BreakpointUtils.isAtMost("S");
927
+ this.items.forEach(tab => {
928
+ tab._isMobile = isMobile;
929
+ });
930
+ }
843
931
  }
844
932
 
845
933
  UDExTabNavigation.define();
package/src/Tooltip.ts CHANGED
@@ -3,14 +3,13 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
3
3
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
4
4
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
5
5
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
6
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
7
- import Popover from "@ui5/webcomponents/dist/Popover.js";
6
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
8
7
  import PopupAccessibleRole from "@ui5/webcomponents/dist/types/PopupAccessibleRole.js";
9
8
  import type { PopupBeforeCloseEventDetail } from "@ui5/webcomponents/dist/Popup.js";
10
9
  import { HorizontalAlign, Placement, VerticalAlign } from "./types/Dropdown.js";
11
10
 
12
11
  // Template
13
- import TooltipTemplate from "./generated/templates/TooltipTemplate.lit.js";
12
+ import TooltipTemplate from "./TooltipTemplate.js";
14
13
 
15
14
  // Styles
16
15
  import TooltipCss from "./generated/themes/Tooltip.css.js";
@@ -35,11 +34,11 @@ import TooltipCss from "./generated/themes/Tooltip.css.js";
35
34
  */
36
35
  @customElement({
37
36
  tag: "udex-tooltip",
38
- renderer: litRender,
37
+ renderer: jsxRenderer,
39
38
  styles: TooltipCss,
40
39
  template: TooltipTemplate,
41
- dependencies: [Popover],
42
40
  })
41
+
43
42
  /**
44
43
  * Fired before the component is opened. This event can be cancelled, which will prevent the popup from opening.
45
44
  * @public
@@ -68,6 +67,7 @@ import TooltipCss from "./generated/themes/Tooltip.css.js";
68
67
  * @public
69
68
  */
70
69
  @event("close")
70
+
71
71
  class UDExTooltip extends UI5Element {
72
72
  eventDetails!: {
73
73
  "before-open": void
@@ -109,6 +109,7 @@ class UDExTooltip extends UI5Element {
109
109
  */
110
110
  @property()
111
111
  placement: `${Placement}` = Placement.End;
112
+
112
113
  /**
113
114
  * Determines the horizontal alignment of the component.
114
115
  * @default "Center"
@@ -185,7 +186,7 @@ class UDExTooltip extends UI5Element {
185
186
  this._onClose = this.syncClose.bind(this);
186
187
  }
187
188
 
188
- syncClose() {
189
+ syncClose(): void {
189
190
  this.open = false;
190
191
  }
191
192
 
@@ -0,0 +1,29 @@
1
+ import type Tooltip from "./Tooltip.js";
2
+ import UI5Popover from "@ui5/webcomponents/dist/Popover.js";
3
+
4
+ export default function TooltipTemplate(this: Tooltip) {
5
+ const rootClass = "udex-tooltip";
6
+
7
+ return (
8
+ <UI5Popover
9
+ class={`${rootClass}__pane`}
10
+ opener={this.opener}
11
+ open={this.open}
12
+ hideArrow={this.hideArrow}
13
+ placement={this.placement}
14
+ horizontalAlign={this.horizontalAlign}
15
+ verticalAlign={this.verticalAlign}
16
+ accessibleName={this.accessibleName}
17
+ accessibleNameRef={this.accessibleNameRef}
18
+ accessibleRole={this.accessibleRole}
19
+ preventInitialFocus={this.preventInitialFocus}
20
+ preventFocusRestore={this.preventFocusRestore}
21
+ onui5-open={this.handleOpen}
22
+ onui5-close={this.handleClose}
23
+ onui5-before-close={this.handleBeforeClose}
24
+ onui5-before-open={this.handleBeforeOpen}>
25
+ {this.title && <div class={`${rootClass}-title`}>{this.title}</div>}
26
+ <slot></slot>
27
+ </UI5Popover>
28
+ );
29
+ }
@@ -6,7 +6,7 @@ import type MastheadCountrySelector from "../../MastheadCountrySelector.js";
6
6
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
7
7
 
8
8
  function block0 (this: MastheadCountrySelector, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-masthead-country-selector" @keydown="${this.handleKeyDown}">${ this._isActiveRegionOpen ? block1.call(this, context, tags, suffix) : block4.call(this, context, tags, suffix) }</div>`;}
9
- function block1 (this: MastheadCountrySelector, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<span class="udex-masthead-country-selector__title">${ifDefined(this.countryTitle)}</span>${ !this.isSingleMode ? block2.call(this, context, tags, suffix) : undefined }<${scopeTag("udex-search", tags, suffix)} class="udex-masthead-country-selector__search" @ui5-handle-value-search="${ifDefined(this.handleSearch)}" @ui5-handle-value-reset="${ifDefined(this.handleSearchReset)}" @ui5-submit-search-value="${ifDefined(this.handleSearch)}" language-voice="${ifDefined(this.languageVoice)}" label="${ifDefined(this.searchLabel)}" mode="${ifDefined(this.homeSearchMode)}" ?show-voice-button="${this.showSearchVoiceButton}" non-interactive-submit-button show-submit-button></${scopeTag("udex-search", tags, suffix)}><span aria-live="polite" aria-atomic="true" class="hidden">${ifDefined(this._accSearchResultInfo)}</span><ul class="udex-masthead-country-selector__list udex-masthead-country-selector__list_countries" role="menu">${ repeat(this._activeCountries, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block3.call(this, context, tags, suffix, item, index)) }</ul>` : html`<span class="udex-masthead-country-selector__title">${ifDefined(this.countryTitle)}</span>${ !this.isSingleMode ? block2.call(this, context, tags, suffix) : undefined }<udex-search class="udex-masthead-country-selector__search" @ui5-handle-value-search="${ifDefined(this.handleSearch)}" @ui5-handle-value-reset="${ifDefined(this.handleSearchReset)}" @ui5-submit-search-value="${ifDefined(this.handleSearch)}" language-voice="${ifDefined(this.languageVoice)}" label="${ifDefined(this.searchLabel)}" mode="${ifDefined(this.homeSearchMode)}" ?show-voice-button="${this.showSearchVoiceButton}" non-interactive-submit-button show-submit-button></udex-search><span aria-live="polite" aria-atomic="true" class="hidden">${ifDefined(this._accSearchResultInfo)}</span><ul class="udex-masthead-country-selector__list udex-masthead-country-selector__list_countries" role="menu">${ repeat(this._activeCountries, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block3.call(this, context, tags, suffix, item, index)) }</ul>`;}
9
+ function block1 (this: MastheadCountrySelector, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<span class="udex-masthead-country-selector__title">${ifDefined(this.countryTitle)}</span>${ !this.isSingleMode ? block2.call(this, context, tags, suffix) : undefined }<${scopeTag("udex-search", tags, suffix)} class="udex-masthead-country-selector__search" @ui5-handle-value-search="${ifDefined(this.handleSearch)}" @ui5-handle-value-reset="${ifDefined(this.handleSearchReset)}" @ui5-submit-search-value="${ifDefined(this.handleSearch)}" language-voice="${ifDefined(this.languageVoice)}" label="${ifDefined(this.searchLabel)}" mode="${ifDefined(this.homeSearchMode)}" ?show-voice-button="${this.showSearchVoiceButton}" non-interactive-submit-button show-submit-button></${scopeTag("udex-search", tags, suffix)}><span aria-live="polite" aria-atomic="true" class="hidden">${ifDefined(this._accSearchResultInfo)}</span><div class="udex-masthead-country-selector__list-container"><div class="udex-masthead-country-selector__list-wrap" @scroll=${this.handleCountryListShadowVisible}><ul class="udex-masthead-country-selector__list udex-masthead-country-selector__list_countries" role="menu">${ repeat(this._activeCountries, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block3.call(this, context, tags, suffix, item, index)) }</ul></div></div>` : html`<span class="udex-masthead-country-selector__title">${ifDefined(this.countryTitle)}</span>${ !this.isSingleMode ? block2.call(this, context, tags, suffix) : undefined }<udex-search class="udex-masthead-country-selector__search" @ui5-handle-value-search="${ifDefined(this.handleSearch)}" @ui5-handle-value-reset="${ifDefined(this.handleSearchReset)}" @ui5-submit-search-value="${ifDefined(this.handleSearch)}" language-voice="${ifDefined(this.languageVoice)}" label="${ifDefined(this.searchLabel)}" mode="${ifDefined(this.homeSearchMode)}" ?show-voice-button="${this.showSearchVoiceButton}" non-interactive-submit-button show-submit-button></udex-search><span aria-live="polite" aria-atomic="true" class="hidden">${ifDefined(this._accSearchResultInfo)}</span><div class="udex-masthead-country-selector__list-container"><div class="udex-masthead-country-selector__list-wrap" @scroll=${this.handleCountryListShadowVisible}><ul class="udex-masthead-country-selector__list udex-masthead-country-selector__list_countries" role="menu">${ repeat(this._activeCountries, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block3.call(this, context, tags, suffix, item, index)) }</ul></div></div>`;}
10
10
  function block2 (this: MastheadCountrySelector, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} class="udex-masthead-country-selector__region-back-item" @click="${this.backToRegions}" label="${ifDefined(this._activeRegion?.title)}" type="Button" part="menu-item" is-back icon-start></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item class="udex-masthead-country-selector__region-back-item" @click="${this.backToRegions}" label="${ifDefined(this._activeRegion?.title)}" type="Button" part="menu-item" is-back icon-start></udex-masthead-menu-item>`;}
11
11
  function block3 (this: MastheadCountrySelector, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<li role="none"><${scopeTag("udex-masthead-menu-item", tags, suffix)} class="udex-masthead-country-selector__item udex-masthead-country-selector__item_countries" @click="${this.handleCountryClick}" _country-code="${ifDefined(item.countryCode)}" url="${ifDefined(item.url)}" label="${ifDefined(item.displayTitle)}" index="${index}" part="menu-item" is-nav-item></${scopeTag("udex-masthead-menu-item", tags, suffix)}></li>` : html`<li role="none"><udex-masthead-menu-item class="udex-masthead-country-selector__item udex-masthead-country-selector__item_countries" @click="${this.handleCountryClick}" _country-code="${ifDefined(item.countryCode)}" url="${ifDefined(item.url)}" label="${ifDefined(item.displayTitle)}" index="${index}" part="menu-item" is-nav-item></udex-masthead-menu-item></li>`;}
12
12
  function block4 (this: MastheadCountrySelector, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-masthead-country-selector__title">${ifDefined(this.regionTitle)}</span><ul class="udex-masthead-country-selector__list" role="menu">${ repeat(this.regionsData, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block5.call(this, context, tags, suffix, item, index)) }</ul>`;}
@@ -6,15 +6,17 @@ import type MastheadProfileMenu from "../../MastheadProfileMenu.js";
6
6
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
7
7
 
8
8
  function block0 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div @keydown="${this.handleKeydown}" class="${ifDefined(this.rootClass)}">${ this._openIdentities ? block1.call(this, context, tags, suffix) : block4.call(this, context, tags, suffix) }</div> `;}
9
- function block1 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="udex-masthead-profile-menu__header-wrap back-btn"><${scopeTag("udex-masthead-menu-item", tags, suffix)} class="udex-masthead-profile-menu__btn-back" @click="${this.handleSwitcherClick}" label="${ifDefined(this.btnBackText)}" type="Button" icon-start></${scopeTag("udex-masthead-menu-item", tags, suffix)}><span class="udex-masthead-profile-menu__switcher-title">${ifDefined(this.switcherAccountText)}</span></div><div class="udex-masthead-profile-menu__identities-list-wrap"><span class="udex-masthead-profile-menu__identities-list-title">${ifDefined(this.listTitleText)}</span>${ this.identitiesList.length ? block2.call(this, context, tags, suffix) : undefined }<${scopeTag("udex-button", tags, suffix)} @click="${this.fireEventAddOrRemoveAccountClick}" class="udex-masthead-profile-menu__add-remove-btn" design="Primary" end-icon="action" size="Large">${ifDefined(this.addOrRemoveAccountText)}</${scopeTag("udex-button", tags, suffix)}></div>` : html`<div class="udex-masthead-profile-menu__header-wrap back-btn"><udex-masthead-menu-item class="udex-masthead-profile-menu__btn-back" @click="${this.handleSwitcherClick}" label="${ifDefined(this.btnBackText)}" type="Button" icon-start></udex-masthead-menu-item><span class="udex-masthead-profile-menu__switcher-title">${ifDefined(this.switcherAccountText)}</span></div><div class="udex-masthead-profile-menu__identities-list-wrap"><span class="udex-masthead-profile-menu__identities-list-title">${ifDefined(this.listTitleText)}</span>${ this.identitiesList.length ? block2.call(this, context, tags, suffix) : undefined }<udex-button @click="${this.fireEventAddOrRemoveAccountClick}" class="udex-masthead-profile-menu__add-remove-btn" design="Primary" end-icon="action" size="Large">${ifDefined(this.addOrRemoveAccountText)}</udex-button></div>`;}
10
- function block2 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-list", tags, suffix)} class="udex-masthead-profile-menu__identities-list" mode="SingleSelect" accessible-name="${ifDefined(this.listTitleText)}" controlled>${ repeat(this.identitiesList, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block3.call(this, context, tags, suffix, item, index)) }</${scopeTag("udex-list", tags, suffix)}>` : html`<udex-list class="udex-masthead-profile-menu__identities-list" mode="SingleSelect" accessible-name="${ifDefined(this.listTitleText)}" controlled>${ repeat(this.identitiesList, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block3.call(this, context, tags, suffix, item, index)) }</udex-list>`;}
9
+ function block1 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="udex-masthead-profile-menu__header-wrap back-btn"><${scopeTag("udex-masthead-menu-item", tags, suffix)} class="udex-masthead-profile-menu__btn-back" @click="${this.handleSwitcherClick}" label="${ifDefined(this.btnBackText)}" type="Button" icon-start></${scopeTag("udex-masthead-menu-item", tags, suffix)}><span class="udex-masthead-profile-menu__switcher-title">${ifDefined(this.switcherAccountText)}</span></div><span class="udex-masthead-profile-menu__identities-list-title">${ifDefined(this.listTitleText)}</span><div class="udex-masthead-profile-menu__identities-list-wrap">${ this.identitiesList.length ? block2.call(this, context, tags, suffix) : undefined }</div><${scopeTag("udex-button", tags, suffix)} @click="${this.fireEventAddOrRemoveAccountClick}" class="udex-masthead-profile-menu__add-remove-btn" design="Primary" end-icon="action" size="Large">${ifDefined(this.addOrRemoveAccountText)}</${scopeTag("udex-button", tags, suffix)}>` : html`<div class="udex-masthead-profile-menu__header-wrap back-btn"><udex-masthead-menu-item class="udex-masthead-profile-menu__btn-back" @click="${this.handleSwitcherClick}" label="${ifDefined(this.btnBackText)}" type="Button" icon-start></udex-masthead-menu-item><span class="udex-masthead-profile-menu__switcher-title">${ifDefined(this.switcherAccountText)}</span></div><span class="udex-masthead-profile-menu__identities-list-title">${ifDefined(this.listTitleText)}</span><div class="udex-masthead-profile-menu__identities-list-wrap">${ this.identitiesList.length ? block2.call(this, context, tags, suffix) : undefined }</div><udex-button @click="${this.fireEventAddOrRemoveAccountClick}" class="udex-masthead-profile-menu__add-remove-btn" design="Primary" end-icon="action" size="Large">${ifDefined(this.addOrRemoveAccountText)}</udex-button>`;}
10
+ function block2 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-list", tags, suffix)} class="udex-masthead-profile-menu__identities-list" mode="SingleSelect" accessible-name="${ifDefined(this.listTitleText)}" @scroll="${this.handleIdentitiesListShadowVisible}" _scroll-into-view="Center" controlled>${ repeat(this.identitiesList, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block3.call(this, context, tags, suffix, item, index)) }</${scopeTag("udex-list", tags, suffix)}>` : html`<udex-list class="udex-masthead-profile-menu__identities-list" mode="SingleSelect" accessible-name="${ifDefined(this.listTitleText)}" @scroll="${this.handleIdentitiesListShadowVisible}" _scroll-into-view="Center" controlled>${ repeat(this.identitiesList, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block3.call(this, context, tags, suffix, item, index)) }</udex-list>`;}
11
11
  function block3 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("udex-list-item", tags, suffix)} id="${ifDefined(item.idsUser)}" class="udex-masthead-profile-menu__identities-list-item" @ui5-item-press="${ifDefined(this.fireEventIdentityItemClick)}" supporting-text="${ifDefined(item.supportingText)}" image-badge-state="${ifDefined(item.statusBadge)}" image="${ifDefined(item.avatarUrl)}" image-alt="${ifDefined(item.name)}">${ifDefined(item.email)}</${scopeTag("udex-list-item", tags, suffix)}>` : html`<udex-list-item id="${ifDefined(item.idsUser)}" class="udex-masthead-profile-menu__identities-list-item" @ui5-item-press="${ifDefined(this.fireEventIdentityItemClick)}" supporting-text="${ifDefined(item.supportingText)}" image-badge-state="${ifDefined(item.statusBadge)}" image="${ifDefined(item.avatarUrl)}" image-alt="${ifDefined(item.name)}">${ifDefined(item.email)}</udex-list-item>`;}
12
- function block4 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="udex-masthead-profile-menu__header">${ this.userData ? block5.call(this, context, tags, suffix) : undefined }</div>${ this.messageAvailable ? block8.call(this, context, tags, suffix) : undefined }<div class="udex-masthead-profile-menu__links"><${scopeTag("udex-masthead-menu", tags, suffix)} exportparts="badge, menu-item" part="menu" sub-items='${ifDefined(this.linksList)}' @ui5-menu-item-click="${ifDefined(this.handleProfileMenuItemClick)}"></${scopeTag("udex-masthead-menu", tags, suffix)}>${ this.logoutLink ? block9.call(this, context, tags, suffix) : undefined }</div>` : html`<div class="udex-masthead-profile-menu__header">${ this.userData ? block5.call(this, context, tags, suffix) : undefined }</div>${ this.messageAvailable ? block8.call(this, context, tags, suffix) : undefined }<div class="udex-masthead-profile-menu__links"><udex-masthead-menu exportparts="badge, menu-item" part="menu" sub-items='${ifDefined(this.linksList)}' @ui5-menu-item-click="${ifDefined(this.handleProfileMenuItemClick)}"></udex-masthead-menu>${ this.logoutLink ? block9.call(this, context, tags, suffix) : undefined }</div>`;}
13
- function block5 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-avatar", tags, suffix)} aria-hidden="true" size="L" initials="${ifDefined(this.userData.avatarInitials)}">${ this.userData.avatarUrl ? block6.call(this, context, tags, suffix) : undefined }</${scopeTag("udex-avatar", tags, suffix)}><div><p class="udex-profile-menu__account-name">${ifDefined(this.userData.name)}</p><p class="udex-profile-menu__account-email">${ifDefined(this.userData.email)}</p>${ this.hasIdentities ? block7.call(this, context, tags, suffix) : undefined }</div>` : html`<udex-avatar aria-hidden="true" size="L" initials="${ifDefined(this.userData.avatarInitials)}">${ this.userData.avatarUrl ? block6.call(this, context, tags, suffix) : undefined }</udex-avatar><div><p class="udex-profile-menu__account-name">${ifDefined(this.userData.name)}</p><p class="udex-profile-menu__account-email">${ifDefined(this.userData.email)}</p>${ this.hasIdentities ? block7.call(this, context, tags, suffix) : undefined }</div>`;}
12
+ function block4 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="udex-masthead-profile-menu__header">${ this.userData ? block5.call(this, context, tags, suffix) : undefined }</div>${ this.messageAvailable ? block8.call(this, context, tags, suffix) : undefined }<div class="udex-masthead-profile-menu__content"><div class="udex-masthead-profile-menu__links" @scroll="${this.handleProfileMenuShadowVisible}"><${scopeTag("udex-masthead-menu", tags, suffix)} exportparts="badge, menu-item" part="menu" sub-items='${ifDefined(this.linksList)}' @ui5-menu-item-click="${ifDefined(this.handleProfileMenuItemClick)}" _scroll-into-view="Center"></${scopeTag("udex-masthead-menu", tags, suffix)}></div></div>${ this.hasActionButton ? block9.call(this, context, tags, suffix) : undefined }` : html`<div class="udex-masthead-profile-menu__header">${ this.userData ? block5.call(this, context, tags, suffix) : undefined }</div>${ this.messageAvailable ? block8.call(this, context, tags, suffix) : undefined }<div class="udex-masthead-profile-menu__content"><div class="udex-masthead-profile-menu__links" @scroll="${this.handleProfileMenuShadowVisible}"><udex-masthead-menu exportparts="badge, menu-item" part="menu" sub-items='${ifDefined(this.linksList)}' @ui5-menu-item-click="${ifDefined(this.handleProfileMenuItemClick)}" _scroll-into-view="Center"></udex-masthead-menu></div></div>${ this.hasActionButton ? block9.call(this, context, tags, suffix) : undefined }`;}
13
+ function block5 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-avatar", tags, suffix)} aria-hidden="true" size="L" initials="${ifDefined(this.userData.avatarInitials)}" fallback-icon="${ifDefined(this.userData.fallbackIcon)}">${ this.userData.avatarUrl ? block6.call(this, context, tags, suffix) : undefined }</${scopeTag("udex-avatar", tags, suffix)}><div><p class="udex-profile-menu__account-name">${ifDefined(this.userData.name)}</p><p class="udex-profile-menu__account-email">${ifDefined(this.userData.email)}</p>${ this.hasIdentities ? block7.call(this, context, tags, suffix) : undefined }</div>` : html`<udex-avatar aria-hidden="true" size="L" initials="${ifDefined(this.userData.avatarInitials)}" fallback-icon="${ifDefined(this.userData.fallbackIcon)}">${ this.userData.avatarUrl ? block6.call(this, context, tags, suffix) : undefined }</udex-avatar><div><p class="udex-profile-menu__account-name">${ifDefined(this.userData.name)}</p><p class="udex-profile-menu__account-email">${ifDefined(this.userData.email)}</p>${ this.hasIdentities ? block7.call(this, context, tags, suffix) : undefined }</div>`;}
14
14
  function block6 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<img src="${ifDefined(this.userData.avatarUrl)}" alt="avatar"/>`;}
15
15
  function block7 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-button", tags, suffix)} @click="${this.handleSwitcherClick}" class="udex-masthead-profile-menu__btn-switcher" size="Large" end-icon="slim-arrow-right" design="Invisible">${ifDefined(this.switcherAccountText)}</${scopeTag("udex-button", tags, suffix)}>` : html`<udex-button @click="${this.handleSwitcherClick}" class="udex-masthead-profile-menu__btn-switcher" size="Large" end-icon="slim-arrow-right" design="Invisible">${ifDefined(this.switcherAccountText)}</udex-button>`;}
16
16
  function block8 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-masthead-profile-menu__message"><slot name="message"></slot></div>`;}
17
- function block9 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="udex-masthead-profile-menu__actions"><${scopeTag("udex-masthead-menu-item", tags, suffix)} @click="${this.handleUserLogoutItemClick}" label="${ifDefined(this.logoutText)}" url="${ifDefined(this.logoutUrl)}"></${scopeTag("udex-masthead-menu-item", tags, suffix)}></div>` : html`<div class="udex-masthead-profile-menu__actions"><udex-masthead-menu-item @click="${this.handleUserLogoutItemClick}" label="${ifDefined(this.logoutText)}" url="${ifDefined(this.logoutUrl)}"></udex-masthead-menu-item></div>`;}
17
+ function block9 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-masthead-profile-menu__actions">${ this.hasLogoutButton ? block10.call(this, context, tags, suffix) : block11.call(this, context, tags, suffix) }</div>`;}
18
+ function block10 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-masthead-profile-menu__btn"><slot name="logoutButton"></slot></div>`;}
19
+ function block11 (this: MastheadProfileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-link", tags, suffix)} @click="${this.handleUserLogoutClick}" end-icon="action" design="Default" accessible-role="Link" href="${ifDefined(this.logoutUrl)}">${ifDefined(this.logoutText)}</${scopeTag("udex-link", tags, suffix)}>` : html`<udex-link @click="${this.handleUserLogoutClick}" end-icon="action" design="Default" accessible-role="Link" href="${ifDefined(this.logoutUrl)}">${ifDefined(this.logoutText)}</udex-link>`;}
18
20
 
19
21
  function template(this: MastheadProfileMenu) { return block0.call(this, this, (this.constructor as typeof UI5Element).tagsToScope, getCustomElementsScopingSuffix()); }
20
22
  export default template;
@@ -5,17 +5,36 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
5
5
  type TabHeader = any;
6
6
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
7
7
 
8
- function block0 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.hasNotHref ? block1.call(this, context, tags, suffix) : block6.call(this, context, tags, suffix) } `;}
9
- function block1 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<button id="${ifDefined(this._id)}" class="udex-tab-navigation__button-tab ${ifDefined(this.selectedClass)}${ifDefined(this.classWithIconWithoutBackground)}${ifDefined(this.buttonClassWithIcon)}" tabindex="${ifDefined(this._tabIndex)}" type="button" role="tab" aria-describedby="udex-tab-navigation__${ifDefined(this._id)}__accessible-name" aria-posinset="${ifDefined(this._posinset)}" aria-setsize="${ifDefined(this._setsize)}" aria-controls="${ifDefined(this._contentId)}" aria-selected="${ifDefined(this.effectiveSelected)}" aria-labelledby="${ifDefined(this.ariaLabelledBy)}" ._realTab="${ifDefined(this)}" style="width: ${ifDefined(this._width)};">${ this.hasIcon ? block2.call(this, context, tags, suffix) : undefined }<p class="udex-tab-navigation__button-text ${ifDefined(this.classWithIcon)}">${ifDefined(this.text)}${ this.numberBadge ? block4.call(this, context, tags, suffix) : undefined }</p>${ this.hasNotIcon ? block5.call(this, context, tags, suffix) : undefined }<span aria-hidden="true" class="hidden" id="udex-tab-navigation__${ifDefined(this._id)}__accessible-name">${ifDefined(this.accessibleNameText)}</span></button>`;}
10
- function block2 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<span class="udex-tab-navigation__button-icon-outer" role="presentation" aria-hidden="true"><${scopeTag("ui5-icon", tags, suffix)} class="udex-tab-navigation__button-icon" name="${ifDefined(this.icon)}"></${scopeTag("ui5-icon", tags, suffix)}>${ this.showAttentionBadge ? block3.call(this, context, tags, suffix) : undefined }</span>` : html`<span class="udex-tab-navigation__button-icon-outer" role="presentation" aria-hidden="true"><ui5-icon class="udex-tab-navigation__button-icon" name="${ifDefined(this.icon)}"></ui5-icon>${ this.showAttentionBadge ? block3.call(this, context, tags, suffix) : undefined }</span>`;}
11
- function block3 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-tab-navigation__button-badge"></span>`;}
12
- function block4 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-badge", tags, suffix)} class="udex-tab-navigation__badge" type="Number" number-design="Blue" size="Medium">${ifDefined(this.numberBadge)}</${scopeTag("udex-badge", tags, suffix)}>` : html`<udex-badge class="udex-tab-navigation__badge" type="Number" number-design="Blue" size="Medium">${ifDefined(this.numberBadge)}</udex-badge>`;}
8
+ function block0 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.hasBodyTextOrLink ? block1.call(this, context, tags, suffix) : block17.call(this, context, tags, suffix) } `;}
9
+ function block1 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-tab-navigation__tab-wrapper" role="presentation" ._realTab="${ifDefined(this)}" ${ this.widthStyle ? block2.call(this, context, tags, suffix) : undefined }>${ this.hasNotHref ? block3.call(this, context, tags, suffix) : block9.call(this, context, tags, suffix) }${ this.hasBodyText ? block15.call(this, context, tags, suffix) : undefined }${ this.hasLinkSlot ? block16.call(this, context, tags, suffix) : undefined }</div>`;}
10
+ function block2 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`style="${styleMap(this.widthStyle)}"`;}
11
+ function block3 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<button id="${ifDefined(this._id)}" class="udex-tab-navigation__button-tab ${ifDefined(this.selectedClass)}${ifDefined(this.classWithIconWithoutBackground)}${ifDefined(this.buttonClassWithIcon)}" type="button" role="tab" tabindex="${ifDefined(this._tabIndex)}" aria-posinset="${ifDefined(this._posinset)}" aria-setsize="${ifDefined(this._setsize)}" aria-controls="${ifDefined(this._contentId)}" aria-selected="${ifDefined(this.effectiveSelected)}">${ this.hasIcon ? block4.call(this, context, tags, suffix) : undefined }<p class="udex-tab-navigation__button-text ${ifDefined(this.classWithIcon)}">${ifDefined(this.text)}${ this.numberBadge ? block6.call(this, context, tags, suffix) : undefined }${ this.hasNotIcon ? block7.call(this, context, tags, suffix) : undefined }</p><span class="visually-hidden" id="udex-tab-navigation__${ifDefined(this._id)}__accessible-name">${ifDefined(this.accessibleNameText)}</span>${ this.ariaDescribedByBodyText ? block8.call(this, context, tags, suffix) : undefined }</button>`;}
12
+ function block4 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<span class="udex-tab-navigation__button-icon-outer" role="presentation" aria-hidden="true"><${scopeTag("ui5-icon", tags, suffix)} class="udex-tab-navigation__button-icon" name="${ifDefined(this.icon)}"></${scopeTag("ui5-icon", tags, suffix)}>${ this.showAttentionBadge ? block5.call(this, context, tags, suffix) : undefined }</span>` : html`<span class="udex-tab-navigation__button-icon-outer" role="presentation" aria-hidden="true"><ui5-icon class="udex-tab-navigation__button-icon" name="${ifDefined(this.icon)}"></ui5-icon>${ this.showAttentionBadge ? block5.call(this, context, tags, suffix) : undefined }</span>`;}
13
13
  function block5 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-tab-navigation__button-badge"></span>`;}
14
- function block6 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<a id="${ifDefined(this._id)}" class="udex-tab-navigation__button-tab ${ifDefined(this.selectedClass)}${ifDefined(this.classWithIconWithoutBackground)}${ifDefined(this.buttonClassWithIcon)}" tabindex="${ifDefined(this.linkTabIndex)}" role="tab" aria-posinset="${ifDefined(this._posinset)}" aria-setsize="${ifDefined(this._setsize)}" href="${ifDefined(this.href)}" target="${ifDefined(this.target)}" style="max-width: ${ifDefined(this._maxWidth)}px; width: ${ifDefined(this._width)};" ._realTab="${ifDefined(this)}">${ this.hasIcon ? block7.call(this, context, tags, suffix) : undefined }<p class="udex-tab-navigation__button-text ${ifDefined(this.classWithIcon)}">${ifDefined(this.text)}${ this.numberBadge ? block9.call(this, context, tags, suffix) : undefined }</p>${ this.hasNotIcon ? block10.call(this, context, tags, suffix) : undefined }<span aria-hidden="true" class="hidden" id="udex-tab-navigation__${ifDefined(this._id)}__accessible-name">${ifDefined(this.accessibleNameText)}</span></a>`;}
15
- function block7 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<span class="udex-tab-navigation__button-icon-outer" role="presentation" aria-hidden="true"><${scopeTag("ui5-icon", tags, suffix)} class="udex-tab-navigation__button-icon" name="${ifDefined(this.icon)}"></${scopeTag("ui5-icon", tags, suffix)}>${ this.showAttentionBadge ? block8.call(this, context, tags, suffix) : undefined }</span>` : html`<span class="udex-tab-navigation__button-icon-outer" role="presentation" aria-hidden="true"><ui5-icon class="udex-tab-navigation__button-icon" name="${ifDefined(this.icon)}"></ui5-icon>${ this.showAttentionBadge ? block8.call(this, context, tags, suffix) : undefined }</span>`;}
16
- function block8 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-tab-navigation__button-badge"></span>`;}
17
- function block9 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-badge", tags, suffix)} class="udex-tab-navigation__badge" type="Number" number-design="Blue" size="Medium">${ifDefined(this.numberBadge)}</${scopeTag("udex-badge", tags, suffix)}>` : html`<udex-badge class="udex-tab-navigation__badge" type="Number" number-design="Blue" size="Medium">${ifDefined(this.numberBadge)}</udex-badge>`;}
18
- function block10 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-tab-navigation__button-badge"></span>`;}
14
+ function block6 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-badge", tags, suffix)} class="udex-tab-navigation__badge" type="Number" number-design="Blue" size="Medium">${ifDefined(this.numberBadge)}</${scopeTag("udex-badge", tags, suffix)}>` : html`<udex-badge class="udex-tab-navigation__badge" type="Number" number-design="Blue" size="Medium">${ifDefined(this.numberBadge)}</udex-badge>`;}
15
+ function block7 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-tab-navigation__button-badge"></span>`;}
16
+ function block8 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="visually-hidden">${ifDefined(this.bodyText)}</span>`;}
17
+ function block9 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<a id="${ifDefined(this._id)}" class="udex-tab-navigation__button-tab ${ifDefined(this.selectedClass)}${ifDefined(this.classWithIconWithoutBackground)}${ifDefined(this.buttonClassWithIcon)}" href="${ifDefined(this.href)}" target="${ifDefined(this.target)}" role="tab" tabindex="${ifDefined(this.linkTabIndex)}" aria-posinset="${ifDefined(this._posinset)}" aria-setsize="${ifDefined(this._setsize)}">${ this.hasIcon ? block10.call(this, context, tags, suffix) : undefined }<p class="udex-tab-navigation__button-text ${ifDefined(this.classWithIcon)}">${ifDefined(this.text)}${ this.numberBadge ? block12.call(this, context, tags, suffix) : undefined }${ this.hasNotIcon ? block13.call(this, context, tags, suffix) : undefined }</p><span class="visually-hidden" id="udex-tab-navigation__${ifDefined(this._id)}__accessible-name">${ifDefined(this.accessibleNameText)}</span>${ this.ariaDescribedByBodyText ? block14.call(this, context, tags, suffix) : undefined }</a>`;}
18
+ function block10 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<span class="udex-tab-navigation__button-icon-outer" role="presentation" aria-hidden="true"><${scopeTag("ui5-icon", tags, suffix)} class="udex-tab-navigation__button-icon" name="${ifDefined(this.icon)}"></${scopeTag("ui5-icon", tags, suffix)}>${ this.showAttentionBadge ? block11.call(this, context, tags, suffix) : undefined }</span>` : html`<span class="udex-tab-navigation__button-icon-outer" role="presentation" aria-hidden="true"><ui5-icon class="udex-tab-navigation__button-icon" name="${ifDefined(this.icon)}"></ui5-icon>${ this.showAttentionBadge ? block11.call(this, context, tags, suffix) : undefined }</span>`;}
19
+ function block11 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-tab-navigation__button-badge"></span>`;}
20
+ function block12 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-badge", tags, suffix)} class="udex-tab-navigation__badge" type="Number" number-design="Blue" size="Medium">${ifDefined(this.numberBadge)}</${scopeTag("udex-badge", tags, suffix)}>` : html`<udex-badge class="udex-tab-navigation__badge" type="Number" number-design="Blue" size="Medium">${ifDefined(this.numberBadge)}</udex-badge>`;}
21
+ function block13 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-tab-navigation__button-badge"></span>`;}
22
+ function block14 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="visually-hidden">${ifDefined(this.bodyText)}</span>`;}
23
+ function block15 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<p class="udex-tab-navigation__button-body-text">${ifDefined(this.bodyText)}</p>`;}
24
+ function block16 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-tab-navigation__button-links">${unsafeHTML(this.linkSlotHtml)}</div>`;}
25
+ function block17 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.hasNotHref ? block18.call(this, context, tags, suffix) : block24.call(this, context, tags, suffix) }`;}
26
+ function block18 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<button id="${ifDefined(this._id)}" class="udex-tab-navigation__button-tab ${ifDefined(this.selectedClass)}${ifDefined(this.classWithIconWithoutBackground)}${ifDefined(this.buttonClassWithIcon)}" tabindex="${ifDefined(this._tabIndex)}" type="button" role="tab" aria-describedby="udex-tab-navigation__${ifDefined(this._id)}__accessible-name" aria-posinset="${ifDefined(this._posinset)}" aria-setsize="${ifDefined(this._setsize)}" aria-controls="${ifDefined(this._contentId)}" aria-selected="${ifDefined(this.effectiveSelected)}" ._realTab="${ifDefined(this)}" ${ this.widthStyle ? block19.call(this, context, tags, suffix) : undefined }>${ this.hasIcon ? block20.call(this, context, tags, suffix) : undefined }<p class="udex-tab-navigation__button-text ${ifDefined(this.classWithIcon)}">${ifDefined(this.text)}${ this.numberBadge ? block22.call(this, context, tags, suffix) : undefined }${ this.hasNotIcon ? block23.call(this, context, tags, suffix) : undefined }</p><span class="visually-hidden" id="udex-tab-navigation__${ifDefined(this._id)}__accessible-name">${ifDefined(this.accessibleNameText)}</span></button>`;}
27
+ function block19 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`style="${styleMap(this.widthStyle)}"`;}
28
+ function block20 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<span class="udex-tab-navigation__button-icon-outer" role="presentation" aria-hidden="true"><${scopeTag("ui5-icon", tags, suffix)} class="udex-tab-navigation__button-icon" name="${ifDefined(this.icon)}"></${scopeTag("ui5-icon", tags, suffix)}>${ this.showAttentionBadge ? block21.call(this, context, tags, suffix) : undefined }</span>` : html`<span class="udex-tab-navigation__button-icon-outer" role="presentation" aria-hidden="true"><ui5-icon class="udex-tab-navigation__button-icon" name="${ifDefined(this.icon)}"></ui5-icon>${ this.showAttentionBadge ? block21.call(this, context, tags, suffix) : undefined }</span>`;}
29
+ function block21 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-tab-navigation__button-badge"></span>`;}
30
+ function block22 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-badge", tags, suffix)} class="udex-tab-navigation__badge" type="Number" number-design="Blue" size="Medium">${ifDefined(this.numberBadge)}</${scopeTag("udex-badge", tags, suffix)}>` : html`<udex-badge class="udex-tab-navigation__badge" type="Number" number-design="Blue" size="Medium">${ifDefined(this.numberBadge)}</udex-badge>`;}
31
+ function block23 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-tab-navigation__button-badge"></span>`;}
32
+ function block24 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<a id="${ifDefined(this._id)}" class="udex-tab-navigation__button-tab ${ifDefined(this.selectedClass)}${ifDefined(this.classWithIconWithoutBackground)}${ifDefined(this.buttonClassWithIcon)}" tabindex="${ifDefined(this.linkTabIndex)}" role="tab" aria-posinset="${ifDefined(this._posinset)}" aria-setsize="${ifDefined(this._setsize)}" href="${ifDefined(this.href)}" target="${ifDefined(this.target)}" ${ this.widthStyle ? block25.call(this, context, tags, suffix) : undefined } ._realTab="${ifDefined(this)}">${ this.hasIcon ? block26.call(this, context, tags, suffix) : undefined }<p class="udex-tab-navigation__button-text ${ifDefined(this.classWithIcon)}">${ifDefined(this.text)}${ this.numberBadge ? block28.call(this, context, tags, suffix) : undefined }${ this.hasNotIcon ? block29.call(this, context, tags, suffix) : undefined }</p><span class="visually-hidden" id="udex-tab-navigation__${ifDefined(this._id)}__accessible-name">${ifDefined(this.accessibleNameText)}</span></a>`;}
33
+ function block25 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`style="${styleMap(this.widthStyle)}"`;}
34
+ function block26 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<span class="udex-tab-navigation__button-icon-outer" role="presentation" aria-hidden="true"><${scopeTag("ui5-icon", tags, suffix)} class="udex-tab-navigation__button-icon" name="${ifDefined(this.icon)}"></${scopeTag("ui5-icon", tags, suffix)}>${ this.showAttentionBadge ? block27.call(this, context, tags, suffix) : undefined }</span>` : html`<span class="udex-tab-navigation__button-icon-outer" role="presentation" aria-hidden="true"><ui5-icon class="udex-tab-navigation__button-icon" name="${ifDefined(this.icon)}"></ui5-icon>${ this.showAttentionBadge ? block27.call(this, context, tags, suffix) : undefined }</span>`;}
35
+ function block27 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-tab-navigation__button-badge"></span>`;}
36
+ function block28 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-badge", tags, suffix)} class="udex-tab-navigation__badge" type="Number" number-design="Blue" size="Medium">${ifDefined(this.numberBadge)}</${scopeTag("udex-badge", tags, suffix)}>` : html`<udex-badge class="udex-tab-navigation__badge" type="Number" number-design="Blue" size="Medium">${ifDefined(this.numberBadge)}</udex-badge>`;}
37
+ function block29 (this: TabHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-tab-navigation__button-badge"></span>`;}
19
38
 
20
39
  function template(this: TabHeader) { return block0.call(this, this, (this.constructor as typeof UI5Element).tagsToScope, getCustomElementsScopingSuffix()); }
21
40
  export default template;
@@ -5,12 +5,14 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
5
5
  import type TabNavigation from "../../TabNavigation.js";
6
6
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
7
7
 
8
- function block0 (this: TabNavigation, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="udex-tab-navigation__root"><div id="${ifDefined(this._id)}-header" class="udex-tab-navigation__header" part="tab-navigation-header" @keydown="${this.handleKeyDown}"><div id="${ifDefined(this._id)}-header-tabs" class="udex-tab-navigation__header-tabs" role="tablist" aria-labelledby="tablist-${ifDefined(this._id)}" part="tab-navigation-header-tabs" @click="${this.onTabClick}">${ repeat(this.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }</div><button class="udex-tab-navigation__button-more" @click="${this.handleMoreButton}" @keydown="${this.handleFocusMoreButton}" tabindex="0" aria-haspopup="menu" aria-expanded="${ifDefined(this._isExpanded)}" tooltip="${ifDefined(this.moreButtonText)}" hidden>${ifDefined(this.moreButtonText)}<${scopeTag("ui5-icon", tags, suffix)} class="udex-tab-navigation__button-more-icon" name="navigation-down-arrow" mode="Decorative"></${scopeTag("ui5-icon", tags, suffix)}></button>${ this._overflowItems.length ? block2.call(this, context, tags, suffix) : undefined }</div><div class="udex-tab-navigation__content" id="udex-${ifDefined(this.__id)}-content" part="tab-navigation-content">${ repeat(this.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block3.call(this, context, tags, suffix, item, index)) }</div></div>` : html`<div class="udex-tab-navigation__root"><div id="${ifDefined(this._id)}-header" class="udex-tab-navigation__header" part="tab-navigation-header" @keydown="${this.handleKeyDown}"><div id="${ifDefined(this._id)}-header-tabs" class="udex-tab-navigation__header-tabs" role="tablist" aria-labelledby="tablist-${ifDefined(this._id)}" part="tab-navigation-header-tabs" @click="${this.onTabClick}">${ repeat(this.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }</div><button class="udex-tab-navigation__button-more" @click="${this.handleMoreButton}" @keydown="${this.handleFocusMoreButton}" tabindex="0" aria-haspopup="menu" aria-expanded="${ifDefined(this._isExpanded)}" tooltip="${ifDefined(this.moreButtonText)}" hidden>${ifDefined(this.moreButtonText)}<ui5-icon class="udex-tab-navigation__button-more-icon" name="navigation-down-arrow" mode="Decorative"></ui5-icon></button>${ this._overflowItems.length ? block2.call(this, context, tags, suffix) : undefined }</div><div class="udex-tab-navigation__content" id="udex-${ifDefined(this.__id)}-content" part="tab-navigation-content">${ repeat(this.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block3.call(this, context, tags, suffix, item, index)) }</div></div>`;}
9
- function block1 (this: TabNavigation, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ifDefined(item.tabNavigation)}`;}
10
- function block2 (this: TabNavigation, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.tabNavigationPopover)}`;}
11
- function block3 (this: TabNavigation, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ item.selected ? block4.call(this, context, tags, suffix, item, index) : block5.call(this, context, tags, suffix, item, index) }`;}
12
- function block4 (this: TabNavigation, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<div class="udex-tab-navigation__content-item" id="${ifDefined(item._contentId)}" aria-labelledby="${ifDefined(item._id)}"><slot name="${ifDefined(item._slotName)}"></slot></div>`;}
13
- function block5 (this: TabNavigation, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<div class="udex-tab-navigation__content-item" id="${ifDefined(item._contentId)}"><slot name="${ifDefined(item._slotName)}"></slot></div>`;}
8
+ function block0 (this: TabNavigation, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="udex-tab-navigation__root"><div id="${ifDefined(this._id)}-header" class="udex-tab-navigation__header" part="tab-navigation-header" @keydown="${this.handleKeyDown}"><div id="${ifDefined(this._id)}-header-tabs" class="udex-tab-navigation__header-tabs" role="tablist" aria-labelledby="tablist-${ifDefined(this._id)}" aria-orientation="${ifDefined(this.ariaOrientationValue)}" part="tab-navigation-header-tabs" @click="${this.onTabClick}">${ repeat(this.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }</div><button class="udex-tab-navigation__button-more" @click="${this.handleMoreButton}" @keydown="${this.handleFocusMoreButton}" tabindex="0" aria-haspopup="menu" aria-expanded="${ifDefined(this._isExpanded)}" tooltip="${ifDefined(this.moreButtonText)}" hidden>${ifDefined(this.moreButtonText)}<${scopeTag("ui5-icon", tags, suffix)} class="udex-tab-navigation__button-more-icon" name="navigation-down-arrow" mode="Decorative"></${scopeTag("ui5-icon", tags, suffix)}></button>${ this._overflowItems.length ? block4.call(this, context, tags, suffix) : undefined }</div><div class="udex-tab-navigation__content" id="udex-${ifDefined(this.__id)}-content" part="tab-navigation-content">${ repeat(this.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block5.call(this, context, tags, suffix, item, index)) }</div></div>` : html`<div class="udex-tab-navigation__root"><div id="${ifDefined(this._id)}-header" class="udex-tab-navigation__header" part="tab-navigation-header" @keydown="${this.handleKeyDown}"><div id="${ifDefined(this._id)}-header-tabs" class="udex-tab-navigation__header-tabs" role="tablist" aria-labelledby="tablist-${ifDefined(this._id)}" aria-orientation="${ifDefined(this.ariaOrientationValue)}" part="tab-navigation-header-tabs" @click="${this.onTabClick}">${ repeat(this.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }</div><button class="udex-tab-navigation__button-more" @click="${this.handleMoreButton}" @keydown="${this.handleFocusMoreButton}" tabindex="0" aria-haspopup="menu" aria-expanded="${ifDefined(this._isExpanded)}" tooltip="${ifDefined(this.moreButtonText)}" hidden>${ifDefined(this.moreButtonText)}<ui5-icon class="udex-tab-navigation__button-more-icon" name="navigation-down-arrow" mode="Decorative"></ui5-icon></button>${ this._overflowItems.length ? block4.call(this, context, tags, suffix) : undefined }</div><div class="udex-tab-navigation__content" id="udex-${ifDefined(this.__id)}-content" part="tab-navigation-content">${ repeat(this.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block5.call(this, context, tags, suffix, item, index)) }</div></div>`;}
9
+ function block1 (this: TabNavigation, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ifDefined(item.tabNavigation)}${ item.isMobileVertical ? block2.call(this, context, tags, suffix, item, index) : undefined }`;}
10
+ function block2 (this: TabNavigation, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ item.selected ? block3.call(this, context, tags, suffix, item, index) : undefined }`;}
11
+ function block3 (this: TabNavigation, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<div class="udex-tab-navigation__content" part="tab-navigation-content"><div class="udex-tab-navigation__content-item" id="${ifDefined(item._contentId)}-mobile" aria-labelledby="${ifDefined(item._id)}"><slot name="${ifDefined(item._slotName)}"></slot></div></div>`;}
12
+ function block4 (this: TabNavigation, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.tabNavigationPopover)}`;}
13
+ function block5 (this: TabNavigation, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ item.selected ? block6.call(this, context, tags, suffix, item, index) : block7.call(this, context, tags, suffix, item, index) }`;}
14
+ function block6 (this: TabNavigation, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<div class="udex-tab-navigation__content-item" id="${ifDefined(item._contentId)}" aria-hidden="${ifDefined(item.IsMobile)}" aria-labelledby="${ifDefined(item._id)}"><slot name="${ifDefined(item._slotName)}"></slot></div>`;}
15
+ function block7 (this: TabNavigation, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<div class="udex-tab-navigation__content-item" id="${ifDefined(item._contentId)}"><slot name="${ifDefined(item._slotName)}"></slot></div>`;}
14
16
 
15
17
  function template(this: TabNavigation) { return block0.call(this, this, (this.constructor as typeof UI5Element).tagsToScope, getCustomElementsScopingSuffix()); }
16
18
  export default template;