@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
@@ -0,0 +1,36 @@
1
+ import type UDExTableGroupRow from "./TableGroupRow.js";
2
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
3
+ import slimArrowRight from "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
4
+
5
+ export default function TableCellTemplate(this: UDExTableGroupRow) {
6
+ return (
7
+ <>
8
+ {
9
+ this.collapsible ? (
10
+ <button
11
+ id="udex-table-group-opener"
12
+ class="udex-table-grow-btn"
13
+ aria-expanded={this.expanded}
14
+ onClick={this.toggleExpanded}
15
+ >
16
+ <span class="udex-table-grow">
17
+ <UI5Icon
18
+ class="udex-table-grow__icon"
19
+ name={slimArrowRight}
20
+ ></UI5Icon>
21
+ {this.groupTitle}
22
+ </span>
23
+ </button>
24
+ ) : (
25
+ <div class="udex-table-grow-btn">
26
+ <span class="udex-table-grow">{this.groupTitle}</span>
27
+ </div>
28
+ )
29
+ }
30
+
31
+ <div class="udex-table-grow-rows" onKeyDown={this.handleEscapeKey}>
32
+ <slot></slot>
33
+ </div>
34
+ </>
35
+ );
36
+ }
@@ -1,7 +1,7 @@
1
1
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
2
2
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
3
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
4
- import TableHeaderCellTemplate from "./generated/templates/TableHeaderCellTemplate.lit.js";
3
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
4
+ import TableHeaderCellTemplate from "./TableHeaderCellTemplate.js";
5
5
  import UDExTableCellBase from "./TableCellBase.js";
6
6
 
7
7
  // Styles
@@ -26,10 +26,9 @@ import TableHeaderCellCss from "./generated/themes/TableHeaderCell.css.js";
26
26
  */
27
27
  @customElement({
28
28
  tag: "udex-table-header-cell",
29
- renderer: litRender,
29
+ renderer: jsxRenderer,
30
30
  styles: [UDExTableCellBase.styles, TableHeaderCellCss],
31
31
  template: TableHeaderCellTemplate,
32
- dependencies: [...UDExTableCellBase.dependencies],
33
32
  })
34
33
 
