@sapudex/web-components 2.7.0 → 2.7.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 (83) hide show
  1. package/cypress/specs/ListItem.cy.tsx +4 -4
  2. package/cypress/specs/SelectBox.cy.tsx +1 -1
  3. package/dist/ListItem.d.ts +2 -0
  4. package/dist/ListItem.js +6 -0
  5. package/dist/ListItem.js.map +1 -1
  6. package/dist/MastheadMobileMenu.js +2 -0
  7. package/dist/MastheadMobileMenu.js.map +1 -1
  8. package/dist/MastheadShell.js +4 -2
  9. package/dist/MastheadShell.js.map +1 -1
  10. package/dist/assets/{InputSuggestions-09hxh-NH.js → InputSuggestions-D0OZo5eY.js} +1 -1
  11. package/dist/assets/{ListItemStandardExpandableTextTemplate-3ixkeBt3.js → ListItemStandardExpandableTextTemplate-BOc_KoW1.js} +1 -1
  12. package/dist/assets/{bundle.esm-e2aCupGE.js → bundle.esm-BLn1Dq6A.js} +241 -241
  13. package/dist/css/themes/CountrySelector.css +1 -1
  14. package/dist/css/themes/RatingIndicator.css +1 -1
  15. package/dist/css/themes/Search.css +1 -1
  16. package/dist/css/themes/SearchSuggestions.css +1 -1
  17. package/dist/css/themes/Slider.css +1 -1
  18. package/dist/css/themes/TextField.css +1 -1
  19. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js +1 -1
  20. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js.map +1 -1
  21. package/dist/generated/templates/ListItemTemplate.lit.js +4 -4
  22. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  23. package/dist/generated/templates/ListSelectAllTemplate.lit.js +1 -1
  24. package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +1 -1
  25. package/dist/generated/templates/ListTemplate.lit.js +2 -2
  26. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  27. package/dist/generated/templates/MastheadMenuTemplate.lit.js +7 -5
  28. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  29. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +14 -10
  30. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  31. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +2 -2
  32. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  33. package/dist/generated/themes/CountrySelector.css.d.ts +1 -1
  34. package/dist/generated/themes/CountrySelector.css.js +1 -1
  35. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  36. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  37. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  38. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  39. package/dist/generated/themes/Search.css.d.ts +1 -1
  40. package/dist/generated/themes/Search.css.js +1 -1
  41. package/dist/generated/themes/Search.css.js.map +1 -1
  42. package/dist/generated/themes/SearchSuggestions.css.d.ts +1 -1
  43. package/dist/generated/themes/SearchSuggestions.css.js +1 -1
  44. package/dist/generated/themes/SearchSuggestions.css.js.map +1 -1
  45. package/dist/generated/themes/Slider.css.d.ts +1 -1
  46. package/dist/generated/themes/Slider.css.js +1 -1
  47. package/dist/generated/themes/Slider.css.js.map +1 -1
  48. package/dist/generated/themes/TextField.css.d.ts +1 -1
  49. package/dist/generated/themes/TextField.css.js +1 -1
  50. package/dist/generated/themes/TextField.css.js.map +1 -1
  51. package/dist/utils/getEffectiveScrollbarStyle.d.ts +0 -2
  52. package/dist/utils/getEffectiveScrollbarStyle.js +2 -11
  53. package/dist/utils/getEffectiveScrollbarStyle.js.map +1 -1
  54. package/dist/web-types.json +1 -1
  55. package/package.json +1 -1
  56. package/src/List.hbs +4 -4
  57. package/src/ListGroupHeader.hbs +7 -5
  58. package/src/ListItem.hbs +11 -10
  59. package/src/ListItem.ts +8 -0
  60. package/src/ListSelectAll.hbs +12 -10
  61. package/src/MastheadMenu.hbs +26 -13
  62. package/src/MastheadMobileMenu.hbs +47 -20
  63. package/src/MastheadMobileMenu.ts +2 -0
  64. package/src/MastheadShell.ts +4 -2
  65. package/src/SearchableListBase.hbs +4 -2
  66. package/src/generated/templates/ListGroupHeaderTemplate.lit.ts +1 -1
  67. package/src/generated/templates/ListItemTemplate.lit.ts +4 -4
  68. package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
  69. package/src/generated/templates/ListTemplate.lit.ts +2 -2
  70. package/src/generated/templates/MastheadMenuTemplate.lit.ts +7 -5
  71. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +14 -10
  72. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +2 -2
  73. package/src/generated/themes/CountrySelector.css.ts +1 -1
  74. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  75. package/src/generated/themes/Search.css.ts +1 -1
  76. package/src/generated/themes/SearchSuggestions.css.ts +1 -1
  77. package/src/generated/themes/Slider.css.ts +1 -1
  78. package/src/generated/themes/TextField.css.ts +1 -1
  79. package/src/themes/CountrySelector.css +0 -2
  80. package/src/themes/Search.css +3 -2
  81. package/src/themes/SearchSuggestions.css +3 -0
  82. package/src/themes/TextField.css +1 -0
  83. package/src/utils/getEffectiveScrollbarStyle.ts +2 -14
