@sapudex/web-components 0.173.0 → 0.184.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 (235) hide show
  1. package/bundle.esm.js +1 -1
  2. package/dist/Accordion.js +2 -1
  3. package/dist/Accordion.js.map +1 -1
  4. package/dist/AccordionItem.d.ts +0 -1
  5. package/dist/AccordionItem.js +2 -2
  6. package/dist/AccordionItem.js.map +1 -1
  7. package/dist/Badge.js +2 -1
  8. package/dist/Badge.js.map +1 -1
  9. package/dist/Breadcrumbs.d.ts +7 -7
  10. package/dist/Breadcrumbs.js +3 -3
  11. package/dist/Breadcrumbs.js.map +1 -1
  12. package/dist/CountrySelector.js +5 -5
  13. package/dist/CountrySelector.js.map +1 -1
  14. package/dist/DatePicker.d.ts +53 -26
  15. package/dist/DatePicker.js +205 -39
  16. package/dist/DatePicker.js.map +1 -1
  17. package/dist/FilterMenu.d.ts +4 -6
  18. package/dist/FilterMenu.js +10 -10
  19. package/dist/FilterMenu.js.map +1 -1
  20. package/dist/Footer.js +6 -2
  21. package/dist/Footer.js.map +1 -1
  22. package/dist/HeroBanner.d.ts +0 -1
  23. package/dist/HeroBanner.js +2 -1
  24. package/dist/HeroBanner.js.map +1 -1
  25. package/dist/Link.js +2 -0
  26. package/dist/Link.js.map +1 -1
  27. package/dist/ListSelectAll.js +2 -0
  28. package/dist/ListSelectAll.js.map +1 -1
  29. package/dist/MastheadItem.js +2 -2
  30. package/dist/MastheadItem.js.map +1 -1
  31. package/dist/MastheadMenu.js +1 -1
  32. package/dist/MastheadMenu.js.map +1 -1
  33. package/dist/MastheadMobileMenu.js +1 -1
  34. package/dist/MastheadMobileMenu.js.map +1 -1
  35. package/dist/MastheadShell.d.ts +1 -0
  36. package/dist/MastheadShell.js +20 -1
  37. package/dist/MastheadShell.js.map +1 -1
  38. package/dist/MediaPlayer.js +2 -2
  39. package/dist/MediaPlayer.js.map +1 -1
  40. package/dist/MessageStrip.js +2 -1
  41. package/dist/MessageStrip.js.map +1 -1
  42. package/dist/RadioButton.js +0 -1
  43. package/dist/RadioButton.js.map +1 -1
  44. package/dist/Search.d.ts +15 -1
  45. package/dist/Search.js +62 -16
  46. package/dist/Search.js.map +1 -1
  47. package/dist/SearchableListBase.js +3 -3
  48. package/dist/SearchableListBase.js.map +1 -1
  49. package/dist/SecondaryNavigation.js +1 -1
  50. package/dist/SecondaryNavigation.js.map +1 -1
  51. package/dist/SecondaryNavigationItem.js +1 -1
  52. package/dist/SecondaryNavigationItem.js.map +1 -1
  53. package/dist/SelectBox.d.ts +3 -3
  54. package/dist/SelectBox.js +6 -6
  55. package/dist/SelectBox.js.map +1 -1
  56. package/dist/SideNavigationMobile.js +1 -1
  57. package/dist/SideNavigationMobile.js.map +1 -1
  58. package/dist/StepInput.js +1 -1
  59. package/dist/StepInput.js.map +1 -1
  60. package/dist/TabNavigation.d.ts +4 -5
  61. package/dist/TabNavigation.js +16 -14
  62. package/dist/TabNavigation.js.map +1 -1
  63. package/dist/Table.js +2 -2
  64. package/dist/Table.js.map +1 -1
  65. package/dist/assets/{css_variables-a92ef9ad.css → bundle-c5e3cbf2.css} +1 -1
  66. package/dist/assets/{bundle.esm-c4ffd46a.js → bundle.esm-d98e72b5.js} +184 -184
  67. package/dist/assets/parameters-bundle.css-beef06a9.js +2 -0
  68. package/dist/css/themes/AccordionItem.css +1 -1
  69. package/dist/css/themes/Button.css +1 -1
  70. package/dist/css/themes/CountrySelector.css +1 -1
  71. package/dist/css/themes/ListItem.css +1 -1
  72. package/dist/css/themes/MastheadMenu.css +1 -1
  73. package/dist/css/themes/MastheadMobileMenu.css +1 -1
  74. package/dist/css/themes/MastheadProfileMenu.css +1 -1
  75. package/dist/css/themes/MessageStrip.css +1 -1
  76. package/dist/css/themes/Pagination.css +1 -1
  77. package/dist/css/themes/PhoneNumberField.css +1 -1
  78. package/dist/css/themes/RatingIndicator.css +1 -1
  79. package/dist/css/themes/Review.css +1 -1
  80. package/dist/css/themes/ReviewItem.css +1 -1
  81. package/dist/css/themes/Search.css +1 -1
  82. package/dist/css/themes/SearchSuggestions.css +1 -1
  83. package/dist/css/themes/SegmentedButton.css +1 -1
  84. package/dist/css/themes/SideNavigationMobileDropdown.css +1 -1
  85. package/dist/css/themes/Slider.css +1 -1
  86. package/dist/css/themes/StepInput.css +1 -1
  87. package/dist/css/themes/TabNavigation.css +1 -1
  88. package/dist/css/themes/Table.css +1 -1
  89. package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
  90. package/dist/custom-elements-internal.json +67 -49
  91. package/dist/custom-elements.json +62 -46
  92. package/dist/features/SearchSuggestionsPopover.d.ts +1 -1
  93. package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +1 -1
  94. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +1 -1
  95. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +1 -1
  96. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
  97. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
  98. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  99. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  100. package/dist/generated/templates/FilterMenuTemplate.lit.js +2 -2
  101. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  102. package/dist/generated/templates/SearchTemplate.lit.js +2 -2
  103. package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
  104. package/dist/generated/templates/TabHeaderTemplate.lit.js +2 -2
  105. package/dist/generated/templates/TabHeaderTemplate.lit.js.map +1 -1
  106. package/dist/generated/themes/AccordionItem.css.js +1 -1
  107. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  108. package/dist/generated/themes/Button.css.js +1 -1
  109. package/dist/generated/themes/Button.css.js.map +1 -1
  110. package/dist/generated/themes/CountrySelector.css.js +1 -1
  111. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  112. package/dist/generated/themes/ListItem.css.js +1 -1
  113. package/dist/generated/themes/ListItem.css.js.map +1 -1
  114. package/dist/generated/themes/MastheadMenu.css.js +1 -1
  115. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  116. package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
  117. package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
  118. package/dist/generated/themes/MastheadProfileMenu.css.js +1 -1
  119. package/dist/generated/themes/MastheadProfileMenu.css.js.map +1 -1
  120. package/dist/generated/themes/MessageStrip.css.js +1 -1
  121. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  122. package/dist/generated/themes/Pagination.css.js +1 -1
  123. package/dist/generated/themes/Pagination.css.js.map +1 -1
  124. package/dist/generated/themes/PhoneNumberField.css.js +1 -1
  125. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  126. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  127. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  128. package/dist/generated/themes/Review.css.js +1 -1
  129. package/dist/generated/themes/Review.css.js.map +1 -1
  130. package/dist/generated/themes/ReviewItem.css.js +1 -1
  131. package/dist/generated/themes/ReviewItem.css.js.map +1 -1
  132. package/dist/generated/themes/Search.css.js +1 -1
  133. package/dist/generated/themes/Search.css.js.map +1 -1
  134. package/dist/generated/themes/SearchSuggestions.css.js +1 -1
  135. package/dist/generated/themes/SearchSuggestions.css.js.map +1 -1
  136. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  137. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  138. package/dist/generated/themes/SideNavigationMobileDropdown.css.js +1 -1
  139. package/dist/generated/themes/SideNavigationMobileDropdown.css.js.map +1 -1
  140. package/dist/generated/themes/Slider.css.js +1 -1
  141. package/dist/generated/themes/Slider.css.js.map +1 -1
  142. package/dist/generated/themes/StepInput.css.js +1 -1
  143. package/dist/generated/themes/StepInput.css.js.map +1 -1
  144. package/dist/generated/themes/TabNavigation.css.js +1 -1
  145. package/dist/generated/themes/TabNavigation.css.js.map +1 -1
  146. package/dist/generated/themes/Table.css.js +1 -1
  147. package/dist/generated/themes/Table.css.js.map +1 -1
  148. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +1 -1
  149. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +1 -1
  150. package/dist/vscode.html-custom-data.json +2 -12
  151. package/dist/web-types.json +19 -23
  152. package/package.json +8 -8
  153. package/src/Accordion.ts +2 -1
  154. package/src/AccordionItem.ts +2 -2
  155. package/src/Badge.ts +2 -1
  156. package/src/Breadcrumbs.hbs +3 -3
  157. package/src/Breadcrumbs.ts +14 -14
  158. package/src/BreadcrumbsPopover.hbs +1 -1
  159. package/src/CountrySelector.ts +5 -5
  160. package/src/DatePicker.hbs +4 -5
  161. package/src/DatePicker.ts +257 -64
  162. package/src/DatePickerPopover.hbs +2 -2
  163. package/src/FilterMenu.hbs +2 -1
  164. package/src/FilterMenu.ts +13 -14
  165. package/src/Footer.ts +6 -2
  166. package/src/HeroBanner.ts +2 -1
  167. package/src/Link.ts +2 -0
  168. package/src/ListSelectAll.ts +2 -0
  169. package/src/MastheadItem.ts +2 -2
  170. package/src/MastheadMenu.ts +1 -1
  171. package/src/MastheadMobileMenu.ts +1 -1
  172. package/src/MastheadShell.ts +24 -1
  173. package/src/MediaPlayer.ts +2 -2
  174. package/src/MessageStrip.ts +2 -1
  175. package/src/RadioButton.ts +0 -1
  176. package/src/Search.hbs +3 -3
  177. package/src/Search.ts +82 -21
  178. package/src/SearchableListBase.ts +3 -3
  179. package/src/SecondaryNavigation.ts +1 -1
  180. package/src/SecondaryNavigationItem.ts +1 -1
  181. package/src/SelectBox.ts +9 -9
  182. package/src/SideNavigationMobile.ts +1 -1
  183. package/src/StepInput.ts +1 -1
  184. package/src/TabHeader.hbs +2 -2
  185. package/src/TabNavigation.ts +19 -18
  186. package/src/Table.ts +2 -2
  187. package/src/generated/templates/BreadcrumbsPopoverTemplate.lit.ts +1 -1
  188. package/src/generated/templates/DatePickerPopoverTemplate.lit.ts +1 -1
  189. package/src/generated/templates/DatePickerTemplate.lit.ts +1 -1
  190. package/src/generated/templates/FilterMenuTemplate.lit.ts +2 -2
  191. package/src/generated/templates/SearchTemplate.lit.ts +2 -2
  192. package/src/generated/templates/TabHeaderTemplate.lit.ts +2 -2
  193. package/src/generated/themes/AccordionItem.css.ts +1 -1
  194. package/src/generated/themes/Button.css.ts +1 -1
  195. package/src/generated/themes/CountrySelector.css.ts +1 -1
  196. package/src/generated/themes/ListItem.css.ts +1 -1
  197. package/src/generated/themes/MastheadMenu.css.ts +1 -1
  198. package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
  199. package/src/generated/themes/MastheadProfileMenu.css.ts +1 -1
  200. package/src/generated/themes/MessageStrip.css.ts +1 -1
  201. package/src/generated/themes/Pagination.css.ts +1 -1
  202. package/src/generated/themes/PhoneNumberField.css.ts +1 -1
  203. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  204. package/src/generated/themes/Review.css.ts +1 -1
  205. package/src/generated/themes/ReviewItem.css.ts +1 -1
  206. package/src/generated/themes/Search.css.ts +1 -1
  207. package/src/generated/themes/SearchSuggestions.css.ts +1 -1
  208. package/src/generated/themes/SegmentedButton.css.ts +1 -1
  209. package/src/generated/themes/SideNavigationMobileDropdown.css.ts +1 -1
  210. package/src/generated/themes/Slider.css.ts +1 -1
  211. package/src/generated/themes/StepInput.css.ts +1 -1
  212. package/src/generated/themes/TabNavigation.css.ts +1 -1
  213. package/src/generated/themes/Table.css.ts +1 -1
  214. package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
  215. package/src/themes/AccordionItem.css +2 -2
  216. package/src/themes/Button.css +5 -5
  217. package/src/themes/CountrySelector.css +14 -14
  218. package/src/themes/ListItem.css +1 -1
  219. package/src/themes/MastheadMenu.css +2 -2
  220. package/src/themes/MastheadMobileMenu.css +2 -2
  221. package/src/themes/MastheadProfileMenu.css +2 -2
  222. package/src/themes/MessageStrip.css +6 -6
  223. package/src/themes/Pagination.css +2 -1
  224. package/src/themes/PhoneNumberField.css +2 -2
  225. package/src/themes/Review.css +1 -1
  226. package/src/themes/ReviewItem.css +1 -1
  227. package/src/themes/Search.css +34 -4
  228. package/src/themes/SearchSuggestions.css +16 -0
  229. package/src/themes/SegmentedButton.css +1 -1
  230. package/src/themes/SelectBox.css +1 -1
  231. package/src/themes/SideNavigationMobileDropdown.css +1 -1
  232. package/src/themes/StepInput.css +5 -5
  233. package/src/themes/TabNavigation.css +17 -12
  234. package/src/themes/Table.css +5 -5
  235. package/dist/assets/parameters-bundle.css-07457fce.js +0 -2
