@sapudex/web-components 2.24.0 → 2.25.1

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 (405) hide show
  1. package/bundle.esm.js +2 -0
  2. package/cypress/downloads/downloads.html +0 -0
  3. package/cypress/specs/EventRibbon.cy.tsx +7 -7
  4. package/cypress/specs/ImageGridTable.cy.tsx +41 -0
  5. package/cypress/specs/ImageGridTableItem.cy.tsx +101 -0
  6. package/cypress/specs/ImageGridTickerItem.cy.tsx +1 -2
  7. package/cypress/specs/MastheadProfileMenu.cy.tsx +16 -0
  8. package/cypress/specs/UploadItem.cy.tsx +14 -5
  9. package/cypress/support/component-imports.instrumented.ts +4 -0
  10. package/cypress/support/component-imports.src.ts +4 -0
  11. package/dist/Accordion.js +3 -2
  12. package/dist/Accordion.js.map +1 -1
  13. package/dist/Avatar.js +4 -3
  14. package/dist/Avatar.js.map +1 -1
  15. package/dist/Badge.js.map +1 -1
  16. package/dist/Breadcrumbs.js +4 -3
  17. package/dist/Breadcrumbs.js.map +1 -1
  18. package/dist/Button.js +3 -2
  19. package/dist/Button.js.map +1 -1
  20. package/dist/Carousel.d.ts +1 -0
  21. package/dist/Carousel.js +6 -4
  22. package/dist/Carousel.js.map +1 -1
  23. package/dist/CarouselTemplate.js +1 -1
  24. package/dist/CarouselTemplate.js.map +1 -1
  25. package/dist/Checkbox.js +3 -2
  26. package/dist/Checkbox.js.map +1 -1
  27. package/dist/Contact.js +5 -4
  28. package/dist/Contact.js.map +1 -1
  29. package/dist/CountrySelector.d.ts +1 -1
  30. package/dist/CountrySelector.js +1 -1
  31. package/dist/CountrySelector.js.map +1 -1
  32. package/dist/DatePicker.js +3 -2
  33. package/dist/DatePicker.js.map +1 -1
  34. package/dist/EventRibbon.d.ts +2 -2
  35. package/dist/EventRibbon.js.map +1 -1
  36. package/dist/FeedItem.js +2 -1
  37. package/dist/FeedItem.js.map +1 -1
  38. package/dist/FilterMenu.js +5 -4
  39. package/dist/FilterMenu.js.map +1 -1
  40. package/dist/Footer.js +15 -14
  41. package/dist/Footer.js.map +1 -1
  42. package/dist/ImageGridTable.d.ts +57 -0
  43. package/dist/ImageGridTable.js +120 -0
  44. package/dist/ImageGridTable.js.map +1 -0
  45. package/dist/ImageGridTableItem.d.ts +89 -0
  46. package/dist/ImageGridTableItem.js +108 -0
  47. package/dist/ImageGridTableItem.js.map +1 -0
  48. package/dist/ImageGridTableItemTemplate.d.ts +2 -0
  49. package/dist/ImageGridTableItemTemplate.js +13 -0
  50. package/dist/ImageGridTableItemTemplate.js.map +1 -0
  51. package/dist/ImageGridTableTemplate.d.ts +2 -0
  52. package/dist/ImageGridTableTemplate.js +5 -0
  53. package/dist/ImageGridTableTemplate.js.map +1 -0
  54. package/dist/ImageGridTicker.js +3 -2
  55. package/dist/ImageGridTicker.js.map +1 -1
  56. package/dist/ImageGridTickerItem.d.ts +4 -0
  57. package/dist/ImageGridTickerItem.js +14 -0
  58. package/dist/ImageGridTickerItem.js.map +1 -1
  59. package/dist/ImageGridTickerItemTemplate.js +1 -1
  60. package/dist/ImageGridTickerItemTemplate.js.map +1 -1
  61. package/dist/InputGroup.js +3 -2
  62. package/dist/InputGroup.js.map +1 -1
  63. package/dist/List.js +2 -1
  64. package/dist/List.js.map +1 -1
  65. package/dist/ListItem.d.ts +0 -2
  66. package/dist/ListItem.js +4 -9
  67. package/dist/ListItem.js.map +1 -1
  68. package/dist/ListSelectAll.js +2 -1
  69. package/dist/ListSelectAll.js.map +1 -1
  70. package/dist/MastheadCountrySelector.js +3 -2
  71. package/dist/MastheadCountrySelector.js.map +1 -1
  72. package/dist/MastheadItem.d.ts +1 -0
  73. package/dist/MastheadItem.js +13 -7
  74. package/dist/MastheadItem.js.map +1 -1
  75. package/dist/MastheadMenu.d.ts +3 -0
  76. package/dist/MastheadMenu.js +12 -2
  77. package/dist/MastheadMenu.js.map +1 -1
  78. package/dist/MastheadMenuItem.js +2 -1
  79. package/dist/MastheadMenuItem.js.map +1 -1
  80. package/dist/MastheadMobileMenu.d.ts +1 -0
  81. package/dist/MastheadMobileMenu.js +8 -1
  82. package/dist/MastheadMobileMenu.js.map +1 -1
  83. package/dist/MastheadProfileMenu.js +6 -5
  84. package/dist/MastheadProfileMenu.js.map +1 -1
  85. package/dist/MastheadShell.d.ts +22 -0
  86. package/dist/MastheadShell.js +66 -19
  87. package/dist/MastheadShell.js.map +1 -1
  88. package/dist/MessageStrip.js +2 -1
  89. package/dist/MessageStrip.js.map +1 -1
  90. package/dist/MessageStripTemplate.js +1 -1
  91. package/dist/MessageStripTemplate.js.map +1 -1
  92. package/dist/Pagination.d.ts +0 -2
  93. package/dist/Pagination.js +16 -29
  94. package/dist/Pagination.js.map +1 -1
  95. package/dist/PhoneNumberField.js +7 -6
  96. package/dist/PhoneNumberField.js.map +1 -1
  97. package/dist/ProgressBar.js +5 -4
  98. package/dist/ProgressBar.js.map +1 -1
  99. package/dist/PromoTile.js +3 -2
  100. package/dist/PromoTile.js.map +1 -1
  101. package/dist/RadioButton.js +5 -4
  102. package/dist/RadioButton.js.map +1 -1
  103. package/dist/RatingBar.js +2 -1
  104. package/dist/RatingBar.js.map +1 -1
  105. package/dist/RatingIndicator.js +2 -1
  106. package/dist/RatingIndicator.js.map +1 -1
  107. package/dist/Review.d.ts +1 -1
  108. package/dist/Review.js +3 -3
  109. package/dist/Review.js.map +1 -1
  110. package/dist/ReviewItem.js +2 -1
  111. package/dist/ReviewItem.js.map +1 -1
  112. package/dist/Search.d.ts +2 -0
  113. package/dist/Search.js +34 -19
  114. package/dist/Search.js.map +1 -1
  115. package/dist/SearchTemplate.js +1 -1
  116. package/dist/SearchTemplate.js.map +1 -1
  117. package/dist/SearchableListBase.d.ts +1 -1
  118. package/dist/SearchableListBase.js +4 -3
  119. package/dist/SearchableListBase.js.map +1 -1
  120. package/dist/SecondaryNavigation.js +2 -1
  121. package/dist/SecondaryNavigation.js.map +1 -1
  122. package/dist/SecondaryNavigationSubItem.js +2 -1
  123. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  124. package/dist/SelectBase.d.ts +4 -11
  125. package/dist/SelectBase.js +4 -11
  126. package/dist/SelectBase.js.map +1 -1
  127. package/dist/SelectBox.d.ts +1 -1
  128. package/dist/SelectBox.js +1 -1
  129. package/dist/SelectBox.js.map +1 -1
  130. package/dist/SocialMediaButton.js +2 -1
  131. package/dist/SocialMediaButton.js.map +1 -1
  132. package/dist/StatusBadge.js +7 -6
  133. package/dist/StatusBadge.js.map +1 -1
  134. package/dist/StepInput.js +9 -2
  135. package/dist/StepInput.js.map +1 -1
  136. package/dist/StepInputTemplate.js +1 -1
  137. package/dist/StepInputTemplate.js.map +1 -1
  138. package/dist/Tab.js +2 -1
  139. package/dist/Tab.js.map +1 -1
  140. package/dist/TabNavigation.js +2 -1
  141. package/dist/TabNavigation.js.map +1 -1
  142. package/dist/Table.d.ts +2 -2
  143. package/dist/Table.js +5 -15
  144. package/dist/Table.js.map +1 -1
  145. package/dist/TableCell.js +3 -3
  146. package/dist/TableCell.js.map +1 -1
  147. package/dist/TableCellBase.js +1 -3
  148. package/dist/TableCellBase.js.map +1 -1
  149. package/dist/TableCellTemplate.d.ts +2 -0
  150. package/dist/TableCellTemplate.js +9 -0
  151. package/dist/TableCellTemplate.js.map +1 -0
  152. package/dist/TableGroupRow.d.ts +1 -1
  153. package/dist/TableGroupRow.js +3 -6
  154. package/dist/TableGroupRow.js.map +1 -1
  155. package/dist/TableGroupRowTemplate.d.ts +2 -0
  156. package/dist/TableGroupRowTemplate.js +7 -0
  157. package/dist/TableGroupRowTemplate.js.map +1 -0
  158. package/dist/TableHeaderCell.js +3 -4
  159. package/dist/TableHeaderCell.js.map +1 -1
  160. package/dist/TableHeaderCellTemplate.d.ts +2 -0
  161. package/dist/TableHeaderCellTemplate.js +6 -0
  162. package/dist/TableHeaderCellTemplate.js.map +1 -0
  163. package/dist/TableHeaderRow.js +3 -5
  164. package/dist/TableHeaderRow.js.map +1 -1
  165. package/dist/TableHeaderRowTemplate.d.ts +2 -0
  166. package/dist/TableHeaderRowTemplate.js +5 -0
  167. package/dist/TableHeaderRowTemplate.js.map +1 -0
  168. package/dist/TableRow.js +3 -4
  169. package/dist/TableRow.js.map +1 -1
  170. package/dist/TableRowBase.d.ts +1 -1
  171. package/dist/TableRowBase.js +0 -2
  172. package/dist/TableRowBase.js.map +1 -1
  173. package/dist/TableRowTemplate.d.ts +2 -0
  174. package/dist/TableRowTemplate.js +5 -0
  175. package/dist/TableRowTemplate.js.map +1 -0
  176. package/dist/TableTemplate.d.ts +2 -0
  177. package/dist/TableTemplate.js +20 -0
  178. package/dist/TableTemplate.js.map +1 -0
  179. package/dist/Tag.js +7 -0
  180. package/dist/Tag.js.map +1 -1
  181. package/dist/TextArea.js +9 -8
  182. package/dist/TextArea.js.map +1 -1
  183. package/dist/TextField.js +7 -6
  184. package/dist/TextField.js.map +1 -1
  185. package/dist/Toast.d.ts +3 -1
  186. package/dist/Toast.js +15 -9
  187. package/dist/Toast.js.map +1 -1
  188. package/dist/ToastTemplate.d.ts +2 -0
  189. package/dist/ToastTemplate.js +11 -0
  190. package/dist/ToastTemplate.js.map +1 -0
  191. package/dist/TruncatedText.js +3 -2
  192. package/dist/TruncatedText.js.map +1 -1
  193. package/dist/Upload.js +2 -1
  194. package/dist/Upload.js.map +1 -1
  195. package/dist/UploadItem.d.ts +7 -0
  196. package/dist/UploadItem.js +14 -3
  197. package/dist/UploadItem.js.map +1 -1
  198. package/dist/assets/{InputSuggestions-63QG0i9j.js → InputSuggestions-CTFZ6hH-.js} +1 -1
  199. package/dist/assets/{ListItemStandardExpandableTextTemplate-B1CpqSCb.js → ListItemStandardExpandableTextTemplate-wXdCijez.js} +1 -1
  200. package/dist/assets/{bundle.esm-lUYJDofa.js → bundle.esm-BXCZ9BP3.js} +267 -265
  201. package/dist/assets/messagebundle_en-mjqY85LY.js +1 -0
  202. package/dist/css/themes/ImageGridTable.css +1 -0
  203. package/dist/css/themes/ImageGridTableItem.css +1 -0
  204. package/dist/css/themes/ImageGridTicker.css +1 -1
  205. package/dist/css/themes/MastheadItem.css +1 -1
  206. package/dist/css/themes/MastheadShell.css +1 -1
  207. package/dist/css/themes/RatingIndicator.css +1 -1
  208. package/dist/css/themes/Search.css +1 -1
  209. package/dist/css/themes/Slider.css +1 -1
  210. package/dist/custom-elements-internal.json +9418 -7451
  211. package/dist/custom-elements.json +6830 -5351
  212. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  213. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  214. package/dist/generated/i18n/i18n-defaults.js +4 -3
  215. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  216. package/dist/generated/templates/MastheadItemTemplate.lit.js +1 -1
  217. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  218. package/dist/generated/templates/MastheadMenuTemplate.lit.js +9 -7
  219. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  220. package/dist/generated/templates/MastheadShellTemplate.lit.js +8 -7
  221. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  222. package/dist/generated/templates/UploadItemTemplate.lit.js +1 -1
  223. package/dist/generated/templates/UploadItemTemplate.lit.js.map +1 -1
  224. package/dist/generated/themes/ImageGridTable.css.d.ts +2 -0
  225. package/dist/generated/themes/ImageGridTable.css.js +8 -0
  226. package/dist/generated/themes/ImageGridTable.css.js.map +1 -0
  227. package/dist/generated/themes/ImageGridTableItem.css.d.ts +2 -0
  228. package/dist/generated/themes/ImageGridTableItem.css.js +8 -0
  229. package/dist/generated/themes/ImageGridTableItem.css.js.map +1 -0
  230. package/dist/generated/themes/ImageGridTicker.css.d.ts +1 -1
  231. package/dist/generated/themes/ImageGridTicker.css.js +1 -1
  232. package/dist/generated/themes/ImageGridTicker.css.js.map +1 -1
  233. package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
  234. package/dist/generated/themes/MastheadItem.css.js +1 -1
  235. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  236. package/dist/generated/themes/MastheadShell.css.d.ts +1 -1
  237. package/dist/generated/themes/MastheadShell.css.js +1 -1
  238. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  239. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  240. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  241. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  242. package/dist/generated/themes/Search.css.d.ts +1 -1
  243. package/dist/generated/themes/Search.css.js +1 -1
  244. package/dist/generated/themes/Search.css.js.map +1 -1
  245. package/dist/generated/themes/Slider.css.d.ts +1 -1
  246. package/dist/generated/themes/Slider.css.js +1 -1
  247. package/dist/generated/themes/Slider.css.js.map +1 -1
  248. package/dist/messagebundle.properties +6 -2
  249. package/dist/messagebundle_en.properties +3 -2
  250. package/dist/types/CustomTranslations.d.ts +3 -0
  251. package/dist/types/CustomTranslations.js +2 -0
  252. package/dist/types/CustomTranslations.js.map +1 -0
  253. package/dist/types/EventRibbon.d.ts +1 -1
  254. package/dist/types/EventRibbon.js +39 -39
  255. package/dist/types/EventRibbon.js.map +1 -1
  256. package/dist/utils/translate.d.ts +7 -0
  257. package/dist/utils/translate.js +15 -0
  258. package/dist/utils/translate.js.map +1 -0
  259. package/dist/vscode.html-custom-data.json +207 -7
  260. package/dist/web-types.json +541 -12
  261. package/package.json +1 -1
  262. package/src/Accordion.ts +3 -2
  263. package/src/Avatar.ts +5 -3
  264. package/src/Badge.ts +5 -2
  265. package/src/Breadcrumbs.ts +4 -3
  266. package/src/Button.ts +3 -2
  267. package/src/Carousel.ts +7 -4
  268. package/src/CarouselTemplate.tsx +2 -1
  269. package/src/Checkbox.ts +3 -2
  270. package/src/Contact.ts +5 -4
  271. package/src/CountrySelector.ts +1 -1
  272. package/src/DatePicker.ts +3 -2
  273. package/src/EventRibbon.ts +2 -2
  274. package/src/FeedItem.ts +2 -1
  275. package/src/FilterMenu.ts +5 -4
  276. package/src/Footer.ts +15 -14
  277. package/src/ImageGridTable.ts +151 -0
  278. package/src/ImageGridTableItem.ts +148 -0
  279. package/src/ImageGridTableItemTemplate.tsx +48 -0
  280. package/src/ImageGridTableTemplate.tsx +9 -0
  281. package/src/ImageGridTicker.ts +4 -2
  282. package/src/ImageGridTickerItem.ts +20 -0
  283. package/src/ImageGridTickerItemTemplate.tsx +1 -0
  284. package/src/InputGroup.ts +3 -2
  285. package/src/List.ts +2 -1
  286. package/src/ListItem.ts +4 -11
  287. package/src/ListSelectAll.ts +2 -1
  288. package/src/MastheadCountrySelector.ts +3 -2
  289. package/src/MastheadItem.hbs +1 -1
  290. package/src/MastheadItem.ts +14 -7
  291. package/src/MastheadMenu.hbs +33 -12
  292. package/src/MastheadMenu.ts +11 -0
  293. package/src/MastheadMenuItem.ts +2 -1
  294. package/src/MastheadMobileMenu.ts +11 -2
  295. package/src/MastheadProfileMenu.ts +6 -5
  296. package/src/MastheadShell.hbs +38 -29
  297. package/src/MastheadShell.ts +85 -19
  298. package/src/MessageStrip.ts +2 -1
  299. package/src/MessageStripTemplate.tsx +1 -1
  300. package/src/Pagination.ts +15 -28
  301. package/src/PhoneNumberField.ts +7 -6
  302. package/src/ProgressBar.ts +5 -4
  303. package/src/PromoTile.ts +3 -2
  304. package/src/RadioButton.ts +5 -4
  305. package/src/RatingBar.ts +2 -1
  306. package/src/RatingIndicator.ts +2 -1
  307. package/src/Review.ts +4 -3
  308. package/src/ReviewItem.ts +2 -1
  309. package/src/Search.ts +36 -19
  310. package/src/SearchTemplate.tsx +1 -1
  311. package/src/SearchableListBase.ts +4 -3
  312. package/src/SecondaryNavigation.ts +2 -1
  313. package/src/SecondaryNavigationSubItem.ts +2 -1
  314. package/src/SelectBase.ts +6 -12
  315. package/src/SelectBox.ts +1 -1
  316. package/src/SocialMediaButton.ts +2 -1
  317. package/src/StatusBadge.ts +7 -6
  318. package/src/StepInput.ts +9 -2
  319. package/src/StepInputTemplate.tsx +6 -2
  320. package/src/Tab.ts +2 -1
  321. package/src/TabNavigation.ts +2 -1
  322. package/src/Table.ts +7 -15
  323. package/src/TableCell.ts +3 -3
  324. package/src/TableCellBase.ts +1 -3
  325. package/src/TableCellTemplate.tsx +21 -0
  326. package/src/TableGroupRow.ts +4 -6
  327. package/src/TableGroupRowTemplate.tsx +36 -0
  328. package/src/TableHeaderCell.ts +3 -4
  329. package/src/TableHeaderCellTemplate.tsx +36 -0
  330. package/src/TableHeaderRow.ts +3 -5
  331. package/src/TableHeaderRowTemplate.tsx +13 -0
  332. package/src/TableRow.ts +3 -4
  333. package/src/TableRowBase.ts +1 -2
  334. package/src/TableRowTemplate.tsx +13 -0
  335. package/src/TableTemplate.tsx +94 -0
  336. package/src/Tag.ts +1 -1
  337. package/src/TextArea.ts +8 -8
  338. package/src/TextField.ts +7 -6
  339. package/src/Toast.ts +17 -8
  340. package/src/ToastTemplate.tsx +42 -0
  341. package/src/TruncatedText.ts +3 -2
  342. package/src/Upload.ts +2 -1
  343. package/src/UploadItem.hbs +1 -1
  344. package/src/UploadItem.ts +13 -3
  345. package/src/generated/i18n/i18n-defaults.ts +2 -2
  346. package/src/generated/templates/MastheadItemTemplate.lit.ts +1 -1
  347. package/src/generated/templates/MastheadMenuTemplate.lit.ts +9 -7
  348. package/src/generated/templates/MastheadShellTemplate.lit.ts +8 -7
  349. package/src/generated/templates/UploadItemTemplate.lit.ts +1 -1
  350. package/src/generated/themes/ImageGridTable.css.ts +9 -0
  351. package/src/generated/themes/ImageGridTableItem.css.ts +9 -0
  352. package/src/generated/themes/ImageGridTicker.css.ts +1 -1
  353. package/src/generated/themes/MastheadItem.css.ts +1 -1
  354. package/src/generated/themes/MastheadShell.css.ts +1 -1
  355. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  356. package/src/generated/themes/Search.css.ts +1 -1
  357. package/src/generated/themes/Slider.css.ts +1 -1
  358. package/src/i18n/messagebundle.properties +6 -2
  359. package/src/i18n/messagebundle_en.properties +3 -2
  360. package/src/themes/Badge.css +0 -1
  361. package/src/themes/ImageGridTable.css +47 -0
  362. package/src/themes/ImageGridTableItem.css +102 -0
  363. package/src/themes/ImageGridTicker.css +1 -0
  364. package/src/themes/MastheadItem.css +1 -0
  365. package/src/themes/MastheadShell.css +1 -0
  366. package/src/themes/Search.css +2 -3
  367. package/src/types/CustomTranslations.ts +1 -0
  368. package/src/types/EventRibbon.ts +1 -1
  369. package/src/utils/translate.ts +21 -0
  370. package/dist/assets/messagebundle_en-D_yCmNrd.js +0 -1
  371. package/dist/generated/templates/TableCellTemplate.lit.d.ts +0 -3
  372. package/dist/generated/templates/TableCellTemplate.lit.js +0 -8
  373. package/dist/generated/templates/TableCellTemplate.lit.js.map +0 -1
  374. package/dist/generated/templates/TableGroupRowTemplate.lit.d.ts +0 -3
  375. package/dist/generated/templates/TableGroupRowTemplate.lit.js +0 -9
  376. package/dist/generated/templates/TableGroupRowTemplate.lit.js.map +0 -1
  377. package/dist/generated/templates/TableHeaderCellTemplate.lit.d.ts +0 -3
  378. package/dist/generated/templates/TableHeaderCellTemplate.lit.js +0 -11
  379. package/dist/generated/templates/TableHeaderCellTemplate.lit.js.map +0 -1
  380. package/dist/generated/templates/TableHeaderRowTemplate.lit.d.ts +0 -3
  381. package/dist/generated/templates/TableHeaderRowTemplate.lit.js +0 -8
  382. package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +0 -1
  383. package/dist/generated/templates/TableRowTemplate.lit.d.ts +0 -3
  384. package/dist/generated/templates/TableRowTemplate.lit.js +0 -8
  385. package/dist/generated/templates/TableRowTemplate.lit.js.map +0 -1
  386. package/dist/generated/templates/TableTemplate.lit.d.ts +0 -3
  387. package/dist/generated/templates/TableTemplate.lit.js +0 -13
  388. package/dist/generated/templates/TableTemplate.lit.js.map +0 -1
  389. package/dist/generated/templates/ToastTemplate.lit.d.ts +0 -3
  390. package/dist/generated/templates/ToastTemplate.lit.js +0 -10
  391. package/dist/generated/templates/ToastTemplate.lit.js.map +0 -1
  392. package/src/Table.hbs +0 -45
  393. package/src/TableCell.hbs +0 -4
  394. package/src/TableGroupRow.hbs +0 -24
  395. package/src/TableHeaderCell.hbs +0 -19
  396. package/src/TableHeaderRow.hbs +0 -3
  397. package/src/TableRow.hbs +0 -3
  398. package/src/Toast.hbs +0 -20
  399. package/src/generated/templates/TableCellTemplate.lit.ts +0 -12
  400. package/src/generated/templates/TableGroupRowTemplate.lit.ts +0 -13
  401. package/src/generated/templates/TableHeaderCellTemplate.lit.ts +0 -15
  402. package/src/generated/templates/TableHeaderRowTemplate.lit.ts +0 -12
  403. package/src/generated/templates/TableRowTemplate.lit.ts +0 -12
  404. package/src/generated/templates/TableTemplate.lit.ts +0 -17
  405. package/src/generated/templates/ToastTemplate.lit.ts +0 -14