@@ -1 +1 @@
1
- {"version":3,"file":"getEffectiveScrollbarStyle.js","sourceRoot":"","sources":["../../src/utils/getEffectiveScrollbarStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,+BAA+B,CAAC;AAExE,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,IAAI,SAAS,EAAE,EAAE,CAAC;QAChB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,GAAG,EAAE;IACtC,oBAAoB,EAAE,CAAC;IAEvB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6BL,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,0BAA0B,CAAC","sourcesContent":["import { isDesktop } from \"@ui5/webcomponents-base\";\n\nexport const NO_SCROLLBAR_STYLE_CLASS = \"ui5-content-native-scrollbars\";\n\nexport const applyCustomScrollbar = () => {\n if (isDesktop()) {\n document?.body.classList.add(NO_SCROLLBAR_STYLE_CLASS);\n } else {\n document?.body.classList.remove(NO_SCROLLBAR_STYLE_CLASS);\n }\n};\n\nconst getEffectiveScrollbarStyle = () => {\n applyCustomScrollbar();\n\n return `\n // ::part(content) for ui5-popover content\n ::part(content)::-webkit-scrollbar:horizontal,\n ::-webkit-scrollbar:horizontal {\n height: calc(var(--sapScrollBar_Dimension) + 4px);\n }\n ::part(content)::-webkit-scrollbar:vertical,\n ::-webkit-scrollbar:vertical {\n width: calc(var(--sapScrollBar_Dimension) + 4px);\n }\n ::part(content)::-webkit-scrollbar,\n ::-webkit-scrollbar {\n background-color: var(--sapScrollBar_TrackColor);\n border-left: none;\n }\n ::part(content)::-webkit-scrollbar-thumb,\n ::-webkit-scrollbar-thumb {\n background-color: var(--sapScrollBar_FaceColor);\n border: 4px solid var(--sapScrollBar_TrackColor);\n border-radius: 8px; \n }\n ::part(content)::-webkit-scrollbar-thumb:hover,\n ::-webkit-scrollbar-thumb:hover {\n border: 2px solid var(--sapScrollBar_TrackColor);\n background-color: var(--sapScrollBar_Hover_FaceColor); \n }\n ::part(content)::-webkit-scrollbar-corner,\n ::-webkit-scrollbar-corner {\n background-color: var(--sapScrollBar_TrackColor);\n }`;\n};\n\nexport default getEffectiveScrollbarStyle;\n"]}
1
+ {"version":3,"file":"getEffectiveScrollbarStyle.js","sourceRoot":"","sources":["../../src/utils/getEffectiveScrollbarStyle.ts"],"names":[],"mappings":"AAAA,MAAM,0BAA0B,GAAG,GAAG,EAAE;IACtC,6EAA6E;IAC7E,8EAA8E;IAC9E,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6BL,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,0BAA0B,CAAC","sourcesContent":["const getEffectiveScrollbarStyle = () => {\n // Scrollbar styles applicable with UI5 'ui5-content-native-scrollbars' class\n // https://ui5.github.io/webcomponents/docs/advanced/scrollbars-customization/\n return `\n // ::part(content) for ui5-popover content\n ::part(content)::-webkit-scrollbar:horizontal,\n ::-webkit-scrollbar:horizontal {\n height: calc(var(--sapScrollBar_Dimension) + 4px);\n }\n ::part(content)::-webkit-scrollbar:vertical,\n ::-webkit-scrollbar:vertical {\n width: calc(var(--sapScrollBar_Dimension) + 4px);\n }\n ::part(content)::-webkit-scrollbar,\n ::-webkit-scrollbar {\n background-color: var(--sapScrollBar_TrackColor);\n border-left: none;\n }\n ::part(content)::-webkit-scrollbar-thumb,\n ::-webkit-scrollbar-thumb {\n background-color: var(--sapScrollBar_FaceColor);\n border: 4px solid var(--sapScrollBar_TrackColor);\n border-radius: 8px; \n }\n ::part(content)::-webkit-scrollbar-thumb:hover,\n ::-webkit-scrollbar-thumb:hover {\n border: 2px solid var(--sapScrollBar_TrackColor);\n background-color: var(--sapScrollBar_Hover_FaceColor); \n }\n ::part(content)::-webkit-scrollbar-corner,\n ::-webkit-scrollbar-corner {\n background-color: var(--sapScrollBar_TrackColor);\n }`;\n};\n\nexport default getEffectiveScrollbarStyle;\n"]}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "name": "@sapudex/web-components",
4
- "version": "2.7.0",
4
+ "version": "2.7.2",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@sapudex/web-components",
4
- "version": "2.7.0",
4
+ "version": "2.7.2",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
7
7
  },
package/src/List.hbs CHANGED
@@ -8,7 +8,7 @@
8
8
  <div class="udex-list__scroll-container">
9
9
  {{> headerText}}
10
10
  <span id="{{_id}}-mode-label" class="udex-list__hidden-text">{{ariaLabelModeText}}</span>
11
- <ul
11
+ <div
12
12
  id="udex-list"
13
13
  class="udex-list"
14
14
  role="{{accessibleRole}}"
@@ -16,13 +16,13 @@
16
16
  aria-label="{{accessibleName}}"
17
17
  aria-busy="{{ariaBusy}}">
18
18
  <slot></slot>
19
- </ul>
19
+ </div>
20
20
  </div>
21
21
  </div>
22
22
  {{/if}}
