@ui5/webcomponents-fiori 1.21.1 → 1.22.0-rc.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 (166) hide show
  1. package/CHANGELOG.md +5 -2
  2. package/dist/Bar.d.ts +6 -27
  3. package/dist/Bar.js +3 -14
  4. package/dist/Bar.js.map +1 -1
  5. package/dist/BarcodeScannerDialog.d.ts +2 -13
  6. package/dist/BarcodeScannerDialog.js +10 -12
  7. package/dist/BarcodeScannerDialog.js.map +1 -1
  8. package/dist/DynamicSideContent.d.ts +9 -35
  9. package/dist/DynamicSideContent.js +15 -7
  10. package/dist/DynamicSideContent.js.map +1 -1
  11. package/dist/FilterItem.d.ts +3 -14
  12. package/dist/FilterItem.js +1 -5
  13. package/dist/FilterItem.js.map +1 -1
  14. package/dist/FilterItemOption.d.ts +3 -11
  15. package/dist/FilterItemOption.js +1 -5
  16. package/dist/FilterItemOption.js.map +1 -1
  17. package/dist/FlexibleColumnLayout.d.ts +13 -51
  18. package/dist/FlexibleColumnLayout.js +28 -26
  19. package/dist/FlexibleColumnLayout.js.map +1 -1
  20. package/dist/IllustratedMessage.d.ts +9 -35
  21. package/dist/IllustratedMessage.js +1 -4
  22. package/dist/IllustratedMessage.js.map +1 -1
  23. package/dist/Interfaces.d.ts +28 -88
  24. package/dist/Interfaces.js +2 -113
  25. package/dist/Interfaces.js.map +1 -1
  26. package/dist/MediaGallery.d.ts +9 -26
  27. package/dist/MediaGallery.js +4 -8
  28. package/dist/MediaGallery.js.map +1 -1
  29. package/dist/MediaGalleryItem.d.ts +7 -22
  30. package/dist/MediaGalleryItem.js +2 -5
  31. package/dist/MediaGalleryItem.js.map +1 -1
  32. package/dist/NotificationAction.d.ts +7 -20
  33. package/dist/NotificationAction.js +3 -9
  34. package/dist/NotificationAction.js.map +1 -1
  35. package/dist/NotificationListGroupItem.d.ts +5 -27
  36. package/dist/NotificationListGroupItem.js +1 -16
  37. package/dist/NotificationListGroupItem.js.map +1 -1
  38. package/dist/NotificationListItem.d.ts +3 -27
  39. package/dist/NotificationListItem.js +2 -15
  40. package/dist/NotificationListItem.js.map +1 -1
  41. package/dist/NotificationListItemBase.d.ts +7 -32
  42. package/dist/NotificationListItemBase.js +15 -15
  43. package/dist/NotificationListItemBase.js.map +1 -1
  44. package/dist/Page.d.ts +7 -35
  45. package/dist/Page.js +2 -13
  46. package/dist/Page.js.map +1 -1
  47. package/dist/ProductSwitch.d.ts +3 -10
  48. package/dist/ProductSwitch.js +1 -5
  49. package/dist/ProductSwitch.js.map +1 -1
  50. package/dist/ProductSwitchItem.d.ts +9 -22
  51. package/dist/ProductSwitchItem.js +2 -7
  52. package/dist/ProductSwitchItem.js.map +1 -1
  53. package/dist/ShellBar.d.ts +30 -90
  54. package/dist/ShellBar.js +28 -41
  55. package/dist/ShellBar.js.map +1 -1
  56. package/dist/ShellBarItem.d.ts +9 -14
  57. package/dist/ShellBarItem.js +6 -6
  58. package/dist/ShellBarItem.js.map +1 -1
  59. package/dist/SideNavigation.d.ts +29 -17
  60. package/dist/SideNavigation.js +155 -9
  61. package/dist/SideNavigation.js.map +1 -1
  62. package/dist/SideNavigationItem.d.ts +4 -17
  63. package/dist/SideNavigationItem.js +1 -5
  64. package/dist/SideNavigationItem.js.map +1 -1
  65. package/dist/SideNavigationItemBase.d.ts +7 -36
  66. package/dist/SideNavigationItemBase.js +20 -12
  67. package/dist/SideNavigationItemBase.js.map +1 -1
  68. package/dist/SideNavigationSubItem.d.ts +1 -5
  69. package/dist/SideNavigationSubItem.js +1 -5
  70. package/dist/SideNavigationSubItem.js.map +1 -1
  71. package/dist/SortItem.d.ts +3 -11
  72. package/dist/SortItem.js +1 -5
  73. package/dist/SortItem.js.map +1 -1
  74. package/dist/Timeline.d.ts +5 -16
  75. package/dist/Timeline.js +1 -5
  76. package/dist/Timeline.js.map +1 -1
  77. package/dist/TimelineItem.d.ts +11 -34
  78. package/dist/TimelineItem.js +3 -15
  79. package/dist/TimelineItem.js.map +1 -1
  80. package/dist/UploadCollection.d.ts +11 -32
  81. package/dist/UploadCollection.js +7 -9
  82. package/dist/UploadCollection.js.map +1 -1
  83. package/dist/UploadCollectionItem.d.ts +16 -47
  84. package/dist/UploadCollectionItem.js +3 -10
  85. package/dist/UploadCollectionItem.js.map +1 -1
  86. package/dist/ViewSettingsDialog.d.ts +5 -28
  87. package/dist/ViewSettingsDialog.js +34 -18
  88. package/dist/ViewSettingsDialog.js.map +1 -1
  89. package/dist/Wizard.d.ts +15 -39
  90. package/dist/Wizard.js +23 -33
  91. package/dist/Wizard.js.map +1 -1
  92. package/dist/WizardStep.d.ts +8 -31
  93. package/dist/WizardStep.js +2 -5
  94. package/dist/WizardStep.js.map +1 -1
  95. package/dist/WizardTab.d.ts +20 -24
  96. package/dist/WizardTab.js +1 -5
  97. package/dist/WizardTab.js.map +1 -1
  98. package/dist/css/themes/SideNavigation.css +1 -1
  99. package/dist/custom-elements-internal.json +6682 -0
  100. package/dist/custom-elements.json +4098 -1
  101. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  102. package/dist/generated/i18n/i18n-defaults.js +2 -1
  103. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  104. package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js +6 -2
  105. package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js.map +1 -1
  106. package/dist/generated/templates/SideNavigationTemplate.lit.js +1 -1
  107. package/dist/generated/templates/SideNavigationTemplate.lit.js.map +1 -1
  108. package/dist/generated/themes/SideNavigation.css.js +1 -1
  109. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  110. package/dist/types/BarDesign.d.ts +0 -8
  111. package/dist/types/BarDesign.js +0 -8
  112. package/dist/types/BarDesign.js.map +1 -1
  113. package/dist/types/FCLLayout.d.ts +0 -13
  114. package/dist/types/FCLLayout.js +0 -13
  115. package/dist/types/FCLLayout.js.map +1 -1
  116. package/dist/types/IllustrationMessageSize.d.ts +0 -9
  117. package/dist/types/IllustrationMessageSize.js +0 -9
  118. package/dist/types/IllustrationMessageSize.js.map +1 -1
  119. package/dist/types/IllustrationMessageType.d.ts +0 -107
  120. package/dist/types/IllustrationMessageType.js +0 -107
  121. package/dist/types/IllustrationMessageType.js.map +1 -1
  122. package/dist/types/MediaGalleryItemLayout.d.ts +0 -6
  123. package/dist/types/MediaGalleryItemLayout.js +0 -6
  124. package/dist/types/MediaGalleryItemLayout.js.map +1 -1
  125. package/dist/types/MediaGalleryLayout.d.ts +0 -7
  126. package/dist/types/MediaGalleryLayout.js +0 -7
  127. package/dist/types/MediaGalleryLayout.js.map +1 -1
  128. package/dist/types/MediaGalleryMenuHorizontalAlign.d.ts +0 -6
  129. package/dist/types/MediaGalleryMenuHorizontalAlign.js +0 -6
  130. package/dist/types/MediaGalleryMenuHorizontalAlign.js.map +1 -1
  131. package/dist/types/MediaGalleryMenuVerticalAlign.d.ts +0 -6
  132. package/dist/types/MediaGalleryMenuVerticalAlign.js +0 -6
  133. package/dist/types/MediaGalleryMenuVerticalAlign.js.map +1 -1
  134. package/dist/types/PageBackgroundDesign.d.ts +0 -7
  135. package/dist/types/PageBackgroundDesign.js +0 -7
  136. package/dist/types/PageBackgroundDesign.js.map +1 -1
  137. package/dist/types/SideContentFallDown.d.ts +0 -8
  138. package/dist/types/SideContentFallDown.js +0 -8
  139. package/dist/types/SideContentFallDown.js.map +1 -1
  140. package/dist/types/SideContentPosition.d.ts +0 -6
  141. package/dist/types/SideContentPosition.js +0 -6
  142. package/dist/types/SideContentPosition.js.map +1 -1
  143. package/dist/types/SideContentVisibility.d.ts +0 -9
  144. package/dist/types/SideContentVisibility.js +0 -9
  145. package/dist/types/SideContentVisibility.js.map +1 -1
  146. package/dist/types/TimelineLayout.d.ts +0 -6
  147. package/dist/types/TimelineLayout.js +0 -6
  148. package/dist/types/TimelineLayout.js.map +1 -1
  149. package/dist/types/UploadCollectionDnDMode.d.ts +0 -7
  150. package/dist/types/UploadCollectionDnDMode.js +0 -7
  151. package/dist/types/UploadCollectionDnDMode.js.map +1 -1
  152. package/dist/types/UploadState.d.ts +0 -8
  153. package/dist/types/UploadState.js +0 -8
  154. package/dist/types/UploadState.js.map +1 -1
  155. package/dist/types/ViewSettingsDialogMode.d.ts +0 -6
  156. package/dist/types/ViewSettingsDialogMode.js +0 -6
  157. package/dist/types/ViewSettingsDialogMode.js.map +1 -1
  158. package/dist/types/WizardContentLayout.d.ts +0 -6
  159. package/dist/types/WizardContentLayout.js +0 -6
  160. package/dist/types/WizardContentLayout.js.map +1 -1
  161. package/package.json +7 -7
  162. package/src/SideNavigation.hbs +21 -0
  163. package/src/SideNavigationPopover.hbs +61 -28
  164. package/src/i18n/messagebundle.properties +3 -0
  165. package/src/themes/SideNavigation.css +11 -1
  166. package/dist/api.json +0 -1
package/dist/ShellBar.js CHANGED
@@ -55,15 +55,6 @@ const HANDLE_RESIZE_DEBOUNCE_RATE = 200; // ms
55
55
  * <li>product-switch</li>
56
56
  * </ul>
57
57
  *
58
- * <h3>CSS Shadow Parts</h3>
59
- *
60
- * <ui5-link target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/::part">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.
61
- * <br>
62
- * The <code>ui5-shellbar</code> exposes the following CSS Shadow Parts:
63
- * <ul>
64
- * <li>root - Used to style the outermost wrapper of the <code>ui5-shellbar</code></li>
65
- * </ul>
66
- *
67
58
  * <h3>Keyboard Handling</h3>
68
59
  *
69
60
  * <h4>Fast Navigation</h4>
@@ -75,12 +66,10 @@ const HANDLE_RESIZE_DEBOUNCE_RATE = 200; // ms
75
66
  * <h3>ES6 Module Import</h3>
76
67
  * <code>import "@ui5/webcomponents-fiori/dist/ShellBar";</code>
77
68
  *
69
+ * @csspart root - Used to style the outermost wrapper of the <code>ui5-shellbar</code>
70
+ *
78
71
  * @constructor
79
- * @author SAP SE
80
- * @alias sap.ui.webc.fiori.ShellBar
81
- * @extends sap.ui.webc.base.UI5Element
82
- * @tagname ui5-shellbar
83
- * @appenddocs sap.ui.webc.fiori.ShellBarItem
72
+ * @extends UI5Element
84
73
  * @public
85
74
  * @since 0.8.0
86
75
  */
@@ -225,8 +214,6 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
225
214
  * Closes the overflow area.
226
215
  * Useful to manually close the overflow after having suppressed automatic closing with preventDefault() of ShellbarItem's press event
227
216
  * @public
228
- * @method
229
- * @name sap.ui.webc.fiori.ShellBar#closeOverflow
230
217
  */