35
34
  class UDExTableHeaderCell extends UDExTableCellBase {
@@ -0,0 +1,36 @@
1
+ import type UDExTableHeaderCell from "./TableHeaderCell.js";
2
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
3
+
4
+ export default function TableCellTemplate(this: UDExTableHeaderCell) {
5
+ return (
6
+ <>
7
+ {
8
+ this._hasIcons ? (
9
+ <div class="udex-table-header-cell-wrap">
10
+ {
11
+ this.iconStart ? (
12
+ <UI5Icon
13
+ class="udex-table-header-cell-wrap__icon"
14
+ name={this.iconStart}
15
+ ></UI5Icon>
16
+ ) : ""
17
+ }
18
+
19
+ <slot></slot>
20
+
21
+ {
22
+ this.iconEnd ? (
23
+ <UI5Icon
24
+ class="udex-table-header-cell-wrap__icon"
25
+ name={this.iconEnd}
26
+ ></UI5Icon>
27
+ ) : ""
28
+ }
29
+ </div>
30
+ ) : (
31
+ <slot></slot>
32
+ )
33
+ }
34
+ </>
35
+ );
36
+ }
@@ -1,8 +1,7 @@
1
1
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
2
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
- import UDExTableHeaderCell from "./TableHeaderCell.js";
2
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
4
3
  import UDExTableRowBase from "./TableRowBase.js";
5
- import TableHeaderRowTemplate from "./generated/templates/TableHeaderRowTemplate.lit.js";
4
+ import TableHeaderRowTemplate from "./TableHeaderRowTemplate.js";
6
5
 
7
6
  /**
8
7
  * @class
@@ -22,10 +21,9 @@ import TableHeaderRowTemplate from "./generated/templates/TableHeaderRowTemplate
22
21
  */
23
22
  @customElement({
24
23
  tag: "udex-table-header-row",
25
- renderer: litRender,
24
+ renderer: jsxRenderer,
26
25
  styles: [UDExTableRowBase.styles],
27
26
  template: TableHeaderRowTemplate,
28
- dependencies: [UDExTableHeaderCell],
29
27
  })
30
28
 
31
29
  class UDExTableHeaderRow extends UDExTableRowBase {
@@ -0,0 +1,13 @@
1
+ import type UDExTableHeaderRow from "./TableHeaderRow.js";
2
+
3
+ export default function TableHeaderRowTemplate(this: UDExTableHeaderRow) {
4
+ return (
5
+ <>
6
+ {
7
+ this.cells.map(cell => (
8
+ <slot name={cell._individualSlot}></slot>
9
+ ))
10
+ }
11
+ </>
12
+ );
13
+ }
package/src/TableRow.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
2
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
2
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
3
3
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
4
  import UDExTableRowBase from "./TableRowBase.js";
5
5
  import type UDExTableCell from "./TableCell.js";
6
- import TableRowTemplate from "./generated/templates/TableRowTemplate.lit.js";
6
+ import TableRowTemplate from "./TableRowTemplate.js";
7
7
 
8
8
  /**
9
9
  * @class
@@ -24,10 +24,9 @@ import TableRowTemplate from "./generated/templates/TableRowTemplate.lit.js";
24
24
  */
25
25
  @customElement({
26
26
  tag: "udex-table-row",
27
- renderer: litRender,
27
+ renderer: jsxRenderer,
28
28
  styles: [UDExTableRowBase.styles],
29
29
  template: TableRowTemplate,
30
- dependencies: [...UDExTableRowBase.dependencies],
31
30
  })
32
31
 
33
32
  class UDExTableRow extends UDExTableRowBase {
@@ -3,7 +3,7 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
3
3
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
4
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
5
5
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
6
- import UDExTableCell from "./TableCell.js";
6
+ import type UDExTableCell from "./TableCell.js";
7
7
  import type UDExTableHeaderCell from "./TableHeaderCell.js";
8
8
 
9
9
  // Styles
@@ -20,7 +20,6 @@ import TableRowBase from "./generated/themes/TableRowBase.css.js";
20
20
  @customElement({
21
21
  renderer: litRender,
22
22
  styles: TableRowBase,
23
- dependencies: [UDExTableCell],
24
23
  })
25
24
 
26
25
  abstract class UDExTableRowBase extends UI5Element {
@@ -0,0 +1,13 @@
1
+ import type UDExTableRow from "./TableRow.js";
2
+
3
+ export default function TableCellTemplate(this: UDExTableRow) {
4
+ return (
5
+ <>
6
+ {
7
+ this.cells.map(cell => (
8
+ <slot name={cell._individualSlot}></slot>
9
+ ))
10
+ }
11
+ </>
12
+ );
13
+ }
@@ -0,0 +1,94 @@
1
+ import type UDExTable from "./Table.js";
2
+ import UDExTableRow from "./TableRow.js";
3
+ import UDExTableCell from "./TableCell.js";
4
+ import UDExBusyIndicator from "./BusyIndicator.js";
5
+
6
+ export default function TableTemplate(this: UDExTable) {
7
+ return (
8
+ <>
9
+ {
10
+ this._hasToolbar ? (
11
+ renderTableToolbar.call(this)
12
+ ) : ""
13
+ }
14
+
15
+ <div
16
+ id="table"
17
+ class="udex-table"
18
+ role="table"
19
+ aria-label={this.accessibleName}
20
+ onScroll={this._onScroll}
21
+ onKeyDown={this._handleKeyDown}
22
+ style={this._styles.table}
23
+ >
24
+ <div class="udex-table__header-holder">
25
+ <slot name="headerRow"></slot>
26
+ </div>
27
+
28
+ <slot></slot>
29
+
30
+ {
31
+ !this.rows.length ? (
32
+ renderTableNoData.call(this)
33
+ ) : ""
34
+ }
35
+
36
+ {
37
+ this.loading ? (
38
+ renderTableLoading.call(this)
39
+ ) : ""
40
+ }
41
+ </div>
42
+
43
+ {
44
+ this.footnotes.length ? (
45
+ renderTableFootnotes.call(this)
46
+ ) : ""
47
+ }
48
+ </>
49
+ );
50
+ }
51
+
52
+ function renderTableToolbar(this: UDExTable) {
53
+ return (
54
+ <div class="udex-table-toolbar">
55
+ <span class="udex-table-toolbar__title">{this.heading}</span>
56
+ <div class="udex-table-toolbar__actions">
57
+ <slot name="actions"></slot>
58
+ </div>
59
+ </div>
60
+ );
61
+ }
62
+
63
+ function renderTableFootnotes(this: UDExTable) {
64
+ return (
65
+ <div class="udex-table-footnotes">
66
+ <slot name="footnotes"></slot>
67
+ </div>
68
+ );
69
+ }
70
+
71
+ function renderTableNoData(this: UDExTable) {
72
+ return (
73
+ <UDExTableRow>
74
+ <UDExTableCell class="udex-table__no-data">
75
+ {
76
+ this.noData.length ? (
77
+ <slot name="noData"></slot>
78
+ ) : this._effectiveNoDataText
79
+ }
80
+ </UDExTableCell>
81
+ </UDExTableRow>
82
+ );
83
+ }
84
+
85
+ function renderTableLoading(this: UDExTable) {
86
+ return (
87
+ <UDExBusyIndicator
88
+ class="udex-table__loading"
89
+ delay={this.loadingDelay}
90
+ data-sap-focus-ref
91
+ active
92
+ ></UDExBusyIndicator>
93
+ );
94
+ }
package/src/Tag.ts CHANGED
@@ -91,7 +91,7 @@ class UDExTag extends UI5Element {
91
91
  * @public
92
92
  */
93
93
  @property()
94
- text!: string;
94
+ text: string = "";
95
95
  /**
96
96
  * Defines the href for behavior of the tag as a link
97
97
  *
package/src/TextArea.ts CHANGED
@@ -11,10 +11,10 @@ import {
11
11
  TEXTAREA_CHARACTERS_LEFT,
12
12
  TEXT_FIELD,
13
13
  VALUE_STATE_TYPE_ERROR,
14
- VALUE_STATE_TYPE_STANDARD,
15
14
  VALUE_STATE_TYPE_SUCCESS,
16
15
  VALUE_STATE_TYPE_WARNING,
17
16
  } from "./generated/i18n/i18n-defaults.js";
17
+ import translate from "./utils/translate.js";
18
18
 
19
19
  import "@ui5/webcomponents/dist/Icon.js";
20
20
  import "@ui5/webcomponents-icons/dist/accept.js";
@@ -330,10 +330,10 @@ class UDExTextArea extends UI5Element {
330
330
 
331
331
  get valueStateTypeMappings(): Record<UDExValueState, string> {
332
332
  return {
333
- [UDExValueState.Success]: UDExTextArea.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),
334
- [UDExValueState.Standard]: UDExTextArea.i18nBundle.getText(VALUE_STATE_TYPE_STANDARD),
335
- [UDExValueState.Error]: UDExTextArea.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),
336
- [UDExValueState.Warning]: UDExTextArea.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),
333
+ [UDExValueState.Success]: translate(UDExTextArea, VALUE_STATE_TYPE_SUCCESS),
334
+ [UDExValueState.Standard]: "",
335
+ [UDExValueState.Error]: translate(UDExTextArea, VALUE_STATE_TYPE_ERROR),
336
+ [UDExValueState.Warning]: translate(UDExTextArea, VALUE_STATE_TYPE_WARNING),
337
337
  };
338
338
  }
339
339
 
@@ -350,7 +350,7 @@ class UDExTextArea extends UI5Element {
350
350
  }
351
351
 
352
352
  get readOnlyText(): string {
353
- return UDExTextArea.i18nBundle.getText(READ_ONLY);
353
+ return translate(UDExTextArea, READ_ONLY);
354
354
  }
355
355
 
356
356
  get ariaDescribedBy(): string | undefined {
@@ -374,13 +374,13 @@ class UDExTextArea extends UI5Element {
374
374
  const leftCharactersCount = maxLength - this.value.length;
375
375
 
376
376
  if (leftCharactersCount >= 0) {
377
- return UDExTextArea.i18nBundle.getText(TEXTAREA_CHARACTERS_LEFT, leftCharactersCount);
377
+ return translate(UDExTextArea, TEXTAREA_CHARACTERS_LEFT, leftCharactersCount);
378
378
  }
379
379
  }
380
380
  }
381
381
 
382
382
  get textHiddenLabel(): string {
383
- return UDExTextArea.i18nBundle.getText(TEXT_FIELD);
383
+ return translate(UDExTextArea, TEXT_FIELD);
384
384
  }
385
385
  }
386
386
 
package/src/TextField.ts CHANGED
@@ -9,13 +9,14 @@ import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
9
9
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
10
10
  import { getAllAccessibleNameRefTexts } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
11
11
  import {
12
- VALUE_STATE_SUCCESS, VALUE_STATE_INFORMATION, VALUE_STATE_WARNING, VALUE_STATE_ERROR, READ_ONLY,
12
+ VALUE_STATE_SUCCESS, VALUE_STATE_WARNING, VALUE_STATE_ERROR, READ_ONLY,
13
13
  } from "./generated/i18n/i18n-defaults.js";
14
14
  import UDExControlButton from "./ControlButton.js";
15
15
  import UDExValueState, { valueStateToControlButtonDesign } from "./types/common.js";
16
16
  import type UDExControlButtonDesign from "./types/ControlButtonDesign.js";
17
17
  import UDExStatusMessage from "./StatusMessage.js";
18
18
  import TextFieldTemplate from "./TextFieldTemplate.js";
19
+ import translate from "./utils/translate.js";
19
20
 
20
21
  // Styles
21
22
  import TextFieldCss from "./generated/themes/TextField.css.js";
@@ -453,10 +454,10 @@ class UDExTextField extends UI5Element {
453
454
 
454
455
  get valueStateTypeMappings(): Record<string, string> {
455
456
  return {
456
- "Success": UDExTextField.i18nBundle.getText(VALUE_STATE_SUCCESS),
457
- "Standard": UDExTextField.i18nBundle.getText(VALUE_STATE_INFORMATION),
458
- "Error": UDExTextField.i18nBundle.getText(VALUE_STATE_ERROR),
459
- "Warning": UDExTextField.i18nBundle.getText(VALUE_STATE_WARNING),
457
+ "Success": translate(UDExTextField, VALUE_STATE_SUCCESS),
458
+ "Standard": "",
459
+ "Error": translate(UDExTextField, VALUE_STATE_ERROR),
460
+ "Warning": translate(UDExTextField, VALUE_STATE_WARNING),
460
461
  };
461
462
  }
462
463
 
@@ -469,7 +470,7 @@ class UDExTextField extends UI5Element {
469
470
  }
470
471
 
471
472
  get readOnlyStateText(): string {
472
- return UDExTextField.i18nBundle.getText(READ_ONLY);
473
+ return translate(UDExTextField, READ_ONLY);
473
474
  }
474
475
 
475
476
  get ariaDescribedById(): string {
package/src/Toast.ts CHANGED
@@ -1,16 +1,18 @@
1
1
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
2
2
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
3
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
4
4
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
5
+ import i18n from "@ui5/webcomponents-base/decorators/i18n.js";
6
+ import type I18nBundle from "@ui5/webcomponents-base/i18nBundle.js";
5
7
  import Toast from "@ui5/webcomponents/dist/Toast.js";
6
- import Icon from "@ui5/webcomponents/dist/Icon.js";
7
8
  import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
8
9
  import "@ui5/webcomponents-icons/dist/error.js";
9
10
  import "@ui5/webcomponents-icons/dist/alert.js";
10
11
  import "@ui5/webcomponents-icons/dist/decline.js";
11
- import UDExButton from "./Button.js";
12
12
  import IconDesign from "@ui5/webcomponents/dist/types/IconDesign.js";
13
- import ToastTemplate from "./generated/templates/ToastTemplate.lit.js";
13
+ import ToastTemplate from "./ToastTemplate.js";
14
+ import { TOAST_CLOSE_ACCESSIBLE_NAME } from "./generated/i18n/i18n-defaults.js";
15
+ import translate from "./utils/translate.js";
14
16
 
15
17
  // Styles
16
18
  import ToastCss from "./generated/themes/Toast.css.js";
@@ -27,7 +29,6 @@ export enum UDExToastValueState {
27
29
  *
28
30
  * <h3 class="comment-api-title">Overview</h3>
29
31
  *
30
- *
31
32
  * <h3>Usage</h3>
32
33
  *
33
34
  * For the <code>udex-toast</code>
@@ -39,13 +40,14 @@ export enum UDExToastValueState {
39
40
  * @extends Toast
40
41
  * @public
41
42
  */
43
+
42
44
  @customElement({
43
45
  tag: "udex-toast",
44
- renderer: litRender,
46
+ renderer: jsxRenderer,
45
47
  styles: [Toast.styles, ToastCss],
46
48
  template: ToastTemplate,
47
- dependencies: [Icon, UDExButton],
48
49
  })
50
+
49
51
  class UDExToast extends Toast {
50
52
  /**
51
53
  * Defines design state of component
@@ -74,6 +76,9 @@ class UDExToast extends Toast {
74
76
  @property({ type: Boolean })
75
77
  open = false;
76
78
 
79
+ @i18n("@sapudex/web-components")
80
+ static i18nBundle: I18nBundle;
81
+
77
82
  onEnterDOM(): void {
78
83
  super.onEnterDOM();
79
84
  if (isDesktop()) {
@@ -111,10 +116,14 @@ class UDExToast extends Toast {
111
116
  }
112
117
  }
113
118
 
114
- closeToast() {
119
+ closeToast(): void {
115
120
  this.open = false;
116
121
  this.fireDecoratorEvent("close");
117
122
  }
123
+
124
+ get closeAccessibleName(): string {
125
+ return translate(UDExToast, TOAST_CLOSE_ACCESSIBLE_NAME);
126
+ }
118
127
  }
119
128
 
120
129
  UDExToast.define();
@@ -0,0 +1,42 @@
1
+ import type Toast from "./Toast.js";
2
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
3
+ import UDExButton from "./Button.js";
4
+ import UDExButtonSize from "./types/ButtonSize.js";
5
+ import UDExButtonDesign from "./types/ButtonDesign.js";
6
+ import decline from "@ui5/webcomponents-icons/dist/decline.js";
7
+
8
+ export default function ToastTemplate(this: Toast) {
9
+ const rootClass = "udex-toast";
10
+
11
+ return (
12
+ <>
13
+ {this.open && (
14
+ <div
15
+ className={`${rootClass} ui5-toast-root`}
16
+ role="alert"
17
+ tabIndex={0}>
18
+ {this.withIcon && (
19
+ <UI5Icon
20
+ class={`${rootClass}__icon`}
21
+ name={this.iconName}
22
+ design={this.iconDesign}>
23
+ </UI5Icon>
24
+ )}
25
+ <bdi>
26
+ <slot></slot>
27
+ </bdi>
28
+ {this.showCloseIcon && (
29
+ <UDExButton
30
+ class={`${rootClass}__button`}
31
+ size={UDExButtonSize.Small}
32
+ icon={decline}
33
+ design={UDExButtonDesign.Tertiary}
34
+ accessibleName={this.closeAccessibleName}
35
+ onClick={this.closeToast}>
36
+ </UDExButton>
37
+ )}
38
+ </div>
39
+ )}
40
+ </>
41
+ );
42
+ }
@@ -7,6 +7,7 @@ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
7
7
  import { READ_LESS, READ_MORE } from "./generated/i18n/i18n-defaults.js";
8
8
  import UDExButton from "./Button.js";
9
9
  import TruncatedTextTemplate from "./TruncatedTextTemplate.js";
10
+ import translate from "./utils/translate.js";
10
11
 
11
12
  // Styles
12
13
  import TruncatedTextCss from "./generated/themes/TruncatedText.css.js";
@@ -85,8 +86,8 @@ class UDExTruncatedText extends UI5Element {
85
86
 
86
87
  get buttonLabel(): string {
87
88
  return this.initiallyExpanded
88
- ? UDExTruncatedText.i18nBundle.getText(READ_LESS)
89
- : UDExTruncatedText.i18nBundle.getText(READ_MORE);
89
+ ? translate(UDExTruncatedText, READ_LESS)
90
+ : translate(UDExTruncatedText, READ_MORE);
90
91
  }
91
92
 
92
93
  get validatedCharLimit(): number {
package/src/Upload.ts CHANGED
@@ -18,6 +18,7 @@ import UDExList from "./List.js";
18
18
  import UDExUploadItem from "./UploadItem.js";
19
19
  import UploadTemplate from "./generated/templates/UploadTemplate.lit.js";
20
20
  import type FileData from "./types/FileData.js";
21
+ import translate from "./utils/translate.js";
21
22
 
22
23
  // Styles
23
24
  import UploadCss from "./generated/themes/Upload.css.js";
@@ -352,7 +353,7 @@ class UDExUpload extends UI5Element {
352
353
  }
353
354
 
354
355
  get uploadButtonAriaLabel(): string {
355
- return UDExUpload.i18nBundle.getText(UPLOAD_BUTTON_LABEL);
356
+ return translate(UDExUpload, UPLOAD_BUTTON_LABEL);
356
357
  }
357
358
 
358
359
  get listBusy(): boolean {
@@ -2,7 +2,7 @@
2
2
  <div class="udex-upload-item__info {{uploadItemClasses}}">
3
3
  <div>
4
4
  {{#if fileInteractive}}
5
- <udex-link href="{{fileLink}}">{{fileName}}</udex-link>
5
+ <udex-link href="{{fileLink}}" target="{{fileTarget}}">{{fileName}}</udex-link>
6
6
  {{else}}
7
7
  <p class="udex-upload-item__name">{{fileName}}</p>
8
8
  {{/if}}
package/src/UploadItem.ts CHANGED
@@ -9,6 +9,7 @@ import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
9
9
  import { isEnter, isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
10
10
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
11
11
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
12
+ import { UDExTarget } from "./types/common.js";
12
13
  import { REMOVE_FILE_TEXT, TERMINATED_FILE_STATUS_TEXT, UPLOADING_FILE_STATUS_TEXT } from "./generated/i18n/i18n-defaults.js";
13
14
  import UDExListItem from "./ListItem.js";
14
15
  import UDExProgressBar from "./ProgressBar.js";
@@ -16,6 +17,7 @@ import UDExLink from "./Link.js";
16
17
  import UDExButton from "./Button.js";
17
18
  import UDExButtonSize from "./types/ButtonSize.js";
18
19
  import UploadItemTemplate from "./generated/templates/UploadItemTemplate.lit.js";
20
+ import translate from "./utils/translate.js";
19
21
 
20
22
  // Styles
21
23
  import UploadItemCss from "./generated/themes/UploadItem.css.js";
@@ -78,6 +80,14 @@ class UDExUploadItem extends UDExListItem {
78
80
  @property({ type: String })
79
81
  fileLink?: string;
80
82
 
83
+ /**
84
+ * Defines the file target.
85
+ *
86
+ * @public
87
+ */
88
+ @property({ type: String })
89
+ fileTarget: `${UDExTarget}` = UDExTarget._self;
90
+
81
91
  /**
82
92
  * Defines the percentage of the upload.
83
93
  *
@@ -183,7 +193,7 @@ class UDExUploadItem extends UDExListItem {
183
193
  }
184
194
 
185
195
  get removeButtonAccessibleName(): string {
186
- return UDExUploadItem.i18nBundle.getText(REMOVE_FILE_TEXT);
196
+ return translate(UDExUploadItem, REMOVE_FILE_TEXT);
187
197
  }
188
198
 
189
199
  get showUploadProgress(): boolean {
@@ -200,10 +210,10 @@ class UDExUploadItem extends UDExListItem {
200
210
 
201
211
  get uploadStatus(): string {
202
212
  if (this.uploadState === UDExFileUploadState.Uploading) {
203
- return `${UDExUploadItem.i18nBundle.getText(UPLOADING_FILE_STATUS_TEXT)} ${this.uploadPercentage}%`;
213
+ return `${translate(UDExUploadItem, UPLOADING_FILE_STATUS_TEXT)} ${this.uploadPercentage}%`;
204
214
  }
205
215
 
206
- return `${UDExUploadItem.i18nBundle.getText(TERMINATED_FILE_STATUS_TEXT)} ${this.uploadPercentage}%`;
216
+ return `${translate(UDExUploadItem, TERMINATED_FILE_STATUS_TEXT)} ${this.uploadPercentage}%`;
207
217
  }
208
218
 
209
219
  get fileInteractive(): boolean {