@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
@@ -11,6 +11,7 @@ import { VALUE_STATE_ERROR, VALUE_STATE_SUCCESS, VALUE_STATE_INFORMATION, VALUE_
11
11
  import RadioButton from "@ui5/webcomponents/dist/RadioButton.js";
12
12
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
13
13
  import UDExRadioButtonValueState from "./types/RadioButton.js";
14
+ import translate from "./utils/translate.js";
14
15
  // Styles
15
16
  import RadioButtonCss from "./generated/themes/RadioButton.css.js";
16
17
  /**
@@ -48,13 +49,13 @@ let UDExRadioButton = class UDExRadioButton extends RadioButton {
48
49
  get valueStateText() {
49
50
  switch (this.valueState) {
50
51
  case UDExRadioButtonValueState.Error:
51
- return RadioButton.i18nBundle.getText(VALUE_STATE_ERROR);
52
+ return translate(RadioButton, VALUE_STATE_ERROR);
52
53
  case UDExRadioButtonValueState.Success:
53
- return RadioButton.i18nBundle.getText(VALUE_STATE_SUCCESS);
54
+ return translate(RadioButton, VALUE_STATE_SUCCESS);
54
55
  case UDExRadioButtonValueState.Information:
55
- return RadioButton.i18nBundle.getText(VALUE_STATE_INFORMATION);
56
+ return translate(RadioButton, VALUE_STATE_INFORMATION);
56
57
  case UDExRadioButtonValueState.Warning:
57
- return RadioButton.i18nBundle.getText(VALUE_STATE_WARNING);
58
+ return translate(RadioButton, VALUE_STATE_WARNING);
58
59
  default:
59
60
  return "";
60
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButton.js","sourceRoot":"","sources":["../src/RadioButton.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,EACL,iBAAiB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,GACrF,MAAM,mCAAmC,CAAC;AAC3C,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,yBAAyB,MAAM,wBAAwB,CAAC;AAE/D,SAAS;AACT,OAAO,cAAc,MAAM,uCAAuC,CAAC;AAEnE;;;;;;;;;;;;;;;;;GAiBG;AAOH,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,WAAW;IAAzC;;QAUE;;;;WAIG;QAGD,eAAU,GAAoC,yBAAyB,CAAC,IAAI,CAAC;IAwBjF,CAAC;IAnBC,gBAAgB;QACd,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,cAAc;QAChB,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1B,KAAK,yBAAyB,CAAC,KAAK;gBAClC,OAAO,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC3D,KAAK,yBAAyB,CAAC,OAAO;gBACpC,OAAO,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAC7D,KAAK,yBAAyB,CAAC,WAAW;gBACxC,OAAO,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACjE,KAAK,yBAAyB,CAAC,OAAO;gBACpC,OAAO,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAC7D;gBACE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF,CAAA;AAjCG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACJ;AAStB;IAFD,QAAQ,EAAE;IACX,uBAAuB;mDACwD;AAGxE;IADN,IAAI,CAAC,yBAAyB,CAAC;yCACF;AApB1B,eAAe;IANpB,aAAa,CAAC;QACb,GAAG,EAAE,mBAAmB;QACxB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC;KAC7C,CAAC;GAEI,eAAe,CAyCpB;AAED,eAAe,CAAC,MAAM,EAAE,CAAC;AAEzB,eAAe,eAAe,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n VALUE_STATE_ERROR, VALUE_STATE_SUCCESS, VALUE_STATE_INFORMATION, VALUE_STATE_WARNING,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport RadioButton from \"@ui5/webcomponents/dist/RadioButton.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport UDExRadioButtonValueState from \"./types/RadioButton.js\";\n\n// Styles\nimport RadioButtonCss from \"./generated/themes/RadioButton.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-radio-button</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/RadioButton.js\";</code>\n *\n * @constructor\n * @extends RadioButton\n * @tagname udex-radio-button\n * @public\n */\n@customElement({\n tag: \"udex-radio-button\",\n renderer: jsxRenderer,\n styles: [RadioButton.styles, RadioButtonCss],\n})\n\nclass UDExRadioButton extends RadioButton {\n /**\n * Define if arrow icons for last and first page are visible.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n displayOnly!: boolean;\n\n /**\n * Defines the value state of the component.\n * @default \"None\"\n * @public\n */\n @property()\n /** @ts-expect-error */\n valueState!: `${UDExRadioButtonValueState}` = UDExRadioButtonValueState.None;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onAfterRendering(): void {\n this.readonly = this.readonly || this.displayOnly;\n this.syncGroup();\n }\n\n get valueStateText(): string {\n switch (this.valueState) {\n case UDExRadioButtonValueState.Error:\n return RadioButton.i18nBundle.getText(VALUE_STATE_ERROR);\n case UDExRadioButtonValueState.Success:\n return RadioButton.i18nBundle.getText(VALUE_STATE_SUCCESS);\n case UDExRadioButtonValueState.Information:\n return RadioButton.i18nBundle.getText(VALUE_STATE_INFORMATION);\n case UDExRadioButtonValueState.Warning:\n return RadioButton.i18nBundle.getText(VALUE_STATE_WARNING);\n default:\n return \"\";\n }\n }\n}\n\nUDExRadioButton.define();\n\nexport default UDExRadioButton;\n"]}
1
+ {"version":3,"file":"RadioButton.js","sourceRoot":"","sources":["../src/RadioButton.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,EACL,iBAAiB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,GACrF,MAAM,mCAAmC,CAAC;AAC3C,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,yBAAyB,MAAM,wBAAwB,CAAC;AAC/D,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,SAAS;AACT,OAAO,cAAc,MAAM,uCAAuC,CAAC;AAEnE;;;;;;;;;;;;;;;;;GAiBG;AAOH,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,WAAW;IAAzC;;QAUE;;;;WAIG;QAGD,eAAU,GAAoC,yBAAyB,CAAC,IAAI,CAAC;IAwBjF,CAAC;IAnBC,gBAAgB;QACd,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,cAAc;QAChB,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1B,KAAK,yBAAyB,CAAC,KAAK;gBAClC,OAAO,SAAS,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACnD,KAAK,yBAAyB,CAAC,OAAO;gBACpC,OAAO,SAAS,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;YACrD,KAAK,yBAAyB,CAAC,WAAW;gBACxC,OAAO,SAAS,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;YACzD,KAAK,yBAAyB,CAAC,OAAO;gBACpC,OAAO,SAAS,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;YACrD;gBACE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF,CAAA;AAjCG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACJ;AAStB;IAFD,QAAQ,EAAE;IACX,uBAAuB;mDACwD;AAGxE;IADN,IAAI,CAAC,yBAAyB,CAAC;yCACF;AApB1B,eAAe;IANpB,aAAa,CAAC;QACb,GAAG,EAAE,mBAAmB;QACxB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC;KAC7C,CAAC;GAEI,eAAe,CAyCpB;AAED,eAAe,CAAC,MAAM,EAAE,CAAC;AAEzB,eAAe,eAAe,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n VALUE_STATE_ERROR, VALUE_STATE_SUCCESS, VALUE_STATE_INFORMATION, VALUE_STATE_WARNING,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport RadioButton from \"@ui5/webcomponents/dist/RadioButton.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport UDExRadioButtonValueState from \"./types/RadioButton.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport RadioButtonCss from \"./generated/themes/RadioButton.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-radio-button</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/RadioButton.js\";</code>\n *\n * @constructor\n * @extends RadioButton\n * @tagname udex-radio-button\n * @public\n */\n@customElement({\n tag: \"udex-radio-button\",\n renderer: jsxRenderer,\n styles: [RadioButton.styles, RadioButtonCss],\n})\n\nclass UDExRadioButton extends RadioButton {\n /**\n * Define if arrow icons for last and first page are visible.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n displayOnly!: boolean;\n\n /**\n * Defines the value state of the component.\n * @default \"None\"\n * @public\n */\n @property()\n /** @ts-expect-error */\n valueState!: `${UDExRadioButtonValueState}` = UDExRadioButtonValueState.None;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onAfterRendering(): void {\n this.readonly = this.readonly || this.displayOnly;\n this.syncGroup();\n }\n\n get valueStateText(): string {\n switch (this.valueState) {\n case UDExRadioButtonValueState.Error:\n return translate(RadioButton, VALUE_STATE_ERROR);\n case UDExRadioButtonValueState.Success:\n return translate(RadioButton, VALUE_STATE_SUCCESS);\n case UDExRadioButtonValueState.Information:\n return translate(RadioButton, VALUE_STATE_INFORMATION);\n case UDExRadioButtonValueState.Warning:\n return translate(RadioButton, VALUE_STATE_WARNING);\n default:\n return \"\";\n }\n }\n}\n\nUDExRadioButton.define();\n\nexport default UDExRadioButton;\n"]}
package/dist/RatingBar.js CHANGED
@@ -14,6 +14,7 @@ import Icon from "@ui5/webcomponents/dist/Icon.js";
14
14
  import { STARS } from "./generated/i18n/i18n-defaults.js";
15
15
  import "@ui5/webcomponents-icons/dist/favorite.js";
16
16
  import RatingBarTemplate from "./RatingBarTemplate.js";
17
+ import translate from "./utils/translate.js";
17
18
  // Styles
18
19
  import RatingBarCss from "./generated/themes/RatingBar.css.js";
19
20
  /**
@@ -81,7 +82,7 @@ let UDExRatingBar = UDExRatingBar_1 = class UDExRatingBar extends UI5Element {
81
82
  return `${this.percentage}%`;
82
83
  }
83
84
  get _ratingDescription() {
84
- return `${this.validatedRating} ${UDExRatingBar_1.i18nBundle.getText(STARS)}`;
85
+ return `${this.validatedRating} ${translate(UDExRatingBar_1, STARS)}`;
85
86
  }
86
87
  };
87
88
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"RatingBar.js","sourceRoot":"","sources":["../src/RatingBar.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,WAAW,MAAM,iDAAiD,CAAC;AAC1E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,2CAA2C,CAAC;AACnD,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD,SAAS;AACT,OAAO,YAAY,MAAM,qCAAqC,CAAC;AAE/D;;;;;;;;;;;;;;;;GAgBG;AASH,IAAM,aAAa,qBAAnB,MAAM,aAAc,SAAQ,UAAU;IAAtC;;QACE;;;;;YAKI;QAEF,WAAM,GAAW,CAAC,CAAC;QAErB;;;;;YAKI;QAEF,eAAU,GAAW,CAAC,CAAC;QAczB,eAAU,GAAW,CAAC,CAAC;QACvB,eAAU,GAAW,CAAC,CAAC;QACvB,mBAAc,GAAW,CAAC,CAAC;QAC3B,mBAAc,GAAW,GAAG,CAAC;IAiC/B,CAAC;IA/BC,iBAAiB;QACf,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,eAAe;QACjB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,mBAAmB;QACrB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC3E,OAAO,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACzE,OAAO,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC;QACnC,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC;IAC/B,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,eAAa,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9E,CAAC;CACF,CAAA;AA3DG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CACN;AASnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDACF;AASvB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACD;AAGpB;IADN,IAAI,CAAC,yBAAyB,CAAC;uCACF;AA7B1B,aAAa;IARlB,aAAa,CAAC;QACb,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,iBAAiB;QAC3B,YAAY,EAAE,CAAC,IAAI,CAAC;KACrB,CAAC;GAEI,aAAa,CAmElB;AAED,aAAa,CAAC,MAAM,EAAE,CAAC;AAEvB,eAAe,aAAa,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { STARS } from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/favorite.js\";\nimport RatingBarTemplate from \"./RatingBarTemplate.js\";\n\n// Styles\nimport RatingBarCss from \"./generated/themes/RatingBar.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-rating-bar</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/RatingBar.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-rating-bar\",\n renderer: jsxRenderer,\n styles: RatingBarCss,\n template: RatingBarTemplate,\n dependencies: [Icon],\n})\n\nclass UDExRatingBar extends UI5Element {\n /**\n * Defines the associated rating.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n rating: number = 0;\n\n /**\n * Defines the percentage.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n percentage: number = 0;\n\n /**\n * Defines wether the percentage is shown or not.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showPercentage!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _minRating: number = 0;\n _maxRating: number = 5;\n _minPercentage: number = 0;\n _maxPercentage: number = 100;\n\n onBeforeRendering(): void {\n this.style.setProperty(\"--udex-rating-bar-progress\", `${this.percentage}%`);\n }\n\n get validatedRating(): number {\n if (this.rating > this._maxRating) {\n console.warn(\"UDEx RatingBar: The rating shouldn't be more than 5.\");\n return this._maxRating;\n }\n if (this.rating < this._minRating) {\n console.warn(\"UDEx RatingBar: The rating shouldn't be less than 0.\");\n return this._minRating;\n }\n return this.rating;\n }\n\n get validatedPercentage(): string {\n if (this.percentage > this._maxPercentage) {\n console.warn(\"UDEx RatingBar: The percentage shouldn't be more than 100.\");\n return `${this._maxPercentage}%`;\n }\n if (this.percentage < this._minPercentage) {\n console.warn(\"UDEx RatingBar: The percentage shouldn't be less than 0.\");\n return `${this._minPercentage}%`;\n }\n return `${this.percentage}%`;\n }\n\n get _ratingDescription(): string {\n return `${this.validatedRating} ${UDExRatingBar.i18nBundle.getText(STARS)}`;\n }\n}\n\nUDExRatingBar.define();\n\nexport default UDExRatingBar;\n"]}
1
+ {"version":3,"file":"RatingBar.js","sourceRoot":"","sources":["../src/RatingBar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { STARS } from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/favorite.js\";\nimport RatingBarTemplate from \"./RatingBarTemplate.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport RatingBarCss from \"./generated/themes/RatingBar.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-rating-bar</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/RatingBar.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-rating-bar\",\n renderer: jsxRenderer,\n styles: RatingBarCss,\n template: RatingBarTemplate,\n dependencies: [Icon],\n})\n\nclass UDExRatingBar extends UI5Element {\n /**\n * Defines the associated rating.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n rating: number = 0;\n\n /**\n * Defines the percentage.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n percentage: number = 0;\n\n /**\n * Defines wether the percentage is shown or not.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showPercentage!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _minRating: number = 0;\n _maxRating: number = 5;\n _minPercentage: number = 0;\n _maxPercentage: number = 100;\n\n onBeforeRendering(): void {\n this.style.setProperty(\"--udex-rating-bar-progress\", `${this.percentage}%`);\n }\n\n get validatedRating(): number {\n if (this.rating > this._maxRating) {\n console.warn(\"UDEx RatingBar: The rating shouldn't be more than 5.\");\n return this._maxRating;\n }\n if (this.rating < this._minRating) {\n console.warn(\"UDEx RatingBar: The rating shouldn't be less than 0.\");\n return this._minRating;\n }\n return this.rating;\n }\n\n get validatedPercentage(): string {\n if (this.percentage > this._maxPercentage) {\n console.warn(\"UDEx RatingBar: The percentage shouldn't be more than 100.\");\n return `${this._maxPercentage}%`;\n }\n if (this.percentage < this._minPercentage) {\n console.warn(\"UDEx RatingBar: The percentage shouldn't be less than 0.\");\n return `${this._minPercentage}%`;\n }\n return `${this.percentage}%`;\n }\n\n get _ratingDescription(): string {\n return `${this.validatedRating} ${translate(UDExRatingBar, STARS)}`;\n }\n}\n\nUDExRatingBar.define();\n\nexport default UDExRatingBar;\n"]}
@@ -15,6 +15,7 @@ import RatingIndicatorTemplate from "./RatingIndicatorTemplate.js";
15
15
  import RatingIndicatorCss from "./generated/themes/RatingIndicator.css.js";
16
16
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
17
17
  import { TOTAL } from "./generated/i18n/i18n-defaults.js";
18
+ import translate from "./utils/translate.js";
18
19
  import "@ui5/webcomponents-icons/dist/favorite.js";
19
20
  import "@ui5/webcomponents-icons/dist/unfavorite.js";
20
21
  export var UDExDisplayType;
@@ -48,7 +49,7 @@ let UDExRatingIndicator = class UDExRatingIndicator extends RatingIndicator {
48
49
  get _ariaLabel() {
49
50
  const ariaLabelText = getEffectiveAriaLabelText(this) || "";
50
51
  if (this.totalCount) {
51
- return `${ariaLabelText ? `${ariaLabelText}, ` : ""}${RatingIndicator.i18nBundle.getText(TOTAL)} ${this.totalCount}`;
52
+ return `${ariaLabelText ? `${ariaLabelText}, ` : ""}${translate(RatingIndicator, TOTAL)} ${this.totalCount}`;
52
53
  }
53
54
  return ariaLabelText;
54
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RatingIndicator.js","sourceRoot":"","sources":["../src/RatingIndicator.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,eAAe,MAAM,4CAA4C,CAAC;AACzE,OAAO,WAAW,MAAM,iDAAiD,CAAC;AAC1E,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAEnE,SAAS;AACT,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,2CAA2C,CAAC;AACnD,OAAO,6CAA6C,CAAC;AAErD,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;AACnB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED;;;;;;;;;;;GAWG;AASH,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,eAAe;IAAjD;;QACE;;;;;WAKG;QAED,YAAO,GAAyB,eAAe,CAAC,OAAO,CAAC;IAwB5D,CAAC;IAXC,IAAI,UAAU;QACZ,MAAM,aAAa,GAAW,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACvH,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC;IACpD,CAAC;CACF,CAAA;AAxBG;IADD,QAAQ,EAAE;oDAC+C;AAQxD;IADD,QAAQ,EAAE;uDACW;AAGf;IADN,IAAI,CAAC,yBAAyB,CAAC;6CACF;AAnB1B,mBAAmB;IARxB,aAAa,CAAC;QACb,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,kBAAkB,CAAC;QACpD,QAAQ,EAAE,uBAAuB;QACjC,YAAY,EAAE,CAAC,IAAI,CAAC;KACrB,CAAC;GAEI,mBAAmB,CAgCxB;AAED,mBAAmB,CAAC,MAAM,EAAE,CAAC;AAE7B,eAAe,mBAAmB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\n\nimport RatingIndicator from \"@ui5/webcomponents/dist/RatingIndicator.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport RatingIndicatorTemplate from \"./RatingIndicatorTemplate.js\";\n\n// Styles\nimport RatingIndicatorCss from \"./generated/themes/RatingIndicator.css.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { TOTAL } from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/favorite.js\";\nimport \"@ui5/webcomponents-icons/dist/unfavorite.js\";\n\nexport enum UDExDisplayType {\n Desktop = \"Desktop\",\n Mobile = \"Mobile\"\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * ### ES6 Module Import\n *\n * `import @sapudex/web-components/dist/RatingIndicator.js\";`\n * @constructor\n * @extends RatingIndicator\n * @public\n */\n@customElement({\n tag: \"udex-rating-indicator\",\n renderer: jsxRenderer,\n styles: [RatingIndicator.styles, RatingIndicatorCss],\n template: RatingIndicatorTemplate,\n dependencies: [Icon],\n})\n\nclass UDExRatingIndicator extends RatingIndicator {\n /**\n * Defines the display type of the component.\n *\n * @default \"Desktop\"\n * @public\n */\n @property()\n display: `${UDExDisplayType}` = UDExDisplayType.Desktop;\n\n /**\n * The number of total votes.\n *\n * @public\n */\n @property()\n totalCount!: number;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n get _ariaLabel(): string {\n const ariaLabelText: string = getEffectiveAriaLabelText(this) || \"\";\n if (this.totalCount) {\n return `${ariaLabelText ? `${ariaLabelText}, ` : \"\"}${RatingIndicator.i18nBundle.getText(TOTAL)} ${this.totalCount}`;\n }\n return ariaLabelText;\n }\n\n get hasTotalCount(): boolean {\n return !!this.totalCount || this.totalCount === 0;\n }\n}\n\nUDExRatingIndicator.define();\n\nexport default UDExRatingIndicator;\n"]}
1
+ {"version":3,"file":"RatingIndicator.js","sourceRoot":"","sources":["../src/RatingIndicator.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,eAAe,MAAM,4CAA4C,CAAC;AACzE,OAAO,WAAW,MAAM,iDAAiD,CAAC;AAC1E,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAEnE,SAAS;AACT,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,2CAA2C,CAAC;AACnD,OAAO,6CAA6C,CAAC;AAErD,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;AACnB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED;;;;;;;;;;;GAWG;AASH,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,eAAe;IAAjD;;QACE;;;;;WAKG;QAED,YAAO,GAAyB,eAAe,CAAC,OAAO,CAAC;IAwB5D,CAAC;IAXC,IAAI,UAAU;QACZ,MAAM,aAAa,GAAW,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/G,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC;IACpD,CAAC;CACF,CAAA;AAxBG;IADD,QAAQ,EAAE;oDAC+C;AAQxD;IADD,QAAQ,EAAE;uDACW;AAGf;IADN,IAAI,CAAC,yBAAyB,CAAC;6CACF;AAnB1B,mBAAmB;IARxB,aAAa,CAAC;QACb,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,kBAAkB,CAAC;QACpD,QAAQ,EAAE,uBAAuB;QACjC,YAAY,EAAE,CAAC,IAAI,CAAC;KACrB,CAAC;GAEI,mBAAmB,CAgCxB;AAED,mBAAmB,CAAC,MAAM,EAAE,CAAC;AAE7B,eAAe,mBAAmB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\n\nimport RatingIndicator from \"@ui5/webcomponents/dist/RatingIndicator.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport RatingIndicatorTemplate from \"./RatingIndicatorTemplate.js\";\n\n// Styles\nimport RatingIndicatorCss from \"./generated/themes/RatingIndicator.css.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { TOTAL } from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\nimport \"@ui5/webcomponents-icons/dist/favorite.js\";\nimport \"@ui5/webcomponents-icons/dist/unfavorite.js\";\n\nexport enum UDExDisplayType {\n Desktop = \"Desktop\",\n Mobile = \"Mobile\"\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * ### ES6 Module Import\n *\n * `import @sapudex/web-components/dist/RatingIndicator.js\";`\n * @constructor\n * @extends RatingIndicator\n * @public\n */\n@customElement({\n tag: \"udex-rating-indicator\",\n renderer: jsxRenderer,\n styles: [RatingIndicator.styles, RatingIndicatorCss],\n template: RatingIndicatorTemplate,\n dependencies: [Icon],\n})\n\nclass UDExRatingIndicator extends RatingIndicator {\n /**\n * Defines the display type of the component.\n *\n * @default \"Desktop\"\n * @public\n */\n @property()\n display: `${UDExDisplayType}` = UDExDisplayType.Desktop;\n\n /**\n * The number of total votes.\n *\n * @public\n */\n @property()\n totalCount!: number;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n get _ariaLabel(): string {\n const ariaLabelText: string = getEffectiveAriaLabelText(this) || \"\";\n if (this.totalCount) {\n return `${ariaLabelText ? `${ariaLabelText}, ` : \"\"}${translate(RatingIndicator, TOTAL)} ${this.totalCount}`;\n }\n return ariaLabelText;\n }\n\n get hasTotalCount(): boolean {\n return !!this.totalCount || this.totalCount === 0;\n }\n}\n\nUDExRatingIndicator.define();\n\nexport default UDExRatingIndicator;\n"]}
package/dist/Review.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
3
  import "@ui5/webcomponents-icons/dist/favorite.js";
4
- import UDExRatingBar from "./RatingBar.js";
4
+ import type UDExRatingBar from "./RatingBar.js";
5
5
  import type UDExButton from "./Button.js";
6
6
  /**
7
7
  * @class
package/dist/Review.js CHANGED
@@ -13,10 +13,10 @@ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
13
13
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
14
14
  import { REVIEWS, STARS } from "./generated/i18n/i18n-defaults.js";
15
15
  import "@ui5/webcomponents-icons/dist/favorite.js";
16
- import UDExRatingBar from "./RatingBar.js";
17
16
  import ReviewTemplate from "./ReviewTemplate.js";
18
17
  // Styles
19
18
  import ReviewCss from "./generated/themes/Review.css.js";
19
+ import translate from "./utils/translate.js";
20
20
  /**
21
21
  * @class
22
22
  *
@@ -56,7 +56,7 @@ let UDExReview = UDExReview_1 = class UDExReview extends UI5Element {
56
56
  this._maxRatingBars = 5;
57
57
  }
58
58
  get reviewsText() {
59
- return `${this.reviews} ${UDExReview_1.i18nBundle.getText(REVIEWS)}`;
59
+ return `${this.reviews} ${translate(UDExReview_1, REVIEWS)}`;
60
60
  }
61
61
  get withoutBreakdown() {
62
62
  return this.bars.length === 0;
@@ -83,7 +83,7 @@ let UDExReview = UDExReview_1 = class UDExReview extends UI5Element {
83
83
  return this.bars;
84
84
  }
85
85
  get _ratingDescription() {
86
- return `${this.validatedRating} ${UDExRatingBar.i18nBundle.getText(STARS)}`;
86
+ return `${this.validatedRating} ${translate(UDExReview_1, STARS)}`;
87
87
  }
88
88
  };
89
89
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"Review.js","sourceRoot":"","sources":["../src/Review.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { REVIEWS, STARS } from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/favorite.js\";\nimport UDExRatingBar from \"./RatingBar.js\";\nimport type UDExButton from \"./Button.js\";\nimport ReviewTemplate from \"./ReviewTemplate.js\";\n\n// Styles\nimport ReviewCss from \"./generated/themes/Review.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-review</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Review.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-review\",\n renderer: jsxRenderer,\n styles: ReviewCss,\n template: ReviewTemplate,\n})\n\nclass UDExReview extends UI5Element {\n /**\n * Defines the rating.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n rating: number = 0;\n\n /**\n * Defines the total number of reviews.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n reviews: number = 0;\n\n /**\n * Slot for a button for writing a review.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n reviewButton!: UDExButton;\n\n /**\n * Slot for the default text when there are no reviews or rating.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n defaultText!: HTMLElement;\n\n /**\n * Slot for rating bars.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, individualSlots: true })\n bars!: Array<UDExRatingBar>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _minRating: number = 0;\n _maxRating: number = 5;\n _maxRatingBars: number = 5;\n\n get reviewsText(): string {\n return `${this.reviews} ${UDExReview.i18nBundle.getText(REVIEWS)}`;\n }\n\n get withoutBreakdown(): boolean {\n return this.bars.length === 0;\n }\n\n get isEmpty(): boolean {\n return this.reviews === 0 && this.rating === 0;\n }\n\n get validatedRating(): number {\n if (this.rating > this._maxRating) {\n console.warn(\"UDEx Review: The rating shouldn't be more than 5.\");\n return this._maxRating;\n }\n if (this.rating < this._minRating) {\n console.warn(\"UDEx Review: The rating shouldn't be less than 0.\");\n return this._minRating;\n }\n return this.rating;\n }\n\n get validatedRatingBars(): Array<UDExRatingBar> {\n if (this.bars.length > this._maxRatingBars) {\n console.warn(\"UDEx Review: There shouldn't be more than 5 RatingBars.\");\n return this.bars.slice(-this._maxRatingBars);\n }\n\n return this.bars;\n }\n\n get _ratingDescription(): string {\n return `${this.validatedRating} ${UDExRatingBar.i18nBundle.getText(STARS)}`;\n }\n}\n\nUDExReview.define();\n\nexport default UDExReview;\n"]}
1
+ {"version":3,"file":"Review.js","sourceRoot":"","sources":["../src/Review.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { REVIEWS, STARS } from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/favorite.js\";\nimport type UDExRatingBar from \"./RatingBar.js\";\nimport type UDExButton from \"./Button.js\";\nimport ReviewTemplate from \"./ReviewTemplate.js\";\n\n// Styles\nimport ReviewCss from \"./generated/themes/Review.css.js\";\nimport translate from \"./utils/translate.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-review</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Review.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-review\",\n renderer: jsxRenderer,\n styles: ReviewCss,\n template: ReviewTemplate,\n})\n\nclass UDExReview extends UI5Element {\n /**\n * Defines the rating.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n rating: number = 0;\n\n /**\n * Defines the total number of reviews.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n reviews: number = 0;\n\n /**\n * Slot for a button for writing a review.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n reviewButton!: UDExButton;\n\n /**\n * Slot for the default text when there are no reviews or rating.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n defaultText!: HTMLElement;\n\n /**\n * Slot for rating bars.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, individualSlots: true })\n bars!: Array<UDExRatingBar>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _minRating: number = 0;\n _maxRating: number = 5;\n _maxRatingBars: number = 5;\n\n get reviewsText(): string {\n return `${this.reviews} ${translate(UDExReview, REVIEWS)}`;\n }\n\n get withoutBreakdown(): boolean {\n return this.bars.length === 0;\n }\n\n get isEmpty(): boolean {\n return this.reviews === 0 && this.rating === 0;\n }\n\n get validatedRating(): number {\n if (this.rating > this._maxRating) {\n console.warn(\"UDEx Review: The rating shouldn't be more than 5.\");\n return this._maxRating;\n }\n if (this.rating < this._minRating) {\n console.warn(\"UDEx Review: The rating shouldn't be less than 0.\");\n return this._minRating;\n }\n return this.rating;\n }\n\n get validatedRatingBars(): Array<UDExRatingBar> {\n if (this.bars.length > this._maxRatingBars) {\n console.warn(\"UDEx Review: There shouldn't be more than 5 RatingBars.\");\n return this.bars.slice(-this._maxRatingBars);\n }\n\n return this.bars;\n }\n\n get _ratingDescription(): string {\n return `${this.validatedRating} ${translate(UDExReview, STARS)}`;\n }\n}\n\nUDExReview.define();\n\nexport default UDExReview;\n"]}
@@ -14,6 +14,7 @@ import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
14
14
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
15
15
  import ReviewItemTemplate from "./ReviewItemTemplate.js";
16
16
  import { READ_LESS, READ_MORE } from "./generated/i18n/i18n-defaults.js";
17
+ import translate from "./utils/translate.js";
17
18
  // Styles
18
19
  import ReviewItemCss from "./generated/themes/ReviewItem.css.js";
19
20
  /**
@@ -98,7 +99,7 @@ let UDExReviewItem = UDExReviewItem_1 = class UDExReviewItem extends UI5Element
98
99
  this._showTextExpander = (!this._textExpanded && this._completeText.length < this.text.length) || (this._textExpanded && visibleText.length < this.text.length);
99
100
  }
100
101
  get buttonText() {
101
- return this._textExpanded ? UDExReviewItem_1.i18nBundle.getText(READ_LESS) : UDExReviewItem_1.i18nBundle.getText(READ_MORE);
102
+ return this._textExpanded ? translate(UDExReviewItem_1, READ_LESS) : translate(UDExReviewItem_1, READ_MORE);
102
103
  }
103
104
  get reviewItemClasses() {
104
105
  const ratingTop = this.showRatingTop ? " udex-review-item__rating-top" : "";
@@ -1 +1 @@
1
- {"version":3,"file":"ReviewItem.js","sourceRoot":"","sources":["../src/ReviewItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ReviewItemTemplate from \"./ReviewItemTemplate.js\";\nimport { READ_LESS, READ_MORE } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport ReviewItemCss from \"./generated/themes/ReviewItem.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-review-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ReviewItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-review-item\",\n renderer: jsxRenderer,\n styles: ReviewItemCss,\n template: ReviewItemTemplate,\n})\n\nclass UDExReviewItem extends UI5Element {\n /**\n * Defines the position of the rating in review.\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showRatingTop!: boolean;\n\n /**\n * Defines the rating in the review.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n rating: number = 0;\n\n /**\n * Defines the title of the review.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n reviewTitle!: string;\n\n /**\n * Defines the text of the review.\n * @default \"\"\n * @public\n */\n @property({ type: String })\n text!: string;\n\n /**\n * Defines whether button for showing truncated text is shown.\n * @default 2\n * @private\n */\n @property({ type: Number })\n _textLineLimit: number = 2;\n\n /**\n * Defines whether the text is expanded.\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _textExpanded!: boolean;\n\n /**\n * Defines whether button for showing truncated text is shown.\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _showTextExpander!: boolean;\n\n /**\n * Defines the text, consisting of visible and invisible parts of the original text.\n * @default \"\"\n * @private\n */\n @property({ type: String })\n _completeText!: string;\n\n /**\n * Defines the author's name and company.\n *\n * @default \"\"\n * @slot\n */\n @slot()\n author!: Array<HTMLElement>;\n\n /**\n * Defines the date of the review.\n *\n * @default \"\"\n * @slot\n */\n @slot()\n date!: Array<HTMLElement>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _handleResizeBound: ResizeObserverCallback;\n _textElement!: HTMLElement;\n _visibleText!: string;\n _maxHeight: number = 48;\n _maxRating: number = 5;\n _minRating: number = 0;\n\n constructor() {\n super();\n this._handleResizeBound = this._checkTextOverflow.bind(this);\n }\n\n onEnterDOM(): void {\n this._maxHeight = 48;\n this._completeText = this.text;\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onAfterRendering(): void {\n this._textElement = this.getTextElement();\n this._checkTextOverflow();\n }\n\n _toggleText() {\n this._textExpanded = !this._textExpanded;\n if (this._textExpanded) {\n this._completeText = this.text;\n this._textElement.classList.add(\"udex-review-item__text-expanded\");\n } else {\n this._textElement.classList.remove(\"udex-review-item__text-expanded\");\n this._completeText = this._visibleText;\n }\n }\n\n _checkTextOverflow() {\n const words = this.text.split(\" \");\n\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\")!;\n context.font = `16px sans-serif`;\n\n let currentLineWidth = 0;\n let visibleText = \"\";\n\n words.forEach(word => {\n const wordWidth = context.measureText(`${word} `).width;\n if (currentLineWidth + wordWidth <= 2 * this._textElement.offsetWidth) {\n visibleText += `${word} `;\n currentLineWidth += wordWidth;\n }\n });\n\n this._visibleText = visibleText;\n if (!this._textExpanded) {\n this._completeText = visibleText;\n }\n\n this._showTextExpander = (!this._textExpanded && this._completeText.length < this.text.length) || (this._textExpanded && visibleText.length < this.text.length);\n }\n\n get buttonText(): string {\n return this._textExpanded ? UDExReviewItem.i18nBundle.getText(READ_LESS) : UDExReviewItem.i18nBundle.getText(READ_MORE);\n }\n\n get reviewItemClasses(): string {\n const ratingTop = this.showRatingTop ? \" udex-review-item__rating-top\" : \"\";\n return `udex-review-item${ratingTop}`;\n }\n\n get validatedRating(): number {\n if (this.rating > this._maxRating) {\n console.warn(\"UDEx Review: The rating shouldn't be more than 5.\");\n return this._maxRating;\n }\n if (this.rating < this._minRating) {\n console.warn(\"UDEx Review: The rating shouldn't be less than 0.\");\n return this._minRating;\n }\n return this.rating;\n }\n\n getTextElement(): HTMLElement {\n const textElement = this.shadowRoot?.getElementById(\"udex-review-item__text\");\n return textElement!;\n }\n}\n\nUDExReviewItem.define();\n\nexport default UDExReviewItem;\n"]}
1
+ {"version":3,"file":"ReviewItem.js","sourceRoot":"","sources":["../src/ReviewItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ReviewItemTemplate from \"./ReviewItemTemplate.js\";\nimport { READ_LESS, READ_MORE } from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport ReviewItemCss from \"./generated/themes/ReviewItem.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-review-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ReviewItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-review-item\",\n renderer: jsxRenderer,\n styles: ReviewItemCss,\n template: ReviewItemTemplate,\n})\n\nclass UDExReviewItem extends UI5Element {\n /**\n * Defines the position of the rating in review.\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showRatingTop!: boolean;\n\n /**\n * Defines the rating in the review.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n rating: number = 0;\n\n /**\n * Defines the title of the review.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n reviewTitle!: string;\n\n /**\n * Defines the text of the review.\n * @default \"\"\n * @public\n */\n @property({ type: String })\n text!: string;\n\n /**\n * Defines whether button for showing truncated text is shown.\n * @default 2\n * @private\n */\n @property({ type: Number })\n _textLineLimit: number = 2;\n\n /**\n * Defines whether the text is expanded.\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _textExpanded!: boolean;\n\n /**\n * Defines whether button for showing truncated text is shown.\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _showTextExpander!: boolean;\n\n /**\n * Defines the text, consisting of visible and invisible parts of the original text.\n * @default \"\"\n * @private\n */\n @property({ type: String })\n _completeText!: string;\n\n /**\n * Defines the author's name and company.\n *\n * @default \"\"\n * @slot\n */\n @slot()\n author!: Array<HTMLElement>;\n\n /**\n * Defines the date of the review.\n *\n * @default \"\"\n * @slot\n */\n @slot()\n date!: Array<HTMLElement>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _handleResizeBound: ResizeObserverCallback;\n _textElement!: HTMLElement;\n _visibleText!: string;\n _maxHeight: number = 48;\n _maxRating: number = 5;\n _minRating: number = 0;\n\n constructor() {\n super();\n this._handleResizeBound = this._checkTextOverflow.bind(this);\n }\n\n onEnterDOM(): void {\n this._maxHeight = 48;\n this._completeText = this.text;\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onAfterRendering(): void {\n this._textElement = this.getTextElement();\n this._checkTextOverflow();\n }\n\n _toggleText() {\n this._textExpanded = !this._textExpanded;\n if (this._textExpanded) {\n this._completeText = this.text;\n this._textElement.classList.add(\"udex-review-item__text-expanded\");\n } else {\n this._textElement.classList.remove(\"udex-review-item__text-expanded\");\n this._completeText = this._visibleText;\n }\n }\n\n _checkTextOverflow() {\n const words = this.text.split(\" \");\n\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\")!;\n context.font = `16px sans-serif`;\n\n let currentLineWidth = 0;\n let visibleText = \"\";\n\n words.forEach(word => {\n const wordWidth = context.measureText(`${word} `).width;\n if (currentLineWidth + wordWidth <= 2 * this._textElement.offsetWidth) {\n visibleText += `${word} `;\n currentLineWidth += wordWidth;\n }\n });\n\n this._visibleText = visibleText;\n if (!this._textExpanded) {\n this._completeText = visibleText;\n }\n\n this._showTextExpander = (!this._textExpanded && this._completeText.length < this.text.length) || (this._textExpanded && visibleText.length < this.text.length);\n }\n\n get buttonText(): string {\n return this._textExpanded ? translate(UDExReviewItem, READ_LESS) : translate(UDExReviewItem, READ_MORE);\n }\n\n get reviewItemClasses(): string {\n const ratingTop = this.showRatingTop ? \" udex-review-item__rating-top\" : \"\";\n return `udex-review-item${ratingTop}`;\n }\n\n get validatedRating(): number {\n if (this.rating > this._maxRating) {\n console.warn(\"UDEx Review: The rating shouldn't be more than 5.\");\n return this._maxRating;\n }\n if (this.rating < this._minRating) {\n console.warn(\"UDEx Review: The rating shouldn't be less than 0.\");\n return this._minRating;\n }\n return this.rating;\n }\n\n getTextElement(): HTMLElement {\n const textElement = this.shadowRoot?.getElementById(\"udex-review-item__text\");\n return textElement!;\n }\n}\n\nUDExReviewItem.define();\n\nexport default UDExReviewItem;\n"]}
package/dist/Search.d.ts CHANGED
@@ -363,6 +363,8 @@ declare class UDExSearch extends UI5Element {
363
363
  setNewSuggestionList(changeInfo: ChangeInfo): void;
364
364
  setSuggestedRecommendedLists(value: string): void;
365
365
  private hasDataLabel;
366
+ private hasSuggestedLabel;
367
+ private hasRecommendedLabel;
366
368
  private resetSuggestedRecommendedLists;
367
369
  private setDropdownLabels;
368
370
  private getRecommendLabel;
package/dist/Search.js CHANGED
@@ -29,6 +29,7 @@ import { SUGGESTED_TEXT, RECOMMENDED_TEXT, AVAILABLE_VALUES, NO_MATCHES_FOUND, A
29
29
  import retryUntilSuccessful from "./utils/retryUntilSuccessful.js";
30
30
  import sanitizeString from "./utils/sanitizeString.js";
31
31
  import UDExButton from "./Button.js";
32
+ import translate from "./utils/translate.js";
32
33
  import SearchTemplate from "./SearchTemplate.js";
33
34
  // Styles
34
35
  import SearchCss from "./generated/themes/Search.css.js";
@@ -267,7 +268,7 @@ let UDExSearch = UDExSearch_1 = class UDExSearch extends UI5Element {
267
268
  const parsedData = JSON.parse(value);
268
269
  const hasDataLabels = this.hasDataLabel(parsedData);
269
270
  if (this.shouldShowPopover(parsedData, hasDataLabels)) {
270
- this.setDropdownLabels(hasDataLabels, parsedData);
271
+ this.setDropdownLabels(parsedData);
271
272
  this.suggestedList = this.getListWithSuggestion(this.getSuggestedList(hasDataLabels, parsedData), "suggested");
272
273
  this.recommendedList = this.getListWithSuggestion(this.getRecommendedList(hasDataLabels, parsedData), "recommended");
273
274
  }
@@ -280,23 +281,37 @@ let UDExSearch = UDExSearch_1 = class UDExSearch extends UI5Element {
280
281
  hasDataLabel(parsedData) {
281
282
  return Object.values(parsedData).some(item => Object.prototype.hasOwnProperty.call(item, "label"));
282
283
  }
284
+ hasSuggestedLabel(parsedData) {
285
+ if (parsedData.suggested) {
286
+ const suggestedData = parsedData.suggested;
287
+ return Object.prototype.hasOwnProperty.call(parsedData.suggested, "label") ? !!suggestedData.label : false;
288
+ }
289
+ return false;
290
+ }
291
+ hasRecommendedLabel(parsedData) {
292
+ if (parsedData.recommended) {
293
+ const recommendedData = parsedData.recommended;
294
+ return Object.prototype.hasOwnProperty.call(parsedData.recommended, "label") ? !!recommendedData.label : false;
295
+ }
296
+ return false;
297
+ }
283
298
  resetSuggestedRecommendedLists() {
284
299
  this.suggestedList = [];
285
300
  this.recommendedList = [];
286
301
  }
287
- setDropdownLabels(hasDataLabels, parsedData) {
288
- this._suggestionLabel = this.getSuggestionLabel(hasDataLabels, parsedData);
289
- this._recommendLabel = this.getRecommendLabel(hasDataLabels, parsedData);
302
+ setDropdownLabels(parsedData) {
303
+ this._suggestionLabel = this.getSuggestionLabel(parsedData);
304
+ this._recommendLabel = this.getRecommendLabel(parsedData);
290
305
  }
291
- getRecommendLabel(hasDataLabels, parsedData) {
292
- return hasDataLabels
306
+ getRecommendLabel(parsedData) {
307
+ return this.hasRecommendedLabel(parsedData)
293
308
  ? parsedData.recommended.label || ""
294
- : UDExSearch_1.i18nBundle.getText(RECOMMENDED_TEXT);
309
+ : translate(UDExSearch_1, RECOMMENDED_TEXT);
295
310
  }
296
- getSuggestionLabel(hasDataLabels, parsedData) {
297
- return hasDataLabels
311
+ getSuggestionLabel(parsedData) {
312
+ return this.hasSuggestedLabel(parsedData)
298
313
  ? parsedData.suggested.label || ""
299
- : UDExSearch_1.i18nBundle.getText(SUGGESTED_TEXT);
314
+ : translate(UDExSearch_1, SUGGESTED_TEXT);
300
315
  }
301
316
  getRecommendedList(hasDataLabels, parsedData) {
302
317
  return hasDataLabels
@@ -334,7 +349,7 @@ let UDExSearch = UDExSearch_1 = class UDExSearch extends UI5Element {
334
349
  icon: itemWithCustomIcon ? item.icon : SearchIcon,
335
350
  hasCustomIcon: itemWithCustomIcon,
336
351
  id: `${idName}-${index}`,
337
- suggestionDescription: sanitizeString(`${label}, ${idName} ${index + 1} ${UDExSearch_1.i18nBundle.getText(OF)} ${suggestedList.length}`),
352
+ suggestionDescription: sanitizeString(`${label}, ${idName} ${index + 1} ${translate(UDExSearch_1, OF)} ${suggestedList.length}`),
338
353
  };
339
354
  });
340
355
  }
@@ -650,7 +665,7 @@ let UDExSearch = UDExSearch_1 = class UDExSearch extends UI5Element {
650
665
  }
651
666
  }
652
667
  get effectivePlaceholder() {
653
- return !this.voiceActiveClass ? this.label : `${UDExSearch_1.i18nBundle.getText(LISTENING)}...`;
668
+ return !this.voiceActiveClass ? this.label : `${translate(UDExSearch_1, LISTENING)}...`;
654
669
  }
655
670
  onSpeechStart() {
656
671
  this.speechRecognition.onstart = () => {
@@ -703,7 +718,7 @@ let UDExSearch = UDExSearch_1 = class UDExSearch extends UI5Element {
703
718
  return this.showResetButton && !!this.value.length && this.mode === Mode.HomeSearch;
704
719
  }
705
720
  get noResultMessage() {
706
- return this.noResultText || UDExSearch_1.i18nBundle.getText(NO_MATCHES_FOUND);
721
+ return this.noResultText || translate(UDExSearch_1, NO_MATCHES_FOUND);
707
722
  }
708
723
  get showNoResultMessage() {
709
724
  return !this.suggestedList?.length && !this.recommendedList?.length;
@@ -786,8 +801,8 @@ let UDExSearch = UDExSearch_1 = class UDExSearch extends UI5Element {
786
801
  get accInfo() {
787
802
  return {
788
803
  "ariaLabel": this.accessibleName || undefined,
789
- "accessibleNameResetIcon": this.accessibleNameResetIcon || UDExSearch_1.i18nBundle.getText(ACCESSIBLE_NAME_RESET_ICON),
790
- "accessibleNameSearchIcon": this.accessibleNameSearchIcon || UDExSearch_1.i18nBundle.getText(ACCESSIBLE_NAME_SEARCH_ICON),
804
+ "accessibleNameResetIcon": this.accessibleNameResetIcon || translate(UDExSearch_1, ACCESSIBLE_NAME_RESET_ICON),
805
+ "accessibleNameSearchIcon": this.accessibleNameSearchIcon || translate(UDExSearch_1, ACCESSIBLE_NAME_SEARCH_ICON),
791
806
  };
792
807
  }
793
808
  get suggestionsDescription() {
@@ -795,13 +810,13 @@ let UDExSearch = UDExSearch_1 = class UDExSearch extends UI5Element {
795
810
  }
796
811
  get tooltipInfo() {
797
812
  return {
798
- "tooltipResetButton": this.tooltipResetButton || UDExSearch_1.i18nBundle.getText(TOOLTIP_RESET_BUTTON),
799
- "tooltipVoiceButton": this.tooltipVoiceButton || UDExSearch_1.i18nBundle.getText(TOOLTIP_VOICE_BUTTON),
800
- "tooltipSubmitButton": this.tooltipSubmitButton || UDExSearch_1.i18nBundle.getText(TOOLTIP_SUBMIT_BUTTON),
813
+ "tooltipResetButton": this.tooltipResetButton || translate(UDExSearch_1, TOOLTIP_RESET_BUTTON),
814
+ "tooltipVoiceButton": this.tooltipVoiceButton || translate(UDExSearch_1, TOOLTIP_VOICE_BUTTON),
815
+ "tooltipSubmitButton": this.tooltipSubmitButton || translate(UDExSearch_1, TOOLTIP_SUBMIT_BUTTON),
801
816
  };
802
817
  }
803
818
  get suggestionsAccessibleName() {
804
- return UDExSearch_1.i18nBundle.getText(AVAILABLE_VALUES);
819
+ return translate(UDExSearch_1, AVAILABLE_VALUES);
805
820
  }
806
821
  get showNonInteractiveButton() {
807
822
  return this.showSubmitButton && this.nonInteractiveSubmitButton;