@ui5/webcomponents-fiori 2.8.0-rc.1 → 2.8.0-rc.2

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 (202) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/cypress/specs/ShellBar.cy.tsx +102 -44
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/ShellBar.d.ts +45 -52
  5. package/dist/ShellBar.js +215 -256
  6. package/dist/ShellBar.js.map +1 -1
  7. package/dist/ShellBarTemplate.js +34 -16
  8. package/dist/ShellBarTemplate.js.map +1 -1
  9. package/dist/css/themes/DynamicPage.css +1 -1
  10. package/dist/css/themes/DynamicPageHeader.css +1 -1
  11. package/dist/css/themes/DynamicPageHeaderActions.css +1 -1
  12. package/dist/css/themes/DynamicPageTitle.css +1 -1
  13. package/dist/css/themes/FlexibleColumnLayout.css +1 -1
  14. package/dist/css/themes/MediaGallery.css +1 -1
  15. package/dist/css/themes/MediaGalleryItem.css +1 -1
  16. package/dist/css/themes/NavigationMenu.css +1 -1
  17. package/dist/css/themes/NavigationMenuItem.css +1 -1
  18. package/dist/css/themes/NotificationListGroupItem.css +1 -1
  19. package/dist/css/themes/NotificationListItem.css +1 -1
  20. package/dist/css/themes/NotificationListItemBase.css +1 -1
  21. package/dist/css/themes/NotificationStateIcon.css +1 -1
  22. package/dist/css/themes/Page.css +1 -1
  23. package/dist/css/themes/ProductSwitchItem.css +1 -1
  24. package/dist/css/themes/ShellBar.css +1 -1
  25. package/dist/css/themes/ShellBarPopover.css +1 -1
  26. package/dist/css/themes/SideNavigation.css +1 -1
  27. package/dist/css/themes/SideNavigationGroup.css +1 -1
  28. package/dist/css/themes/SideNavigationItem.css +1 -1
  29. package/dist/css/themes/SideNavigationItemBase.css +1 -1
  30. package/dist/css/themes/SideNavigationPopover.css +1 -1
  31. package/dist/css/themes/SideNavigationSubItem.css +1 -1
  32. package/dist/css/themes/Timeline.css +1 -1
  33. package/dist/css/themes/TimelineGroupItem.css +1 -1
  34. package/dist/css/themes/TimelineItem.css +1 -1
  35. package/dist/css/themes/UploadCollection.css +1 -1
  36. package/dist/css/themes/UploadCollectionItem.css +1 -1
  37. package/dist/css/themes/ViewSettingsDialog.css +1 -1
  38. package/dist/css/themes/Wizard.css +1 -1
  39. package/dist/css/themes/WizardTab.css +1 -1
  40. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  41. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  42. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  43. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  44. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  45. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  46. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  47. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  48. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  49. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  50. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  51. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  52. package/dist/custom-elements-internal.json +1 -1
  53. package/dist/custom-elements.json +1 -1
  54. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  55. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  56. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  57. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  58. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  59. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  60. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  61. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  62. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  63. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  64. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  65. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  66. package/dist/generated/themes/DynamicPage.css.d.ts +1 -1
  67. package/dist/generated/themes/DynamicPage.css.js +1 -1
  68. package/dist/generated/themes/DynamicPage.css.js.map +1 -1
  69. package/dist/generated/themes/DynamicPageHeader.css.d.ts +1 -1
  70. package/dist/generated/themes/DynamicPageHeader.css.js +1 -1
  71. package/dist/generated/themes/DynamicPageHeader.css.js.map +1 -1
  72. package/dist/generated/themes/DynamicPageHeaderActions.css.d.ts +1 -1
  73. package/dist/generated/themes/DynamicPageHeaderActions.css.js +1 -1
  74. package/dist/generated/themes/DynamicPageHeaderActions.css.js.map +1 -1
  75. package/dist/generated/themes/DynamicPageTitle.css.d.ts +1 -1
  76. package/dist/generated/themes/DynamicPageTitle.css.js +1 -1
  77. package/dist/generated/themes/DynamicPageTitle.css.js.map +1 -1
  78. package/dist/generated/themes/FlexibleColumnLayout.css.d.ts +1 -1
  79. package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
  80. package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
  81. package/dist/generated/themes/MediaGallery.css.d.ts +1 -1
  82. package/dist/generated/themes/MediaGallery.css.js +1 -1
  83. package/dist/generated/themes/MediaGallery.css.js.map +1 -1
  84. package/dist/generated/themes/MediaGalleryItem.css.d.ts +1 -1
  85. package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
  86. package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
  87. package/dist/generated/themes/NavigationMenu.css.d.ts +1 -1
  88. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  89. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  90. package/dist/generated/themes/NavigationMenuItem.css.d.ts +1 -1
  91. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  92. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  93. package/dist/generated/themes/NotificationListGroupItem.css.d.ts +1 -1
  94. package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
  95. package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
  96. package/dist/generated/themes/NotificationListItem.css.d.ts +1 -1
  97. package/dist/generated/themes/NotificationListItem.css.js +1 -1
  98. package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
  99. package/dist/generated/themes/NotificationListItemBase.css.d.ts +1 -1
  100. package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
  101. package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
  102. package/dist/generated/themes/NotificationStateIcon.css.d.ts +1 -1
  103. package/dist/generated/themes/NotificationStateIcon.css.js +1 -1
  104. package/dist/generated/themes/NotificationStateIcon.css.js.map +1 -1
  105. package/dist/generated/themes/Page.css.d.ts +1 -1
  106. package/dist/generated/themes/Page.css.js +1 -1
  107. package/dist/generated/themes/Page.css.js.map +1 -1
  108. package/dist/generated/themes/ProductSwitchItem.css.d.ts +1 -1
  109. package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
  110. package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
  111. package/dist/generated/themes/ShellBar.css.d.ts +1 -1
  112. package/dist/generated/themes/ShellBar.css.js +1 -1
  113. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  114. package/dist/generated/themes/ShellBarPopover.css.d.ts +1 -1
  115. package/dist/generated/themes/ShellBarPopover.css.js +1 -1
  116. package/dist/generated/themes/ShellBarPopover.css.js.map +1 -1
  117. package/dist/generated/themes/SideNavigation.css.d.ts +1 -1
  118. package/dist/generated/themes/SideNavigation.css.js +1 -1
  119. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  120. package/dist/generated/themes/SideNavigationGroup.css.d.ts +1 -1
  121. package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
  122. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  123. package/dist/generated/themes/SideNavigationItem.css.d.ts +1 -1
  124. package/dist/generated/themes/SideNavigationItem.css.js +1 -1
  125. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  126. package/dist/generated/themes/SideNavigationItemBase.css.d.ts +1 -1
  127. package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
  128. package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
  129. package/dist/generated/themes/SideNavigationPopover.css.d.ts +1 -1
  130. package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
  131. package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
  132. package/dist/generated/themes/SideNavigationSubItem.css.d.ts +1 -1
  133. package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
  134. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  135. package/dist/generated/themes/Timeline.css.d.ts +1 -1
  136. package/dist/generated/themes/Timeline.css.js +1 -1
  137. package/dist/generated/themes/Timeline.css.js.map +1 -1
  138. package/dist/generated/themes/TimelineGroupItem.css.d.ts +1 -1
  139. package/dist/generated/themes/TimelineGroupItem.css.js +1 -1
  140. package/dist/generated/themes/TimelineGroupItem.css.js.map +1 -1
  141. package/dist/generated/themes/TimelineItem.css.d.ts +1 -1
  142. package/dist/generated/themes/TimelineItem.css.js +1 -1
  143. package/dist/generated/themes/TimelineItem.css.js.map +1 -1
  144. package/dist/generated/themes/UploadCollection.css.d.ts +1 -1
  145. package/dist/generated/themes/UploadCollection.css.js +1 -1
  146. package/dist/generated/themes/UploadCollection.css.js.map +1 -1
  147. package/dist/generated/themes/UploadCollectionItem.css.d.ts +1 -1
  148. package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
  149. package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
  150. package/dist/generated/themes/ViewSettingsDialog.css.d.ts +1 -1
  151. package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
  152. package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
  153. package/dist/generated/themes/Wizard.css.d.ts +1 -1
  154. package/dist/generated/themes/Wizard.css.js +1 -1
  155. package/dist/generated/themes/Wizard.css.js.map +1 -1
  156. package/dist/generated/themes/WizardTab.css.d.ts +1 -1
  157. package/dist/generated/themes/WizardTab.css.js +1 -1
  158. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  159. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  160. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  161. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  162. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  163. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  164. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  165. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  166. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  167. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  168. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  169. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  170. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  171. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  172. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  173. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  174. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  175. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  176. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  177. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.d.ts +1 -1
  178. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  179. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  180. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.d.ts +1 -1
  181. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  182. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  183. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  184. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  185. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  186. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.d.ts +1 -1
  187. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  188. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  189. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  190. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  191. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  192. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.d.ts +1 -1
  193. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  194. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  195. package/dist/vscode.html-custom-data.json +1 -1
  196. package/dist/web-types.json +3 -3
  197. package/package.json +8 -8
  198. package/src/ShellBarTemplate.tsx +145 -117
  199. package/src/themes/FlexibleColumnLayout.css +4 -3
  200. package/src/themes/ShellBar.css +26 -28
  201. package/src/themes/base/FlexibleColumnLayout-parameters.css +0 -1
  202. package/src/themes/base/ShellBar-parameters.css +1 -1
