@sapudex/web-components 0.226.1 → 0.226.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 (113) hide show
  1. package/dist/Breadcrumbs.js +3 -2
  2. package/dist/Breadcrumbs.js.map +1 -1
  3. package/dist/Button.d.ts +7 -0
  4. package/dist/Button.js +5 -0
  5. package/dist/Button.js.map +1 -1
  6. package/dist/ListItem.d.ts +3 -2
  7. package/dist/ListItem.js +2 -2
  8. package/dist/ListItem.js.map +1 -1
  9. package/dist/MastheadItem.js +1 -1
  10. package/dist/MastheadItem.js.map +1 -1
  11. package/dist/Pagination.d.ts +2 -2
  12. package/dist/Pagination.js +10 -8
  13. package/dist/Pagination.js.map +1 -1
  14. package/dist/PhoneNumberField.js.map +1 -1
  15. package/dist/Search.js +1 -2
  16. package/dist/Search.js.map +1 -1
  17. package/dist/SecondaryNavigation.d.ts +4 -1
  18. package/dist/SecondaryNavigation.js +37 -10
  19. package/dist/SecondaryNavigation.js.map +1 -1
  20. package/dist/SecondaryNavigationItem.d.ts +10 -0
  21. package/dist/SecondaryNavigationItem.js +19 -0
  22. package/dist/SecondaryNavigationItem.js.map +1 -1
  23. package/dist/SecondaryNavigationItemBase.d.ts +1 -0
  24. package/dist/SecondaryNavigationItemBase.js +3 -0
  25. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  26. package/dist/SecondaryNavigationSubItem.d.ts +0 -1
  27. package/dist/SecondaryNavigationSubItem.js +0 -3
  28. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  29. package/dist/assets/{bundle.esm-a49b6527.js → bundle.esm-8390abc2.js} +189 -189
  30. package/dist/css/themes/Breadcrumbs.css +1 -1
  31. package/dist/css/themes/Button.css +1 -1
  32. package/dist/css/themes/ListItem.css +1 -1
  33. package/dist/css/themes/MastheadShell.css +1 -1
  34. package/dist/css/themes/Modal.css +1 -1
  35. package/dist/css/themes/Pagination.css +1 -1
  36. package/dist/css/themes/RatingIndicator.css +1 -1
  37. package/dist/css/themes/Search.css +1 -1
  38. package/dist/css/themes/Slider.css +1 -1
  39. package/dist/custom-elements-internal.json +36 -2
  40. package/dist/custom-elements.json +19 -0
  41. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
  42. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  43. package/dist/generated/templates/ButtonTemplate.lit.d.ts +4 -0
  44. package/dist/generated/templates/ButtonTemplate.lit.js +7 -0
  45. package/dist/generated/templates/ButtonTemplate.lit.js.map +1 -0
  46. package/dist/generated/templates/PaginationTemplate.lit.js +3 -3
  47. package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
  48. package/dist/generated/templates/SearchTemplate.lit.js +3 -3
  49. package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
  50. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +2 -2
  51. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
  52. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +1 -1
  53. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  54. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  55. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  56. package/dist/generated/themes/Button.css.js +1 -1
  57. package/dist/generated/themes/Button.css.js.map +1 -1
  58. package/dist/generated/themes/ListItem.css.js +1 -1
  59. package/dist/generated/themes/ListItem.css.js.map +1 -1
  60. package/dist/generated/themes/MastheadShell.css.js +1 -1
  61. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  62. package/dist/generated/themes/Modal.css.js +1 -1
  63. package/dist/generated/themes/Modal.css.js.map +1 -1
  64. package/dist/generated/themes/Pagination.css.js +1 -1
  65. package/dist/generated/themes/Pagination.css.js.map +1 -1
  66. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  67. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  68. package/dist/generated/themes/Search.css.js +1 -1
  69. package/dist/generated/themes/Search.css.js.map +1 -1
  70. package/dist/generated/themes/Slider.css.js +1 -1
  71. package/dist/generated/themes/Slider.css.js.map +1 -1
  72. package/dist/vscode.html-custom-data.json +5 -0
  73. package/dist/web-types.json +11 -1
  74. package/package.json +1 -1
  75. package/src/Breadcrumbs.hbs +10 -12
  76. package/src/Breadcrumbs.ts +3 -2
  77. package/src/Button.hbs +50 -0
  78. package/src/Button.ts +11 -0
  79. package/src/ListItem.ts +4 -4
  80. package/src/MastheadItem.ts +1 -1
  81. package/src/Pagination.hbs +4 -4
  82. package/src/Pagination.ts +14 -8
  83. package/src/PhoneNumberField.ts +1 -1
  84. package/src/Search.hbs +3 -2
  85. package/src/Search.ts +1 -2
  86. package/src/SecondaryNavigation.hbs +1 -0
  87. package/src/SecondaryNavigation.ts +41 -12
  88. package/src/SecondaryNavigationItem.hbs +2 -1
  89. package/src/SecondaryNavigationItem.ts +31 -0
  90. package/src/SecondaryNavigationItemBase.ts +3 -0
  91. package/src/SecondaryNavigationSubItem.ts +0 -3
  92. package/src/generated/templates/BreadcrumbsTemplate.lit.ts +1 -1
  93. package/src/generated/templates/ButtonTemplate.lit.ts +12 -0
  94. package/src/generated/templates/PaginationTemplate.lit.ts +3 -3
  95. package/src/generated/templates/SearchTemplate.lit.ts +3 -3
  96. package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +2 -2
  97. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +1 -1
  98. package/src/generated/themes/Breadcrumbs.css.ts +1 -1
  99. package/src/generated/themes/Button.css.ts +1 -1
  100. package/src/generated/themes/ListItem.css.ts +1 -1
  101. package/src/generated/themes/MastheadShell.css.ts +1 -1
  102. package/src/generated/themes/Modal.css.ts +1 -1
  103. package/src/generated/themes/Pagination.css.ts +1 -1
  104. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  105. package/src/generated/themes/Search.css.ts +1 -1
  106. package/src/generated/themes/Slider.css.ts +1 -1
  107. package/src/themes/Breadcrumbs.css +3 -0
  108. package/src/themes/Button.css +188 -61
  109. package/src/themes/ListItem.css +5 -1
  110. package/src/themes/MastheadShell.css +2 -1
  111. package/src/themes/Modal.css +2 -1
  112. package/src/themes/Pagination.css +5 -0
  113. package/src/themes/Search.css +8 -1