@@ -72,47 +72,56 @@
72
72
  </div>
73
73
  {{/if}}
74
74
  {{#if hasSearch}}
75
- <div class="udex-masthead-shell__search-icon udex-masthead-shell__item_icon">
76
- <udex-masthead-item
75
+ <div class="udex-masthead-shell__search-icon udex-masthead-shell__item_icon">
76
+ <udex-masthead-item
77
77
  class="udex-masthead-shell__search-btn"
78
78
  icon="search"
79
79
  part="search-button"
80
80
  @click="{{handleSearchClick}}"
81
- accessible-name="search">
82
- </udex-masthead-item>
83
- </div>
81
+ accessible-name="{{openSearchButtonAccessibleNameText}}"
82
+ icon-alt="{{openSearchButtonAccessibleNameText}}">
83
+ </udex-masthead-item>
84
+ </div>
85
+ {{/if}}
86
+ {{#if hasJoule}}
87
+ <div
88
+ class="udex-masthead-shell__joule udex-masthead-shell__item_icon"
89
+ @ui5-item-click="{{setSelectedItem}}"
90
+ @click="{{handleJouleClick}}">
91
+ <slot name="joule"></slot>
92
+ </div>
84
93
  {{/if}}
85
94
  {{#if hasCart}}
86
- <div
87
- class="udex-masthead-shell__cart udex-masthead-shell__item_icon"
88
- @ui5-item-click="{{setSelectedItem}}"
89
- @click="{{handleCartClick}}">
90
- <slot name="cart"></slot>
91
- </div>
95
+ <div
96
+ class="udex-masthead-shell__cart udex-masthead-shell__item_icon"
97
+ @ui5-item-click="{{setSelectedItem}}"
98
+ @click="{{handleCartClick}}">
99
+ <slot name="cart"></slot>
100
+ </div>
92
101
  {{/if}}
93
102
  {{#if hasSupport}}
94
- <div
95
- class="udex-masthead-shell__support udex-masthead-shell__item_icon"
96
- @ui5-item-click="{{setSelectedItem}}"
97
- @click="{{handleSupportClick}}">
98
- <slot name="support"></slot>
99
- </div>
103
+ <div
104
+ class="udex-masthead-shell__support udex-masthead-shell__item_icon"
105
+ @ui5-item-click="{{setSelectedItem}}"
106
+ @click="{{handleSupportClick}}">
107
+ <slot name="support"></slot>
108
+ </div>
100
109
  {{/if}}
101
110
  {{#if hasProfile}}
102
- <div
103
- class="udex-masthead-shell__profile udex-masthead-shell__item_icon"
104
- @ui5-item-click="{{setSelectedItem}}"
105
- @click="{{handleProfileClick}}">
106
- <slot name="profile"></slot>
107
- </div>
111
+ <div
112
+ class="udex-masthead-shell__profile udex-masthead-shell__item_icon"
113
+ @ui5-item-click="{{setSelectedItem}}"
114
+ @click="{{handleProfileClick}}">
115
+ <slot name="profile"></slot>
116
+ </div>
108
117
  {{/if}}
109
118
  {{#if hasCountrySelector}}
110
- <div
111
- class="udex-masthead-shell__country-selector udex-masthead-shell__item_icon"
112
- @ui5-item-click="{{setSelectedItem}}"
113
- @click="{{handleCountrySelectorClick}}">
114
- <slot name="countrySelector"></slot>
115
- </div>
119
+ <div
120
+ class="udex-masthead-shell__country-selector udex-masthead-shell__item_icon"
121
+ @ui5-item-click="{{setSelectedItem}}"
122
+ @click="{{handleCountrySelectorClick}}">
123
+ <slot name="countrySelector"></slot>
124
+ </div>
116
125
  {{/if}}
117
126
  {{#if hasMobileMenuButtons}}
118
127
  <udex-masthead-item
@@ -17,7 +17,7 @@ import "@ui5/webcomponents-icons/dist/search.js";
17
17
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
18
18
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
19
19
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
20
- import { MAIN_LINKS } from "./generated/i18n/i18n-defaults.js";
20
+ import { MAIN_LINKS, SEARCH } from "./generated/i18n/i18n-defaults.js";
21
21
  import UDExMastheadItem, { UDExMastheadDropdownItemAction } from "./MastheadItem.js";
22
22
  import UDExMastheadMenu from "./MastheadMenu.js";
23
23
  import UDExControlButton from "./ControlButton.js";
@@ -28,6 +28,7 @@ import type UDExMastheadCountrySelector from "./MastheadCountrySelector.js";
28
28
  import { BreakpointUtils } from "./utils/Breakpoints.js";
29
29
  import AnalyticsName from "./types/AnalyticsName.js";
30
30
  import MastheadShellTemplate from "./generated/templates/MastheadShellTemplate.lit.js";
31
+ import translate from "./utils/translate.js";
31
32
 
32
33
  // Styles
33
34
  import MastheadShellCss from "./generated/themes/MastheadShell.css.js";
@@ -104,7 +105,7 @@ type UDExMastheadShellAnalyticsNameEventDetail = {
104
105
  * Fired event when the user clicks the mobile menu button closer.
105
106
  *
106
107
  * @public
107
- * @param {AnalyticsName} analyticsName The analytics name for the mobile menu open event
108
+ * @param {AnalyticsName} analyticsName The analytics name for the mobile menu close event
108
109
  */
109
110
  @event("mobile-menu-close", { bubbles: true })
110
111
 
@@ -124,7 +125,7 @@ type UDExMastheadShellAnalyticsNameEventDetail = {
124
125
  * Fired event when the user clicks the search close button.
125
126
  *
126
127
  * @public
127
- * @param {AnalyticsName} analyticsName The analytics name for the search click event
128
+ * @param {AnalyticsName} analyticsName The analytics name for the search close click event
128
129
  * @param {PointerEvent} originalEvent The original pointer event
129
130
  * @param {HTMLElement} sourceNode The source element that fired the event
130
131
  * @param {UDExMastheadItem} [item] The masthead item that was clicked
@@ -135,7 +136,7 @@ type UDExMastheadShellAnalyticsNameEventDetail = {
135
136
  * Fired event when the search panel is opened.
136
137
  *
137
138
  * @public
138
- * @param {AnalyticsName} analyticsName The analytics name for the mobile menu open event
139
+ * @param {AnalyticsName} analyticsName The analytics name for the search opened event
139
140
  */
140
141
  @event("search-opened", { bubbles: true })
141
142
 
@@ -143,15 +144,26 @@ type UDExMastheadShellAnalyticsNameEventDetail = {
143
144
  * Fired event when the search panel is closed.
144
145
  *
145
146
  * @public
146
- * @param {AnalyticsName} analyticsName The analytics name for the mobile menu open event
147
+ * @param {AnalyticsName} analyticsName The analytics name for the search closed event
147
148
  */
148
149
  @event("search-closed", { bubbles: true })
149
150
 
151
+ /**
152
+ * Fired event when the user clicks the joule button trigger.
153
+ *
154
+ * @public
155
+ * @param {AnalyticsName} analyticsName The analytics name for the joule click event
156
+ * @param {PointerEvent} originalEvent The original pointer event
157
+ * @param {HTMLElement} sourceNode The source element that fired the event
158
+ * @param {UDExMastheadItem} [item] The masthead item that was clicked
159
+ */
160
+ @event("joule-click", { bubbles: true })
161
+
150
162
  /**
151
163
  * Fired event when the user clicks the cart button trigger.
152
164
  *
153
165
  * @public
154
- * @param {AnalyticsName} analyticsName The analytics name for the search click event
166
+ * @param {AnalyticsName} analyticsName The analytics name for the cart click event
155
167
  * @param {PointerEvent} originalEvent The original pointer event
156
168
  * @param {HTMLElement} sourceNode The source element that fired the event
157
169
  * @param {UDExMastheadItem} [item] The masthead item that was clicked
@@ -162,7 +174,7 @@ type UDExMastheadShellAnalyticsNameEventDetail = {
162
174
  * Fired event when the user clicks the support button trigger.
163
175
  *
164
176
  * @public
165
- * @param {AnalyticsName} analyticsName The analytics name for the search click event
177
+ * @param {AnalyticsName} analyticsName The analytics name for the support click event
166
178
  * @param {PointerEvent} originalEvent The original pointer event
167
179
  * @param {HTMLElement} sourceNode The source element that fired the event
168
180
  * @param {UDExMastheadItem} [item] The masthead item that was clicked
@@ -173,7 +185,7 @@ type UDExMastheadShellAnalyticsNameEventDetail = {
173
185
  * Fired event when the user clicks the profile button trigger.
174
186
  *
175
187
  * @public
176
- * @param {AnalyticsName} analyticsName The analytics name for the search click event
188
+ * @param {AnalyticsName} analyticsName The analytics name for the profile click event
177
189
  * @param {PointerEvent} originalEvent The original pointer event
178
190
  * @param {HTMLElement} sourceNode The source element that fired the event
179
191
  * @param {UDExMastheadItem} [item] The masthead item that was clicked
@@ -184,7 +196,7 @@ type UDExMastheadShellAnalyticsNameEventDetail = {
184
196
  * Fired event when the user clicks the country selector button trigger.
185
197
  *
186
198
  * @public
187
- * @param {AnalyticsName} analyticsName The analytics name for the search click event
199
+ * @param {AnalyticsName} analyticsName The analytics name for the country selector click event
188
200
  * @param {PointerEvent} originalEvent The original pointer event
189
201
  * @param {HTMLElement} sourceNode The source element that fired the event
190
202
  * @param {UDExMastheadItem} [item] The masthead item that was clicked
@@ -195,7 +207,7 @@ type UDExMastheadShellAnalyticsNameEventDetail = {
195
207
  * Fired event when the user clicks the logo.
196
208
  *
197
209
  * @public
198
- * @param {AnalyticsName} analyticsName The analytics name for the search click event
210
+ * @param {AnalyticsName} analyticsName The analytics name for the logo click event
199
211
  * @param {PointerEvent} originalEvent The original pointer event
200
212
  * @param {HTMLElement} sourceNode The source element that fired the event
201
213
  * @param {UDExMastheadItem} [item] The masthead item that was clicked
@@ -206,7 +218,7 @@ type UDExMastheadShellAnalyticsNameEventDetail = {
206
218
  * Fired event when the user clicks the site label.
207
219
  *
208
220
  * @public
209
- * @param {AnalyticsName} analyticsName The analytics name for the search click event
221
+ * @param {AnalyticsName} analyticsName The analytics name for the site label click event
210
222
  * @param {PointerEvent} originalEvent The original pointer event
211
223
  * @param {HTMLElement} sourceNode The source element that fired the event
212
224
  * @param {UDExMastheadItem} [item] The masthead item that was clicked
@@ -217,7 +229,7 @@ type UDExMastheadShellAnalyticsNameEventDetail = {
217
229
  * Fired event when the user clicks the co-brand.
218
230
  *
219
231
  * @public
220
- * @param {AnalyticsName} analyticsName The analytics name for the search click event
232
+ * @param {AnalyticsName} analyticsName The analytics name for the co-brand click event
221
233
  * @param {PointerEvent} originalEvent The original pointer event
222
234
  * @param {HTMLElement} sourceNode The source element that fired the event
223
235
  * @param {UDExMastheadItem} [item] The masthead item that was clicked
@@ -230,6 +242,7 @@ class UDExMastheadShell extends UI5Element {
230
242
  "mobile-menu-close": UDExMastheadShellAnalyticsNameEventDetail,
231
243
  "search-opened": UDExMastheadShellAnalyticsNameEventDetail,
232
244
  "search-closed": UDExMastheadShellAnalyticsNameEventDetail,
245
+ "joule-click": UDExMastheadShellBaseEventDetail,
233
246
  "cart-click": UDExMastheadShellBaseEventDetail,
234
247
  "support-click": UDExMastheadShellBaseEventDetail,
235
248
  "profile-click": UDExMastheadShellBaseEventDetail,
@@ -290,6 +303,14 @@ class UDExMastheadShell extends UI5Element {
290
303
  @slot({ type: HTMLElement })
291
304
  cart!: Array<UDExMastheadItem>;
292
305
 
306
+ /**
307
+ * Slot for joule menu
308
+ *
309
+ * @public
310
+ */
311
+ @slot({ type: HTMLElement })
312
+ joule!: Array<UDExMastheadItem>;
313
+
293
314
  /**
294
315
  * Slot for avatar
295
316
  *
@@ -450,6 +471,15 @@ class UDExMastheadShell extends UI5Element {
450
471
  @property()
451
472
  closeButtonAccessibleName?: string;
452
473
 
474
+ /**
475
+ * Defines an accessible name for open search icon
476
+ *
477
+ * @default undefined
478
+ * @public
479
+ */
480
+ @property()
481
+ openSearchButtonAccessibleName?: string;
482
+
453
483
  /**
454
484
  * Defines an accessible name for the close mobile menu button
455
485
  *
@@ -513,6 +543,7 @@ class UDExMastheadShell extends UI5Element {
513
543
  static i18nBundle: I18nBundle;
514
544
 
515
545
  _searchOpener!: UDExMastheadItem | null | undefined;
546
+ _desktopSearch!: UDExSearch | null | undefined;
516
547
  _mobileMenu!: UDExMastheadMobileMenu | null | undefined;
517
548
  _handleResizeBound: ResizeObserverCallback;
518
549
  _rootHolder!: HTMLElement | null | undefined;
@@ -533,9 +564,10 @@ class UDExMastheadShell extends UI5Element {
533
564
  onAfterRendering() {
534
565
  this._rootHolder = this.mastheadHolder;
535
566
  this._searchOpener = this.searchOpener;
567
+ this._desktopSearch = this.desktopSearchSlot;
536
568
  this._mobileMenu = this.mastheadMobileMenu;
537
569
 
538
- if (this._isSearchOpened) {
570
+ if (this._isSearchOpened && this._desktopSearch) {
539
571
  this.focusSearchInput();
540
572
  }
541
573
 
@@ -671,11 +703,19 @@ class UDExMastheadShell extends UI5Element {
671
703
  handleCartClick(e: PointerEvent): void {
672
704
  e.stopPropagation();
673
705
  this.fireMastheadEvent("cart-click", e);
706
+ this.mobileMenuReset();
707
+ }
708
+
709
+ handleJouleClick(e: PointerEvent): void {
710
+ e.stopPropagation();
711
+ this.fireMastheadEvent("joule-click", e);
712
+ this.mobileMenuReset();
674
713
  }
675
714
 
676
715
  handleProfileClick(e: PointerEvent): void {
677
716
  e.stopPropagation();
678
717
  this.fireMastheadEvent("profile-click", e);
718
+ this.mobileMenuReset();
679
719
  }
680
720
 
681
721
  handleSupportClick(e: PointerEvent): void {
@@ -686,6 +726,7 @@ class UDExMastheadShell extends UI5Element {
686
726
  handleCountrySelectorClick(e: PointerEvent): void {
687
727
  e.stopPropagation();
688
728
  this.fireMastheadEvent("country-selector-click", e);
729
+ this.mobileMenuReset();
689
730
  }
690
731
 
691
732
  handleOpenMobileMenu(): void {
@@ -708,6 +749,7 @@ class UDExMastheadShell extends UI5Element {
708
749
  this._closeBtnClicked = true;
709
750
  this.fireMastheadEvent("search-close-click", e);
710
751
  this.closeSearch();
752
+ this.resetSearch();
711
753
  }
712
754
 
713
755
  handleEnterAndSpaceOnCloseBtn(e: KeyboardEvent): void {
@@ -719,11 +761,8 @@ class UDExMastheadShell extends UI5Element {
719
761
  }
720
762
 
721
763
  focusSearchInput(): void {
722
- const searchSlot = this.querySelector<UDExSearch>("[udex-search]");
723
- if (searchSlot) {
724
- const input = searchSlot.shadowRoot!.querySelector<HTMLElement>("input");
725
- input?.focus();
726
- }
764
+ const input = this._desktopSearch?.shadowRoot!.querySelector<HTMLElement>("input");
765
+ input?.focus();
727
766
  }
728
767
 
729
768
  focusPreviousMenuItem(item: UDExMastheadItem): void {
@@ -752,6 +791,12 @@ class UDExMastheadShell extends UI5Element {
752
791
  });
753
792
  }
754
793
 
794
+ resetSearch(): void {
795
+ if (this._desktopSearch) {
796
+ this._desktopSearch.value = "";
797
+ }
798
+ }
799
+
755
800
  setSelectedItem(e: CustomEvent): void {
756
801
  const clickedItem: UDExMastheadItem = e.detail.item;
757
802
  if (clickedItem) {
@@ -774,6 +819,7 @@ class UDExMastheadShell extends UI5Element {
774
819
  const buttonsArray: Array<UDExMastheadItem> = [
775
820
  ...this.menuItems,
776
821
  ...this.exploreSAP,
822
+ ...this.joule,
777
823
  ...this.cart,
778
824
  ...this.support,
779
825
  ...this.profile,
@@ -931,6 +977,13 @@ class UDExMastheadShell extends UI5Element {
931
977
  this.fireDecoratorEvent(eventName, eventDetails);
932
978
  }
933
979
 
980
+ mobileMenuReset(): void {
981
+ if (this._isMobileMenuOpen) {
982
+ this._mobileMenu?.showFirstLevelMenu();
983
+ this._mobileMenu?.resetSearch();
984
+ }
985
+ }
986
+
934
987
  /**
935
988
  * Close the search panel.
936
989
  * @public
@@ -987,6 +1040,7 @@ class UDExMastheadShell extends UI5Element {
987
1040
  (this.mobileBtn as UDExMastheadItem).selected = false;
988
1041
  this._isMobileMenuOpen = false;
989
1042
  this._mobileMenu?.showFirstLevelMenu();
1043
+ this._mobileMenu?.resetSearch();
990
1044
 
991
1045
  if (this.bodyOverflow) {
992
1046
  this.removeOverflowBody();
@@ -1007,6 +1061,10 @@ class UDExMastheadShell extends UI5Element {
1007
1061
  ];
1008
1062
  }
1009
1063
 
1064
+ get desktopSearchSlot(): UDExSearch | null {
1065
+ return this.querySelector<UDExSearch>("[udex-search]");
1066
+ }
1067
+
1010
1068
  get searchOpener(): MastheadItemType {
1011
1069
  return this.shadowRoot?.querySelector(".udex-masthead-shell__search-btn");
1012
1070
  }
@@ -1071,6 +1129,10 @@ class UDExMastheadShell extends UI5Element {
1071
1129
  return !!this.exploreSAP.length;
1072
1130
  }
1073
1131
 
1132
+ get hasJoule(): boolean {
1133
+ return !!this.joule.length;
1134
+ }
1135
+
1074
1136
  get hasCountrySelector(): boolean {
1075
1137
  return !!this.countrySelector.length;
1076
1138
  }
@@ -1111,8 +1173,12 @@ class UDExMastheadShell extends UI5Element {
1111
1173
  return !this.isAtMostBreakpointSizeM && this.isMainMenuVisible;
1112
1174
  }
1113
1175
 
1176
+ get openSearchButtonAccessibleNameText(): string {
1177
+ return this.openSearchButtonAccessibleName || translate(UDExMastheadShell, SEARCH);
1178
+ }
1179
+
1114
1180
  get mainNavigationAriaLabel(): string {
1115
- return UDExMastheadShell.i18nBundle.getText(MAIN_LINKS);
1181
+ return translate(UDExMastheadShell, MAIN_LINKS);
1116
1182
  }
1117
1183
 
1118
1184
  get isSimpleExploreMode(): boolean {
@@ -15,6 +15,7 @@ import {
15
15
  MESSAGE_STRIP_CLOSE_BUTTON,
16
16
  } from "./generated/i18n/i18n-defaults.js";
17
17
  import { UDExMessageStripDesign, UDExMessageStripStatusType } from "./types/MessageStrip.js";
18
+ import translate from "./utils/translate.js";
18
19
 
19
20
  // Template
20
21
  import MessageStripTemplate from "./MessageStripTemplate.js";
@@ -81,7 +82,7 @@ class UDExMessageStrip extends MessageStrip {
81
82
  }
82
83
 
83
84
  getTranslation(text: I18nText): string {
84
- return UDExMessageStrip.i18nBundle.getText(text);
85
+ return translate(UDExMessageStrip, text);
85
86
  }
86
87
 
87
88
  textStatusTypeMapping(): Record<string, string> {
@@ -19,7 +19,7 @@ export default function MessageStripTemplate(this: UDExMessageStrip) {
19
19
  "ui5-message-strip-root-hide-icon": this.shouldHideIcon,
20
20
  "ui5-message-strip-root-hide-close-button": this.hideCloseButton,
21
21
  "ui5-message-strip-root--critical": this.isDesignWarning,
22
- [this.designClasses]: true,
22
+ ...(this.designClasses ? { [this.designClasses]: true } : {}),
23
23
  }}
24
24
  id={this._id}
25
25
  role="note"
package/src/Pagination.ts CHANGED
@@ -11,14 +11,13 @@ import {
11
11
  PAGINATION_PAGE,
12
12
  SELECTED,
13
13
  ACTIVATE_PAGE,
14
- FIRST_PAGE,
15
- LAST_PAGE,
16
14
  PREVIOUS_PAGE,
17
15
  NEXT_PAGE,
18
16
  CURRENT_PAGE,
19
17
  DISABLED,
20
18
  } from "./generated/i18n/i18n-defaults.js";
21
19
  import Button from "./Button.js";
20
+ import translate from "./utils/translate.js";
22
21
 
23
22
  // Template
24
23
  import PaginationTemplate from "./PaginationTemplate.js";
@@ -211,18 +210,18 @@ class UDExPagination extends UI5Element {
211
210
  if (!this.pages) {
212
211
  return "";
213
212
  }
214
- return ` ${UDExPagination.i18nBundle.getText(OF)} `;
213
+ return ` ${translate(UDExPagination, OF)} `;
215
214
  }
216
215
 
217
216
  get paginationAccessibleName(): string {
218
217
  if (this.typeShort) {
219
218
  return this.paginationShortAccessibleName;
220
219
  }
221
- return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}`;
220
+ return `${translate(UDExPagination, CURRENT_PAGE)} ${this.currentPageIndex + 1}`;
222
221
  }
223
222
 
224
223
  get pageAccessibleName(): string {
225
- return UDExPagination.i18nBundle.getText(PAGINATION_PAGE);
224
+ return translate(UDExPagination, PAGINATION_PAGE);
226
225
  }
227
226
 
228
227
  get paginationShortAccessibleName(): string {
@@ -230,43 +229,31 @@ class UDExPagination extends UI5Element {
230
229
  }
231
230
 
232
231
  get activatePageAccessibleText() {
233
- return UDExPagination.i18nBundle.getText(ACTIVATE_PAGE);
234
- }
235
-
236
- get firstPageAccessibleName(): string {
237
- if (this.currentPageIndex === 0) { return UDExPagination.i18nBundle.getText(FIRST_PAGE); }
238
- return `${UDExPagination.i18nBundle.getText(FIRST_PAGE)}. ${this.activatePageAccessibleText} 1`;
239
- }
240
-
241
- get lastPageAccessibleName(): string {
242
- if (this.pages && this.currentPageIndex === (this.pages - 1)) { return UDExPagination.i18nBundle.getText(LAST_PAGE); }
243
- return `${UDExPagination.i18nBundle.getText(LAST_PAGE)}. ${this.activatePageAccessibleText} ${this.pages}`;
232
+ return translate(UDExPagination, ACTIVATE_PAGE);
244
233
  }
245
234
 
246
235
  get previousPageAccessibleName(): string {
247
- const currentPageText = `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;
248
236
  if (this._prevButtonPseudoDisabled || this.prevButtonDisabled) {
249
- const effectiveDisabledText = this._prevButtonPseudoDisabled ? `${UDExPagination.i18nBundle.getText(DISABLED)}` : "";
250
- return `${currentPageText} ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)} ${effectiveDisabledText}`;
237
+ const effectiveDisabledText = this._prevButtonPseudoDisabled ? `${translate(UDExPagination, DISABLED)}` : "";
238
+ return `${translate(UDExPagination, PREVIOUS_PAGE)} ${effectiveDisabledText}`;
251
239
  }
252
- return `${currentPageText} ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;
240
+ return `${translate(UDExPagination, PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;
253
241
  }
254
242
 
255
243
  get previousBtnTooltip(): string {
256
- return !this.prevButtonDisabled ? `${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}` : "";
244
+ return !this.prevButtonDisabled ? `${translate(UDExPagination, PREVIOUS_PAGE)}` : "";
257
245
  }
258
246
 
259
247
  get nextPageAccessibleName(): string {
260
- const currentPageText = `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;
261
248
  if (this._nextButtonPseudoDisabled || this.nextButtonDisabled) {
262
- const effectiveDisabledText = this._nextButtonPseudoDisabled ? `${UDExPagination.i18nBundle.getText(DISABLED)}` : "";
263
- return `${currentPageText} ${UDExPagination.i18nBundle.getText(NEXT_PAGE)} ${effectiveDisabledText}`;
249
+ const effectiveDisabledText = this._nextButtonPseudoDisabled ? `${translate(UDExPagination, DISABLED)}` : "";
250
+ return `${translate(UDExPagination, NEXT_PAGE)} ${effectiveDisabledText}`;
264
251
  }
265
- return `${currentPageText} ${UDExPagination.i18nBundle.getText(NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;
252
+ return `${translate(UDExPagination, NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;
266
253
  }
267
254
 
268
255
  get nextBtnTooltip(): string {
269
- return !this.nextButtonDisabled ? `${UDExPagination.i18nBundle.getText(NEXT_PAGE)}` : "";
256
+ return !this.nextButtonDisabled ? `${translate(UDExPagination, NEXT_PAGE)}` : "";
270
257
  }
271
258
 
272
259
  get pagination(): Page[] {
@@ -415,8 +402,8 @@ class UDExPagination extends UI5Element {
415
402
  const isCurrent = index === this.currentPageIndex;
416
403
 
417
404
  const accessibleName = isCurrent ? `
418
- ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}, ${UDExPagination.i18nBundle.getText(SELECTED)}` : `
419
- ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}`;
405
+ ${this.pageAccessibleName} ${index + 1} ${translate(UDExPagination, OF)} ${this.pages}, ${translate(UDExPagination, SELECTED)}` : `
406
+ ${this.pageAccessibleName} ${index + 1} ${translate(UDExPagination, OF)} ${this.pages}`;
420
407
 
421
408
  return accessibleName;
422
409
  }
@@ -9,7 +9,7 @@ import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delega
9
9
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
10
10
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
11
11
  import {
12
- COUNTRY_SELECT, READ_ONLY, VALUE_STATE_ERROR, VALUE_STATE_INFORMATION, VALUE_STATE_SUCCESS,
12
+ COUNTRY_SELECT, READ_ONLY, VALUE_STATE_ERROR, VALUE_STATE_SUCCESS,
13
13
  } from "./generated/i18n/i18n-defaults.js";
14
14
  import type { Country } from "./data/CountryListISO3166.js";
15
15
  import { CountryListDB } from "./data/CountryListISO3166.js";
@@ -18,6 +18,7 @@ import UDExList from "./List.js";
18
18
  import UDExListItem from "./ListItem.js";
19
19
  import UDExButton from "./Button.js";
20
20
  import UDExStatusMessage from "./StatusMessage.js";
21
+ import translate from "./utils/translate.js";
21
22
 
22
23
  import "@ui5/webcomponents/dist/Icon.js";
23
24
  import "@ui5/webcomponents-icons/dist/slim-arrow-up.js";
@@ -611,9 +612,9 @@ class UDExPhoneNumberField extends UI5Element {
611
612
 
612
613
  get valueStateTypeMappings(): Record<UDExPhoneNumberFieldValueState, string> {
613
614
  return {
614
- "Success": UDExPhoneNumberField.i18nBundle.getText(VALUE_STATE_SUCCESS),
615
- "Standard": UDExPhoneNumberField.i18nBundle.getText(VALUE_STATE_INFORMATION),
616
- "Error": UDExPhoneNumberField.i18nBundle.getText(VALUE_STATE_ERROR),
615
+ "Success": translate(UDExPhoneNumberField, VALUE_STATE_SUCCESS),
616
+ "Standard": "",
617
+ "Error": translate(UDExPhoneNumberField, VALUE_STATE_ERROR),
617
618
  };
618
619
  }
619
620
 
@@ -626,7 +627,7 @@ class UDExPhoneNumberField extends UI5Element {
626
627
  }
627
628
 
628
629
  get readOnlyStateText() {
629
- return UDExPhoneNumberField.i18nBundle.getText(READ_ONLY);
630
+ return translate(UDExPhoneNumberField, READ_ONLY);
630
631
  }
631
632
 
632
633
  get ariaDescribedById(): string {
@@ -646,7 +647,7 @@ class UDExPhoneNumberField extends UI5Element {
646
647
  }
647
648
 
648
649
  get countrySelectorAriaLabel(): string {
649
- return this.accessibleName || `${UDExPhoneNumberField.i18nBundle.getText(COUNTRY_SELECT)} ${this.label}`.trim();
650
+ return this.accessibleName || `${translate(UDExPhoneNumberField, COUNTRY_SELECT)} ${this.label}`.trim();
650
651
  }
651
652
 
652
653
  get countryIso(): string {
@@ -8,6 +8,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
10
  import UDExProgressBarValueState from "./types/ProgressBar.js";
11
+ import translate from "./utils/translate.js";
11
12
 
12
13
  // Styles
13
14
  import ProgressBarCss from "./generated/themes/ProgressBar.css.js";
@@ -54,10 +55,10 @@ class UDExProgressBar extends ProgressIndicator {
54
55
 
55
56
  valueStateTextMappings(): Record<string, string> {
56
57
  return {
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),
58
+ [UDExProgressBarValueState.Error]: translate(UDExProgressBar, VALUE_STATE_ERROR),
59
+ [UDExProgressBarValueState.Warning]: translate(UDExProgressBar, VALUE_STATE_WARNING),
60
+ [UDExProgressBarValueState.Success]: translate(UDExProgressBar, VALUE_STATE_SUCCESS),
61
+ [UDExProgressBarValueState.Information]: translate(UDExProgressBar, VALUE_STATE_INFORMATION),
61
62
  };
62
63
  }
63
64
  }
package/src/PromoTile.ts CHANGED
@@ -19,6 +19,7 @@ import { UDExPromoTileColorScheme, UDExPromoTileMode } from "./types/PromoTile.j
19
19
 
20
20
  // Styles
21
21
  import PromoTileCss from "./generated/themes/PromoTile.css.js";
22
+ import translate from "./utils/translate.js";
22
23
 
23
24
  export enum UDExOrientation {
24
25
  Vertical = "Vertical",
@@ -254,7 +255,7 @@ class UDExPromoTile extends UI5Element {
254
255
  }
255
256
 
256
257
  get promoTileContainerText(): string {
257
- return this.accessibleName || this.header || UDExPromoTile.i18nBundle.getText(PROMO_TILE);
258
+ return this.accessibleName || this.header || translate(UDExPromoTile, PROMO_TILE);
258
259
  }
259
260
 
260
261
  get _showPictogram(): boolean {
@@ -266,7 +267,7 @@ class UDExPromoTile extends UI5Element {
266
267
  }
267
268
 
268
269
  get _imageLabel(): string {
269
- return this.imageLabel || UDExPromoTile.i18nBundle.getText(PROMO_TILE_ICON);
270
+ return this.imageLabel || translate(UDExPromoTile, PROMO_TILE_ICON);
270
271
  }
271
272
 
272
273
  handleCTAButtonClick(e: Event) {
@@ -8,6 +8,7 @@ import {
8
8
  import RadioButton from "@ui5/webcomponents/dist/RadioButton.js";
9
9
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
10
  import UDExRadioButtonValueState from "./types/RadioButton.js";
11
+ import translate from "./utils/translate.js";
11
12
 
12
13
  // Styles
13
14
  import RadioButtonCss from "./generated/themes/RadioButton.css.js";
@@ -66,13 +67,13 @@ class UDExRadioButton extends RadioButton {
66
67
  get valueStateText(): string {
67
68
  switch (this.valueState) {
68
69
  case UDExRadioButtonValueState.Error:
69
- return RadioButton.i18nBundle.getText(VALUE_STATE_ERROR);
70
+ return translate(RadioButton, VALUE_STATE_ERROR);
70
71
  case UDExRadioButtonValueState.Success:
71
- return RadioButton.i18nBundle.getText(VALUE_STATE_SUCCESS);
72
+ return translate(RadioButton, VALUE_STATE_SUCCESS);
72
73
  case UDExRadioButtonValueState.Information:
73
- return RadioButton.i18nBundle.getText(VALUE_STATE_INFORMATION);
74
+ return translate(RadioButton, VALUE_STATE_INFORMATION);
74
75
  case UDExRadioButtonValueState.Warning:
75
- return RadioButton.i18nBundle.getText(VALUE_STATE_WARNING);
76
+ return translate(RadioButton, VALUE_STATE_WARNING);
76
77
  default:
77
78
  return "";
78
79
  }
package/src/RatingBar.ts CHANGED
@@ -8,6 +8,7 @@ import Icon from "@ui5/webcomponents/dist/Icon.js";
8
8
  import { STARS } from "./generated/i18n/i18n-defaults.js";
9
9
  import "@ui5/webcomponents-icons/dist/favorite.js";
10
10
  import RatingBarTemplate from "./RatingBarTemplate.js";
11
+ import translate from "./utils/translate.js";
11
12
 
12
13
  // Styles
13
14
  import RatingBarCss from "./generated/themes/RatingBar.css.js";
@@ -102,7 +103,7 @@ class UDExRatingBar extends UI5Element {
102
103
  }
103
104
 
104
105
  get _ratingDescription(): string {
105
- return `${this.validatedRating} ${UDExRatingBar.i18nBundle.getText(STARS)}`;
106
+ return `${this.validatedRating} ${translate(UDExRatingBar, STARS)}`;
106
107
  }
107
108
  }
108
109