@sapudex/web-components 2.57.0 → 2.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/cypress/specs/FilterMenu.cy.tsx +209 -19
  2. package/cypress/specs/List.cy.tsx +67 -4
  3. package/cypress/specs/ListItem.cy.tsx +35 -9
  4. package/cypress/specs/SelectBox.cy.tsx +100 -0
  5. package/cypress/specs/TabNavigation.cy.tsx +297 -21
  6. package/dist/List.d.ts +15 -1
  7. package/dist/List.js +23 -2
  8. package/dist/List.js.map +1 -1
  9. package/dist/ListGroupHeaderBase.d.ts +13 -0
  10. package/dist/ListGroupHeaderBase.js +43 -2
  11. package/dist/ListGroupHeaderBase.js.map +1 -1
  12. package/dist/ListGroupHeaderTemplate.js +26 -7
  13. package/dist/ListGroupHeaderTemplate.js.map +1 -1
  14. package/dist/ListItem.d.ts +0 -3
  15. package/dist/ListItem.js +18 -12
  16. package/dist/ListItem.js.map +1 -1
  17. package/dist/ListItemBase.d.ts +17 -0
  18. package/dist/ListItemBase.js +15 -0
  19. package/dist/ListItemBase.js.map +1 -1
  20. package/dist/ListItemTemplate.js +2 -2
  21. package/dist/ListItemTemplate.js.map +1 -1
  22. package/dist/MastheadCountrySelector.js +5 -5
  23. package/dist/MastheadCountrySelector.js.map +1 -1
  24. package/dist/MastheadCountrySelectorTemplate.d.ts +2 -0
  25. package/dist/MastheadCountrySelectorTemplate.js +15 -0
  26. package/dist/MastheadCountrySelectorTemplate.js.map +1 -0
  27. package/dist/MastheadItem.d.ts +0 -3
  28. package/dist/MastheadItem.js +3 -6
  29. package/dist/MastheadItem.js.map +1 -1
  30. package/dist/MastheadItemTemplate.d.ts +2 -0
  31. package/dist/MastheadItemTemplate.js +41 -0
  32. package/dist/MastheadItemTemplate.js.map +1 -0
  33. package/dist/MastheadMenu.d.ts +1 -0
  34. package/dist/MastheadMenu.js +4 -6
  35. package/dist/MastheadMenu.js.map +1 -1
  36. package/dist/MastheadMenuItem.d.ts +0 -3
  37. package/dist/MastheadMenuItem.js +3 -6
  38. package/dist/MastheadMenuItem.js.map +1 -1
  39. package/dist/MastheadMenuItemTemplate.d.ts +2 -0
  40. package/dist/MastheadMenuItemTemplate.js +36 -0
  41. package/dist/MastheadMenuItemTemplate.js.map +1 -0
  42. package/dist/MastheadMenuTemplate.d.ts +2 -0
  43. package/dist/MastheadMenuTemplate.js +13 -0
  44. package/dist/MastheadMenuTemplate.js.map +1 -0
  45. package/dist/MastheadMobileMenu.js +3 -3
  46. package/dist/MastheadMobileMenu.js.map +1 -1
  47. package/dist/MastheadMobileMenuTemplate.d.ts +2 -0
  48. package/dist/MastheadMobileMenuTemplate.js +33 -0
  49. package/dist/MastheadMobileMenuTemplate.js.map +1 -0
  50. package/dist/MastheadProfileMenu.d.ts +2 -4
  51. package/dist/MastheadProfileMenu.js +5 -20
  52. package/dist/MastheadProfileMenu.js.map +1 -1
  53. package/dist/MastheadProfileMenuTemplate.d.ts +2 -0
  54. package/dist/MastheadProfileMenuTemplate.js +24 -0
  55. package/dist/MastheadProfileMenuTemplate.js.map +1 -0
  56. package/dist/MastheadShell.js +3 -5
  57. package/dist/MastheadShell.js.map +1 -1
  58. package/dist/MastheadShellTemplate.d.ts +2 -0
  59. package/dist/MastheadShellTemplate.js +20 -0
  60. package/dist/MastheadShellTemplate.js.map +1 -0
  61. package/dist/SearchableListBase.d.ts +10 -0
  62. package/dist/SearchableListBase.js +34 -1
  63. package/dist/SearchableListBase.js.map +1 -1
  64. package/dist/SearchableListBaseTemplate.js +35 -4
  65. package/dist/SearchableListBaseTemplate.js.map +1 -1
  66. package/dist/SecondaryNavigation.d.ts +1 -0
  67. package/dist/SecondaryNavigation.js +20 -6
  68. package/dist/SecondaryNavigation.js.map +1 -1
  69. package/dist/SelectBase.js +8 -3
  70. package/dist/SelectBase.js.map +1 -1
  71. package/dist/Tab.d.ts +0 -7
  72. package/dist/Tab.js +4 -19
  73. package/dist/Tab.js.map +1 -1
  74. package/dist/TabHeaderTemplate.d.ts +2 -0
  75. package/dist/TabHeaderTemplate.js +15 -0
  76. package/dist/TabHeaderTemplate.js.map +1 -0
  77. package/dist/TabInOverflowTemplate.d.ts +2 -0
  78. package/dist/TabInOverflowTemplate.js +7 -0
  79. package/dist/TabInOverflowTemplate.js.map +1 -0
  80. package/dist/TabNavigation.d.ts +3 -4
  81. package/dist/TabNavigation.js +53 -40
  82. package/dist/TabNavigation.js.map +1 -1
  83. package/dist/TabNavigationPopoverTemplate.d.ts +2 -0
  84. package/dist/TabNavigationPopoverTemplate.js +9 -0
  85. package/dist/TabNavigationPopoverTemplate.js.map +1 -0
  86. package/dist/TabNavigationTemplate.d.ts +2 -0
  87. package/dist/TabNavigationTemplate.js +10 -0
  88. package/dist/TabNavigationTemplate.js.map +1 -0
  89. package/dist/TabTemplate.d.ts +2 -0
  90. package/dist/TabTemplate.js +5 -0
  91. package/dist/TabTemplate.js.map +1 -0
  92. package/dist/assets/{InputSuggestions-C8grDr_8.js → InputSuggestions-CMYjJsHw.js} +1 -1
  93. package/dist/assets/{ListItemStandardExpandableTextTemplate-BQtSr7yg.js → ListItemStandardExpandableTextTemplate-D2i8wWuR.js} +1 -1
  94. package/dist/assets/{bundle.esm-GvPkDyXP.js → bundle.esm-BjN47C_y.js} +242 -242
  95. package/dist/assets/messagebundle_en-B7YJOdQz.js +1 -0
  96. package/dist/css/themes/Button.css +1 -1
  97. package/dist/css/themes/ListGroupHeader.css +1 -1
  98. package/dist/css/themes/PromoTile.css +1 -1
  99. package/dist/css/themes/TabInOverflow.css +1 -1
  100. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  101. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  102. package/dist/generated/i18n/i18n-defaults.js +3 -1
  103. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  104. package/dist/generated/themes/Button.css.d.ts +1 -1
  105. package/dist/generated/themes/Button.css.js +1 -1
  106. package/dist/generated/themes/Button.css.js.map +1 -1
  107. package/dist/generated/themes/ListGroupHeader.css.d.ts +1 -1
  108. package/dist/generated/themes/ListGroupHeader.css.js +1 -1
  109. package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
  110. package/dist/generated/themes/PromoTile.css.d.ts +1 -1
  111. package/dist/generated/themes/PromoTile.css.js +1 -1
  112. package/dist/generated/themes/PromoTile.css.js.map +1 -1
  113. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  114. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  115. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  116. package/dist/messagebundle.properties +4 -0
  117. package/dist/messagebundle_en.properties +2 -0
  118. package/dist/web-types.json +1 -1
  119. package/package.json +1 -1
  120. package/src/List.ts +24 -2
  121. package/src/ListGroupHeaderBase.ts +44 -2
  122. package/src/ListGroupHeaderTemplate.tsx +74 -23
  123. package/src/ListItem.ts +18 -15
  124. package/src/ListItemBase.ts +30 -0
  125. package/src/ListItemTemplate.tsx +4 -4
  126. package/src/MastheadCountrySelector.ts +5 -5
  127. package/src/MastheadCountrySelectorTemplate.tsx +98 -0
  128. package/src/MastheadItem.ts +3 -6
  129. package/src/MastheadItemTemplate.tsx +178 -0
  130. package/src/MastheadMenu.ts +5 -6
  131. package/src/MastheadMenuItem.ts +3 -7
  132. package/src/MastheadMenuItemTemplate.tsx +123 -0
  133. package/src/MastheadMenuTemplate.tsx +142 -0
  134. package/src/MastheadMobileMenu.ts +3 -3
  135. package/src/MastheadMobileMenuTemplate.tsx +274 -0
  136. package/src/MastheadProfileMenu.ts +10 -23
  137. package/src/MastheadProfileMenuTemplate.tsx +143 -0
  138. package/src/MastheadShell.ts +3 -5
  139. package/src/MastheadShellTemplate.tsx +228 -0
  140. package/src/SearchableListBase.ts +37 -1
  141. package/src/SearchableListBaseTemplate.tsx +38 -2
  142. package/src/SecondaryNavigation.ts +21 -6
  143. package/src/SelectBase.ts +8 -3
  144. package/src/Tab.ts +4 -24
  145. package/src/TabHeaderTemplate.tsx +153 -0
  146. package/src/TabInOverflowTemplate.tsx +68 -0
  147. package/src/TabNavigation.ts +61 -44
  148. package/src/TabNavigationPopoverTemplate.tsx +27 -0
  149. package/src/TabNavigationTemplate.tsx +98 -0
  150. package/src/TabTemplate.tsx +7 -0
  151. package/src/generated/i18n/i18n-defaults.ts +2 -2
  152. package/src/generated/themes/Button.css.ts +1 -1
  153. package/src/generated/themes/ListGroupHeader.css.ts +1 -1
  154. package/src/generated/themes/PromoTile.css.ts +1 -1
  155. package/src/generated/themes/TabInOverflow.css.ts +1 -1
  156. package/src/i18n/messagebundle.properties +4 -0
  157. package/src/i18n/messagebundle_en.properties +2 -0
  158. package/src/themes/Button.css +2 -1
  159. package/src/themes/ListGroupHeader.css +50 -7
  160. package/src/themes/PromoTile.css +1 -0
  161. package/src/themes/TabInOverflow.css +9 -4
  162. package/dist/assets/messagebundle_en-DBpf5Il2.js +0 -1
  163. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.d.ts +0 -3
  164. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +0 -13
  165. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +0 -1
  166. package/dist/generated/templates/MastheadItemTemplate.lit.d.ts +0 -3
  167. package/dist/generated/templates/MastheadItemTemplate.lit.js +0 -43
  168. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +0 -1
  169. package/dist/generated/templates/MastheadMenuItemTemplate.lit.d.ts +0 -3
  170. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +0 -21
  171. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +0 -1
  172. package/dist/generated/templates/MastheadMenuTemplate.lit.d.ts +0 -3
  173. package/dist/generated/templates/MastheadMenuTemplate.lit.js +0 -25
  174. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +0 -1
  175. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.d.ts +0 -3
  176. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +0 -37
  177. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +0 -1
  178. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.d.ts +0 -3
  179. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +0 -18
  180. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +0 -1
  181. package/dist/generated/templates/MastheadShellTemplate.lit.d.ts +0 -3
  182. package/dist/generated/templates/MastheadShellTemplate.lit.js +0 -28
  183. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +0 -1
  184. package/dist/generated/templates/TabHeaderTemplate.lit.d.ts +0 -3
  185. package/dist/generated/templates/TabHeaderTemplate.lit.js +0 -52
  186. package/dist/generated/templates/TabHeaderTemplate.lit.js.map +0 -1
  187. package/dist/generated/templates/TabInOverflowTemplate.lit.d.ts +0 -3
  188. package/dist/generated/templates/TabInOverflowTemplate.lit.js +0 -15
  189. package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +0 -1
  190. package/dist/generated/templates/TabNavigationPopoverTemplate.lit.d.ts +0 -3
  191. package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js +0 -8
  192. package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js.map +0 -1
  193. package/dist/generated/templates/TabNavigationTemplate.lit.d.ts +0 -3
  194. package/dist/generated/templates/TabNavigationTemplate.lit.js +0 -16
  195. package/dist/generated/templates/TabNavigationTemplate.lit.js.map +0 -1
  196. package/dist/generated/templates/TabTemplate.lit.d.ts +0 -3
  197. package/dist/generated/templates/TabTemplate.lit.js +0 -7
  198. package/dist/generated/templates/TabTemplate.lit.js.map +0 -1
  199. package/src/MastheadCountrySelector.hbs +0 -76
  200. package/src/MastheadItem.hbs +0 -136
  201. package/src/MastheadMenu.hbs +0 -131
  202. package/src/MastheadMenuItem.hbs +0 -102
  203. package/src/MastheadMobileMenu.hbs +0 -253
  204. package/src/MastheadProfileMenu.hbs +0 -121
  205. package/src/MastheadShell.hbs +0 -223
  206. package/src/Tab.hbs +0 -1
  207. package/src/TabHeader.hbs +0 -141
  208. package/src/TabInOverflow.hbs +0 -59
  209. package/src/TabNavigation.hbs +0 -88
  210. package/src/TabNavigationPopover.hbs +0 -18
  211. package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +0 -17
  212. package/src/generated/templates/MastheadItemTemplate.lit.ts +0 -47
  213. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +0 -25
  214. package/src/generated/templates/MastheadMenuTemplate.lit.ts +0 -29
  215. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +0 -41
  216. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +0 -22
  217. package/src/generated/templates/MastheadShellTemplate.lit.ts +0 -32
  218. package/src/generated/templates/TabHeaderTemplate.lit.ts +0 -56
  219. package/src/generated/templates/TabInOverflowTemplate.lit.ts +0 -19
  220. package/src/generated/templates/TabNavigationPopoverTemplate.lit.ts +0 -12
  221. package/src/generated/templates/TabNavigationTemplate.lit.ts +0 -20
  222. package/src/generated/templates/TabTemplate.lit.ts +0 -11