@@ -4,7 +4,7 @@
4
4
  {{#if absoluteNavigation}}
5
5
  <li class="udex-pagination__item--first udex-pagination__item">
6
6
  <udex-button
7
- ?disabled="{{prevButtonDisbled}}"
7
+ ?_aria-disabled="{{prevButtonDisabled}}"
8
8
  accessible-name="{{firstPageAccessibleName}}"
9
9
  size="Large"
10
10
  icon="close-command-field"
@@ -15,7 +15,7 @@
15
15
  {{/if}}
16
16
  <li class="udex-pagination__item--prev udex-pagination__item">
17
17
  <udex-button
18
- ?disabled="{{prevButtonDisbled}}"
18
+ ?_aria-disabled="{{prevButtonDisabled}}"
19
19
  accessible-name="{{previousPageAccessibleName}}"
20
20
  tooltip="{{previousBtnTooltip}}"
21
21
  size="Large"
@@ -47,7 +47,7 @@
47
47
  {{/if}}
48
48
  <li class="udex-pagination__item--next udex-pagination__item">
49
49
  <udex-button
50
- ?disabled="{{nextButtonDisbled}}"
50
+ ?_aria-disabled="{{nextButtonDisabled}}"
51
51
  tooltip="{{nextBtnTooltip}}"
52
52
  accessible-name="{{nextPageAccessibleName}}"
53
53
  size="Large"
@@ -59,7 +59,7 @@
59
59
  {{#if absoluteNavigation}}
60
60
  <li class="udex-pagination__item--last udex-pagination__item">
61
61
  <udex-button
62
- ?disabled="{{nextButtonDisbled}}"
62
+ ?_aria-disabled="{{nextButtonDisabled}}"
63
63
  accessible-name="{{lastPageAccessibleName}}"
64
64
  size="Large"
65
65
  icon="open-command-field"
package/src/Pagination.ts CHANGED
@@ -163,11 +163,11 @@ class UDExPagination extends UI5Element {
163
163
  this.setupPages(this.pages);
164
164
  }
165
165
 
166
- get nextButtonDisbled(): boolean {
166
+ get nextButtonDisabled(): boolean {
167
167
  return this.currentPageIndex + 1 === this.pages;
168
168
  }
169
169
 
170
- get prevButtonDisbled(): boolean {
170
+ get prevButtonDisabled(): boolean {
171
171
  return this.currentPageIndex === 0;
172
172
  }
173
173
 
@@ -234,21 +234,27 @@ class UDExPagination extends UI5Element {
234
234
  }
235
235
 
236
236
  get previousPageAccessibleName(): string {
237
- if (this.currentPageIndex === 0) { return UDExPagination.i18nBundle.getText(PREVIOUS_PAGE); }
238
- return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}. ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;
237
+ const currentPageText = `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;
238
+ if (this.currentPageIndex === 0) {
239
+ return `${currentPageText} ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}`;
240
+ }
241
+ return `${currentPageText}. ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;
239
242
  }
240
243
 
241
244
  get previousBtnTooltip(): string {
242
- return !this.prevButtonDisbled ? `${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}` : "";
245
+ return !this.prevButtonDisabled ? `${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}` : "";
243
246
  }
244
247
 
245
248
  get nextPageAccessibleName(): string {
246
- if (this.pages && this.currentPageIndex === (this.pages - 1)) { return UDExPagination.i18nBundle.getText(NEXT_PAGE); }
247
- return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}. ${UDExPagination.i18nBundle.getText(NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;
249
+ const currentPageText = `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;
250
+ if (this.pages && this.currentPageIndex === (this.pages - 1)) {
251
+ return `${currentPageText} ${UDExPagination.i18nBundle.getText(NEXT_PAGE)}`;
252
+ }
253
+ return `${currentPageText} ${UDExPagination.i18nBundle.getText(NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;
248
254
  }
249
255
 
250
256
  get nextBtnTooltip(): string {
251
- return !this.nextButtonDisbled ? `${UDExPagination.i18nBundle.getText(NEXT_PAGE)}` : "";
257
+ return !this.nextButtonDisabled ? `${UDExPagination.i18nBundle.getText(NEXT_PAGE)}` : "";
252
258
  }
253
259
 
254
260
  get pagination(): Page[] {
@@ -287,7 +287,7 @@ class UDExPhoneNumberField extends UI5Element {
287
287
  * @private
288
288
  */
289
289
  @property({ type: Boolean })
290
- _isTouched!: boolean;
290
+ _isTouched!: boolean;
291
291
 
292
292
  static i18nBundle: I18nBundle;
293
293
  _dropdown!: UDExDropdown;
package/src/Search.hbs CHANGED
@@ -73,8 +73,8 @@
73
73
  @click="{{handleInputClick}}"
74
74
  />
75
75
  {{/if}}
76
- {{#if accInfo.ariaDescription}}
77
- <span role="status" id="search-description" class="hidden" aria-hidden="true">{{accInfo.ariaDescription}}</span>
76
+ {{#if open}}
77
+ <span aria-live="polite" aria-atomic="true" id="search-description" class="hidden" aria-hidden="true">{{suggestionsDescription}}</span>
78
78
  {{/if}}
79
79
  <div class="udex-search__icons">
80
80
  {{#if isShowHomeResetButton}}
@@ -121,6 +121,7 @@
121
121
  class="udex-search__icon"
122
122
  aria-hidden="true"
123
123
  accessible-name="{{accInfo.accessibleNameSearchIcon}}"
124
+ show-tooltip
124
125
  name="search">
125
126
  </ui5-icon>
126
127
  {{/if}}
package/src/Search.ts CHANGED
@@ -697,7 +697,6 @@ class UDExSearch extends UI5Element {
697
697
 
698
698
  getTextWithSuggestion(text: string): string {
699
699
  const escapedValue = this.escapeRegExp(this.value);
700
- console.warn(escapedValue);
701
700
  const search = new RegExp(escapedValue, "i");
702
701
  return text.replace(search, "<b>$&</b>");
703
702
  }
@@ -1278,7 +1277,7 @@ class UDExSearch extends UI5Element {
1278
1277
  }
1279
1278
 
1280
1279
  get suggestionsDescription(): string {
1281
- return this.hasPopoverContent ? `${this.suggestedList.length} ${this._suggestionLabel}, ${this.recommendedList.length} ${this._recommendLabel}` : `${this.noResultText}`;
1280
+ return !this.showNoResultMessage ? `${this.suggestedList.length} ${this._suggestionLabel}, ${this.recommendedList.length} ${this._recommendLabel}` : `${this.noResultMessage}`;
1282
1281
  }
1283
1282
 
1284
1283
  get tooltipInfo() {
@@ -66,6 +66,7 @@
66
66
  label="{{title}}"
67
67
  mobile-link-title="{{title}}"
68
68
  @ui5-sub-item-click="{{handleSubItemClick}}"
69
+ _is-mobile-menu-opener
69
70
  .subItems="{{this.parsedItems}}">
70
71
  {{#if hasMobileButtonsSlot}}
71
72
  {{>buttons}}
@@ -151,7 +151,8 @@ class UDExSecondaryNavigation extends UI5Element {
151
151
  _mobileBtnExpanded = false;
152
152
 
153
153
  _navItems!: Array<NavItem>;
154
- _showMoreButton: boolean;
154
+ _showMoreButton!: boolean;
155
+ _shouldFocusFirstItem: boolean = true;
155
156
  _rootHolder!: HTMLElement | null | undefined;
156
157
  _clickedNavItem!: UDExSecondaryNavigationItem;
157
158
  _boundReflowItems: () => void;
@@ -164,7 +165,6 @@ class UDExSecondaryNavigation extends UI5Element {
164
165
 
165
166
  constructor() {
166
167
  super();
167
- this._showMoreButton = true;
168
168
  this._boundReflowItems = this._handleResize.bind(this);
169
169
  }
170
170
 
@@ -180,13 +180,6 @@ class UDExSecondaryNavigation extends UI5Element {
180
180
  ResizeHandler.deregister(this, this._boundReflowItems);
181
181
  }
182
182
 
183
- _handleResize() {
184
- this.reflowItems();
185
- if (this._clickedNavItem && this.isDesktopScreen) {
186
- this._clickedNavItem.closeDropdown();
187
- }
188
- }
189
-
190
183
  onInvalidation(changeInfo: ChangeInfo): void {
191
184
  if (changeInfo.name === "navItems") {
192
185
  this.reflowItems();
@@ -195,6 +188,12 @@ class UDExSecondaryNavigation extends UI5Element {
195
188
 
196
189
  onAfterRendering(): void {
197
190
  this._rootHolder = this.rootHolder;
191
+ if (!this._overflowItems.length) {
192
+ this._showMoreButton = true;
193
+ }
194
+ if (this._shouldFocusFirstItem && this.isDesktopScreen) {
195
+ this.domNavItems[0]._tabIndex = "0";
196
+ }
198
197
  this.handleOutsideClick();
199
198
  }
200
199
 
@@ -202,6 +201,16 @@ class UDExSecondaryNavigation extends UI5Element {
202
201
  this._requestRender = !this._requestRender;
203
202
  }
204
203
 
204
+ _handleResize() {
205
+ this.reflowItems();
206
+ if (this.isDesktopScreen) {
207
+ this.resetTabIndex();
208
+ }
209
+ if (this._clickedNavItem && this.isDesktopScreen) {
210
+ this._clickedNavItem.closeDropdown();
211
+ }
212
+ }
213
+
205
214
  reflowItems(): void {
206
215
  const availableWidth = this.rootHolder.offsetWidth - (this.heading?.offsetWidth || 0) - (this.optionalButtons?.offsetWidth || 0);
207
216
  const moreButtonWidth = this.getMoreButtonWidth();
@@ -252,9 +261,12 @@ class UDExSecondaryNavigation extends UI5Element {
252
261
  const item = e.target as UDExSecondaryNavigationItem;
253
262
  const currentSelectedIndex = this.getCurrentIndex(item);
254
263
  const previousSelectIndex = currentSelectedIndex - 1;
264
+ const previousItem = this.domNavItems[previousSelectIndex];
255
265
  if (currentSelectedIndex > 0) {
256
266
  e.preventDefault();
257
- this.domNavItems[previousSelectIndex]?.focus();
267
+ this.domNavItems[currentSelectedIndex]._tabIndex = "-1";
268
+ previousItem._tabIndex = "0";
269
+ previousItem?.focus();
258
270
  }
259
271
  }
260
272
 
@@ -263,9 +275,12 @@ class UDExSecondaryNavigation extends UI5Element {
263
275
  const currentSelectedIndex = this.getCurrentIndex(item);
264
276
  const lastItemIndex = this.domNavItems.length - 1;
265
277
  const nextSelectIndex = currentSelectedIndex + 1;
278
+ const nextItem = this.domNavItems[nextSelectIndex];
266
279
  if (nextSelectIndex < lastItemIndex) {
267
280
  e.preventDefault();
268
- this.domNavItems[nextSelectIndex].focus();
281
+ this.domNavItems[currentSelectedIndex]._tabIndex = "-1";
282
+ nextItem._tabIndex = "0";
283
+ nextItem.focus();
269
284
  }
270
285
  }
271
286
 
@@ -314,6 +329,8 @@ class UDExSecondaryNavigation extends UI5Element {
314
329
  }
315
330
 
316
331
  this._clickedNavItem = clickedItem;
332
+ this._shouldFocusFirstItem = false;
333
+ this.setTabIndexById(_id);
317
334
  this.closePrevDropdown(_id);
318
335
 
319
336
  if (!subItems.length) {
@@ -410,7 +427,7 @@ class UDExSecondaryNavigation extends UI5Element {
410
427
 
411
428
  closePrevDropdown(clickedItemId: string): void {
412
429
  this.domNavItems.forEach(item => {
413
- if (clickedItemId !== item._id) {
430
+ if (item.isOpen && item._id !== clickedItemId) {
414
431
  item.closeDropdown();
415
432
  }
416
433
  });
@@ -420,6 +437,18 @@ class UDExSecondaryNavigation extends UI5Element {
420
437
  return string ? JSON.parse(string) as T[] : [];
421
438
  }
422
439
 
440
+ resetTabIndex(): void {
441
+ this.domNavItems.forEach((item, index) => {
442
+ item._tabIndex = index === 0 ? "0" : "-1";
443
+ });
444
+ }
445
+
446
+ setTabIndexById(id: string): void {
447
+ this.domNavItems.forEach(item => {
448
+ item._tabIndex = id === item._id ? "0" : "-1";
449
+ });
450
+ }
451
+
423
452
  get domNavItems(): Array<UDExSecondaryNavigationItem> {
424
453
  const items = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationItem>("[udex-secondary-navigation-item]");
425
454
  return items ? Array.from(items) : [];
@@ -5,6 +5,7 @@
5
5
  ?active="{{isActive}}"
6
6
  href="{{path}}"
7
7
  target="{{target}}"
8
+ tabindex="{{_tabIndex}}"
8
9
  aria-current="{{ariaCurrent}}"
9
10
  @keydown="{{handleItemLinkKeyDown}}"
10
11
  @click="{{fireNavItemClickEvent}}">
@@ -14,8 +15,8 @@
14
15
  <button
15
16
  class="udex-secondary-navigation__item"
16
17
  role="{{itemRole}}"
17
- tabindex="0"
18
18
  ?active="{{isActive}}"
19
+ tabindex="{{menuOpenerTabIndex}}"
19
20
  aria-haspopup="{{hasNestedItems}}"
20
21
  aria-expanded="{{isOpen}}"
21
22
  aria-label="{{ariaLabel}}"
@@ -150,9 +150,20 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
150
150
  @property({ type: Object })
151
151
  _processedItems: Array<NavItem> = [];
152
152
 
153
+ /**
154
+ * Defines if item is mobile menu opener.
155
+ *
156
+ * @private
157
+ * @default false
158
+ */
159
+ @property({ type: Boolean })
160
+ _isMobileMenuOpener!: boolean;
161
+
153
162
  _dropdownHistory: Array<Array<NavItem>> = [];
154
163
  _shouldFocusFirstSubItem!: boolean;
155
164
  _subTitle!: string | undefined;
165
+ _shouldResetTabIndex!: boolean;
166
+ _shouldSetTabIndex!: boolean;
156
167
 
157
168
  onAfterRendering(): void {
158
169
  if (this.isLastItem && this.isOpen && !this._isMobileView) {
@@ -167,6 +178,16 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
167
178
  if (this._isMobileView && this.isOpen) {
168
179
  this.setDropdownHeight();
169
180
  }
181
+
182
+ if (this._shouldSetTabIndex) {
183
+ this._tabIndex = "0";
184
+ this._shouldSetTabIndex = false;
185
+ }
186
+
187
+ if (this._shouldResetTabIndex) {
188
+ this._tabIndex = "-1";
189
+ this._shouldResetTabIndex = false;
190
+ }
170
191
  }
171
192
 
172
193
  onBeforeRendering() : void {
@@ -195,6 +216,7 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
195
216
  if (this.hasNestedItems) {
196
217
  this.setDropdownItems();
197
218
  this.isOpen = !this.isOpen;
219
+ this._shouldResetTabIndex = true;
198
220
  this.onShouldFocusFirstSubItem();
199
221
  }
200
222
 
@@ -203,6 +225,7 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
203
225
 
204
226
  closeDropdown(): void {
205
227
  this.isOpen = false;
228
+ this._shouldSetTabIndex = true;
206
229
  }
207
230
 
208
231
  handleItemLinkKeyDown(e: KeyboardEvent): void {
@@ -418,6 +441,14 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
418
441
  return this.shadowRoot!.querySelector<HTMLElement>(".udex-secondary-navigation__dropdown")!;
419
442
  }
420
443
 
444
+ get menuOpenerTabIndex(): string {
445
+ if (this._isMobileMenuOpener) {
446
+ return "0";
447
+ }
448
+
449
+ return this._tabIndex;
450
+ }
451
+
421
452
  get isLastItem(): boolean {
422
453
  return this._navItemsLength === this.index;
423
454
  }
@@ -94,6 +94,9 @@ class UDExSecondaryNavigationItemBase extends UI5Element {
94
94
  @property({ type: Boolean })
95
95
  _isMobileView!: boolean;
96
96
 
97
+ @property({ type: String, defaultValue: "-1" })
98
+ _tabIndex!: string;
99
+
97
100
  _handleResizeBound: ResizeObserverCallback;
98
101
 
99
102
  constructor() {
@@ -79,9 +79,6 @@ class UDExSecondaryNavigationSubItem extends UDExSecondaryNavigationItemBase {
79
79
  @property({ type: Object, multiple: true })
80
80
  nestedItems!: Array<NavItem>;
81
81
 
82
- @property({ type: String, defaultValue: "-1" })
83
- _tabIndex!: string;
84
-
85
82
  static i18nBundle: any;
86
83
 
87
84
  static async onDefine(): Promise<void> {
@@ -4,7 +4,7 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
4
4
  import type Breadcrumbs from "../../Breadcrumbs.js";
5
5
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
6
6
 
7
- function block0 (this: Breadcrumbs, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<nav class="udex-breadcrumbs ui5-breadcrumbs-root" aria-label="${ifDefined(this._accessibleNameText)}"><ol @focusin="${this._onfocusin}"><li class="udex-breadcrumbs__arrow-wrapper ui5-breadcrumbs-dropdown-arrow-link-wrapper"><button @click="${this._toggleDropdown}" class="udex-breadcrumbs__trigger ${ifDefined(this._triggerClass)}" accessible-role="button" aria-label="${ifDefined(this._dropdownArrowAccessibleNameText)}" aria-haspopup="true"><${scopeTag("ui5-icon", tags, suffix)} name="slim-arrow-down" title="${ifDefined(this._dropdownArrowAccessibleNameText)}"></${scopeTag("ui5-icon", tags, suffix)}></button></li>${ repeat(this._linksData, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }</ol></nav>` : html`<nav class="udex-breadcrumbs ui5-breadcrumbs-root" aria-label="${ifDefined(this._accessibleNameText)}"><ol @focusin="${this._onfocusin}"><li class="udex-breadcrumbs__arrow-wrapper ui5-breadcrumbs-dropdown-arrow-link-wrapper"><button @click="${this._toggleDropdown}" class="udex-breadcrumbs__trigger ${ifDefined(this._triggerClass)}" accessible-role="button" aria-label="${ifDefined(this._dropdownArrowAccessibleNameText)}" aria-haspopup="true"><ui5-icon name="slim-arrow-down" title="${ifDefined(this._dropdownArrowAccessibleNameText)}"></ui5-icon></button></li>${ repeat(this._linksData, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }</ol></nav>`;}
7
+ function block0 (this: Breadcrumbs, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<nav class="udex-breadcrumbs ui5-breadcrumbs-root" aria-label="${ifDefined(this._accessibleNameText)}"><ol @focusin="${this._onfocusin}"><li class="ui5-breadcrumbs-dropdown-arrow-link-wrapper"><${scopeTag("udex-link", tags, suffix)} @ui5-click="${ifDefined(this._toggleDropdown)}" class="udex-breadcrumbs__trigger ${ifDefined(this._triggerClass)}" accessible-role="button" aria-label="${ifDefined(this._dropdownArrowAccessibleNameText)}" icon="slim-arrow-down" icon-placement="Start" aria-haspopup="true"></${scopeTag("udex-link", tags, suffix)}></li>${ repeat(this._linksData, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }</ol></nav>` : html`<nav class="udex-breadcrumbs ui5-breadcrumbs-root" aria-label="${ifDefined(this._accessibleNameText)}"><ol @focusin="${this._onfocusin}"><li class="ui5-breadcrumbs-dropdown-arrow-link-wrapper"><udex-link @ui5-click="${ifDefined(this._toggleDropdown)}" class="udex-breadcrumbs__trigger ${ifDefined(this._triggerClass)}" accessible-role="button" aria-label="${ifDefined(this._dropdownArrowAccessibleNameText)}" icon="slim-arrow-down" icon-placement="Start" aria-haspopup="true"></udex-link></li>${ repeat(this._linksData, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) }</ol></nav>`;}
8
8
  function block1 (this: Breadcrumbs, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<li class="udex-breadcrumbs__link-wrapper ui5-breadcrumbs-link-wrapper" id="${ifDefined(item._id)}-link-wrapper">${ !item._isCurrentPageItem ? block2.call(this, context, tags, suffix, item, index) : undefined }</li>`;}
9
9
  function block2 (this: Breadcrumbs, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<span class="udex-breadcrumbs__separator" aria-hidden="true"></span><${scopeTag("udex-link", tags, suffix)} @ui5-click="${ifDefined(this._onLinkPress)}" class="udex-breadcrumbs__item" href="${ifDefined(item.href)}" target="${ifDefined(item.target)}" id="${ifDefined(item._id)}-link" accessible-name="${ifDefined(item._accessibleNameText)}" data-ui5-stable="${ifDefined(item.stableDomRef)}">${ifDefined(item.innerText)}</${scopeTag("udex-link", tags, suffix)}>` : html`<span class="udex-breadcrumbs__separator" aria-hidden="true"></span><udex-link @ui5-click="${ifDefined(this._onLinkPress)}" class="udex-breadcrumbs__item" href="${ifDefined(item.href)}" target="${ifDefined(item.target)}" id="${ifDefined(item._id)}-link" accessible-name="${ifDefined(item._accessibleNameText)}" data-ui5-stable="${ifDefined(item.stableDomRef)}">${ifDefined(item.innerText)}</udex-link>`;}
10
10
 
@@ -0,0 +1,12 @@
1
+ /* eslint no-unused-vars: 0 */
2
+ import { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
+ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
4
+ import type Button from "../../Button.js";
5
+ import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
6
+
7
+ function block0 (this: Button, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<button type="button" class="ui5-button-root" ?disabled="${this.disabled}" aria-disabled="${ifDefined(this._ariaDisabled)}" data-sap-focus-ref @focusout=${this._onfocusout} @focusin=${this._onfocusin} @click=${this._onclick} @mousedown=${this._onmousedown} @mouseup=${this._onmouseup} @keydown=${this._onkeydown} @keyup=${this._onkeyup} @touchstart="${this._ontouchstart}" @touchend="${this._ontouchend}" tabindex=${ifDefined(this.tabIndexValue)} aria-expanded="${ifDefined(this.accessibilityAttributes.expanded)}" aria-controls="${ifDefined(this.accessibilityAttributes.controls)}" aria-haspopup="${ifDefined(this._hasPopup)}" aria-label="${ifDefined(this.ariaLabelText)}" aria-describedby="${ifDefined(this.ariaDescribedbyText)}" title="${ifDefined(this.buttonTitle)}" part="button" role="${ifDefined(this.buttonAccessibleRole)}"><div class="udex-button-content">${ this.icon ? block1.call(this, context, tags, suffix) : undefined }<span id="${ifDefined(this._id)}-content" class="ui5-button-text"><bdi><slot></slot></bdi></span>${ this.hasButtonType ? block2.call(this, context, tags, suffix) : undefined }</div></button>`;}
8
+ function block1 (this: Button, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("ui5-icon", tags, suffix)} class="ui5-button-icon" name="${ifDefined(this.icon)}" accessible-role="${ifDefined(this.iconRole)}" part="icon" ?show-tooltip=${this.showIconTooltip}></${scopeTag("ui5-icon", tags, suffix)}>` : html`<ui5-icon class="ui5-button-icon" name="${ifDefined(this.icon)}" accessible-role="${ifDefined(this.iconRole)}" part="icon" ?show-tooltip=${this.showIconTooltip}></ui5-icon>`;}
9
+ function block2 (this: Button, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span id="ui5-button-hiddenText-type" aria-hidden="true" class="ui5-hidden-text">${ifDefined(this.buttonTypeText)}</span>`;}
10
+
11
+
12
+ export default block0;
@@ -5,12 +5,12 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
5
5
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
6
6
 
7
7
  function block0 (this: Pagination, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.pages ? block1.call(this, context, tags, suffix) : undefined } `;}
8
- function block1 (this: Pagination, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<nav class="${ifDefined(this.paginationClass)}" role="navigation" aria-label="${ifDefined(this.paginationAccessibleName)}"><ul class="udex-pagination__list">${ this.absoluteNavigation ? block2.call(this, context, tags, suffix) : undefined }<li class="udex-pagination__item--prev udex-pagination__item"><${scopeTag("udex-button", tags, suffix)} ?disabled="${this.prevButtonDisbled}" accessible-name="${ifDefined(this.previousPageAccessibleName)}" tooltip="${ifDefined(this.previousBtnTooltip)}" size="Large" icon="navigation-left-arrow" design="Tertiary" @click="${this.setPrevPage}"></${scopeTag("udex-button", tags, suffix)}></li>${ this.typeFull ? block3.call(this, context, tags, suffix) : undefined }${ this.typeShort ? block5.call(this, context, tags, suffix) : undefined }<li class="udex-pagination__item--next udex-pagination__item"><${scopeTag("udex-button", tags, suffix)} ?disabled="${this.nextButtonDisbled}" tooltip="${ifDefined(this.nextBtnTooltip)}" accessible-name="${ifDefined(this.nextPageAccessibleName)}" size="Large" icon="navigation-right-arrow" design="Tertiary" @click="${this.setNextPage}"></${scopeTag("udex-button", tags, suffix)}></li>${ this.absoluteNavigation ? block6.call(this, context, tags, suffix) : undefined }</ul></nav>` : html`<nav class="${ifDefined(this.paginationClass)}" role="navigation" aria-label="${ifDefined(this.paginationAccessibleName)}"><ul class="udex-pagination__list">${ this.absoluteNavigation ? block2.call(this, context, tags, suffix) : undefined }<li class="udex-pagination__item--prev udex-pagination__item"><udex-button ?disabled="${this.prevButtonDisbled}" accessible-name="${ifDefined(this.previousPageAccessibleName)}" tooltip="${ifDefined(this.previousBtnTooltip)}" size="Large" icon="navigation-left-arrow" design="Tertiary" @click="${this.setPrevPage}"></udex-button></li>${ this.typeFull ? block3.call(this, context, tags, suffix) : undefined }${ this.typeShort ? block5.call(this, context, tags, suffix) : undefined }<li class="udex-pagination__item--next udex-pagination__item"><udex-button ?disabled="${this.nextButtonDisbled}" tooltip="${ifDefined(this.nextBtnTooltip)}" accessible-name="${ifDefined(this.nextPageAccessibleName)}" size="Large" icon="navigation-right-arrow" design="Tertiary" @click="${this.setNextPage}"></udex-button></li>${ this.absoluteNavigation ? block6.call(this, context, tags, suffix) : undefined }</ul></nav>`;}
9
- function block2 (this: Pagination, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<li class="udex-pagination__item--first udex-pagination__item"><${scopeTag("udex-button", tags, suffix)} ?disabled="${this.prevButtonDisbled}" accessible-name="${ifDefined(this.firstPageAccessibleName)}" size="Large" icon="close-command-field" design="Tertiary" @click="${this.setFirstPage}"></${scopeTag("udex-button", tags, suffix)}></li>` : html`<li class="udex-pagination__item--first udex-pagination__item"><udex-button ?disabled="${this.prevButtonDisbled}" accessible-name="${ifDefined(this.firstPageAccessibleName)}" size="Large" icon="close-command-field" design="Tertiary" @click="${this.setFirstPage}"></udex-button></li>`;}
8
+ function block1 (this: Pagination, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<nav class="${ifDefined(this.paginationClass)}" role="navigation" aria-label="${ifDefined(this.paginationAccessibleName)}"><ul class="udex-pagination__list">${ this.absoluteNavigation ? block2.call(this, context, tags, suffix) : undefined }<li class="udex-pagination__item--prev udex-pagination__item"><${scopeTag("udex-button", tags, suffix)} ?_aria-disabled="${ifDefined(this.prevButtonDisabled)}" accessible-name="${ifDefined(this.previousPageAccessibleName)}" tooltip="${ifDefined(this.previousBtnTooltip)}" size="Large" icon="navigation-left-arrow" design="Tertiary" @click="${this.setPrevPage}"></${scopeTag("udex-button", tags, suffix)}></li>${ this.typeFull ? block3.call(this, context, tags, suffix) : undefined }${ this.typeShort ? block5.call(this, context, tags, suffix) : undefined }<li class="udex-pagination__item--next udex-pagination__item"><${scopeTag("udex-button", tags, suffix)} ?_aria-disabled="${ifDefined(this.nextButtonDisabled)}" tooltip="${ifDefined(this.nextBtnTooltip)}" accessible-name="${ifDefined(this.nextPageAccessibleName)}" size="Large" icon="navigation-right-arrow" design="Tertiary" @click="${this.setNextPage}"></${scopeTag("udex-button", tags, suffix)}></li>${ this.absoluteNavigation ? block6.call(this, context, tags, suffix) : undefined }</ul></nav>` : html`<nav class="${ifDefined(this.paginationClass)}" role="navigation" aria-label="${ifDefined(this.paginationAccessibleName)}"><ul class="udex-pagination__list">${ this.absoluteNavigation ? block2.call(this, context, tags, suffix) : undefined }<li class="udex-pagination__item--prev udex-pagination__item"><udex-button ?_aria-disabled="${ifDefined(this.prevButtonDisabled)}" accessible-name="${ifDefined(this.previousPageAccessibleName)}" tooltip="${ifDefined(this.previousBtnTooltip)}" size="Large" icon="navigation-left-arrow" design="Tertiary" @click="${this.setPrevPage}"></udex-button></li>${ this.typeFull ? block3.call(this, context, tags, suffix) : undefined }${ this.typeShort ? block5.call(this, context, tags, suffix) : undefined }<li class="udex-pagination__item--next udex-pagination__item"><udex-button ?_aria-disabled="${ifDefined(this.nextButtonDisabled)}" tooltip="${ifDefined(this.nextBtnTooltip)}" accessible-name="${ifDefined(this.nextPageAccessibleName)}" size="Large" icon="navigation-right-arrow" design="Tertiary" @click="${this.setNextPage}"></udex-button></li>${ this.absoluteNavigation ? block6.call(this, context, tags, suffix) : undefined }</ul></nav>`;}
9
+ function block2 (this: Pagination, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<li class="udex-pagination__item--first udex-pagination__item"><${scopeTag("udex-button", tags, suffix)} ?_aria-disabled="${ifDefined(this.prevButtonDisabled)}" accessible-name="${ifDefined(this.firstPageAccessibleName)}" size="Large" icon="close-command-field" design="Tertiary" @click="${this.setFirstPage}"></${scopeTag("udex-button", tags, suffix)}></li>` : html`<li class="udex-pagination__item--first udex-pagination__item"><udex-button ?_aria-disabled="${ifDefined(this.prevButtonDisabled)}" accessible-name="${ifDefined(this.firstPageAccessibleName)}" size="Large" icon="close-command-field" design="Tertiary" @click="${this.setFirstPage}"></udex-button></li>`;}
10
10
  function block3 (this: Pagination, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ repeat(this.pagination, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block4.call(this, context, tags, suffix, item, index)) }`;}
11
11
  function block4 (this: Pagination, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<li class="udex-pagination__item"><a class="udex-pagination__page" href="#" aria-label="${ifDefined(item.accessibleName)}" @click="${this.onPageClick}" ?active="${item.active}" aria-current="${ifDefined(item.ariaCurrent)}" index="${ifDefined(item.index)}"><span class="udex-pagination__page--value">${ifDefined(item.value)}</span></a></li>`;}
12
12
  function block5 (this: Pagination, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<li class="udex-pagination__item udex-pagination__item--short" tabindex="-1" aria-label="${ifDefined(this.paginationShortAccessibleName)}"><span class="udex-pagination__item--short-value">${ifDefined(this.shortTextStart)}</span><span class="udex-pagination__item--short-separator">${ifDefined(this.shortTextSeparator)}</span><span class="udex-pagination__item--short-value">${ifDefined(this.shortTextEnd)}</span></li>`;}
13
- function block6 (this: Pagination, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<li class="udex-pagination__item--last udex-pagination__item"><${scopeTag("udex-button", tags, suffix)} ?disabled="${this.nextButtonDisbled}" accessible-name="${ifDefined(this.lastPageAccessibleName)}" size="Large" icon="open-command-field" design="Tertiary" @click="${this.setLastPage}"></${scopeTag("udex-button", tags, suffix)}></li>` : html`<li class="udex-pagination__item--last udex-pagination__item"><udex-button ?disabled="${this.nextButtonDisbled}" accessible-name="${ifDefined(this.lastPageAccessibleName)}" size="Large" icon="open-command-field" design="Tertiary" @click="${this.setLastPage}"></udex-button></li>`;}
13
+ function block6 (this: Pagination, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<li class="udex-pagination__item--last udex-pagination__item"><${scopeTag("udex-button", tags, suffix)} ?_aria-disabled="${ifDefined(this.nextButtonDisabled)}" accessible-name="${ifDefined(this.lastPageAccessibleName)}" size="Large" icon="open-command-field" design="Tertiary" @click="${this.setLastPage}"></${scopeTag("udex-button", tags, suffix)}></li>` : html`<li class="udex-pagination__item--last udex-pagination__item"><udex-button ?_aria-disabled="${ifDefined(this.nextButtonDisabled)}" accessible-name="${ifDefined(this.lastPageAccessibleName)}" size="Large" icon="open-command-field" design="Tertiary" @click="${this.setLastPage}"></udex-button></li>`;}
14
14
 
15
15
 
16
16
  export default block0;
@@ -4,16 +4,16 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
4
4
  import type Search from "../../Search.js";
5
5
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
6
6
 
7
- function block0 (this: Search, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-search__root ${ifDefined(this.searchClasses)}">${ this.isShowSearchHomePrefix ? block1.call(this, context, tags, suffix) : undefined }<form role="search" class="udex-search__container ${ifDefined(this.focusClasses)}${ifDefined(this.isNotEmptyClass)}">${ this.labelAnimationDisabled ? block2.call(this, context, tags, suffix) : block3.call(this, context, tags, suffix) }${ this.accInfo.ariaDescription ? block5.call(this, context, tags, suffix) : undefined }<div class="udex-search__icons">${ this.isShowHomeResetButton ? block6.call(this, context, tags, suffix) : undefined }${ this.isShowResetButton ? block7.call(this, context, tags, suffix) : undefined }${ this.isVoiceButton ? block8.call(this, context, tags, suffix) : undefined }${ this.showNonInteractiveButton ? block9.call(this, context, tags, suffix) : undefined }${ this.showSubmitHomeButton ? block10.call(this, context, tags, suffix) : undefined }${ this.showSubmitStandardButton ? block11.call(this, context, tags, suffix) : undefined }</div></form></div>`;}
7
+ function block0 (this: Search, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-search__root ${ifDefined(this.searchClasses)}">${ this.isShowSearchHomePrefix ? block1.call(this, context, tags, suffix) : undefined }<form role="search" class="udex-search__container ${ifDefined(this.focusClasses)}${ifDefined(this.isNotEmptyClass)}">${ this.labelAnimationDisabled ? block2.call(this, context, tags, suffix) : block3.call(this, context, tags, suffix) }${ this.open ? block5.call(this, context, tags, suffix) : undefined }<div class="udex-search__icons">${ this.isShowHomeResetButton ? block6.call(this, context, tags, suffix) : undefined }${ this.isShowResetButton ? block7.call(this, context, tags, suffix) : undefined }${ this.isVoiceButton ? block8.call(this, context, tags, suffix) : undefined }${ this.showNonInteractiveButton ? block9.call(this, context, tags, suffix) : undefined }${ this.showSubmitHomeButton ? block10.call(this, context, tags, suffix) : undefined }${ this.showSubmitStandardButton ? block11.call(this, context, tags, suffix) : undefined }</div></form></div>`;}
8
8
  function block1 (this: Search, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="udex-search__prefix ${ifDefined(this.prefixWrapperClasses)}"><button type="button" role="combobox" aria-expanded="${ifDefined(this._prefixDropdownExpanded)}" aria-label="${ifDefined(this.labelPrefix)}" aria-haspopup="true" aria-controls="udex-search-prefix" class="udex-search__prefix-button" @click="${this.handleDropdownClick}"><span class="udex-search__prefix-label">${ifDefined(this.labelPrefix)}</span><${scopeTag("ui5-icon", tags, suffix)} class="udex-search__prefix-icon" name="slim-arrow-down"></${scopeTag("ui5-icon", tags, suffix)}></button><${scopeTag("ui5-popover", tags, suffix)} id="udex-search-prefix" class="${ifDefined(this.prefixPopoverClasses)}" hide-arrow placement-type="Bottom" horizontal-align="Left" style="${styleMap(this.prefixPopoverStyles)}" @after-close="${this.handleAfterClosePrefixPopover}"><slot></slot></${scopeTag("ui5-popover", tags, suffix)}></div>` : html`<div class="udex-search__prefix ${ifDefined(this.prefixWrapperClasses)}"><button type="button" role="combobox" aria-expanded="${ifDefined(this._prefixDropdownExpanded)}" aria-label="${ifDefined(this.labelPrefix)}" aria-haspopup="true" aria-controls="udex-search-prefix" class="udex-search__prefix-button" @click="${this.handleDropdownClick}"><span class="udex-search__prefix-label">${ifDefined(this.labelPrefix)}</span><ui5-icon class="udex-search__prefix-icon" name="slim-arrow-down"></ui5-icon></button><ui5-popover id="udex-search-prefix" class="${ifDefined(this.prefixPopoverClasses)}" hide-arrow placement-type="Bottom" horizontal-align="Left" style="${styleMap(this.prefixPopoverStyles)}" @after-close="${this.handleAfterClosePrefixPopover}"><slot></slot></ui5-popover></div>`;}
9
9
  function block2 (this: Search, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<input role="searchbox" id="search-input" type="search" name="search" class="udex-search__field" autocomplete="off" aria-autocomplete="list" aria-haspopup="${ifDefined(this.getAriaHasPopup)}" aria-label="${ifDefined(this.accInfo.ariaLabel)}" aria-describedby="search-description" placeholder="${ifDefined(this.effectivePlaceholder)}" .value="${ifDefined(this.value)}" @input="${this.handleSearchChange}" @keydown="${this.handleKeyDown}" @focus="${this.handleFocus}" @focusout="${this.handleFocusout}" @blur="${this.handleBlur}" @click="${this.handleInputClick}" />`;}
10
10
  function block3 (this: Search, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.label ? block4.call(this, context, tags, suffix) : undefined }<input role="searchbox" id="search-input" type="search" name="search" class="udex-search__field" autocomplete="off" aria-autocomplete="list" aria-label="${ifDefined(this.accInfo.ariaLabel)}" aria-describedby="search-description" aria-haspopup="${ifDefined(this.getAriaHasPopup)}" .value="${ifDefined(this.value)}" @input="${this.handleSearchChange}" @keydown="${this.handleKeyDown}" @focus="${this.handleFocus}" @focusout="${this.handleFocusout}" @blur="${this.handleBlur}" @click="${this.handleInputClick}" />`;}
11
11
  function block4 (this: Search, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<label for="search-input" class="${ifDefined(this.labelClasses)}">${ifDefined(this.label)}</label>`;}
12
- function block5 (this: Search, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span role="status" id="search-description" class="hidden" aria-hidden="true">${ifDefined(this.accInfo.ariaDescription)}</span>`;}
12
+ function block5 (this: Search, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span aria-live="polite" aria-atomic="true" id="search-description" class="hidden" aria-hidden="true">${ifDefined(this.suggestionsDescription)}</span>`;}
13
13
  function block6 (this: Search, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("ui5-button", tags, suffix)} id="reset-button" class="udex-search__button udex-search__reset-button" design="Default" tooltip="${ifDefined(this.tooltipInfo.tooltipResetButton)}" @click="${this.onReset}" @keydown="${this.handleKeyDownReset}"><${scopeTag("ui5-icon", tags, suffix)} class="udex-search__button-icon" accessible-name="${ifDefined(this.accInfo.accessibleNameResetIcon)}" accessible-role="presentation" name="decline"></${scopeTag("ui5-icon", tags, suffix)}></${scopeTag("ui5-button", tags, suffix)}>` : html`<ui5-button id="reset-button" class="udex-search__button udex-search__reset-button" design="Default" tooltip="${ifDefined(this.tooltipInfo.tooltipResetButton)}" @click="${this.onReset}" @keydown="${this.handleKeyDownReset}"><ui5-icon class="udex-search__button-icon" accessible-name="${ifDefined(this.accInfo.accessibleNameResetIcon)}" accessible-role="presentation" name="decline"></ui5-icon></ui5-button>`;}
14
14
  function block7 (this: Search, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-control-button", tags, suffix)} id="reset-button" class="udex-search__reset-button" design="Default" tooltip="${ifDefined(this.tooltipInfo.tooltipResetButton)}" icon="decline" size="Large" accessible-name="${ifDefined(this.accInfo.accessibleNameResetIcon)}" @click="${this.onReset}" @keydown="${this.handleKeyDownReset}"></${scopeTag("udex-control-button", tags, suffix)}>` : html`<udex-control-button id="reset-button" class="udex-search__reset-button" design="Default" tooltip="${ifDefined(this.tooltipInfo.tooltipResetButton)}" icon="decline" size="Large" accessible-name="${ifDefined(this.accInfo.accessibleNameResetIcon)}" @click="${this.onReset}" @keydown="${this.handleKeyDownReset}"></udex-control-button>`;}
15
15
  function block8 (this: Search, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("ui5-button", tags, suffix)} id="voice-button" class="udex-search__button udex-search__voice-button ${ifDefined(this.voiceActiveClass)}" design="Default" icon="microphone" tooltip="${ifDefined(this.tooltipInfo.tooltipVoiceButton)}" @click="${this.onVoice}"></${scopeTag("ui5-button", tags, suffix)}>` : html`<ui5-button id="voice-button" class="udex-search__button udex-search__voice-button ${ifDefined(this.voiceActiveClass)}" design="Default" icon="microphone" tooltip="${ifDefined(this.tooltipInfo.tooltipVoiceButton)}" @click="${this.onVoice}"></ui5-button>`;}
16
- function block9 (this: Search, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("ui5-icon", tags, suffix)} class="udex-search__icon" aria-hidden="true" accessible-name="${ifDefined(this.accInfo.accessibleNameSearchIcon)}" name="search"></${scopeTag("ui5-icon", tags, suffix)}>` : html`<ui5-icon class="udex-search__icon" aria-hidden="true" accessible-name="${ifDefined(this.accInfo.accessibleNameSearchIcon)}" name="search"></ui5-icon>`;}
16
+ function block9 (this: Search, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("ui5-icon", tags, suffix)} class="udex-search__icon" aria-hidden="true" accessible-name="${ifDefined(this.accInfo.accessibleNameSearchIcon)}" show-tooltip name="search"></${scopeTag("ui5-icon", tags, suffix)}>` : html`<ui5-icon class="udex-search__icon" aria-hidden="true" accessible-name="${ifDefined(this.accInfo.accessibleNameSearchIcon)}" show-tooltip name="search"></ui5-icon>`;}
17
17
  function block10 (this: Search, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("ui5-button", tags, suffix)} id="submit-button" class="udex-search__button udex-search__submit-button ${ifDefined(this.searchButtonActiveClass)}" design="Default" icon="search" tooltip="${ifDefined(this.tooltipInfo.tooltipSubmitButton)}" @click="${this.onSubmit}"></${scopeTag("ui5-button", tags, suffix)}>` : html`<ui5-button id="submit-button" class="udex-search__button udex-search__submit-button ${ifDefined(this.searchButtonActiveClass)}" design="Default" icon="search" tooltip="${ifDefined(this.tooltipInfo.tooltipSubmitButton)}" @click="${this.onSubmit}"></ui5-button>`;}
18
18
  function block11 (this: Search, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-control-button", tags, suffix)} id="submit-button" class="udex-search__submit-button" size="Large" design="Default" icon="search" tooltip="${ifDefined(this.tooltipInfo.tooltipSubmitButton)}" @click="${this.onSubmit}"></${scopeTag("udex-control-button", tags, suffix)}>` : html`<udex-control-button id="submit-button" class="udex-search__submit-button" size="Large" design="Default" icon="search" tooltip="${ifDefined(this.tooltipInfo.tooltipSubmitButton)}" @click="${this.onSubmit}"></udex-control-button>`;}
19
19
 
@@ -5,8 +5,8 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
5
5
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
6
6
 
7
7
  function block0 (this: SecondaryNavigationItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.isLink ? block1.call(this, context, tags, suffix) : block2.call(this, context, tags, suffix) } `;}
8
- function block1 (this: SecondaryNavigationItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<a class="udex-secondary-navigation__item" role="${ifDefined(this.menuItemRole)}" ?active="${this.isActive}" href="${ifDefined(this.path)}" target="${ifDefined(this.target)}" aria-current="${ifDefined(this.ariaCurrent)}" @keydown="${this.handleItemLinkKeyDown}" @click="${this.fireNavItemClickEvent}">${ifDefined(this.itemLabel)}</a>`;}
9
- function block2 (this: SecondaryNavigationItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<button class="udex-secondary-navigation__item" role="${ifDefined(this.itemRole)}" tabindex="0" ?active="${this.isActive}" aria-haspopup="${ifDefined(this.hasNestedItems)}" aria-expanded="${ifDefined(this.isOpen)}" aria-label="${ifDefined(this.ariaLabel)}" @keydown="${this.handleItemEnterOrSpaceKeys}" @click="${this.openDropdown}"><span class="udex-secondary-navigation__item-text-wrap">${ifDefined(this.itemLabel)}${ this._subTitle ? block3.call(this, context, tags, suffix) : undefined }${ this.hasNestedItems ? block4.call(this, context, tags, suffix) : undefined }</span></button>${ this.isOpen ? block5.call(this, context, tags, suffix) : undefined }`;}
8
+ function block1 (this: SecondaryNavigationItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<a class="udex-secondary-navigation__item" role="${ifDefined(this.menuItemRole)}" ?active="${this.isActive}" href="${ifDefined(this.path)}" target="${ifDefined(this.target)}" tabindex="${ifDefined(this._tabIndex)}" aria-current="${ifDefined(this.ariaCurrent)}" @keydown="${this.handleItemLinkKeyDown}" @click="${this.fireNavItemClickEvent}">${ifDefined(this.itemLabel)}</a>`;}
9
+ function block2 (this: SecondaryNavigationItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<button class="udex-secondary-navigation__item" role="${ifDefined(this.itemRole)}" ?active="${this.isActive}" tabindex="${ifDefined(this.menuOpenerTabIndex)}" aria-haspopup="${ifDefined(this.hasNestedItems)}" aria-expanded="${ifDefined(this.isOpen)}" aria-label="${ifDefined(this.ariaLabel)}" @keydown="${this.handleItemEnterOrSpaceKeys}" @click="${this.openDropdown}"><span class="udex-secondary-navigation__item-text-wrap">${ifDefined(this.itemLabel)}${ this._subTitle ? block3.call(this, context, tags, suffix) : undefined }${ this.hasNestedItems ? block4.call(this, context, tags, suffix) : undefined }</span></button>${ this.isOpen ? block5.call(this, context, tags, suffix) : undefined }`;}
10
10
  function block3 (this: SecondaryNavigationItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-secondary-navigation__item-sub-title">${ifDefined(this._subTitle)}</span>`;}
11
11
  function block4 (this: SecondaryNavigationItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("ui5-icon", tags, suffix)} class="udex-secondary-navigation__item-icon" name="slim-arrow-down"></${scopeTag("ui5-icon", tags, suffix)}>` : html`<ui5-icon class="udex-secondary-navigation__item-icon" name="slim-arrow-down"></ui5-icon>`;}
12
12
  function block5 (this: SecondaryNavigationItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-secondary-navigation__dropdown"><ul role="menu" class="udex-secondary-navigation__dropdown-list" @keydown="${this.handleSubItemKeyDown}">${ repeat(this._processedItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block6.call(this, context, tags, suffix, item, index)) }</ul><div @keydown="${this.handleButtonsEscKey}"><slot></slot></div></div>`;}
@@ -4,7 +4,7 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
4
4
  import type SecondaryNavigation from "../../SecondaryNavigation.js";
5
5
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
6
6
 
7
- function block0 (this: SecondaryNavigation, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="${ifDefined(this.rootClass)}">${ this.hasBreadcrumbsSlot ? block1.call(this, context, tags, suffix) : undefined }<div class="udex-secondary-navigation__holder">${ this.title.length ? block2.call(this, context, tags, suffix) : undefined }<div class="udex-secondary-navigation__wrap"><ul role="menubar" class="udex-secondary-navigation__list" @keydown="${this.handleKeyDown}">${ repeat(this.visibleItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block5.call(this, context, tags, suffix, item, index)) }${ this._showMoreButton ? block6.call(this, context, tags, suffix) : undefined }</ul>${ this.hasDesktopButtonsSlot ? block7.call(this, context, tags, suffix) : undefined }</div></div><${scopeTag("udex-secondary-navigation-item", tags, suffix)} @keydown="${this.handleKeyDown}" _max-height="${ifDefined(this.maxDropdownHeight)}" class="udex-secondary-navigation__mobile-nav" role="button" aria-label="${ifDefined(this.mobileMenuOpenerAriaLabel)}" label="${ifDefined(this.title)}" mobile-link-title="${ifDefined(this.title)}" @ui5-sub-item-click="${ifDefined(this.handleSubItemClick)}" .subItems="${ifDefined(this.parsedItems)}">${ this.hasMobileButtonsSlot ? block8.call(this, context, tags, suffix) : undefined }</${scopeTag("udex-secondary-navigation-item", tags, suffix)}></div> ` : html`<div class="${ifDefined(this.rootClass)}">${ this.hasBreadcrumbsSlot ? block1.call(this, context, tags, suffix) : undefined }<div class="udex-secondary-navigation__holder">${ this.title.length ? block2.call(this, context, tags, suffix) : undefined }<div class="udex-secondary-navigation__wrap"><ul role="menubar" class="udex-secondary-navigation__list" @keydown="${this.handleKeyDown}">${ repeat(this.visibleItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block5.call(this, context, tags, suffix, item, index)) }${ this._showMoreButton ? block6.call(this, context, tags, suffix) : undefined }</ul>${ this.hasDesktopButtonsSlot ? block7.call(this, context, tags, suffix) : undefined }</div></div><udex-secondary-navigation-item @keydown="${this.handleKeyDown}" _max-height="${ifDefined(this.maxDropdownHeight)}" class="udex-secondary-navigation__mobile-nav" role="button" aria-label="${ifDefined(this.mobileMenuOpenerAriaLabel)}" label="${ifDefined(this.title)}" mobile-link-title="${ifDefined(this.title)}" @ui5-sub-item-click="${ifDefined(this.handleSubItemClick)}" .subItems="${ifDefined(this.parsedItems)}">${ this.hasMobileButtonsSlot ? block8.call(this, context, tags, suffix) : undefined }</udex-secondary-navigation-item></div> `;}
7
+ function block0 (this: SecondaryNavigation, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="${ifDefined(this.rootClass)}">${ this.hasBreadcrumbsSlot ? block1.call(this, context, tags, suffix) : undefined }<div class="udex-secondary-navigation__holder">${ this.title.length ? block2.call(this, context, tags, suffix) : undefined }<div class="udex-secondary-navigation__wrap"><ul role="menubar" class="udex-secondary-navigation__list" @keydown="${this.handleKeyDown}">${ repeat(this.visibleItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block5.call(this, context, tags, suffix, item, index)) }${ this._showMoreButton ? block6.call(this, context, tags, suffix) : undefined }</ul>${ this.hasDesktopButtonsSlot ? block7.call(this, context, tags, suffix) : undefined }</div></div><${scopeTag("udex-secondary-navigation-item", tags, suffix)} @keydown="${this.handleKeyDown}" _max-height="${ifDefined(this.maxDropdownHeight)}" class="udex-secondary-navigation__mobile-nav" role="button" aria-label="${ifDefined(this.mobileMenuOpenerAriaLabel)}" label="${ifDefined(this.title)}" mobile-link-title="${ifDefined(this.title)}" @ui5-sub-item-click="${ifDefined(this.handleSubItemClick)}" _is-mobile-menu-opener .subItems="${ifDefined(this.parsedItems)}">${ this.hasMobileButtonsSlot ? block8.call(this, context, tags, suffix) : undefined }</${scopeTag("udex-secondary-navigation-item", tags, suffix)}></div> ` : html`<div class="${ifDefined(this.rootClass)}">${ this.hasBreadcrumbsSlot ? block1.call(this, context, tags, suffix) : undefined }<div class="udex-secondary-navigation__holder">${ this.title.length ? block2.call(this, context, tags, suffix) : undefined }<div class="udex-secondary-navigation__wrap"><ul role="menubar" class="udex-secondary-navigation__list" @keydown="${this.handleKeyDown}">${ repeat(this.visibleItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block5.call(this, context, tags, suffix, item, index)) }${ this._showMoreButton ? block6.call(this, context, tags, suffix) : undefined }</ul>${ this.hasDesktopButtonsSlot ? block7.call(this, context, tags, suffix) : undefined }</div></div><udex-secondary-navigation-item @keydown="${this.handleKeyDown}" _max-height="${ifDefined(this.maxDropdownHeight)}" class="udex-secondary-navigation__mobile-nav" role="button" aria-label="${ifDefined(this.mobileMenuOpenerAriaLabel)}" label="${ifDefined(this.title)}" mobile-link-title="${ifDefined(this.title)}" @ui5-sub-item-click="${ifDefined(this.handleSubItemClick)}" _is-mobile-menu-opener .subItems="${ifDefined(this.parsedItems)}">${ this.hasMobileButtonsSlot ? block8.call(this, context, tags, suffix) : undefined }</udex-secondary-navigation-item></div> `;}
8
8
  function block1 (this: SecondaryNavigation, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-secondary-navigation__breadcrumbs"><slot name="breadcrumbs"></slot></div>`;}
9
9
  function block2 (this: SecondaryNavigation, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-secondary-navigation__heading">${ this.titleHref.length ? block3.call(this, context, tags, suffix) : block4.call(this, context, tags, suffix) }</div>`;}
10
10
  function block3 (this: SecondaryNavigation, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<a class="udex-secondary-navigation__title" href="${ifDefined(this.titleHref)}">${ifDefined(this.title)}</a>`;}
@@ -7,7 +7,7 @@ import defaultTheme from "./sap_horizon/parameters-bundle.css.js";
7
7
  registerThemePropertiesLoader("@ui5/webcomponents-theming", "sap_horizon", async () => defaultThemeBase);
8
8
  registerThemePropertiesLoader("@sapudex/web-components", "sap_horizon", async () => defaultTheme);
9
9
 
10
- const styleData: StyleData = {packageName:"@sapudex/web-components",fileName:"themes/Breadcrumbs.css.ts",content:`:host{--udex-breadcrumbs-item-color: var(--sapNeutralElementColor, var(--udexColorGrey6, #5B738B ));--udex-breadcrumbs-item-font-size: var(--udexTypographyBodyXXSFontSize, 12px);--udex-breadcrumbs-margin: 0}.udex-breadcrumbs{font-family:var(--sapFontFamily);white-space:nowrap;outline:none;margin:var(--udex-breadcrumbs-margin)}.udex-breadcrumbs>ol{margin:0;padding:var(--udexSpacer2, 2px) 0;list-style-type:none;display:-webkit-box;display:-webkit-flex;display:flex}.udex-breadcrumbs>ol>li{display:inline-flex;align-items:baseline}.udex-breadcrumbs__separator:after{content:"/";padding:0 .125rem;color:var(--udex-breadcrumbs-item-color);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--udex-breadcrumbs-item-font-size);line-height:18px}:host([separators="DoubleSlash"]) .udex-breadcrumbs__separator:after{content:"//"}:host([separators="BackSlash"]) .udex-breadcrumbs__separator:after{content:"\\\\"}:host([separators="DoubleBackSlash"]) .udex-breadcrumbs__separator:after{content:"\\\\\\\\"}:host([separators="GreaterThan"]) .udex-breadcrumbs__separator:after{content:">"}:host([separators="DoubleGreaterThan"]) .udex-breadcrumbs__separator:after{content:">>"}.udex-breadcrumbs__trigger,.udex-breadcrumbs__arrow-wrapper [ui5-link][focused] [ui5-icon],.udex-breadcrumbs__item[focused],.udex-breadcrumbs__item{color:var(--udex-breadcrumbs-item-color);--sapLink_Hover_Color: var(--udex-breadcrumbs-item-color);--sapFontSize: var(--udex-breadcrumbs-item-font-size);--sapLinkColor: var(--udex-breadcrumbs-item-color);--sapLink_Active_Color: var(--udex-breadcrumbs-item-color);--udex-link-text-decoration: none;position:relative}.udex-breadcrumbs__item{line-height:18px}.ui5-breadcrumbs-dropdown-arrow-link-wrapper{display:flex}.udex-breadcrumbs__trigger{border:none;background:none;padding:0;cursor:pointer;height:12px;width:12px;margin:auto}.udex-breadcrumbs__trigger:focus{outline:solid var(--udexSpacer2, 2px) var(--sapContent_FocusColor, #0040B0);border-radius:var(--udexRadiusXXS, 2px)}.udex-breadcrumbs__trigger--opened [ui5-icon]{transform:rotate(180deg)}.udex-breadcrumbs__trigger,[ui5-link].udex-breadcrumbs__item{text-decoration:none;display:inline-flex}[ui5-link]:not([icon]).udex-breadcrumbs__item:hover:after{content:"";position:absolute;height:.0625rem;left:.125rem;right:.125rem;bottom:.125rem;background-color:var(--udex-breadcrumbs-item-color)}.udex-breadcrumbs .udex-breadcrumbs__arrow-wrapper [ui5-icon]:before{content:""}.udex-breadcrumbs .udex-breadcrumbs__arrow-wrapper [ui5-icon]{padding-left:0}.udex-breadcrumbs__arrow-wrapper [ui5-link][focused] [ui5-icon]:after,.udex-breadcrumbs__arrow-wrapper:hover [ui5-icon]:after{border-bottom:0}
10
+ const styleData: StyleData = {packageName:"@sapudex/web-components",fileName:"themes/Breadcrumbs.css.ts",content:`:host{--udex-breadcrumbs-item-color: var(--sapNeutralElementColor, var(--udexColorGrey6, #5B738B ));--udex-breadcrumbs-item-font-size: var(--udexTypographyBodyXXSFontSize, 12px);--udex-breadcrumbs-margin: 0}.udex-breadcrumbs{font-family:var(--sapFontFamily);white-space:nowrap;outline:none;margin:var(--udex-breadcrumbs-margin)}.udex-breadcrumbs>ol{margin:0;padding:var(--udexSpacer2, 2px) 0;list-style-type:none;display:-webkit-box;display:-webkit-flex;display:flex}.udex-breadcrumbs>ol>li{display:inline-flex;align-items:baseline}.udex-breadcrumbs__separator:after{content:"/";padding:0 .125rem;color:var(--udex-breadcrumbs-item-color);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--udex-breadcrumbs-item-font-size);line-height:18px}:host([separators="DoubleSlash"]) .udex-breadcrumbs__separator:after{content:"//"}:host([separators="BackSlash"]) .udex-breadcrumbs__separator:after{content:"\\\\"}:host([separators="DoubleBackSlash"]) .udex-breadcrumbs__separator:after{content:"\\\\\\\\"}:host([separators="GreaterThan"]) .udex-breadcrumbs__separator:after{content:">"}:host([separators="DoubleGreaterThan"]) .udex-breadcrumbs__separator:after{content:">>"}.udex-breadcrumbs__trigger,.udex-breadcrumbs__arrow-wrapper [ui5-link][focused] [ui5-icon],.udex-breadcrumbs__item[focused],.udex-breadcrumbs__item{color:var(--udex-breadcrumbs-item-color);--sapLink_Hover_Color: var(--udex-breadcrumbs-item-color);--sapFontSize: var(--udex-breadcrumbs-item-font-size);--sapLinkColor: var(--udex-breadcrumbs-item-color);--sapLink_Active_Color: var(--udex-breadcrumbs-item-color);--udex-link-text-decoration: none;position:relative}.udex-breadcrumbs__item{line-height:18px}.ui5-breadcrumbs-dropdown-arrow-link-wrapper{display:flex}.udex-breadcrumbs__trigger{border:none;background:none;padding:0;cursor:pointer;height:12px;width:12px;margin:auto;--udex-link-icon-width: 12px;--udex-link-icon-height: 12px;--udex-link-line-height: 12px}.udex-breadcrumbs__trigger:focus{outline:solid var(--udexSpacer2, 2px) var(--sapContent_FocusColor, #0040B0);border-radius:var(--udexRadiusXXS, 2px)}.udex-breadcrumbs__trigger--opened [ui5-icon]{transform:rotate(180deg)}.udex-breadcrumbs__trigger,[ui5-link].udex-breadcrumbs__item{text-decoration:none;display:inline-flex}[ui5-link]:not([icon]).udex-breadcrumbs__item:hover:after{content:"";position:absolute;height:.0625rem;left:.125rem;right:.125rem;bottom:.125rem;background-color:var(--udex-breadcrumbs-item-color)}.udex-breadcrumbs .udex-breadcrumbs__arrow-wrapper [ui5-icon]:before{content:""}.udex-breadcrumbs .udex-breadcrumbs__arrow-wrapper [ui5-icon]{padding-left:0}.udex-breadcrumbs__arrow-wrapper [ui5-link][focused] [ui5-icon]:after,.udex-breadcrumbs__arrow-wrapper:hover [ui5-icon]:after{border-bottom:0}
11
11
  `};
12
12
  export default styleData;
13
13