@sapudex/web-components 2.1.0 → 2.2.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 (321) hide show
  1. package/cypress/fixtures/footer-links.ts +221 -0
  2. package/cypress/specs/Checkbox.cy.tsx +92 -0
  3. package/cypress/specs/Footer.cy.tsx +313 -0
  4. package/cypress/specs/ListItem.cy.tsx +4 -4
  5. package/cypress/specs/PhoneNumberField.cy.tsx +2 -2
  6. package/cypress/specs/SecondaryNavigationDesktop.cy.tsx +28 -37
  7. package/cypress/specs/Slider.cy.tsx +4 -3
  8. package/cypress/specs/TextField.cy.tsx +4 -0
  9. package/cypress/specs/Tooltip.cy.tsx +26 -0
  10. package/cypress/specs/Upload.cy.tsx +3 -3
  11. package/dist/Badge.d.ts +2 -2
  12. package/dist/Badge.js +4 -4
  13. package/dist/Badge.js.map +1 -1
  14. package/dist/Breadcrumbs.d.ts +1 -0
  15. package/dist/Breadcrumbs.js +11 -1
  16. package/dist/Breadcrumbs.js.map +1 -1
  17. package/dist/Button.d.ts +12 -1
  18. package/dist/Button.js +12 -1
  19. package/dist/Button.js.map +1 -1
  20. package/dist/Checkbox.d.ts +18 -0
  21. package/dist/Checkbox.js +39 -1
  22. package/dist/Checkbox.js.map +1 -1
  23. package/dist/ControlButton.d.ts +2 -1
  24. package/dist/ControlButton.js +2 -1
  25. package/dist/ControlButton.js.map +1 -1
  26. package/dist/DatePicker.d.ts +2 -2
  27. package/dist/DatePicker.js.map +1 -1
  28. package/dist/InputGroup.d.ts +5 -2
  29. package/dist/InputGroup.js +6 -0
  30. package/dist/InputGroup.js.map +1 -1
  31. package/dist/Link.d.ts +3 -4
  32. package/dist/Link.js +4 -5
  33. package/dist/Link.js.map +1 -1
  34. package/dist/ListItem.d.ts +3 -2
  35. package/dist/ListItem.js +2 -2
  36. package/dist/ListItem.js.map +1 -1
  37. package/dist/MastheadItem.js +1 -1
  38. package/dist/MastheadItem.js.map +1 -1
  39. package/dist/MediaPlayer.d.ts +2 -1
  40. package/dist/MediaPlayer.js.map +1 -1
  41. package/dist/MediaPlayerYoutube.d.ts +2 -1
  42. package/dist/MediaPlayerYoutube.js.map +1 -1
  43. package/dist/Pagination.d.ts +1 -1
  44. package/dist/Pagination.js.map +1 -1
  45. package/dist/PasswordField.d.ts +10 -0
  46. package/dist/PasswordField.js +14 -0
  47. package/dist/PasswordField.js.map +1 -1
  48. package/dist/PhoneNumberField.d.ts +6 -2
  49. package/dist/PhoneNumberField.js +22 -2
  50. package/dist/PhoneNumberField.js.map +1 -1
  51. package/dist/ProgressBar.d.ts +2 -2
  52. package/dist/ProgressBar.js +6 -6
  53. package/dist/ProgressBar.js.map +1 -1
  54. package/dist/RadioButton.d.ts +3 -2
  55. package/dist/RadioButton.js +7 -6
  56. package/dist/RadioButton.js.map +1 -1
  57. package/dist/Search.d.ts +0 -1
  58. package/dist/Search.js +1 -3
  59. package/dist/Search.js.map +1 -1
  60. package/dist/SecondaryNavigation.d.ts +4 -1
  61. package/dist/SecondaryNavigation.js +38 -10
  62. package/dist/SecondaryNavigation.js.map +1 -1
  63. package/dist/SecondaryNavigationItem.d.ts +10 -0
  64. package/dist/SecondaryNavigationItem.js +19 -0
  65. package/dist/SecondaryNavigationItem.js.map +1 -1
  66. package/dist/SecondaryNavigationItemBase.d.ts +1 -0
  67. package/dist/SecondaryNavigationItemBase.js +4 -0
  68. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  69. package/dist/SecondaryNavigationSubItem.d.ts +0 -1
  70. package/dist/SecondaryNavigationSubItem.js +0 -4
  71. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  72. package/dist/SegmentedButton.d.ts +1 -1
  73. package/dist/SegmentedButton.js +1 -1
  74. package/dist/SegmentedButton.js.map +1 -1
  75. package/dist/SegmentedButtonItem.d.ts +1 -1
  76. package/dist/SegmentedButtonItem.js +2 -2
  77. package/dist/SegmentedButtonItem.js.map +1 -1
  78. package/dist/StatusBadge.d.ts +8 -3
  79. package/dist/StatusBadge.js +9 -1
  80. package/dist/StatusBadge.js.map +1 -1
  81. package/dist/StepInput.d.ts +3 -3
  82. package/dist/StepInput.js.map +1 -1
  83. package/dist/TableCellBase.d.ts +2 -2
  84. package/dist/TableCellBase.js.map +1 -1
  85. package/dist/Tag.d.ts +2 -2
  86. package/dist/Tag.js +4 -4
  87. package/dist/Tag.js.map +1 -1
  88. package/dist/TextArea.d.ts +2 -2
  89. package/dist/TextArea.js +9 -9
  90. package/dist/TextArea.js.map +1 -1
  91. package/dist/TextField.d.ts +10 -2
  92. package/dist/TextField.js +20 -5
  93. package/dist/TextField.js.map +1 -1
  94. package/dist/Toast.js +1 -1
  95. package/dist/Toast.js.map +1 -1
  96. package/dist/Tooltip.d.ts +5 -0
  97. package/dist/Tooltip.js +11 -1
  98. package/dist/Tooltip.js.map +1 -1
  99. package/dist/Upload.d.ts +1 -1
  100. package/dist/Upload.js +1 -1
  101. package/dist/Upload.js.map +1 -1
  102. package/dist/UploadItem.d.ts +3 -3
  103. package/dist/UploadItem.js +9 -9
  104. package/dist/UploadItem.js.map +1 -1
  105. package/dist/assets/InputSuggestions-KGCQrV_T.js +2 -0
  106. package/dist/assets/{ListItemStandardExpandableTextTemplate-BymOTLVD.js → ListItemStandardExpandableTextTemplate-D4zLIdLd.js} +2 -2
  107. package/dist/assets/bundle-C9ZlnwwH.css +1 -0
  108. package/dist/assets/bundle.esm-Diw1zQ-o.js +384 -0
  109. package/dist/assets/parameters-bundle.css-1GGBOW8m.js +2 -0
  110. package/dist/assets/parameters-bundle.css-A9eeRg2R.js +2 -0
  111. package/dist/assets/parameters-bundle.css-COBI_9-U.js +2 -0
  112. package/dist/assets/parameters-bundle.css-CgAoZ-Ir.js +2 -0
  113. package/dist/assets/parameters-bundle.css-DuFHHRNK.js +2 -0
  114. package/dist/assets/parameters-bundle.css-Pf68NO0T.js +2 -0
  115. package/dist/assets/parameters-bundle.css-aX_t_-9o.js +2 -0
  116. package/dist/assets/parameters-bundle.css-rNSryFKH.js +2 -0
  117. package/dist/css/themes/Breadcrumbs.css +1 -1
  118. package/dist/css/themes/Button.css +1 -1
  119. package/dist/css/themes/Checkbox.css +1 -1
  120. package/dist/css/themes/ListItem.css +1 -1
  121. package/dist/css/themes/MastheadShell.css +1 -1
  122. package/dist/css/themes/Modal.css +1 -1
  123. package/dist/css/themes/RadioButton.css +1 -1
  124. package/dist/css/themes/RatingIndicator.css +1 -1
  125. package/dist/css/themes/Search.css +1 -1
  126. package/dist/css/themes/SideNavigationItem.css +1 -1
  127. package/dist/css/themes/SideNavigationSubItem.css +1 -1
  128. package/dist/css/themes/Slider.css +1 -1
  129. package/dist/css/themes/Tooltip.css +1 -1
  130. package/dist/css/themes/WizardTab.css +1 -1
  131. package/dist/custom-elements-internal.json +201 -38
  132. package/dist/custom-elements.json +173 -36
  133. package/dist/generated/json-imports/Themes-node.d.ts +1 -0
  134. package/dist/generated/json-imports/Themes-node.js +19 -0
  135. package/dist/generated/json-imports/Themes-node.js.map +1 -0
  136. package/dist/generated/json-imports/i18n-node.d.ts +1 -0
  137. package/dist/generated/json-imports/i18n-node.js +82 -0
  138. package/dist/generated/json-imports/i18n-node.js.map +1 -0
  139. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +1 -1
  140. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +1 -1
  141. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
  142. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  143. package/dist/generated/templates/FilterMenuTemplate.lit.js +1 -1
  144. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  145. package/dist/generated/templates/PasswordFieldTemplate.lit.js +1 -1
  146. package/dist/generated/templates/PasswordFieldTemplate.lit.js.map +1 -1
  147. package/dist/generated/templates/SearchTemplate.lit.js +3 -3
  148. package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
  149. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +2 -2
  150. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
  151. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +1 -1
  152. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  153. package/dist/generated/templates/TextFieldTemplate.lit.js +1 -1
  154. package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
  155. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  156. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  157. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  158. package/dist/generated/themes/Button.css.d.ts +1 -1
  159. package/dist/generated/themes/Button.css.js +1 -1
  160. package/dist/generated/themes/Button.css.js.map +1 -1
  161. package/dist/generated/themes/Checkbox.css.d.ts +1 -1
  162. package/dist/generated/themes/Checkbox.css.js +1 -1
  163. package/dist/generated/themes/Checkbox.css.js.map +1 -1
  164. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  165. package/dist/generated/themes/ListItem.css.js +1 -1
  166. package/dist/generated/themes/ListItem.css.js.map +1 -1
  167. package/dist/generated/themes/MastheadShell.css.d.ts +1 -1
  168. package/dist/generated/themes/MastheadShell.css.js +1 -1
  169. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  170. package/dist/generated/themes/Modal.css.d.ts +1 -1
  171. package/dist/generated/themes/Modal.css.js +1 -1
  172. package/dist/generated/themes/Modal.css.js.map +1 -1
  173. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  174. package/dist/generated/themes/RadioButton.css.js +1 -1
  175. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  176. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  177. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  178. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  179. package/dist/generated/themes/Search.css.d.ts +1 -1
  180. package/dist/generated/themes/Search.css.js +1 -1
  181. package/dist/generated/themes/Search.css.js.map +1 -1
  182. package/dist/generated/themes/SideNavigationItem.css.d.ts +1 -1
  183. package/dist/generated/themes/SideNavigationItem.css.js +1 -1
  184. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  185. package/dist/generated/themes/SideNavigationSubItem.css.d.ts +1 -1
  186. package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
  187. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  188. package/dist/generated/themes/Slider.css.d.ts +1 -1
  189. package/dist/generated/themes/Slider.css.js +1 -1
  190. package/dist/generated/themes/Slider.css.js.map +1 -1
  191. package/dist/generated/themes/Tooltip.css.d.ts +1 -1
  192. package/dist/generated/themes/Tooltip.css.js +1 -1
  193. package/dist/generated/themes/Tooltip.css.js.map +1 -1
  194. package/dist/generated/themes/WizardTab.css.d.ts +1 -1
  195. package/dist/generated/themes/WizardTab.css.js +1 -1
  196. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  197. package/dist/types/ButtonAccessibleRole.d.ts +8 -0
  198. package/dist/types/ButtonAccessibleRole.js +10 -0
  199. package/dist/types/ButtonAccessibleRole.js.map +1 -0
  200. package/dist/types/{Button.d.ts → ButtonDesign.d.ts} +1 -15
  201. package/dist/types/ButtonDesign.js +16 -0
  202. package/dist/types/ButtonDesign.js.map +1 -0
  203. package/dist/types/ButtonSize.d.ts +6 -0
  204. package/dist/types/ButtonSize.js +8 -0
  205. package/dist/types/ButtonSize.js.map +1 -0
  206. package/dist/types/ControlButtonDesign.d.ts +10 -0
  207. package/dist/types/ControlButtonDesign.js +12 -0
  208. package/dist/types/ControlButtonDesign.js.map +1 -0
  209. package/dist/types/ProgressBar.d.ts +1 -1
  210. package/dist/types/ProgressBar.js +1 -1
  211. package/dist/types/ProgressBar.js.map +1 -1
  212. package/dist/types/common.d.ts +1 -1
  213. package/dist/types/common.js +1 -1
  214. package/dist/types/common.js.map +1 -1
  215. package/dist/vscode.html-custom-data.json +26 -10
  216. package/dist/web-types.json +43 -13
  217. package/package.json +8 -8
  218. package/src/Badge.ts +4 -4
  219. package/src/Breadcrumbs.hbs +7 -10
  220. package/src/Breadcrumbs.ts +14 -1
  221. package/src/BreadcrumbsPopover.hbs +3 -1
  222. package/src/Button.ts +12 -1
  223. package/src/Checkbox.ts +51 -0
  224. package/src/ControlButton.ts +2 -1
  225. package/src/DatePicker.ts +2 -2
  226. package/src/FilterMenu.hbs +1 -0
  227. package/src/InputGroup.ts +5 -2
  228. package/src/Link.ts +4 -5
  229. package/src/ListItem.ts +4 -4
  230. package/src/MastheadItem.ts +1 -1
  231. package/src/MediaPlayer.ts +3 -1
  232. package/src/MediaPlayerYoutube.ts +4 -2
  233. package/src/Pagination.ts +1 -1
  234. package/src/PasswordField.hbs +1 -0
  235. package/src/PasswordField.ts +14 -0
  236. package/src/PhoneNumberField.ts +25 -4
  237. package/src/ProgressBar.ts +6 -6
  238. package/src/RadioButton.ts +7 -6
  239. package/src/Search.hbs +3 -2
  240. package/src/Search.ts +1 -3
  241. package/src/SecondaryNavigation.hbs +1 -0
  242. package/src/SecondaryNavigation.ts +41 -12
  243. package/src/SecondaryNavigationItem.hbs +2 -1
  244. package/src/SecondaryNavigationItem.ts +31 -0
  245. package/src/SecondaryNavigationItemBase.ts +3 -0
  246. package/src/SecondaryNavigationSubItem.ts +0 -3
  247. package/src/SegmentedButton.ts +1 -1
  248. package/src/SegmentedButtonItem.ts +2 -2
  249. package/src/StatusBadge.ts +8 -3
  250. package/src/StepInput.ts +3 -3
  251. package/src/TableCellBase.ts +2 -2
  252. package/src/Tag.ts +4 -4
  253. package/src/TextArea.ts +9 -9
  254. package/src/TextField.hbs +2 -0
  255. package/src/TextField.ts +21 -5
  256. package/src/Toast.ts +1 -1
  257. package/src/Tooltip.ts +19 -0
  258. package/src/Upload.ts +1 -1
  259. package/src/UploadItem.ts +9 -9
  260. package/src/generated/json-imports/Themes-node.ts +21 -0
  261. package/src/generated/json-imports/i18n-node.ts +85 -0
  262. package/src/generated/templates/BreadcrumbsPopoverTemplate.lit.ts +1 -1
  263. package/src/generated/templates/BreadcrumbsTemplate.lit.ts +1 -1
  264. package/src/generated/templates/FilterMenuTemplate.lit.ts +1 -1
  265. package/src/generated/templates/PasswordFieldTemplate.lit.ts +1 -1
  266. package/src/generated/templates/SearchTemplate.lit.ts +3 -3
  267. package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +2 -2
  268. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +1 -1
  269. package/src/generated/templates/TextFieldTemplate.lit.ts +1 -1
  270. package/src/generated/themes/Breadcrumbs.css.ts +1 -1
  271. package/src/generated/themes/Button.css.ts +1 -1
  272. package/src/generated/themes/Checkbox.css.ts +1 -1
  273. package/src/generated/themes/ListItem.css.ts +1 -1
  274. package/src/generated/themes/MastheadShell.css.ts +1 -1
  275. package/src/generated/themes/Modal.css.ts +1 -1
  276. package/src/generated/themes/RadioButton.css.ts +1 -1
  277. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  278. package/src/generated/themes/Search.css.ts +1 -1
  279. package/src/generated/themes/SideNavigationItem.css.ts +1 -1
  280. package/src/generated/themes/SideNavigationSubItem.css.ts +1 -1
  281. package/src/generated/themes/Slider.css.ts +1 -1
  282. package/src/generated/themes/Tooltip.css.ts +1 -1
  283. package/src/generated/themes/WizardTab.css.ts +1 -1
  284. package/src/themes/Breadcrumbs.css +3 -0
  285. package/src/themes/Button.css +11 -7
  286. package/src/themes/Checkbox.css +15 -1
  287. package/src/themes/ListItem.css +4 -0
  288. package/src/themes/MastheadShell.css +2 -1
  289. package/src/themes/Modal.css +2 -1
  290. package/src/themes/RadioButton.css +2 -0
  291. package/src/themes/Search.css +9 -1
  292. package/src/themes/SideNavigationItem.css +9 -1
  293. package/src/themes/SideNavigationSubItem.css +7 -0
  294. package/src/themes/Tooltip.css +1 -1
  295. package/src/themes/WizardTab.css +5 -0
  296. package/src/types/ButtonAccessibleRole.ts +9 -0
  297. package/src/types/{Button.ts → ButtonDesign.ts} +1 -17
  298. package/src/types/ButtonSize.ts +7 -0
  299. package/src/types/ControlButtonDesign.ts +11 -0
  300. package/src/types/ProgressBar.ts +1 -1
  301. package/src/types/common.ts +1 -1
  302. package/dist/assets/InputSuggestions-DoWo0hwS.js +0 -2
  303. package/dist/assets/bundle-7XIcgsQH.css +0 -1
  304. package/dist/assets/bundle.esm-D10tX-qa.js +0 -380
  305. package/dist/assets/parameters-bundle.css-BU4Bi-ho.js +0 -2
  306. package/dist/assets/parameters-bundle.css-Beilb2gS.js +0 -2
  307. package/dist/assets/parameters-bundle.css-BzQMaZUt.js +0 -2
  308. package/dist/assets/parameters-bundle.css-Bzfv_Fox.js +0 -2
  309. package/dist/assets/parameters-bundle.css-CLwmjytB.js +0 -2
  310. package/dist/assets/parameters-bundle.css-CU3plTdF.js +0 -2
  311. package/dist/assets/parameters-bundle.css-DRX-o-Cb.js +0 -2
  312. package/dist/assets/parameters-bundle.css-DhFMZJhW.js +0 -2
  313. package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +0 -1
  314. package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +0 -1
  315. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.d.ts +0 -2
  316. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +0 -3
  317. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +0 -1
  318. package/dist/types/Button.js +0 -33
  319. package/dist/types/Button.js.map +0 -1
  320. package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +0 -2
  321. package/src/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +0 -195