@@ -0,0 +1,153 @@
1
+ import type UDExTab from "./Tab.js";
2
+ import type { ITab } from "./Tab.js";
3
+ import Icon from "@ui5/webcomponents/dist/Icon.js";
4
+ import UDExBadge from "./Badge.js";
5
+ import { UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTypeBadgeDesign } from "./types/BadgeDesign.js";
6
+
7
+ export default function TabHeaderTemplate(this: UDExTab) {
8
+ const tab = this as unknown as ITab;
9
+
10
+ if (this.hasBodyTextOrLink) {
11
+ return (
12
+ <div
13
+ class="udex-tab-navigation__tab-wrapper"
14
+ role="presentation"
15
+ style={this.widthStyle || undefined}>
16
+ {this.hasNotHref ? (
17
+ <button
18
+ id={this._id}
19
+ type="button"
20
+ role="tab"
21
+ class={`udex-tab-navigation__button-tab ${this.selectedClass} ${this.classWithIconWithoutBackground} ${this.buttonClassWithIcon} ${this.processTabClass}`}
22
+ tabindex={Number(this._tabIndex)}
23
+ aria-posinset={tab._posinset}
24
+ aria-setsize={tab._setsize}
25
+ aria-controls={tab._contentId}
26
+ aria-selected={this.effectiveSelected}
27
+ aria-disabled={this.ariaDisabled ? "true" : undefined}>
28
+ {tabContent.call(this)}
29
+ {this.ariaDescribedByBodyText && (
30
+ <span class="visually-hidden">{this.bodyText}</span>
31
+ )}
32
+ </button>
33
+ ) : (
34
+ <a
35
+ id={this._id}
36
+ role="tab"
37
+ class={`udex-tab-navigation__button-tab ${this.selectedClass} ${this.classWithIconWithoutBackground} ${this.buttonClassWithIcon} ${this.processTabClass}`}
38
+ href={this.href}
39
+ target={this.target}
40
+ tabindex={Number(this.linkTabIndex)}
41
+ aria-posinset={tab._posinset}
42
+ aria-setsize={tab._setsize}
43
+ aria-disabled={this.ariaDisabled ? "true" : undefined}>
44
+ {tabContent.call(this)}
45
+ {this.ariaDescribedByBodyText && (
46
+ <span class="visually-hidden">{this.bodyText}</span>
47
+ )}
48
+ </a>
49
+ )}
50
+ {this.hasBodyText && (
51
+ <p class="udex-tab-navigation__button-body-text">{this.bodyText}</p>
52
+ )}
53
+ {this.hasLinkSlot && (
54
+ <div class="udex-tab-navigation__button-links" {...({ innerHTML: this.linkSlotHtml } as object)}></div>
55
+ )}
56
+ </div>
57
+ );
58
+ }
59
+
60
+ return this.hasNotHref ? (
61
+ <button
62
+ id={this._id}
63
+ type="button"
64
+ role="tab"
65
+ class={`udex-tab-navigation__button-tab ${this.selectedClass} ${this.classWithIconWithoutBackground} ${this.buttonClassWithIcon} ${this.processTabClass}`}
66
+ tabindex={Number(this._tabIndex)}
67
+ aria-describedby={`udex-tab-navigation__${this._id}__accessible-name`}
68
+ aria-posinset={tab._posinset}
69
+ aria-setsize={tab._setsize}
70
+ aria-controls={tab._contentId}
71
+ aria-selected={this.effectiveSelected}
72
+ aria-disabled={this.ariaDisabled ? "true" : undefined}
73
+ style={this.widthStyle || undefined}>
74
+ {tabContent.call(this)}
75
+ </button>
76
+ ) : (
77
+ <a
78
+ id={this._id}
79
+ role="tab"
80
+ class={`udex-tab-navigation__button-tab ${this.selectedClass} ${this.classWithIconWithoutBackground} ${this.buttonClassWithIcon} ${this.processTabClass}`}
81
+ tabindex={Number(this.linkTabIndex)}
82
+ aria-posinset={tab._posinset}
83
+ aria-setsize={tab._setsize}
84
+ href={this.href}
85
+ target={this.target}
86
+ aria-disabled={this.ariaDisabled ? "true" : undefined}
87
+ style={this.widthStyle || undefined}>
88
+ {tabContent.call(this)}
89
+ </a>
90
+ );
91
+ }
92
+
93
+ function tabContent(this: UDExTab) {
94
+ return (
95
+ <>
96
+ {this.hasIcon && (
97
+ <span
98
+ class="udex-tab-navigation__button-icon-outer"
99
+ role="presentation"
100
+ aria-hidden="true">
101
+ <Icon
102
+ class="udex-tab-navigation__button-icon"
103
+ name={this.icon}>
104
+ </Icon>
105
+ {this.showAttentionBadge && (
106
+ <span class="udex-tab-navigation__button-badge"></span>
107
+ )}
108
+ </span>
109
+ )}
110
+ {this._isProcessTab ? (
111
+ <span class="udex-tab-navigation__button-text-block">
112
+ <span class="udex-tab-navigation__button-item-count">{this.effectiveItemCountText}</span>
113
+ <p class={`udex-tab-navigation__button-text ${this.classWithIcon}`}>
114
+ {this.text}
115
+ {this.numberBadge && (
116
+ <UDExBadge
117
+ class="udex-tab-navigation__badge"
118
+ type={UDExTypeBadgeDesign.Number}
119
+ number-design={UDExNumberBadgeDesign.Blue}
120
+ size={UDExSizeBadgeDesign.Medium}>
121
+ {this.numberBadge}
122
+ </UDExBadge>
123
+ )}
124
+ {this.hasNotIcon && (
125
+ <span class="udex-tab-navigation__button-badge"></span>
126
+ )}
127
+ </p>
128
+ </span>
129
+ ) : (
130
+ <p class={`udex-tab-navigation__button-text ${this.classWithIcon}`}>
131
+ {this.text}
132
+ {this.numberBadge && (
133
+ <UDExBadge
134
+ class="udex-tab-navigation__badge"
135
+ type={UDExTypeBadgeDesign.Number}
136
+ number-design={UDExNumberBadgeDesign.Blue}
137
+ size={UDExSizeBadgeDesign.Medium}>
138
+ {this.numberBadge}
139
+ </UDExBadge>
140
+ )}
141
+ {this.hasNotIcon && (
142
+ <span class="udex-tab-navigation__button-badge"></span>
143
+ )}
144
+ </p>
145
+ )}
146
+ <span
147
+ class="visually-hidden"
148
+ id={`udex-tab-navigation__${this._id}__accessible-name`}>
149
+ {this.accessibleNameText}
150
+ </span>
151
+ </>
152
+ );
153
+ }
@@ -0,0 +1,68 @@
1
+ import type UDExTab from "./Tab.js";
2
+ import type { ITab } from "./Tab.js";
3
+ import Icon from "@ui5/webcomponents/dist/Icon.js";
4
+
5
+ export default function TabInOverflowTemplate(this: UDExTab) {
6
+ const tab = this as unknown as ITab;
7
+
8
+ return this.hasNotHref ? (
9
+ <button
10
+ id={this._id}
11
+ class="udex-tab-overflow__button"
12
+ role="tab"
13
+ aria-selected={this.effectiveSelected}
14
+ aria-disabled={this.ariaDisabled ? "true" : undefined}
15
+ disabled={!!this.ariaDisabled}
16
+ tabindex={Number(tab._tabIndex)}>
17
+ {this.hasIcon && (
18
+ <span
19
+ class="udex-tab-overflow__button-icon"
20
+ role="presentation"
21
+ aria-hidden="true">
22
+ <Icon name={this.icon}></Icon>
23
+ {this.showAttentionBadge && (
24
+ <span class="udex-tab-overflow__button-badge"></span>
25
+ )}
26
+ </span>
27
+ )}
28
+ {this.text}
29
+ {this.hasNotIcon && (
30
+ <span
31
+ class="udex-tab-overflow__button-badge"
32
+ role="presentation"
33
+ aria-hidden="true">
34
+ </span>
35
+ )}
36
+ </button>
37
+ ) : (
38
+ <a
39
+ id={this._id}
40
+ href={this.ariaDisabled ? undefined : this.href}
41
+ target={this.target}
42
+ class="udex-tab-overflow__button"
43
+ role="tab"
44
+ aria-selected={this.effectiveSelected}
45
+ aria-disabled={this.ariaDisabled ? "true" : undefined}
46
+ tabindex={Number(tab._tabIndex)}>
47
+ {this.hasIcon && (
48
+ <span
49
+ class="udex-tab-overflow__button-icon"
50
+ role="presentation"
51
+ aria-hidden="true">
52
+ <Icon name={this.icon}></Icon>
53
+ {this.showAttentionBadge && (
54
+ <span class="udex-tab-overflow__button-badge"></span>
55
+ )}
56
+ </span>
57
+ )}
58
+ {this.text}
59
+ {this.hasNotIcon && (
60
+ <span
61
+ class="udex-tab-overflow__button-badge"
62
+ role="presentation"
63
+ aria-hidden="true">
64
+ </span>
65
+ )}
66
+ </a>
67
+ );
68
+ }
@@ -5,10 +5,9 @@ import type { StyleData } from "@ui5/webcomponents-base/dist/types.js";
5
5
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
6
6
  import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
