@sapudex/web-components 0.176.0 → 0.192.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 (301) hide show
  1. package/bundle.esm.js +1 -1
  2. package/dist/Accordion.js +2 -1
  3. package/dist/Accordion.js.map +1 -1
  4. package/dist/AccordionItem.d.ts +0 -1
  5. package/dist/AccordionItem.js +2 -2
  6. package/dist/AccordionItem.js.map +1 -1
  7. package/dist/Badge.js +2 -1
  8. package/dist/Badge.js.map +1 -1
  9. package/dist/Breadcrumbs.d.ts +7 -7
  10. package/dist/Breadcrumbs.js +3 -3
  11. package/dist/Breadcrumbs.js.map +1 -1
  12. package/dist/CountrySelector.d.ts +2 -0
  13. package/dist/CountrySelector.js +10 -6
  14. package/dist/CountrySelector.js.map +1 -1
  15. package/dist/DatePicker.d.ts +53 -26
  16. package/dist/DatePicker.js +205 -39
  17. package/dist/DatePicker.js.map +1 -1
  18. package/dist/FilterMenu.d.ts +4 -6
  19. package/dist/FilterMenu.js +10 -10
  20. package/dist/FilterMenu.js.map +1 -1
  21. package/dist/Footer.js +6 -2
  22. package/dist/Footer.js.map +1 -1
  23. package/dist/HeroBanner.d.ts +0 -1
  24. package/dist/HeroBanner.js +2 -1
  25. package/dist/HeroBanner.js.map +1 -1
  26. package/dist/Link.js +2 -0
  27. package/dist/Link.js.map +1 -1
  28. package/dist/ListSelectAll.js +2 -0
  29. package/dist/ListSelectAll.js.map +1 -1
  30. package/dist/MastheadItem.d.ts +10 -1
  31. package/dist/MastheadItem.js +12 -6
  32. package/dist/MastheadItem.js.map +1 -1
  33. package/dist/MastheadMenu.d.ts +6 -0
  34. package/dist/MastheadMenu.js +4 -1
  35. package/dist/MastheadMenu.js.map +1 -1
  36. package/dist/MastheadMenuItem.d.ts +1 -0
  37. package/dist/MastheadMenuItem.js +3 -0
  38. package/dist/MastheadMenuItem.js.map +1 -1
  39. package/dist/MastheadMobileMenu.js +1 -1
  40. package/dist/MastheadMobileMenu.js.map +1 -1
  41. package/dist/MastheadProfileMenu.d.ts +6 -0
  42. package/dist/MastheadProfileMenu.js +3 -0
  43. package/dist/MastheadProfileMenu.js.map +1 -1
  44. package/dist/MastheadShell.d.ts +35 -4
  45. package/dist/MastheadShell.js +141 -11
  46. package/dist/MastheadShell.js.map +1 -1
  47. package/dist/MediaPlayer.js +2 -2
  48. package/dist/MediaPlayer.js.map +1 -1
  49. package/dist/MessageStrip.js +2 -1
  50. package/dist/MessageStrip.js.map +1 -1
  51. package/dist/Pagination.d.ts +3 -2
  52. package/dist/Pagination.js +4 -2
  53. package/dist/Pagination.js.map +1 -1
  54. package/dist/RadioButton.js +0 -1
  55. package/dist/RadioButton.js.map +1 -1
  56. package/dist/Search.js +0 -1
  57. package/dist/Search.js.map +1 -1
  58. package/dist/SearchableListBase.js +3 -3
  59. package/dist/SearchableListBase.js.map +1 -1
  60. package/dist/SecondaryNavigation.js +1 -1
  61. package/dist/SecondaryNavigation.js.map +1 -1
  62. package/dist/SecondaryNavigationItem.js +1 -1
  63. package/dist/SecondaryNavigationItem.js.map +1 -1
  64. package/dist/SelectBox.d.ts +5 -3
  65. package/dist/SelectBox.js +11 -7
  66. package/dist/SelectBox.js.map +1 -1
  67. package/dist/SideNavigationMobile.js +1 -1
  68. package/dist/SideNavigationMobile.js.map +1 -1
  69. package/dist/StepInput.js +1 -1
  70. package/dist/StepInput.js.map +1 -1
  71. package/dist/Tab.d.ts +4 -13
  72. package/dist/Tab.js +11 -14
  73. package/dist/Tab.js.map +1 -1
  74. package/dist/TabNavigation.d.ts +4 -5
  75. package/dist/TabNavigation.js +16 -15
  76. package/dist/TabNavigation.js.map +1 -1
  77. package/dist/Table.js +2 -2
  78. package/dist/Table.js.map +1 -1
  79. package/dist/TextArea.d.ts +13 -22
  80. package/dist/TextArea.js +30 -33
  81. package/dist/TextArea.js.map +1 -1
  82. package/dist/assets/{css_variables-a92ef9ad.css → bundle-c5e3cbf2.css} +1 -1
  83. package/dist/assets/{bundle.esm-f0e73f3b.js → bundle.esm-809b9769.js} +188 -188
  84. package/dist/assets/messagebundle_en-06c0dadc.js +1 -0
  85. package/dist/css/themes/AccordionItem.css +1 -1
  86. package/dist/css/themes/Button.css +1 -1
  87. package/dist/css/themes/CountrySelector.css +1 -1
  88. package/dist/css/themes/ListItem.css +1 -1
  89. package/dist/css/themes/MastheadItem.css +1 -1
  90. package/dist/css/themes/MastheadMenu.css +1 -1
  91. package/dist/css/themes/MastheadMenuItem.css +1 -1
  92. package/dist/css/themes/MastheadMobileMenu.css +1 -1
  93. package/dist/css/themes/MastheadProfileMenu.css +1 -1
  94. package/dist/css/themes/MastheadShell.css +1 -1
  95. package/dist/css/themes/MediaPlayer.css +1 -1
  96. package/dist/css/themes/MessageStrip.css +1 -1
  97. package/dist/css/themes/PhoneNumberField.css +1 -1
  98. package/dist/css/themes/RatingIndicator.css +1 -1
  99. package/dist/css/themes/Review.css +1 -1
  100. package/dist/css/themes/ReviewItem.css +1 -1
  101. package/dist/css/themes/Search.css +1 -1
  102. package/dist/css/themes/SegmentedButton.css +1 -1
  103. package/dist/css/themes/SideNavigationMobileDropdown.css +1 -1
  104. package/dist/css/themes/Slider.css +1 -1
  105. package/dist/css/themes/StepInput.css +1 -1
  106. package/dist/css/themes/TabNavigation.css +1 -1
  107. package/dist/css/themes/Table.css +1 -1
  108. package/dist/css/themes/TextArea.css +1 -1
  109. package/dist/custom-elements-internal.json +127 -107
  110. package/dist/custom-elements.json +122 -104
  111. package/dist/features/SearchSuggestionsPopover.d.ts +1 -1
  112. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  113. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  114. package/dist/generated/i18n/i18n-defaults.js +2 -1
  115. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  116. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +1 -1
  117. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +1 -1
  118. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
  119. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
  120. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  121. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  122. package/dist/generated/templates/FilterMenuTemplate.lit.js +2 -2
  123. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  124. package/dist/generated/templates/MastheadItemTemplate.lit.js +3 -3
  125. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  126. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +2 -2
  127. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
  128. package/dist/generated/templates/MastheadShellTemplate.lit.js +8 -9
  129. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  130. package/dist/generated/templates/PaginationTemplate.lit.js +1 -1
  131. package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
  132. package/dist/generated/templates/TabHeaderTemplate.lit.js +1 -1
  133. package/dist/generated/templates/TabHeaderTemplate.lit.js.map +1 -1
  134. package/dist/generated/templates/TabNavigationTemplate.lit.js +1 -1
  135. package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
  136. package/dist/generated/templates/TextAreaTemplate.lit.js +5 -4
  137. package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
  138. package/dist/generated/templates/TextFieldTemplate.lit.js +1 -1
  139. package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
  140. package/dist/generated/themes/AccordionItem.css.js +1 -1
  141. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  142. package/dist/generated/themes/Button.css.js +1 -1
  143. package/dist/generated/themes/Button.css.js.map +1 -1
  144. package/dist/generated/themes/CountrySelector.css.js +1 -1
  145. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  146. package/dist/generated/themes/ListItem.css.js +1 -1
  147. package/dist/generated/themes/ListItem.css.js.map +1 -1
  148. package/dist/generated/themes/MastheadItem.css.js +1 -1
  149. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  150. package/dist/generated/themes/MastheadMenu.css.js +1 -1
  151. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  152. package/dist/generated/themes/MastheadMenuItem.css.js +1 -1
  153. package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
  154. package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
  155. package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
  156. package/dist/generated/themes/MastheadProfileMenu.css.js +1 -1
  157. package/dist/generated/themes/MastheadProfileMenu.css.js.map +1 -1
  158. package/dist/generated/themes/MastheadShell.css.js +1 -1
  159. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  160. package/dist/generated/themes/MediaPlayer.css.js +1 -1
  161. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  162. package/dist/generated/themes/MessageStrip.css.js +1 -1
  163. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  164. package/dist/generated/themes/PhoneNumberField.css.js +1 -1
  165. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  166. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  167. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  168. package/dist/generated/themes/Review.css.js +1 -1
  169. package/dist/generated/themes/Review.css.js.map +1 -1
  170. package/dist/generated/themes/ReviewItem.css.js +1 -1
  171. package/dist/generated/themes/ReviewItem.css.js.map +1 -1
  172. package/dist/generated/themes/Search.css.js +1 -1
  173. package/dist/generated/themes/Search.css.js.map +1 -1
  174. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  175. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  176. package/dist/generated/themes/SideNavigationMobileDropdown.css.js +1 -1
  177. package/dist/generated/themes/SideNavigationMobileDropdown.css.js.map +1 -1
  178. package/dist/generated/themes/Slider.css.js +1 -1
  179. package/dist/generated/themes/Slider.css.js.map +1 -1
  180. package/dist/generated/themes/StepInput.css.js +1 -1
  181. package/dist/generated/themes/StepInput.css.js.map +1 -1
  182. package/dist/generated/themes/TabNavigation.css.js +1 -1
  183. package/dist/generated/themes/TabNavigation.css.js.map +1 -1
  184. package/dist/generated/themes/Table.css.js +1 -1
  185. package/dist/generated/themes/Table.css.js.map +1 -1
  186. package/dist/generated/themes/TextArea.css.js +1 -1
  187. package/dist/generated/themes/TextArea.css.js.map +1 -1
  188. package/dist/i18n/messagebundle.properties +3 -0
  189. package/dist/i18n/messagebundle_en.properties +1 -0
  190. package/dist/vscode.html-custom-data.json +2 -12
  191. package/dist/web-types.json +21 -25
  192. package/package.json +2 -2
  193. package/src/Accordion.ts +2 -1
  194. package/src/AccordionItem.ts +2 -2
  195. package/src/Badge.ts +2 -1
  196. package/src/Breadcrumbs.hbs +3 -3
  197. package/src/Breadcrumbs.ts +14 -14
  198. package/src/BreadcrumbsPopover.hbs +1 -1
  199. package/src/CountrySelector.hbs +30 -30
  200. package/src/CountrySelector.ts +23 -18
  201. package/src/DatePicker.hbs +4 -5
  202. package/src/DatePicker.ts +257 -64
  203. package/src/DatePickerPopover.hbs +2 -2
  204. package/src/FilterMenu.hbs +2 -1
  205. package/src/FilterMenu.ts +13 -14
  206. package/src/Footer.ts +6 -2
  207. package/src/HeroBanner.ts +2 -1
  208. package/src/Link.ts +2 -0
  209. package/src/ListSelectAll.ts +2 -0
  210. package/src/MastheadItem.hbs +3 -3
  211. package/src/MastheadItem.ts +23 -11
  212. package/src/MastheadMenu.ts +9 -1
  213. package/src/MastheadMenuItem.hbs +2 -1
  214. package/src/MastheadMenuItem.ts +4 -0
  215. package/src/MastheadMobileMenu.ts +1 -1
  216. package/src/MastheadProfileMenu.ts +8 -0
  217. package/src/MastheadShell.hbs +69 -67
  218. package/src/MastheadShell.ts +177 -16
  219. package/src/MediaPlayer.ts +2 -2
  220. package/src/MessageStrip.ts +2 -1
  221. package/src/Pagination.hbs +2 -2
  222. package/src/Pagination.ts +8 -5
  223. package/src/RadioButton.ts +0 -1
  224. package/src/Search.ts +0 -1
  225. package/src/SearchableListBase.ts +3 -3
  226. package/src/SecondaryNavigation.ts +1 -1
  227. package/src/SecondaryNavigationItem.ts +1 -1
  228. package/src/SelectBox.ts +16 -10
  229. package/src/SideNavigationMobile.ts +1 -1
  230. package/src/StepInput.ts +1 -1
  231. package/src/Tab.ts +18 -29
  232. package/src/TabHeader.hbs +1 -1
  233. package/src/TabNavigation.hbs +1 -2
  234. package/src/TabNavigation.ts +21 -19
  235. package/src/Table.ts +2 -2
  236. package/src/TextArea.hbs +21 -21
  237. package/src/TextArea.ts +82 -78
  238. package/src/TextField.hbs +4 -2
  239. package/src/generated/i18n/i18n-defaults.ts +2 -2
  240. package/src/generated/templates/BreadcrumbsPopoverTemplate.lit.ts +1 -1
  241. package/src/generated/templates/DatePickerPopoverTemplate.lit.ts +1 -1
  242. package/src/generated/templates/DatePickerTemplate.lit.ts +1 -1
  243. package/src/generated/templates/FilterMenuTemplate.lit.ts +2 -2
  244. package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
  245. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +2 -2
  246. package/src/generated/templates/MastheadShellTemplate.lit.ts +8 -9
  247. package/src/generated/templates/PaginationTemplate.lit.ts +1 -1
  248. package/src/generated/templates/TabHeaderTemplate.lit.ts +1 -1
  249. package/src/generated/templates/TabNavigationTemplate.lit.ts +1 -1
  250. package/src/generated/templates/TextAreaTemplate.lit.ts +5 -4
  251. package/src/generated/templates/TextFieldTemplate.lit.ts +1 -1
  252. package/src/generated/themes/AccordionItem.css.ts +1 -1
  253. package/src/generated/themes/Button.css.ts +1 -1
  254. package/src/generated/themes/CountrySelector.css.ts +1 -1
  255. package/src/generated/themes/ListItem.css.ts +1 -1
  256. package/src/generated/themes/MastheadItem.css.ts +1 -1
  257. package/src/generated/themes/MastheadMenu.css.ts +1 -1
  258. package/src/generated/themes/MastheadMenuItem.css.ts +1 -1
  259. package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
  260. package/src/generated/themes/MastheadProfileMenu.css.ts +1 -1
  261. package/src/generated/themes/MastheadShell.css.ts +1 -1
  262. package/src/generated/themes/MediaPlayer.css.ts +1 -1
  263. package/src/generated/themes/MessageStrip.css.ts +1 -1
  264. package/src/generated/themes/PhoneNumberField.css.ts +1 -1
  265. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  266. package/src/generated/themes/Review.css.ts +1 -1
  267. package/src/generated/themes/ReviewItem.css.ts +1 -1
  268. package/src/generated/themes/Search.css.ts +1 -1
  269. package/src/generated/themes/SegmentedButton.css.ts +1 -1
  270. package/src/generated/themes/SideNavigationMobileDropdown.css.ts +1 -1
  271. package/src/generated/themes/Slider.css.ts +1 -1
  272. package/src/generated/themes/StepInput.css.ts +1 -1
  273. package/src/generated/themes/TabNavigation.css.ts +1 -1
  274. package/src/generated/themes/Table.css.ts +1 -1
  275. package/src/generated/themes/TextArea.css.ts +1 -1
  276. package/src/i18n/messagebundle.properties +3 -0
  277. package/src/i18n/messagebundle_en.properties +1 -0
  278. package/src/themes/AccordionItem.css +2 -2
  279. package/src/themes/Button.css +5 -5
  280. package/src/themes/CountrySelector.css +35 -28
  281. package/src/themes/ListItem.css +1 -1
  282. package/src/themes/MastheadItem.css +40 -2
  283. package/src/themes/MastheadMenu.css +74 -2
  284. package/src/themes/MastheadMenuItem.css +1 -0
  285. package/src/themes/MastheadMobileMenu.css +2 -2
  286. package/src/themes/MastheadProfileMenu.css +10 -2
  287. package/src/themes/MastheadShell.css +59 -27
  288. package/src/themes/MediaPlayer.css +18 -9
  289. package/src/themes/MessageStrip.css +6 -6
  290. package/src/themes/PhoneNumberField.css +2 -2
  291. package/src/themes/Review.css +1 -1
  292. package/src/themes/ReviewItem.css +1 -1
  293. package/src/themes/Search.css +8 -2
  294. package/src/themes/SegmentedButton.css +1 -1
  295. package/src/themes/SelectBox.css +1 -1
  296. package/src/themes/SideNavigationMobileDropdown.css +1 -1
  297. package/src/themes/StepInput.css +5 -5
  298. package/src/themes/TabNavigation.css +6 -6
  299. package/src/themes/Table.css +5 -5
  300. package/src/themes/TextArea.css +12 -1
  301. package/dist/assets/messagebundle_en-4997b226.js +0 -1