@@ -3,13 +3,13 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
3
3
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
4
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
5
5
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
6
+ import type { UDExAspectRatio } from "./MediaPlayer.js";
6
7
 
7
8
  import MediaPlayerYoutubeTemplate from "./generated/templates/MediaPlayerYoutubeTemplate.lit.js";
8
9
 
9
10
  // Styles
10
11
  import MediaPlayerYoutubeCss from "./generated/themes/MediaPlayerYoutube.css.js";
11
12
  import MediaPlayerCss from "./generated/themes/MediaPlayer.css.js";
12
- import type { UDExAspectRatio } from "./MediaPlayer.js";
13
13
 
14
14
  const MATCH_NOCOOKIE = /youtube-nocookie\.com/;
15
15
  const MATCH_URL_YOUTUBE = /(?:youtu\.be\/|youtube(?:-nocookie|education)?\.com\/(?:embed\/|v\/|watch\/|watch\?v=|watch\?.+&v=|shorts\/|live\/))((\w|-){11})|youtube\.com\/playlist\?list=|youtube\.com\/user\//;
@@ -22,6 +22,8 @@ const MATCH_END_QUERY = /[?&#]end=([0-9hms]+)/;
22
22
  const MATCH_START_STAMP = /(\d+)(h|m|s)/g;
23
23
  const MATCH_NUMERIC = /^\d+$/;
24
24
 
25
+ export type YoutubePlayer = YT.Player;
26
+
25
27
  declare global {
26
28
  interface Window {
27
29
  onYouTubeIframeAPIReady: () => void;
@@ -293,7 +295,7 @@ class UDExMediaPlayerYoutube extends UI5Element {
293
295
  * Returns video element
294
296
  * @public
295
297
  */
296
- getPlayer(): YT.Player | null {
298
+ getPlayer(): YoutubePlayer | null {
297
299
  return this.youtubePlayer || null;
298
300
  }
299
301
 
package/src/Pagination.ts CHANGED
@@ -46,7 +46,7 @@ export enum UDExDisplayType {
46
46
  mobile = "mobile"
47
47
  }
48
48
 
49
- type UDExPaginationChangeEventDetail = {
49
+ export type UDExPaginationChangeEventDetail = {
50
50
  currentPage: number,
51
51
  }
52
52
 
@@ -2,6 +2,7 @@
2
2
  type="{{type}}"
3
3
  value="{{value}}"
4
4
  label="{{passwordLabel}}"
5
+ autocomplete="{{autocomplete}}"
5
6
  ?disabled="{{disabled}}"
6
7
  ?readonly="{{readonly}}"
7
8
  ?displayonly="{{displayonly}}"
@@ -20,6 +20,12 @@ export enum UDExIconType {
20
20
  Hide = "hide",
21
21
  Show = "show",
22
22
  }
23
+
24
+ export enum UDExPasswordFieldAutoComplete {
25
+ On = "on",
26
+ Off = "off",
27
+ }
28
+
23
29
  /**
24
30
  * @class
25
31
  *
@@ -55,6 +61,14 @@ class UDExPasswordField extends UI5Element {
55
61
  @property({ type: String, noAttribute: true })
56
62
  type: UDExInputType = UDExInputType.Password;
57
63
 
64
+ /**
65
+ * Defines the behaviour of autocomplete.
66
+ *
67
+ * @public
68
+ */
69
+ @property({ type: String })
70
+ autocomplete: `${UDExPasswordFieldAutoComplete}` = "off";
71
+
58
72
  /**
59
73
  * Defines whether the component is in disabled state.
60
74
  * <br><br>
@@ -24,7 +24,6 @@ import "@ui5/webcomponents-icons/dist/slim-arrow-up.js";
24
24
  import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
25
25
 
26
26
  import PhoneNumberFieldTemplate from "./generated/templates/PhoneNumberFieldTemplate.lit.js";
27
- import type UDExValueState from "./types/common.js";
28
27
 
29
28
  // Styles
30
29
  import PhoneNumberFieldCss from "./generated/themes/PhoneNumberField.css.js";
@@ -39,9 +38,17 @@ export enum UDExOpenButtonIcon {
39
38
  iconDown = "slim-arrow-down",
40
39
  }
41
40
 
42
- export type UDExPhoneNumberFieldValueState = Exclude<UDExValueState, "Warning">
41
+ export enum UDExPhoneNumberFieldValueState {
42
+ Standard = "Standard",
43
+ Error = "Error",
44
+ Success = "Success",
45
+ }
43
46
 
44
47
  const initialPlaceholder: string = "+X XXX-XXX-XXXX";
48
+ /**
49
+ * Maximum number of possible digits based on international standard https://en.wikipedia.org/wiki/E.164
50
+ */
51
+ const digitsLimit: number = 15;
45
52
 
46
53
  /**
47
54
  * @class
@@ -97,7 +104,7 @@ class UDExPhoneNumberField extends UI5Element {
97
104
  * @public
98
105
  */
99
106
  @property()
100
- valueState: `${UDExPhoneNumberFieldValueState}` = "Standard";
107
+ valueState: `${UDExPhoneNumberFieldValueState}` = UDExPhoneNumberFieldValueState.Standard;
101
108
 
102
109
  /**
103
110
  * Defines supporting text under the input field.
@@ -432,6 +439,15 @@ class UDExPhoneNumberField extends UI5Element {
432
439
  this._dropdownExpanded = false;
433
440
  }
434
441
 
442
+ calculateMaxLength(prefix: string, mask: string): number {
443
+ const prefixNonDigitCount = prefix.replace(/[\d]/g, "").length;
444
+ const maskNonDigitCount = mask.replace(/X/g, "").length;
445
+
446
+ const maxLength = digitsLimit + prefixNonDigitCount + maskNonDigitCount;
447
+
448
+ return maxLength;
449
+ }
450
+
435
451
  autoSelectCountry(value: string) {
436
452
  const countryToSelect = this.updatedCountriesList.find(country => {
437
453
  const valuePhonePrefix = value.substring(0, country.phonePrefix.length);
@@ -444,7 +460,7 @@ class UDExPhoneNumberField extends UI5Element {
444
460
  }
445
461
 
446
462
  if (this.selectedPhonePrefix && this.selectedPlaceholder) {
447
- this.maxlength = this.selectedPhonePrefix.length + this.selectedPlaceholder.length;
463
+ this.maxlength = this.calculateMaxLength(this.selectedPhonePrefix, this.selectedPlaceholder);
448
464
  }
449
465
  }
450
466
 
@@ -460,6 +476,7 @@ class UDExPhoneNumberField extends UI5Element {
460
476
  return;
461
477
  }
462
478
 
479
+ const maskLength = this.selectedPhonePrefix.length + this.selectedPlaceholder.length;
463
480
  const mask = this.selectedPhonePrefix + this.selectedPlaceholder;
464
481
  const maskSymbols = [" ", "-", "(", ")"];
465
482
 
@@ -476,6 +493,10 @@ class UDExPhoneNumberField extends UI5Element {
476
493
  return char;
477
494
  }).join("");
478
495
 
496
+ if (this.value.length >= maskLength) {
497
+ return;
498
+ }
499
+
479
500
  this.value = valueWithMask;
480
501
 
481
502
  if (this.value.length > this.maxlength) {
@@ -7,7 +7,7 @@ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
7
7
  import {
8
8
  VALUE_STATE_ERROR, VALUE_STATE_SUCCESS, VALUE_STATE_WARNING, VALUE_STATE_INFORMATION,
9
9
  } from "./generated/i18n/i18n-defaults.js";
10
- import ProgressBarValueState from "./types/ProgressBar.js";
10
+ import UDExProgressBarValueState from "./types/ProgressBar.js";
11
11
 
12
12
  // Styles
13
13
  import ProgressBarCss from "./generated/themes/ProgressBar.css.js";
@@ -47,17 +47,17 @@ class UDExProgressBar extends ProgressIndicator {
47
47
  */
48
48
  @property()
49
49
  /** @ts-expect-error */
50
- valueState!: `${ProgressBarValueState}` = ProgressBarValueState.None;
50
+ valueState!: `${UDExProgressBarValueState}` = UDExProgressBarValueState.None;
51
51
 
52
52
  @i18n("@sapudex/web-components")
53
53
  static i18nBundle: I18nBundle;
54
54
 
55
55
  valueStateTextMappings(): Record<string, string> {
56
56
  return {
57
- [ProgressBarValueState.Error]: UDExProgressBar.i18nBundle.getText(VALUE_STATE_ERROR),
58
- [ProgressBarValueState.Warning]: UDExProgressBar.i18nBundle.getText(VALUE_STATE_WARNING),
59
- [ProgressBarValueState.Success]: UDExProgressBar.i18nBundle.getText(VALUE_STATE_SUCCESS),
60
- [ProgressBarValueState.Information]: UDExProgressBar.i18nBundle.getText(VALUE_STATE_INFORMATION),
57
+ [UDExProgressBarValueState.Error]: UDExProgressBar.i18nBundle.getText(VALUE_STATE_ERROR),
58
+ [UDExProgressBarValueState.Warning]: UDExProgressBar.i18nBundle.getText(VALUE_STATE_WARNING),
59
+ [UDExProgressBarValueState.Success]: UDExProgressBar.i18nBundle.getText(VALUE_STATE_SUCCESS),
60
+ [UDExProgressBarValueState.Information]: UDExProgressBar.i18nBundle.getText(VALUE_STATE_INFORMATION),
61
61
  };
62
62
  }
63
63
  }
@@ -7,7 +7,7 @@ import {
7
7
  } from "./generated/i18n/i18n-defaults.js";
8
8
  import RadioButton from "@ui5/webcomponents/dist/RadioButton.js";
9
9
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
- import RadioButtonValueState from "./types/RadioButton.js";
10
+ import UDExRadioButtonValueState from "./types/RadioButton.js";
11
11
 
12
12
  // Styles
13
13
  import RadioButtonCss from "./generated/themes/RadioButton.css.js";
@@ -27,6 +27,7 @@ import RadioButtonCss from "./generated/themes/RadioButton.css.js";
27
27
  *
28
28
  * @constructor
29
29
  * @extends RadioButton
30
+ * @tagname udex-radio-button
30
31
  * @public
31
32
  */
32
33
  @customElement({
@@ -52,7 +53,7 @@ class UDExRadioButton extends RadioButton {
52
53
  */
53
54
  @property()
54
55
  /** @ts-expect-error */
55
- valueState!: `${RadioButtonValueState}` = RadioButtonValueState.None;
56
+ valueState!: `${UDExRadioButtonValueState}` = UDExRadioButtonValueState.None;
56
57
 
57
58
  @i18n("@sapudex/web-components")
58
59
  static i18nBundle: I18nBundle;
@@ -64,13 +65,13 @@ class UDExRadioButton extends RadioButton {
64
65
 
65
66
  get valueStateText(): string {
66
67
  switch (this.valueState) {
67
- case RadioButtonValueState.Error:
68
+ case UDExRadioButtonValueState.Error:
68
69
  return RadioButton.i18nBundle.getText(VALUE_STATE_ERROR);
69
- case RadioButtonValueState.Success:
70
+ case UDExRadioButtonValueState.Success:
70
71
  return RadioButton.i18nBundle.getText(VALUE_STATE_SUCCESS);
71
- case RadioButtonValueState.Information:
72
+ case UDExRadioButtonValueState.Information:
72
73
  return RadioButton.i18nBundle.getText(VALUE_STATE_INFORMATION);
73
- case RadioButtonValueState.Warning:
74
+ case UDExRadioButtonValueState.Warning:
74
75
  return RadioButton.i18nBundle.getText(VALUE_STATE_WARNING);
75
76
  default:
76
77
  return "";
package/src/Search.hbs CHANGED
@@ -73,8 +73,8 @@
73
73
  @click="{{handleInputClick}}"
74
74
  />
75
75
  {{/if}}
76
- {{#if accInfo.ariaDescription}}
77
- <span role="status" id="search-description" class="hidden" aria-hidden="true">{{accInfo.ariaDescription}}</span>
76
+ {{#if open}}
77
+ <span aria-live="polite" aria-atomic="true" id="search-description" class="hidden" aria-hidden="true">{{suggestionsDescription}}</span>
78
78
  {{/if}}
79
79
  <div class="udex-search__icons">
80
80
  {{#if isShowHomeResetButton}}
@@ -123,6 +123,7 @@
123
123
  class="udex-search__icon"
124
124
  aria-hidden="true"
125
125
  accessible-name="{{accInfo.accessibleNameSearchIcon}}"
126
+ show-tooltip
126
127
  name="search">
127
128
  </ui5-icon>
128
129
  {{/if}}
package/src/Search.ts CHANGED
@@ -710,7 +710,6 @@ class UDExSearch extends UI5Element {
710
710
 
711
711
  getTextWithSuggestion(text: string): string {
712
712
  const escapedValue = this.escapeRegExp(this.value);
713
- console.warn(escapedValue);
714
713
  const search = new RegExp(escapedValue, "i");
715
714
  return text.replace(search, "<b>$&</b>");
716
715
  }
@@ -1285,14 +1284,13 @@ class UDExSearch extends UI5Element {
1285
1284
  get accInfo() {
1286
1285
  return {
1287
1286
  "ariaLabel": this.accessibleName || undefined,
1288
- "ariaDescription": this.open ? this.suggestionsDescription : undefined,
1289
1287
  "accessibleNameResetIcon": this.accessibleNameResetIcon || UDExSearch.i18nBundle.getText(ACCESSIBLE_NAME_RESET_ICON),
1290
1288
  "accessibleNameSearchIcon": this.accessibleNameSearchIcon || UDExSearch.i18nBundle.getText(ACCESSIBLE_NAME_SEARCH_ICON),
1291
1289
  };
1292
1290
  }
1293
1291
 
1294
1292
  get suggestionsDescription(): string {
1295
- return this.hasPopoverContent ? `${this.suggestedList.length} ${this._suggestionLabel}, ${this.recommendedList.length} ${this._recommendLabel}` : `${this.noResultText}`;
1293
+ return !this.showNoResultMessage ? `${this.suggestedList.length} ${this._suggestionLabel}, ${this.recommendedList.length} ${this._recommendLabel}` : `${this.noResultMessage}`;
1296
1294
  }
1297
1295
 
1298
1296
  get tooltipInfo() {
@@ -66,6 +66,7 @@
66
66
  label="{{heading}}"
67
67
  mobile-link-title="{{title}}"
68
68
  @ui5-sub-item-click="{{handleSubItemClick}}"
69
+ _is-mobile-menu-opener
69
70
  .subItems="{{this.parsedItems}}">
70
71
  {{#if hasMobileButtonsSlot}}
71
72
  {{>buttons}}
@@ -145,7 +145,8 @@ class UDExSecondaryNavigation extends UI5Element {
145
145
  _mobileBtnExpanded = false;
146
146
 
147
147
  _navItems!: Array<NavItem>;
148
- _showMoreButton: boolean;
148
+ _showMoreButton: boolean = true;
149
+ _shouldFocusFirstItem: boolean = true;
149
150
  _rootHolder!: HTMLElement | null | undefined;
150
151
  _clickedNavItem!: UDExSecondaryNavigationItem;
151
152
  _boundReflowItems: () => void;
@@ -155,7 +156,6 @@ class UDExSecondaryNavigation extends UI5Element {
155
156
 
156
157
  constructor() {
157
158
  super();
158
- this._showMoreButton = true;
159
159
  this._boundReflowItems = this._handleResize.bind(this);
160
160
  }
161
161
 
@@ -171,13 +171,6 @@ class UDExSecondaryNavigation extends UI5Element {
171
171
  ResizeHandler.deregister(this, this._boundReflowItems);
172
172
  }
173
173
 
174
- _handleResize() {
175
- this.reflowItems();
176
- if (this._clickedNavItem && this.isDesktopScreen) {
177
- this._clickedNavItem.closeDropdown();
178
- }
179
- }
180
-
181
174
  onInvalidation(changeInfo: ChangeInfo): void {
182
175
  if (changeInfo.name === "navItems") {
183
176
  this.reflowItems();
@@ -186,6 +179,12 @@ class UDExSecondaryNavigation extends UI5Element {
186
179
 
187
180
  onAfterRendering(): void {
188
181
  this._rootHolder = this.rootHolder;
182
+ if (!this._overflowItems.length) {
183
+ this._showMoreButton = true;
184
+ }
185
+ if (this._shouldFocusFirstItem && this.isDesktopScreen) {
186
+ this.domNavItems[0]._tabIndex = "0";
187
+ }
189
188
  this.handleOutsideClick();
190
189
  }
191
190
 
@@ -193,6 +192,16 @@ class UDExSecondaryNavigation extends UI5Element {
193
192
  this._requestRender = !this._requestRender;
194
193
  }
195
194
 
195
+ _handleResize() {
196
+ this.reflowItems();
197
+ if (this.isDesktopScreen) {
198
+ this.resetTabIndex();
199
+ }
200
+ if (this._clickedNavItem && this.isDesktopScreen) {
201
+ this._clickedNavItem.closeDropdown();
202
+ }
203
+ }
204
+
196
205
  reflowItems(): void {
197
206
  const availableWidth = this.rootHolder.offsetWidth - (this.headingHolder?.offsetWidth || 0) - (this.optionalButtons?.offsetWidth || 0);
198
207
  const moreButtonWidth = this.getMoreButtonWidth();
@@ -243,9 +252,12 @@ class UDExSecondaryNavigation extends UI5Element {
243
252
  const item = e.target as UDExSecondaryNavigationItem;
244
253
  const currentSelectedIndex = this.getCurrentIndex(item);
245
254
  const previousSelectIndex = currentSelectedIndex - 1;
255
+ const previousItem = this.domNavItems[previousSelectIndex];
246
256
  if (currentSelectedIndex > 0) {
247
257
  e.preventDefault();
248
- this.domNavItems[previousSelectIndex]?.focus();
258
+ this.domNavItems[currentSelectedIndex]._tabIndex = "-1";
259
+ previousItem._tabIndex = "0";
260
+ previousItem?.focus();
249
261
  }
250
262
  }
251
263
 
@@ -254,9 +266,12 @@ class UDExSecondaryNavigation extends UI5Element {
254
266
  const currentSelectedIndex = this.getCurrentIndex(item);
255
267
  const lastItemIndex = this.domNavItems.length - 1;
256
268
  const nextSelectIndex = currentSelectedIndex + 1;
269
+ const nextItem = this.domNavItems[nextSelectIndex];
257
270
  if (nextSelectIndex < lastItemIndex) {
258
271
  e.preventDefault();
259
- this.domNavItems[nextSelectIndex].focus();
272
+ this.domNavItems[currentSelectedIndex]._tabIndex = "-1";
273
+ nextItem._tabIndex = "0";
274
+ nextItem.focus();
260
275
  }
261
276
  }
262
277
 
@@ -305,6 +320,8 @@ class UDExSecondaryNavigation extends UI5Element {
305
320
  }
306
321
 
307
322
  this._clickedNavItem = clickedItem;
323
+ this._shouldFocusFirstItem = false;
324
+ this.setTabIndexById(_id);
308
325
  this.closePrevDropdown(_id);
309
326
 
310
327
  if (!subItems.length) {
@@ -401,7 +418,7 @@ class UDExSecondaryNavigation extends UI5Element {
401
418
 
402
419
  closePrevDropdown(clickedItemId: string): void {
403
420
  this.domNavItems.forEach(item => {
404
- if (clickedItemId !== item._id) {
421
+ if (item.isOpen && item._id !== clickedItemId) {
405
422
  item.closeDropdown();
406
423
  }
407
424
  });
@@ -411,6 +428,18 @@ class UDExSecondaryNavigation extends UI5Element {
411
428
  return string ? JSON.parse(string) as T[] : [];
412
429
  }
413
430
 
431
+ resetTabIndex(): void {
432
+ this.domNavItems.forEach((item, index) => {
433
+ item._tabIndex = index === 0 ? "0" : "-1";
434
+ });
435
+ }
436
+
437
+ setTabIndexById(id: string): void {
438
+ this.domNavItems.forEach(item => {
439
+ item._tabIndex = id === item._id ? "0" : "-1";
440
+ });
441
+ }
442
+
414
443
  get domNavItems(): Array<UDExSecondaryNavigationItem> {
415
444
  const items = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationItem>("[udex-secondary-navigation-item]");
416
445
  return items ? Array.from(items) : [];
@@ -5,6 +5,7 @@
5
5
  ?active="{{isActive}}"
6
6
  href="{{path}}"
7
7
  target="{{target}}"
8
+ tabindex="{{_tabIndex}}"
8
9
  aria-current="{{ariaCurrent}}"
9
10
  @keydown="{{handleItemLinkKeyDown}}"
10
11
  @click="{{fireNavItemClickEvent}}">
@@ -14,7 +15,7 @@
14
15
  <button
15
16
  class="udex-secondary-navigation__item"
16
17
  role="{{itemRole}}"
17
- tabindex="0"
18
+ tabindex="{{menuOpenerTabIndex}}"
18
19
  ?active="{{isActive}}"
19
20
  aria-haspopup="{{hasNestedItems}}"
20
21
  aria-expanded="{{isOpen}}"
@@ -157,9 +157,20 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
157
157
  @property({ type: Object })
158
158
  _processedItems: Array<NavItem> = [];
159
159
 
160
+ /**
161
+ * Defines if item is mobile menu opener.
162
+ *
163
+ * @private
164
+ * @default false
165
+ */
166
+ @property({ type: Boolean })
167
+ _isMobileMenuOpener!: boolean;
168
+
160
169
  _dropdownHistory: Array<Array<NavItem>> = [];
161
170
  _shouldFocusFirstSubItem!: boolean;
162
171
  _subTitle!: string | undefined;
172
+ _shouldResetTabIndex!: boolean;
173
+ _shouldSetTabIndex!: boolean;
163
174
 
164
175
  onAfterRendering(): void {
165
176
  if (this.isLastItem && this.isOpen && !this._isMobileView) {
@@ -174,6 +185,16 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
174
185
  if (this._isMobileView && this.isOpen) {
175
186
  this.setDropdownHeight();
176
187
  }
188
+
189
+ if (this._shouldSetTabIndex) {
190
+ this._tabIndex = "0";
191
+ this._shouldSetTabIndex = false;
192
+ }
193
+
194
+ if (this._shouldResetTabIndex) {
195
+ this._tabIndex = "-1";
196
+ this._shouldResetTabIndex = false;
197
+ }
177
198
  }
178
199
 
179
200
  onBeforeRendering() : void {
@@ -202,6 +223,7 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
202
223
  if (this.hasNestedItems) {
203
224
  this.setDropdownItems();
204
225
  this.isOpen = !this.isOpen;
226
+ this._shouldResetTabIndex = true;
205
227
  this.onShouldFocusFirstSubItem();
206
228
  }
207
229
 
@@ -210,6 +232,7 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
210
232
 
211
233
  closeDropdown(): void {
212
234
  this.isOpen = false;
235
+ this._shouldSetTabIndex = true;
213
236
  }
214
237
 
215
238
  handleItemLinkKeyDown(e: KeyboardEvent): void {
@@ -425,6 +448,14 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
425
448
  return this.shadowRoot!.querySelector<HTMLElement>(".udex-secondary-navigation__dropdown")!;
426
449
  }
427
450
 
451
+ get menuOpenerTabIndex(): string {
452
+ if (this._isMobileMenuOpener) {
453
+ return "0";
454
+ }
455
+
456
+ return this._tabIndex;
457
+ }
458
+
428
459
  get isLastItem(): boolean {
429
460
  return this._navItemsLength === this.index;
430
461
  }
@@ -94,6 +94,9 @@ class UDExSecondaryNavigationItemBase extends UI5Element {
94
94
  @property({ type: Boolean })
95
95
  _isMobileView!: boolean;
96
96
 
97
+ @property({ type: String })
98
+ _tabIndex: string = "-1";
99
+
97
100
  _handleResizeBound: ResizeObserverCallback;
98
101
 
99
102
  constructor() {
@@ -89,9 +89,6 @@ class UDExSecondaryNavigationSubItem extends UDExSecondaryNavigationItemBase {
89
89
  @property({ type: Object })
90
90
  nestedItems: Array<NavItem> = [];
91
91
 
92
- @property({ type: String })
93
- _tabIndex: string = "-1";
94
-
95
92
  @i18n("@sapudex/web-components")
96
93
  static i18nBundle: I18nBundle;
97
94
 
@@ -9,7 +9,7 @@ import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsSco
9
9
  import SegmentedButtonSelectionMode from "@ui5/webcomponents/dist/types/SegmentedButtonSelectionMode.js";
10
10
  import SegmentedButtonCss from "./generated/themes/SegmentedButton.css.js";
11
11
  import UDExSegmentedButtonItem from "./SegmentedButtonItem.js";
12
- import { UDExButtonSize } from "./types/Button.js";
12
+ import UDExButtonSize from "./types/ButtonSize.js";
13
13
 
14
14
  /**
15
15
  * @class
@@ -5,7 +5,7 @@ import SegmentedButtonItem from "@ui5/webcomponents/dist/SegmentedButtonItem.js"
5
5
  // Styles
6
6
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
7
7
  import SegmentedButtonItemCss from "./generated/themes/SegmentedButtonItem.css.js";
8
- import { UDExButtonSize } from "./types/Button.js";
8
+ import UDExButtonSize from "./types/ButtonSize.js";
9
9
 
10
10
  /**
11
11
  * @class
@@ -44,7 +44,7 @@ class UDExSegmentedButtonItem extends SegmentedButtonItem {
44
44
  *
45
45
  * @private
46
46
  */
47
- @property()
47
+ @property({ type: Boolean })
48
48
  hasIcon: boolean = false;
49
49
 
50
50
  constructor() {
@@ -23,7 +23,6 @@ import StatusBadgeTemplate from "./generated/templates/StatusBadgeTemplate.lit.j
23
23
 
24
24
  // Styles
25
25
  import StatusBadgeCss from "./generated/themes/StatusBadge.css.js";
26
- import type UDExProgressBarValueState from "./types/ProgressBar.js";
27
26
 
28
27
  export enum IconMapping {
29
28
  Success = "sys-enter-2",
@@ -41,7 +40,13 @@ export enum BadgeSize {
41
40
  XL = "XL",
42
41
  }
43
42
 
44
- export type UDExStatusBadgeValueState = `${Exclude<UDExProgressBarValueState, "None">}` | "Edit";
43
+ export enum UDExStatusBadgeValueState {
44
+ Warning = "Warning",
45
+ Error = "Error",
46
+ Success = "Success",
47
+ Information = "Information",
48
+ Edit = "Edit"
49
+ }
45
50
 
46
51
  /**
47
52
  * @class
@@ -75,7 +80,7 @@ class UDExStatusBadge extends UI5Element {
75
80
  * @public
76
81
  */
77
82
  @property()
78
- valueState: UDExStatusBadgeValueState = "Information";
83
+ valueState: `${UDExStatusBadgeValueState}` = UDExStatusBadgeValueState.Information;
79
84
 
80
85
  /**
81
86
  * Defines predefined size of the component.
package/src/StepInput.ts CHANGED
@@ -28,7 +28,7 @@ import StepInputTemplate from "./StepInputTemplate.js";
28
28
 
29
29
  // Styles
30
30
  import StepInputCss from "./generated/themes/StepInput.css.js";
31
- import type { UDExControlButtonDesign } from "./types/Button.js";
31
+ import type UDExControlButtonDesign from "./types/ControlButtonDesign.js";
32
32
  import type { UDExTextFieldKeydownEventDetail } from "./TextField.js";
33
33
 
34
34
  // Spin variables
@@ -37,11 +37,11 @@ const ACCELERATION = 0.8;
37
37
  const MIN_WAIT_TIMEOUT = 50; // milliseconds
38
38
  const INITIAL_SPEED = 120; // milliseconds
39
39
 
40
- type UDExStepInputValueChangeEventDetail = {
40
+ export type UDExStepInputValueChangeEventDetail = {
41
41
  value: number,
42
42
  }
43
43
 
44
- type UDExStepInputValueStateChangeEventDetail = {
44
+ export type UDExStepInputValueStateChangeEventDetail = {
45
45
  valueState: `${UDExValueState}`,
46
46
  valid: boolean
47
47
  }
@@ -4,7 +4,7 @@ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
4
4
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
5
5
  import Icon from "@ui5/webcomponents/dist/Icon.js";
6
6
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
7
- import type TableCellHorizontalAlign from "./types/Table.js";
7
+ import type UDExTableCellHorizontalAlign from "./types/Table.js";
8
8
 
9
9
  // Styles
10
10
  import TableCellBaseCss from "./generated/themes/TableCellBase.css.js";
@@ -32,7 +32,7 @@ abstract class UDExTableCellBase extends UI5Element {
32
32
  * @public
33
33
  */
34
34
  @property()
35
- horizontalAlign?: `${TableCellHorizontalAlign}`;
35
+ horizontalAlign?: `${UDExTableCellHorizontalAlign}`;
36
36
 
37
37
  /**
38
38
  * Defines the content of the component.
package/src/Tag.ts CHANGED
@@ -8,7 +8,7 @@ import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delega
8
8
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
9
9
  import { isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
10
10
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
11
- import IconPlacement from "./types/IconPlacement.js";
11
+ import UDExIconPlacement from "./types/IconPlacement.js";
12
12
 
13
13
  import TagTemplate from "./generated/templates/TagTemplate.lit.js";
14
14
 
@@ -133,7 +133,7 @@ class UDExTag extends UI5Element {
133
133
  * @public
134
134
  */
135
135
  @property()
136
- iconPlacement : `${IconPlacement}` = IconPlacement.End;
136
+ iconPlacement : `${UDExIconPlacement}` = UDExIconPlacement.End;
137
137
 
138
138
  /**
139
139
  * Defines if tag is in readnly state
@@ -283,11 +283,11 @@ class UDExTag extends UI5Element {
283
283
  }
284
284
 
285
285
  get startIcon(): boolean {
286
- return this.hasIcon && this.iconPlacement === IconPlacement.Start;
286
+ return this.hasIcon && this.iconPlacement === UDExIconPlacement.Start;
287
287
  }
288
288
 
289
289
  get endIcon(): boolean {
290
- return this.hasIcon && this.iconPlacement === IconPlacement.End;
290
+ return this.hasIcon && this.iconPlacement === UDExIconPlacement.End;
291
291
  }
292
292
 
293
293
  get _tabIndex(): number {