@@ -73,135 +73,163 @@ export default function ShellBarTemplate(this: ShellBar) {
73
73
  </div>
74
74
  )}
75
75
  <div class="ui5-shellbar-overflow-container ui5-shellbar-overflow-container-right">
76
- {this.hasAdditionalContext && (
77
- <>
78
- <div style={this.styles.additionalContext.start.separator} class="ui5-shellbar-separator ui5-shellbar-separator-start"></div>
79
- <div class="ui5-shellbar-overflow-container-additional-content" aria-label={this._additionalContextText} role={this._additionalContextRole}>
80
- {this.startContent.map(item => (
81
- <div key={item._individualSlot} id={item._individualSlot} class="ui5-shellbar-additional-content-item">
82
- <slot name={item._individualSlot}></slot>
83
- </div>
84
- ))}
85
- <div class="ui5-shellbar-spacer"></div>
86
- {this.endContent.map(item => (
87
- <div key={item._individualSlot} id={item._individualSlot} class="ui5-shellbar-additional-content-item">
88
- <slot name={item._individualSlot}></slot>
89
- </div>
90
- ))}
91
- </div>
92
- <div style={this.styles.additionalContext.end.separator} class="ui5-shellbar-separator ui5-shellbar-separator-end"></div>
93
- </>
94
- )}
95
- {!this.hasAdditionalContext && <div class="ui5-shellbar-spacer"></div>}
96
- <div class="ui5-shellbar-overflow-container-right-child" role={this._rightChildRole}>
97
- {this.hasSearchField && (
76
+ <div class="ui5-shellbar-overflow-container-right-inner">
77
+ {this.hasContentItems && (
98
78
  <>
99
- {this._showFullWidthSearch && (
100
- <div class="ui5-shellbar-search-full-width-wrapper" style={this.styles.searchField}>
101
- <div class="ui5-shellbar-search-full-field">
102
- <slot name="searchField"></slot>
79
+ {this.showStartSeparatorInWrapper && (
80
+ <div class={{
81
+ "ui5-shellbar-separator": true,
82
+ "ui5-shellbar-separator-start": true,
83
+ }}></div>
84
+ )}
85
+ {this.startContent.map((item, index) => {
86
+ const itemInfo = this._contentInfo.find(info => info.id === item._individualSlot);
87
+ return (
88
+ <div key={item._individualSlot} id={item._individualSlot} class={itemInfo?.classes}>
89
+ {!this.showStartSeparatorInWrapper && index === 0 && (
90
+ <div class={{
91
+ "ui5-shellbar-separator": true,
92
+ "ui5-shellbar-separator-start": true,
93
+ }}></div>
94
+ )}
95
+ <slot name={item._individualSlot}></slot>
103
96
  </div>
104
- <Button
105
- onClick={this._handleCancelButtonPress}
106
- class="ui5-shellbar-button ui5-shellbar-cancel-button"
107
- data-ui5-stable="cancel-search">
108
- {this._cancelBtnText}
109
- </Button>
110
- </div>
97
+ );
98
+ })}
99
+ <div class="ui5-shellbar-spacer"></div>
100
+ {this.endContent.map((item, index) => {
101
+ const itemInfo = this._contentInfo.find(info => info.id === item._individualSlot);
102
+ return (
103
+ <div key={item._individualSlot} id={item._individualSlot} class={itemInfo?.classes}>
104
+ <slot name={item._individualSlot}></slot>
105
+ {!this.showEndSeparatorInWrapper && index === this.endContent.length - 1 && (
106
+ <div class={{
107
+ "ui5-shellbar-separator": true,
108
+ "ui5-shellbar-separator-end": true,
109
+ }}></div>
110
+ )}
111
+ </div>
112
+ );
113
+ })}
114
+ {this.showEndSeparatorInWrapper && (
115
+ <div class={{
116
+ "ui5-shellbar-separator": true,
117
+ "ui5-shellbar-separator-end": true,
118
+ }}></div>
111
119
  )}
112
- <div class="ui5-shellbar-search-field" style={this.styles.searchField}>
113
- {!this._showFullWidthSearch && <slot name="searchField"></slot>}
120
+ </>
121
+ )}
122
+ {!this.hasContentItems && <div class="ui5-shellbar-spacer"></div>}
123
+ <div class="ui5-shellbar-overflow-container-right-child" role={this._rightChildRole}>
124
+ {this.hasSearchField && (
125
+ <>
126
+ {this.showFullWidthSearch && (
127
+ <div class="ui5-shellbar-search-full-width-wrapper" style={this.styles.searchField}>
128
+ <div class="ui5-shellbar-search-full-field">
129
+ <slot name="searchField"></slot>
130
+ </div>
131
+ <Button
132
+ onClick={this._handleCancelButtonPress}
133
+ class="ui5-shellbar-button ui5-shellbar-cancel-button"
134
+ data-ui5-stable="cancel-search">
135
+ {this._cancelBtnText}
136
+ </Button>
137
+ </div>
138
+ )}
139
+ <div class="ui5-shellbar-search-field" style={this.styles.searchField}>
140
+ <slot name="searchField"></slot>
141
+ </div>
142
+ <Button
143
+ id={`${this._id}-item-1`}
144
+ class={{
145
+ "ui5-shellbar-button": true,
146
+ "ui5-shellbar-search-button": true,
147
+ "ui5-shellbar-search-item-for-arrow-nav": true,
148
+ ...this.classes.search,
149
+ }}
150
+ icon="sap-icon://search"
151
+ data-ui5-text="Search"
152
+ data-ui5-notifications-count={this.notificationsCount}
153
+ data-ui5-stable="toggle-search"
154
+ onClick={this._handleSearchIconPress}
155
+ tooltip={this._searchBtnOpen}
156
+ aria-label={this._searchBtnOpen}
157
+ aria-expanded={this.showSearchField}
158
+ accessibilityAttributes={this.accInfo.search.accessibilityAttributes}
159
+ />
160
+ </>
161
+ )}
162
+ {this.hasAssistant && (
163
+ <div id={`${this._id}-assistant`} class={this.classes.assistant}>
164
+ <slot name="assistant"></slot>
114
165
  </div>
166
+ )}
167
+ {this.showNotifications && (
115
168
  <Button
116
- id={`${this._id}-item-1`}
169
+ id={`${this._id}-item-2`}
117
170
  class={{
118
171
  "ui5-shellbar-button": true,
119
- "ui5-shellbar-search-button": true,
120
- "ui5-shellbar-search-item-for-arrow-nav": true,
121
- ...this.classes.search,
172
+ "ui5-shellbar-bell-button": true,
173
+ "ui5-shellbar-items-for-arrow-nav": true,
174
+ ...this.classes.notification,
122
175
  }}
123
- icon="sap-icon://search"
124
- data-ui5-text="Search"
176
+ icon="sap-icon://bell"
177
+ data-ui5-text="Notifications"
125
178
  data-ui5-notifications-count={this.notificationsCount}
126
- data-ui5-stable="toggle-search"
127
- onClick={this._handleSearchIconPress}
128
- tooltip={this._searchBtnOpen}
129
- aria-label={this._searchBtnOpen}
130
- aria-expanded={this._searchFieldExpanded}
131
- accessibilityAttributes={this.accInfo.search.accessibilityAttributes}
179
+ onClick={this._handleNotificationsPress}
180
+ tooltip={this._notificationsText}
181
+ accessibilityAttributes={this.accInfo.notifications.accessibilityAttributes}
182
+ data-ui5-stable="notifications"
132
183
  />
133
- </>
134
- )}
135
- {this.hasAssistant && (
136
- <div id="assistant" class={this.classes.assistant}>
137
- <slot name="assistant"></slot>
138
- </div>
139
- )}
140
- {this.showNotifications && (
141
- <Button
142
- id={`${this._id}-item-2`}
143
- class={{
144
- "ui5-shellbar-button": true,
145
- "ui5-shellbar-bell-button": true,
146
- "ui5-shellbar-items-for-arrow-nav": true,
147
- ...this.classes.notification,
148
- }}
149
- icon="sap-icon://bell"
150
- data-ui5-text="Notifications"
151
- data-ui5-notifications-count={this.notificationsCount}
152
- onClick={this._handleNotificationsPress}
153
- tooltip={this._notificationsText}
154
- accessibilityAttributes={this.accInfo.notifications.accessibilityAttributes}
155
- data-ui5-stable="notifications"
156
- />
157
- )}
158
- {this.customItemsInfo.map(item => (
159
- <Button
160
- key={item.id}
161
- id={item.id}
162
- class={`${item.classes} ui5-shellbar-items-for-arrow-nav`}
163
- icon={item.icon}
164
- tooltip={item.tooltip}
165
- data-count={item.count}
166
- data-ui5-notifications-count={this.notificationsCount}
167
- data-ui5-external-action-item-id={item.refItemid}
168
- data-ui5-stable={item.stableDomRef}
169
- onClick={item.press}
170
- />
171
- ))}
172
- <Button
173
- id={`${this._id}-item-5`}
174
- class={{
175
- "ui5-shellbar-no-overflow-button": true, // always visible
176
- "ui5-shellbar-button": true,
177
- "ui5-shellbar-overflow-button": true,
178
- ...this.classes.overflow,
179
- }}
180
- icon="sap-icon://overflow"
181
- data-count={this._overflowNotifications}
182
- onClick={this._handleOverflowPress}
183
- tooltip={this._overflowText}
184
- accessibilityAttributes={this.accInfo.overflow.accessibilityAttributes}
185
- data-ui5-stable="overflow"
186
- />
187
- {this.hasProfile && profileButton.call(this)}
188
- {this.showProductSwitch && (
189
- <Button
190
- id={`${this._id}-item-4`}
191
- class={`ui5-shellbar-no-overflow-button ui5-shellbar-button ui5-shellbar-button-product-switch ui5-shellbar-items-for-arrow-nav`}
192
- icon="sap-icon://grid"
193
- data-ui5-text="Product Switch"
194
- onClick={this._handleProductSwitchPress}
195
- tooltip={this._productsText}
196
- aria-label={this._productSwitchBtnText}
197
- aria-haspopup="dialog"
198
- aria-expanded={this.accInfo.products.accessibilityAttributes.expanded}
199
- accessibilityAttributes={this.accInfo.products.accessibilityAttributes}
200
- data-ui5-stable="product-switch"
201
- />
202
- )}
184
+ )}
185
+ {this.customItemsInfo.map(item => (
186
+ <Button
187
+ key={item.id}
188
+ id={item.id}
189
+ class={`${item.classes} ui5-shellbar-items-for-arrow-nav`}
190
+ icon={item.icon}
191
+ tooltip={item.tooltip}
192
+ data-count={item.count}
193
+ data-ui5-notifications-count={this.notificationsCount}
194
+ data-ui5-external-action-item-id={item.refItemid}
195
+ data-ui5-stable={item.stableDomRef}
196
+ onClick={item.press}
197
+ />
198
+ ))}
199
+ </div>
203
200
  </div>
204
201
  </div>
202
+ <Button
203
+ id={`${this._id}-item-5`}
204
+ class={{
205
+ "ui5-shellbar-button": true,
206
+ "ui5-shellbar-overflow-button": true,
207
+ "ui5-shellbar-items-for-arrow-nav": true,
208
+ ...this.classes.overflow,
209
+ }}
210
+ icon="sap-icon://overflow"
211
+ data-count={this._overflowNotifications}
212
+ onClick={this._handleOverflowPress}
213
+ tooltip={this._overflowText}
214
+ accessibilityAttributes={this.accInfo.overflow.accessibilityAttributes}
215
+ data-ui5-stable="overflow"
216
+ />
217
+ {this.hasProfile && profileButton.call(this)}
218
+ {this.showProductSwitch && (
219
+ <Button
220
+ id={`${this._id}-item-4`}
221
+ class="ui5-shellbar-no-overflow-button ui5-shellbar-button ui5-shellbar-button-product-switch ui5-shellbar-items-for-arrow-nav"
222
+ icon="sap-icon://grid"
223
+ data-ui5-text="Product Switch"
224
+ onClick={this._handleProductSwitchPress}
225
+ tooltip={this._productsText}
226
+ aria-label={this._productSwitchBtnText}
227
+ aria-haspopup="dialog"
228
+ aria-expanded={this.accInfo.products.accessibilityAttributes.expanded}
229
+ accessibilityAttributes={this.accInfo.products.accessibilityAttributes}
230
+ data-ui5-stable="product-switch"
231
+ />
232
+ )}
205
233
  </header>
206
234
  {ShellBarPopoverTemplate.call(this)}
207
235
  </>
@@ -45,11 +45,12 @@
45
45
  border-inline-end: var(--_ui5_fcl_column_border);
46
46
  position: relative;
47
47
  box-sizing: border-box;
48
+ z-index: 1;
48
49
  }
49
50
 
50
- .ui5-fcl-separator:focus {
51
- border:var(--_ui5_fcl_separator_focus_border);
52
- outline: none;
51
+ .ui5-fcl-separator:focus {
52
+ outline: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);
53
+ outline-offset: calc(-1 * var(--sapContent_FocusWidth));
53
54
  }
54
55
 
55
56
  .ui5-fcl-grip {
@@ -33,8 +33,8 @@
33
33
  .ui5-shellbar-menu-button,
34
34
  .ui5-shellbar-button,
35
35
  .ui5-shellbar-image-button,
36
- ::slotted([ui5-toggle-button]),
37
- ::slotted([ui5-button]){
36
+ ::slotted([ui5-toggle-button]:not([slot^="content"])),
37
+ ::slotted([ui5-button]:not([slot^="content"])) {
38
38
  height: 2.25rem;
39
39
  padding: 0;
40
40
  margin-inline-start: var(--_ui5-shellbar-overflow-button-margin);
@@ -55,6 +55,14 @@
55
55
  word-spacing: inherit;
56
56
  }
57
57
 
58
+ ::slotted([ui5-toggle-button][slot="assistant"]) {
59
+ margin-inline-start: 0;
60
+ }
61
+
62
+ .ui5-shellbar-assistant-button {
63
+ margin-inline-start: var(--_ui5-shellbar-overflow-button-margin);
64
+ }
65
+
58
66
  ::slotted([ui5-button][slot="startButton"]) {
59
67
  margin-inline-start: 0;
60
68
  }
@@ -204,12 +212,14 @@ slot[name="profile"] {
204
212
  }
205
213
 
206
214
  .ui5-shellbar-logo {
215
+ overflow: hidden;
207
216
  cursor: pointer;
208
217
  max-height: 2rem;
209
- padding: .25rem;
218
+ max-width: 3.75rem;
210
219
  }
211
220
 
212
221
  .ui5-shellbar-logo-area {
222
+ overflow: hidden;
213
223
  display: flex;
214
224
  align-items: center;
215
225
  padding: .25rem .5rem .25rem .25rem;
@@ -222,18 +232,13 @@ slot[name="profile"] {
222
232
  margin-inline-start: 0.125rem;
223
233
  }
224
234
 
225
- .ui5-shellbar-logo-area .ui5-shellbar-logo {
226
- padding: 0;
227
- }
228
-
229
235
  .ui5-shellbar-logo:focus,
230
236
  .ui5-shellbar-logo-area:focus {
231
- overflow: hidden;
232
237
  outline: var(--_ui5_shellbar_logo_outline);
233
238
  border-radius: var(--_ui5_shellbar_logo_border_radius);
234
239
  }
235
240
 
236
- .ui5-shellbar-logo:hover,
241
+ .ui5-shellbar-overflow-container > .ui5-shellbar-logo:hover,
237
242
  .ui5-shellbar-logo-area:hover {
238
243
  box-shadow: var(--_ui5_shellbar_button_box_shadow);
239
244
  border-radius: var(--_ui5_shellbar_logo_border_radius);
@@ -340,13 +345,15 @@ slot[name="profile"] {
340
345
  align-items: center;
341
346
  }
342
347
 
343
- .ui5-shellbar-overflow-container-additional-content {
344
- align-items: center;
348
+ .ui5-shellbar-overflow-container-right-inner {
345
349
  display: flex;
346
- overflow: hidden;
350
+ justify-content: flex-end;
351
+ align-items: center;
347
352
  flex-grow: 1;
353
+ min-width: max-content;
348
354
  }
349
355
 
356
+
350
357
  .ui5-shellbar-spacer {
351
358
  flex-grow: 1;
352
359
  height: 1px;
@@ -362,13 +369,8 @@ slot[name="profile"] {
362
369
  background-color: var(--sapToolbar_SeparatorColor);
363
370
  }
364
371
 
365
- .ui5-shellbar-separator-start {
366
- margin-inline-end: 0.5rem;
367
- }
368
-
369
372
  .ui5-shellbar-separator-end {
370
373
  margin-inline-start: 0.5rem;
371
- margin-inline-end: 0.5rem;
372
374
  }
373
375
 
374
376
  .ui5-shellbar-overflow-container-right-child .ui5-shellbar-button[data-count]:has(+ .ui5-shellbar-overflow-button)::before {
@@ -386,15 +388,13 @@ slot[name="profile"] {
386
388
  position: absolute;
387
389
  }
388
390
 
389
- .ui5-shellbar-additional-content-item {
391
+ .ui5-shellbar-content-item {
392
+ display: flex;
393
+ align-items: center;
390
394
  flex-shrink: 0;
391
395
  padding-inline-start: var(--_ui5-shellbar-content-margin-start);
392
396
  }
393
397
 
394
- .ui5-shellbar-additional-content-item:first-child {
395
- padding-inline-start: 0;
396
- }
397
-
398
398
  :host(:not([notifications-count])) .ui5-shellbar-bell-button {
399
399
  position: relative;
400
400
  }
@@ -440,6 +440,8 @@ slot[name="profile"] {
440
440
  }
441
441
 
442
442
  .ui5-shellbar-search-field {
443
+ padding-inline-start: var(--_ui5-shellbar-content-margin-start);
444
+ min-width: var(--_ui5_shellbar_search_field_width);
443
445
  align-items: center;
444
446
  flex-grow: 1;
445
447
  margin-inline-start: 0.5rem;
@@ -450,10 +452,6 @@ slot[name="profile"] {
450
452
  margin-inline-start: 0;
451
453
  }
452
454
 
453
- .ui5-shellbar-with-full-searchfield .ui5-shellbar-overflow-container-additional-content {
454
- max-width: 0px;
455
- }
456
-
457
455
  .ui5-shellbar-search-full-width-wrapper .ui5-shellbar-search-full-field {
458
456
  height: 2.25rem;
459
457
  width: 100%;
@@ -506,8 +504,8 @@ slot[name="profile"] {
506
504
 
507
505
  ::slotted([slot="logo"]) {
508
506
  max-height: 2rem;
507
+ max-width: 3.75rem;
509
508
  pointer-events: none;
510
- padding: 0 0.25rem;
511
509
  }
512
510
 
513
511
  .ui5-shellbar-co-pilot-placeholder {
@@ -532,7 +530,6 @@ slot[name="profile"] {
532
530
 
533
531
  /* if class contains ui5-shellbar-hidden-button */
534
532
  ::slotted(.ui5-shellbar-hidden-button),
535
- ::slotted(.ui5-shellbar-force-hidden-button),
536
533
  .ui5-shellbar-hidden-button,
537
534
  .ui5-shellbar-invisible-button {
538
535
  visibility: hidden;
@@ -542,6 +539,7 @@ slot[name="profile"] {
542
539
  width: 0;
543
540
  margin: 0;
544
541
  padding: 0;
542
+ padding-inline-start: 0;
545
543
  border: 0;
546
544
  margin-inline-start: 0;
547
545
  }
@@ -3,5 +3,4 @@
3
3
  --_ui5_fcl_column_border: none;
4
4
  --_ui5_fcl_decoration_top: linear-gradient(to top, var(--sapHighlightColor), transparent);
5
5
  --_ui5_fcl_decoration_bottom: linear-gradient(to bottom, var(--sapHighlightColor), transparent);
6
- --_ui5_fcl_separator_focus_border: 0.125rem solid var(--sapContent_FocusColor);
7
6
  }
@@ -24,6 +24,6 @@
24
24
  --_ui5_shellbar_overflow_container_middle_height: 2.5rem;
25
25
  --_ui5_shellbar_menu_button_title_font_size: 0.75rem;
26
26
  --_ui5_shellbar_image_button_border_radius: 50%;
27
- --_ui5-shellbar-content-margin-start: 1rem;
27
+ --_ui5-shellbar-content-margin-start: 0.5rem;
28
28
  --_ui5-shellbar-overflow-button-margin: 0.5rem;
29
29
  }