231
218
  closeOverflow() {
232
219
  if (this.overflowPopover) {
@@ -379,10 +366,8 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
379
366
  }
380
367
  /**
381
368
  * Returns the <code>logo</code> DOM ref.
382
- * @type {HTMLElement}
383
- * @name sap.ui.webc.fiori.ShellBar.prototype.logoDomRef
384
369
  * @public
385
- * @readonly
370
+ * @default null
386
371
  * @since 1.0.0-rc.16
387
372
  */
388
373
  get logoDomRef() {
@@ -390,10 +375,8 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
390
375
  }
391
376
  /**
392
377
  * Returns the <code>copilot</code> DOM ref.
393
- * @type {HTMLElement}
394
- * @name sap.ui.webc.fiori.ShellBar.prototype.copilotDomRef
395
378
  * @public
396
- * @readonly
379
+ * @default null
397
380
  * @since 1.0.0-rc.16
398
381
  */
399
382
  get copilotDomRef() {
@@ -401,10 +384,8 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
401
384
  }
402
385
  /**
403
386
  * Returns the <code>notifications</code> icon DOM ref.
404
- * @type {HTMLElement}
405
- * @name sap.ui.webc.fiori.ShellBar.prototype.notificationsDomRef
406
387
  * @public
407
- * @readonly
388
+ * @default null
408
389
  * @since 1.0.0-rc.16
409
390
  */
410
391
  get notificationsDomRef() {
@@ -412,10 +393,8 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
412
393
  }
413
394
  /**
414
395
  * Returns the <code>overflow</code> icon DOM ref.
415
- * @type {HTMLElement}
416
- * @name sap.ui.webc.fiori.ShellBar.prototype.overflowDomRef
417
396
  * @public
418
- * @readonly
397
+ * @default null
419
398
  * @since 1.0.0-rc.16
420
399
  */
421
400
  get overflowDomRef() {
@@ -423,10 +402,8 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
423
402
  }
424
403
  /**
425
404
  * Returns the <code>profile</code> icon DOM ref.
426
- * @type {HTMLElement}
427
- * @name sap.ui.webc.fiori.ShellBar.prototype.profileDomRef
428
405
  * @public
429
- * @readonly
406
+ * @default null
430
407
  * @since 1.0.0-rc.16
431
408
  */
432
409
  get profileDomRef() {
@@ -434,10 +411,8 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
434
411
  }
435
412
  /**
436
413
  * Returns the <code>product-switch</code> icon DOM ref.
437
- * @type {HTMLElement}
438
- * @name sap.ui.webc.fiori.ShellBar.prototype.productSwitchDomRef
439
414
  * @public
440
- * @readonly
415
+ * @default null
441
416
  * @since 1.0.0-rc.16
442
417
  */
443
418
  get productSwitchDomRef() {
@@ -445,7 +420,7 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
445
420
  }
446
421
  /**
447
422
  * Returns all items that will be placed in the right of the bar as icons / dom elements.
448
- * @param {boolean} showOverflowButton Determines if overflow button should be visible (not overflowing)
423
+ * @param showOverflowButton Determines if overflow button should be visible (not overflowing)
449
424
  */
450
425
  _getAllItems(showOverflowButton) {
451
426
  let domOrder = -1;
@@ -854,7 +829,6 @@ ShellBar = ShellBar_1 = __decorate([
854
829
  *
855
830
  * Fired, when the notification icon is activated.
856
831
  *
857
- * @event sap.ui.webc.fiori.ShellBar#notifications-click
858
832
  * @allowPreventDefault
859
833
  * @param {HTMLElement} targetRef dom ref of the activated element
860
834
  * @public
@@ -862,19 +836,24 @@ ShellBar = ShellBar_1 = __decorate([
862
836
  ,
863
837
  event("notifications-click", {
864
838
  detail: {
839
+ /**
840
+ * @public
841
+ */
865
842
  targetRef: { type: HTMLElement },
866
843
  },
867
844
  })
868
845
  /**
869
846
  * Fired, when the profile slot is present.
870
847
  *
871
- * @event sap.ui.webc.fiori.ShellBar#profile-click
872
848
  * @param {HTMLElement} targetRef dom ref of the activated element
873
849
  * @public
874
850
  */
875
851
  ,
876
852
  event("profile-click", {
877
853
  detail: {
854
+ /**
855
+ * @public
856
+ */
878
857
  targetRef: { type: HTMLElement },
879
858
  },
880
859
  })
@@ -882,7 +861,6 @@ ShellBar = ShellBar_1 = __decorate([
882
861
  * Fired, when the product switch icon is activated.
883
862
  * <b>Note:</b> You can prevent closing of overflow popover by calling <code>event.preventDefault()</code>.
884
863
  *
885
- * @event sap.ui.webc.fiori.ShellBar#product-switch-click
886
864
  * @allowPreventDefault
887
865
  * @param {HTMLElement} targetRef dom ref of the activated element
888
866
  * @public
@@ -890,13 +868,15 @@ ShellBar = ShellBar_1 = __decorate([
890
868
  ,
891
869
  event("product-switch-click", {
892
870
  detail: {
871
+ /**
872
+ * @public
873
+ */
893
874
  targetRef: { type: HTMLElement },
894
875
  },
895
876
  })
896
877
  /**
897
878
  * Fired, when the logo is activated.
898
879
  *
899
- * @event sap.ui.webc.fiori.ShellBar#logo-click
900
880
  * @param {HTMLElement} targetRef dom ref of the activated element
901
881
  * @since 0.10
902
882
  * @public
@@ -904,13 +884,15 @@ ShellBar = ShellBar_1 = __decorate([
904
884
  ,
905
885
  event("logo-click", {
906
886
  detail: {
887
+ /**
888
+ * @public
889
+ */
907
890
  targetRef: { type: HTMLElement },
908
891
  },
909
892
  })
910
893
  /**
911
894
  * Fired, when the co pilot is activated.
912
895
  *
913
- * @event sap.ui.webc.fiori.ShellBar#co-pilot-click
914
896
  * @param {HTMLElement} targetRef dom ref of the activated element
915
897
  * @since 0.10
916
898
  * @public
@@ -918,6 +900,9 @@ ShellBar = ShellBar_1 = __decorate([
918
900
  ,
919
901
  event("co-pilot-click", {
920
902
  detail: {
903
+ /**
904
+ * @public
905
+ */
921
906
  targetRef: { type: HTMLElement },
922
907
  },
923
908
  })
@@ -925,7 +910,6 @@ ShellBar = ShellBar_1 = __decorate([
925
910
  * Fired, when a menu item is activated
926
911
  * <b>Note:</b> You can prevent closing of overflow popover by calling <code>event.preventDefault()</code>.
927
912
  *
928
- * @event sap.ui.webc.fiori.ShellBar#menu-item-click
929
913
  * @param {HTMLElement} item DOM ref of the activated list item
930
914
  * @since 0.10
931
915
  * @public
@@ -933,6 +917,9 @@ ShellBar = ShellBar_1 = __decorate([
933
917
  ,
934
918
  event("menu-item-click", {
935
919
  detail: {
920
+ /**
921
+ * @public
922
+ */
936
923
  item: { type: HTMLElement },
937
924
  },
938
925
  })
@@ -1 +1 @@
1
- {"version":3,"file":"ShellBar.js","sourceRoot":"","sources":["../src/ShellBar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport StandardListItem from \"@ui5/webcomponents/dist/StandardListItem.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport type { ListSelectionChangeEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type Input from \"@ui5/webcomponents/dist/Input.js\";\nimport HasPopup from \"@ui5/webcomponents/dist/types/HasPopup.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport \"@ui5/webcomponents-icons/dist/bell.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\nimport \"@ui5/webcomponents-icons/dist/grid.js\";\nimport type { Timeout, ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type ShellBarItem from \"./ShellBarItem.js\";\n\n// Templates\nimport ShellBarTemplate from \"./generated/templates/ShellBarTemplate.lit.js\";\nimport ShellBarPopoverTemplate from \"./generated/templates/ShellBarPopoverTemplate.lit.js\";\n\n// Styles\nimport shellBarStyles from \"./generated/themes/ShellBar.css.js\";\nimport ShellBarPopoverCss from \"./generated/themes/ShellBarPopover.css.js\";\n\nimport {\n\tSHELLBAR_LABEL,\n\tSHELLBAR_LOGO,\n\tSHELLBAR_COPILOT,\n\tSHELLBAR_NOTIFICATIONS,\n\tSHELLBAR_CANCEL,\n\tSHELLBAR_PROFILE,\n\tSHELLBAR_PRODUCTS,\n\tSHELLBAR_SEARCH,\n\tSHELLBAR_OVERFLOW,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype AccessibilityRoles = {\n\tlogoRole?: string;\n};\n\ntype AccessibilityTexts = {\n\tlogoTitle?: string;\n\tprofileButtonTitle?: string;\n};\n\ntype AccessibilityAttributesValue = {\n\tariaHasPopup?: string;\n\texpanded?: boolean;\n}\n\ntype AccessibilityAttributes = {\n\tnotifications?: AccessibilityAttributesValue;\n\tprofile?: AccessibilityAttributesValue;\n\tproduct?: AccessibilityAttributesValue;\n\tsearch?: AccessibilityAttributesValue;\n\toverflow?: AccessibilityAttributesValue;\n};\n\ntype ShellBarNotificationsClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarProfileClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarProductSwitchClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarLogoClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarCoPilotClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarMenuItemClickEventDetail = {\n\titem: HTMLElement;\n};\n\ntype ShellBarCoPilot = {\n\tanimated?: boolean,\n\tanimationValues?: string,\n};\n\ninterface IShelBarItemInfo {\n\tid: string,\n\ticon?: string,\n\ttext: string,\n\tpriority: number,\n\tshow: boolean,\n\tcount?: string,\n\tcustom?: boolean,\n\ttitle?: string,\n\tstableDomRef?: string,\n\trefItemid?: string,\n\tpress: (e: MouseEvent) => void,\n\tstyles: object,\n\tdomOrder: number,\n\tclasses: string,\n\torder?: number,\n\tprofile?: boolean,\n}\n\nconst HANDLE_RESIZE_DEBOUNCE_RATE = 200; // ms\n\n/**\n * @class\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-shellbar</code> is meant to serve as an application header\n * and includes numerous built-in features, such as: logo, profile image/icon, title, search field, notifications and so on.\n * <br><br>\n *\n * <h3>Stable DOM Refs</h3>\n *\n * You can use the following stable DOM refs for the <code>ui5-shellbar</code>:\n * <ul>\n * <li>logo</li>\n * <li>copilot</li>\n * <li>notifications</li>\n * <li>overflow</li>\n * <li>profile</li>\n * <li>product-switch</li>\n * </ul>\n *\n * <h3>CSS Shadow Parts</h3>\n *\n * <ui5-link target=\"_blank\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/::part\">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.\n * <br>\n * The <code>ui5-shellbar</code> exposes the following CSS Shadow Parts:\n * <ul>\n * <li>root - Used to style the outermost wrapper of the <code>ui5-shellbar</code></li>\n * </ul>\n *\n * <h3>Keyboard Handling</h3>\n *\n * <h4>Fast Navigation</h4>\n * This component provides a build in fast navigation group which can be used via <code>F6 / Shift + F6</code> or <code> Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up</code>.\n * In order to use this functionality, you need to import the following module:\n * <code>import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"</code>\n * <br><br>\n *\n * <h3>ES6 Module Import</h3>\n * <code>import \"@ui5/webcomponents-fiori/dist/ShellBar\";</code>\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.fiori.ShellBar\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-shellbar\n * @appenddocs sap.ui.webc.fiori.ShellBarItem\n * @public\n * @since 0.8.0\n */\n\n@customElement({\n\ttag: \"ui5-shellbar\",\n\tfastNavigation: true,\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: ShellBarTemplate,\n\tstaticAreaTemplate: ShellBarPopoverTemplate,\n\tstyles: shellBarStyles,\n\tstaticAreaStyles: [ShellBarPopoverCss],\n\tdependencies: [\n\t\tButton,\n\t\tList,\n\t\tPopover,\n\t\tStandardListItem,\n\t],\n})\n/**\n *\n * Fired, when the notification icon is activated.\n *\n * @event sap.ui.webc.fiori.ShellBar#notifications-click\n * @allowPreventDefault\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"notifications-click\", {\n\tdetail: {\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when the profile slot is present.\n *\n * @event sap.ui.webc.fiori.ShellBar#profile-click\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"profile-click\", {\n\tdetail: {\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when the product switch icon is activated.\n * <b>Note:</b> You can prevent closing of overflow popover by calling <code>event.preventDefault()</code>.\n *\n * @event sap.ui.webc.fiori.ShellBar#product-switch-click\n * @allowPreventDefault\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"product-switch-click\", {\n\tdetail: {\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when the logo is activated.\n *\n * @event sap.ui.webc.fiori.ShellBar#logo-click\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @since 0.10\n * @public\n */\n@event(\"logo-click\", {\n\tdetail: {\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when the co pilot is activated.\n *\n * @event sap.ui.webc.fiori.ShellBar#co-pilot-click\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @since 0.10\n * @public\n */\n@event(\"co-pilot-click\", {\n\tdetail: {\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when a menu item is activated\n * <b>Note:</b> You can prevent closing of overflow popover by calling <code>event.preventDefault()</code>.\n *\n * @event sap.ui.webc.fiori.ShellBar#menu-item-click\n * @param {HTMLElement} item DOM ref of the activated list item\n * @since 0.10\n * @public\n */\n@event(\"menu-item-click\", {\n\tdetail: {\n\t\titem: { type: HTMLElement },\n\t},\n})\n\nclass ShellBar extends UI5Element {\n\t/**\n\t * Defines the <code>primaryTitle</code>.\n\t * <br><br>\n\t * <b>Note:</b> The <code>primaryTitle</code> would be hidden on S screen size (less than approx. 700px).\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.primaryTitle\n\t * @public\n\t */\n\t@property()\n\tprimaryTitle!: string;\n\n\t/**\n\t * Defines the <code>secondaryTitle</code>.\n\t * <br><br>\n\t * <b>Note:</b> The <code>secondaryTitle</code> would be hidden on S and M screen sizes (less than approx. 1300px).\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.secondaryTitle\n\t * @public\n\t */\n\t@property()\n\tsecondaryTitle!: string;\n\n\t/**\n\t * Defines the <code>notificationsCount</code>,\n\t * displayed in the notification icon top-right corner.\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.notificationsCount\n\t * @public\n\t */\n\t@property()\n\tnotificationsCount!: string;\n\n\t/**\n\t * Defines, if the notification icon would be displayed.\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.showNotifications\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowNotifications!: boolean;\n\n\t/**\n\t * Defines, if the product switch icon would be displayed.\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.showProductSwitch\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowProductSwitch!: boolean;\n\n\t/**\n\t * Defines, if the product CoPilot icon would be displayed.\n\t * <br><b>Note:</b> By default the co-pilot is displayed as static SVG.\n\t * If you need an animated co-pilot, you can import the <code>\"@ui5/webcomponents-fiori/dist/features/CoPilotAnimation.js\"</code> module as add-on feature.\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.showCoPilot\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowCoPilot!: boolean;\n\n\t/**\n\t * Defines, if the Search Field would be displayed when there is a valid <code>searchField</code> slot.\n\t * <br><b>Note:</b> By default the Search Field is not displayed.\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.showSearchField\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSearchField!: boolean;\n\n\t/**\n\t * An object of strings that defines additional accessibility roles for further customization.\n\t *\n\t * It supports the following fields:\n\t * - <code>logoRole</code>: the accessibility role for the <code>logo</code>\n\t *\n\t * @type {object}\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.accessibilityRoles\n\t * @public\n\t * @since 1.6.0\n\t */\n\t@property({ type: Object })\n\taccessibilityRoles!: AccessibilityRoles;\n\n\t/**\n\t * An object of strings that defines several additional accessibility texts\n\t * for even further customization.\n\t *\n\t * It supports the following fields:\n\t * - <code>profileButtonTitle</code>: defines the tooltip for the profile button\n\t * - <code>logoTitle</code>: defines the tooltip for the logo\n\t *\n\t * @type {object}\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.accessibilityTexts\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property({ type: Object })\n\taccessibilityTexts!: AccessibilityTexts;\n\n\t/**\n\t * An object of strings that defines several additional accessibility attribute values\n\t * for customization depending on the use case.\n\t *\n\t * It supports the following fields:\n\t *\n\t * <ul>\n\t * \t\t<li><code>expanded</code>: Indicates whether the anchor element, or another grouping element it controls, is currently expanded or collapsed. Accepts the following string values:\n\t *\t\t\t<ul>\n\t *\t\t\t\t<li><code>true</code></li>\n\t *\t\t\t\t<li><code>false</code></li>\n\t *\t\t\t</ul>\n\t * \t\t</li>\n\t * \t\t<li><code>hasPopup</code>: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the anchor element. Accepts the following string values:\n\t * \t\t\t<ul>\n\t *\t\t\t\t<li><code>Dialog</code></li>\n\t *\t\t\t\t<li><code>Grid</code></li>\n\t *\t\t\t\t<li><code>ListBox</code></li>\n\t *\t\t\t\t<li><code>Menu</code></li>\n\t *\t\t\t\t<li><code>Tree</code></li>\n\t * \t\t\t</ul>\n\t * \t\t</li>\n\t * </ul>\n\t * @type {object}\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.accessibilityAttributes\n\t * @public\n\t * @since 1.10.0\n\t */\n\t @property({ type: Object })\n\t accessibilityAttributes!: AccessibilityAttributes;\n\n\t/**\n\t * @private\n\t */\n\t@property()\n\tbreakpointSize!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tcoPilotActive!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\twithLogo!: boolean;\n\n\t@property({ type: Object })\n\t_itemsInfo!: Array<IShelBarItemInfo>;\n\n\t@property({ type: Object, multiple: true })\n\t_menuPopoverItems!: Array<HTMLElement>;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_menuPopoverExpanded!: boolean;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_overflowPopoverExpanded!: boolean;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_fullWidthSearch!: boolean;\n\n\t/**\n\t * Defines the <code>ui5-shellbar</code> aditional items.\n\t * <br><br>\n\t * <b>Note:</b>\n\t * You can use the &nbsp;&lt;ui5-shellbar-item>&lt;/ui5-shellbar-item>.\n\t *\n\t * @type {sap.ui.webc.fiori.IShellBarItem[]}\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.default\n\t * @slot items\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n\titems!: Array<ShellBarItem>;\n\n\t/**\n\t * You can pass <code>ui5-avatar</code> to set the profile image/icon.\n\t * If no profile slot is set - profile will be excluded from actions.\n\t *\n\t * Note: We recommend not using the <code>size</code> attribute of <code>ui5-avatar</code> because\n\t * it should have specific size by design in the context of <code>ui5-shellbar</code> profile.\n\t * @type {sap.ui.webc.main.IAvatar}\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.profile\n\t * @slot profile\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@slot()\n\tprofile!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the logo of the <code>ui5-shellbar</code>.\n\t * For example, you can use <code>ui5-avatar</code> or <code>img</code> elements as logo.\n\t * @type {sap.ui.webc.main.IAvatar}\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.logo\n\t * @slot\n\t * @since 1.0.0-rc.8\n\t * @public\n\t */\n\t@slot()\n\tlogo!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the items displayed in menu after a click on the primary title.\n\t * <br><br>\n\t * <b>Note:</b>\n\t * You can use the &nbsp;&lt;ui5-li>&lt;/ui5-li> and its ancestors.\n\t *\n\t * @type {sap.ui.webc.main.IListItem[]}\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.menuItems\n\t * @slot\n\t * @since 0.10\n\t * @public\n\t */\n\t@slot()\n\tmenuItems!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the <code>ui5-input</code>, that will be used as a search field.\n\t *\n\t * @type {sap.ui.webc.main.IInput}\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.searchField\n\t * @slot\n\t * @public\n\t */\n\t@slot()\n\tsearchField!: Array<Input>;\n\n\t/**\n\t * Defines a <code>ui5-button</code> in the bar that will be placed in the beginning.\n\t * We encourage this slot to be used for a back or home button.\n\t * It gets overstyled to match ShellBar's styling.\n\t *\n\t * @type {sap.ui.webc.main.IButton}\n\t * @name sap.ui.webc.fiori.ShellBar.prototype.startButton\n\t * @slot\n\t * @public\n\t */\n\t@slot()\n\tstartButton!: Array<Button>;\n\n\tstatic i18nBundle: I18nBundle;\n\toverflowPopover?: Popover | null;\n\tmenuPopover?: Popover | null;\n\t_isInitialRendering: boolean;\n\t_defaultItemPressPrevented: boolean;\n\tmenuItemsObserver: MutationObserver;\n\tcoPilot?: ShellBarCoPilot;\n\t_debounceInterval?: Timeout | null;\n\t_hiddenIcons?: Array<IShelBarItemInfo>;\n\t_handleResize: ResizeObserverCallback;\n\t_headerPress: () => Promise<void>;\n\n\tstatic get FIORI_3_BREAKPOINTS() {\n\t\treturn [\n\t\t\t599,\n\t\t\t1023,\n\t\t\t1439,\n\t\t\t1919,\n\t\t\t10000,\n\t\t];\n\t}\n\n\tstatic get FIORI_3_BREAKPOINTS_MAP(): Record<string, string> {\n\t\treturn {\n\t\t\t\"599\": \"S\",\n\t\t\t\"1023\": \"M\",\n\t\t\t\"1439\": \"L\",\n\t\t\t\"1919\": \"XL\",\n\t\t\t\"10000\": \"XXL\",\n\t\t};\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemsInfo = [];\n\t\tthis._isInitialRendering = true;\n\n\t\t// marks if preventDefault() is called in item's press handler\n\t\tthis._defaultItemPressPrevented = false;\n\n\t\tthis.menuItemsObserver = new MutationObserver(() => {\n\t\t\tthis._updateClonedMenuItems();\n\t\t});\n\n\t\tthis._headerPress = async () => {\n\t\t\tthis._updateClonedMenuItems();\n\n\t\t\tif (this.hasMenuItems) {\n\t\t\t\tconst menuPopover = await this._getMenuPopover();\n\t\t\t\tmenuPopover!.showAt(this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-menu-button\")!, true);\n\t\t\t}\n\t\t};\n\n\t\tthis._handleResize = () => {\n\t\t\tthis._debounce(async () => {\n\t\t\t\tawait this._getResponsivePopover();\n\t\t\t\tthis.overflowPopover!.close();\n\t\t\t\tthis._overflowActions();\n\t\t\t}, HANDLE_RESIZE_DEBOUNCE_RATE);\n\t\t};\n\t}\n\n\t_debounce(fn: () => Promise<void>, delay: number) {\n\t\tclearTimeout(this._debounceInterval!);\n\t\tthis._debounceInterval = setTimeout(() => {\n\t\t\tthis._debounceInterval = null;\n\t\t\tfn();\n\t\t}, delay);\n\t}\n\n\t_menuItemPress(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tthis.menuPopover!.close();\n\t\tthis.fireEvent<ShellBarMenuItemClickEventDetail>(\"menu-item-click\", {\n\t\t\titem: e.detail.selectedItems[0],\n\t\t}, true);\n\t}\n\n\t_logoPress() {\n\t\tthis.fireEvent<ShellBarLogoClickEventDetail>(\"logo-click\", {\n\t\t\ttargetRef: this.shadowRoot!.querySelector(\".ui5-shellbar-logo\")!,\n\t\t});\n\t}\n\n\t_menuPopoverBeforeOpen() {\n\t\tthis._menuPopoverExpanded = true;\n\t\tif (this.menuPopover!.content && this.menuPopover!.content.length) {\n\t\t\t(<List> this.menuPopover!.content[0]).focusFirstItem();\n\t\t}\n\t}\n\n\t_menuPopoverAfterClose() {\n\t\tthis._menuPopoverExpanded = false;\n\t}\n\n\t_overflowPopoverBeforeOpen() {\n\t\tthis._overflowPopoverExpanded = true;\n\t\tif (this.overflowPopover!.content && this.overflowPopover!.content.length) {\n\t\t\t(<List> this.overflowPopover!.content[0]).focusFirstItem();\n\t\t}\n\t}\n\n\t_overflowPopoverAfterClose() {\n\t\tthis._overflowPopoverExpanded = false;\n\t}\n\n\t_logoKeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._logoPress();\n\t\t}\n\t}\n\n\t_logoKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._logoPress();\n\t\t}\n\t}\n\n\t_fireCoPilotClick() {\n\t\tthis.fireEvent<ShellBarCoPilotClickEventDetail>(\"co-pilot-click\", {\n\t\t\ttargetRef: this.shadowRoot!.querySelector(\".ui5-shellbar-coPilot\")!,\n\t\t});\n\t}\n\n\t_coPilotClick() {\n\t\tthis._fireCoPilotClick();\n\t}\n\n\t_coPilotKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.coPilotActive = true;\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.coPilotActive = true;\n\t\t\tthis._fireCoPilotClick();\n\t\t}\n\t}\n\n\t_coPilotKeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._fireCoPilotClick();\n\t\t}\n\t\tthis.coPilotActive = false;\n\t}\n\n\tonBeforeRendering() {\n\t\tconst animationsOn = getAnimationMode() === AnimationMode.Full;\n\t\tconst coPilotAnimation = getFeature(\"CoPilotAnimation\");\n\t\tthis.coPilot = coPilotAnimation && animationsOn ? coPilotAnimation : { animated: false };\n\t\tthis.withLogo = this.hasLogo;\n\n\t\tthis._hiddenIcons = this._itemsInfo.filter(info => {\n\t\t\tconst isHidden = (info.classes.indexOf(\"ui5-shellbar-hidden-button\") !== -1);\n\t\t\tconst isSet = info.classes.indexOf(\"ui5-shellbar-invisible-button\") === -1;\n\t\t\tconst isOverflowIcon = info.classes.indexOf(\"ui5-shellbar-overflow-button\") !== -1;\n\t\t\tconst isImageIcon = info.classes.indexOf(\"ui5-shellbar-image-button\") !== -1;\n\t\t\tconst shouldStayOnScreen = isOverflowIcon || (isImageIcon && this.hasProfile);\n\n\t\t\treturn isHidden && isSet && !shouldStayOnScreen;\n\t\t});\n\n\t\tthis._observeMenuItems();\n\t}\n\n\tonAfterRendering() {\n\t\tthis._overflowActions();\n\n\t\tthis._fullWidthSearch = this._showFullWidthSearch;\n\t}\n\n\t/**\n\t * Closes the overflow area.\n\t * Useful to manually close the overflow after having suppressed automatic closing with preventDefault() of ShellbarItem's press event\n\t * @public\n * @method\n * @name sap.ui.webc.fiori.ShellBar#closeOverflow\n\t */\n\tcloseOverflow() {\n\t\tif (this.overflowPopover) {\n\t\t\tthis.overflowPopover.close();\n\t\t}\n\t}\n\n\t_handleBarBreakpoints() {\n\t\tconst width = this.getBoundingClientRect().width;\n\t\tconst breakpoints = ShellBar.FIORI_3_BREAKPOINTS;\n\n\t\tconst size = breakpoints.find(bp1 => width <= bp1) || ShellBar.FIORI_3_BREAKPOINTS[ShellBar.FIORI_3_BREAKPOINTS.length - 1];\n\t\tconst mappedSize = ShellBar.FIORI_3_BREAKPOINTS_MAP[size];\n\n\t\tif (this.breakpointSize !== mappedSize) {\n\t\t\tthis.breakpointSize = mappedSize;\n\t\t}\n\n\t\treturn mappedSize;\n\t}\n\n\t_handleSizeS() {\n\t\tconst hasIcons = this.showNotifications || this.showProductSwitch || !!this.searchField.length || !!this.items.length;\n\n\t\tconst newItems = this._getAllItems(hasIcons).map((info): IShelBarItemInfo => {\n\t\t\tconst isOverflowIcon = info.classes.indexOf(\"ui5-shellbar-overflow-button\") !== -1;\n\t\t\tconst isImageIcon = info.classes.indexOf(\"ui5-shellbar-image-button\") !== -1;\n\t\t\tconst shouldStayOnScreen = isOverflowIcon || (isImageIcon && this.hasProfile);\n\n\t\t\treturn {\n\t\t\t\t...info,\n\t\t\t\tclasses: `${info.classes} ${shouldStayOnScreen ? \"\" : \"ui5-shellbar-hidden-button\"} ui5-shellbar-button`,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: shouldStayOnScreen ? 1 : -1,\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\n\t\tthis._updateItemsInfo(newItems);\n\t}\n\n\t_handleActionsOverflow() {\n\t\tconst rightContainerRect = this.shadowRoot!.querySelector(\".ui5-shellbar-overflow-container-right\")!.getBoundingClientRect();\n\t\tlet overflowSelector = \".ui5-shellbar-button:not(.ui5-shellbar-overflow-button):not(.ui5-shellbar-invisible-button)\";\n\n\t\tif (this.showSearchField) {\n\t\t\toverflowSelector += \",.ui5-shellbar-search-field\";\n\t\t}\n\n\t\tconst elementsToOverflow = this.shadowRoot!.querySelectorAll<Button>(overflowSelector);\n\t\tconst isRTL = this.effectiveDir === \"rtl\";\n\n\t\tconst overflowButtons = [...elementsToOverflow].filter(icon => {\n\t\t\tconst iconRect = (icon).getBoundingClientRect();\n\n\t\t\tif (isRTL) {\n\t\t\t\treturn (iconRect.left + iconRect.width) > (rightContainerRect.left + rightContainerRect.width);\n\t\t\t}\n\n\t\t\treturn iconRect.left < rightContainerRect.left;\n\t\t});\n\t\tconst showOverflowButton = !!overflowButtons.length;\n\n\t\tconst items = this._getAllItems(showOverflowButton).filter(item => item.show);\n\n\t\tconst itemsByPriority = items.sort((item1, item2) => {\n\t\t\tif (item1.priority > item2.priority) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\tif (item1.priority < item2.priority) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t});\n\n\t\tfor (let i = 0; i < itemsByPriority.length; i++) {\n\t\t\tif (i < overflowButtons.length) {\n\t\t\t\titemsByPriority[i].classes = `${itemsByPriority[i].classes} ui5-shellbar-hidden-button`;\n\t\t\t\titemsByPriority[i].styles = {\n\t\t\t\t\torder: -1,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn itemsByPriority;\n\t}\n\n\t_overflowActions() {\n\t\tconst size = this._handleBarBreakpoints();\n\n\t\tif (size === \"S\") {\n\t\t\treturn this._handleSizeS();\n\t\t}\n\n\t\tconst newItems = this._handleActionsOverflow();\n\t\tthis._updateItemsInfo(newItems);\n\t}\n\n\tasync _toggleActionPopover() {\n\t\tconst overflowButton = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-overflow-button\")!;\n\t\tconst overflowPopover = await this._getOverflowPopover();\n\t\toverflowPopover!.showAt(overflowButton, true);\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResize);\n\t}\n\n\tonExitDOM() {\n\t\tthis.menuItemsObserver.disconnect();\n\t\tResizeHandler.deregister(this, this._handleResize);\n\t\tclearTimeout(this._debounceInterval!);\n\t\tthis._debounceInterval = null;\n\t}\n\n\t_handleSearchIconPress() {\n\t\tthis.showSearchField = !this.showSearchField;\n\n\t\tif (!this.showSearchField) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst input = this.searchField[0];\n\n\t\t// update the state immediately\n\t\tif (input) {\n\t\t\tinput.focused = true;\n\t\t}\n\n\t\t// move the focus later\n\t\tsetTimeout(() => {\n\t\t\tif (input) {\n\t\t\t\tinput.focus();\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\tasync _handleActionListClick() {\n\t\tif (!this._defaultItemPressPrevented) {\n\t\t\tthis.closeOverflow();\n\t\t\t// wait for DOM to be updated when ui5-popover is closed, otherwise if Enter key is hold\n\t\t\t// there will be no visual indication that this has happened\n\t\t\tawait renderFinished();\n\t\t}\n\n\t\tthis._defaultItemPressPrevented = false;\n\t}\n\n\t_handleCustomActionPress(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst refItemId = target.getAttribute(\"data-ui5-external-action-item-id\");\n\n\t\tif (refItemId) {\n\t\t\tconst shellbarItem = this.items.find(item => {\n\t\t\t\treturn item._id === refItemId;\n\t\t\t});\n\n\t\t\tconst prevented = shellbarItem!.fireClickEvent(e);\n\n\t\t\tthis._defaultItemPressPrevented = prevented;\n\t\t}\n\t}\n\n\t_handleOverflowPress() {\n\t\tthis._toggleActionPopover();\n\t}\n\n\t_handleNotificationsPress(e: MouseEvent) {\n\t\tconst notificationIconRef = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-bell-button\")!,\n\t\t\ttarget = e.target as HTMLElement;\n\n\t\tthis._defaultItemPressPrevented = !this.fireEvent<ShellBarNotificationsClickEventDetail>(\"notifications-click\", {\n\t\t\ttargetRef: notificationIconRef.classList.contains(\"ui5-shellbar-hidden-button\") ? target : notificationIconRef,\n\t\t}, true);\n\t}\n\n\t_handleProfilePress() {\n\t\tthis.fireEvent<ShellBarProfileClickEventDetail>(\"profile-click\", {\n\t\t\ttargetRef: this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-image-button\")!,\n\t\t});\n\t}\n\n\t_handleCancelButtonPress() {\n\t\tthis.showSearchField = false;\n\t}\n\n\t_handleProductSwitchPress(e: MouseEvent) {\n\t\tconst buttonRef = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-button-product-switch\")!,\n\t\t\ttarget = e.target as HTMLElement;\n\n\t\tthis._defaultItemPressPrevented = !this.fireEvent<ShellBarProductSwitchClickEventDetail>(\"product-switch-click\", {\n\t\t\ttargetRef: buttonRef.classList.contains(\"ui5-shellbar-hidden-button\") ? target : buttonRef,\n\t\t}, true);\n\t}\n\n\t/**\n\t * Returns the <code>logo</code> DOM ref.\n\t * @type {HTMLElement}\n * @name sap.ui.webc.fiori.ShellBar.prototype.logoDomRef\n\t * @public\n\t * @readonly\n\t * @since 1.0.0-rc.16\n\t */\n\tget logoDomRef() {\n\t\treturn this.shadowRoot!.querySelector<Button>(`*[data-ui5-stable=\"logo\"]`);\n\t}\n\n\t/**\n\t * Returns the <code>copilot</code> DOM ref.\n\t * @type {HTMLElement}\n * @name sap.ui.webc.fiori.ShellBar.prototype.copilotDomRef\n\t * @public\n\t * @readonly\n\t * @since 1.0.0-rc.16\n\t */\n\tget copilotDomRef() {\n\t\treturn this.shadowRoot!.querySelector<Button>(`*[data-ui5-stable=\"copilot\"]`);\n\t}\n\n\t/**\n\t * Returns the <code>notifications</code> icon DOM ref.\n\t * @type {HTMLElement}\n * @name sap.ui.webc.fiori.ShellBar.prototype.notificationsDomRef\n\t * @public\n\t * @readonly\n\t * @since 1.0.0-rc.16\n\t */\n\tget notificationsDomRef() {\n\t\treturn this.shadowRoot!.querySelector<Button>(`*[data-ui5-stable=\"notifications\"]`);\n\t}\n\n\t/**\n\t * Returns the <code>overflow</code> icon DOM ref.\n\t * @type {HTMLElement}\n * @name sap.ui.webc.fiori.ShellBar.prototype.overflowDomRef\n\t * @public\n\t * @readonly\n\t * @since 1.0.0-rc.16\n\t */\n\tget overflowDomRef() {\n\t\treturn this.shadowRoot!.querySelector<Button>(`*[data-ui5-stable=\"overflow\"]`);\n\t}\n\n\t/**\n\t * Returns the <code>profile</code> icon DOM ref.\n\t * @type {HTMLElement}\n * @name sap.ui.webc.fiori.ShellBar.prototype.profileDomRef\n\t * @public\n\t * @readonly\n\t * @since 1.0.0-rc.16\n\t */\n\tget profileDomRef() {\n\t\treturn this.shadowRoot!.querySelector<Button>(`*[data-ui5-stable=\"profile\"]`);\n\t}\n\n\t/**\n\t * Returns the <code>product-switch</code> icon DOM ref.\n\t * @type {HTMLElement}\n * @name sap.ui.webc.fiori.ShellBar.prototype.productSwitchDomRef\n\t * @public\n\t * @readonly\n\t * @since 1.0.0-rc.16\n\t */\n\tget productSwitchDomRef() {\n\t\treturn this.shadowRoot!.querySelector<Button>(`*[data-ui5-stable=\"product-switch\"]`);\n\t}\n\n\t/**\n\t * Returns all items that will be placed in the right of the bar as icons / dom elements.\n\t * @param {boolean} showOverflowButton Determines if overflow button should be visible (not overflowing)\n\t */\n\t_getAllItems(showOverflowButton: boolean) {\n\t\tlet domOrder = -1;\n\n\t\tconst items: Array<IShelBarItemInfo> = [\n\t\t\t{\n\t\t\t\ticon: \"search\",\n\t\t\t\ttext: this._searchText,\n\t\t\t\tclasses: `${this.searchField.length ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-search-button ui5-shellbar-button`,\n\t\t\t\tpriority: 4,\n\t\t\t\tdomOrder: this.searchField.length ? (++domOrder) : -1,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: this.searchField.length ? 1 : -10,\n\t\t\t\t},\n\t\t\t\tid: `${this._id}-item-${1}`,\n\t\t\t\tpress: this._handleSearchIconPress.bind(this),\n\t\t\t\tshow: !!this.searchField.length,\n\t\t\t},\n\t\t\t...this.items.map((item: ShellBarItem) => {\n\t\t\t\titem._getRealDomRef = () => this.getDomRef()!.querySelector(`*[data-ui5-stable=${item.stableDomRef}]`)!;\n\t\t\t\treturn {\n\t\t\t\t\ticon: item.icon,\n\t\t\t\t\tid: item._id,\n\t\t\t\t\tcount: item.count || undefined,\n\t\t\t\t\trefItemid: item._id,\n\t\t\t\t\ttext: item.text,\n\t\t\t\t\tclasses: \"ui5-shellbar-custom-item ui5-shellbar-button\",\n\t\t\t\t\tpriority: 1,\n\t\t\t\t\tdomOrder: (++domOrder),\n\t\t\t\t\tstyles: {\n\t\t\t\t\t\torder: 2,\n\t\t\t\t\t},\n\t\t\t\t\tshow: true,\n\t\t\t\t\tpress: this._handleCustomActionPress.bind(this),\n\t\t\t\t\tcustom: true,\n\t\t\t\t\ttitle: item.title,\n\t\t\t\t\tstableDomRef: item.stableDomRef,\n\t\t\t\t};\n\t\t\t}),\n\t\t\t{\n\t\t\t\ticon: \"bell\",\n\t\t\t\ttext: this._notificationsText,\n\t\t\t\tclasses: `${this.showNotifications ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-bell-button ui5-shellbar-button`,\n\t\t\t\tpriority: 3,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: this.showNotifications ? 3 : -10,\n\t\t\t\t},\n\t\t\t\tid: `${this._id}-item-${2}`,\n\t\t\t\tshow: this.showNotifications,\n\t\t\t\tdomOrder: this.showNotifications ? (++domOrder) : -1,\n\t\t\t\tpress: this._handleNotificationsPress.bind(this),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: \"overflow\",\n\t\t\t\ttext: \"Overflow\",\n\t\t\t\tclasses: `${showOverflowButton ? \"\" : \"ui5-shellbar-hidden-button\"} ui5-shellbar-overflow-button-shown ui5-shellbar-overflow-button ui5-shellbar-button`,\n\t\t\t\tpriority: 5,\n\t\t\t\torder: 4,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: showOverflowButton ? 4 : -1,\n\t\t\t\t},\n\t\t\t\tdomOrder: showOverflowButton ? (++domOrder) : -1,\n\t\t\t\tid: `${this.id}-item-${5}`,\n\t\t\t\tpress: this._handleOverflowPress.bind(this),\n\t\t\t\tshow: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: \"Person\",\n\t\t\t\tclasses: `${this.hasProfile ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-image-button ui5-shellbar-button`,\n\t\t\t\tpriority: 4,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: this.hasProfile ? 5 : -10,\n\t\t\t\t},\n\t\t\t\tprofile: true,\n\t\t\t\tid: `${this._id}-item-${3}`,\n\t\t\t\tdomOrder: this.hasProfile ? (++domOrder) : -1,\n\t\t\t\tshow: this.hasProfile,\n\t\t\t\tpress: this._handleProfilePress.bind(this),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: \"grid\",\n\t\t\t\ttext: this._productsText,\n\t\t\t\tclasses: `${this.showProductSwitch ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-button ui5-shellbar-button-product-switch`,\n\t\t\t\tpriority: 2,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: this.showProductSwitch ? 6 : -10,\n\t\t\t\t},\n\t\t\t\tid: `${this._id}-item-${4}`,\n\t\t\t\tshow: this.showProductSwitch,\n\t\t\t\tdomOrder: this.showProductSwitch ? (++domOrder) : -1,\n\t\t\t\tpress: this._handleProductSwitchPress.bind(this),\n\t\t\t},\n\t\t];\n\t\treturn items;\n\t}\n\n\t_updateItemsInfo(newItems: Array<IShelBarItemInfo>) {\n\t\tconst isDifferent = JSON.stringify(this._itemsInfo) !== JSON.stringify(newItems);\n\t\tif (isDifferent) {\n\t\t\tthis._itemsInfo = newItems;\n\t\t}\n\t}\n\n\t_updateClonedMenuItems() {\n\t\tthis._menuPopoverItems = [];\n\n\t\tthis.menuItems.forEach(item => {\n\t\t\t// clone the menuItem and remove the slot=\"menuItems\",\n\t\t\t// otherwise would not be slotted in the internal ui5-li\n\t\t\tconst clonedItem = item.cloneNode(true) as HTMLElement;\n\t\t\tclonedItem.removeAttribute(\"slot\");\n\n\t\t\tthis._menuPopoverItems.push(clonedItem);\n\t\t});\n\t}\n\n\t_observeMenuItems() {\n\t\tthis.menuItems.forEach(item => {\n\t\t\tthis.menuItemsObserver.observe(item, {\n\t\t\t\tcharacterData: true,\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributes: true,\n\t\t\t});\n\t\t});\n\t}\n\n\tasync _getResponsivePopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\tthis.overflowPopover = staticAreaItem!.querySelector<Popover>(\".ui5-shellbar-overflow-popover\");\n\t\tthis.menuPopover = staticAreaItem!.querySelector<Popover>(\".ui5-shellbar-menu-popover\");\n\t}\n\n\tasync _getOverflowPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<Popover>(\".ui5-shellbar-overflow-popover\");\n\t}\n\n\tasync _getMenuPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<Popover>(\".ui5-shellbar-menu-popover\");\n\t}\n\n\tisIconHidden(name: string) {\n\t\tconst itemInfo = this._itemsInfo.find(item => item.icon === name);\n\n\t\tif (!itemInfo) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn itemInfo.classes.indexOf(\"ui5-shellbar-hidden-button\") !== -1;\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\twrapper: {\n\t\t\t\t\"ui5-shellbar-root\": true,\n\t\t\t\t\"ui5-shellbar-with-searchfield\": this.hasSearchField,\n\t\t\t},\n\t\t\tbutton: {\n\t\t\t\t\"ui5-shellbar-menu-button--interactive\": this.hasMenuItems,\n\t\t\t\t\"ui5-shellbar-menu-button\": true,\n\t\t\t},\n\t\t\titems: {\n\t\t\t\tnotification: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"bell\"),\n\t\t\t\t},\n\t\t\t\tproduct: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"grid\"),\n\t\t\t\t},\n\t\t\t\tsearch: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"search\"),\n\t\t\t\t},\n\t\t\t\toverflow: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"overflow\"),\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\titems: {\n\t\t\t\tnotification: {\n\t\t\t\t\t\"order\": this.isIconHidden(\"bell\") ? \"-1\" : \"3\",\n\t\t\t\t},\n\t\t\t\toverflow: {\n\t\t\t\t\t\"order\": this.isIconHidden(\"overflow\") ? \"-1\" : \"4\",\n\t\t\t\t},\n\t\t\t\tprofile: {\n\t\t\t\t\t\"order\": this.hasProfile ? \"5\" : \"-1\",\n\t\t\t\t},\n\t\t\t\tproduct: {\n\t\t\t\t\t\"order\": this.isIconHidden(\"grid\") ? \"-1\" : \"6\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tsearchField: {\n\t\t\t\t\"display\": this.correctSearchFieldStyles,\n\t\t\t},\n\t\t};\n\t}\n\n\tget correctSearchFieldStyles() {\n\t\tif (this.showSearchField) {\n\t\t\treturn \"flex\";\n\t\t}\n\n\t\treturn \"none\";\n\t}\n\n\tget customItemsInfo() {\n\t\treturn this._itemsInfo.filter(itemInfo => !!itemInfo.custom);\n\t}\n\n\tget hasLogo() {\n\t\treturn !!this.logo.length;\n\t}\n\n\tget showLogoInMenuButton() {\n\t\treturn this.hasLogo && this.breakpointSize === \"S\";\n\t}\n\n\tget showTitleInMenuButton() {\n\t\treturn this.primaryTitle && !(this.showLogoInMenuButton);\n\t}\n\n\tget showMenuButton() {\n\t\treturn this.primaryTitle || this.showLogoInMenuButton;\n\t}\n\n\tget popoverHorizontalAlign() {\n\t\treturn this.effectiveDir === \"rtl\" ? \"Left\" : \"Right\";\n\t}\n\n\tget hasSearchField() {\n\t\treturn !!this.searchField.length;\n\t}\n\n\tget hasProfile() {\n\t\treturn !!this.profile.length;\n\t}\n\n\tget hasMenuItems() {\n\t\treturn this.menuItems.length > 0;\n\t}\n\n\tget _shellbarText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_LABEL);\n\t}\n\n\tget _logoText() {\n\t\treturn this.accessibilityTexts.logoTitle || ShellBar.i18nBundle.getText(SHELLBAR_LOGO);\n\t}\n\n\tget _copilotText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_COPILOT);\n\t}\n\n\tget _notificationsText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_NOTIFICATIONS, this.notificationsCount);\n\t}\n\n\tget _cancelBtnText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_CANCEL);\n\t}\n\n\tget _showFullWidthSearch() {\n\t\tconst size = this._handleBarBreakpoints();\n\t\tconst searchBtnHidden = !!this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-search-button.ui5-shellbar-hidden-button\");\n\n\t\treturn ((size === \"S\") || searchBtnHidden);\n\t}\n\n\tget _profileText() {\n\t\treturn this.accessibilityTexts.profileButtonTitle || ShellBar.i18nBundle.getText(SHELLBAR_PROFILE);\n\t}\n\n\tget _productsText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_PRODUCTS);\n\t}\n\n\tget _searchText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_SEARCH);\n\t}\n\n\tget _overflowText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_OVERFLOW);\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\tnotifications: {\n\t\t\t\t\"title\": this._notificationsText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this._notificationsHasPopup,\n\t\t\t\t},\n\t\t\t},\n\t\t\tprofile: {\n\t\t\t\t\"title\": this._profileText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this._profileHasPopup,\n\t\t\t\t},\n\t\t\t},\n\t\t\tproducts: {\n\t\t\t\t\"title\": this._productsText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this._productsHasPopup,\n\t\t\t\t},\n\t\t\t},\n\t\t\tsearch: {\n\t\t\t\t\"title\": this._searchText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this._searchHasPopup,\n\t\t\t\t\texpanded: this.showSearchField,\n\t\t\t\t},\n\t\t\t},\n\t\t\toverflow: {\n\t\t\t\t\"title\": this._overflowText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this._overflowHasPopup,\n\t\t\t\t\texpanded: this._overflowPopoverExpanded,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tget _notificationsHasPopup() {\n\t\tconst notificationsAccAttributes = this.accessibilityAttributes.notifications;\n\t\treturn notificationsAccAttributes ? notificationsAccAttributes.ariaHasPopup : null;\n\t}\n\n\tget _profileHasPopup() {\n\t\tconst profileAccAttributes = this.accessibilityAttributes.profile;\n\t\treturn profileAccAttributes ? profileAccAttributes.ariaHasPopup : null;\n\t}\n\n\tget _productsHasPopup() {\n\t\tconst productsAccAttributes = this.accessibilityAttributes.product;\n\t\treturn productsAccAttributes ? productsAccAttributes.ariaHasPopup : null;\n\t}\n\n\tget _searchHasPopup() {\n\t\tconst searcAccAttributes = this.accessibilityAttributes.search;\n\t\treturn searcAccAttributes ? searcAccAttributes.ariaHasPopup : null;\n\t}\n\n\tget _overflowHasPopup() {\n\t\tconst overflowAccAttributes = this.accessibilityAttributes.overflow;\n\t\treturn overflowAccAttributes ? overflowAccAttributes.ariaHasPopup : HasPopup.Menu;\n\t}\n\n\tget accLogoRole() {\n\t\treturn this.accessibilityRoles.logoRole || \"button\";\n\t}\n\n\tstatic async onDefine() {\n\t\tShellBar.i18nBundle = await getI18nBundle(\"@ui5/webcomponents-fiori\");\n\t}\n}\n\nShellBar.define();\n\nexport default ShellBar;\n\nexport type {\n\tShellBarNotificationsClickEventDetail,\n\tShellBarProfileClickEventDetail,\n\tShellBarProductSwitchClickEventDetail,\n\tShellBarLogoClickEventDetail,\n\tShellBarCoPilotClickEventDetail,\n\tShellBarMenuItemClickEventDetail,\n};\n"]}
1
+ {"version":3,"file":"ShellBar.js","sourceRoot":"","sources":["../src/ShellBar.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,aAAa,MAAM,wDAAwD,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAC;AAC9E,OAAO,aAAa,MAAM,qDAAqD,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAC3E,OAAO,IAAI,MAAM,iCAAiC,CAAC;AAGnD,OAAO,OAAO,MAAM,oCAAoC,CAAC;AACzD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AAGvD,OAAO,QAAQ,MAAM,2CAA2C,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAE3E,OAAO,yCAAyC,CAAC;AACjD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,2CAA2C,CAAC;AACnD,OAAO,uCAAuC,CAAC;AAK/C,YAAY;AACZ,OAAO,gBAAgB,MAAM,+CAA+C,CAAC;AAC7E,OAAO,uBAAuB,MAAM,sDAAsD,CAAC;AAE3F,SAAS;AACT,OAAO,cAAc,MAAM,oCAAoC,CAAC;AAChE,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAE3E,OAAO,EACN,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GACjB,MAAM,mCAAmC,CAAC;AAwE3C,MAAM,2BAA2B,GAAG,GAAG,CAAC,CAAC,KAAK;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAoHH,IAAM,QAAQ,gBAAd,MAAM,QAAS,SAAQ,UAAU;IAqOhC,MAAM,KAAK,mBAAmB;QAC7B,OAAO;YACN,GAAG;YACH,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,KAAK;SACL,CAAC;IACH,CAAC;IAED,MAAM,KAAK,uBAAuB;QACjC,OAAO;YACN,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;SACd,CAAC;IACH,CAAC;IAED;QACC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAEhC,8DAA8D;QAC9D,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QAExC,IAAI,CAAC,iBAAiB,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAE9B,IAAI,IAAI,CAAC,YAAY,EAAE;gBACtB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;gBACjD,WAAY,CAAC,MAAM,CAAC,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,2BAA2B,CAAE,EAAE,IAAI,CAAC,CAAC;aAChG;QACF,CAAC,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;gBACzB,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACnC,IAAI,CAAC,eAAgB,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzB,CAAC,EAAE,2BAA2B,CAAC,CAAC;QACjC,CAAC,CAAC;IACH,CAAC;IAED,SAAS,CAAC,EAAuB,EAAE,KAAa;QAC/C,YAAY,CAAC,IAAI,CAAC,iBAAkB,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,EAAE,EAAE,CAAC;QACN,CAAC,EAAE,KAAK,CAAC,CAAC;IACX,CAAC;IAED,cAAc,CAAC,CAA8C;QAC5D,IAAI,CAAC,WAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAmC,iBAAiB,EAAE;YACnE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;SAC/B,EAAE,IAAI,CAAC,CAAC;IACV,CAAC;IAED,UAAU;QACT,IAAI,CAAC,SAAS,CAA+B,YAAY,EAAE;YAC1D,SAAS,EAAE,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,oBAAoB,CAAE;SAChE,CAAC,CAAC;IACJ,CAAC;IAED,sBAAsB;QACrB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,IAAI,CAAC,WAAY,CAAC,OAAO,IAAI,IAAI,CAAC,WAAY,CAAC,OAAO,CAAC,MAAM,EAAE;YAC1D,IAAI,CAAC,WAAY,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,cAAc,EAAE,CAAC;SACvD;IACF,CAAC;IAED,sBAAsB;QACrB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,0BAA0B;QACzB,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,IAAI,IAAI,CAAC,eAAgB,CAAC,OAAO,IAAI,IAAI,CAAC,eAAgB,CAAC,OAAO,CAAC,MAAM,EAAE;YAClE,IAAI,CAAC,eAAgB,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,cAAc,EAAE,CAAC;SAC3D;IACF,CAAC;IAED,0BAA0B;QACzB,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,IAAI,CAAC,UAAU,EAAE,CAAC;SAClB;IACF,CAAC;IAED,YAAY,CAAC,CAAgB;QAC5B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,OAAO;SACP;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,IAAI,CAAC,UAAU,EAAE,CAAC;SAClB;IACF,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,SAAS,CAAkC,gBAAgB,EAAE;YACjE,SAAS,EAAE,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,uBAAuB,CAAE;SACnE,CAAC,CAAC;IACJ,CAAC;IAED,aAAa;QACZ,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAED,eAAe,CAAC,CAAgB;QAC/B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,OAAO;SACP;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;SACzB;IACF,CAAC;IAED,aAAa,CAAC,CAAgB;QAC7B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;SACzB;QACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,iBAAiB;QAChB,MAAM,YAAY,GAAG,gBAAgB,EAAE,KAAK,aAAa,CAAC,IAAI,CAAC;QAC/D,MAAM,gBAAgB,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,gBAAgB,IAAI,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACzF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACjD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3E,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC;YACnF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7E,MAAM,kBAAkB,GAAG,cAAc,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;YAE9E,OAAO,QAAQ,IAAI,KAAK,IAAI,CAAC,kBAAkB,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,aAAa;QACZ,IAAI,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;SAC7B;IACF,CAAC;IAED,qBAAqB;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;QACjD,MAAM,WAAW,GAAG,UAAQ,CAAC,mBAAmB,CAAC;QAEjD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,UAAQ,CAAC,mBAAmB,CAAC,UAAQ,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5H,MAAM,UAAU,GAAG,UAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAE1D,IAAI,IAAI,CAAC,cAAc,KAAK,UAAU,EAAE;YACvC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;SACjC;QAED,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,YAAY;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAEtH,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAoB,EAAE;YAC3E,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC;YACnF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7E,MAAM,kBAAkB,GAAG,cAAc,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;YAE9E,OAAO;gBACN,GAAG,IAAI;gBACP,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,sBAAsB;gBACxG,MAAM,EAAE;oBACP,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClC;aACD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,sBAAsB;QACrB,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,wCAAwC,CAAE,CAAC,qBAAqB,EAAE,CAAC;QAC7H,IAAI,gBAAgB,GAAG,6FAA6F,CAAC;QAErH,IAAI,IAAI,CAAC,eAAe,EAAE;YACzB,gBAAgB,IAAI,6BAA6B,CAAC;SAClD;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAW,CAAC,gBAAgB,CAAS,gBAAgB,CAAC,CAAC;QACvF,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC;QAE1C,MAAM,eAAe,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC7D,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,qBAAqB,EAAE,CAAC;YAEhD,IAAI,KAAK,EAAE;gBACV,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;aAC/F;YAED,OAAO,QAAQ,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;QAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9E,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACnD,IAAI,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE;gBACpC,OAAO,CAAC,CAAC;aACT;YAED,IAAI,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE;gBACpC,OAAO,CAAC,CAAC,CAAC;aACV;YAED,OAAO,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE;gBAC/B,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,6BAA6B,CAAC;gBACxF,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG;oBAC3B,KAAK,EAAE,CAAC,CAAC;iBACT,CAAC;aACF;SACD;QAED,OAAO,eAAe,CAAC;IACxB,CAAC;IAED,gBAAgB;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE1C,IAAI,IAAI,KAAK,GAAG,EAAE;YACjB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;SAC3B;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,oBAAoB;QACzB,MAAM,cAAc,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,+BAA+B,CAAE,CAAC;QAChG,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzD,eAAgB,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,UAAU;QACT,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAED,SAAS;QACR,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;QACpC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACnD,YAAY,CAAC,IAAI,CAAC,iBAAkB,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,sBAAsB;QACrB,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;QAE7C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAC1B,OAAO;SACP;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAElC,+BAA+B;QAC/B,IAAI,KAAK,EAAE;YACV,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;QAED,uBAAuB;QACvB,UAAU,CAAC,GAAG,EAAE;YACf,IAAI,KAAK,EAAE;gBACV,KAAK,CAAC,KAAK,EAAE,CAAC;aACd;QACF,CAAC,EAAE,GAAG,CAAC,CAAC;IACT,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC3B,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;YACrC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,wFAAwF;YACxF,4DAA4D;YAC5D,MAAM,cAAc,EAAE,CAAC;SACvB;QAED,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,wBAAwB,CAAC,CAAa;QACrC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,kCAAkC,CAAC,CAAC;QAE1E,IAAI,SAAS,EAAE;YACd,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC3C,OAAO,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,YAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAElD,IAAI,CAAC,0BAA0B,GAAG,SAAS,CAAC;SAC5C;IACF,CAAC;IAED,oBAAoB;QACnB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC7B,CAAC;IAED,yBAAyB,CAAC,CAAa;QACtC,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,2BAA2B,CAAE,EAC/F,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QAElC,IAAI,CAAC,0BAA0B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAwC,qBAAqB,EAAE;YAC/G,SAAS,EAAE,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB;SAC9G,EAAE,IAAI,CAAC,CAAC;IACV,CAAC;IAED,mBAAmB;QAClB,IAAI,CAAC,SAAS,CAAkC,eAAe,EAAE;YAChE,SAAS,EAAE,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,4BAA4B,CAAE;SAChF,CAAC,CAAC;IACJ,CAAC;IAED,wBAAwB;QACvB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,yBAAyB,CAAC,CAAa;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,qCAAqC,CAAE,EAC/F,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QAElC,IAAI,CAAC,0BAA0B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAwC,sBAAsB,EAAE;YAChH,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC1F,EAAE,IAAI,CAAC,CAAC;IACV,CAAC;IAED;;;;;OAKG;IACH,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,2BAA2B,CAAC,CAAC;IACjF,CAAC;IAED;;;;;OAKG;IACH,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,8BAA8B,CAAC,CAAC;IACpF,CAAC;IAED;;;;;OAKG;IACH,IAAI,mBAAmB;QACtB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,oCAAoC,CAAC,CAAC;IAC1F,CAAC;IAED;;;;;OAKG;IACH,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,+BAA+B,CAAC,CAAC;IACrF,CAAC;IAED;;;;;OAKG;IACH,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,8BAA8B,CAAC,CAAC;IACpF,CAAC;IAED;;;;;OAKG;IACH,IAAI,mBAAmB;QACtB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,qCAAqC,CAAC,CAAC;IAC3F,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,kBAA2B;QACvC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAElB,MAAM,KAAK,GAA4B;YACtC;gBACC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B,iDAAiD;gBAC3H,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,MAAM,EAAE;oBACP,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;iBACxC;gBACD,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE;gBAC3B,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM;aAC/B;YACD,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAkB,EAAE,EAAE;gBACxC,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAG,CAAC,aAAa,CAAC,qBAAqB,IAAI,CAAC,YAAY,GAAG,CAAE,CAAC;gBACxG,OAAO;oBACN,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,EAAE,EAAE,IAAI,CAAC,GAAG;oBACZ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;oBAC9B,SAAS,EAAE,IAAI,CAAC,GAAG;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,8CAA8C;oBACvD,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC;oBACtB,MAAM,EAAE;wBACP,KAAK,EAAE,CAAC;qBACR;oBACD,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC/C,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,YAAY,EAAE,IAAI,CAAC,YAAY;iBAC/B,CAAC;YACH,CAAC,CAAC;YACF;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,kBAAkB;gBAC7B,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B,+CAA+C;gBACxH,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE;oBACP,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;iBACvC;gBACD,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE;gBAC3B,IAAI,EAAE,IAAI,CAAC,iBAAiB;gBAC5B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;aAChD;YACD;gBACC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,sFAAsF;gBACxJ,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE;oBACP,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClC;gBACD,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC,EAAE;gBAC1B,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC3C,IAAI,EAAE,IAAI;aACV;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B,gDAAgD;gBAClH,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE;oBACP,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;iBAChC;gBACD,OAAO,EAAE,IAAI;gBACb,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE;gBAC3B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1C;YACD;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,aAAa;gBACxB,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B,yDAAyD;gBAClI,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE;oBACP,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;iBACvC;gBACD,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE;gBAC3B,IAAI,EAAE,IAAI,CAAC,iBAAiB;gBAC5B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;aAChD;SACD,CAAC;QACF,OAAO,KAAK,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,QAAiC;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjF,IAAI,WAAW,EAAE;YAChB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;SAC3B;IACF,CAAC;IAED,sBAAsB;QACrB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE5B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC7B,sDAAsD;YACtD,wDAAwD;YACxD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;YACvD,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAEnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC7B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE;gBACpC,aAAa,EAAE,IAAI;gBACnB,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,IAAI;aAChB,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB;QAC1B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC5D,IAAI,CAAC,eAAe,GAAG,cAAe,CAAC,aAAa,CAAU,gCAAgC,CAAC,CAAC;QAChG,IAAI,CAAC,WAAW,GAAG,cAAe,CAAC,aAAa,CAAU,4BAA4B,CAAC,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,mBAAmB;QACxB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC5D,OAAO,cAAe,CAAC,aAAa,CAAU,gCAAgC,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,eAAe;QACpB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC5D,OAAO,cAAe,CAAC,aAAa,CAAU,4BAA4B,CAAC,CAAC;IAC7E,CAAC;IAED,YAAY,CAAC,IAAY;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAElE,IAAI,CAAC,QAAQ,EAAE;YACd,OAAO,KAAK,CAAC;SACb;QAED,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,OAAO;QACV,OAAO;YACN,OAAO,EAAE;gBACR,mBAAmB,EAAE,IAAI;gBACzB,+BAA+B,EAAE,IAAI,CAAC,cAAc;aACpD;YACD,MAAM,EAAE;gBACP,uCAAuC,EAAE,IAAI,CAAC,YAAY;gBAC1D,0BAA0B,EAAE,IAAI;aAChC;YACD,KAAK,EAAE;gBACN,YAAY,EAAE;oBACb,4BAA4B,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;iBACvD;gBACD,OAAO,EAAE;oBACR,4BAA4B,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;iBACvD;gBACD,MAAM,EAAE;oBACP,4BAA4B,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;iBACzD;gBACD,QAAQ,EAAE;oBACT,4BAA4B,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;iBAC3D;aACD;SACD,CAAC;IACH,CAAC;IAED,IAAI,MAAM;QACT,OAAO;YACN,KAAK,EAAE;gBACN,YAAY,EAAE;oBACb,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;iBAC/C;gBACD,QAAQ,EAAE;oBACT,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;iBACnD;gBACD,OAAO,EAAE;oBACR,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;iBACrC;gBACD,OAAO,EAAE;oBACR,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;iBAC/C;aACD;YACD,WAAW,EAAE;gBACZ,SAAS,EAAE,IAAI,CAAC,wBAAwB;aACxC;SACD,CAAC;IACH,CAAC;IAED,IAAI,wBAAwB;QAC3B,IAAI,IAAI,CAAC,eAAe,EAAE;YACzB,OAAO,MAAM,CAAC;SACd;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,OAAO;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,KAAK,GAAG,CAAC;IACpD,CAAC;IAED,IAAI,qBAAqB;QACxB,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,oBAAoB,CAAC;IACvD,CAAC;IAED,IAAI,sBAAsB;QACzB,OAAO,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACvD,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,IAAI,UAAU;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,YAAY;QACf,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,oBAAoB;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC1C,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,wDAAwD,CAAC,CAAC;QAE3H,OAAO,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,eAAe,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,IAAI,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,WAAW;QACd,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,OAAO;QACV,OAAO;YACN,aAAa,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,kBAAkB;gBAChC,yBAAyB,EAAE;oBAC1B,QAAQ,EAAE,IAAI,CAAC,sBAAsB;iBACrC;aACD;YACD,OAAO,EAAE;gBACR,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,yBAAyB,EAAE;oBAC1B,QAAQ,EAAE,IAAI,CAAC,gBAAgB;iBAC/B;aACD;YACD,QAAQ,EAAE;gBACT,OAAO,EAAE,IAAI,CAAC,aAAa;gBAC3B,yBAAyB,EAAE;oBAC1B,QAAQ,EAAE,IAAI,CAAC,iBAAiB;iBAChC;aACD;YACD,MAAM,EAAE;gBACP,OAAO,EAAE,IAAI,CAAC,WAAW;gBACzB,yBAAyB,EAAE;oBAC1B,QAAQ,EAAE,IAAI,CAAC,eAAe;oBAC9B,QAAQ,EAAE,IAAI,CAAC,eAAe;iBAC9B;aACD;YACD,QAAQ,EAAE;gBACT,OAAO,EAAE,IAAI,CAAC,aAAa;gBAC3B,yBAAyB,EAAE;oBAC1B,QAAQ,EAAE,IAAI,CAAC,iBAAiB;oBAChC,QAAQ,EAAE,IAAI,CAAC,wBAAwB;iBACvC;aACD;SACD,CAAC;IACH,CAAC;IAED,IAAI,sBAAsB;QACzB,MAAM,0BAA0B,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC;QAC9E,OAAO,0BAA0B,CAAC,CAAC,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,CAAC;IAED,IAAI,gBAAgB;QACnB,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;QAClE,OAAO,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,CAAC;IAED,IAAI,iBAAiB;QACpB,MAAM,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;QACnE,OAAO,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IAED,IAAI,eAAe;QAClB,MAAM,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC;QAC/D,OAAO,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,CAAC;IAED,IAAI,iBAAiB;QACpB,MAAM,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC;QACpE,OAAO,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IACnF,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,IAAI,QAAQ,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpB,UAAQ,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,0BAA0B,CAAC,CAAC;IACvE,CAAC;CACD,CAAA;AAh/BA;IADC,QAAQ,EAAE;8CACW;AAUtB;IADC,QAAQ,EAAE;gDACa;AASxB;IADC,QAAQ,EAAE;oDACiB;AAQ5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACA;AAQ5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACA;AAU5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACN;AAStB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACF;AAY1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDACa;AAexC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDACa;AA8BvC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDACuB;AAMnD;IADC,QAAQ,EAAE;gDACa;AAMxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACJ;AAMxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACT;AAGnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACU;AAGrC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;mDACJ;AAGvC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;sDAChB;AAG/B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;0DACZ;AAGnC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;kDACpB;AAW3B;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;uCAChD;AAY5B;IADC,IAAI,EAAE;yCACsB;AAS7B;IADC,IAAI,EAAE;sCACmB;AAY1B;IADC,IAAI,EAAE;2CACyB;AAQhC;IADC,IAAI,EAAE;6CACoB;AAU3B;IADC,IAAI,EAAE;6CACsB;AAvNxB,QAAQ;IAlHb,aAAa,CAAC;QACd,GAAG,EAAE,cAAc;QACnB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,gBAAgB;QAC1B,kBAAkB,EAAE,uBAAuB;QAC3C,MAAM,EAAE,cAAc;QACtB,gBAAgB,EAAE,CAAC,kBAAkB,CAAC;QACtC,YAAY,EAAE;YACb,MAAM;YACN,IAAI;YACJ,OAAO;YACP,gBAAgB;SAChB;KACD,CAAC;IACF;;;;;;;OAOG;;IACF,KAAK,CAAC,qBAAqB,EAAE;QAC7B,MAAM,EAAE;YACP;;eAEG;YACH,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAChC;KACD,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,eAAe,EAAE;QACvB,MAAM,EAAE;YACP;;eAEG;YACH,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAChC;KACD,CAAC;IAEF;;;;;;;OAOG;;IACF,KAAK,CAAC,sBAAsB,EAAE;QAC9B,MAAM,EAAE;YACP;;eAEG;YACH,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAChC;KACD,CAAC;IAEF;;;;;;OAMG;;IACF,KAAK,CAAC,YAAY,EAAE;QACpB,MAAM,EAAE;YACP;;eAEG;YACH,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAChC;KACD,CAAC;IAEF;;;;;;OAMG;;IACF,KAAK,CAAC,gBAAgB,EAAE;QACxB,MAAM,EAAE;YACP;;eAEG;YACH,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAChC;KACD,CAAC;IAEF;;;;;;;OAOG;;IACF,KAAK,CAAC,iBAAiB,EAAE;QACzB,MAAM,EAAE;YACP;;eAEG;YACH,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAC3B;KACD,CAAC;GAEI,QAAQ,CAy/Bb;AAED,QAAQ,CAAC,MAAM,EAAE,CAAC;AAElB,eAAe,QAAQ,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport StandardListItem from \"@ui5/webcomponents/dist/StandardListItem.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport type { ListSelectionChangeEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type Input from \"@ui5/webcomponents/dist/Input.js\";\nimport type { IButton } from \"@ui5/webcomponents/dist/Interfaces.js\";\nimport HasPopup from \"@ui5/webcomponents/dist/types/HasPopup.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport \"@ui5/webcomponents-icons/dist/bell.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\nimport \"@ui5/webcomponents-icons/dist/grid.js\";\nimport type { Timeout, ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport type ShellBarItem from \"./ShellBarItem.js\";\n\n// Templates\nimport ShellBarTemplate from \"./generated/templates/ShellBarTemplate.lit.js\";\nimport ShellBarPopoverTemplate from \"./generated/templates/ShellBarPopoverTemplate.lit.js\";\n\n// Styles\nimport shellBarStyles from \"./generated/themes/ShellBar.css.js\";\nimport ShellBarPopoverCss from \"./generated/themes/ShellBarPopover.css.js\";\n\nimport {\n\tSHELLBAR_LABEL,\n\tSHELLBAR_LOGO,\n\tSHELLBAR_COPILOT,\n\tSHELLBAR_NOTIFICATIONS,\n\tSHELLBAR_CANCEL,\n\tSHELLBAR_PROFILE,\n\tSHELLBAR_PRODUCTS,\n\tSHELLBAR_SEARCH,\n\tSHELLBAR_OVERFLOW,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype AccessibilityRoles = {\n\tlogoRole?: string;\n};\n\ntype AccessibilityTexts = {\n\tlogoTitle?: string;\n\tprofileButtonTitle?: string;\n};\n\ntype AccessibilityAttributesValue = {\n\tariaHasPopup?: string;\n\texpanded?: boolean;\n}\n\ntype AccessibilityAttributes = {\n\tnotifications?: AccessibilityAttributesValue;\n\tprofile?: AccessibilityAttributesValue;\n\tproduct?: AccessibilityAttributesValue;\n\tsearch?: AccessibilityAttributesValue;\n\toverflow?: AccessibilityAttributesValue;\n};\n\ntype ShellBarNotificationsClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarProfileClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarProductSwitchClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarLogoClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarCoPilotClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarMenuItemClickEventDetail = {\n\titem: HTMLElement;\n};\n\ntype ShellBarCoPilot = {\n\tanimated?: boolean,\n\tanimationValues?: string,\n};\n\ninterface IShelBarItemInfo {\n\tid: string,\n\ticon?: string,\n\ttext: string,\n\tpriority: number,\n\tshow: boolean,\n\tcount?: string,\n\tcustom?: boolean,\n\ttitle?: string,\n\tstableDomRef?: string,\n\trefItemid?: string,\n\tpress: (e: MouseEvent) => void,\n\tstyles: object,\n\tdomOrder: number,\n\tclasses: string,\n\torder?: number,\n\tprofile?: boolean,\n}\n\nconst HANDLE_RESIZE_DEBOUNCE_RATE = 200; // ms\n\n/**\n * @class\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-shellbar</code> is meant to serve as an application header\n * and includes numerous built-in features, such as: logo, profile image/icon, title, search field, notifications and so on.\n * <br><br>\n *\n * <h3>Stable DOM Refs</h3>\n *\n * You can use the following stable DOM refs for the <code>ui5-shellbar</code>:\n * <ul>\n * <li>logo</li>\n * <li>copilot</li>\n * <li>notifications</li>\n * <li>overflow</li>\n * <li>profile</li>\n * <li>product-switch</li>\n * </ul>\n *\n * <h3>Keyboard Handling</h3>\n *\n * <h4>Fast Navigation</h4>\n * This component provides a build in fast navigation group which can be used via <code>F6 / Shift + F6</code> or <code> Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up</code>.\n * In order to use this functionality, you need to import the following module:\n * <code>import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"</code>\n * <br><br>\n *\n * <h3>ES6 Module Import</h3>\n * <code>import \"@ui5/webcomponents-fiori/dist/ShellBar\";</code>\n *\n * @csspart root - Used to style the outermost wrapper of the <code>ui5-shellbar</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 0.8.0\n */\n\n@customElement({\n\ttag: \"ui5-shellbar\",\n\tfastNavigation: true,\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: ShellBarTemplate,\n\tstaticAreaTemplate: ShellBarPopoverTemplate,\n\tstyles: shellBarStyles,\n\tstaticAreaStyles: [ShellBarPopoverCss],\n\tdependencies: [\n\t\tButton,\n\t\tList,\n\t\tPopover,\n\t\tStandardListItem,\n\t],\n})\n/**\n *\n * Fired, when the notification icon is activated.\n *\n * @allowPreventDefault\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"notifications-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when the profile slot is present.\n *\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"profile-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when the product switch icon is activated.\n * <b>Note:</b> You can prevent closing of overflow popover by calling <code>event.preventDefault()</code>.\n *\n * @allowPreventDefault\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"product-switch-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when the logo is activated.\n *\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @since 0.10\n * @public\n */\n@event(\"logo-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when the co pilot is activated.\n *\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @since 0.10\n * @public\n */\n@event(\"co-pilot-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired, when a menu item is activated\n * <b>Note:</b> You can prevent closing of overflow popover by calling <code>event.preventDefault()</code>.\n *\n * @param {HTMLElement} item DOM ref of the activated list item\n * @since 0.10\n * @public\n */\n@event(\"menu-item-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\n\nclass ShellBar extends UI5Element {\n\t/**\n\t * Defines the <code>primaryTitle</code>.\n\t * <br><br>\n\t * <b>Note:</b> The <code>primaryTitle</code> would be hidden on S screen size (less than approx. 700px).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tprimaryTitle!: string;\n\n\t/**\n\t * Defines the <code>secondaryTitle</code>.\n\t * <br><br>\n\t * <b>Note:</b> The <code>secondaryTitle</code> would be hidden on S and M screen sizes (less than approx. 1300px).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tsecondaryTitle!: string;\n\n\t/**\n\t * Defines the <code>notificationsCount</code>,\n\t * displayed in the notification icon top-right corner.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tnotificationsCount!: string;\n\n\t/**\n\t * Defines, if the notification icon would be displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowNotifications!: boolean;\n\n\t/**\n\t * Defines, if the product switch icon would be displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowProductSwitch!: boolean;\n\n\t/**\n\t * Defines, if the product CoPilot icon would be displayed.\n\t * <br><b>Note:</b> By default the co-pilot is displayed as static SVG.\n\t * If you need an animated co-pilot, you can import the <code>\"@ui5/webcomponents-fiori/dist/features/CoPilotAnimation.js\"</code> module as add-on feature.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowCoPilot!: boolean;\n\n\t/**\n\t * Defines, if the Search Field would be displayed when there is a valid <code>searchField</code> slot.\n\t * <br><b>Note:</b> By default the Search Field is not displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSearchField!: boolean;\n\n\t/**\n\t * An object of strings that defines additional accessibility roles for further customization.\n\t *\n\t * It supports the following fields:\n\t * - <code>logoRole</code>: the accessibility role for the <code>logo</code>\n\t * @default {}\n\t * @public\n\t * @since 1.6.0\n\t */\n\t@property({ type: Object })\n\taccessibilityRoles!: AccessibilityRoles;\n\n\t/**\n\t * An object of strings that defines several additional accessibility texts\n\t * for even further customization.\n\t *\n\t * It supports the following fields:\n\t * - <code>profileButtonTitle</code>: defines the tooltip for the profile button\n\t * - <code>logoTitle</code>: defines the tooltip for the logo\n\t *\n\t * @default {}\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property({ type: Object })\n\taccessibilityTexts!: AccessibilityTexts;\n\n\t/**\n\t * An object of strings that defines several additional accessibility attribute values\n\t * for customization depending on the use case.\n\t *\n\t * It supports the following fields:\n\t *\n\t * <ul>\n\t * \t\t<li><code>expanded</code>: Indicates whether the anchor element, or another grouping element it controls, is currently expanded or collapsed. Accepts the following string values:\n\t *\t\t\t<ul>\n\t *\t\t\t\t<li><code>true</code></li>\n\t *\t\t\t\t<li><code>false</code></li>\n\t *\t\t\t</ul>\n\t * \t\t</li>\n\t * \t\t<li><code>hasPopup</code>: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the anchor element. Accepts the following string values:\n\t * \t\t\t<ul>\n\t *\t\t\t\t<li><code>Dialog</code></li>\n\t *\t\t\t\t<li><code>Grid</code></li>\n\t *\t\t\t\t<li><code>ListBox</code></li>\n\t *\t\t\t\t<li><code>Menu</code></li>\n\t *\t\t\t\t<li><code>Tree</code></li>\n\t * \t\t\t</ul>\n\t * \t\t</li>\n\t * </ul>\n\t * @default {}\n\t * @public\n\t * @since 1.10.0\n\t */\n\t @property({ type: Object })\n\t accessibilityAttributes!: AccessibilityAttributes;\n\n\t/**\n\t * @private\n\t */\n\t@property()\n\tbreakpointSize!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tcoPilotActive!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\twithLogo!: boolean;\n\n\t@property({ type: Object })\n\t_itemsInfo!: Array<IShelBarItemInfo>;\n\n\t@property({ type: Object, multiple: true })\n\t_menuPopoverItems!: Array<HTMLElement>;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_menuPopoverExpanded!: boolean;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_overflowPopoverExpanded!: boolean;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_fullWidthSearch!: boolean;\n\n\t/**\n\t * Defines the <code>ui5-shellbar</code> aditional items.\n\t * <br><br>\n\t * <b>Note:</b>\n\t * You can use the &nbsp;&lt;ui5-shellbar-item>&lt;/ui5-shellbar-item>.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n\titems!: Array<ShellBarItem>;\n\n\t/**\n\t * You can pass <code>ui5-avatar</code> to set the profile image/icon.\n\t * If no profile slot is set - profile will be excluded from actions.\n\t *\n\t * Note: We recommend not using the <code>size</code> attribute of <code>ui5-avatar</code> because\n\t * it should have specific size by design in the context of <code>ui5-shellbar</code> profile.\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@slot()\n\tprofile!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the logo of the <code>ui5-shellbar</code>.\n\t * For example, you can use <code>ui5-avatar</code> or <code>img</code> elements as logo.\n\t * @since 1.0.0-rc.8\n\t * @public\n\t */\n\t@slot()\n\tlogo!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the items displayed in menu after a click on the primary title.\n\t * <br><br>\n\t * <b>Note:</b>\n\t * You can use the &nbsp;&lt;ui5-li>&lt;/ui5-li> and its ancestors.\n\t *\n\t * @since 0.10\n\t * @public\n\t */\n\t@slot()\n\tmenuItems!: Array<ListItemBase>;\n\n\t/**\n\t * Defines the <code>ui5-input</code>, that will be used as a search field.\n\t *\n\t * @public\n\t */\n\t@slot()\n\tsearchField!: Array<Input>;\n\n\t/**\n\t * Defines a <code>ui5-button</code> in the bar that will be placed in the beginning.\n\t * We encourage this slot to be used for a back or home button.\n\t * It gets overstyled to match ShellBar's styling.\n\t *\n\t * @public\n\t */\n\t@slot()\n\tstartButton!: Array<IButton>;\n\n\tstatic i18nBundle: I18nBundle;\n\toverflowPopover?: Popover | null;\n\tmenuPopover?: Popover | null;\n\t_isInitialRendering: boolean;\n\t_defaultItemPressPrevented: boolean;\n\tmenuItemsObserver: MutationObserver;\n\tcoPilot?: ShellBarCoPilot;\n\t_debounceInterval?: Timeout | null;\n\t_hiddenIcons?: Array<IShelBarItemInfo>;\n\t_handleResize: ResizeObserverCallback;\n\t_headerPress: () => Promise<void>;\n\n\tstatic get FIORI_3_BREAKPOINTS() {\n\t\treturn [\n\t\t\t599,\n\t\t\t1023,\n\t\t\t1439,\n\t\t\t1919,\n\t\t\t10000,\n\t\t];\n\t}\n\n\tstatic get FIORI_3_BREAKPOINTS_MAP(): Record<string, string> {\n\t\treturn {\n\t\t\t\"599\": \"S\",\n\t\t\t\"1023\": \"M\",\n\t\t\t\"1439\": \"L\",\n\t\t\t\"1919\": \"XL\",\n\t\t\t\"10000\": \"XXL\",\n\t\t};\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemsInfo = [];\n\t\tthis._isInitialRendering = true;\n\n\t\t// marks if preventDefault() is called in item's press handler\n\t\tthis._defaultItemPressPrevented = false;\n\n\t\tthis.menuItemsObserver = new MutationObserver(() => {\n\t\t\tthis._updateClonedMenuItems();\n\t\t});\n\n\t\tthis._headerPress = async () => {\n\t\t\tthis._updateClonedMenuItems();\n\n\t\t\tif (this.hasMenuItems) {\n\t\t\t\tconst menuPopover = await this._getMenuPopover();\n\t\t\t\tmenuPopover!.showAt(this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-menu-button\")!, true);\n\t\t\t}\n\t\t};\n\n\t\tthis._handleResize = () => {\n\t\t\tthis._debounce(async () => {\n\t\t\t\tawait this._getResponsivePopover();\n\t\t\t\tthis.overflowPopover!.close();\n\t\t\t\tthis._overflowActions();\n\t\t\t}, HANDLE_RESIZE_DEBOUNCE_RATE);\n\t\t};\n\t}\n\n\t_debounce(fn: () => Promise<void>, delay: number) {\n\t\tclearTimeout(this._debounceInterval!);\n\t\tthis._debounceInterval = setTimeout(() => {\n\t\t\tthis._debounceInterval = null;\n\t\t\tfn();\n\t\t}, delay);\n\t}\n\n\t_menuItemPress(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tthis.menuPopover!.close();\n\t\tthis.fireEvent<ShellBarMenuItemClickEventDetail>(\"menu-item-click\", {\n\t\t\titem: e.detail.selectedItems[0],\n\t\t}, true);\n\t}\n\n\t_logoPress() {\n\t\tthis.fireEvent<ShellBarLogoClickEventDetail>(\"logo-click\", {\n\t\t\ttargetRef: this.shadowRoot!.querySelector(\".ui5-shellbar-logo\")!,\n\t\t});\n\t}\n\n\t_menuPopoverBeforeOpen() {\n\t\tthis._menuPopoverExpanded = true;\n\t\tif (this.menuPopover!.content && this.menuPopover!.content.length) {\n\t\t\t(<List> this.menuPopover!.content[0]).focusFirstItem();\n\t\t}\n\t}\n\n\t_menuPopoverAfterClose() {\n\t\tthis._menuPopoverExpanded = false;\n\t}\n\n\t_overflowPopoverBeforeOpen() {\n\t\tthis._overflowPopoverExpanded = true;\n\t\tif (this.overflowPopover!.content && this.overflowPopover!.content.length) {\n\t\t\t(<List> this.overflowPopover!.content[0]).focusFirstItem();\n\t\t}\n\t}\n\n\t_overflowPopoverAfterClose() {\n\t\tthis._overflowPopoverExpanded = false;\n\t}\n\n\t_logoKeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._logoPress();\n\t\t}\n\t}\n\n\t_logoKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._logoPress();\n\t\t}\n\t}\n\n\t_fireCoPilotClick() {\n\t\tthis.fireEvent<ShellBarCoPilotClickEventDetail>(\"co-pilot-click\", {\n\t\t\ttargetRef: this.shadowRoot!.querySelector(\".ui5-shellbar-coPilot\")!,\n\t\t});\n\t}\n\n\t_coPilotClick() {\n\t\tthis._fireCoPilotClick();\n\t}\n\n\t_coPilotKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.coPilotActive = true;\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.coPilotActive = true;\n\t\t\tthis._fireCoPilotClick();\n\t\t}\n\t}\n\n\t_coPilotKeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._fireCoPilotClick();\n\t\t}\n\t\tthis.coPilotActive = false;\n\t}\n\n\tonBeforeRendering() {\n\t\tconst animationsOn = getAnimationMode() === AnimationMode.Full;\n\t\tconst coPilotAnimation = getFeature(\"CoPilotAnimation\");\n\t\tthis.coPilot = coPilotAnimation && animationsOn ? coPilotAnimation : { animated: false };\n\t\tthis.withLogo = this.hasLogo;\n\n\t\tthis._hiddenIcons = this._itemsInfo.filter(info => {\n\t\t\tconst isHidden = (info.classes.indexOf(\"ui5-shellbar-hidden-button\") !== -1);\n\t\t\tconst isSet = info.classes.indexOf(\"ui5-shellbar-invisible-button\") === -1;\n\t\t\tconst isOverflowIcon = info.classes.indexOf(\"ui5-shellbar-overflow-button\") !== -1;\n\t\t\tconst isImageIcon = info.classes.indexOf(\"ui5-shellbar-image-button\") !== -1;\n\t\t\tconst shouldStayOnScreen = isOverflowIcon || (isImageIcon && this.hasProfile);\n\n\t\t\treturn isHidden && isSet && !shouldStayOnScreen;\n\t\t});\n\n\t\tthis._observeMenuItems();\n\t}\n\n\tonAfterRendering() {\n\t\tthis._overflowActions();\n\n\t\tthis._fullWidthSearch = this._showFullWidthSearch;\n\t}\n\n\t/**\n\t * Closes the overflow area.\n\t * Useful to manually close the overflow after having suppressed automatic closing with preventDefault() of ShellbarItem's press event\n\t * @public\n\t */\n\tcloseOverflow(): void {\n\t\tif (this.overflowPopover) {\n\t\t\tthis.overflowPopover.close();\n\t\t}\n\t}\n\n\t_handleBarBreakpoints() {\n\t\tconst width = this.getBoundingClientRect().width;\n\t\tconst breakpoints = ShellBar.FIORI_3_BREAKPOINTS;\n\n\t\tconst size = breakpoints.find(bp1 => width <= bp1) || ShellBar.FIORI_3_BREAKPOINTS[ShellBar.FIORI_3_BREAKPOINTS.length - 1];\n\t\tconst mappedSize = ShellBar.FIORI_3_BREAKPOINTS_MAP[size];\n\n\t\tif (this.breakpointSize !== mappedSize) {\n\t\t\tthis.breakpointSize = mappedSize;\n\t\t}\n\n\t\treturn mappedSize;\n\t}\n\n\t_handleSizeS() {\n\t\tconst hasIcons = this.showNotifications || this.showProductSwitch || !!this.searchField.length || !!this.items.length;\n\n\t\tconst newItems = this._getAllItems(hasIcons).map((info): IShelBarItemInfo => {\n\t\t\tconst isOverflowIcon = info.classes.indexOf(\"ui5-shellbar-overflow-button\") !== -1;\n\t\t\tconst isImageIcon = info.classes.indexOf(\"ui5-shellbar-image-button\") !== -1;\n\t\t\tconst shouldStayOnScreen = isOverflowIcon || (isImageIcon && this.hasProfile);\n\n\t\t\treturn {\n\t\t\t\t...info,\n\t\t\t\tclasses: `${info.classes} ${shouldStayOnScreen ? \"\" : \"ui5-shellbar-hidden-button\"} ui5-shellbar-button`,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: shouldStayOnScreen ? 1 : -1,\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\n\t\tthis._updateItemsInfo(newItems);\n\t}\n\n\t_handleActionsOverflow() {\n\t\tconst rightContainerRect = this.shadowRoot!.querySelector(\".ui5-shellbar-overflow-container-right\")!.getBoundingClientRect();\n\t\tlet overflowSelector = \".ui5-shellbar-button:not(.ui5-shellbar-overflow-button):not(.ui5-shellbar-invisible-button)\";\n\n\t\tif (this.showSearchField) {\n\t\t\toverflowSelector += \",.ui5-shellbar-search-field\";\n\t\t}\n\n\t\tconst elementsToOverflow = this.shadowRoot!.querySelectorAll<Button>(overflowSelector);\n\t\tconst isRTL = this.effectiveDir === \"rtl\";\n\n\t\tconst overflowButtons = [...elementsToOverflow].filter(icon => {\n\t\t\tconst iconRect = (icon).getBoundingClientRect();\n\n\t\t\tif (isRTL) {\n\t\t\t\treturn (iconRect.left + iconRect.width) > (rightContainerRect.left + rightContainerRect.width);\n\t\t\t}\n\n\t\t\treturn iconRect.left < rightContainerRect.left;\n\t\t});\n\t\tconst showOverflowButton = !!overflowButtons.length;\n\n\t\tconst items = this._getAllItems(showOverflowButton).filter(item => item.show);\n\n\t\tconst itemsByPriority = items.sort((item1, item2) => {\n\t\t\tif (item1.priority > item2.priority) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\tif (item1.priority < item2.priority) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t});\n\n\t\tfor (let i = 0; i < itemsByPriority.length; i++) {\n\t\t\tif (i < overflowButtons.length) {\n\t\t\t\titemsByPriority[i].classes = `${itemsByPriority[i].classes} ui5-shellbar-hidden-button`;\n\t\t\t\titemsByPriority[i].styles = {\n\t\t\t\t\torder: -1,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn itemsByPriority;\n\t}\n\n\t_overflowActions() {\n\t\tconst size = this._handleBarBreakpoints();\n\n\t\tif (size === \"S\") {\n\t\t\treturn this._handleSizeS();\n\t\t}\n\n\t\tconst newItems = this._handleActionsOverflow();\n\t\tthis._updateItemsInfo(newItems);\n\t}\n\n\tasync _toggleActionPopover() {\n\t\tconst overflowButton = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-overflow-button\")!;\n\t\tconst overflowPopover = await this._getOverflowPopover();\n\t\toverflowPopover!.showAt(overflowButton, true);\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResize);\n\t}\n\n\tonExitDOM() {\n\t\tthis.menuItemsObserver.disconnect();\n\t\tResizeHandler.deregister(this, this._handleResize);\n\t\tclearTimeout(this._debounceInterval!);\n\t\tthis._debounceInterval = null;\n\t}\n\n\t_handleSearchIconPress() {\n\t\tthis.showSearchField = !this.showSearchField;\n\n\t\tif (!this.showSearchField) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst input = this.searchField[0];\n\n\t\t// update the state immediately\n\t\tif (input) {\n\t\t\tinput.focused = true;\n\t\t}\n\n\t\t// move the focus later\n\t\tsetTimeout(() => {\n\t\t\tif (input) {\n\t\t\t\tinput.focus();\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\tasync _handleActionListClick() {\n\t\tif (!this._defaultItemPressPrevented) {\n\t\t\tthis.closeOverflow();\n\t\t\t// wait for DOM to be updated when ui5-popover is closed, otherwise if Enter key is hold\n\t\t\t// there will be no visual indication that this has happened\n\t\t\tawait renderFinished();\n\t\t}\n\n\t\tthis._defaultItemPressPrevented = false;\n\t}\n\n\t_handleCustomActionPress(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst refItemId = target.getAttribute(\"data-ui5-external-action-item-id\");\n\n\t\tif (refItemId) {\n\t\t\tconst shellbarItem = this.items.find(item => {\n\t\t\t\treturn item._id === refItemId;\n\t\t\t});\n\n\t\t\tconst prevented = shellbarItem!.fireClickEvent(e);\n\n\t\t\tthis._defaultItemPressPrevented = prevented;\n\t\t}\n\t}\n\n\t_handleOverflowPress() {\n\t\tthis._toggleActionPopover();\n\t}\n\n\t_handleNotificationsPress(e: MouseEvent) {\n\t\tconst notificationIconRef = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-bell-button\")!,\n\t\t\ttarget = e.target as HTMLElement;\n\n\t\tthis._defaultItemPressPrevented = !this.fireEvent<ShellBarNotificationsClickEventDetail>(\"notifications-click\", {\n\t\t\ttargetRef: notificationIconRef.classList.contains(\"ui5-shellbar-hidden-button\") ? target : notificationIconRef,\n\t\t}, true);\n\t}\n\n\t_handleProfilePress() {\n\t\tthis.fireEvent<ShellBarProfileClickEventDetail>(\"profile-click\", {\n\t\t\ttargetRef: this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-image-button\")!,\n\t\t});\n\t}\n\n\t_handleCancelButtonPress() {\n\t\tthis.showSearchField = false;\n\t}\n\n\t_handleProductSwitchPress(e: MouseEvent) {\n\t\tconst buttonRef = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-button-product-switch\")!,\n\t\t\ttarget = e.target as HTMLElement;\n\n\t\tthis._defaultItemPressPrevented = !this.fireEvent<ShellBarProductSwitchClickEventDetail>(\"product-switch-click\", {\n\t\t\ttargetRef: buttonRef.classList.contains(\"ui5-shellbar-hidden-button\") ? target : buttonRef,\n\t\t}, true);\n\t}\n\n\t/**\n\t * Returns the <code>logo</code> DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget logoDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"logo\"]`);\n\t}\n\n\t/**\n\t * Returns the <code>copilot</code> DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget copilotDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"copilot\"]`);\n\t}\n\n\t/**\n\t * Returns the <code>notifications</code> icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget notificationsDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"notifications\"]`);\n\t}\n\n\t/**\n\t * Returns the <code>overflow</code> icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget overflowDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"overflow\"]`);\n\t}\n\n\t/**\n\t * Returns the <code>profile</code> icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget profileDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"profile\"]`);\n\t}\n\n\t/**\n\t * Returns the <code>product-switch</code> icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget productSwitchDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"product-switch\"]`);\n\t}\n\n\t/**\n\t * Returns all items that will be placed in the right of the bar as icons / dom elements.\n\t * @param showOverflowButton Determines if overflow button should be visible (not overflowing)\n\t */\n\t_getAllItems(showOverflowButton: boolean) {\n\t\tlet domOrder = -1;\n\n\t\tconst items: Array<IShelBarItemInfo> = [\n\t\t\t{\n\t\t\t\ticon: \"search\",\n\t\t\t\ttext: this._searchText,\n\t\t\t\tclasses: `${this.searchField.length ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-search-button ui5-shellbar-button`,\n\t\t\t\tpriority: 4,\n\t\t\t\tdomOrder: this.searchField.length ? (++domOrder) : -1,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: this.searchField.length ? 1 : -10,\n\t\t\t\t},\n\t\t\t\tid: `${this._id}-item-${1}`,\n\t\t\t\tpress: this._handleSearchIconPress.bind(this),\n\t\t\t\tshow: !!this.searchField.length,\n\t\t\t},\n\t\t\t...this.items.map((item: ShellBarItem) => {\n\t\t\t\titem._getRealDomRef = () => this.getDomRef()!.querySelector(`*[data-ui5-stable=${item.stableDomRef}]`)!;\n\t\t\t\treturn {\n\t\t\t\t\ticon: item.icon,\n\t\t\t\t\tid: item._id,\n\t\t\t\t\tcount: item.count || undefined,\n\t\t\t\t\trefItemid: item._id,\n\t\t\t\t\ttext: item.text,\n\t\t\t\t\tclasses: \"ui5-shellbar-custom-item ui5-shellbar-button\",\n\t\t\t\t\tpriority: 1,\n\t\t\t\t\tdomOrder: (++domOrder),\n\t\t\t\t\tstyles: {\n\t\t\t\t\t\torder: 2,\n\t\t\t\t\t},\n\t\t\t\t\tshow: true,\n\t\t\t\t\tpress: this._handleCustomActionPress.bind(this),\n\t\t\t\t\tcustom: true,\n\t\t\t\t\ttitle: item.title,\n\t\t\t\t\tstableDomRef: item.stableDomRef,\n\t\t\t\t};\n\t\t\t}),\n\t\t\t{\n\t\t\t\ticon: \"bell\",\n\t\t\t\ttext: this._notificationsText,\n\t\t\t\tclasses: `${this.showNotifications ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-bell-button ui5-shellbar-button`,\n\t\t\t\tpriority: 3,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: this.showNotifications ? 3 : -10,\n\t\t\t\t},\n\t\t\t\tid: `${this._id}-item-${2}`,\n\t\t\t\tshow: this.showNotifications,\n\t\t\t\tdomOrder: this.showNotifications ? (++domOrder) : -1,\n\t\t\t\tpress: this._handleNotificationsPress.bind(this),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: \"overflow\",\n\t\t\t\ttext: \"Overflow\",\n\t\t\t\tclasses: `${showOverflowButton ? \"\" : \"ui5-shellbar-hidden-button\"} ui5-shellbar-overflow-button-shown ui5-shellbar-overflow-button ui5-shellbar-button`,\n\t\t\t\tpriority: 5,\n\t\t\t\torder: 4,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: showOverflowButton ? 4 : -1,\n\t\t\t\t},\n\t\t\t\tdomOrder: showOverflowButton ? (++domOrder) : -1,\n\t\t\t\tid: `${this.id}-item-${5}`,\n\t\t\t\tpress: this._handleOverflowPress.bind(this),\n\t\t\t\tshow: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: \"Person\",\n\t\t\t\tclasses: `${this.hasProfile ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-image-button ui5-shellbar-button`,\n\t\t\t\tpriority: 4,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: this.hasProfile ? 5 : -10,\n\t\t\t\t},\n\t\t\t\tprofile: true,\n\t\t\t\tid: `${this._id}-item-${3}`,\n\t\t\t\tdomOrder: this.hasProfile ? (++domOrder) : -1,\n\t\t\t\tshow: this.hasProfile,\n\t\t\t\tpress: this._handleProfilePress.bind(this),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: \"grid\",\n\t\t\t\ttext: this._productsText,\n\t\t\t\tclasses: `${this.showProductSwitch ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-button ui5-shellbar-button-product-switch`,\n\t\t\t\tpriority: 2,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: this.showProductSwitch ? 6 : -10,\n\t\t\t\t},\n\t\t\t\tid: `${this._id}-item-${4}`,\n\t\t\t\tshow: this.showProductSwitch,\n\t\t\t\tdomOrder: this.showProductSwitch ? (++domOrder) : -1,\n\t\t\t\tpress: this._handleProductSwitchPress.bind(this),\n\t\t\t},\n\t\t];\n\t\treturn items;\n\t}\n\n\t_updateItemsInfo(newItems: Array<IShelBarItemInfo>) {\n\t\tconst isDifferent = JSON.stringify(this._itemsInfo) !== JSON.stringify(newItems);\n\t\tif (isDifferent) {\n\t\t\tthis._itemsInfo = newItems;\n\t\t}\n\t}\n\n\t_updateClonedMenuItems() {\n\t\tthis._menuPopoverItems = [];\n\n\t\tthis.menuItems.forEach(item => {\n\t\t\t// clone the menuItem and remove the slot=\"menuItems\",\n\t\t\t// otherwise would not be slotted in the internal ui5-li\n\t\t\tconst clonedItem = item.cloneNode(true) as HTMLElement;\n\t\t\tclonedItem.removeAttribute(\"slot\");\n\n\t\t\tthis._menuPopoverItems.push(clonedItem);\n\t\t});\n\t}\n\n\t_observeMenuItems() {\n\t\tthis.menuItems.forEach(item => {\n\t\t\tthis.menuItemsObserver.observe(item, {\n\t\t\t\tcharacterData: true,\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributes: true,\n\t\t\t});\n\t\t});\n\t}\n\n\tasync _getResponsivePopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\tthis.overflowPopover = staticAreaItem!.querySelector<Popover>(\".ui5-shellbar-overflow-popover\");\n\t\tthis.menuPopover = staticAreaItem!.querySelector<Popover>(\".ui5-shellbar-menu-popover\");\n\t}\n\n\tasync _getOverflowPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<Popover>(\".ui5-shellbar-overflow-popover\");\n\t}\n\n\tasync _getMenuPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<Popover>(\".ui5-shellbar-menu-popover\");\n\t}\n\n\tisIconHidden(name: string) {\n\t\tconst itemInfo = this._itemsInfo.find(item => item.icon === name);\n\n\t\tif (!itemInfo) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn itemInfo.classes.indexOf(\"ui5-shellbar-hidden-button\") !== -1;\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\twrapper: {\n\t\t\t\t\"ui5-shellbar-root\": true,\n\t\t\t\t\"ui5-shellbar-with-searchfield\": this.hasSearchField,\n\t\t\t},\n\t\t\tbutton: {\n\t\t\t\t\"ui5-shellbar-menu-button--interactive\": this.hasMenuItems,\n\t\t\t\t\"ui5-shellbar-menu-button\": true,\n\t\t\t},\n\t\t\titems: {\n\t\t\t\tnotification: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"bell\"),\n\t\t\t\t},\n\t\t\t\tproduct: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"grid\"),\n\t\t\t\t},\n\t\t\t\tsearch: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"search\"),\n\t\t\t\t},\n\t\t\t\toverflow: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"overflow\"),\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\titems: {\n\t\t\t\tnotification: {\n\t\t\t\t\t\"order\": this.isIconHidden(\"bell\") ? \"-1\" : \"3\",\n\t\t\t\t},\n\t\t\t\toverflow: {\n\t\t\t\t\t\"order\": this.isIconHidden(\"overflow\") ? \"-1\" : \"4\",\n\t\t\t\t},\n\t\t\t\tprofile: {\n\t\t\t\t\t\"order\": this.hasProfile ? \"5\" : \"-1\",\n\t\t\t\t},\n\t\t\t\tproduct: {\n\t\t\t\t\t\"order\": this.isIconHidden(\"grid\") ? \"-1\" : \"6\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tsearchField: {\n\t\t\t\t\"display\": this.correctSearchFieldStyles,\n\t\t\t},\n\t\t};\n\t}\n\n\tget correctSearchFieldStyles() {\n\t\tif (this.showSearchField) {\n\t\t\treturn \"flex\";\n\t\t}\n\n\t\treturn \"none\";\n\t}\n\n\tget customItemsInfo() {\n\t\treturn this._itemsInfo.filter(itemInfo => !!itemInfo.custom);\n\t}\n\n\tget hasLogo() {\n\t\treturn !!this.logo.length;\n\t}\n\n\tget showLogoInMenuButton() {\n\t\treturn this.hasLogo && this.breakpointSize === \"S\";\n\t}\n\n\tget showTitleInMenuButton() {\n\t\treturn this.primaryTitle && !(this.showLogoInMenuButton);\n\t}\n\n\tget showMenuButton() {\n\t\treturn this.primaryTitle || this.showLogoInMenuButton;\n\t}\n\n\tget popoverHorizontalAlign() {\n\t\treturn this.effectiveDir === \"rtl\" ? \"Left\" : \"Right\";\n\t}\n\n\tget hasSearchField() {\n\t\treturn !!this.searchField.length;\n\t}\n\n\tget hasProfile() {\n\t\treturn !!this.profile.length;\n\t}\n\n\tget hasMenuItems() {\n\t\treturn this.menuItems.length > 0;\n\t}\n\n\tget _shellbarText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_LABEL);\n\t}\n\n\tget _logoText() {\n\t\treturn this.accessibilityTexts.logoTitle || ShellBar.i18nBundle.getText(SHELLBAR_LOGO);\n\t}\n\n\tget _copilotText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_COPILOT);\n\t}\n\n\tget _notificationsText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_NOTIFICATIONS, this.notificationsCount);\n\t}\n\n\tget _cancelBtnText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_CANCEL);\n\t}\n\n\tget _showFullWidthSearch() {\n\t\tconst size = this._handleBarBreakpoints();\n\t\tconst searchBtnHidden = !!this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-search-button.ui5-shellbar-hidden-button\");\n\n\t\treturn ((size === \"S\") || searchBtnHidden);\n\t}\n\n\tget _profileText() {\n\t\treturn this.accessibilityTexts.profileButtonTitle || ShellBar.i18nBundle.getText(SHELLBAR_PROFILE);\n\t}\n\n\tget _productsText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_PRODUCTS);\n\t}\n\n\tget _searchText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_SEARCH);\n\t}\n\n\tget _overflowText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_OVERFLOW);\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\tnotifications: {\n\t\t\t\t\"title\": this._notificationsText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this._notificationsHasPopup,\n\t\t\t\t},\n\t\t\t},\n\t\t\tprofile: {\n\t\t\t\t\"title\": this._profileText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this._profileHasPopup,\n\t\t\t\t},\n\t\t\t},\n\t\t\tproducts: {\n\t\t\t\t\"title\": this._productsText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this._productsHasPopup,\n\t\t\t\t},\n\t\t\t},\n\t\t\tsearch: {\n\t\t\t\t\"title\": this._searchText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this._searchHasPopup,\n\t\t\t\t\texpanded: this.showSearchField,\n\t\t\t\t},\n\t\t\t},\n\t\t\toverflow: {\n\t\t\t\t\"title\": this._overflowText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this._overflowHasPopup,\n\t\t\t\t\texpanded: this._overflowPopoverExpanded,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tget _notificationsHasPopup() {\n\t\tconst notificationsAccAttributes = this.accessibilityAttributes.notifications;\n\t\treturn notificationsAccAttributes ? notificationsAccAttributes.ariaHasPopup : null;\n\t}\n\n\tget _profileHasPopup() {\n\t\tconst profileAccAttributes = this.accessibilityAttributes.profile;\n\t\treturn profileAccAttributes ? profileAccAttributes.ariaHasPopup : null;\n\t}\n\n\tget _productsHasPopup() {\n\t\tconst productsAccAttributes = this.accessibilityAttributes.product;\n\t\treturn productsAccAttributes ? productsAccAttributes.ariaHasPopup : null;\n\t}\n\n\tget _searchHasPopup() {\n\t\tconst searcAccAttributes = this.accessibilityAttributes.search;\n\t\treturn searcAccAttributes ? searcAccAttributes.ariaHasPopup : null;\n\t}\n\n\tget _overflowHasPopup() {\n\t\tconst overflowAccAttributes = this.accessibilityAttributes.overflow;\n\t\treturn overflowAccAttributes ? overflowAccAttributes.ariaHasPopup : HasPopup.Menu;\n\t}\n\n\tget accLogoRole() {\n\t\treturn this.accessibilityRoles.logoRole || \"button\";\n\t}\n\n\tstatic async onDefine() {\n\t\tShellBar.i18nBundle = await getI18nBundle(\"@ui5/webcomponents-fiori\");\n\t}\n}\n\nShellBar.define();\n\nexport default ShellBar;\n\nexport type {\n\tShellBarNotificationsClickEventDetail,\n\tShellBarProfileClickEventDetail,\n\tShellBarProductSwitchClickEventDetail,\n\tShellBarLogoClickEventDetail,\n\tShellBarCoPilotClickEventDetail,\n\tShellBarMenuItemClickEventDetail,\n};\n"]}
@@ -2,6 +2,11 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  type ShellBarItemClickEventDetail = {
3
3
  targetRef: HTMLElement;
4
4
  };
5
+ /**
6
+ * Interface for components that may be slotted inside <code>ui5-shellbar</code> as items
7
+ *
8
+ * @public
9
+ */
5
10
  /**
6
11
  * @class
7
12
  * The <code>ui5-shellbar-item</code> represents a custom item, that
@@ -11,20 +16,14 @@ type ShellBarItemClickEventDetail = {
11
16
  * <code>import "@ui5/webcomponents-fiori/dist/ShellBarItem";</code>
12
17
  *
13
18
  * @constructor
14
- * @author SAP SE
15
- * @alias sap.ui.webc.fiori.ShellBarItem
16
- * @extends sap.ui.webc.base.UI5Element
19
+ * @extends UI5Element
17
20
  * @abstract
18
- * @tagname ui5-shellbar-item
19
- * @implements sap.ui.webc.fiori.IShellBarItem
20
21
  * @public
21
22
  */
22
23
  declare class ShellBarItem extends UI5Element {
23
24
  /**
24
25
  * Defines the name of the item's icon.
25
- * @type {string}
26
- * @defaultvalue ""
27
- * @name sap.ui.webc.fiori.ShellBarItem.prototype.icon
26
+ * @default ""
28
27
  * @public
29
28
  */
30
29
  icon: string;
@@ -32,17 +31,13 @@ declare class ShellBarItem extends UI5Element {
32
31
  * Defines the item text.
33
32
  * <br><br>
34
33
  * <b>Note:</b> The text is only displayed inside the overflow popover list view.
35
- * @type {string}
36
- * @defaultvalue ""
37
- * @name sap.ui.webc.fiori.ShellBarItem.prototype.text
34
+ * @default ""
38
35
  * @public
39
36
  */
40
37
  text: string;
41
38
  /**
42
39
  * Defines the count displayed in the top-right corner.
43
- * @type {string}
44
- * @defaultValue ""
45
- * @name sap.ui.webc.fiori.ShellBarItem.prototype.count
40
+ * @default ""
46
41
  * @since 1.0.0-rc.6
47
42
  * @public
48
43
  */
@@ -8,6 +8,11 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
8
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
9
9
  import event from "@ui5/webcomponents-base/dist/decorators/event.js";
10
10
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
11
+ /**
12
+ * Interface for components that may be slotted inside <code>ui5-shellbar</code> as items
13
+ *
14
+ * @public
15
+ */
11
16
  /**
12
17
  * @class
13
18
  * The <code>ui5-shellbar-item</code> represents a custom item, that
@@ -17,12 +22,8 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
17
22
  * <code>import "@ui5/webcomponents-fiori/dist/ShellBarItem";</code>
18
23
  *
19
24
  * @constructor
20
- * @author SAP SE
21
- * @alias sap.ui.webc.fiori.ShellBarItem
22
- * @extends sap.ui.webc.base.UI5Element
25
+ * @extends UI5Element
23
26
  * @abstract
24
- * @tagname ui5-shellbar-item
25
- * @implements sap.ui.webc.fiori.IShellBarItem
26
27
  * @public
27
28
  */
28
29
  let ShellBarItem = class ShellBarItem extends UI5Element {
@@ -49,7 +50,6 @@ ShellBarItem = __decorate([
49
50
  /**
50
51
  * Fired, when the item is pressed.
51
52
  *
52
- * @event sap.ui.webc.fiori.ShellBarItem#click
53
53
  * @allowPreventDefault
54
54
  * @param {HTMLElement} targetRef DOM ref of the clicked element
55
55
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"ShellBarItem.js","sourceRoot":"","sources":["../src/ShellBarItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AAMrF;;;;;;;;;;;;;;;;GAgBG;AAgBH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IAkCpC,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;IAED,cAAc,CAAC,CAAa;QAC3B,OAAO,IAAI,CAAC,SAAS,CAA+B,OAAO,EAAE;YAC5D,SAAS,EAAG,CAAC,CAAC,MAAsB;SACpC,EAAE,IAAI,CAAC,CAAC;IACV,CAAC;CACD,CAAA;AAlCA;IADC,QAAQ,EAAE;0CACG;AAYd;IADC,QAAQ,EAAE;0CACG;AAWd;IADC,QAAQ,EAAE;2CACI;AAhCV,YAAY;IAfjB,aAAa,CAAC,mBAAmB,CAAC;IACnC;;;;;;;OAOG;;IACF,KAAK,CAAC,OAAO,EAAE;QACf,MAAM,EAAE;YACP,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAChC;KACD,CAAC;GAEI,YAAY,CA2CjB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\n\ntype ShellBarItemClickEventDetail = {\n\ttargetRef: HTMLElement,\n};\n\n/**\n * @class\n * The <code>ui5-shellbar-item</code> represents a custom item, that\n * might be added to the <code>ui5-shellbar</code>.\n * <br><br>\n * <h3>ES6 Module Import</h3>\n * <code>import \"@ui5/webcomponents-fiori/dist/ShellBarItem\";</code>\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.fiori.ShellBarItem\n * @extends sap.ui.webc.base.UI5Element\n * @abstract\n * @tagname ui5-shellbar-item\n * @implements sap.ui.webc.fiori.IShellBarItem\n * @public\n */\n@customElement(\"ui5-shellbar-item\")\n/**\n * Fired, when the item is pressed.\n *\n * @event sap.ui.webc.fiori.ShellBarItem#click\n * @allowPreventDefault\n * @param {HTMLElement} targetRef DOM ref of the clicked element\n * @public\n */\n@event(\"click\", {\n\tdetail: {\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\nclass ShellBarItem extends UI5Element {\n\t/**\n\t * Defines the name of the item's icon.\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @name sap.ui.webc.fiori.ShellBarItem.prototype.icon\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines the item text.\n * <br><br>\n * <b>Note:</b> The text is only displayed inside the overflow popover list view.\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @name sap.ui.webc.fiori.ShellBarItem.prototype.text\n\t * @public\n\t */\n\t@property()\n\ttext!: string;\n\n\t/**\n\t * Defines the count displayed in the top-right corner.\n\t * @type {string}\n\t * @defaultValue \"\"\n\t * @name sap.ui.webc.fiori.ShellBarItem.prototype.count\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@property()\n\tcount!: string;\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n\n\tfireClickEvent(e: MouseEvent) {\n\t\treturn this.fireEvent<ShellBarItemClickEventDetail>(\"click\", {\n\t\t\ttargetRef: (e.target as HTMLElement),\n\t\t}, true);\n\t}\n}\n\nShellBarItem.define();\n\nexport default ShellBarItem;\n\nexport type { ShellBarItemClickEventDetail };\n"]}
1
+ {"version":3,"file":"ShellBarItem.js","sourceRoot":"","sources":["../src/ShellBarItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AAMrF;;;;GAIG;AAEH;;;;;;;;;;;;GAYG;AAeH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IA4BpC,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;IAED,cAAc,CAAC,CAAa;QAC3B,OAAO,IAAI,CAAC,SAAS,CAA+B,OAAO,EAAE;YAC5D,SAAS,EAAG,CAAC,CAAC,MAAsB;SACpC,EAAE,IAAI,CAAC,CAAC;IACV,CAAC;CACD,CAAA;AA9BA;IADC,QAAQ,EAAE;0CACG;AAUd;IADC,QAAQ,EAAE;0CACG;AASd;IADC,QAAQ,EAAE;2CACI;AA1BV,YAAY;IAdjB,aAAa,CAAC,mBAAmB,CAAC;IACnC;;;;;;OAMG;;IACF,KAAK,CAAC,OAAO,EAAE;QACf,MAAM,EAAE;YACP,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAChC;KACD,CAAC;GAEI,YAAY,CAqCjB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\n\ntype ShellBarItemClickEventDetail = {\n\ttargetRef: HTMLElement,\n};\n\n/**\n * Interface for components that may be slotted inside <code>ui5-shellbar</code> as items\n *\n * @public\n */\n\n/**\n * @class\n * The <code>ui5-shellbar-item</code> represents a custom item, that\n * might be added to the <code>ui5-shellbar</code>.\n * <br><br>\n * <h3>ES6 Module Import</h3>\n * <code>import \"@ui5/webcomponents-fiori/dist/ShellBarItem\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @abstract\n * @public\n */\n@customElement(\"ui5-shellbar-item\")\n/**\n * Fired, when the item is pressed.\n *\n * @allowPreventDefault\n * @param {HTMLElement} targetRef DOM ref of the clicked element\n * @public\n */\n@event(\"click\", {\n\tdetail: {\n\t\ttargetRef: { type: HTMLElement },\n\t},\n})\n\nclass ShellBarItem extends UI5Element {\n\t/**\n\t * Defines the name of the item's icon.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines the item text.\n * <br><br>\n * <b>Note:</b> The text is only displayed inside the overflow popover list view.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ttext!: string;\n\n\t/**\n\t * Defines the count displayed in the top-right corner.\n\t * @default \"\"\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@property()\n\tcount!: string;\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n\n\tfireClickEvent(e: MouseEvent) {\n\t\treturn this.fireEvent<ShellBarItemClickEventDetail>(\"click\", {\n\t\t\ttargetRef: (e.target as HTMLElement),\n\t\t}, true);\n\t}\n}\n\nShellBarItem.define();\n\nexport default ShellBarItem;\n\nexport type { ShellBarItemClickEventDetail };\n"]}