7
7
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
8
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
8
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
9
9
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
10
10
  import Popover from "@ui5/webcomponents/dist/Popover.js";
11
- import executeTemplate from "@ui5/webcomponents-base/dist/renderer/executeTemplate.js";
12
11
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
13
12
  import {
14
13
  isUp, isDown, isRight, isLeft, isEnter, isSpace, isEscape, isHome, isEnd, isTabNext, isTabPrevious,
@@ -26,15 +25,14 @@ import "@ui5/webcomponents-icons/dist/play.js";
26
25
  import "@ui5/webcomponents-icons/dist/pause.js";
27
26
  import UDExButton from "./Button.js";
28
27
  import UDExButtonSize from "./types/ButtonSize.js";
28
+ import translate from "./utils/translate.js";
29
29
 
30
30
  // Templates
31
- import TabNavigationTemplate from "./generated/templates/TabNavigationTemplate.lit.js";
32
- import TabNavigationPopoverTemplate from "./generated/templates/TabNavigationPopoverTemplate.lit.js";
31
+ import TabNavigationTemplate from "./TabNavigationTemplate.js";
33
32
 
34
33
  // Styles
35
34
  import TabNavigationCss from "./generated/themes/TabNavigation.css.js";
36
35
  import TabInOverflowCss from "./generated/themes/TabInOverflow.css.js";
37
- import translate from "./utils/translate.js";
38
36
 
39
37
  const staticAreaTabStyles: Array<StyleData> = [];
40
38
 
@@ -92,7 +90,7 @@ type UDExTabContainerTabSelectEventDetail = {
92
90
  */
93
91
  @customElement({
94
92
  tag: "udex-tab-navigation",
95
- renderer: litRender,
93
+ renderer: jsxRenderer,
96
94
  styles: [TabNavigationCss, TabInOverflowCss],
97
95
  template: TabNavigationTemplate,
98
96
  dependencies: [Popover, Icon, UDExButton],
@@ -280,6 +278,7 @@ class UDExTabNavigation extends UI5Element {
280
278
  _maxTitleLength: number = 25;
281
279
  _maxTitleLengthInSecondLines: number = this._maxTitleLength * 2;
282
280
  _autoPlayTimer?: number;
281
+ _focusSelectedTabAfterRender: boolean = false;
283
282
 
284
283
  constructor() {
285
284
  super();
@@ -297,6 +296,11 @@ class UDExTabNavigation extends UI5Element {
297
296
  }
298
297
  this.initOutsideClick();
299
298
  this.applyTabWidthToVerticalTabs();
299
+
300
+ if (this._focusSelectedTabAfterRender) {
301
+ this._focusSelectedTabAfterRender = false;
302
+ this._selectedTab?.getTabInHeaderDomRef()?.focus();
303
+ }
300
304
  }
301
305
 
302
306
  onEnterDOM(): void {
@@ -667,10 +671,6 @@ class UDExTabNavigation extends UI5Element {
667
671
  .filter(tab => !tab.disabled)
668
672
  .map(tab => tab.getTabInHeaderDomRef()!)
669
673
  .filter(tab => !tab.hasAttribute("hidden"));
670
-
671
- if (!this.getMoreButton().hasAttribute("hidden")) {
672
- this._visibleTabs.push(this.getMoreButton());
673
- }
674
674
  }
675
675
 
676
676
  applyTabIndex() {
@@ -689,15 +689,32 @@ class UDExTabNavigation extends UI5Element {
689
689
  }
690
690
 
691
691
  handleOverflowItemClick(e: Event) {
692
- if ((e.target as HTMLElement).localName === "button") {
693
- const targetId = (e.target as HTMLElement).id;
694
- const [targetTab] = this.items.filter(item => item.__id === targetId);
695
- if (!targetTab?.disabled) {
696
- e.preventDefault();
697
- this.onItemSelect(targetId);
698
- }
692
+ const target = e.target as HTMLElement;
693
+ const { localName } = target;
694
+
695
+ if (localName !== "button" && localName !== "a") {
696
+ this.handleClosePopover();
697
+ return;
699
698
  }
699
+
700
+ const targetId = target.id;
701
+ const [targetTab] = this.items.filter(item => item.__id === targetId);
702
+
703
+ if (targetTab?.disabled) {
704
+ e.preventDefault();
705
+ e.stopPropagation();
706
+ return;
707
+ }
708
+
709
+ if (localName === "button") {
710
+ e.preventDefault();
711
+ this.onItemSelect(targetId);
712
+ }
713
+
700
714
  this.handleClosePopover();
715
+ if (localName === "button") {
716
+ this._focusSelectedTabAfterRender = true;
717
+ }
701
718
  }
702
719
 
703
720
  onItemSelect(selectedId: string) {
@@ -857,7 +874,6 @@ class UDExTabNavigation extends UI5Element {
857
874
  }
858
875
 
859
876
  handleFocusMoreButton(e: KeyboardEvent) {
860
- this.handleDownMoreButton(e);
861
877
  this.handleHomeKeyMoreButton(e);
862
878
  this.handleEnterKeyMoreButton(e);
863
879
  }
@@ -879,20 +895,12 @@ class UDExTabNavigation extends UI5Element {
879
895
  }
880
896
  }
881
897
 
882
- handleDownMoreButton(e: KeyboardEvent) {
883
- if (isDown(e) || isEnter(e)) {
884
- this._popover = this.getResponsePopover();
885
- this.handleOpenPopover();
886
- this.updateOverflowItems();
887
- }
888
- }
889
-
890
898
  onFocusFirstItemPopover() {
891
899
  if (this._popover?.open) {
892
900
  const popoverItems = this.getItemsFromPopover();
893
- const firstPopoverItem = popoverItems[0];
894
- firstPopoverItem.setAttribute("tabindex", "0");
895
- firstPopoverItem.focus();
901
+ const firstActiveItem = popoverItems.find(item => !this.isPopoverItemDisabled(item)) ?? popoverItems[0];
902
+ firstActiveItem.setAttribute("tabindex", "0");
903
+ firstActiveItem.focus();
896
904
  }
897
905
  }
898
906
 
@@ -922,8 +930,7 @@ class UDExTabNavigation extends UI5Element {
922
930
  onPreviousItemInPopover(target: HTMLElement) {
923
931
  const popoverItems = this.getItemsFromPopover();
924
932
  const currentSelectedTabIndex = this.getPopoverTabIndexById(popoverItems, target.id);
925
- const previousSelectIndex = currentSelectedTabIndex - 1 < 0 ? popoverItems.length - 1 : currentSelectedTabIndex - 1;
926
- const prevItem = popoverItems[previousSelectIndex];
933
+ const prevItem = this.findNextEnabledPopoverItem(popoverItems, currentSelectedTabIndex, -1);
927
934
 
928
935
  this.resetTabIndexItem(popoverItems[currentSelectedTabIndex]);
929
936
  prevItem.setAttribute("tabIndex", "0");
@@ -933,14 +940,29 @@ class UDExTabNavigation extends UI5Element {
933
940
  onNextItemInPopover(target: HTMLElement) {
934
941
  const popoverItems = this.getItemsFromPopover();
935
942
  const currentSelectedTabIndex = this.getPopoverTabIndexById(popoverItems, target.id);
936
- const nextSelectIndex = currentSelectedTabIndex + 1 > popoverItems.length - 1 ? 0 : currentSelectedTabIndex + 1;
937
- const nextItem = popoverItems[nextSelectIndex];
943
+ const nextItem = this.findNextEnabledPopoverItem(popoverItems, currentSelectedTabIndex, 1);
938
944
 
939
945
  this.resetTabIndexItem(popoverItems[currentSelectedTabIndex]);
940
946
  nextItem.setAttribute("tabIndex", "0");
941
947
  nextItem.focus();
942
948
  }
943
949
 
950
+ private isPopoverItemDisabled(item: HTMLElement): boolean {
951
+ return item.getAttribute("aria-disabled") === "true";
952
+ }
953
+
954
+ private findNextEnabledPopoverItem(items: HTMLElement[], currentIndex: number, direction: 1 | -1): HTMLElement {
955
+ const len = items.length;
956
+ let index = (currentIndex + direction + len) % len;
957
+ while (index !== currentIndex) {
958
+ if (!this.isPopoverItemDisabled(items[index])) {
959
+ return items[index];
960
+ }
961
+ index = (index + direction + len) % len;
962
+ }
963
+ return items[currentIndex];
964
+ }
965
+
944
966
  resetTabIndexItem(item: HTMLElement): void {
945
967
  item.setAttribute("tabIndex", "-1");
946
968
  }
@@ -969,6 +991,7 @@ class UDExTabNavigation extends UI5Element {
969
991
  if (!targetTab?.disabled) {
970
992
  this.onItemSelect(targetId);
971
993
  this.handleClosePopover();
994
+ this._focusSelectedTabAfterRender = true;
972
995
  }
973
996
  }
974
997
  }
@@ -977,7 +1000,7 @@ class UDExTabNavigation extends UI5Element {
977
1000
  if (isEscape(e)) {
978
1001
  e.preventDefault();
979
1002
  this.handleClosePopover();
980
- this._visibleTabs![this._visibleTabs!.length - 1].focus();
1003
+ this.getMoreButton().focus();
981
1004
  }
982
1005
  }
983
1006
 
@@ -985,7 +1008,8 @@ class UDExTabNavigation extends UI5Element {
985
1008
  if (isHome(e)) {
986
1009
  e.preventDefault();
987
1010
  const popoverItems = this.getItemsFromPopover();
988
- popoverItems[0].focus();
1011
+ const firstActiveItem = popoverItems.find(item => !this.isPopoverItemDisabled(item)) ?? popoverItems[0];
1012
+ firstActiveItem.focus();
989
1013
  }
990
1014
  }
991
1015
 
@@ -994,7 +1018,8 @@ class UDExTabNavigation extends UI5Element {
994
1018
  e.preventDefault();
995
1019
  e.stopPropagation();
996
1020
  const popoverItems = this.getItemsFromPopover();
997
- popoverItems[popoverItems.length - 1].focus();
1021
+ const lastActiveItem = [...popoverItems].reverse().find(item => !this.isPopoverItemDisabled(item)) ?? popoverItems[popoverItems.length - 1];
1022
+ lastActiveItem.focus();
998
1023
  }
999
1024
  }
1000
1025
 
@@ -1026,14 +1051,6 @@ class UDExTabNavigation extends UI5Element {
1026
1051
  staticAreaTabStyles.push(styles);
1027
1052
  }
1028
1053
 
1029
- static get tabNavigationPopoverTemplate() {
1030
- return TabNavigationPopoverTemplate;
1031
- }
1032
-
1033
- get tabNavigationPopover() {
1034
- return executeTemplate(UDExTabNavigation.tabNavigationPopoverTemplate, this);
1035
- }
1036
-
1037
1054
  applyTabWidthToVerticalTabs(): void {
1038
1055
  if (this.isVertical && this.tabWidth && this.tabWidth !== "auto") {
1039
1056
  this.style.setProperty("--udex-tab-header-width", this.tabWidth);
@@ -0,0 +1,27 @@
1
+ import type UDExTabNavigation from "./TabNavigation.js";
2
+ import type UDExTab from "./Tab.js";
3
+ import Popover from "@ui5/webcomponents/dist/Popover.js";
4
+ import UI5PopoverHAlign from "@ui5/webcomponents/dist/types/PopoverHorizontalAlign.js";
5
+ import UI5PopoverPlacement from "@ui5/webcomponents/dist/types/PopoverPlacement.js";
6
+ import TabInOverflowTemplate from "./TabInOverflowTemplate.js";
7
+
8
+ export default function TabNavigationPopoverTemplate(this: UDExTabNavigation) {
9
+ return (
10
+ <Popover
11
+ id={`${this._id}-overflow-popover`}
12
+ aria-orientation="vertical"
13
+ horizontal-align={UI5PopoverHAlign.End}
14
+ placement={UI5PopoverPlacement.Bottom}
15
+ onui5-open={this.onFocusFirstItemPopover}
16
+ hide-arrow
17
+ {...({ _hideHeader: true } as object)}>
18
+ <div
19
+ class="tab-navigation-popover"
20
+ onClick={this.handleOverflowItemClick}
21
+ onKeyDown={this.handleFocusPopover}
22
+ role="tablist">
23
+ {this._overflowItems.map(item => TabInOverflowTemplate.call(item as unknown as UDExTab))}
24
+ </div>
25
+ </Popover>
26
+ );
27
+ }
@@ -0,0 +1,98 @@
1
+ import type UDExTabNavigation from "./TabNavigation.js";
2
+ import type UDExTab from "./Tab.js";
3
+ import UDExButton from "./Button.js";
4
+ import UDExButtonSize from "./types/ButtonSize.js";
5
+ import UDExButtonDesign from "./types/ButtonDesign.js";
6
+ import TabNavigationPopoverTemplate from "./TabNavigationPopoverTemplate.js";
7
+ import TabHeaderTemplate from "./TabHeaderTemplate.js";
8
+
9
+ export default function TabNavigationTemplate(this: UDExTabNavigation) {
10
+ return (
11
+ <div className="udex-tab-navigation__root">
12
+ <div
13
+ id={`${this._id}-header`}
14
+ className="udex-tab-navigation__header"
15
+ part="tab-navigation-header">
16
+ {this.showPlayButton && (
17
+ <UDExButton
18
+ class="udex-tab-navigation__play-button"
19
+ design={UDExButtonDesign.Tertiary}
20
+ size={UDExButtonSize.Large}
21
+ icon={this.playBtnIcon}
22
+ tooltip={this.playBtnTooltipText}
23
+ onClick={this.onPlayButtonClick}>
24
+ </UDExButton>
25
+ )}
26
+ <div
27
+ id={`${this._id}-header-tabs`}
28
+ className="udex-tab-navigation__header-tabs"
29
+ role="tablist"
30
+ aria-labelledby={`tablist-${this._id}`}
31
+ aria-orientation={this.ariaOrientationValue as "horizontal" | "vertical"}
32
+ part="tab-navigation-header-tabs"
33
+ onClick={this.onTabClick}
34
+ onKeyDown={this.handleKeyDown}>
35
+ {this.items.map(item => (
36
+ <>
37
+ {TabHeaderTemplate.call(item as unknown as UDExTab)}
38
+ {(item as unknown as UDExTab).isMobileVertical && item.selected && (
39
+ <div
40
+ className="udex-tab-navigation__content"
41
+ part="tab-navigation-content">
42
+ <div
43
+ className="udex-tab-navigation__content-item"
44
+ id={`${item._contentId}-mobile`}
45
+ role="tabpanel"
46
+ aria-labelledby={item._id}>
47
+ <slot name={item._slotName}></slot>
48
+ </div>
49
+ </div>
50
+ )}
51
+ </>
52
+ ))}
53
+ </div>
54
+ <UDExButton
55
+ class="udex-tab-navigation__button-more"
56
+ end-icon="navigation-down-arrow"
57
+ aria-haspopup="menu"
58
+ design={UDExButtonDesign.Tertiary}
59
+ size={this.sizeMoreButton}
60
+ onClick={this.handleMoreButton}
61
+ onKeyDown={this.handleFocusMoreButton}
62
+ aria-expanded={this._isExpanded}
63
+ hidden>
64
+ {this.moreButtonText}
65
+ </UDExButton>
66
+ {!!this._overflowItems.length && TabNavigationPopoverTemplate.call(this)}
67
+ {this.showFooterSlot && (
68
+ <div className="udex-tab-navigation__footer" part="tab-navigation-footer">
69
+ <slot name="footer"></slot>
70
+ </div>
71
+ )}
72
+ </div>
73
+ <div
74
+ className="udex-tab-navigation__content"
75
+ id={`udex-${this._id}-content`}
76
+ part="tab-navigation-content">
77
+ {this.items.map(item => (
78
+ item.selected ? (
79
+ <div
80
+ className="udex-tab-navigation__content-item"
81
+ id={item._contentId}
82
+ aria-hidden={item.isMobile}
83
+ role="tabpanel"
84
+ aria-labelledby={item._id}>
85
+ <slot name={item._slotName}></slot>
86
+ </div>
87
+ ) : (
88
+ <div
89
+ className="udex-tab-navigation__content-item"
90
+ id={item._contentId}>
91
+ <slot name={item._slotName}></slot>
92
+ </div>
93
+ )
94
+ ))}
95
+ </div>
96
+ </div>
97
+ );
98
+ }
@@ -0,0 +1,7 @@
1
+ import type UDExTab from "./Tab.js";
2
+
3
+ export default function TabTemplate(this: UDExTab) {
4
+ return (
5
+ <slot></slot>
6
+ );
7
+ }
@@ -1,3 +1,3 @@
1
1
  import type { I18nText } from "@ui5/webcomponents-base/dist/i18nBundle.js";
2
- const OF: I18nText = {key: "OF", defaultText: "of"};const PAGINATION_PAGE: I18nText = {key: "PAGINATION_PAGE", defaultText: "Pagination page"};const SELECTED: I18nText = {key: "SELECTED", defaultText: "Selected"};const PREVIOUS_PAGE: I18nText = {key: "PREVIOUS_PAGE", defaultText: "Previous page"};const NEXT_PAGE: I18nText = {key: "NEXT_PAGE", defaultText: "Next page"};const CURRENT_PAGE: I18nText = {key: "CURRENT_PAGE", defaultText: "Current page"};const ACTIVATE_PAGE: I18nText = {key: "ACTIVATE_PAGE", defaultText: "Activate page number"};const BUTTON_ARIA_TYPE_PRIMARY: I18nText = {key: "BUTTON_ARIA_TYPE_PRIMARY", defaultText: "Primary"};const BUTTON_ARIA_TYPE_SECONDARY: I18nText = {key: "BUTTON_ARIA_TYPE_SECONDARY", defaultText: "Secondary"};const BUTTON_ARIA_TYPE_TERTIARY: I18nText = {key: "BUTTON_ARIA_TYPE_TERTIARY", defaultText: "Tertiary"};const BUTTON_ARIA_TYPE_WARNING: I18nText = {key: "BUTTON_ARIA_TYPE_WARNING", defaultText: "Warning"};const BUTTON_ARIA_TYPE_POSITIVE: I18nText = {key: "BUTTON_ARIA_TYPE_POSITIVE", defaultText: "Positive"};const BUTTON_ARIA_TYPE_NEGATIVE: I18nText = {key: "BUTTON_ARIA_TYPE_NEGATIVE", defaultText: "Negative"};const BUTTON_ARIA_EMPHASIZED: I18nText = {key: "BUTTON_ARIA_EMPHASIZED", defaultText: "Emphasized"};const BUTTON_ARIA_DEFAULT: I18nText = {key: "BUTTON_ARIA_DEFAULT", defaultText: "Default"};const BUTTON_ARIA_TRANSPARENT: I18nText = {key: "BUTTON_ARIA_TRANSPARENT", defaultText: "Transparent"};const BUTTON_ARIA_ATTENTION: I18nText = {key: "BUTTON_ARIA_ATTENTION", defaultText: "Attention"};const TOGGLED: I18nText = {key: "TOGGLED", defaultText: "Toggled"};const SUGGESTED_TEXT: I18nText = {key: "SUGGESTED_TEXT", defaultText: "Suggested searches"};const ACCESSIBLE_NAME_RESET_ICON: I18nText = {key: "ACCESSIBLE_NAME_RESET_ICON", defaultText: "Clear"};const ACCESSIBLE_NAME_SEARCH_ICON: I18nText = {key: "ACCESSIBLE_NAME_SEARCH_ICON", defaultText: "Search"};const TOOLTIP_RESET_BUTTON: I18nText = {key: "TOOLTIP_RESET_BUTTON", defaultText: "Clear"};const TOOLTIP_VOICE_BUTTON: I18nText = {key: "TOOLTIP_VOICE_BUTTON", defaultText: "Voice"};const TOOLTIP_SUBMIT_BUTTON: I18nText = {key: "TOOLTIP_SUBMIT_BUTTON", defaultText: "Submit"};const LISTENING: I18nText = {key: "LISTENING", defaultText: "Listening"};const AVAILABLE_VALUES: I18nText = {key: "AVAILABLE_VALUES", defaultText: "Available Values"};const RECOMMENDED_TEXT: I18nText = {key: "RECOMMENDED_TEXT", defaultText: "Recommended pages"};const EXPAND_ALL: I18nText = {key: "EXPAND_ALL", defaultText: "Expand All"};const COLLAPSE_ALL: I18nText = {key: "COLLAPSE_ALL", defaultText: "Collapse All"};const MORE: I18nText = {key: "MORE", defaultText: "More"};const ATTENTION_BADGE: I18nText = {key: "ATTENTION_BADGE", defaultText: "Attention badge"};const REVIEWS: I18nText = {key: "REVIEWS", defaultText: "reviews"};const STARS: I18nText = {key: "STARS", defaultText: "stars"};const READ_MORE: I18nText = {key: "READ_MORE", defaultText: "Read more"};const READ_LESS: I18nText = {key: "READ_LESS", defaultText: "Read less"};const SHOW_MORE: I18nText = {key: "SHOW_MORE", defaultText: "Show more"};const SHOW_LESS: I18nText = {key: "SHOW_LESS", defaultText: "Show less"};const RATING_INDICATOR_TEXT: I18nText = {key: "RATING_INDICATOR_TEXT", defaultText: "Rating Indicator"};const RATING_INDICATOR_TOOLTIP_TEXT: I18nText = {key: "RATING_INDICATOR_TOOLTIP_TEXT", defaultText: "Rating"};const RATING_INDICATOR_ARIA_DESCRIPTION: I18nText = {key: "RATING_INDICATOR_ARIA_DESCRIPTION", defaultText: "Required"};const TOTAL: I18nText = {key: "TOTAL", defaultText: "Total"};const RATING_COUNT_TITLE: I18nText = {key: "RATING_COUNT_TITLE", defaultText: "Rating"};const MESSAGE_STRIP_CLOSE_BUTTON: I18nText = {key: "MESSAGE_STRIP_CLOSE_BUTTON", defaultText: "Message Strip Close Button"};const MESSAGE_STRIP_INFORMATION: I18nText = {key: "MESSAGE_STRIP_INFORMATION", defaultText: "Information Bar"};const MESSAGE_STRIP_SUCCESS: I18nText = {key: "MESSAGE_STRIP_SUCCESS", defaultText: "Positive Bar"};const MESSAGE_STRIP_WARNING: I18nText = {key: "MESSAGE_STRIP_WARNING", defaultText: "Warning Bar"};const MESSAGE_STRIP_ERROR: I18nText = {key: "MESSAGE_STRIP_ERROR", defaultText: "Negative Bar"};const MESSAGE_STRIP_ACTION: I18nText = {key: "MESSAGE_STRIP_ACTION", defaultText: "Action Bar"};const ARIA_LABEL_LIST_MULTISELECTABLE: I18nText = {key: "ARIA_LABEL_LIST_MULTISELECTABLE", defaultText: "Contains Multi-Selectable Items"};const ARIA_LABEL_LIST_SELECTABLE: I18nText = {key: "ARIA_LABEL_LIST_SELECTABLE", defaultText: "Contains Selectable Items"};const UNSELECTED: I18nText = {key: "UNSELECTED", defaultText: "Unselected"};const INDETERMINATE: I18nText = {key: "INDETERMINATE", defaultText: "Indeterminate"};const TEXTAREA_CHARACTERS_LEFT: I18nText = {key: "TEXTAREA_CHARACTERS_LEFT", defaultText: "{0} characters remaining"};const VALUE_STATE_TYPE_ERROR: I18nText = {key: "VALUE_STATE_TYPE_ERROR", defaultText: "Field State Error"};const VALUE_STATE_TYPE_WARNING: I18nText = {key: "VALUE_STATE_TYPE_WARNING", defaultText: "Field State Warning"};const VALUE_STATE_TYPE_SUCCESS: I18nText = {key: "VALUE_STATE_TYPE_SUCCESS", defaultText: "Field State Success"};const TEXT_FIELD: I18nText = {key: "TEXT_FIELD", defaultText: "Text field"};const CAROUSEL_PREVIOUS_ARROW_TEXT: I18nText = {key: "CAROUSEL_PREVIOUS_ARROW_TEXT", defaultText: "Previous Page"};const CAROUSEL_NEXT_ARROW_TEXT: I18nText = {key: "CAROUSEL_NEXT_ARROW_TEXT", defaultText: "Next Page"};const CAROUSEL_AUTOPLAY_TOGGLE_START: I18nText = {key: "CAROUSEL_AUTOPLAY_TOGGLE_START", defaultText: "Start carousel autoplay"};const CAROUSEL_AUTOPLAY_TOGGLE_STOP: I18nText = {key: "CAROUSEL_AUTOPLAY_TOGGLE_STOP", defaultText: "Stop carousel autoplay"};const SHOW_RESULTS: I18nText = {key: "SHOW_RESULTS", defaultText: "Show Results"};const RESET: I18nText = {key: "RESET", defaultText: "Reset"};const LOCATION: I18nText = {key: "LOCATION", defaultText: "Location"};const SELECT_OPTIONS: I18nText = {key: "SELECT_OPTIONS", defaultText: "Select Options"};const SELECT_ALL: I18nText = {key: "SELECT_ALL", defaultText: "Select All"};const BREADCRUMBS_ARIA_LABEL: I18nText = {key: "BREADCRUMBS_ARIA_LABEL", defaultText: "Breadcrumb Trail"};const BREADCRUMBS_OVERFLOW_ARIA_LABEL: I18nText = {key: "BREADCRUMBS_OVERFLOW_ARIA_LABEL", defaultText: "More"};const STEPINPUT_INC_ICON_TITLE: I18nText = {key: "STEPINPUT_INC_ICON_TITLE", defaultText: "Increase by"};const STEPINPUT_DEC_ICON_TITLE: I18nText = {key: "STEPINPUT_DEC_ICON_TITLE", defaultText: "Decrease by"};const NO_MATCHES_FOUND: I18nText = {key: "NO_MATCHES_FOUND", defaultText: "No matches found."};const RESULT_RETURNED: I18nText = {key: "RESULT_RETURNED", defaultText: "results returned."};const VALUE_STATE_ERROR: I18nText = {key: "VALUE_STATE_ERROR", defaultText: "Invalid entry"};const VALUE_STATE_WARNING: I18nText = {key: "VALUE_STATE_WARNING", defaultText: "Warning issued"};const VALUE_STATE_INFORMATION: I18nText = {key: "VALUE_STATE_INFORMATION", defaultText: "Informative entry"};const VALUE_STATE_SUCCESS: I18nText = {key: "VALUE_STATE_SUCCESS", defaultText: "Entry successfully validated"};const READ_ONLY: I18nText = {key: "READ_ONLY", defaultText: "Read only"};const MAIN_LINKS: I18nText = {key: "MAIN_LINKS", defaultText: "main links"};const BACK_TO_REGION_LIST: I18nText = {key: "BACK_TO_REGION_LIST", defaultText: "back to region list"};const OPENS_IN_A_NEW_WINDOW: I18nText = {key: "OPENS_IN_A_NEW_WINDOW", defaultText: "opens in a new window"};const LOGOUT: I18nText = {key: "LOGOUT", defaultText: "Logout"};const PROFILE: I18nText = {key: "PROFILE", defaultText: "Profile"};const SWITCH_ACCOUNT: I18nText = {key: "SWITCH_ACCOUNT", defaultText: "Switch account"};const BACK: I18nText = {key: "BACK", defaultText: "Back"};const OTHER_IDENTITIES: I18nText = {key: "OTHER_IDENTITIES", defaultText: "Other identities"};const ADD_OR_REMOVE_ACCOUNT: I18nText = {key: "ADD_OR_REMOVE_ACCOUNT", defaultText: "Add or remove account"};const COUNTRY_SELECT: I18nText = {key: "COUNTRY_SELECT", defaultText: "Select country"};const OVERVIEW: I18nText = {key: "OVERVIEW", defaultText: "Overview"};const CART: I18nText = {key: "CART", defaultText: "Cart"};const COUNTRY_SELECTOR: I18nText = {key: "COUNTRY_SELECTOR", defaultText: "Country Selector"};const SUPPORT: I18nText = {key: "SUPPORT", defaultText: "Support"};const SEARCH: I18nText = {key: "SEARCH", defaultText: "Search"};const SHOW_PASSWORD: I18nText = {key: "SHOW_PASSWORD", defaultText: "Show password"};const HIDE_PASSWORD: I18nText = {key: "HIDE_PASSWORD", defaultText: "Hide password"};const PHONE_NUMBER: I18nText = {key: "PHONE_NUMBER", defaultText: "Phone number"};const EMAIL: I18nText = {key: "EMAIL", defaultText: "Email"};const CHAT_WITH_US: I18nText = {key: "CHAT_WITH_US", defaultText: "Chat with us"};const ASK_JOULE: I18nText = {key: "ASK_JOULE", defaultText: "Ask Joule"};const QUICK_LINKS: I18nText = {key: "QUICK_LINKS", defaultText: "Quick Links"};const TRENDING: I18nText = {key: "TRENDING", defaultText: "Trending"};const ABOUT_SAP: I18nText = {key: "ABOUT_SAP", defaultText: "About SAP"};const SITE_INFORMATION: I18nText = {key: "SITE_INFORMATION", defaultText: "Site Information"};const SEE_COMPLETE_LIST: I18nText = {key: "SEE_COMPLETE_LIST", defaultText: "Or see our complete list of"};const LOCAL_COUNTRY_NAMES: I18nText = {key: "LOCAL_COUNTRY_NAMES", defaultText: "local country numbers"};const COPYRIGHT: I18nText = {key: "COPYRIGHT", defaultText: "© {0} SAP SE or an SAP affiliate company. All rights reserved."};const BACK_TO_TOP: I18nText = {key: "BACK_TO_TOP", defaultText: "Back to top"};const PUBLIC_SECURITY_NETWORK_NUMBER: I18nText = {key: "PUBLIC_SECURITY_NETWORK_NUMBER", defaultText: ""};const ICP_NUMBER: I18nText = {key: "ICP_NUMBER", defaultText: ""};const AVATAR_TEXT: I18nText = {key: "AVATAR_TEXT", defaultText: "Avatar"};const DISABLED: I18nText = {key: "DISABLED", defaultText: "Disabled"};const STATUS_BADGE_TEXT: I18nText = {key: "STATUS_BADGE_TEXT", defaultText: "Status Badge"};const STATUS_BADGE_EDIT_TITLE: I18nText = {key: "STATUS_BADGE_EDIT_TITLE", defaultText: "Click to edit profile"};const STATUS_BADGE_INFORMATION_TITLE: I18nText = {key: "STATUS_BADGE_INFORMATION_TITLE", defaultText: "Click to open profile information"};const STATUS_BADGE_WARNING_TITLE: I18nText = {key: "STATUS_BADGE_WARNING_TITLE", defaultText: "Warning, potential risk with the profile"};const STATUS_BADGE_ERROR_TITLE: I18nText = {key: "STATUS_BADGE_ERROR_TITLE", defaultText: "There is an error with the profile"};const STATUS_BADGE_SUCCESS_TITLE: I18nText = {key: "STATUS_BADGE_SUCCESS_TITLE", defaultText: "Successfully verified profile"};const CALENDAR_ICON: I18nText = {key: "CALENDAR_ICON", defaultText: "Open Calendar icon"};const DATEPICKER_DATE_DESCRIPTION: I18nText = {key: "DATEPICKER_DATE_DESCRIPTION", defaultText: "Date Input"};const TABLE_NO_DATA_FOUND: I18nText = {key: "TABLE_NO_DATA_FOUND", defaultText: "No data found"};const EXPAND: I18nText = {key: "EXPAND", defaultText: "Expand"};const COLLAPSE: I18nText = {key: "COLLAPSE", defaultText: "Collapse"};const BACK_BUTTON_LABEL: I18nText = {key: "BACK_BUTTON_LABEL", defaultText: "return back"};const UPLOADING_FILE_STATUS_TEXT: I18nText = {key: "UPLOADING_FILE_STATUS_TEXT", defaultText: "Uploading"};const TERMINATED_FILE_STATUS_TEXT: I18nText = {key: "TERMINATED_FILE_STATUS_TEXT", defaultText: "Terminated"};const REMOVE_FILE_TEXT: I18nText = {key: "REMOVE_FILE_TEXT", defaultText: "Remove file"};const UPLOAD_BUTTON_LABEL: I18nText = {key: "UPLOAD_BUTTON_LABEL", defaultText: "Upload file"};const COMPLETE_LIST_OF: I18nText = {key: "COMPLETE_LIST_OF", defaultText: "Complete list of"};const CALL_US_TODAY: I18nText = {key: "CALL_US_TODAY", defaultText: "Call us today!"};const CONTACT_US: I18nText = {key: "CONTACT_US", defaultText: "Contact us"};const SOCIAL_MEDIA_BUTTON: I18nText = {key: "SOCIAL_MEDIA_BUTTON", defaultText: "Social Media Button"};const PROMO_TILE: I18nText = {key: "PROMO_TILE", defaultText: "Promo Tile"};const PROMO_TILE_ICON: I18nText = {key: "PROMO_TILE_ICON", defaultText: "Promo Tile Icon"};const PLAY_BUTTON_ACCESSIBLE_NAME: I18nText = {key: "PLAY_BUTTON_ACCESSIBLE_NAME", defaultText: "Start button to begin customer logos rotation"};const PAUSE_BUTTON_ACCESSIBLE_NAME: I18nText = {key: "PAUSE_BUTTON_ACCESSIBLE_NAME", defaultText: "Pause button to stop customer logos rotation"};const TOAST_CLOSE_ACCESSIBLE_NAME: I18nText = {key: "TOAST_CLOSE_ACCESSIBLE_NAME", defaultText: "Close"};
3
- export {OF,PAGINATION_PAGE,SELECTED,PREVIOUS_PAGE,NEXT_PAGE,CURRENT_PAGE,ACTIVATE_PAGE,BUTTON_ARIA_TYPE_PRIMARY,BUTTON_ARIA_TYPE_SECONDARY,BUTTON_ARIA_TYPE_TERTIARY,BUTTON_ARIA_TYPE_WARNING,BUTTON_ARIA_TYPE_POSITIVE,BUTTON_ARIA_TYPE_NEGATIVE,BUTTON_ARIA_EMPHASIZED,BUTTON_ARIA_DEFAULT,BUTTON_ARIA_TRANSPARENT,BUTTON_ARIA_ATTENTION,TOGGLED,SUGGESTED_TEXT,ACCESSIBLE_NAME_RESET_ICON,ACCESSIBLE_NAME_SEARCH_ICON,TOOLTIP_RESET_BUTTON,TOOLTIP_VOICE_BUTTON,TOOLTIP_SUBMIT_BUTTON,LISTENING,AVAILABLE_VALUES,RECOMMENDED_TEXT,EXPAND_ALL,COLLAPSE_ALL,MORE,ATTENTION_BADGE,REVIEWS,STARS,READ_MORE,READ_LESS,SHOW_MORE,SHOW_LESS,RATING_INDICATOR_TEXT,RATING_INDICATOR_TOOLTIP_TEXT,RATING_INDICATOR_ARIA_DESCRIPTION,TOTAL,RATING_COUNT_TITLE,MESSAGE_STRIP_CLOSE_BUTTON,MESSAGE_STRIP_INFORMATION,MESSAGE_STRIP_SUCCESS,MESSAGE_STRIP_WARNING,MESSAGE_STRIP_ERROR,MESSAGE_STRIP_ACTION,ARIA_LABEL_LIST_MULTISELECTABLE,ARIA_LABEL_LIST_SELECTABLE,UNSELECTED,INDETERMINATE,TEXTAREA_CHARACTERS_LEFT,VALUE_STATE_TYPE_ERROR,VALUE_STATE_TYPE_WARNING,VALUE_STATE_TYPE_SUCCESS,TEXT_FIELD,CAROUSEL_PREVIOUS_ARROW_TEXT,CAROUSEL_NEXT_ARROW_TEXT,CAROUSEL_AUTOPLAY_TOGGLE_START,CAROUSEL_AUTOPLAY_TOGGLE_STOP,SHOW_RESULTS,RESET,LOCATION,SELECT_OPTIONS,SELECT_ALL,BREADCRUMBS_ARIA_LABEL,BREADCRUMBS_OVERFLOW_ARIA_LABEL,STEPINPUT_INC_ICON_TITLE,STEPINPUT_DEC_ICON_TITLE,NO_MATCHES_FOUND,RESULT_RETURNED,VALUE_STATE_ERROR,VALUE_STATE_WARNING,VALUE_STATE_INFORMATION,VALUE_STATE_SUCCESS,READ_ONLY,MAIN_LINKS,BACK_TO_REGION_LIST,OPENS_IN_A_NEW_WINDOW,LOGOUT,PROFILE,SWITCH_ACCOUNT,BACK,OTHER_IDENTITIES,ADD_OR_REMOVE_ACCOUNT,COUNTRY_SELECT,OVERVIEW,CART,COUNTRY_SELECTOR,SUPPORT,SEARCH,SHOW_PASSWORD,HIDE_PASSWORD,PHONE_NUMBER,EMAIL,CHAT_WITH_US,ASK_JOULE,QUICK_LINKS,TRENDING,ABOUT_SAP,SITE_INFORMATION,SEE_COMPLETE_LIST,LOCAL_COUNTRY_NAMES,COPYRIGHT,BACK_TO_TOP,PUBLIC_SECURITY_NETWORK_NUMBER,ICP_NUMBER,AVATAR_TEXT,DISABLED,STATUS_BADGE_TEXT,STATUS_BADGE_EDIT_TITLE,STATUS_BADGE_INFORMATION_TITLE,STATUS_BADGE_WARNING_TITLE,STATUS_BADGE_ERROR_TITLE,STATUS_BADGE_SUCCESS_TITLE,CALENDAR_ICON,DATEPICKER_DATE_DESCRIPTION,TABLE_NO_DATA_FOUND,EXPAND,COLLAPSE,BACK_BUTTON_LABEL,UPLOADING_FILE_STATUS_TEXT,TERMINATED_FILE_STATUS_TEXT,REMOVE_FILE_TEXT,UPLOAD_BUTTON_LABEL,COMPLETE_LIST_OF,CALL_US_TODAY,CONTACT_US,SOCIAL_MEDIA_BUTTON,PROMO_TILE,PROMO_TILE_ICON,PLAY_BUTTON_ACCESSIBLE_NAME,PAUSE_BUTTON_ACCESSIBLE_NAME,TOAST_CLOSE_ACCESSIBLE_NAME};
2
+ const OF: I18nText = {key: "OF", defaultText: "of"};const PAGINATION_PAGE: I18nText = {key: "PAGINATION_PAGE", defaultText: "Pagination page"};const SELECTED: I18nText = {key: "SELECTED", defaultText: "Selected"};const PREVIOUS_PAGE: I18nText = {key: "PREVIOUS_PAGE", defaultText: "Previous page"};const NEXT_PAGE: I18nText = {key: "NEXT_PAGE", defaultText: "Next page"};const CURRENT_PAGE: I18nText = {key: "CURRENT_PAGE", defaultText: "Current page"};const ACTIVATE_PAGE: I18nText = {key: "ACTIVATE_PAGE", defaultText: "Activate page number"};const BUTTON_ARIA_TYPE_PRIMARY: I18nText = {key: "BUTTON_ARIA_TYPE_PRIMARY", defaultText: "Primary"};const BUTTON_ARIA_TYPE_SECONDARY: I18nText = {key: "BUTTON_ARIA_TYPE_SECONDARY", defaultText: "Secondary"};const BUTTON_ARIA_TYPE_TERTIARY: I18nText = {key: "BUTTON_ARIA_TYPE_TERTIARY", defaultText: "Tertiary"};const BUTTON_ARIA_TYPE_WARNING: I18nText = {key: "BUTTON_ARIA_TYPE_WARNING", defaultText: "Warning"};const BUTTON_ARIA_TYPE_POSITIVE: I18nText = {key: "BUTTON_ARIA_TYPE_POSITIVE", defaultText: "Positive"};const BUTTON_ARIA_TYPE_NEGATIVE: I18nText = {key: "BUTTON_ARIA_TYPE_NEGATIVE", defaultText: "Negative"};const BUTTON_ARIA_EMPHASIZED: I18nText = {key: "BUTTON_ARIA_EMPHASIZED", defaultText: "Emphasized"};const BUTTON_ARIA_DEFAULT: I18nText = {key: "BUTTON_ARIA_DEFAULT", defaultText: "Default"};const BUTTON_ARIA_TRANSPARENT: I18nText = {key: "BUTTON_ARIA_TRANSPARENT", defaultText: "Transparent"};const BUTTON_ARIA_ATTENTION: I18nText = {key: "BUTTON_ARIA_ATTENTION", defaultText: "Attention"};const TOGGLED: I18nText = {key: "TOGGLED", defaultText: "Toggled"};const SUGGESTED_TEXT: I18nText = {key: "SUGGESTED_TEXT", defaultText: "Suggested searches"};const ACCESSIBLE_NAME_RESET_ICON: I18nText = {key: "ACCESSIBLE_NAME_RESET_ICON", defaultText: "Clear"};const ACCESSIBLE_NAME_SEARCH_ICON: I18nText = {key: "ACCESSIBLE_NAME_SEARCH_ICON", defaultText: "Search"};const TOOLTIP_RESET_BUTTON: I18nText = {key: "TOOLTIP_RESET_BUTTON", defaultText: "Clear"};const TOOLTIP_VOICE_BUTTON: I18nText = {key: "TOOLTIP_VOICE_BUTTON", defaultText: "Voice"};const TOOLTIP_SUBMIT_BUTTON: I18nText = {key: "TOOLTIP_SUBMIT_BUTTON", defaultText: "Submit"};const LISTENING: I18nText = {key: "LISTENING", defaultText: "Listening"};const AVAILABLE_VALUES: I18nText = {key: "AVAILABLE_VALUES", defaultText: "Available Values"};const RECOMMENDED_TEXT: I18nText = {key: "RECOMMENDED_TEXT", defaultText: "Recommended pages"};const EXPAND_ALL: I18nText = {key: "EXPAND_ALL", defaultText: "Expand All"};const COLLAPSE_ALL: I18nText = {key: "COLLAPSE_ALL", defaultText: "Collapse All"};const MORE: I18nText = {key: "MORE", defaultText: "More"};const ATTENTION_BADGE: I18nText = {key: "ATTENTION_BADGE", defaultText: "Attention badge"};const REVIEWS: I18nText = {key: "REVIEWS", defaultText: "reviews"};const STARS: I18nText = {key: "STARS", defaultText: "stars"};const READ_MORE: I18nText = {key: "READ_MORE", defaultText: "Read more"};const READ_LESS: I18nText = {key: "READ_LESS", defaultText: "Read less"};const SHOW_MORE: I18nText = {key: "SHOW_MORE", defaultText: "Show more"};const SHOW_LESS: I18nText = {key: "SHOW_LESS", defaultText: "Show less"};const RATING_INDICATOR_TEXT: I18nText = {key: "RATING_INDICATOR_TEXT", defaultText: "Rating Indicator"};const RATING_INDICATOR_TOOLTIP_TEXT: I18nText = {key: "RATING_INDICATOR_TOOLTIP_TEXT", defaultText: "Rating"};const RATING_INDICATOR_ARIA_DESCRIPTION: I18nText = {key: "RATING_INDICATOR_ARIA_DESCRIPTION", defaultText: "Required"};const TOTAL: I18nText = {key: "TOTAL", defaultText: "Total"};const RATING_COUNT_TITLE: I18nText = {key: "RATING_COUNT_TITLE", defaultText: "Rating"};const MESSAGE_STRIP_CLOSE_BUTTON: I18nText = {key: "MESSAGE_STRIP_CLOSE_BUTTON", defaultText: "Message Strip Close Button"};const MESSAGE_STRIP_INFORMATION: I18nText = {key: "MESSAGE_STRIP_INFORMATION", defaultText: "Information Bar"};const MESSAGE_STRIP_SUCCESS: I18nText = {key: "MESSAGE_STRIP_SUCCESS", defaultText: "Positive Bar"};const MESSAGE_STRIP_WARNING: I18nText = {key: "MESSAGE_STRIP_WARNING", defaultText: "Warning Bar"};const MESSAGE_STRIP_ERROR: I18nText = {key: "MESSAGE_STRIP_ERROR", defaultText: "Negative Bar"};const MESSAGE_STRIP_ACTION: I18nText = {key: "MESSAGE_STRIP_ACTION", defaultText: "Action Bar"};const ARIA_LABEL_LIST_MULTISELECTABLE: I18nText = {key: "ARIA_LABEL_LIST_MULTISELECTABLE", defaultText: "Contains Multi-Selectable Items"};const ARIA_LABEL_LIST_SELECTABLE: I18nText = {key: "ARIA_LABEL_LIST_SELECTABLE", defaultText: "Contains Selectable Items"};const UNSELECTED: I18nText = {key: "UNSELECTED", defaultText: "Unselected"};const INDETERMINATE: I18nText = {key: "INDETERMINATE", defaultText: "Indeterminate"};const TEXTAREA_CHARACTERS_LEFT: I18nText = {key: "TEXTAREA_CHARACTERS_LEFT", defaultText: "{0} characters remaining"};const VALUE_STATE_TYPE_ERROR: I18nText = {key: "VALUE_STATE_TYPE_ERROR", defaultText: "Field State Error"};const VALUE_STATE_TYPE_WARNING: I18nText = {key: "VALUE_STATE_TYPE_WARNING", defaultText: "Field State Warning"};const VALUE_STATE_TYPE_SUCCESS: I18nText = {key: "VALUE_STATE_TYPE_SUCCESS", defaultText: "Field State Success"};const TEXT_FIELD: I18nText = {key: "TEXT_FIELD", defaultText: "Text field"};const CAROUSEL_PREVIOUS_ARROW_TEXT: I18nText = {key: "CAROUSEL_PREVIOUS_ARROW_TEXT", defaultText: "Previous Page"};const CAROUSEL_NEXT_ARROW_TEXT: I18nText = {key: "CAROUSEL_NEXT_ARROW_TEXT", defaultText: "Next Page"};const CAROUSEL_AUTOPLAY_TOGGLE_START: I18nText = {key: "CAROUSEL_AUTOPLAY_TOGGLE_START", defaultText: "Start carousel autoplay"};const CAROUSEL_AUTOPLAY_TOGGLE_STOP: I18nText = {key: "CAROUSEL_AUTOPLAY_TOGGLE_STOP", defaultText: "Stop carousel autoplay"};const SHOW_RESULTS: I18nText = {key: "SHOW_RESULTS", defaultText: "Show Results"};const RESET: I18nText = {key: "RESET", defaultText: "Reset"};const LOCATION: I18nText = {key: "LOCATION", defaultText: "Location"};const SELECT_OPTIONS: I18nText = {key: "SELECT_OPTIONS", defaultText: "Select Options"};const SELECT_ALL: I18nText = {key: "SELECT_ALL", defaultText: "Select All"};const BREADCRUMBS_ARIA_LABEL: I18nText = {key: "BREADCRUMBS_ARIA_LABEL", defaultText: "Breadcrumb Trail"};const BREADCRUMBS_OVERFLOW_ARIA_LABEL: I18nText = {key: "BREADCRUMBS_OVERFLOW_ARIA_LABEL", defaultText: "More"};const STEPINPUT_INC_ICON_TITLE: I18nText = {key: "STEPINPUT_INC_ICON_TITLE", defaultText: "Increase by"};const STEPINPUT_DEC_ICON_TITLE: I18nText = {key: "STEPINPUT_DEC_ICON_TITLE", defaultText: "Decrease by"};const NO_MATCHES_FOUND: I18nText = {key: "NO_MATCHES_FOUND", defaultText: "No matches found."};const RESULT_RETURNED: I18nText = {key: "RESULT_RETURNED", defaultText: "results returned."};const VALUE_STATE_ERROR: I18nText = {key: "VALUE_STATE_ERROR", defaultText: "Invalid entry"};const VALUE_STATE_WARNING: I18nText = {key: "VALUE_STATE_WARNING", defaultText: "Warning issued"};const VALUE_STATE_INFORMATION: I18nText = {key: "VALUE_STATE_INFORMATION", defaultText: "Informative entry"};const VALUE_STATE_SUCCESS: I18nText = {key: "VALUE_STATE_SUCCESS", defaultText: "Entry successfully validated"};const READ_ONLY: I18nText = {key: "READ_ONLY", defaultText: "Read only"};const MAIN_LINKS: I18nText = {key: "MAIN_LINKS", defaultText: "main links"};const BACK_TO_REGION_LIST: I18nText = {key: "BACK_TO_REGION_LIST", defaultText: "back to region list"};const OPENS_IN_A_NEW_WINDOW: I18nText = {key: "OPENS_IN_A_NEW_WINDOW", defaultText: "opens in a new window"};const LOGOUT: I18nText = {key: "LOGOUT", defaultText: "Logout"};const PROFILE: I18nText = {key: "PROFILE", defaultText: "Profile"};const SWITCH_ACCOUNT: I18nText = {key: "SWITCH_ACCOUNT", defaultText: "Switch account"};const BACK: I18nText = {key: "BACK", defaultText: "Back"};const OTHER_IDENTITIES: I18nText = {key: "OTHER_IDENTITIES", defaultText: "Other identities"};const ADD_OR_REMOVE_ACCOUNT: I18nText = {key: "ADD_OR_REMOVE_ACCOUNT", defaultText: "Add or remove account"};const COUNTRY_SELECT: I18nText = {key: "COUNTRY_SELECT", defaultText: "Select country"};const OVERVIEW: I18nText = {key: "OVERVIEW", defaultText: "Overview"};const CART: I18nText = {key: "CART", defaultText: "Cart"};const COUNTRY_SELECTOR: I18nText = {key: "COUNTRY_SELECTOR", defaultText: "Country Selector"};const SUPPORT: I18nText = {key: "SUPPORT", defaultText: "Support"};const SEARCH: I18nText = {key: "SEARCH", defaultText: "Search"};const SHOW_PASSWORD: I18nText = {key: "SHOW_PASSWORD", defaultText: "Show password"};const HIDE_PASSWORD: I18nText = {key: "HIDE_PASSWORD", defaultText: "Hide password"};const PHONE_NUMBER: I18nText = {key: "PHONE_NUMBER", defaultText: "Phone number"};const EMAIL: I18nText = {key: "EMAIL", defaultText: "Email"};const CHAT_WITH_US: I18nText = {key: "CHAT_WITH_US", defaultText: "Chat with us"};const ASK_JOULE: I18nText = {key: "ASK_JOULE", defaultText: "Ask Joule"};const QUICK_LINKS: I18nText = {key: "QUICK_LINKS", defaultText: "Quick Links"};const TRENDING: I18nText = {key: "TRENDING", defaultText: "Trending"};const ABOUT_SAP: I18nText = {key: "ABOUT_SAP", defaultText: "About SAP"};const SITE_INFORMATION: I18nText = {key: "SITE_INFORMATION", defaultText: "Site Information"};const SEE_COMPLETE_LIST: I18nText = {key: "SEE_COMPLETE_LIST", defaultText: "Or see our complete list of"};const LOCAL_COUNTRY_NAMES: I18nText = {key: "LOCAL_COUNTRY_NAMES", defaultText: "local country numbers"};const COPYRIGHT: I18nText = {key: "COPYRIGHT", defaultText: "© {0} SAP SE or an SAP affiliate company. All rights reserved."};const BACK_TO_TOP: I18nText = {key: "BACK_TO_TOP", defaultText: "Back to top"};const PUBLIC_SECURITY_NETWORK_NUMBER: I18nText = {key: "PUBLIC_SECURITY_NETWORK_NUMBER", defaultText: ""};const ICP_NUMBER: I18nText = {key: "ICP_NUMBER", defaultText: ""};const AVATAR_TEXT: I18nText = {key: "AVATAR_TEXT", defaultText: "Avatar"};const DISABLED: I18nText = {key: "DISABLED", defaultText: "Disabled"};const STATUS_BADGE_TEXT: I18nText = {key: "STATUS_BADGE_TEXT", defaultText: "Status Badge"};const STATUS_BADGE_EDIT_TITLE: I18nText = {key: "STATUS_BADGE_EDIT_TITLE", defaultText: "Click to edit profile"};const STATUS_BADGE_INFORMATION_TITLE: I18nText = {key: "STATUS_BADGE_INFORMATION_TITLE", defaultText: "Click to open profile information"};const STATUS_BADGE_WARNING_TITLE: I18nText = {key: "STATUS_BADGE_WARNING_TITLE", defaultText: "Warning, potential risk with the profile"};const STATUS_BADGE_ERROR_TITLE: I18nText = {key: "STATUS_BADGE_ERROR_TITLE", defaultText: "There is an error with the profile"};const STATUS_BADGE_SUCCESS_TITLE: I18nText = {key: "STATUS_BADGE_SUCCESS_TITLE", defaultText: "Successfully verified profile"};const CALENDAR_ICON: I18nText = {key: "CALENDAR_ICON", defaultText: "Open Calendar icon"};const DATEPICKER_DATE_DESCRIPTION: I18nText = {key: "DATEPICKER_DATE_DESCRIPTION", defaultText: "Date Input"};const TABLE_NO_DATA_FOUND: I18nText = {key: "TABLE_NO_DATA_FOUND", defaultText: "No data found"};const EXPAND: I18nText = {key: "EXPAND", defaultText: "Expand"};const COLLAPSE: I18nText = {key: "COLLAPSE", defaultText: "Collapse"};const EXPANDED: I18nText = {key: "EXPANDED", defaultText: "expanded"};const COLLAPSED: I18nText = {key: "COLLAPSED", defaultText: "collapsed"};const BACK_BUTTON_LABEL: I18nText = {key: "BACK_BUTTON_LABEL", defaultText: "return back"};const UPLOADING_FILE_STATUS_TEXT: I18nText = {key: "UPLOADING_FILE_STATUS_TEXT", defaultText: "Uploading"};const TERMINATED_FILE_STATUS_TEXT: I18nText = {key: "TERMINATED_FILE_STATUS_TEXT", defaultText: "Terminated"};const REMOVE_FILE_TEXT: I18nText = {key: "REMOVE_FILE_TEXT", defaultText: "Remove file"};const UPLOAD_BUTTON_LABEL: I18nText = {key: "UPLOAD_BUTTON_LABEL", defaultText: "Upload file"};const COMPLETE_LIST_OF: I18nText = {key: "COMPLETE_LIST_OF", defaultText: "Complete list of"};const CALL_US_TODAY: I18nText = {key: "CALL_US_TODAY", defaultText: "Call us today!"};const CONTACT_US: I18nText = {key: "CONTACT_US", defaultText: "Contact us"};const SOCIAL_MEDIA_BUTTON: I18nText = {key: "SOCIAL_MEDIA_BUTTON", defaultText: "Social Media Button"};const PROMO_TILE: I18nText = {key: "PROMO_TILE", defaultText: "Promo Tile"};const PROMO_TILE_ICON: I18nText = {key: "PROMO_TILE_ICON", defaultText: "Promo Tile Icon"};const PLAY_BUTTON_ACCESSIBLE_NAME: I18nText = {key: "PLAY_BUTTON_ACCESSIBLE_NAME", defaultText: "Start button to begin customer logos rotation"};const PAUSE_BUTTON_ACCESSIBLE_NAME: I18nText = {key: "PAUSE_BUTTON_ACCESSIBLE_NAME", defaultText: "Pause button to stop customer logos rotation"};const TOAST_CLOSE_ACCESSIBLE_NAME: I18nText = {key: "TOAST_CLOSE_ACCESSIBLE_NAME", defaultText: "Close"};
3
+ export {OF,PAGINATION_PAGE,SELECTED,PREVIOUS_PAGE,NEXT_PAGE,CURRENT_PAGE,ACTIVATE_PAGE,BUTTON_ARIA_TYPE_PRIMARY,BUTTON_ARIA_TYPE_SECONDARY,BUTTON_ARIA_TYPE_TERTIARY,BUTTON_ARIA_TYPE_WARNING,BUTTON_ARIA_TYPE_POSITIVE,BUTTON_ARIA_TYPE_NEGATIVE,BUTTON_ARIA_EMPHASIZED,BUTTON_ARIA_DEFAULT,BUTTON_ARIA_TRANSPARENT,BUTTON_ARIA_ATTENTION,TOGGLED,SUGGESTED_TEXT,ACCESSIBLE_NAME_RESET_ICON,ACCESSIBLE_NAME_SEARCH_ICON,TOOLTIP_RESET_BUTTON,TOOLTIP_VOICE_BUTTON,TOOLTIP_SUBMIT_BUTTON,LISTENING,AVAILABLE_VALUES,RECOMMENDED_TEXT,EXPAND_ALL,COLLAPSE_ALL,MORE,ATTENTION_BADGE,REVIEWS,STARS,READ_MORE,READ_LESS,SHOW_MORE,SHOW_LESS,RATING_INDICATOR_TEXT,RATING_INDICATOR_TOOLTIP_TEXT,RATING_INDICATOR_ARIA_DESCRIPTION,TOTAL,RATING_COUNT_TITLE,MESSAGE_STRIP_CLOSE_BUTTON,MESSAGE_STRIP_INFORMATION,MESSAGE_STRIP_SUCCESS,MESSAGE_STRIP_WARNING,MESSAGE_STRIP_ERROR,MESSAGE_STRIP_ACTION,ARIA_LABEL_LIST_MULTISELECTABLE,ARIA_LABEL_LIST_SELECTABLE,UNSELECTED,INDETERMINATE,TEXTAREA_CHARACTERS_LEFT,VALUE_STATE_TYPE_ERROR,VALUE_STATE_TYPE_WARNING,VALUE_STATE_TYPE_SUCCESS,TEXT_FIELD,CAROUSEL_PREVIOUS_ARROW_TEXT,CAROUSEL_NEXT_ARROW_TEXT,CAROUSEL_AUTOPLAY_TOGGLE_START,CAROUSEL_AUTOPLAY_TOGGLE_STOP,SHOW_RESULTS,RESET,LOCATION,SELECT_OPTIONS,SELECT_ALL,BREADCRUMBS_ARIA_LABEL,BREADCRUMBS_OVERFLOW_ARIA_LABEL,STEPINPUT_INC_ICON_TITLE,STEPINPUT_DEC_ICON_TITLE,NO_MATCHES_FOUND,RESULT_RETURNED,VALUE_STATE_ERROR,VALUE_STATE_WARNING,VALUE_STATE_INFORMATION,VALUE_STATE_SUCCESS,READ_ONLY,MAIN_LINKS,BACK_TO_REGION_LIST,OPENS_IN_A_NEW_WINDOW,LOGOUT,PROFILE,SWITCH_ACCOUNT,BACK,OTHER_IDENTITIES,ADD_OR_REMOVE_ACCOUNT,COUNTRY_SELECT,OVERVIEW,CART,COUNTRY_SELECTOR,SUPPORT,SEARCH,SHOW_PASSWORD,HIDE_PASSWORD,PHONE_NUMBER,EMAIL,CHAT_WITH_US,ASK_JOULE,QUICK_LINKS,TRENDING,ABOUT_SAP,SITE_INFORMATION,SEE_COMPLETE_LIST,LOCAL_COUNTRY_NAMES,COPYRIGHT,BACK_TO_TOP,PUBLIC_SECURITY_NETWORK_NUMBER,ICP_NUMBER,AVATAR_TEXT,DISABLED,STATUS_BADGE_TEXT,STATUS_BADGE_EDIT_TITLE,STATUS_BADGE_INFORMATION_TITLE,STATUS_BADGE_WARNING_TITLE,STATUS_BADGE_ERROR_TITLE,STATUS_BADGE_SUCCESS_TITLE,CALENDAR_ICON,DATEPICKER_DATE_DESCRIPTION,TABLE_NO_DATA_FOUND,EXPAND,COLLAPSE,EXPANDED,COLLAPSED,BACK_BUTTON_LABEL,UPLOADING_FILE_STATUS_TEXT,TERMINATED_FILE_STATUS_TEXT,REMOVE_FILE_TEXT,UPLOAD_BUTTON_LABEL,COMPLETE_LIST_OF,CALL_US_TODAY,CONTACT_US,SOCIAL_MEDIA_BUTTON,PROMO_TILE,PROMO_TILE_ICON,PLAY_BUTTON_ACCESSIBLE_NAME,PAUSE_BUTTON_ACCESSIBLE_NAME,TOAST_CLOSE_ACCESSIBLE_NAME};