@@ -10,6 +10,7 @@ import {
10
10
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
11
11
  import MessageStrip from "@ui5/webcomponents/dist/MessageStrip.js";
12
12
  import messageStripCss from "@ui5/webcomponents/dist/generated/themes/MessageStrip.css.js";
13
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
13
14
  import UDExButton from "./Button.js";
14
15
  import {
15
16
  MESSAGE_STRIP_CLOSE_BUTTON,
@@ -73,7 +74,7 @@ type textStatusType = Record<Exclude<MessageStripDesign, "Action">, string>;
73
74
  renderer: litRender,
74
75
  styles: [messageStripCss, MessageStripCss],
75
76
  template: MessageStripTemplate,
76
- dependencies: [UDExButton],
77
+ dependencies: [UDExButton, UI5Icon],
77
78
  })
78
79
  /**
79
80
  * Fired when the close button is pressed either with a
@@ -1,6 +1,6 @@
1
1
  {{#if pages}}
2
- <nav aria-label="pagination" class="{{paginationClass}}">
3
- <ul class="udex-pagination__list" role="navigation" aria-label="{{paginationAccessibleName}}">
2
+ <nav class="{{paginationClass}}" role="navigation" aria-label="{{paginationAccessibleName}}">
3
+ <ul class="udex-pagination__list">
4
4
  {{#if absoluteNavigation}}
5
5
  <li class="udex-pagination__item--first udex-pagination__item">
6
6
  <udex-button
package/src/Pagination.ts CHANGED
@@ -82,9 +82,10 @@ class UDExPagination extends UI5Element {
82
82
  * Defines number of pages.
83
83
  *
84
84
  * @public
85
+ * @default 0
85
86
  */