@@ -60,6 +60,20 @@ const breakpointSizeM: number = 1279;
60
60
  ],
61
61
  })
62
62
 
63
+ /**
64
+ * Fired event when the user clicks the mobile menu button opener.
65
+ *
66
+ * @public
67
+ */
68
+ @event("mobile-menu-open")
69
+
70
+ /**
71
+ * Fired event when the user clicks the mobile menu button closer.
72
+ *
73
+ * @public
74
+ */
75
+ @event("mobile-menu-close")
76
+
63
77
  /**
64
78
  * Fired event when the user clicks the search button trigger.
65
79
  *
@@ -402,11 +416,14 @@ class UDExMastheadShell extends UI5Element {
402
416
  handleMobileMenuClick(e: CustomEvent) {
403
417
  e.stopPropagation();
404
418
  this.setSelectedItem(e);
419
+
405
420
  this._isMobileMenuOpen = true;
406
421
 
407
422
  if (this.bodyOverflow) {
408
423
  this.setOverflowBody();
409
424
  }
425
+
426
+ this.fireEvent("mobile-menu-open");
410
427
  }
411
428
 
412
429
  handleMobileCloseClick(e: CustomEvent) {
@@ -434,7 +451,7 @@ class UDExMastheadShell extends UI5Element {
434
451
  }
435
452
 
436
453
  focusSearchInput(): void {
437
- const searchSlot = this.querySelector<UDExSearch>("udex-search");
454
+ const searchSlot = this.querySelector<UDExSearch>("[udex-search]");
438
455
  if (searchSlot) {
439
456
  const input = searchSlot.shadowRoot!.querySelector<HTMLElement>("input");
440
457
  input?.focus();
@@ -524,6 +541,12 @@ class UDExMastheadShell extends UI5Element {
524
541
  if (this.bodyOverflow) {
525
542
  this.removeOverflowBody();
526
543
  }
544
+
545
+ this.fireMobileMenuCloseEvent();
546
+ }
547
+
548
+ fireMobileMenuCloseEvent(): void {
549
+ this.fireEvent("mobile-menu-close");
527
550
  }
528
551
 
529
552
  get searchOpener(): UDExMastheadItem | null | undefined {
@@ -347,11 +347,11 @@ class UDExMediaPlayer extends UI5Element {
347
347
  */