23
23
  {{#if modeSingleContent}}
24
24
  {{> headerText}}
25
- <ul
25
+ <div
26
26
  id="udex-list"
27
27
  class="udex-list"
28
28
  role="{{accessibleRole}}"
@@ -30,7 +30,7 @@
30
30
  aria-label="{{accessibleName}}"
31
31
  aria-busy="{{ariaBusy}}">
32
32
  <slot></slot>
33
- </ul>
33
+ </div>
34
34
  {{/if}}
35
35
  {{#*inline "headerText"}}
36
36
  {{#if headerText}}
@@ -1,11 +1,13 @@
1
- <li
1
+ <div
2
2
  part="item"
3
3
  class="udex-list__group"
4
4
  role="group"
5
5
  aria-labelledby="group-heading">
6
- <ul
7
- role="group"
6
+ <div
7
+ role="listbox"
8
8
  class="udex-list__group-list"
9
+ name="group"
10
+ aria-label="group"
9
11
  @ui5-item-press="{{getHandleGroupItemsClick}}">
10
12
  {{#if modeMultiSelectOrRadioGroup}}
11
13
  {{> multi-or-radio-group-header}}
@@ -13,8 +15,8 @@
13
15
  {{> single-group-header}}
14
16
  {{/if}}
15
17
  <slot></slot>
16
- </ul>
17
- </li>
18
+ </div>
19
+ </div>
18
20
 
19
21
  {{#*inline "multi-or-radio-group-header"}}
20
22
  {{#if isNonActiveHeader}}
package/src/ListItem.hbs CHANGED
@@ -1,10 +1,10 @@
1
1
  {{#if modeSelected}}
2
- <li
2
+ <div
3
3
  part="item"
4
- role="{{roleItem}}"
5
4
  tabindex="{{_effectiveTabIndex}}"
6
5
  aria-disabled="{{_ariaDisabled}}"
7
6
  class="{{className}}"
7
+ role="{{roleItem}}"
8
8
  @click="{{handleItemClick}}"
9
9
  @mousedown="{{handleMouseDown}}"
10
10
  @mouseup="{{handleMouseUp}}"
@@ -12,16 +12,15 @@
12
12
  @keydown="{{handleKeyDown}}"
13
13
  @focusin="{{handleFocusIn}}"
14
14
  @focusout="{{handleFocusOut}}"
15
- aria-selected="{{selected}}"
16
- aria-current="{{selected}}"
17
15
  ?divider="{{divider}}"
18
- _id="{{this._id}}">
16
+ _id="{{this._id}}"
17
+ data-selected="{{selected}}"
18
+ aria-describedby="{{itemDescribedBy}}">
19
19
  {{#if modeMultiSelect}}
20
20
  <udex-checkbox
21
21
  class="udex-list__checkbox"
22
22
  part="checkbox"
23
23
  tabindex="-1"
24
- ?aria-checked="{{selected}}"
25
24
  ?indeterminate="{{indeterminate}}"
26
25
  accessible-name="checkbox {{stateAccessibleName}}"
27
26
  ?checked="{{selected}}"
@@ -33,22 +32,23 @@
33
32
  class="udex-list__radio"
34
33
  part="radio"
35
34
  tabindex="-1"
36
- ?aria-checked="{{selected}}"
37
35
  accessible-name="radio {{stateAccessibleName}}"
36
+ ?aria-selected="{{selected}}"
38
37
  ?checked="{{selected}}"
39
38
  ?disabled="{{disabled}}">
40
39
  </udex-radio-button>
41
40
  {{/if}}
42
41
  {{>contentList}}
43
- </li>
42
+ </div>
44
43
  {{/if}}
45
44
  {{#if modeSingleContent}}
46
- <li
45
+ <div
47
46
  part="item"
48
47
  role="{{roleItem}}"
48
+ aria-selected="{{selected}}"
49
49
  class="{{className}}">
50
50
  {{> contentList}}
51
- </li>
51
+ </div>
52
52
  {{/if}}
53
53
  {{#*inline "contentList"}}
54
54
  <div class="udex-list__content-wrap" _id="{{this._id}}" aria-labelledby="{{this._id}}-invisibleText" aria-label="{{accessibleListItemName}}">
@@ -101,5 +101,6 @@
101
101
  {{/if}}
102
102
  </div>
103
103
  <div class="hidden" id="{{this._id}}-invisibleText">{{accessibleListItemName}}</div>
104
+ <div class="hidden" id="{{this._id}}-invisibleText-describedby">{{itemState}}</div>
104
105
  </div>
105
106
  {{/inline}}
package/src/ListItem.ts CHANGED
@@ -374,6 +374,14 @@ class UDExListItem extends UDExListItemBase {
374
374
  get deleteButtonAccessibleName(): string {
375
375
  return UDExListItem.i18nBundle.getText(DELETE_BUTTON);
376
376
  }
377
+
378
+ get itemDescribedBy(): string {
379
+ return `${this._id}-invisibleText-describedby`;
380
+ }
381
+
382
+ get itemState(): string {
383
+ return this.selected ? "Selected" : "Not selected";
384
+ }
377
385
  }
378
386
 
379
387
  UDExListItem.define();
@@ -1,13 +1,16 @@
1
- <ul class="udex-list__group-list">
2
- <li
3
- part="item"
4
- class="udex-list__group">
5
- <ul
1
+ <div
2
+ part="item"
3
+ class="udex-list__group"
4
+ role="group"
5
+ aria-labelledby="group-select-all">
6
+ <div
7
+ role="listbox"
6
8
  class="{{groupListClassName}}"
9
+ aria-label="select-all-group"
7
10
  @ui5-item-press="{{handleSelectAllGroupItemsPress}}">
8
11
  <udex-list-item
12
+ role="group"
9
13
  _tab-index="{{_effectiveTabIndex}}"
10
- role="listitem"
11
14
  _additional-class-name="{{additionalClassName}}"
12
15
  class="{{className}}"
13
16
  ?selected="{{selected}}"
@@ -19,11 +22,10 @@
19
22
  ?controlled="{{controlled}}"
20
23
  supporting-text="{{supportingText}}"
21
24
  @keydown="{{handleKeyDownPress}}"
22
- accessible-role="none"
25
+ accessible-role="option"
23
26
  divider>
24
27
  {{selectAllLabel}}
25
28
  </udex-list-item>
26
29
  <slot></slot>
27
- </ul>
28
- </li>
29
- </ul>
30
+ </div>
31
+ </div>
@@ -21,17 +21,29 @@
21
21
 
22
22
  {{#*inline "header"}}
23
23
  <div class="udex-masthead-menu__header">
24
- <udex-masthead-menu-item
25
- part="menu-item"
26
- exportparts="menu-item"
27
- id="category-{{categoryId}}"
28
- @click="{{../../handleMenuItemClick}}"
29
- url="{{this.url}}"
30
- label="{{this.category}}"
31
- ?icon-end="{{this.url}}"
32
- type="Heading"
33
- has-border>
34
- </udex-masthead-menu-item>
24
+ {{#if this.url}}
25
+ <udex-masthead-menu-item
26
+ id="category-{{categoryId}}"
27
+ type="Heading"
28
+ part="menu-item"
29
+ exportparts="menu-item"
30
+ accessible-role="link"
31
+ @click="{{../../handleMenuItemClick}}"
32
+ url="{{this.url}}"
33
+ label="{{this.category}}"
34
+ icon-end
35
+ has-border>
36
+ </udex-masthead-menu-item>
37
+ {{else}}
38
+ <udex-masthead-menu-item
39
+ id="category-{{categoryId}}"
40
+ type="Heading"
41
+ part="menu-item"
42
+ exportparts="menu-item"
43
+ label="{{this.category}}"
44
+ has-border>
45
+ </udex-masthead-menu-item>
46
+ {{/if}}
35
47
  </div>
36
48
  {{/inline}}
37
49
 
@@ -47,13 +59,14 @@
47
59
  {{else}}
48
60
  <udex-masthead-menu-item
49
61
  part="menu-item"
62
+ accessible-role="link"
50
63
  exportparts="menu-item"
64
+ exportparts="badge"
51
65
  @click="{{../../../handleMenuItemClick}}"
52
66
  badge="{{this.badge}}"
53
67
  ?external-link="{{this.externalLink}}"
54
68
  url="{{this.url}}"
55
- label="{{this.title}}"
56
- exportparts="badge">
69
+ label="{{this.title}}">
57
70
  </udex-masthead-menu-item>
58
71
  {{/if}}
59
72
  </li>
@@ -133,34 +133,61 @@
133
133
  </li>
134
134
  {{/if}}
135
135
  {{#each _categories}}
136
- {{#if this.category}}
137
- <li class="udex-masthead-mobile-menu__list-item" role="none">
138
- <udex-masthead-menu-item
139
- part="menu-item"
140
- @click="{{../handleMenuCategoryClick}}"
141
- id="{{@index}}"
142
- label="{{this.category}}"
143
- aria-has-popup="true"
144
- type="Button"
145
- second-level-btn
146
- second-level
147
- has-border
148
- icon-end>
149
- </udex-masthead-menu-item>
150
- </li>
151
- {{else}}
152
- {{#each this.items}}
136
+ {{#if this.items.length}}
137
+ {{#if this.category}}
153
138
  <li class="udex-masthead-mobile-menu__list-item" role="none">
154
139
  <udex-masthead-menu-item
155
140
  part="menu-item"
141
+ @click="{{../handleMenuCategoryClick}}"
142
+ id="{{@index}}"
143
+ label="{{this.category}}"
144
+ aria-has-popup="true"
145
+ type="Button"
146
+ second-level-btn
147
+ second-level
148
+ has-border
149
+ icon-end>
150
+ </udex-masthead-menu-item>
151
+ </li>
152
+ {{else}}
153
+ {{#each this.items}}
154
+ <li class="udex-masthead-mobile-menu__list-item" role="none">
155
+ <udex-masthead-menu-item
156
+ part="menu-item"
157
+ @click="{{../handleMobileItemEvent}}"
158
+ url="{{this.url}}"
159
+ label="{{this.title}}"
160
+ second-level
161
+ has-border>
162
+ </udex-masthead-menu-item>
163
+ </li>
164
+ {{/each}}
165
+ {{/if}}
166
+ {{else}}
167
+ <li class="udex-masthead-mobile-menu__list-item" role="none">
168
+ {{#if this.url}}
169
+ <udex-masthead-menu-item
170
+ id="{{@index}}"
156
171
  @click="{{../handleMobileItemEvent}}"
172
+ label="{{this.category}}"
157
173
  url="{{this.url}}"
158
- label="{{this.title}}"
174
+ part="menu-item"
175
+ type="Link"
159
176
  second-level
160
177
  has-border>
161
178
  </udex-masthead-menu-item>
162
- </li>
163
- {{/each}}
179
+ {{else}}
180
+ <udex-masthead-menu-item
181
+ id="{{@index}}"
182
+ @click="{{../handleMobileItemEvent}}"
183
+ label="{{this.category}}"
184
+ part="menu-item"
185
+ type="Button"
186
+ second-level
187
+ has-border>
188
+ </udex-masthead-menu-item>
189
+ {{/if}}
190
+ </li>
164
191
  {{/if}}
165
192
  {{/each}}
166
193
  {{/inline}}
@@ -203,6 +203,7 @@ class UDExMastheadMobileMenu extends UI5Element {
203
203
 
204
204
  handleRightArrow(e: KeyboardEvent) {
205
205
  if (isRight(e)) {
206
+ e.preventDefault();
206
207
  this.handleDirection();
207
208
  if (this.isRtlDirection) {
208
209
  this.moveToBackWithKeyboard(e);
@@ -214,6 +215,7 @@ class UDExMastheadMobileMenu extends UI5Element {
214
215
 
215
216
  handleLeftArrow(e: KeyboardEvent) {
216
217
  if (isLeft(e)) {
218
+ e.preventDefault();
217
219
  this.handleDirection();
218
220
  if (this.isRtlDirection) {
219
221
  this.moveToNextLevelWithKeyboard(e);
@@ -738,7 +738,8 @@ class UDExMastheadShell extends UI5Element {
738
738
  const itemIconWidths = itemsIcon.length * this.getItemIconWidth();
739
739
  const itemIconGaps = itemsIcon.length * this.getItemIconGap();
740
740
  const exploreItem = this.exploreSAP[0];
741
- const exploreItemIconWidth = exploreItem.hasArrowDown ? this.getItemArrowIconWidth() : 0;
741
+ const hasArrowIcon = exploreItem?.hasArrowDown && !exploreItem?.hideArrowIcon;
742
+ const exploreItemIconWidth = hasArrowIcon ? this.getItemArrowIconWidth() : 0;
742
743
  const exploreSAPWidth = this.hasExploreSAP ? this.getItemWidth(exploreItem) : 0;
743
744
  const rightMenuGaps = this.getRightMenuGap() + this.getExploreSapBtnGap() + itemIconGaps;
744
745
  return exploreSAPWidth + exploreItemIconWidth + itemIconWidths + rightMenuGaps;
@@ -769,7 +770,8 @@ class UDExMastheadShell extends UI5Element {
769
770
  const gapItemVar = this.getRootVar(UDExMastheadVariable.itemGap);
770
771
  return mainItems.reduce((accumulatedWidth, item, index) => {
771
772
  const mainItem = item as UDExMastheadItem;
772
- const arrowIconWidth = mainItem.hasArrowDown ? this.getItemArrowIconWidth() : 0;
773
+ const hasArrowIcon = mainItem.hasArrowDown && !mainItem.hideArrowIcon;
774
+ const arrowIconWidth = hasArrowIcon ? this.getItemArrowIconWidth() : 0;
773
775
  return accumulatedWidth + this.getItemWidth(mainItem) + (index && parseInt(gapItemVar) + arrowIconWidth);
774
776
  }, 0);
775
777
  }
@@ -46,6 +46,8 @@
46
46
  ?indeterminate="{{this.item.indeterminate}}">
47
47
  {{#each this.groupItems}}
48
48
  <udex-list-item
49
+ role="{{../listItemRole}}"
50
+ data-role="{{../listItemRole}}"
49
51
  data-token-id="{{this._id}}"
50
52
  ?controlled="{{this.controlled}}"
51
53
  mode="{{this.mode}}"
@@ -53,8 +55,7 @@
53
55
  ?divider="{{this.divider}}"
54
56
  ?disabled="{{this.disabled}}"
55
57
  ?selected="{{this.selected}}"
56
- label="{{this.label}}"
57
- accessible-role="{{../listItemRole}}">
58
+ label="{{this.label}}">
58
59
  {{{this.innerHTML}}}
59
60
  </udex-list-item>
60
61
  {{/each}}
@@ -90,6 +91,7 @@
90
91
  {{/if}}
91
92
  {{else}}
92
93
  <udex-list-item
94
+ role="none"
93
95
  data-token-id="{{this.item._id}}"
94
96
  supporting-text="{{this.item.supportingText}}"
95
97
  ?disabled="{{this.item.disabled}}"
@@ -5,7 +5,7 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
5
5
  import type ListGroupHeader from "../../ListGroupHeader.js";
6
6
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
7
7
 
8
- function block0 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<li part="item" class="udex-list__group" role="group" aria-labelledby="group-heading"><ul role="group" class="udex-list__group-list" @ui5-item-press="${ifDefined(this.getHandleGroupItemsClick)}">${ this.modeMultiSelectOrRadioGroup ? block1.call(this, context, tags, suffix) : block5.call(this, context, tags, suffix) }<slot></slot></ul></li> `;}
8
+ function block0 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div part="item" class="udex-list__group" role="group" aria-labelledby="group-heading"><div role="listbox" class="udex-list__group-list" name="group" aria-label="group" @ui5-item-press="${ifDefined(this.getHandleGroupItemsClick)}">${ this.modeMultiSelectOrRadioGroup ? block1.call(this, context, tags, suffix) : block5.call(this, context, tags, suffix) }<slot></slot></div></div> `;}
9
9
  function block1 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.isNonActiveHeader ? block2.call(this, context, tags, suffix) : block4.call(this, context, tags, suffix) }`;}
10
10
  function block2 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<header id="group-heading" class="udex-list__inactive-header"><span class="udex-list__header-title">${ifDefined(this.label)}</span>${ this.supportingText ? block3.call(this, context, tags, suffix) : undefined }</header>`;}
11
11
  function block3 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-list__supporting-text ">${ifDefined(this.supportingText)}</span>`;}
@@ -6,9 +6,9 @@ import type ListItem from "../../ListItem.js";
6
6
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
7
7
 
8
8
  function block0 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.modeSelected ? block1.call(this, context, tags, suffix) : undefined }${ this.modeSingleContent ? block16.call(this, context, tags, suffix) : undefined } `;}
9
- function block1 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<li part="item" role="${ifDefined(this.roleItem)}" tabindex="${ifDefined(this._effectiveTabIndex)}" aria-disabled="${ifDefined(this._ariaDisabled)}" class="${ifDefined(this.className)}" @click="${this.handleItemClick}" @mousedown="${this.handleMouseDown}" @mouseup="${this.handleMouseUp}" @keyup="${this.handleKeyUp}" @keydown="${this.handleKeyDown}" @focusin="${this.handleFocusIn}" @focusout="${this.handleFocusOut}" aria-selected="${ifDefined(this.selected)}" aria-current="${ifDefined(this.selected)}" ?divider="${this.divider}" _id="${ifDefined(this._id)}">${ this.modeMultiSelect ? block2.call(this, context, tags, suffix) : undefined }${ this.modeRadioGroup ? block3.call(this, context, tags, suffix) : undefined }<div class="udex-list__content-wrap" _id="${ifDefined(this._id)}" aria-labelledby="${ifDefined(this._id)}-invisibleText" aria-label="${ifDefined(this.accessibleListItemName)}">${ this.flag ? block4.call(this, context, tags, suffix) : undefined }${ this.typeNumber ? block5.call(this, context, tags, suffix) : undefined }${ this.typeCircle ? block6.call(this, context, tags, suffix) : undefined }${ this.typeIcon ? block7.call(this, context, tags, suffix) : undefined }${ this.image ? block8.call(this, context, tags, suffix) : undefined }<div class="udex-list__content" part="content">${ this.label ? block9.call(this, context, tags, suffix) : block11.call(this, context, tags, suffix) }</div><div class="hidden" id="${ifDefined(this._id)}-invisibleText">${ifDefined(this.accessibleListItemName)}</div></div></li>`;}
10
- function block2 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-checkbox", tags, suffix)} class="udex-list__checkbox" part="checkbox" tabindex="-1" ?aria-checked="${this.selected}" ?indeterminate="${this.indeterminate}" accessible-name="checkbox ${ifDefined(this.stateAccessibleName)}" ?checked="${this.selected}" ?disabled="${this.disabled}"></${scopeTag("udex-checkbox", tags, suffix)}>` : html`<udex-checkbox class="udex-list__checkbox" part="checkbox" tabindex="-1" ?aria-checked="${this.selected}" ?indeterminate="${this.indeterminate}" accessible-name="checkbox ${ifDefined(this.stateAccessibleName)}" ?checked="${this.selected}" ?disabled="${this.disabled}"></udex-checkbox>`;}
11
- function block3 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-radio-button", tags, suffix)} class="udex-list__radio" part="radio" tabindex="-1" ?aria-checked="${this.selected}" accessible-name="radio ${ifDefined(this.stateAccessibleName)}" ?checked="${this.selected}" ?disabled="${this.disabled}"></${scopeTag("udex-radio-button", tags, suffix)}>` : html`<udex-radio-button class="udex-list__radio" part="radio" tabindex="-1" ?aria-checked="${this.selected}" accessible-name="radio ${ifDefined(this.stateAccessibleName)}" ?checked="${this.selected}" ?disabled="${this.disabled}"></udex-radio-button>`;}
9
+ function block1 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div part="item" tabindex="${ifDefined(this._effectiveTabIndex)}" aria-disabled="${ifDefined(this._ariaDisabled)}" class="${ifDefined(this.className)}" role="${ifDefined(this.roleItem)}" @click="${this.handleItemClick}" @mousedown="${this.handleMouseDown}" @mouseup="${this.handleMouseUp}" @keyup="${this.handleKeyUp}" @keydown="${this.handleKeyDown}" @focusin="${this.handleFocusIn}" @focusout="${this.handleFocusOut}" ?divider="${this.divider}" _id="${ifDefined(this._id)}" data-selected="${ifDefined(this.selected)}" aria-describedby="${ifDefined(this.itemDescribedBy)}">${ this.modeMultiSelect ? block2.call(this, context, tags, suffix) : undefined }${ this.modeRadioGroup ? block3.call(this, context, tags, suffix) : undefined }<div class="udex-list__content-wrap" _id="${ifDefined(this._id)}" aria-labelledby="${ifDefined(this._id)}-invisibleText" aria-label="${ifDefined(this.accessibleListItemName)}">${ this.flag ? block4.call(this, context, tags, suffix) : undefined }${ this.typeNumber ? block5.call(this, context, tags, suffix) : undefined }${ this.typeCircle ? block6.call(this, context, tags, suffix) : undefined }${ this.typeIcon ? block7.call(this, context, tags, suffix) : undefined }${ this.image ? block8.call(this, context, tags, suffix) : undefined }<div class="udex-list__content" part="content">${ this.label ? block9.call(this, context, tags, suffix) : block11.call(this, context, tags, suffix) }</div><div class="hidden" id="${ifDefined(this._id)}-invisibleText">${ifDefined(this.accessibleListItemName)}</div><div class="hidden" id="${ifDefined(this._id)}-invisibleText-describedby">${ifDefined(this.itemState)}</div></div></div>`;}
10
+ function block2 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-checkbox", tags, suffix)} class="udex-list__checkbox" part="checkbox" tabindex="-1" ?indeterminate="${this.indeterminate}" accessible-name="checkbox ${ifDefined(this.stateAccessibleName)}" ?checked="${this.selected}" ?disabled="${this.disabled}"></${scopeTag("udex-checkbox", tags, suffix)}>` : html`<udex-checkbox class="udex-list__checkbox" part="checkbox" tabindex="-1" ?indeterminate="${this.indeterminate}" accessible-name="checkbox ${ifDefined(this.stateAccessibleName)}" ?checked="${this.selected}" ?disabled="${this.disabled}"></udex-checkbox>`;}
11
+ function block3 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-radio-button", tags, suffix)} class="udex-list__radio" part="radio" tabindex="-1" accessible-name="radio ${ifDefined(this.stateAccessibleName)}" ?aria-selected="${this.selected}" ?checked="${this.selected}" ?disabled="${this.disabled}"></${scopeTag("udex-radio-button", tags, suffix)}>` : html`<udex-radio-button class="udex-list__radio" part="radio" tabindex="-1" accessible-name="radio ${ifDefined(this.stateAccessibleName)}" ?aria-selected="${this.selected}" ?checked="${this.selected}" ?disabled="${this.disabled}"></udex-radio-button>`;}
12
12
  function block4 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-list__flag-wrap"><span class="udex-list__flag" style="background-position: ${ifDefined(this.flagPosition)}"></span></div>`;}
13
13
  function block5 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-list__number">${ifDefined(this.numberOfItem)}.</span>`;}
14
14
  function block6 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-list__circle">&#x2022;</span>`;}
@@ -21,7 +21,7 @@ function block12 (this: ListItem, context: UI5Element, tags: string[], suffix: s
21
21
  function block13 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-list__add-text" part="additional-text">${ifDefined(this.additionalText)}</div>`;}
22
22
  function block14 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<slot name="firstIcon"></slot>`;}
23
23
  function block15 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<slot name="secondIcon"></slot>`;}
24
- function block16 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<li part="item" role="${ifDefined(this.roleItem)}" class="${ifDefined(this.className)}"><div class="udex-list__content-wrap" _id="${ifDefined(this._id)}" aria-labelledby="${ifDefined(this._id)}-invisibleText" aria-label="${ifDefined(this.accessibleListItemName)}">${ this.flag ? block17.call(this, context, tags, suffix) : undefined }${ this.typeNumber ? block18.call(this, context, tags, suffix) : undefined }${ this.typeCircle ? block19.call(this, context, tags, suffix) : undefined }${ this.typeIcon ? block20.call(this, context, tags, suffix) : undefined }${ this.image ? block21.call(this, context, tags, suffix) : undefined }<div class="udex-list__content" part="content">${ this.label ? block22.call(this, context, tags, suffix) : block24.call(this, context, tags, suffix) }</div><div class="hidden" id="${ifDefined(this._id)}-invisibleText">${ifDefined(this.accessibleListItemName)}</div></div></li>`;}
24
+ function block16 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div part="item" role="${ifDefined(this.roleItem)}" aria-selected="${ifDefined(this.selected)}" class="${ifDefined(this.className)}"><div class="udex-list__content-wrap" _id="${ifDefined(this._id)}" aria-labelledby="${ifDefined(this._id)}-invisibleText" aria-label="${ifDefined(this.accessibleListItemName)}">${ this.flag ? block17.call(this, context, tags, suffix) : undefined }${ this.typeNumber ? block18.call(this, context, tags, suffix) : undefined }${ this.typeCircle ? block19.call(this, context, tags, suffix) : undefined }${ this.typeIcon ? block20.call(this, context, tags, suffix) : undefined }${ this.image ? block21.call(this, context, tags, suffix) : undefined }<div class="udex-list__content" part="content">${ this.label ? block22.call(this, context, tags, suffix) : block24.call(this, context, tags, suffix) }</div><div class="hidden" id="${ifDefined(this._id)}-invisibleText">${ifDefined(this.accessibleListItemName)}</div><div class="hidden" id="${ifDefined(this._id)}-invisibleText-describedby">${ifDefined(this.itemState)}</div></div></div>`;}
25
25
  function block17 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-list__flag-wrap"><span class="udex-list__flag" style="background-position: ${ifDefined(this.flagPosition)}"></span></div>`;}
26
26
  function block18 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-list__number">${ifDefined(this.numberOfItem)}.</span>`;}
27
27
  function block19 (this: ListItem, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-list__circle">&#x2022;</span>`;}
@@ -5,7 +5,7 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
5
5
  import type ListSelectAll from "../../ListSelectAll.js";
6
6
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
7
7
 
8
- function block0 (this: ListSelectAll, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<ul class="udex-list__group-list"><li part="item" class="udex-list__group"><ul class="${ifDefined(this.groupListClassName)}" @ui5-item-press="${ifDefined(this.handleSelectAllGroupItemsPress)}"><${scopeTag("udex-list-item", tags, suffix)} _tab-index="${ifDefined(this._effectiveTabIndex)}" role="listitem" _additional-class-name="${ifDefined(this.additionalClassName)}" class="${ifDefined(this.className)}" ?selected="${this.selected}" aria-current="${ifDefined(this.selected)}" ?indeterminate="${this.indeterminate}" mode="${ifDefined(this.multiselectMode)}" part="group-item" @click="${this.handleSelectAllPress}" ?controlled="${this.controlled}" supporting-text="${ifDefined(this.supportingText)}" @keydown="${this.handleKeyDownPress}" accessible-role="none" divider>${ifDefined(this.selectAllLabel)}</${scopeTag("udex-list-item", tags, suffix)}><slot></slot></ul></li></ul>` : html`<ul class="udex-list__group-list"><li part="item" class="udex-list__group"><ul class="${ifDefined(this.groupListClassName)}" @ui5-item-press="${ifDefined(this.handleSelectAllGroupItemsPress)}"><udex-list-item _tab-index="${ifDefined(this._effectiveTabIndex)}" role="listitem" _additional-class-name="${ifDefined(this.additionalClassName)}" class="${ifDefined(this.className)}" ?selected="${this.selected}" aria-current="${ifDefined(this.selected)}" ?indeterminate="${this.indeterminate}" mode="${ifDefined(this.multiselectMode)}" part="group-item" @click="${this.handleSelectAllPress}" ?controlled="${this.controlled}" supporting-text="${ifDefined(this.supportingText)}" @keydown="${this.handleKeyDownPress}" accessible-role="none" divider>${ifDefined(this.selectAllLabel)}</udex-list-item><slot></slot></ul></li></ul>`;}
8
+ function block0 (this: ListSelectAll, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div part="item" class="udex-list__group" role="group" aria-labelledby="group-select-all"><div role="listbox" class="${ifDefined(this.groupListClassName)}" aria-label="select-all-group" @ui5-item-press="${ifDefined(this.handleSelectAllGroupItemsPress)}"><${scopeTag("udex-list-item", tags, suffix)} role="group" _tab-index="${ifDefined(this._effectiveTabIndex)}" _additional-class-name="${ifDefined(this.additionalClassName)}" class="${ifDefined(this.className)}" ?selected="${this.selected}" aria-current="${ifDefined(this.selected)}" ?indeterminate="${this.indeterminate}" mode="${ifDefined(this.multiselectMode)}" part="group-item" @click="${this.handleSelectAllPress}" ?controlled="${this.controlled}" supporting-text="${ifDefined(this.supportingText)}" @keydown="${this.handleKeyDownPress}" accessible-role="option" divider>${ifDefined(this.selectAllLabel)}</${scopeTag("udex-list-item", tags, suffix)}><slot></slot></div></div>` : html`<div part="item" class="udex-list__group" role="group" aria-labelledby="group-select-all"><div role="listbox" class="${ifDefined(this.groupListClassName)}" aria-label="select-all-group" @ui5-item-press="${ifDefined(this.handleSelectAllGroupItemsPress)}"><udex-list-item role="group" _tab-index="${ifDefined(this._effectiveTabIndex)}" _additional-class-name="${ifDefined(this.additionalClassName)}" class="${ifDefined(this.className)}" ?selected="${this.selected}" aria-current="${ifDefined(this.selected)}" ?indeterminate="${this.indeterminate}" mode="${ifDefined(this.multiselectMode)}" part="group-item" @click="${this.handleSelectAllPress}" ?controlled="${this.controlled}" supporting-text="${ifDefined(this.supportingText)}" @keydown="${this.handleKeyDownPress}" accessible-role="option" divider>${ifDefined(this.selectAllLabel)}</udex-list-item><slot></slot></div></div>`;}
9
9
 
10
10
  function template(this: ListSelectAll) { return block0.call(this, this, (this.constructor as typeof UI5Element).tagsToScope, getCustomElementsScopingSuffix()); }
11
11
  export default template;
@@ -6,9 +6,9 @@ import type List from "../../List.js";
6
6
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
7
7
 
8
8
  function block0 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.modeSelected ? block1.call(this, context, tags, suffix) : undefined }${ this.modeSingleContent ? block3.call(this, context, tags, suffix) : undefined } `;}
9
- function block1 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-list-root" @ui5-item-press="${ifDefined(this.handleItemPress)}" @ui5-header-press="${ifDefined(this.handleItemPress)}" @keydown="${this.handleKeyDown}" style="height: ${ifDefined(this.holderHeight)}"><div class="udex-list__scroll-container">${ this.headerText ? block2.call(this, context, tags, suffix) : undefined }<span id="${ifDefined(this._id)}-mode-label" class="udex-list__hidden-text">${ifDefined(this.ariaLabelModeText)}</span><ul id="udex-list" class="udex-list" role="${ifDefined(this.accessibleRole)}" aria-labelledby="${ifDefined(this.ariaLabelledBy)}" aria-label="${ifDefined(this.accessibleName)}" aria-busy="${ifDefined(this.ariaBusy)}"><slot></slot></ul></div></div>`;}
9
+ function block1 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-list-root" @ui5-item-press="${ifDefined(this.handleItemPress)}" @ui5-header-press="${ifDefined(this.handleItemPress)}" @keydown="${this.handleKeyDown}" style="height: ${ifDefined(this.holderHeight)}"><div class="udex-list__scroll-container">${ this.headerText ? block2.call(this, context, tags, suffix) : undefined }<span id="${ifDefined(this._id)}-mode-label" class="udex-list__hidden-text">${ifDefined(this.ariaLabelModeText)}</span><div id="udex-list" class="udex-list" role="${ifDefined(this.accessibleRole)}" aria-labelledby="${ifDefined(this.ariaLabelledBy)}" aria-label="${ifDefined(this.accessibleName)}" aria-busy="${ifDefined(this.ariaBusy)}"><slot></slot></div></div></div>`;}
10
10
  function block2 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<header class="udex-list__header-text" part="header" id="${ifDefined(this._id)}-mode-label">${ifDefined(this.headerText)}</header>`;}
11
- function block3 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.headerText ? block4.call(this, context, tags, suffix) : undefined }<ul id="udex-list" class="udex-list" role="${ifDefined(this.accessibleRole)}" aria-labelledby="${ifDefined(this.ariaLabelledBy)}" aria-label="${ifDefined(this.accessibleName)}" aria-busy="${ifDefined(this.ariaBusy)}"><slot></slot></ul>`;}
11
+ function block3 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.headerText ? block4.call(this, context, tags, suffix) : undefined }<div id="udex-list" class="udex-list" role="${ifDefined(this.accessibleRole)}" aria-labelledby="${ifDefined(this.ariaLabelledBy)}" aria-label="${ifDefined(this.accessibleName)}" aria-busy="${ifDefined(this.ariaBusy)}"><slot></slot></div>`;}
12
12
  function block4 (this: List, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<header class="udex-list__header-text" part="header" id="${ifDefined(this._id)}-mode-label">${ifDefined(this.headerText)}</header>`;}
13
13
 
14
14
  function template(this: List) { return block0.call(this, this, (this.constructor as typeof UI5Element).tagsToScope, getCustomElementsScopingSuffix()); }
@@ -8,11 +8,13 @@ import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
8
8
  function block0 (this: MastheadMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-masthead-menu ${ifDefined(this.oneRowClass)}" part="menu" @keydown="${this.handleKeyDown}">${ this.menuTitle ? block1.call(this, context, tags, suffix) : undefined }${ repeat(this.itemsList, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block2.call(this, context, tags, suffix, item, index)) }</div> `;}
9
9
  function block1 (this: MastheadMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-masthead-menu__title">${ifDefined(this.menuTitle)}</div>`;}
10
10
  function block2 (this: MastheadMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<div class="udex-masthead-menu__row">${ repeat(item.subMenuLinkItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block3.call(this, context, tags, suffix, item, index)) }</div>`;}
11
- function block3 (this: MastheadMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<div class="udex-masthead-menu__column" part="column">${ item.category ? block4.call(this, context, tags, suffix, item, index) : undefined }<ul class="udex-masthead-menu__list" aria-labelledby="category-${ifDefined(item.categoryId)}" category="${ifDefined(item.category)}">${ repeat(item.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block5.call(this, context, tags, suffix, item, index)) }</ul></div>`;}
12
- function block4 (this: MastheadMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<div class="udex-masthead-menu__header"><${scopeTag("udex-masthead-menu-item", tags, suffix)} part="menu-item" exportparts="menu-item" id="category-${ifDefined(item.categoryId)}" @click="${this.handleMenuItemClick}" url="${ifDefined(item.url)}" label="${ifDefined(item.category)}" ?icon-end="${item.url}" type="Heading" has-border></${scopeTag("udex-masthead-menu-item", tags, suffix)}></div>` : html`<div class="udex-masthead-menu__header"><udex-masthead-menu-item part="menu-item" exportparts="menu-item" id="category-${ifDefined(item.categoryId)}" @click="${this.handleMenuItemClick}" url="${ifDefined(item.url)}" label="${ifDefined(item.category)}" ?icon-end="${item.url}" type="Heading" has-border></udex-masthead-menu-item></div>`;}
13
- function block5 (this: MastheadMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<li>${ item.isDivider ? block6.call(this, context, tags, suffix, item, index) : block7.call(this, context, tags, suffix, item, index) }</li>`;}
14
- function block6 (this: MastheadMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("udex-divider", tags, suffix)} class="udex-masthead-menu__item-divider"></${scopeTag("udex-divider", tags, suffix)}>` : html`<udex-divider class="udex-masthead-menu__item-divider"></udex-divider>`;}
15
- function block7 (this: MastheadMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} part="menu-item" exportparts="menu-item" @click="${this.handleMenuItemClick}" badge="${ifDefined(item.badge)}" ?external-link="${item.externalLink}" url="${ifDefined(item.url)}" label="${ifDefined(item.title)}" exportparts="badge"></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item part="menu-item" exportparts="menu-item" @click="${this.handleMenuItemClick}" badge="${ifDefined(item.badge)}" ?external-link="${item.externalLink}" url="${ifDefined(item.url)}" label="${ifDefined(item.title)}" exportparts="badge"></udex-masthead-menu-item>`;}
11
+ function block3 (this: MastheadMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<div class="udex-masthead-menu__column" part="column">${ item.category ? block4.call(this, context, tags, suffix, item, index) : undefined }<ul class="udex-masthead-menu__list" aria-labelledby="category-${ifDefined(item.categoryId)}" category="${ifDefined(item.category)}">${ repeat(item.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block7.call(this, context, tags, suffix, item, index)) }</ul></div>`;}
12
+ function block4 (this: MastheadMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<div class="udex-masthead-menu__header">${ item.url ? block5.call(this, context, tags, suffix, item, index) : block6.call(this, context, tags, suffix, item, index) }</div>`;}
13
+ function block5 (this: MastheadMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} id="category-${ifDefined(item.categoryId)}" type="Heading" part="menu-item" exportparts="menu-item" accessible-role="link" @click="${this.handleMenuItemClick}" url="${ifDefined(item.url)}" label="${ifDefined(item.category)}" icon-end has-border></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item id="category-${ifDefined(item.categoryId)}" type="Heading" part="menu-item" exportparts="menu-item" accessible-role="link" @click="${this.handleMenuItemClick}" url="${ifDefined(item.url)}" label="${ifDefined(item.category)}" icon-end has-border></udex-masthead-menu-item>`;}
14
+ function block6 (this: MastheadMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} id="category-${ifDefined(item.categoryId)}" type="Heading" part="menu-item" exportparts="menu-item" label="${ifDefined(item.category)}" has-border></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item id="category-${ifDefined(item.categoryId)}" type="Heading" part="menu-item" exportparts="menu-item" label="${ifDefined(item.category)}" has-border></udex-masthead-menu-item>`;}
15
+ function block7 (this: MastheadMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<li>${ item.isDivider ? block8.call(this, context, tags, suffix, item, index) : block9.call(this, context, tags, suffix, item, index) }</li>`;}
16
+ function block8 (this: MastheadMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("udex-divider", tags, suffix)} class="udex-masthead-menu__item-divider"></${scopeTag("udex-divider", tags, suffix)}>` : html`<udex-divider class="udex-masthead-menu__item-divider"></udex-divider>`;}
17
+ function block9 (this: MastheadMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} part="menu-item" accessible-role="link" exportparts="menu-item" exportparts="badge" @click="${this.handleMenuItemClick}" badge="${ifDefined(item.badge)}" ?external-link="${item.externalLink}" url="${ifDefined(item.url)}" label="${ifDefined(item.title)}"></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item part="menu-item" accessible-role="link" exportparts="menu-item" exportparts="badge" @click="${this.handleMenuItemClick}" badge="${ifDefined(item.badge)}" ?external-link="${item.externalLink}" url="${ifDefined(item.url)}" label="${ifDefined(item.title)}"></udex-masthead-menu-item>`;}
16
18
 
17
19
  function template(this: MastheadMenu) { return block0.call(this, this, (this.constructor as typeof UI5Element).tagsToScope, getCustomElementsScopingSuffix()); }
18
20
  export default template;