86
- @property({ validator: Integer })
87
- pages?: number;
87
+ @property({ validator: Integer, defaultValue: 0 })
88
+ pages: number;
88
89
 
89
90
  /**
90
91
  * Defines type of pagination.
@@ -143,6 +144,7 @@ class UDExPagination extends UI5Element {
143
144
 
144
145
  constructor() {
145
146
  super();
147
+ this.pages = 0;
146
148
  this._pages = [];
147
149
  this._visiblePages = [];
148
150
  this.currentPageIndex = 0;
@@ -348,15 +350,16 @@ class UDExPagination extends UI5Element {
348
350
  this.emitChangeEvent();
349
351
  }
350
352
 
351
- setupPages(pages?: number) {
353
+ setupPages(pages: number) {
352
354
  if (!pages) {
353
355
  this._visiblePages = [];
354
356
  return;
355
357
  }
356
358
 
357
- if (!this._pages.length) {
359
+ if (!this._pages.length || this._visiblePages.length < this.displayNumber) {
358
360
  this._firstPageIndex = 0;
359
361
  this._lastPageIndex = pages > this.displayNumber ? this.displayNumber : pages;
362
+ this._pageFocusedManually = false;
360
363
  }
361
364
 
362
365
  this._pages = this.setupPagesData();
@@ -397,7 +400,7 @@ class UDExPagination extends UI5Element {
397
400
  this._lastPageIndex--;
398
401
  }
399
402
  } else {
400
- while (this._lastPageIndex - this.currentPageIndex - 1 < this.pageOffset && this._lastPageIndex < this.pages!) {
403
+ while (this._lastPageIndex - this.currentPageIndex - 1 < this.pageOffset && this._lastPageIndex < this.pages) {
401
404
  this._firstPageIndex++;
402
405
  this._lastPageIndex++;
403
406
  }
@@ -29,7 +29,6 @@ import RadioButtonCss from "./generated/themes/RadioButton.css.js";
29
29
  tag: "udex-radio-button",
30
30
  renderer: litRender,
31
31
  styles: [radioButtonCss, RadioButtonCss],
32
- dependencies: [RadioButton],
33
32
  })
34
33
  class UDExRadioButton extends RadioButton {
35
34
  /**
package/src/Search.ts CHANGED
@@ -976,7 +976,6 @@ class UDExSearch extends UI5Element {
976
976
  e.preventDefault();
977
977
  } else {
978
978
  this.Suggestion?.onEnter(e);
979
- this.fireDropdownItemClick(this.value);
980
979
  }
981
980
  this.handleSubmitValue();
982
981
  }
@@ -393,12 +393,12 @@ class UDExSearchableListBase extends UI5Element {
393
393
  }
394
394
 
395
395
  getSearch(): Search {
396
- return this.shadowRoot!.querySelector<Search>("udex-search")!;
396
+ return this.shadowRoot!.querySelector<Search>("[udex-search]")!;
397
397
  }
398
398
 
399
399
  getDomListItems(): Element[] {
400
- const elementList = this.shadowRoot!.querySelector("udex-list") as HTMLElement;
401
- return elementList ? Array.from(elementList.querySelectorAll("udex-list-item")) : [];
400
+ const elementList = this.shadowRoot!.querySelector("[udex-list]") as HTMLElement;
401
+ return elementList ? Array.from(elementList.querySelectorAll("[udex-list-item]")) : [];
402
402
  }
403
403
 
404
404
  setItemsModeAndControl(items: Array<UDExFilterMenuItem>) {
@@ -411,7 +411,7 @@ class UDExSecondaryNavigation extends UI5Element {
411
411
  }
412
412
 
413
413
  get domNavItems(): Array<UDExSecondaryNavigationItem> {
414
- const items = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationItem>("udex-secondary-navigation-item");
414
+ const items = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationItem>("[udex-secondary-navigation-item]");
415
415
  return items ? Array.from(items) : [];
416
416
  }
417
417
 
@@ -378,7 +378,7 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
378
378
  }
379
379
 
380
380
  get domNavItems(): Array<UDExSecondaryNavigationSubItem> {
381
- const domNavItems = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationSubItem>("udex-secondary-navigation-sub-item");
381
+ const domNavItems = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationSubItem>("[udex-secondary-navigation-sub-item]");
382
382
  return domNavItems ? Array.from(domNavItems) : [];
383
383
  }
384
384
 
package/src/SelectBox.ts CHANGED
@@ -22,7 +22,7 @@ import Tokenizer from "@ui5/webcomponents/dist/Tokenizer.js";
22
22
  import Icon from "@ui5/webcomponents/dist/Icon.js";
23
23
  import Token from "@ui5/webcomponents/dist/Token.js";
24
24
  import ResizeHandler, { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
25
- import ResponsivePopover from "@ui5/webcomponents/dist/ResponsivePopover.js";
25
+ import Popover from "@ui5/webcomponents/dist/Popover.js";
26
26
  import UDExList from "./List.js";
27
27
  import UDExListItem from "./ListItem.js";
28
28
  import UDExListGroupHeader from "./ListGroupHeader.js";
@@ -86,7 +86,7 @@ import UDExTagGroup from "./TagGroup.js";
86
86
  Icon,
87
87
  UDExStatusMessage,
88
88
  UDExControlButton,
89
- ResponsivePopover,
89
+ Popover,
90
90
  UDExTagGroup,
91
91
  ],
92
92
  })
@@ -246,7 +246,8 @@ class UDExSelectBox extends UDExSearchableListBase {
246
246
  _showTagsDropdownContent!: boolean;
247
247
 
248
248
  _trigger!: HTMLElement;
249
- _popover!: ResponsivePopover;
249
+ _triggerWrapper!: HTMLElement;
250
+ _popover!: Popover;
250
251
  _tokenizer!: Tokenizer;
251
252
  _search!: UDExSearch;
252
253
  _singleSelectedOption!: string;
@@ -278,6 +279,7 @@ class UDExSelectBox extends UDExSearchableListBase {
278
279
  this._popover = this.getPopover();
279
280
  this._search = this.getSearch();
280
281
  this._trigger = this.getTrigger();
282
+ this._triggerWrapper = this.getTriggerWrapper();
281
283
  this._tags = this.getTags();
282
284
  this.handleDirection();
283
285
  if (this._tokenizer?.tokens.length > 0) {
@@ -298,7 +300,7 @@ class UDExSelectBox extends UDExSearchableListBase {
298
300
  }
299
301
 
300
302
  _handleResize() {
301
- this._popover.style.setProperty("--udex-dropdown-pane-width", `${this.offsetWidth}px`);
303
+ this._popover.style.setProperty("--udex-dropdown-pane-width", `${this._triggerWrapper.offsetWidth}px`);
302
304
  }
303
305
 
304
306
  handleItemPress(e:CustomEvent) {
@@ -576,25 +578,29 @@ class UDExSelectBox extends UDExSearchableListBase {
576
578
  this.fireEvent("show-more");
577
579
  }
578
580
 
579
- getPopover(): ResponsivePopover {
580
- return this.shadowRoot!.querySelector<ResponsivePopover>("[ui5-popover]")!;
581
+ getPopover(): Popover {
582
+ return this.shadowRoot!.querySelector<Popover>("[ui5-popover]")!;
581
583
  }
582
584
 
583
585
  getSearch(): UDExSearch {
584
- return this.shadowRoot!.querySelector<UDExSearch>("udex-search")!;
586
+ return this.shadowRoot!.querySelector<UDExSearch>("[udex-search]")!;
585
587
  }
586
588
 
587
589
  getTrigger(): HTMLElement {
588
590
  return this.shadowRoot!.querySelector(".udex-text-field__input")!;
589
591
  }
590
592
 
593
+ getTriggerWrapper(): HTMLElement {
594
+ return this.shadowRoot!.querySelector(".udex-text-field__wrap")!;
595
+ }
596
+
591
597
  getTagGroup(): UDExTagGroup {
592
- return this.shadowRoot!.querySelector<UDExTagGroup>("udex-tag-group")!;
598
+ return this.shadowRoot!.querySelector<UDExTagGroup>("[udex-tag-group]")!;
593
599
  }
594
600
 
595
601
  getTags(): Array<UDExTag> {
596
602
  if (this.getTagGroup()) {
597
- return Array.from(this.getTagGroup().shadowRoot!.querySelectorAll<UDExTag>("udex-tag"));
603
+ return Array.from(this.getTagGroup().shadowRoot!.querySelectorAll<UDExTag>("[udex-tag]"));
598
604
  }
599
605
  return [];
600
606
  }
@@ -698,7 +704,7 @@ class UDExSelectBox extends UDExSearchableListBase {
698
704
  return {
699
705
  "ariaLabel": this.accessibleName || this.label || undefined,
700
706
  "ariaLabelledBy": this.accessibleNameRef || undefined,
701
- "ariaControls": this.shadowRoot?.querySelector("udex-list")?.getAttribute("id"),
707
+ "ariaControls": this.shadowRoot?.querySelector("[udex-list]")?.getAttribute("id"),
702
708
  };
703
709
  }
704
710
 
@@ -101,7 +101,7 @@ class UDExSideNavigationMobile extends UI5Element {
101
101
 
102
102
  async _getResponsePopover() {
103
103
  const staticAreaItem = await this.getStaticAreaItemDomRef();
104
- return staticAreaItem!.querySelector<UDExDropdown>(`udex-dropdown`)!;
104
+ return staticAreaItem!.querySelector<UDExDropdown>(`[udex-dropdown]`)!;
105
105
  }
106
106
 
107
107
  _afterDropdownOpen() {
package/src/StepInput.ts CHANGED
@@ -306,7 +306,7 @@ class UDExStepInput extends UI5Element {
306
306
  }
307
307
 
308
308
  get inputOuter() {
309
- return this.shadowRoot!.querySelector("udex-text-field")!;
309
+ return this.shadowRoot!.querySelector("[udex-text-field]")!;
310
310
  }
311
311
 
312
312
  _onInputFocusIn() {
package/src/Tab.ts CHANGED
@@ -38,7 +38,6 @@ interface ITab extends UI5Element {
38
38
  isOnSelectedTab: boolean;
39
39
  hasNotIcon: boolean;
40
40
  hasNotHref: boolean;
41
- isSelected: boolean;
42
41
  selectedClass: string;
43
42
  tabNavigation: any;
44
43
  _individualSlot: string;
@@ -46,7 +45,6 @@ interface ITab extends UI5Element {
46
45
  _slotName: string;
47
46
  _selected?: boolean;
48
47
  _tabIndex: string;
49
- _contentTabIndex: string;
50
48
  _iconWithoutBackground: boolean;
51
49
  _posinset?: number;
52
50
  _setsize?: number;
@@ -174,15 +172,6 @@ class UDExTab extends UI5Element implements ITab {
174
172
  @property({ type: String })
175
173
  _tabIndex!: string;
176
174
 
177
- /**
178
- * Defines the tabindex of the tab content.
179
- *
180
- * @private
181
- * @default -1
182
- */
183
- @property({ type: String })
184
- _contentTabIndex!: string;
185
-
186
175
  /**
187
176
  * Defines the background color of the component.
188
177
  *
@@ -222,7 +211,7 @@ class UDExTab extends UI5Element implements ITab {
222
211
  return this._realTab === this;
223
212
  }
224
213
 
225
- get _effectiveSlotName() {
214
+ get _effectiveSlotName(): string {
226
215
  return this.isOnSelectedTab ? this._individualSlot : `disabled-${this._individualSlot}`;
227
216
  }
228
217
 
@@ -246,35 +235,23 @@ class UDExTab extends UI5Element implements ITab {
246
235
  return !this.href;
247
236
  }
248
237
 
249
- get isSelected() {
238
+ get effectiveSelected(): boolean {
250
239
  return this.selected || this._selected;
251
240
  }
252
241
 
253
242
  get selectedClass(): string {
254
- return this.isSelected ? "udex-tab-navigation__button-tab--active" : "";
243
+ return this.effectiveSelected ? "udex-tab-navigation__button-tab--active" : "";
255
244
  }
256
245
 
257
246
  get classWithIconWithoutBackground(): string {
258
247
  return this.hasIcon && !this._iconWithoutBackground ? " udex-tab-navigation__button-tab--icon-tab" : "";
259
248
  }
260
249
 
261
- get tabNavigation() {
262
- return executeTemplate(UDExTab.headerTemplate, this);
263
- }
264
-
265
- get tabInOverflow() {
266
- return executeTemplate(UDExTab.overflowTemplate, this);
267
- }
268
-
269
- get _slotName() {
250
+ get _slotName(): string {
270
251
  return this.isOnSelectedTab ? this._individualSlot : `disabled-${this._individualSlot}`;
271
252
  }
272
253
 
273
- get effectiveSelected() {
274
- return this.selected || this._selected;
275
- }
276
-
277
- get ariaLabelledBy() {
254
+ get ariaLabelledBy(): string {
278
255
  const labels = [];
279
256
 
280
257
  if (this.text) {
@@ -288,10 +265,22 @@ class UDExTab extends UI5Element implements ITab {
288
265
  return labels.join(" ");
289
266
  }
290
267
 
291
- get accessibleNameText() {
268
+ get accessibleNameText(): string {
292
269
  return this.accessibleName || (this.showAttentionBadge ? `, ${UDExTab.i18nBundle.getText(ATTENTION_BADGE)}` : "");
293
270
  }
294
271
 
272
+ get linkTabIndex(): string {
273
+ return this.href && this.effectiveSelected ? "1" : "-1";
274
+ }
275
+
276
+ get tabNavigation() {
277
+ return executeTemplate(UDExTab.headerTemplate, this);
278
+ }
279
+
280
+ get tabInOverflow() {
281
+ return executeTemplate(UDExTab.overflowTemplate, this);
282
+ }
283
+
295
284
  static get headerTemplate() {
296
285
  return TabHeaderTemplate;
297
286
  }
package/src/TabHeader.hbs CHANGED
@@ -19,7 +19,7 @@
19
19
  <a
20
20
  id="{{this._id}}"
21
21
  class="udex-tab-navigation__button-tab {{selectedClass}} {{classWithIconWithoutBackground}} {{buttonClassWithIcon}}"
22
- tabindex="-1"
22
+ tabindex="{{this.linkTabIndex}}"
23
23
  role="tab"
24
24
  aria-posinset="{{this._posinset}}"
25
25
  aria-setsize="{{this._setsize}}"
@@ -41,8 +41,7 @@
41
41
  <div
42
42
  class="udex-tab-navigation__content-item"
43
43
  id="{{_contentId}}"
44
- aria-labelledby="{{_id}}"
45
- tabindex="{{_contentTabIndex}}">
44
+ aria-labelledby="{{_id}}">
46
45
  <slot name="{{this._slotName}}"></slot>
47
46
  </div>
48
47
  {{else}}
@@ -7,7 +7,7 @@ import event from "@ui5/webcomponents-base/dist/decorators/event.js";
7
7
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
8
8
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
9
9
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
10
- import ResponsivePopover from "@ui5/webcomponents/dist/ResponsivePopover.js";
10
+ import Popover from "@ui5/webcomponents/dist/Popover.js";
11
11
  import executeTemplate from "@ui5/webcomponents-base/dist/renderer/executeTemplate.js";
12
12
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
13
13
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
@@ -24,8 +24,8 @@ import {
24
24
  isTabNext,
25
25
  isTabPrevious,
26
26
  } from "@ui5/webcomponents-base/dist/Keys.js";
27
+ import Icon from "@ui5/webcomponents/dist/Icon.js";
27
28
  import Tab, { ITab } from "./Tab.js";
28
- import "@ui5/webcomponents/dist/Icon.js";
29
29
  import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
30
30
  import { MORE } from "./generated/i18n/i18n-defaults.js";
31
31
 
@@ -72,8 +72,9 @@ export enum Mode {
72
72
  renderer: litRender,
73
73
  styles: [TabNavigationCss, TabInOverflowCss],
74
74
  template: TabNavigationTemplate,
75
- dependencies: [ResponsivePopover],
75
+ dependencies: [Popover, Icon],
76
76
  })
77
+
77
78
  /**
78
79
  * Fires when the tab was clicked.
79
80
  *
@@ -86,6 +87,7 @@ export enum Mode {
86
87
  currentPage: { type: Number },
87
88
  },
88
89
  })
90
+
89
91
  class UDExTabNavigation extends UI5Element {
90
92
  /**
91
93
  * Defines the size of the "More" button.
@@ -157,9 +159,9 @@ class UDExTabNavigation extends UI5Element {
157
159
 
158
160
  static i18nBundle: any;
159
161
  _handleResizeBound: () => void;
160
- _responsivePopover?: ResponsivePopover;
162
+ _popover?: Popover;
161
163
  _visibleTabs?: Array<ITab | HTMLElement>;
162
- _isExpanded!: boolean;
164
+ _isExpanded: boolean = false;
163
165
  _maxTitleLength: number = 25;
164
166
  _maxTitleLengthInSecondLines: number = this._maxTitleLength * 2;
165
167
 
@@ -228,7 +230,6 @@ class UDExTabNavigation extends UI5Element {
228
230
  tab._contentId = this.getContentId(index);
229
231
  tab._realTab = this._selectedTab;
230
232
  tab._width = this.tabWidth;
231
- tab._contentTabIndex = this.getContentTabIndex(tab);
232
233
  });
233
234
  }
234
235
 
@@ -270,7 +271,7 @@ class UDExTabNavigation extends UI5Element {
270
271
  }
271
272
 
272
273
  initOutsideClick() {
273
- if (this._responsivePopover?.opened) {
274
+ if (this._popover?.opened) {
274
275
  this.handleOutsideClick();
275
276
  }
276
277
  }
@@ -569,8 +570,9 @@ class UDExTabNavigation extends UI5Element {
569
570
  return this.shadowRoot!.querySelector<HTMLElement>(`#${this.__id!}-header`)!;
570
571
  }
571
572
 
572
- handleMoreButton() {
573
- this._responsivePopover = this.getResponsePopover();
573
+ handleMoreButton(e: Event) {
574
+ e.stopPropagation();
575
+ this._popover = this.getResponsePopover();
574
576
  this.updateOverflowItems();
575
577
  this.handleTogglePopover();
576
578
  }
@@ -583,7 +585,7 @@ class UDExTabNavigation extends UI5Element {
583
585
  }
584
586
 
585
587
  handleTogglePopover() {
586
- if (this._responsivePopover?.opened) {
588
+ if (this._popover?.opened) {
587
589
  this.handleClosePopover();
588
590
  } else {
589
591
  this.handleOpenPopover();
@@ -591,16 +593,16 @@ class UDExTabNavigation extends UI5Element {
591
593
  }
592
594
 
593
595
  handleClosePopover() {
594
- if (this._responsivePopover?.opened) {
595
- this._responsivePopover.close();
596
+ if (this._popover?.opened) {
597
+ this._popover.close();
596
598
  this.getMoreButton().classList.remove("udex-tab-navigation__button-more--toggled");
597
599
  this._isExpanded = false;
598
600
  }
599
601
  }
600
602
 
601
603
  handleOpenPopover() {
602
- if (!this._responsivePopover?.opened) {
603
- this._responsivePopover!.showAt(this.getMoreButton());
604
+ if (!this._popover?.opened) {
605
+ this._popover!.showAt(this.getMoreButton());
604
606
  this.getMoreButton().classList.add("udex-tab-navigation__button-more--toggled");
605
607
  this._isExpanded = true;
606
608
  }
@@ -690,7 +692,7 @@ class UDExTabNavigation extends UI5Element {
690
692
  handleEnterKeyMoreButton(e: KeyboardEvent) {
691
693
  if (isEnter(e)) {
692
694
  e.preventDefault();
693
- this._responsivePopover = this.getResponsePopover();
695
+ this._popover = this.getResponsePopover();
694
696
  this.updateOverflowItems();
695
697
  this.handleOpenPopover();
696
698
  }
@@ -698,14 +700,14 @@ class UDExTabNavigation extends UI5Element {
698
700
 
699
701
  handleDownMoreButton(e: KeyboardEvent) {
700
702
  if (isDown(e) || isEnter(e)) {
701
- this._responsivePopover = this.getResponsePopover();
703
+ this._popover = this.getResponsePopover();
702
704
  this.handleOpenPopover();
703
705
  this.updateOverflowItems();
704
706
  }
705
707
  }
706
708
 
707
709
  onFocusFirstItemPopover() {
708
- if (this._responsivePopover?.opened) {
710
+ if (this._popover?.opened) {
709
711
  const popoverItems = this.getItemsFromPopover();
710
712
  const firstPopoverItem = popoverItems[0];
711
713
  firstPopoverItem.setAttribute("tabindex", "0");
@@ -811,8 +813,8 @@ class UDExTabNavigation extends UI5Element {
811
813
  }
812
814
  }
813
815
 
814
- getResponsePopover(): ResponsivePopover {
815
- return this.shadowRoot!.querySelector<ResponsivePopover>("[ui5-popover]")!;
816
+ getResponsePopover(): Popover {
817
+ return this.shadowRoot!.querySelector<Popover>("[ui5-popover]")!;
816
818
  }
817
819
 
818
820
  get moreButtonText(): string {
package/src/Table.ts CHANGED
@@ -301,7 +301,7 @@ class UDExTable extends UI5Element {
301
301
 
302
302
  getParentRow(): UDExTableRow | UDExTableHeaderRow | UDExTableGroupRow {
303
303
  const focusedElement = document.activeElement as HTMLElement;
304
- return focusedElement.closest("udex-table-row, udex-table-header-row, udex-table-group-row")!;
304
+ return focusedElement.closest("[udex-table-row], [udex-table-header-row], [udex-table-group-row]")!;
305
305
  }
306
306
 
307
307
  getKeyboardNavigationItems(): Array<KeyBoardItem> {
@@ -347,7 +347,7 @@ class UDExTable extends UI5Element {
347
347
 
348
348
  getInteractiveElements(el: TableBaseRow): Array<HTMLElement> {
349
349
  return el.cells.flatMap(cell => Array.from(
350
- cell.querySelectorAll("button, a, udex-button, udex-link, udex-rating-indicator"),
350
+ cell.querySelectorAll("button, a, [udex-button], [udex-link], [udex-rating-indicator]"),
351
351
  ));
352
352
  }
353
353
 
package/src/TextArea.hbs CHANGED
@@ -1,16 +1,17 @@
1
1
  <div class="udex-textarea">
2
2
  <div class="udex-textarea__wrapper">
3
3
  {{#if label}}
4
- <label
5
- class="{{labelClasses}}"
6
- for="textarea"
7
- part="label"
8
- >
9
- {{label}}
10
- {{#if required}}
11
- *
12
- {{/if}}
13
- </label>
4
+ <label
5
+ class="{{labelClasses}}"
6
+ for="textarea"
7
+ part="label">
8
+ {{label}}
9
+ {{#if required}}
10
+ *
11
+ {{/if}}
12
+ </label>
13
+ {{else}}
14
+ <label for="textarea" class="hidden-label">{{textHiddenLabel}}</label>
14
15
  {{/if}}
15
16
  <textarea
16
17
  id="textarea"
@@ -32,23 +33,22 @@
32
33
  @focus="{{handleFocus}}"
33
34
  @click="{{handleClick}}"
34
35
  @blur="{{handleBlur}}"
35
- @change="{{handleChange}}"
36
- >
36
+ @change="{{handleChange}}">
37
37
  </textarea>
38
38
  </div>
39
39
  {{#if _supportingText}}
40
40
  <udex-status-message
41
- supporting-text-alignment="Right"
42
- ?disabled="{{disabled}}"
43
- supporting-text="{{_supportingText}}"
44
- value-state="{{fieldState}}">
41
+ supporting-text-alignment="Right"
42
+ ?disabled="{{disabled}}"
43
+ supporting-text="{{_supportingText}}"
44
+ value-state="{{fieldState}}">
45
45
  </udex-status-message>
46
- <span id="{{_id}}-supportingTextDesc" class="hidden-text"> {{_supportingText}} </span>
46
+ <span id="{{_id}}-supportingTextDesc" class="hidden-text">{{_supportingText}}</span>
47
47
  {{/if}}
48
48
  {{#if hasValueState}}
49
- <span id="{{_id}}-valueStateDesc" class="hidden-text"> {{ariaValueStateHiddenText}} </span>
50
- {{/if}}
49
+ <span id="{{_id}}-valueStateDesc" class="hidden-text">{{ariaValueStateHiddenText}}</span>
50
+ {{/if}}
51
51
  {{#if readonly}}
52
- <span id="{{_id}}-readonlyDesc" class="hidden-text"> {{readOnlyText}} </span>
53
- {{/if}}
52
+ <span id="{{_id}}-readonlyDesc" class="hidden-text">{{readOnlyText}}</span>
53
+ {{/if}}
54
54
  </div>