348
348
  getPlayer(): HTMLVideoElement | HTMLAudioElement | YT.Player | VimeoPlayer | null {
349
349
  if (this._youtubeSrc) {
350
- const player = this.shadowRoot?.querySelector("udex-media-player-youtube") as UDExMediaPlayerYoutube;
350
+ const player = this.shadowRoot?.querySelector("[udex-media-player-youtube]") as UDExMediaPlayerYoutube;
351
351
  return player?.getPlayer() || null;
352
352
  }
353
353
  if (this._vimeoSrc) {
354
- const player = this.shadowRoot?.querySelector("udex-media-player-vimeo") as UDExMediaPlayerVimeo;
354
+ const player = this.shadowRoot?.querySelector("[udex-media-player-vimeo]") as UDExMediaPlayerVimeo;
355
355
  return player?.getPlayer() || null;
356
356
  }
357
357
  return this.shadowRoot?.querySelector(".video-js video") as HTMLVideoElement || this.shadowRoot?.querySelector(".video-js audio") || null;
@@ -10,6 +10,7 @@ import {
10
10
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
11
11
  import MessageStrip from "@ui5/webcomponents/dist/MessageStrip.js";
12
12
  import messageStripCss from "@ui5/webcomponents/dist/generated/themes/MessageStrip.css.js";
13
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
13
14
  import UDExButton from "./Button.js";
14
15
  import {
15
16
  MESSAGE_STRIP_CLOSE_BUTTON,
@@ -73,7 +74,7 @@ type textStatusType = Record<Exclude<MessageStripDesign, "Action">, string>;
73
74
  renderer: litRender,
74
75
  styles: [messageStripCss, MessageStripCss],
75
76
  template: MessageStripTemplate,
76
- dependencies: [UDExButton],
77
+ dependencies: [UDExButton, UI5Icon],
77
78
  })
78
79
  /**
79
80
  * Fired when the close button is pressed either with a
@@ -29,7 +29,6 @@ import RadioButtonCss from "./generated/themes/RadioButton.css.js";
29
29
  tag: "udex-radio-button",
30
30
  renderer: litRender,
31
31
  styles: [radioButtonCss, RadioButtonCss],
32
- dependencies: [RadioButton],
33
32
  })
34
33
  class UDExRadioButton extends RadioButton {
35
34
  /**
package/src/Search.hbs CHANGED
@@ -1,6 +1,6 @@
1
- <div class="udex-search__root {{classWithPrefix}}">
1
+ <div class="udex-search__root {{searchClasses}}">
2
2
  {{#if isShowSearchHomePrefix}}
3
- <div class="udex-search__prefix">
3
+ <div class="udex-search__prefix {{prefixWrapperClasses}}">
4
4
  <button
5
5
  type="button"
6
6
  role="combobox"
@@ -14,7 +14,7 @@
14
14
  </button>
15
15
  <ui5-popover
16
16
  id="udex-search-prefix"
17
- class="udex-search__prefix-popover"
17
+ class="{{prefixPopoverClasses}}"
18
18
  hide-arrow
19
19
  placement-type="Bottom"
20
20
  horizontal-align="Left"
package/src/Search.ts CHANGED
@@ -88,6 +88,8 @@ export enum Mode {
88
88
  HomeSearch = "Home Search"
89
89
  }
90
90
 
91
+ export type PopoverPlacement = "Bottom" | "Top";
92
+
91
93
  /**
92
94
  * @class
93
95
  *
@@ -214,6 +216,15 @@ class UDExSearch extends UI5Element {
214
216
  @property({ type: Boolean, noAttribute: true })
215
217
  showResetButton!: boolean;
216
218
 
219
+ /**
220
+ * Defines where the SuggestionPopover is currently placed.
221
+ *
222
+ * @default "Bottom"
223
+ * @private
224
+ */
225
+ @property({ type: String, noAttribute: true, defaultValue: "Bottom" })
226
+ _popoverPlacement!: PopoverPlacement;
227
+
217
228
  /**
218
229
  * Defines display the submit button for the search field.
219
230
  *
@@ -709,7 +720,7 @@ class UDExSearch extends UI5Element {
709
720
  return this.shadowRoot!.querySelector(".udex-search__prefix") as HTMLElement;
710
721
  }
711
722
 
712
- getPrefixPopover() {
723
+ getPrefixPopover(): Popover {
713
724
  return this.shadowRoot!.querySelector<Popover>("[ui5-popover]")!;
714
725
  }
715
726
 
@@ -726,8 +737,9 @@ class UDExSearch extends UI5Element {
726
737
  this._prefixDropdownExpanded = true;
727
738
  dropdown.showAt(this.getPrefixButton());
728
739
  dropdown.style.width = `${button.offsetWidth + 1}px`;
740
+ dropdown.classList.add(this.prefixPopoverClasses);
729
741
  button.classList.add("udex-search__prefix-button--active");
730
- wrapper.classList.add("udex-search__prefix--show-popover");
742
+ wrapper.classList.add(this.prefixWrapperClasses);
731
743
  this.dropdownPrefix[0].addEventListener("item-press", this.handleItemClick);
732
744
  }
733
745
  }
@@ -750,8 +762,7 @@ class UDExSearch extends UI5Element {
750
762
  handleAfterClosePrefixPopover() {
751
763
  const wrapper = this.getPrefixWrapper();
752
764
  const button = this.getPrefixButton();
753
-
754
- wrapper.classList.remove("udex-search__prefix--show-popover");
765
+ wrapper.classList.remove("udex-search__prefix--show-popover", "udex-search__prefix--show-popover-top");
755
766
  button.classList.remove("udex-search__prefix-button--active");
756
767
  }
757
768
 
@@ -790,10 +801,9 @@ class UDExSearch extends UI5Element {
790
801
  console.warn(error.message);
791
802
  });
792
803
  } else {
804
+ this.open = true;
793
805
  this.Suggestion.open();
794
806
  }
795
-
796
- this.handleClassToRoot();
797
807
  this.handleAriaExpanded();
798
808
  }
799
809
  }
@@ -801,9 +811,8 @@ class UDExSearch extends UI5Element {
801
811
  onClosePopover(): void {
802
812
  if (this.showSuggestedPopover) {
803
813
  this.Suggestion!.close();
804
- this.handleClassToRoot();
805
814
  this.handleAriaExpanded();
806
- this.openSuggestionPopup = false;
815
+ this.open = false;
807
816
  }
808
817
  }
809
818
 
@@ -811,16 +820,11 @@ class UDExSearch extends UI5Element {
811
820
  this.Suggestion?.handleKeyPress(e);
812
821
  }
813
822
 
814
- handleClassToRoot() {
815
- const hasAdditionRootClass = !this.shadowRoot?.querySelector(".udex-search__root")?.classList.contains("udex-search__root--show-popover");
816
-
817
- if (this.mode === Mode.HomeSearch && hasAdditionRootClass && this.open) {
818
- this.shadowRoot?.querySelector(".udex-search__root")?.classList.add("udex-search__root--show-popover");
819
- }
820
-
821
- if (this.mode === Mode.HomeSearch && !hasAdditionRootClass && !this.open) {
822
- this.shadowRoot?.querySelector(".udex-search__root")?.classList.remove("udex-search__root--show-popover");
823
+ get rootClasses(): string {
824
+ if (this.mode === Mode.HomeSearch && this.showSuggestedPopover && this.open) {
825
+ return this.isSuggestionPopoverTop ? "udex-search__root--show-popover-top" : "udex-search__root--show-popover";
823
826
  }
827
+ return "";
824
828
  }
825
829
 
826
830
  onBeforeRendering(): void {
@@ -875,8 +879,39 @@ class UDExSearch extends UI5Element {
875
879
  }
876
880
  }
877
881
 
882
+ private _createObserver(popover: Popover, ingoreOpenState: boolean = false): MutationObserver {
883
+ return new MutationObserver(mutationList => {
884
+ mutationList.forEach(mutation => {
885
+ const newValue = popover?.actualPlacementType;
886
+ const oldValue = mutation.oldValue;
887
+
888
+ if (mutation.attributeName === "actual-placement-type" && newValue !== oldValue) {
889
+ this._popoverPlacement = newValue as PopoverPlacement;
890
+ }
891
+
892
+ if (mutation.attributeName === "open" && newValue !== oldValue && !ingoreOpenState) {
893
+ this.open = popover?.open || false;
894
+ }
895
+ });
896
+ });
897
+ }
898
+
878
899
  onAfterRendering(): void {
879
900
  if (this.showSuggestedPopover) {
901
+ const prefixPopover = this.getPrefixPopover();
902
+
903
+ if (this.Suggestion?.popover) {
904
+ const suggestionObserver = this._createObserver(this.Suggestion.popover);
905
+ const popoverNode = this.Suggestion?.popover as Node;
906
+ suggestionObserver.observe(popoverNode, { attributes: true, attributeOldValue: true });
907
+ }
908
+
909
+ if (prefixPopover) {
910
+ const prefixObserver = this._createObserver(prefixPopover, true);
911
+ const popoverNode = prefixPopover as Node;
912
+ prefixObserver.observe(popoverNode, { attributes: true, attributeOldValue: true });
913
+ }
914
+
880
915
  this.handleOutsideClick();
881
916
  this.handleOpenSuggestionPopover();
882
917
  this.setSearchWidth();
@@ -941,7 +976,6 @@ class UDExSearch extends UI5Element {
941
976
  e.preventDefault();
942
977
  } else {
943
978
  this.Suggestion?.onEnter(e);
944
- this.fireDropdownItemClick(this.value);
945
979
  }
946
980
  this.handleSubmitValue();
947
981
  }
@@ -957,7 +991,6 @@ class UDExSearch extends UI5Element {
957
991
  if (isEscape(e)) {
958
992
  if (this.open) {
959
993
  this.Suggestion?.onEscape(e);
960
- this.handleClassToRoot();
961
994
  }
962
995
  this.fireEvent("handle-close-search");
963
996
  }
@@ -976,7 +1009,6 @@ class UDExSearch extends UI5Element {
976
1009
  handleTabKeyList(e: KeyboardEvent) {
977
1010
  if (isTabNext(e)) {
978
1011
  this.Suggestion?.onKeyTabList(e);
979
- this.handleClassToRoot();
980
1012
  }
981
1013
  }
982
1014
 
@@ -1156,6 +1188,16 @@ class UDExSearch extends UI5Element {
1156
1188
  return this._recommendLabel;
1157
1189
  }
1158
1190
 
1191
+ get isSuggestionPopoverTop(): boolean {
1192
+ const suggestionPopover = this.Suggestion?.popover;
1193
+ return suggestionPopover! && suggestionPopover.open && this._popoverPlacement === "Top";
1194
+ }
1195
+
1196
+ get isPrefixSuggestionPopoverTop(): boolean {
1197
+ const prefixSuggestionPopover = this.getPrefixPopover();
1198
+ return prefixSuggestionPopover && prefixSuggestionPopover.open && this._popoverPlacement === "Top";
1199
+ }
1200
+
1159
1201
  get isShowSearchHomePrefix(): boolean {
1160
1202
  return this.isHomeSearchWithPrefixMode && !!this.dropdownPrefix.length;
1161
1203
  }
@@ -1168,12 +1210,31 @@ class UDExSearch extends UI5Element {
1168
1210
  return this.mode === Mode.HomeSearch && !!this.dropdownPrefix.length;
1169
1211
  }
1170
1212
 
1213
+ get searchClasses(): string {
1214
+ return `${this.classWithPrefix} ${this.rootClasses}`;
1215
+ }
1216
+
1217
+ get prefixWrapperClasses(): string {
1218
+ const prefixPopover = this.getPrefixPopover();
1219
+ if (prefixPopover && prefixPopover.open) {
1220
+ return this._popoverPlacement === "Top" ? "udex-search__prefix--show-popover-top" : "udex-search__prefix--show-popover";
1221
+ }
1222
+ return "";
1223
+ }
1224
+
1225
+ get prefixPopoverClasses(): string {
1226
+ return this.isPrefixSuggestionPopoverTop ? "udex-search__prefix-popover-top" : "udex-search__prefix-popover";
1227
+ }
1228
+
1171
1229
  get classWithPrefix(): string {
1172
1230
  return this.isHomeSearchWithPrefixMode ? "udex-search-prefix" : "";
1173
1231
  }
1174
1232
 
1175
1233
  get homeSearchPopoverClass(): string {
1176
- return this.isHomeSearchMode || this.isHomeSearchWithPrefixMode ? "udex-search-suggestions__root--home" : "";
1234
+ if (this.isHomeSearchMode || this.isHomeSearchWithPrefixMode) {
1235
+ return this.isSuggestionPopoverTop ? "udex-search-suggestions__root-top--home" : "udex-search-suggestions__root--home";
1236
+ }
1237
+ return "";
1177
1238
  }
1178
1239
 
1179
1240
  get homeSearchWithPrefixPopoverClass(): string {
@@ -393,12 +393,12 @@ class UDExSearchableListBase extends UI5Element {
393
393
  }
394
394
 
395
395
  getSearch(): Search {
396
- return this.shadowRoot!.querySelector<Search>("udex-search")!;
396
+ return this.shadowRoot!.querySelector<Search>("[udex-search]")!;
397
397
  }
398
398
 
399
399
  getDomListItems(): Element[] {
400
- const elementList = this.shadowRoot!.querySelector("udex-list") as HTMLElement;
401
- return elementList ? Array.from(elementList.querySelectorAll("udex-list-item")) : [];
400
+ const elementList = this.shadowRoot!.querySelector("[udex-list]") as HTMLElement;
401
+ return elementList ? Array.from(elementList.querySelectorAll("[udex-list-item]")) : [];
402
402
  }
403
403
 
404
404
  setItemsModeAndControl(items: Array<UDExFilterMenuItem>) {
@@ -411,7 +411,7 @@ class UDExSecondaryNavigation extends UI5Element {
411
411
  }
412
412
 
413
413
  get domNavItems(): Array<UDExSecondaryNavigationItem> {
414
- const items = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationItem>("udex-secondary-navigation-item");
414
+ const items = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationItem>("[udex-secondary-navigation-item]");
415
415
  return items ? Array.from(items) : [];
416
416
  }
417
417
 
@@ -378,7 +378,7 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
378
378
  }
379
379
 
380
380
  get domNavItems(): Array<UDExSecondaryNavigationSubItem> {
381
- const domNavItems = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationSubItem>("udex-secondary-navigation-sub-item");
381
+ const domNavItems = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationSubItem>("[udex-secondary-navigation-sub-item]");
382
382
  return domNavItems ? Array.from(domNavItems) : [];
383
383
  }
384
384
 
package/src/SelectBox.ts CHANGED
@@ -22,7 +22,7 @@ import Tokenizer from "@ui5/webcomponents/dist/Tokenizer.js";
22
22
  import Icon from "@ui5/webcomponents/dist/Icon.js";
23
23
  import Token from "@ui5/webcomponents/dist/Token.js";
24
24
  import ResizeHandler, { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
25
- import ResponsivePopover from "@ui5/webcomponents/dist/ResponsivePopover.js";
25
+ import Popover from "@ui5/webcomponents/dist/Popover.js";
26
26
  import UDExList from "./List.js";
27
27
  import UDExListItem from "./ListItem.js";
28
28
  import UDExListGroupHeader from "./ListGroupHeader.js";
@@ -86,7 +86,7 @@ import UDExTagGroup from "./TagGroup.js";
86
86
  Icon,
87
87
  UDExStatusMessage,
88
88
  UDExControlButton,
89
- ResponsivePopover,
89
+ Popover,
90
90
  UDExTagGroup,
91
91
  ],
92
92
  })
@@ -246,7 +246,7 @@ class UDExSelectBox extends UDExSearchableListBase {
246
246
  _showTagsDropdownContent!: boolean;
247
247
 
248
248
  _trigger!: HTMLElement;
249
- _popover!: ResponsivePopover;
249
+ _popover!: Popover;
250
250
  _tokenizer!: Tokenizer;
251
251
  _search!: UDExSearch;
252
252
  _singleSelectedOption!: string;
@@ -576,12 +576,12 @@ class UDExSelectBox extends UDExSearchableListBase {
576
576
  this.fireEvent("show-more");
577
577
  }
578
578
 
579
- getPopover(): ResponsivePopover {
580
- return this.shadowRoot!.querySelector<ResponsivePopover>("[ui5-popover]")!;
579
+ getPopover(): Popover {
580
+ return this.shadowRoot!.querySelector<Popover>("[ui5-popover]")!;
581
581
  }
582
582
 
583
583
  getSearch(): UDExSearch {
584
- return this.shadowRoot!.querySelector<UDExSearch>("udex-search")!;
584
+ return this.shadowRoot!.querySelector<UDExSearch>("[udex-search]")!;
585
585
  }
586
586
 
587
587
  getTrigger(): HTMLElement {
@@ -589,12 +589,12 @@ class UDExSelectBox extends UDExSearchableListBase {
589
589
  }
590
590
 
591
591
  getTagGroup(): UDExTagGroup {
592
- return this.shadowRoot!.querySelector<UDExTagGroup>("udex-tag-group")!;
592
+ return this.shadowRoot!.querySelector<UDExTagGroup>("[udex-tag-group]")!;
593
593
  }
594
594
 
595
595
  getTags(): Array<UDExTag> {
596
596
  if (this.getTagGroup()) {
597
- return Array.from(this.getTagGroup().shadowRoot!.querySelectorAll<UDExTag>("udex-tag"));
597
+ return Array.from(this.getTagGroup().shadowRoot!.querySelectorAll<UDExTag>("[udex-tag]"));
598
598
  }
599
599
  return [];
600
600
  }
@@ -698,7 +698,7 @@ class UDExSelectBox extends UDExSearchableListBase {
698
698
  return {
699
699
  "ariaLabel": this.accessibleName || this.label || undefined,
700
700
  "ariaLabelledBy": this.accessibleNameRef || undefined,
701
- "ariaControls": this.shadowRoot?.querySelector("udex-list")?.getAttribute("id"),
701
+ "ariaControls": this.shadowRoot?.querySelector("[udex-list]")?.getAttribute("id"),
702
702
  };
703
703
  }
704
704
 
@@ -101,7 +101,7 @@ class UDExSideNavigationMobile extends UI5Element {
101
101
 
102
102
  async _getResponsePopover() {
103
103
  const staticAreaItem = await this.getStaticAreaItemDomRef();
104
- return staticAreaItem!.querySelector<UDExDropdown>(`udex-dropdown`)!;
104
+ return staticAreaItem!.querySelector<UDExDropdown>(`[udex-dropdown]`)!;
105
105
  }
106
106
 
107
107
  _afterDropdownOpen() {
package/src/StepInput.ts CHANGED
@@ -306,7 +306,7 @@ class UDExStepInput extends UI5Element {
306
306
  }
307
307
 
308
308
  get inputOuter() {
309
- return this.shadowRoot!.querySelector("udex-text-field")!;
309
+ return this.shadowRoot!.querySelector("[udex-text-field]")!;
310
310
  }
311
311
 
312
312
  _onInputFocusIn() {
package/src/TabHeader.hbs CHANGED
@@ -45,7 +45,7 @@
45
45
  {{/if}}
46
46
  </span>
47
47
  {{/if}}
48
- <span class="udex-tab-navigation__button-text {{classWithIcon}}">
48
+ <p class="udex-tab-navigation__button-text {{classWithIcon}}">
49
49
  {{text}}
50
50
  {{#if numberBadge}}
51
51
  <udex-badge
@@ -56,7 +56,7 @@
56
56
  {{numberBadge}}
57
57
  </udex-badge>
58
58
  {{/if}}
59
- </span>
59
+ </p>
60
60
  {{#if hasNotIcon}}
61
61
  <span class="udex-tab-navigation__button-badge"></span>
62
62
  {{/if}}
@@ -7,7 +7,7 @@ import event from "@ui5/webcomponents-base/dist/decorators/event.js";
7
7
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
8
8
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
9
9
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
10
- import ResponsivePopover from "@ui5/webcomponents/dist/ResponsivePopover.js";
10
+ import Popover from "@ui5/webcomponents/dist/Popover.js";
11
11
  import executeTemplate from "@ui5/webcomponents-base/dist/renderer/executeTemplate.js";
12
12
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
13
13
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
@@ -24,8 +24,8 @@ import {
24
24
  isTabNext,
25
25
  isTabPrevious,
26
26
  } from "@ui5/webcomponents-base/dist/Keys.js";
27
+ import Icon from "@ui5/webcomponents/dist/Icon.js";
27
28
  import Tab, { ITab } from "./Tab.js";
28
- import "@ui5/webcomponents/dist/Icon.js";
29
29
  import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
30
30
  import { MORE } from "./generated/i18n/i18n-defaults.js";
31
31
 
@@ -72,7 +72,7 @@ export enum Mode {
72
72
  renderer: litRender,
73
73
  styles: [TabNavigationCss, TabInOverflowCss],
74
74
  template: TabNavigationTemplate,
75
- dependencies: [ResponsivePopover],
75
+ dependencies: [Popover, Icon],
76
76
  })
77
77
  /**
78
78
  * Fires when the tab was clicked.
@@ -157,9 +157,9 @@ class UDExTabNavigation extends UI5Element {
157
157
 
158
158
  static i18nBundle: any;
159
159
  _handleResizeBound: () => void;
160
- _responsivePopover?: ResponsivePopover;
160
+ _popover?: Popover;
161
161
  _visibleTabs?: Array<ITab | HTMLElement>;
162
- _isExpanded!: boolean;
162
+ _isExpanded: boolean = false;
163
163
  _maxTitleLength: number = 25;
164
164
  _maxTitleLengthInSecondLines: number = this._maxTitleLength * 2;
165
165
 
@@ -270,7 +270,7 @@ class UDExTabNavigation extends UI5Element {
270
270
  }
271
271
 
272
272
  initOutsideClick() {
273
- if (this._responsivePopover?.opened) {
273
+ if (this._popover?.opened) {
274
274
  this.handleOutsideClick();
275
275
  }
276
276
  }
@@ -569,8 +569,9 @@ class UDExTabNavigation extends UI5Element {
569
569
  return this.shadowRoot!.querySelector<HTMLElement>(`#${this.__id!}-header`)!;
570
570
  }
571
571
 
572
- handleMoreButton() {
573
- this._responsivePopover = this.getResponsePopover();
572
+ handleMoreButton(e: Event) {
573
+ e.stopPropagation();
574
+ this._popover = this.getResponsePopover();
574
575
  this.updateOverflowItems();
575
576
  this.handleTogglePopover();
576
577
  }
@@ -583,7 +584,7 @@ class UDExTabNavigation extends UI5Element {
583
584
  }
584
585
 
585
586
  handleTogglePopover() {
586
- if (this._responsivePopover?.opened) {
587
+ if (this._popover?.opened) {
587
588
  this.handleClosePopover();
588
589
  } else {
589
590
  this.handleOpenPopover();
@@ -591,16 +592,16 @@ class UDExTabNavigation extends UI5Element {
591
592
  }
592
593
 
593
594
  handleClosePopover() {
594
- if (this._responsivePopover?.opened) {
595
- this._responsivePopover.close();
595
+ if (this._popover?.opened) {
596
+ this._popover.close();
596
597
  this.getMoreButton().classList.remove("udex-tab-navigation__button-more--toggled");
597
598
  this._isExpanded = false;
598
599
  }
599
600
  }
600
601
 
601
602
  handleOpenPopover() {
602
- if (!this._responsivePopover?.opened) {
603
- this._responsivePopover!.showAt(this.getMoreButton());
603
+ if (!this._popover?.opened) {
604
+ this._popover!.showAt(this.getMoreButton());
604
605
  this.getMoreButton().classList.add("udex-tab-navigation__button-more--toggled");
605
606
  this._isExpanded = true;
606
607
  }
@@ -690,7 +691,7 @@ class UDExTabNavigation extends UI5Element {
690
691
  handleEnterKeyMoreButton(e: KeyboardEvent) {
691
692
  if (isEnter(e)) {
692
693
  e.preventDefault();
693
- this._responsivePopover = this.getResponsePopover();
694
+ this._popover = this.getResponsePopover();
694
695
  this.updateOverflowItems();
695
696
  this.handleOpenPopover();
696
697
  }
@@ -698,14 +699,14 @@ class UDExTabNavigation extends UI5Element {
698
699
 
699
700
  handleDownMoreButton(e: KeyboardEvent) {
700
701
  if (isDown(e) || isEnter(e)) {
701
- this._responsivePopover = this.getResponsePopover();
702
+ this._popover = this.getResponsePopover();
702
703
  this.handleOpenPopover();
703
704
  this.updateOverflowItems();
704
705
  }
705
706
  }
706
707
 
707
708
  onFocusFirstItemPopover() {
708
- if (this._responsivePopover?.opened) {
709
+ if (this._popover?.opened) {
709
710
  const popoverItems = this.getItemsFromPopover();
710
711
  const firstPopoverItem = popoverItems[0];
711
712
  firstPopoverItem.setAttribute("tabindex", "0");
@@ -811,8 +812,8 @@ class UDExTabNavigation extends UI5Element {
811
812
  }
812
813
  }
813
814
 
814
- getResponsePopover(): ResponsivePopover {
815
- return this.shadowRoot!.querySelector<ResponsivePopover>("[ui5-popover]")!;
815
+ getResponsePopover(): Popover {
816
+ return this.shadowRoot!.querySelector<Popover>("[ui5-popover]")!;
816
817
  }
817
818
 
818
819
  get moreButtonText(): string {
package/src/Table.ts CHANGED
@@ -301,7 +301,7 @@ class UDExTable extends UI5Element {
301
301
 
302
302
  getParentRow(): UDExTableRow | UDExTableHeaderRow | UDExTableGroupRow {
303
303
  const focusedElement = document.activeElement as HTMLElement;
304
- return focusedElement.closest("udex-table-row, udex-table-header-row, udex-table-group-row")!;
304
+ return focusedElement.closest("[udex-table-row], [udex-table-header-row], [udex-table-group-row]")!;
305
305
  }
306
306
 
307
307
  getKeyboardNavigationItems(): Array<KeyBoardItem> {
@@ -347,7 +347,7 @@ class UDExTable extends UI5Element {
347
347
 
348
348
  getInteractiveElements(el: TableBaseRow): Array<HTMLElement> {
349
349
  return el.cells.flatMap(cell => Array.from(
350
- cell.querySelectorAll("button, a, udex-button, udex-link, udex-rating-indicator"),
350
+ cell.querySelectorAll("button, a, [udex-button], [udex-link], [udex-rating-indicator]"),
351
351
  ));
352
352
  }
353
353
 
@@ -6,7 +6,7 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
6
6
 
7
7
  function block0 (this: BreadcrumbsPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-dropdown", tags, suffix)} id="udex-${ifDefined(this._id)}-breadcrumbs__popover" class="udex-breadcrumbs__popover ui5-breadcrumbs-popover" placement-type="Bottom" horizontal-align="Left" @after-open="${this._afterDropdownOpen}" @after-close="${this._afterDropdownClose}" @keydown="${this._handleKeydown}"><div class="udex-breadcrumbs__popover-content">${ repeat(this._dropdownItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }</div></${scopeTag("udex-dropdown", tags, suffix)}>` : html`<udex-dropdown id="udex-${ifDefined(this._id)}-breadcrumbs__popover" class="udex-breadcrumbs__popover ui5-breadcrumbs-popover" placement-type="Bottom" horizontal-align="Left" @after-open="${this._afterDropdownOpen}" @after-close="${this._afterDropdownClose}" @keydown="${this._handleKeydown}"><div class="udex-breadcrumbs__popover-content">${ repeat(this._dropdownItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }</div></udex-dropdown>`;}
8
8
  function block1 (this: BreadcrumbsPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ item.icon ? block2.call(this, context, tags, suffix, item, index) : block3.call(this, context, tags, suffix, item, index) }`;}
9
- function block2 (this: BreadcrumbsPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("udex-link", tags, suffix)} index="${index}" id="${ifDefined(item._id)}-li" @ui5-click="${ifDefined(this._onDropdownLinkPress)}" href="${ifDefined(item.href)}" target="${ifDefined(item.target)}" class="udex-breadcrumbs__item udex-breadcrumbs__item--${index} udex-breadcrumbs__item--with-icon" icon=${ifDefined(item.icon)} icon-placement="start" accessible-name="${ifDefined(item.textContent)}" data-ui5-stable="${ifDefined(item.stableDomRef)}">${ifDefined(item.textContent)}</${scopeTag("udex-link", tags, suffix)}>` : html`<udex-link index="${index}" id="${ifDefined(item._id)}-li" @ui5-click="${ifDefined(this._onDropdownLinkPress)}" href="${ifDefined(item.href)}" target="${ifDefined(item.target)}" class="udex-breadcrumbs__item udex-breadcrumbs__item--${index} udex-breadcrumbs__item--with-icon" icon=${ifDefined(item.icon)} icon-placement="start" accessible-name="${ifDefined(item.textContent)}" data-ui5-stable="${ifDefined(item.stableDomRef)}">${ifDefined(item.textContent)}</udex-link>`;}
9
+ function block2 (this: BreadcrumbsPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("udex-link", tags, suffix)} index="${index}" id="${ifDefined(item._id)}-li" @ui5-click="${ifDefined(this._onDropdownLinkPress)}" href="${ifDefined(item.href)}" target="${ifDefined(item.target)}" class="udex-breadcrumbs__item udex-breadcrumbs__item--${index} udex-breadcrumbs__item--with-icon" icon=${ifDefined(item.icon)} icon-placement="Start" accessible-name="${ifDefined(item.textContent)}" data-ui5-stable="${ifDefined(item.stableDomRef)}">${ifDefined(item.textContent)}</${scopeTag("udex-link", tags, suffix)}>` : html`<udex-link index="${index}" id="${ifDefined(item._id)}-li" @ui5-click="${ifDefined(this._onDropdownLinkPress)}" href="${ifDefined(item.href)}" target="${ifDefined(item.target)}" class="udex-breadcrumbs__item udex-breadcrumbs__item--${index} udex-breadcrumbs__item--with-icon" icon=${ifDefined(item.icon)} icon-placement="Start" accessible-name="${ifDefined(item.textContent)}" data-ui5-stable="${ifDefined(item.stableDomRef)}">${ifDefined(item.textContent)}</udex-link>`;}
10
10
  function block3 (this: BreadcrumbsPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ item._isCurrentPageItem ? block4.call(this, context, tags, suffix, item, index) : block5.call(this, context, tags, suffix, item, index) }`;}
11
11
  function block4 (this: BreadcrumbsPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<span id="${ifDefined(item._id)}-li" class="udex-breadcrumbs__item udex-breadcrumb__item--current udex-breadcrumbs__item--${index}" accessible-name="${ifDefined(item.accessibleName)}" data-ui5-stable="${ifDefined(item.stableDomRef)}">${ifDefined(item.textContent)}</span>`;}
12
12
  function block5 (this: BreadcrumbsPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("udex-link", tags, suffix)} index="${index}" id="${ifDefined(item._id)}-li" @ui5-click="${ifDefined(this._onDropdownLinkPress)}" href="${ifDefined(item.href)}" target="${ifDefined(item.target)}" class="udex-breadcrumbs__item udex-breadcrumbs__item--${index}" accessible-name="${ifDefined(item.accessibleName)}" data-ui5-stable="${ifDefined(item.stableDomRef)}">${ifDefined(item.textContent)}</${scopeTag("udex-link", tags, suffix)}>` : html`<udex-link index="${index}" id="${ifDefined(item._id)}-li" @ui5-click="${ifDefined(this._onDropdownLinkPress)}" href="${ifDefined(item.href)}" target="${ifDefined(item.target)}" class="udex-breadcrumbs__item udex-breadcrumbs__item--${index}" accessible-name="${ifDefined(item.accessibleName)}" data-ui5-stable="${ifDefined(item.stableDomRef)}">${ifDefined(item.textContent)}</udex-link>`;}
@@ -4,7 +4,7 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
4
4
  type DatePickerPopover = any;
5
5
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
6
6
 
7
- function block0 (this: DatePickerPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-dropdown", tags, suffix)} id="udex-${ifDefined(this._id)}-calendar__popover" class="udex-date-picker__popover" placement-type="Bottom" horizontal-align="Left" @after-close="${this._afterDropdownClose}" @after-open="${this._afterDropdownOpen}"><${scopeTag("ui5-calendar", tags, suffix)} class="udex-date-picker__calendar" @ui5-selected-dates-change="${ifDefined(this.handleCalendarChange)}" selection-mode="${ifDefined(this.selectionMode)}" min-date="${ifDefined(this.minDate)}" max-date="${ifDefined(this.maxDate)}" format-pattern="${ifDefined(this.formatPattern)}">${ repeat(this._calendarSelectedDates, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }</${scopeTag("ui5-calendar", tags, suffix)}></${scopeTag("udex-dropdown", tags, suffix)}>` : html`<udex-dropdown id="udex-${ifDefined(this._id)}-calendar__popover" class="udex-date-picker__popover" placement-type="Bottom" horizontal-align="Left" @after-close="${this._afterDropdownClose}" @after-open="${this._afterDropdownOpen}"><ui5-calendar class="udex-date-picker__calendar" @ui5-selected-dates-change="${ifDefined(this.handleCalendarChange)}" selection-mode="${ifDefined(this.selectionMode)}" min-date="${ifDefined(this.minDate)}" max-date="${ifDefined(this.maxDate)}" format-pattern="${ifDefined(this.formatPattern)}">${ repeat(this._calendarSelectedDates, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }</ui5-calendar></udex-dropdown>`;}
7
+ function block0 (this: DatePickerPopover, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-dropdown", tags, suffix)} id="udex-${ifDefined(this._id)}-calendar__popover" class="udex-date-picker__popover" placement-type="Bottom" horizontal-align="Left" @ui5-after-close="${ifDefined(this._afterDropdownClose)}" @ui5-after-open="${ifDefined(this._afterDropdownOpen)}"><${scopeTag("ui5-calendar", tags, suffix)} class="udex-date-picker__calendar" @ui5-selected-dates-change="${ifDefined(this.handleCalendarChange)}" selection-mode="${ifDefined(this.selectionMode)}" min-date="${ifDefined(this.minDate)}" max-date="${ifDefined(this.maxDate)}" format-pattern="${ifDefined(this.formatPattern)}">${ repeat(this._calendarSelectedDates, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }</${scopeTag("ui5-calendar", tags, suffix)}></${scopeTag("udex-dropdown", tags, suffix)}>` : html`<udex-dropdown id="udex-${ifDefined(this._id)}-calendar__popover" class="udex-date-picker__popover" placement-type="Bottom" horizontal-align="Left" @ui5-after-close="${ifDefined(this._afterDropdownClose)}" @ui5-after-open="${ifDefined(this._afterDropdownOpen)}"><ui5-calendar class="udex-date-picker__calendar" @ui5-selected-dates-change="${ifDefined(this.handleCalendarChange)}" selection-mode="${ifDefined(this.selectionMode)}" min-date="${ifDefined(this.minDate)}" max-date="${ifDefined(this.maxDate)}" format-pattern="${ifDefined(this.formatPattern)}">${ repeat(this._calendarSelectedDates, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }</ui5-calendar></udex-dropdown>`;}
8
8
  function block1 (this: DatePickerPopover, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("ui5-date", tags, suffix)} value="${ifDefined(item)}"></${scopeTag("ui5-date", tags, suffix)}>` : html`<ui5-date value="${ifDefined(item)}"></ui5-date>`;}
9
9
 
10
10