@sapudex/web-components 0.147.0 → 0.173.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (492) hide show
  1. package/.eslintignore +1 -0
  2. package/bundle.esm.js +9 -0
  3. package/dist/AvatarGroup.js +0 -6
  4. package/dist/AvatarGroup.js.map +1 -1
  5. package/dist/Badge.d.ts +21 -14
  6. package/dist/Badge.js +20 -26
  7. package/dist/Badge.js.map +1 -1
  8. package/dist/Breadcrumbs.d.ts +23 -21
  9. package/dist/Breadcrumbs.js +58 -40
  10. package/dist/Breadcrumbs.js.map +1 -1
  11. package/dist/BreadcrumbsItem.js +0 -1
  12. package/dist/BreadcrumbsItem.js.map +1 -1
  13. package/dist/Checkbox.js +0 -1
  14. package/dist/Checkbox.js.map +1 -1
  15. package/dist/CountrySelector.d.ts +2 -2
  16. package/dist/CountrySelector.js +20 -12
  17. package/dist/CountrySelector.js.map +1 -1
  18. package/dist/DatePicker.d.ts +2 -2
  19. package/dist/DatePicker.js.map +1 -1
  20. package/dist/Dropdown.js +0 -3
  21. package/dist/Dropdown.js.map +1 -1
  22. package/dist/Footer.d.ts +53 -10
  23. package/dist/Footer.js +41 -11
  24. package/dist/Footer.js.map +1 -1
  25. package/dist/Link.d.ts +2 -5
  26. package/dist/Link.js +4 -8
  27. package/dist/Link.js.map +1 -1
  28. package/dist/List.d.ts +16 -1
  29. package/dist/List.js +154 -100
  30. package/dist/List.js.map +1 -1
  31. package/dist/ListItem.d.ts +1 -0
  32. package/dist/ListItem.js +3 -0
  33. package/dist/ListItem.js.map +1 -1
  34. package/dist/MastheadItem.d.ts +12 -2
  35. package/dist/MastheadItem.js +34 -7
  36. package/dist/MastheadItem.js.map +1 -1
  37. package/dist/MastheadMenu.d.ts +1 -0
  38. package/dist/MastheadMenu.js +13 -4
  39. package/dist/MastheadMenu.js.map +1 -1
  40. package/dist/MastheadMenuItem.d.ts +10 -0
  41. package/dist/MastheadMenuItem.js +24 -3
  42. package/dist/MastheadMenuItem.js.map +1 -1
  43. package/dist/MastheadMobileMenu.js +2 -2
  44. package/dist/MastheadMobileMenu.js.map +1 -1
  45. package/dist/MastheadProfileMenu.js +2 -2
  46. package/dist/MastheadProfileMenu.js.map +1 -1
  47. package/dist/MastheadShell.d.ts +4 -0
  48. package/dist/MastheadShell.js +21 -5
  49. package/dist/MastheadShell.js.map +1 -1
  50. package/dist/Pagination.d.ts +13 -3
  51. package/dist/Pagination.js +90 -57
  52. package/dist/Pagination.js.map +1 -1
  53. package/dist/PhoneNumberField.d.ts +3 -0
  54. package/dist/PhoneNumberField.js +9 -4
  55. package/dist/PhoneNumberField.js.map +1 -1
  56. package/dist/RangeSlider.js +0 -1
  57. package/dist/RangeSlider.js.map +1 -1
  58. package/dist/Search.d.ts +5 -4
  59. package/dist/Search.js +12 -12
  60. package/dist/Search.js.map +1 -1
  61. package/dist/SearchableListBase.d.ts +7 -1
  62. package/dist/SearchableListBase.js +47 -4
  63. package/dist/SearchableListBase.js.map +1 -1
  64. package/dist/SecondaryNavigation.d.ts +2 -2
  65. package/dist/SecondaryNavigation.js +20 -10
  66. package/dist/SecondaryNavigation.js.map +1 -1
  67. package/dist/SecondaryNavigationItem.d.ts +6 -3
  68. package/dist/SecondaryNavigationItem.js +50 -26
  69. package/dist/SecondaryNavigationItem.js.map +1 -1
  70. package/dist/SecondaryNavigationSubItem.d.ts +1 -0
  71. package/dist/SecondaryNavigationSubItem.js +3 -0
  72. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  73. package/dist/SegmentedButton.d.ts +2 -2
  74. package/dist/SegmentedButton.js.map +1 -1
  75. package/dist/SelectBox.js.map +1 -1
  76. package/dist/SideNavigationGroup.js +0 -1
  77. package/dist/SideNavigationGroup.js.map +1 -1
  78. package/dist/SideNavigationItem.js +0 -1
  79. package/dist/SideNavigationItem.js.map +1 -1
  80. package/dist/SideNavigationSubItem.js +0 -1
  81. package/dist/SideNavigationSubItem.js.map +1 -1
  82. package/dist/Slider.js +0 -1
  83. package/dist/Slider.js.map +1 -1
  84. package/dist/TabNavigation.js +2 -2
  85. package/dist/TabNavigation.js.map +1 -1
  86. package/dist/Tag.d.ts +1 -4
  87. package/dist/Tag.js +1 -5
  88. package/dist/Tag.js.map +1 -1
  89. package/dist/Tile.d.ts +1 -1
  90. package/dist/Tile.js +1 -1
  91. package/dist/Tile.js.map +1 -1
  92. package/dist/Toast.d.ts +0 -1
  93. package/dist/Toast.js +4 -3
  94. package/dist/Toast.js.map +1 -1
  95. package/dist/Wizard.js +1 -1
  96. package/dist/Wizard.js.map +1 -1
  97. package/dist/WizardTab.js +0 -1
  98. package/dist/WizardTab.js.map +1 -1
  99. package/dist/assets/{bundle.esm-6e8e301d.js → bundle.esm-c4ffd46a.js} +187 -189
  100. package/dist/assets/messagebundle_ar-bb470511.js +1 -0
  101. package/dist/assets/messagebundle_bg-a533dfab.js +1 -0
  102. package/dist/assets/messagebundle_cs-c70a7f36.js +1 -0
  103. package/dist/assets/messagebundle_da-e292cac5.js +1 -0
  104. package/dist/assets/messagebundle_de-5c108de6.js +1 -0
  105. package/dist/assets/messagebundle_el-44746e0b.js +1 -0
  106. package/dist/assets/messagebundle_en-4997b226.js +1 -0
  107. package/dist/assets/messagebundle_es-c0c1060f.js +1 -0
  108. package/dist/assets/messagebundle_et-a5f15d3b.js +1 -0
  109. package/dist/assets/messagebundle_fi-f4b8eb82.js +1 -0
  110. package/dist/assets/messagebundle_fr-af18ac46.js +1 -0
  111. package/dist/assets/messagebundle_hr-d893e46d.js +1 -0
  112. package/dist/assets/messagebundle_hu-230c58c9.js +1 -0
  113. package/dist/assets/messagebundle_it-5bf1436c.js +1 -0
  114. package/dist/assets/messagebundle_iw-dd60afc4.js +1 -0
  115. package/dist/assets/messagebundle_ko-c450bda3.js +1 -0
  116. package/dist/assets/messagebundle_lt-87ab0529.js +1 -0
  117. package/dist/assets/messagebundle_lv-fc413852.js +1 -0
  118. package/dist/assets/messagebundle_nl-34d7e236.js +1 -0
  119. package/dist/assets/messagebundle_no-f22648fb.js +1 -0
  120. package/dist/assets/messagebundle_pl-10303f09.js +1 -0
  121. package/dist/assets/messagebundle_pt-b7a40c67.js +1 -0
  122. package/dist/assets/messagebundle_ro-94628623.js +1 -0
  123. package/dist/assets/messagebundle_ru-1f6595ba.js +1 -0
  124. package/dist/assets/messagebundle_sk-89eabac1.js +1 -0
  125. package/dist/assets/messagebundle_sl-d56532f1.js +1 -0
  126. package/dist/assets/messagebundle_sr-cf7f3b32.js +1 -0
  127. package/dist/assets/messagebundle_sv-3a3b20d3.js +1 -0
  128. package/dist/assets/messagebundle_tr-33b16d09.js +1 -0
  129. package/dist/assets/messagebundle_uk-82e1f2c1.js +1 -0
  130. package/dist/assets/messagebundle_zh_CN-15ca05aa.js +1 -0
  131. package/dist/assets/messagebundle_zh_TW-ad6445e7.js +1 -0
  132. package/dist/css/themes/Badge.css +1 -1
  133. package/dist/css/themes/BreadcrumbsPopover.css +1 -1
  134. package/dist/css/themes/Button.css +1 -1
  135. package/dist/css/themes/DatePickerPopover.css +1 -1
  136. package/dist/css/themes/FilterMenu.css +1 -1
  137. package/dist/css/themes/Footer.css +1 -1
  138. package/dist/css/themes/MastheadItem.css +1 -1
  139. package/dist/css/themes/MastheadMenu.css +1 -1
  140. package/dist/css/themes/MastheadMenuItem.css +1 -1
  141. package/dist/css/themes/MastheadShell.css +1 -1
  142. package/dist/css/themes/MediaPlayer.css +1 -1
  143. package/dist/css/themes/Modal.css +1 -1
  144. package/dist/css/themes/RatingIndicator.css +1 -1
  145. package/dist/css/themes/ReviewItem.css +1 -1
  146. package/dist/css/themes/Slider.css +1 -1
  147. package/dist/css/themes/TableCell.css +1 -1
  148. package/dist/css/themes/TableCellBase.css +1 -1
  149. package/dist/css/themes/TextArea.css +1 -1
  150. package/dist/custom-elements-internal.json +232 -31
  151. package/dist/custom-elements.json +224 -30
  152. package/dist/features/SearchSuggestionsPopover.d.ts +16 -0
  153. package/dist/features/SearchSuggestionsPopover.js +49 -0
  154. package/dist/features/SearchSuggestionsPopover.js.map +1 -1
  155. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -0
  156. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -0
  157. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -0
  158. package/dist/generated/assets/i18n/messagebundle_da.json +1 -0
  159. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  160. package/dist/generated/assets/i18n/messagebundle_el.json +1 -0
  161. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  162. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  163. package/dist/generated/assets/i18n/messagebundle_et.json +1 -0
  164. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -0
  165. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  166. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -0
  167. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -0
  168. package/dist/generated/assets/i18n/messagebundle_it.json +1 -0
  169. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -0
  170. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -0
  171. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -0
  172. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -0
  173. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -0
  174. package/dist/generated/assets/i18n/messagebundle_no.json +1 -0
  175. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -0
  176. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -0
  177. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -0
  178. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -0
  179. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -0
  180. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -0
  181. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -0
  182. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -0
  183. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -0
  184. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -0
  185. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -0
  186. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -0
  187. package/dist/generated/i18n/i18n-defaults.d.ts +7 -1
  188. package/dist/generated/i18n/i18n-defaults.js +7 -1
  189. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  190. package/dist/generated/json-imports/i18n-static.js +86 -2
  191. package/dist/generated/json-imports/i18n-static.js.map +1 -1
  192. package/dist/generated/json-imports/i18n.js +58 -2
  193. package/dist/generated/json-imports/i18n.js.map +1 -1
  194. package/dist/generated/templates/BadgeTemplate.lit.js +4 -4
  195. package/dist/generated/templates/BadgeTemplate.lit.js.map +1 -1
  196. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +3 -3
  197. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +1 -1
  198. package/dist/generated/templates/CountrySelectorTemplate.lit.js +1 -1
  199. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  200. package/dist/generated/templates/FooterTemplate.lit.js +12 -11
  201. package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
  202. package/dist/generated/templates/ListItemTemplate.lit.js +2 -2
  203. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  204. package/dist/generated/templates/ListTemplate.lit.js +3 -3
  205. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  206. package/dist/generated/templates/MastheadItemTemplate.lit.js +17 -16
  207. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  208. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +15 -14
  209. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
  210. package/dist/generated/templates/MastheadMenuTemplate.lit.js +3 -3
  211. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  212. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +1 -1
  213. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
  214. package/dist/generated/templates/MastheadShellTemplate.lit.js +10 -9
  215. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  216. package/dist/generated/templates/PaginationTemplate.lit.js +3 -3
  217. package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
  218. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +1 -1
  219. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  220. package/dist/generated/templates/RatingBarTemplate.lit.js +1 -1
  221. package/dist/generated/templates/RatingBarTemplate.lit.js.map +1 -1
  222. package/dist/generated/templates/ReviewItemTemplate.lit.js +1 -1
  223. package/dist/generated/templates/ReviewItemTemplate.lit.js.map +1 -1
  224. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js +1 -1
  225. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +1 -1
  226. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +2 -2
  227. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  228. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +3 -3
  229. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
  230. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +3 -3
  231. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +1 -1
  232. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +1 -1
  233. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  234. package/dist/generated/templates/StepInputTemplate.lit.js +1 -1
  235. package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -1
  236. package/dist/generated/templates/WizardTemplate.lit.js +1 -1
  237. package/dist/generated/templates/WizardTemplate.lit.js.map +1 -1
  238. package/dist/generated/themes/Badge.css.js +1 -1
  239. package/dist/generated/themes/Badge.css.js.map +1 -1
  240. package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
  241. package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
  242. package/dist/generated/themes/Button.css.js +1 -1
  243. package/dist/generated/themes/Button.css.js.map +1 -1
  244. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  245. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  246. package/dist/generated/themes/FilterMenu.css.js +1 -1
  247. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  248. package/dist/generated/themes/Footer.css.js +1 -1
  249. package/dist/generated/themes/Footer.css.js.map +1 -1
  250. package/dist/generated/themes/MastheadItem.css.js +1 -1
  251. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  252. package/dist/generated/themes/MastheadMenu.css.js +1 -1
  253. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  254. package/dist/generated/themes/MastheadMenuItem.css.js +1 -1
  255. package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
  256. package/dist/generated/themes/MastheadShell.css.js +1 -1
  257. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  258. package/dist/generated/themes/MediaPlayer.css.js +1 -1
  259. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  260. package/dist/generated/themes/Modal.css.js +1 -1
  261. package/dist/generated/themes/Modal.css.js.map +1 -1
  262. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  263. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  264. package/dist/generated/themes/ReviewItem.css.js +1 -1
  265. package/dist/generated/themes/ReviewItem.css.js.map +1 -1
  266. package/dist/generated/themes/Slider.css.js +1 -1
  267. package/dist/generated/themes/Slider.css.js.map +1 -1
  268. package/dist/generated/themes/TableCell.css.js +1 -1
  269. package/dist/generated/themes/TableCell.css.js.map +1 -1
  270. package/dist/generated/themes/TableCellBase.css.js +1 -1
  271. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  272. package/dist/generated/themes/TextArea.css.js +1 -1
  273. package/dist/generated/themes/TextArea.css.js.map +1 -1
  274. package/dist/i18n/messagebundle.properties +10 -0
  275. package/dist/i18n/messagebundle_ar.properties +1 -0
  276. package/dist/i18n/messagebundle_bg.properties +1 -0
  277. package/dist/i18n/messagebundle_cs.properties +1 -0
  278. package/dist/i18n/messagebundle_da.properties +1 -0
  279. package/dist/i18n/messagebundle_de.properties +1 -0
  280. package/dist/i18n/messagebundle_el.properties +1 -0
  281. package/dist/i18n/messagebundle_en.properties +4 -0
  282. package/dist/i18n/messagebundle_es.properties +1 -0
  283. package/dist/i18n/messagebundle_et.properties +1 -0
  284. package/dist/i18n/messagebundle_fi.properties +1 -0
  285. package/dist/i18n/messagebundle_fr.properties +1 -0
  286. package/dist/i18n/messagebundle_hr.properties +1 -0
  287. package/dist/i18n/messagebundle_hu.properties +1 -0
  288. package/dist/i18n/messagebundle_it.properties +1 -0
  289. package/dist/i18n/messagebundle_iw.properties +2 -0
  290. package/dist/i18n/messagebundle_ko.properties +1 -0
  291. package/dist/i18n/messagebundle_lt.properties +1 -0
  292. package/dist/i18n/messagebundle_lv.properties +1 -0
  293. package/dist/i18n/messagebundle_nl.properties +1 -0
  294. package/dist/i18n/messagebundle_no.properties +1 -0
  295. package/dist/i18n/messagebundle_pl.properties +1 -0
  296. package/dist/i18n/messagebundle_pt.properties +1 -0
  297. package/dist/i18n/messagebundle_pt_BR.properties +1 -0
  298. package/dist/i18n/messagebundle_ro.properties +1 -0
  299. package/dist/i18n/messagebundle_ru.properties +1 -0
  300. package/dist/i18n/messagebundle_sk.properties +1 -0
  301. package/dist/i18n/messagebundle_sl.properties +1 -0
  302. package/dist/i18n/messagebundle_sr.properties +2 -0
  303. package/dist/i18n/messagebundle_sv.properties +1 -0
  304. package/dist/i18n/messagebundle_tr.properties +1 -0
  305. package/dist/i18n/messagebundle_uk.properties +1 -0
  306. package/dist/i18n/messagebundle_zh_CN.properties +4 -0
  307. package/dist/i18n/messagebundle_zh_TW.properties +1 -0
  308. package/dist/types/BadgeDesign.d.ts +15 -0
  309. package/dist/types/BadgeDesign.js +18 -0
  310. package/dist/types/BadgeDesign.js.map +1 -0
  311. package/dist/types/IconPlacement.d.ts +5 -0
  312. package/dist/types/IconPlacement.js +7 -0
  313. package/dist/types/IconPlacement.js.map +1 -0
  314. package/dist/types/List.d.ts +8 -0
  315. package/dist/types/List.js.map +1 -1
  316. package/dist/utils/isLetterKeyPressed.d.ts +2 -0
  317. package/dist/utils/isLetterKeyPressed.js +5 -0
  318. package/dist/utils/isLetterKeyPressed.js.map +1 -0
  319. package/dist/utils/listItemLabelStartsWithKeyFocus.d.ts +3 -0
  320. package/dist/utils/listItemLabelStartsWithKeyFocus.js +55 -0
  321. package/dist/utils/listItemLabelStartsWithKeyFocus.js.map +1 -0
  322. package/dist/utils/listItemLabelUtils.d.ts +7 -0
  323. package/dist/utils/listItemLabelUtils.js +36 -0
  324. package/dist/utils/listItemLabelUtils.js.map +1 -0
  325. package/dist/vscode.html-custom-data.json +63 -26
  326. package/dist/web-types.json +113 -38
  327. package/package.json +1 -1
  328. package/src/AvatarGroup.ts +0 -7
  329. package/src/Badge.hbs +16 -5
  330. package/src/Badge.ts +36 -19
  331. package/src/Breadcrumbs.ts +92 -66
  332. package/src/BreadcrumbsItem.ts +0 -1
  333. package/src/BreadcrumbsPopover.hbs +11 -9
  334. package/src/Checkbox.ts +0 -1
  335. package/src/CountrySelector.hbs +0 -1
  336. package/src/CountrySelector.ts +30 -16
  337. package/src/DatePicker.ts +2 -2
  338. package/src/Dropdown.ts +0 -2
  339. package/src/Footer.hbs +52 -28
  340. package/src/Footer.ts +81 -22
  341. package/src/Link.ts +5 -9
  342. package/src/List.hbs +2 -2
  343. package/src/List.ts +182 -112
  344. package/src/ListItem.hbs +2 -2
  345. package/src/ListItem.ts +4 -0
  346. package/src/MastheadItem.hbs +14 -4
  347. package/src/MastheadItem.ts +42 -9
  348. package/src/MastheadMenu.hbs +4 -4
  349. package/src/MastheadMenu.ts +20 -8
  350. package/src/MastheadMenuItem.hbs +10 -2
  351. package/src/MastheadMenuItem.ts +28 -1
  352. package/src/MastheadMobileMenu.ts +2 -2
  353. package/src/MastheadProfileMenu.hbs +1 -0
  354. package/src/MastheadProfileMenu.ts +3 -2
  355. package/src/MastheadShell.hbs +25 -19
  356. package/src/MastheadShell.ts +25 -5
  357. package/src/Pagination.hbs +3 -2
  358. package/src/Pagination.ts +110 -60
  359. package/src/PhoneNumberField.hbs +3 -3
  360. package/src/PhoneNumberField.ts +16 -8
  361. package/src/RangeSlider.ts +0 -1
  362. package/src/RatingBar.hbs +1 -1
  363. package/src/ReviewItem.hbs +1 -1
  364. package/src/Search.hbs +10 -10
  365. package/src/Search.ts +17 -17
  366. package/src/SearchSuggestions.hbs +1 -0
  367. package/src/SearchableListBase.hbs +3 -1
  368. package/src/SearchableListBase.ts +57 -6
  369. package/src/SecondaryNavigation.hbs +1 -0
  370. package/src/SecondaryNavigation.ts +23 -16
  371. package/src/SecondaryNavigationItem.hbs +10 -7
  372. package/src/SecondaryNavigationItem.ts +58 -28
  373. package/src/SecondaryNavigationSubItem.hbs +3 -0
  374. package/src/SecondaryNavigationSubItem.ts +3 -0
  375. package/src/SegmentedButton.ts +2 -2
  376. package/src/SelectBox.ts +1 -1
  377. package/src/SideNavigationGroup.ts +0 -1
  378. package/src/SideNavigationItem.ts +0 -1
  379. package/src/SideNavigationSubItem.ts +0 -1
  380. package/src/Slider.ts +0 -1
  381. package/src/StepInput.hbs +16 -16
  382. package/src/TabNavigation.ts +2 -2
  383. package/src/Tag.ts +1 -5
  384. package/src/Tile.ts +2 -2
  385. package/src/Toast.ts +4 -3
  386. package/src/Wizard.hbs +1 -0
  387. package/src/Wizard.ts +1 -1
  388. package/src/WizardTab.ts +0 -1
  389. package/src/features/SearchSuggestionsPopover.ts +67 -1
  390. package/src/generated/i18n/i18n-defaults.ts +2 -2
  391. package/src/generated/json-imports/i18n-static.ts +86 -2
  392. package/src/generated/json-imports/i18n.ts +59 -3
  393. package/src/generated/templates/BadgeTemplate.lit.ts +3 -3
  394. package/src/generated/templates/BreadcrumbsPopoverTemplate.lit.ts +3 -3
  395. package/src/generated/templates/CountrySelectorTemplate.lit.ts +1 -1
  396. package/src/generated/templates/FooterTemplate.lit.ts +12 -11
  397. package/src/generated/templates/ListItemTemplate.lit.ts +2 -2
  398. package/src/generated/templates/ListTemplate.lit.ts +3 -3
  399. package/src/generated/templates/MastheadItemTemplate.lit.ts +17 -16
  400. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +15 -14
  401. package/src/generated/templates/MastheadMenuTemplate.lit.ts +3 -3
  402. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +1 -1
  403. package/src/generated/templates/MastheadShellTemplate.lit.ts +10 -9
  404. package/src/generated/templates/PaginationTemplate.lit.ts +3 -3
  405. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +1 -1
  406. package/src/generated/templates/RatingBarTemplate.lit.ts +1 -1
  407. package/src/generated/templates/ReviewItemTemplate.lit.ts +1 -1
  408. package/src/generated/templates/SearchSuggestionsTemplate.lit.ts +1 -1
  409. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +2 -2
  410. package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +3 -3
  411. package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +3 -3
  412. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +1 -1
  413. package/src/generated/templates/StepInputTemplate.lit.ts +1 -1
  414. package/src/generated/templates/WizardTemplate.lit.ts +1 -1
  415. package/src/generated/themes/Badge.css.ts +1 -1
  416. package/src/generated/themes/BreadcrumbsPopover.css.ts +1 -1
  417. package/src/generated/themes/Button.css.ts +1 -1
  418. package/src/generated/themes/DatePickerPopover.css.ts +1 -1
  419. package/src/generated/themes/FilterMenu.css.ts +1 -1
  420. package/src/generated/themes/Footer.css.ts +1 -1
  421. package/src/generated/themes/MastheadItem.css.ts +1 -1
  422. package/src/generated/themes/MastheadMenu.css.ts +1 -1
  423. package/src/generated/themes/MastheadMenuItem.css.ts +1 -1
  424. package/src/generated/themes/MastheadShell.css.ts +1 -1
  425. package/src/generated/themes/MediaPlayer.css.ts +1 -1
  426. package/src/generated/themes/Modal.css.ts +1 -1
  427. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  428. package/src/generated/themes/ReviewItem.css.ts +1 -1
  429. package/src/generated/themes/Slider.css.ts +1 -1
  430. package/src/generated/themes/TableCell.css.ts +1 -1
  431. package/src/generated/themes/TableCellBase.css.ts +1 -1
  432. package/src/generated/themes/TextArea.css.ts +1 -1
  433. package/src/i18n/messagebundle.properties +10 -0
  434. package/src/i18n/messagebundle_ar.properties +1 -0
  435. package/src/i18n/messagebundle_bg.properties +1 -0
  436. package/src/i18n/messagebundle_cs.properties +1 -0
  437. package/src/i18n/messagebundle_da.properties +1 -0
  438. package/src/i18n/messagebundle_de.properties +1 -0
  439. package/src/i18n/messagebundle_el.properties +1 -0
  440. package/src/i18n/messagebundle_en.properties +4 -0
  441. package/src/i18n/messagebundle_es.properties +1 -0
  442. package/src/i18n/messagebundle_et.properties +1 -0
  443. package/src/i18n/messagebundle_fi.properties +1 -0
  444. package/src/i18n/messagebundle_fr.properties +1 -0
  445. package/src/i18n/messagebundle_hr.properties +1 -0
  446. package/src/i18n/messagebundle_hu.properties +1 -0
  447. package/src/i18n/messagebundle_it.properties +1 -0
  448. package/src/i18n/messagebundle_iw.properties +2 -0
  449. package/src/i18n/messagebundle_ko.properties +1 -0
  450. package/src/i18n/messagebundle_lt.properties +1 -0
  451. package/src/i18n/messagebundle_lv.properties +1 -0
  452. package/src/i18n/messagebundle_nl.properties +1 -0
  453. package/src/i18n/messagebundle_no.properties +1 -0
  454. package/src/i18n/messagebundle_pl.properties +1 -0
  455. package/src/i18n/messagebundle_pt.properties +1 -0
  456. package/src/i18n/messagebundle_pt_BR.properties +1 -0
  457. package/src/i18n/messagebundle_ro.properties +1 -0
  458. package/src/i18n/messagebundle_ru.properties +1 -0
  459. package/src/i18n/messagebundle_sk.properties +1 -0
  460. package/src/i18n/messagebundle_sl.properties +1 -0
  461. package/src/i18n/messagebundle_sr.properties +2 -0
  462. package/src/i18n/messagebundle_sv.properties +1 -0
  463. package/src/i18n/messagebundle_tr.properties +1 -0
  464. package/src/i18n/messagebundle_uk.properties +1 -0
  465. package/src/i18n/messagebundle_zh_CN.properties +4 -0
  466. package/src/i18n/messagebundle_zh_TW.properties +1 -0
  467. package/src/themes/Badge.css +48 -52
  468. package/src/themes/BreadcrumbsPopover.css +1 -0
  469. package/src/themes/Button.css +13 -0
  470. package/src/themes/DatePickerPopover.css +9 -0
  471. package/src/themes/FilterMenu.css +6 -6
  472. package/src/themes/Footer.css +22 -3
  473. package/src/themes/MastheadItem.css +4 -0
  474. package/src/themes/MastheadMenu.css +1 -1
  475. package/src/themes/MastheadMenuItem.css +4 -0
  476. package/src/themes/MastheadShell.css +5 -0
  477. package/src/themes/MediaPlayer.css +2 -1
  478. package/src/themes/Modal.css +1 -0
  479. package/src/themes/ReviewItem.css +0 -2
  480. package/src/themes/TableCell.css +0 -2
  481. package/src/themes/TableCellBase.css +1 -0
  482. package/src/themes/TextArea.css +1 -1
  483. package/src/types/BadgeDesign.ts +17 -0
  484. package/src/types/IconPlacement.ts +6 -0
  485. package/src/types/List.ts +9 -0
  486. package/src/utils/isLetterKeyPressed.ts +5 -0
  487. package/src/utils/listItemLabelStartsWithKeyFocus.ts +74 -0
  488. package/src/utils/listItemLabelUtils.ts +50 -0
  489. package/dist/assets/messagebundle_de-8158912e.js +0 -1
  490. package/dist/assets/messagebundle_en-c677773a.js +0 -1
  491. package/dist/assets/messagebundle_es-8dab6565.js +0 -1
  492. package/dist/assets/messagebundle_fr-669aca6d.js +0 -1
package/.eslintignore CHANGED
@@ -7,3 +7,4 @@ src/generated
7
7
  jsdoc-dist
8
8
  .eslintrc.js
9
9
  package-scripts.js
10
+ bundle.esm.js
package/bundle.esm.js CHANGED
@@ -9,6 +9,15 @@ import { getNoConflict, setNoConflict } from "@ui5/webcomponents-base/dist/confi
9
9
  import { getFirstDayOfWeek } from "@ui5/webcomponents-base/dist/config/FormatSettings.js";
10
10
  import applyDirection from "@ui5/webcomponents-base/dist/locale/applyDirection.js";
11
11
 
12
+ // test scoping
13
+ // import {
14
+ // setCustomElementsScopingSuffix,
15
+ // setCustomElementsScopingRules,
16
+ // } from "@ui5/webcomponents-base/dist/CustomElementsScope.js";
17
+ // setCustomElementsScopingRules({ include: [/^udex-/, /^ui5-/], exclude: [] });
18
+ // setCustomElementsScopingSuffix("dcp-lib");
19
+
20
+
12
21
  // Enable additional themes and i18n texts
13
22
  import "./dist/Assets.js";
14
23
 
@@ -92,15 +92,12 @@ let UDExAvatarGroup = class UDExAvatarGroup extends AvatarGroup {
92
92
  _prepareAvatars() {
93
93
  this._colorIndex = 0;
94
94
  const visibleColors = Object.values(AvatarColorScheme);
95
- let avatarInitials = "";
96
95
  this.items.forEach((avatar, index) => {
97
96
  if (++this._colorIndex > visibleColors.length - 3) {
98
97
  this._colorIndex = 1;
99
98
  }
100
99
  avatar.interactive = !this._isGroup;
101
100
  avatar.toggleAttribute("ui5-avatar", true);
102
- avatarInitials += this._isGroup && avatar.hasAttribute("initials") && !avatar.shadowRoot?.firstElementChild?.hasAttribute("_has-image")
103
- ? `${avatar.getAttribute("initials")} ` : "";
104
101
  if (!avatar.getAttribute("color-scheme")) {
105
102
  avatar.setAttribute("color-scheme", visibleColors[this._colorIndex]);
106
103
  }
@@ -108,9 +105,6 @@ let UDExAvatarGroup = class UDExAvatarGroup extends AvatarGroup {
108
105
  avatar.style.marginInlineEnd = avatarOffsets[avatar.effectiveSize][this.type];
109
106
  }
110
107
  });
111
- if (avatarInitials) {
112
- this.shadowRoot?.querySelector(".ui5-avatar-group-items")?.setAttribute("aria-label", `${avatarInitials}${this._ariaLabelText}`);
113
- }
114
108
  }
115
109
  };
116
110
  UDExAvatarGroup = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroup.js","sourceRoot":"","sources":["../src/AvatarGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import AvatarGroup, { IAvatarGroupItem } from \"@ui5/webcomponents/dist/AvatarGroup.js\";\nimport AvatarGroupType from \"@ui5/webcomponents/dist/types/AvatarGroupType.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\n\n// Styles\nimport UI5AvatarGroupCss from \"@ui5/webcomponents/dist/generated/themes/AvatarGroup.css.js\";\n\nimport UDExAvatar, { AvatarColorScheme, AvatarSize } from \"./Avatar.js\";\n\nconst avatarOffsets = {\n [AvatarSize.XS]: {\n [AvatarGroupType.Individual]: \"0.0625rem\",\n [AvatarGroupType.Group]: \"-0.75rem\",\n },\n [AvatarSize.S]: {\n [AvatarGroupType.Individual]: \"0.125rem\",\n [AvatarGroupType.Group]: \"-1.25rem\",\n },\n [AvatarSize.M]: {\n [AvatarGroupType.Individual]: \"0.125rem\",\n [AvatarGroupType.Group]: \"-1.625rem\",\n },\n [AvatarSize.L]: {\n [AvatarGroupType.Individual]: \"0.125rem\",\n [AvatarGroupType.Group]: \"-2rem\",\n },\n [AvatarSize.XL]: {\n [AvatarGroupType.Individual]: \"0.25rem\",\n [AvatarGroupType.Group]: \"-2.75rem\",\n },\n};\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-avatar-group</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/AvatarGroup.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends AvatarGroup\n * @public\n */\n@customElement({\n tag: \"udex-avatar-group\",\n renderer: litRender,\n styles: [UI5AvatarGroupCss],\n dependencies: [UDExAvatar],\n})\n\nclass UDExAvatarGroup extends AvatarGroup {\n constructor() {\n super();\n\n this._itemNavigation = new ItemNavigation(this, {\n getItemsCallback: () => {\n return this._isGroup\n ? []\n : this.items.slice(0, this._hiddenStartIndex).map(\n item => item.shadowRoot?.firstElementChild as IAvatarGroupItem,\n );\n },\n });\n }\n onEnterDOM(): void {\n super.onEnterDOM();\n const container: HTMLElement = this.shadowRoot?.querySelector(\".ui5-avatar-group-items\") as HTMLElement;\n container?.addEventListener(\"mouseenter\", this._onHover.bind(this, true));\n container?.addEventListener(\"mouseleave\", this._onHover.bind(this, false));\n }\n\n onExitDOM(): void {\n super.onExitDOM();\n const container: HTMLElement = this.shadowRoot?.querySelector(\".ui5-avatar-group-items\") as HTMLElement;\n container?.removeEventListener(\"mouseenter\", this._onHover.bind(this, true));\n container?.removeEventListener(\"mouseleave\", this._onHover.bind(this, false));\n }\n\n _onHover(hover: boolean) {\n if (this._isGroup) {\n this.items.every(avatar => {\n avatar.toggleAttribute(\"hover\", hover);\n return !avatar.hidden;\n });\n }\n }\n\n _onfocusin(e: FocusEvent) {\n const targetItem = this._isGroup\n ? e.currentTarget\n : (e.target as HTMLElement).shadowRoot?.firstElementChild;\n this._itemNavigation.setCurrentItem(targetItem as IAvatarGroupItem);\n }\n\n _prepareAvatars() {\n this._colorIndex = 0;\n const visibleColors = Object.values(AvatarColorScheme);\n let avatarInitials = \"\";\n\n this.items.forEach((avatar, index) => {\n if (++this._colorIndex > visibleColors.length - 3) {\n this._colorIndex = 1;\n }\n avatar.interactive = !this._isGroup;\n avatar.toggleAttribute(\"ui5-avatar\", true);\n avatarInitials += this._isGroup && avatar.hasAttribute(\"initials\") && !avatar.shadowRoot?.firstElementChild?.hasAttribute(\"_has-image\")\n ? `${avatar.getAttribute(\"initials\")} ` : \"\";\n\n if (!avatar.getAttribute(\"color-scheme\")) {\n avatar.setAttribute(\"color-scheme\", visibleColors[this._colorIndex]);\n }\n\n if (index !== this._itemsCount - 1 || this._customOverflowButton) {\n avatar.style.marginInlineEnd = avatarOffsets[avatar.effectiveSize][this.type];\n }\n });\n\n if (avatarInitials) {\n this.shadowRoot?.querySelector(\".ui5-avatar-group-items\")?.setAttribute(\"aria-label\", `${avatarInitials}${this._ariaLabelText}`);\n }\n }\n}\n\nUDExAvatarGroup.define();\n\nexport default UDExAvatarGroup;\n"]}
1
+ {"version":3,"file":"AvatarGroup.js","sourceRoot":"","sources":["../src/AvatarGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import AvatarGroup, { IAvatarGroupItem } from \"@ui5/webcomponents/dist/AvatarGroup.js\";\nimport AvatarGroupType from \"@ui5/webcomponents/dist/types/AvatarGroupType.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\n\n// Styles\nimport UI5AvatarGroupCss from \"@ui5/webcomponents/dist/generated/themes/AvatarGroup.css.js\";\n\nimport UDExAvatar, { AvatarColorScheme, AvatarSize } from \"./Avatar.js\";\n\nconst avatarOffsets = {\n [AvatarSize.XS]: {\n [AvatarGroupType.Individual]: \"0.0625rem\",\n [AvatarGroupType.Group]: \"-0.75rem\",\n },\n [AvatarSize.S]: {\n [AvatarGroupType.Individual]: \"0.125rem\",\n [AvatarGroupType.Group]: \"-1.25rem\",\n },\n [AvatarSize.M]: {\n [AvatarGroupType.Individual]: \"0.125rem\",\n [AvatarGroupType.Group]: \"-1.625rem\",\n },\n [AvatarSize.L]: {\n [AvatarGroupType.Individual]: \"0.125rem\",\n [AvatarGroupType.Group]: \"-2rem\",\n },\n [AvatarSize.XL]: {\n [AvatarGroupType.Individual]: \"0.25rem\",\n [AvatarGroupType.Group]: \"-2.75rem\",\n },\n};\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-avatar-group</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/AvatarGroup.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends AvatarGroup\n * @public\n */\n@customElement({\n tag: \"udex-avatar-group\",\n renderer: litRender,\n styles: [UI5AvatarGroupCss],\n dependencies: [UDExAvatar],\n})\n\nclass UDExAvatarGroup extends AvatarGroup {\n constructor() {\n super();\n\n this._itemNavigation = new ItemNavigation(this, {\n getItemsCallback: () => {\n return this._isGroup\n ? []\n : this.items.slice(0, this._hiddenStartIndex).map(\n item => item.shadowRoot?.firstElementChild as IAvatarGroupItem,\n );\n },\n });\n }\n onEnterDOM(): void {\n super.onEnterDOM();\n const container: HTMLElement = this.shadowRoot?.querySelector(\".ui5-avatar-group-items\") as HTMLElement;\n container?.addEventListener(\"mouseenter\", this._onHover.bind(this, true));\n container?.addEventListener(\"mouseleave\", this._onHover.bind(this, false));\n }\n\n onExitDOM(): void {\n super.onExitDOM();\n const container: HTMLElement = this.shadowRoot?.querySelector(\".ui5-avatar-group-items\") as HTMLElement;\n container?.removeEventListener(\"mouseenter\", this._onHover.bind(this, true));\n container?.removeEventListener(\"mouseleave\", this._onHover.bind(this, false));\n }\n\n _onHover(hover: boolean) {\n if (this._isGroup) {\n this.items.every(avatar => {\n avatar.toggleAttribute(\"hover\", hover);\n return !avatar.hidden;\n });\n }\n }\n\n _onfocusin(e: FocusEvent) {\n const targetItem = this._isGroup\n ? e.currentTarget\n : (e.target as HTMLElement).shadowRoot?.firstElementChild;\n this._itemNavigation.setCurrentItem(targetItem as IAvatarGroupItem);\n }\n\n _prepareAvatars() {\n this._colorIndex = 0;\n const visibleColors = Object.values(AvatarColorScheme);\n\n this.items.forEach((avatar, index) => {\n if (++this._colorIndex > visibleColors.length - 3) {\n this._colorIndex = 1;\n }\n avatar.interactive = !this._isGroup;\n avatar.toggleAttribute(\"ui5-avatar\", true);\n\n if (!avatar.getAttribute(\"color-scheme\")) {\n avatar.setAttribute(\"color-scheme\", visibleColors[this._colorIndex]);\n }\n\n if (index !== this._itemsCount - 1 || this._customOverflowButton) {\n avatar.style.marginInlineEnd = avatarOffsets[avatar.effectiveSize][this.type];\n }\n });\n }\n}\n\nUDExAvatarGroup.define();\n\nexport default UDExAvatarGroup;\n"]}
package/dist/Badge.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import "@ui5/webcomponents/dist/Badge.js";
3
+ import IconPlacement from "./types/IconPlacement.js";
4
+ import { NumberBadgeDesign, TextBadgeDesign } from "./types/BadgeDesign.js";
3
5
  export declare enum BadgeType {
4
6
  text = "Text",
5
7
  number = "Number"
@@ -8,17 +10,6 @@ export declare enum BadgeSize {
8
10
  small = "Small",
9
11
  large = "Large"
10
12
  }
11
- export declare enum BadgeTextDesign {
12
- Info = "Info",
13
- Success = "Success",
14
- Error = "Error",
15
- Warning = "Warning"
16
- }
17
- export declare enum BadgeNumberDesign {
18
- Blue = "Blue",
19
- Red = "Red",
20
- White = "White"
21
- }
22
13
  /**
23
14
  * @class
24
15
  *
@@ -57,22 +48,38 @@ declare class UDExBadge extends UI5Element {
57
48
  * @default "Info"
58
49
  * @public
59
50
  */
60
- design: `${BadgeTextDesign}`;
51
+ design: `${TextBadgeDesign}`;
61
52
  /**
62
53
  * Defines the design of number type component.
63
54
  *
64
55
  * @default "Blue"
65
56
  * @public
66
57
  */
67
- numberDesign: `${BadgeNumberDesign}`;
58
+ numberDesign: `${NumberBadgeDesign}`;
59
+ /**
60
+ * Defines icon placement if icon was provided
61
+ *
62
+ * @default "End"
63
+ * @public
64
+ */
65
+ iconPlacement?: `${IconPlacement}`;
66
+ /**
67
+ * Defines icon name
68
+ *
69
+ * @default ""
70
+ * @public
71
+ */
72
+ icon: string;
68
73
  /**
69
74
  * Defines the content of the component.
70
75
  *
71
76
  * @public
72
77
  */
73
78
  default: Array<Node>;
74
- get textType(): boolean;
79
+ get startIcon(): boolean;
80
+ get endIcon(): boolean;
75
81
  get textClasses(): string;
76
82
  get numberClasses(): string;
83
+ get badgeClasses(): string;
77
84
  }
78
85
  export default UDExBadge;
package/dist/Badge.js CHANGED
@@ -13,6 +13,8 @@ import "@ui5/webcomponents/dist/Badge.js";
13
13
  import BadgeTemplate from "./generated/templates/BadgeTemplate.lit.js";
14
14
  // Styles
15
15
  import BadgeCss from "./generated/themes/Badge.css.js";
16
+ import IconPlacement from "./types/IconPlacement.js";
17
+ import { NumberBadgeDesign, TextBadgeDesign } from "./types/BadgeDesign.js";
16
18
  export var BadgeType;
17
19
  (function (BadgeType) {
18
20
  BadgeType["text"] = "Text";
@@ -23,19 +25,6 @@ export var BadgeSize;
23
25
  BadgeSize["small"] = "Small";
24
26
  BadgeSize["large"] = "Large";
25
27
  })(BadgeSize || (BadgeSize = {}));
26
- export var BadgeTextDesign;
27
- (function (BadgeTextDesign) {
28
- BadgeTextDesign["Info"] = "Info";
29
- BadgeTextDesign["Success"] = "Success";
30
- BadgeTextDesign["Error"] = "Error";
31
- BadgeTextDesign["Warning"] = "Warning";
32
- })(BadgeTextDesign || (BadgeTextDesign = {}));
33
- export var BadgeNumberDesign;
34
- (function (BadgeNumberDesign) {
35
- BadgeNumberDesign["Blue"] = "Blue";
36
- BadgeNumberDesign["Red"] = "Red";
37
- BadgeNumberDesign["White"] = "White";
38
- })(BadgeNumberDesign || (BadgeNumberDesign = {}));
39
28
  /**
40
29
  * @class
41
30
  *
@@ -54,18 +43,11 @@ export var BadgeNumberDesign;
54
43
  * @public
55
44
  */
56
45
  let UDExBadge = class UDExBadge extends UI5Element {
57
- constructor() {
58
- super(...arguments);
59
- /**
60
- * Defines the design of text type component.
61
- *
62
- * @default "Info"
63
- * @public
64
- */
65
- this.design = BadgeTextDesign.Info;
46
+ get startIcon() {
47
+ return !!this.icon && this.iconPlacement === IconPlacement.Start;
66
48
  }
67
- get textType() {
68
- return this.type === BadgeType.text;
49
+ get endIcon() {
50
+ return !!this.icon && this.iconPlacement === IconPlacement.End;
69
51
  }
70
52
  get textClasses() {
71
53
  return `udex-badge udex-badge--text udex-badge--${this.design.toLowerCase()} udex-badge--${this.size.toLowerCase()}`;
@@ -73,6 +55,12 @@ let UDExBadge = class UDExBadge extends UI5Element {
73
55
  get numberClasses() {
74
56
  return `udex-badge udex-badge--number udex-badge--${this.numberDesign.toLowerCase()} udex-badge--${this.size.toLowerCase()}`;
75
57
  }
58
+ get badgeClasses() {
59
+ if (this.type === BadgeType.text) {
60
+ return this.textClasses;
61
+ }
62
+ return this.numberClasses;
63
+ }
76
64
  };
77
65
  __decorate([
78
66
  property({ defaultValue: BadgeType.text })
@@ -81,11 +69,17 @@ __decorate([
81
69
  property({ defaultValue: BadgeSize.large })
82
70
  ], UDExBadge.prototype, "size", void 0);
83
71
  __decorate([
84
- property({ defaultValue: BadgeTextDesign.Info })
72
+ property({ defaultValue: TextBadgeDesign.Info })
85
73
  ], UDExBadge.prototype, "design", void 0);
86
74
  __decorate([
87
- property({ defaultValue: BadgeNumberDesign.Blue })
75
+ property({ defaultValue: NumberBadgeDesign.Blue })
88
76
  ], UDExBadge.prototype, "numberDesign", void 0);
77
+ __decorate([
78
+ property({ type: IconPlacement, defaultValue: IconPlacement.End })
79
+ ], UDExBadge.prototype, "iconPlacement", void 0);
80
+ __decorate([
81
+ property()
82
+ ], UDExBadge.prototype, "icon", void 0);
89
83
  __decorate([
90
84
  slot({ type: Node, "default": true })
91
85
  ], UDExBadge.prototype, "default", void 0);
package/dist/Badge.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../src/Badge.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,kCAAkC,CAAC;AAE1C,OAAO,aAAa,MAAM,4CAA4C,CAAC;AAEvE,SAAS;AACT,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AAEvD,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,8BAAiB,CAAA;AACnB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,4BAAe,CAAA;AACjB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,sCAAmB,CAAA;IACnB,kCAAe,CAAA;IACf,sCAAmB,CAAA;AACrB,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,gCAAW,CAAA;IACX,oCAAe,CAAA;AACjB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAED;;;;;;;;;;;;;;;;GAgBG;AAQH,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,UAAU;IAAlC;;QAmBE;;;;;WAKG;QAED,WAAM,GAAyB,eAAe,CAAC,IAAI,CAAC;IA6BxD,CAAC;IAXC,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC;IACtC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,2CAA2C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IACvH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,6CAA6C,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,gBAAgB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IAC/H,CAAC;CACF,CAAA;AA/CG;IADD,QAAQ,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;uCACnB;AAStB;IADD,QAAQ,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;uCACpB;AAStB;IADD,QAAQ,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;yCACK;AAQpD;IADD,QAAQ,CAAC,EAAE,YAAY,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC;+CACX;AAQtC;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;0CACd;AA1CpB,SAAS;IAPd,aAAa,CAAC;QACb,GAAG,EAAE,YAAY;QACjB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,aAAa;QACvB,YAAY,EAAE,EAAE;KACjB,CAAC;GACI,SAAS,CAuDd;AAED,SAAS,CAAC,MAAM,EAAE,CAAC;AAEnB,eAAe,SAAS,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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport \"@ui5/webcomponents/dist/Badge.js\";\n\nimport BadgeTemplate from \"./generated/templates/BadgeTemplate.lit.js\";\n\n// Styles\nimport BadgeCss from \"./generated/themes/Badge.css.js\";\n\nexport enum BadgeType {\n text = \"Text\",\n number = \"Number\",\n}\n\nexport enum BadgeSize {\n small = \"Small\",\n large = \"Large\",\n}\n\nexport enum BadgeTextDesign {\n Info = \"Info\",\n Success = \"Success\",\n Error = \"Error\",\n Warning = \"Warning\",\n}\n\nexport enum BadgeNumberDesign {\n Blue = \"Blue\",\n Red = \"Red\",\n White = \"White\",\n}\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-badge</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/Badge.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-badge\",\n renderer: litRender,\n styles: BadgeCss,\n template: BadgeTemplate,\n dependencies: [],\n})\nclass UDExBadge extends UI5Element {\n /**\n * Defines the type of the component.\n *\n * @default \"Text\"\n * @public\n */\n @property({ defaultValue: BadgeType.text })\n type!: `${BadgeType}`;\n\n /**\n * Defines the size of the component.\n *\n * @default \"Large\"\n * @public\n */\n @property({ defaultValue: BadgeSize.large })\n size!: `${BadgeSize}`;\n\n /**\n * Defines the design of text type component.\n *\n * @default \"Info\"\n * @public\n */\n @property({ defaultValue: BadgeTextDesign.Info })\n design: `${BadgeTextDesign}` = BadgeTextDesign.Info;\n /**\n * Defines the design of number type component.\n *\n * @default \"Blue\"\n * @public\n */\n @property({ defaultValue: BadgeNumberDesign.Blue })\n numberDesign!: `${BadgeNumberDesign}`;\n\n /**\n * Defines the content of the component.\n *\n * @public\n */\n @slot({ type: Node, \"default\": true })\n default!: Array<Node>;\n\n get textType(): boolean {\n return this.type === BadgeType.text;\n }\n\n get textClasses(): string {\n return `udex-badge udex-badge--text udex-badge--${this.design.toLowerCase()} udex-badge--${this.size.toLowerCase()}`;\n }\n\n get numberClasses(): string {\n return `udex-badge udex-badge--number udex-badge--${this.numberDesign.toLowerCase()} udex-badge--${this.size.toLowerCase()}`;\n }\n}\n\nUDExBadge.define();\n\nexport default UDExBadge;\n"]}
1
+ {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../src/Badge.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,kCAAkC,CAAC;AAE1C,OAAO,aAAa,MAAM,4CAA4C,CAAC;AAEvE,SAAS;AACT,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AACvD,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE5E,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,8BAAiB,CAAA;AACnB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,4BAAe,CAAA;AACjB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED;;;;;;;;;;;;;;;;GAgBG;AAQH,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,UAAU;IA4DhC,IAAI,SAAS;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,KAAK,CAAC;IACnE,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,GAAG,CAAC;IACjE,CAAC;IAED,IAAI,WAAW;QACb,OAAO,2CAA2C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IACvH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,6CAA6C,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,gBAAgB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IAC/H,CAAC;IAED,IAAI,YAAY;QACd,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE;YAChC,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;QAED,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CACF,CAAA;AA3EG;IADD,QAAQ,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;uCACnB;AAStB;IADD,QAAQ,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;uCACpB;AAStB;IADD,QAAQ,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;yCACjB;AAQ9B;IADD,QAAQ,CAAC,EAAE,YAAY,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC;+CACX;AAQtC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC;gDAC7B;AAQpC;IADD,QAAQ,EAAE;uCACK;AAQd;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;0CACd;AA1DpB,SAAS;IAPd,aAAa,CAAC;QACb,GAAG,EAAE,YAAY;QACjB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,aAAa;QACvB,YAAY,EAAE,EAAE;KACjB,CAAC;GACI,SAAS,CAmFd;AAED,SAAS,CAAC,MAAM,EAAE,CAAC;AAEnB,eAAe,SAAS,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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport \"@ui5/webcomponents/dist/Badge.js\";\n\nimport BadgeTemplate from \"./generated/templates/BadgeTemplate.lit.js\";\n\n// Styles\nimport BadgeCss from \"./generated/themes/Badge.css.js\";\nimport IconPlacement from \"./types/IconPlacement.js\";\nimport { NumberBadgeDesign, TextBadgeDesign } from \"./types/BadgeDesign.js\";\n\nexport enum BadgeType {\n text = \"Text\",\n number = \"Number\",\n}\n\nexport enum BadgeSize {\n small = \"Small\",\n large = \"Large\",\n}\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-badge</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/Badge.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-badge\",\n renderer: litRender,\n styles: BadgeCss,\n template: BadgeTemplate,\n dependencies: [],\n})\nclass UDExBadge extends UI5Element {\n /**\n * Defines the type of the component.\n *\n * @default \"Text\"\n * @public\n */\n @property({ defaultValue: BadgeType.text })\n type!: `${BadgeType}`;\n\n /**\n * Defines the size of the component.\n *\n * @default \"Large\"\n * @public\n */\n @property({ defaultValue: BadgeSize.large })\n size!: `${BadgeSize}`;\n\n /**\n * Defines the design of text type component.\n *\n * @default \"Info\"\n * @public\n */\n @property({ defaultValue: TextBadgeDesign.Info })\n design!: `${TextBadgeDesign}`;\n /**\n * Defines the design of number type component.\n *\n * @default \"Blue\"\n * @public\n */\n @property({ defaultValue: NumberBadgeDesign.Blue })\n numberDesign!: `${NumberBadgeDesign}`;\n /**\n * Defines icon placement if icon was provided\n *\n * @default \"End\"\n * @public\n */\n @property({ type: IconPlacement, defaultValue: IconPlacement.End })\n iconPlacement? : `${IconPlacement}`;\n /**\n * Defines icon name\n *\n * @default \"\"\n * @public\n */\n @property()\n icon!: string;\n\n /**\n * Defines the content of the component.\n *\n * @public\n */\n @slot({ type: Node, \"default\": true })\n default!: Array<Node>;\n\n get startIcon(): boolean {\n return !!this.icon && this.iconPlacement === IconPlacement.Start;\n }\n\n get endIcon(): boolean {\n return !!this.icon && this.iconPlacement === IconPlacement.End;\n }\n\n get textClasses(): string {\n return `udex-badge udex-badge--text udex-badge--${this.design.toLowerCase()} udex-badge--${this.size.toLowerCase()}`;\n }\n\n get numberClasses(): string {\n return `udex-badge udex-badge--number udex-badge--${this.numberDesign.toLowerCase()} udex-badge--${this.size.toLowerCase()}`;\n }\n\n get badgeClasses(): string {\n if (this.type === BadgeType.text) {\n return this.textClasses;\n }\n\n return this.numberClasses;\n }\n}\n\nUDExBadge.define();\n\nexport default UDExBadge;\n"]}
@@ -1,6 +1,6 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import { LinkClickEventDetail } from "@ui5/webcomponents/dist/Link.js";
3
- import ItemNavigation, { ITabbable } from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
3
+ import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
4
4
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
5
5
  import UDExBreadcrumbsItem from "./BreadcrumbsItem.js";
6
6
  import Link from "./Link.js";
@@ -55,23 +55,16 @@ declare class UDExBreadcrumbs extends UI5Element {
55
55
  items: Array<UDExBreadcrumbsItem>;
56
56
  responsivePopover?: Dropdown;
57
57
  _itemNavigation?: ItemNavigation;
58
+ _shouldFocusFirstVisibleItem: boolean;
58
59
  static i18nBundle: I18nBundle;
60
+ static onDefine(): Promise<void>;
59
61
  onBeforeRendering(): void;
62
+ onAfterRendering(): void;
60
63
  _preprocessItems(): void;
61
64
  _getResponsePopover(): Promise<Dropdown>;
62
- /**
63
- * Getter for the interactive element that opens the overflow
64
- * @private
65
- */
66
- get _dropdownArrowLink(): Link;
67
- /**
68
- * Getter for the list of links corresponding to the abstract breadcrumb items
69
- */
70
- get _links(): Link[];
71
- _getFocusableItems(): ITabbable[];
65
+ _getFocusableItems(): Array<Link>;
72
66
  _initItemNavigation(): void;
73
- onAfterRendering(): void;
74
- _getItems(): UDExBreadcrumbsItem[];
67
+ _getItems(): Array<UDExBreadcrumbsItem>;
75
68
  _closeRespPopover(): void;
76
69
  _openRespPopover(): Promise<void>;
77
70
  _onDropdownLinkPress(e: CustomEvent<LinkClickEventDetail>): void;
@@ -79,18 +72,27 @@ declare class UDExBreadcrumbs extends UI5Element {
79
72
  _isItemVisible(item: UDExBreadcrumbsItem): boolean;
80
73
  _afterDropdownOpen(): void;
81
74
  _afterDropdownClose(): void;
82
- get _visibleItems(): UDExBreadcrumbsItem[];
75
+ _toggleDropdown(): void;
76
+ _onfocusin(e: FocusEvent): void;
77
+ _handleKeydown(e: KeyboardEvent): void;
78
+ _focusFirstVisibleItem(): void;
79
+ /**
80
+ * Getter for the interactive element that opens the overflow
81
+ * @private
82
+ */
83
+ get _dropdownArrowLink(): Link;
84
+ /**
85
+ * Getter for the list of links corresponding to the abstract breadcrumb items
86
+ */
87
+ get _links(): Array<Link>;
83
88
  /**
84
89
  * Getter for the list of abstract breadcrumb items to be rendered as links outside the overflow
85
90
  */
86
- get _linksData(): UDExBreadcrumbsItem[];
87
- get _isOverflowEmpty(): boolean;
88
- _toggleDropdown(): void;
89
- get _dropdownItems(): UDExBreadcrumbsItem[];
90
- get _triggerClass(): "" | "udex-breadcrumbs__trigger--opened";
91
+ get _linksData(): Array<UDExBreadcrumbsItem>;
92
+ get _visibleItems(): Array<UDExBreadcrumbsItem>;
93
+ get _dropdownItems(): Array<UDExBreadcrumbsItem>;
94
+ get _triggerClass(): string;
91
95
  get _accessibleNameText(): string;
92
96
  get _dropdownArrowAccessibleNameText(): string;
93
- _onfocusin(e: FocusEvent): void;
94
- static onDefine(): Promise<void>;
95
97
  }
96
98
  export default UDExBreadcrumbs;
@@ -11,6 +11,7 @@ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
11
11
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
12
12
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
13
13
  import event from "@ui5/webcomponents-base/dist/decorators/event.js";
14
+ import { isTabNext, isTabPrevious, } from "@ui5/webcomponents-base/dist/Keys.js";
14
15
  import Icon from "@ui5/webcomponents/dist/Icon.js";
15
16
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
16
17
  import NavigationMode from "@ui5/webcomponents-base/dist/types/NavigationMode.js";
@@ -28,6 +29,7 @@ import "@ui5/webcomponents-icons/dist/home.js";
28
29
  // Styles
29
30
  import BreadcrumbsCss from "./generated/themes/Breadcrumbs.css.js";
30
31
  import BreadcrumbsPopoverCss from "./generated/themes/BreadcrumbsPopover.css.js";
32
+ const triggerActiveClass = "udex-breadcrumbs__trigger--opened";
31
33
  /**
32
34
  * @class
33
35
  *
@@ -46,9 +48,15 @@ import BreadcrumbsPopoverCss from "./generated/themes/BreadcrumbsPopover.css.js"
46
48
  * @public
47
49
  */
48
50
  let UDExBreadcrumbs = UDExBreadcrumbs_1 = class UDExBreadcrumbs extends UI5Element {
51
+ static async onDefine() {
52
+ UDExBreadcrumbs_1.i18nBundle = await getI18nBundle("@udex/web-components");
53
+ }
49
54
  onBeforeRendering() {
50
55
  this._preprocessItems();
51
56
  }
57
+ onAfterRendering() {
58
+ this._initItemNavigation();
59
+ }
52
60
  _preprocessItems() {
53
61
  this.items.forEach(item => {
54
62
  item._getRealDomRef = () => this.getDomRef().querySelector(`[data-ui5-stable*=${item.stableDomRef}]`);
@@ -58,19 +66,6 @@ let UDExBreadcrumbs = UDExBreadcrumbs_1 = class UDExBreadcrumbs extends UI5Eleme
58
66
  const staticAreaItem = await this.getStaticAreaItemDomRef();
59
67
  return staticAreaItem.querySelector(`#udex-${this.__id}-breadcrumbs__popover`);
60
68
  }
61
- /**
62
- * Getter for the interactive element that opens the overflow
63
- * @private
64
- */
65
- get _dropdownArrowLink() {
66
- return this.shadowRoot.querySelector(".udex-breadcrumbs__trigger");
67
- }
68
- /**
69
- * Getter for the list of links corresponding to the abstract breadcrumb items
70
- */
71
- get _links() {
72
- return Array.from(this.shadowRoot.querySelectorAll(".udex-breadcrumbs__link-wrapper [ui5-link]"));
73
- }
74
69
  _getFocusableItems() {
75
70
  const items = this._links;
76
71
  items.unshift(this._dropdownArrowLink);
@@ -84,9 +79,6 @@ let UDExBreadcrumbs = UDExBreadcrumbs_1 = class UDExBreadcrumbs extends UI5Eleme
84
79
  });
85
80
  }
86
81
  }
87
- onAfterRendering() {
88
- this._initItemNavigation();
89
- }
90
82
  _getItems() {
91
83
  return this.getSlottedNodes("items");
92
84
  }
@@ -127,13 +119,50 @@ let UDExBreadcrumbs = UDExBreadcrumbs_1 = class UDExBreadcrumbs extends UI5Eleme
127
119
  }
128
120
  _afterDropdownClose() {
129
121
  this._dropdownOpened = false;
122
+ if (this._shouldFocusFirstVisibleItem) {
123
+ this._focusFirstVisibleItem();
124
+ }
130
125
  }
131
- get _visibleItems() {
132
- const items = this._getItems();
133
- const itemsLength = this.showItems ?? 0;
134
- return this._getItems()
135
- .slice(Math.max(items.length - itemsLength - 1, 0))
136
- .filter(i => this._isItemVisible(i));
126
+ _toggleDropdown() {
127
+ if (this._dropdownOpened) {
128
+ this._closeRespPopover();
129
+ }
130
+ else {
131
+ this._openRespPopover();
132
+ }
133
+ }
134
+ _onfocusin(e) {
135
+ const currentItem = e.target;
136
+ this._itemNavigation?.setCurrentItem(currentItem);
137
+ }
138
+ _handleKeydown(e) {
139
+ const itemIndex = e.target.getAttribute("index");
140
+ const isLastItem = itemIndex === (this.items.length - 2).toString();
141
+ const isFirstItem = itemIndex === "0";
142
+ if (isTabNext(e) && isLastItem) {
143
+ this._closeRespPopover();
144
+ this._shouldFocusFirstVisibleItem = true;
145
+ }
146
+ if (isTabPrevious(e) && isFirstItem) {
147
+ this._closeRespPopover();
148
+ }
149
+ }
150
+ _focusFirstVisibleItem() {
151
+ Array.from(this.shadowRoot.querySelectorAll("[udex-link]"))[0].focus();
152
+ this._shouldFocusFirstVisibleItem = false;
153
+ }
154
+ /**
155
+ * Getter for the interactive element that opens the overflow
156
+ * @private
157
+ */
158
+ get _dropdownArrowLink() {
159
+ return this.shadowRoot.querySelector(".udex-breadcrumbs__trigger");
160
+ }
161
+ /**
162
+ * Getter for the list of links corresponding to the abstract breadcrumb items
163
+ */
164
+ get _links() {
165
+ return Array.from(this.shadowRoot.querySelectorAll(".udex-breadcrumbs__link-wrapper [ui5-link]"));
137
166
  }
138
167
  /**
139
168
  * Getter for the list of abstract breadcrumb items to be rendered as links outside the overflow
@@ -147,22 +176,18 @@ let UDExBreadcrumbs = UDExBreadcrumbs_1 = class UDExBreadcrumbs extends UI5Eleme
147
176
  return item;
148
177
  });
149
178
  }
150
- get _isOverflowEmpty() {
151
- return this._dropdownItems.length === 0;
152
- }
153
- _toggleDropdown() {
154
- if (this._dropdownOpened) {
155
- this._closeRespPopover();
156
- }
157
- else {
158
- this._openRespPopover();
159
- }
179
+ get _visibleItems() {
180
+ const items = this._getItems();
181
+ const itemsLength = this.showItems ?? 0;
182
+ return this._getItems()
183
+ .slice(Math.max(items.length - itemsLength - 1, 0))
184
+ .filter(i => this._isItemVisible(i));
160
185
  }
161
186
  get _dropdownItems() {
162
187
  return this._getItems().filter(i => this._isItemVisible(i));
163
188
  }
164
189
  get _triggerClass() {
165
- return this._dropdownOpened ? "udex-breadcrumbs__trigger--opened" : "";
190
+ return this._dropdownOpened ? triggerActiveClass : "";
166
191
  }
167
192
  get _accessibleNameText() {
168
193
  return UDExBreadcrumbs_1.i18nBundle.getText(BREADCRUMBS_ARIA_LABEL);
@@ -170,13 +195,6 @@ let UDExBreadcrumbs = UDExBreadcrumbs_1 = class UDExBreadcrumbs extends UI5Eleme
170
195
  get _dropdownArrowAccessibleNameText() {
171
196
  return UDExBreadcrumbs_1.i18nBundle.getText(BREADCRUMBS_OVERFLOW_ARIA_LABEL);
172
197
  }
173
- _onfocusin(e) {
174
- const currentItem = e.target;
175
- this._itemNavigation?.setCurrentItem(currentItem);
176
- }
177
- static async onDefine() {
178
- UDExBreadcrumbs_1.i18nBundle = await getI18nBundle("@udex/web-components");
179
- }
180
198
  };
181
199
  __decorate([
182
200
  property({ noAttribute: true, type: Boolean })
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../src/Breadcrumbs.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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\n\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { LinkClickEventDetail } from \"@ui5/webcomponents/dist/Link.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport ItemNavigation, { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport breadcrumbsCss from \"@ui5/webcomponents/dist/generated/themes/Breadcrumbs.css.js\";\nimport BreadcrumbsTemplate from \"./generated/templates/BreadcrumbsTemplate.lit.js\";\nimport BreadcrumbsPopover from \"./generated/templates/BreadcrumbsPopoverTemplate.lit.js\";\nimport UDExBreadcrumbsItem from \"./BreadcrumbsItem.js\";\nimport Link from \"./Link.js\";\nimport Dropdown from \"./Dropdown.js\";\nimport {\n BREADCRUMBS_ARIA_LABEL,\n BREADCRUMBS_OVERFLOW_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/home.js\";\n\n// Styles\nimport BreadcrumbsCss from \"./generated/themes/Breadcrumbs.css.js\";\nimport BreadcrumbsPopoverCss from \"./generated/themes/BreadcrumbsPopover.css.js\";\n\nexport type UDExBreadcrumbsItemClickEventDetail = {\n item: UDExBreadcrumbsItem;\n altKey: boolean;\n ctrlKey: boolean;\n metaKey: boolean;\n shiftKey: boolean;\n}\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-breadcrumbs</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/Breadcrumbs.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-breadcrumbs\",\n renderer: litRender,\n styles: [breadcrumbsCss, BreadcrumbsCss],\n template: BreadcrumbsTemplate,\n staticAreaTemplate: BreadcrumbsPopover,\n staticAreaStyles: [BreadcrumbsPopoverCss],\n dependencies: [UDExBreadcrumbsItem, Link, Dropdown, Icon],\n})\n/**\n * Fires when a `BreadcrumbsItem` is clicked.\n *\n * **Note:** You can prevent browser location change by calling `event.preventDefault()`.\n * @allowPreventDefault\n * @param {HTMLElement} item The clicked item.\n * @param {Boolean} altKey Returns whether the \"ALT\" key was pressed when the event was triggered.\n * @param {Boolean} ctrlKey Returns whether the \"CTRL\" key was pressed when the event was triggered.\n * @param {Boolean} metaKey Returns whether the \"META\" key was pressed when the event was triggered.\n * @param {Boolean} shiftKey Returns whether the \"SHIFT\" key was pressed when the event was triggered.\n * @public\n */\n@event<UDExBreadcrumbsItemClickEventDetail>(\"item-click\", {\n detail: {\n /**\n * @public\n */\n item: { type: HTMLElement },\n /**\n * @public\n */\n altKey: { type: Boolean },\n /**\n * @public\n */\n ctrlKey: { type: Boolean },\n /**\n * @public\n */\n metaKey: { type: Boolean },\n /**\n * @public\n */\n shiftKey: { type: Boolean },\n },\n})\nclass UDExBreadcrumbs extends UI5Element {\n /**\n * Indicates if dropdown is opened\n *\n * @default false\n * @private\n */\n @property({ noAttribute: true, type: Boolean })\n _dropdownOpened!: boolean;\n\n /**\n * Defines how many breadcrumb items should be visible\n *\n * @default 3\n * @public\n */\n @property({ type: Number, defaultValue: 3, validator: Integer })\n showItems?: number;\n\n /**\n * Defines the component items.\n *\n * **Note:** Use the `udex-breadcrumbs-item` component to define the desired items.\n * @public\n */\n @slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n items!: Array<UDExBreadcrumbsItem>;\n\n responsivePopover?: Dropdown;\n _itemNavigation?: ItemNavigation;\n static i18nBundle: I18nBundle;\n\n onBeforeRendering() {\n this._preprocessItems();\n }\n\n _preprocessItems() {\n this.items.forEach(item => {\n item._getRealDomRef = () => this.getDomRef()!.querySelector(`[data-ui5-stable*=${item.stableDomRef}]`)!;\n });\n }\n\n async _getResponsePopover() {\n const staticAreaItem = await this.getStaticAreaItemDomRef();\n return staticAreaItem!.querySelector<Dropdown>(`#udex-${this.__id!}-breadcrumbs__popover`)!;\n }\n\n /**\n * Getter for the interactive element that opens the overflow\n * @private\n */\n get _dropdownArrowLink() {\n return this.shadowRoot!.querySelector<Link>(\".udex-breadcrumbs__trigger\")!;\n }\n\n /**\n * Getter for the list of links corresponding to the abstract breadcrumb items\n */\n get _links() {\n return Array.from(this.shadowRoot!.querySelectorAll<Link>(\".udex-breadcrumbs__link-wrapper [ui5-link]\"));\n }\n\n _getFocusableItems() {\n const items: Array<ITabbable> = this._links;\n items.unshift(this._dropdownArrowLink);\n\n return items;\n }\n\n _initItemNavigation() {\n if (!this._itemNavigation) {\n this._itemNavigation = new ItemNavigation(this, {\n navigationMode: NavigationMode.Horizontal,\n getItemsCallback: () => this._getFocusableItems(),\n });\n }\n }\n\n onAfterRendering(): void {\n this._initItemNavigation();\n }\n\n _getItems() {\n return this.getSlottedNodes<UDExBreadcrumbsItem>(\"items\");\n }\n\n _closeRespPopover() {\n this.responsivePopover && this.responsivePopover.onClose();\n }\n\n async _openRespPopover() {\n this.responsivePopover = await this._getResponsePopover();\n this.responsivePopover.onOpen(this._dropdownArrowLink);\n }\n\n _onDropdownLinkPress(e: CustomEvent<LinkClickEventDetail>) {\n const listItem = e.target as HTMLElement,\n items = this._getItems(),\n item = items.find(x => `${x._id}-li` === listItem.id)!;\n\n if (item._isCurrentPageItem) {\n return;\n }\n\n if (this.fireEvent(\"item-click\", { item }, true)) {\n window.open(item.href, item.target || \"_self\", \"noopener,noreferrer\");\n this.responsivePopover!.onClose();\n }\n }\n\n _onLinkPress(e: CustomEvent<LinkClickEventDetail>) {\n const link = e.target as Link,\n items = this._getItems(),\n item = items.find(x => `${x._id}-link` === link.id)!,\n {\n altKey,\n ctrlKey,\n metaKey,\n shiftKey,\n } = e.detail;\n\n if (!this.fireEvent<UDExBreadcrumbsItemClickEventDetail>(\"item-click\", {\n item,\n altKey,\n ctrlKey,\n metaKey,\n shiftKey,\n }, true)) {\n e.preventDefault();\n }\n }\n\n _isItemVisible(item: UDExBreadcrumbsItem) {\n return !item.hidden;\n }\n\n _afterDropdownOpen() {\n this._dropdownOpened = true;\n }\n\n _afterDropdownClose() {\n this._dropdownOpened = false;\n }\n\n get _visibleItems() {\n const items = this._getItems();\n const itemsLength = this.showItems ?? 0;\n\n return this._getItems()\n .slice(Math.max(items.length - itemsLength - 1, 0))\n .filter(i => this._isItemVisible(i));\n }\n\n /**\n * Getter for the list of abstract breadcrumb items to be rendered as links outside the overflow\n */\n get _linksData() {\n const items = this._visibleItems;\n const itemsCount = items.length;\n\n return items\n .map((item, index) => {\n item._isCurrentPageItem = index === (itemsCount - 1);\n return item;\n });\n }\n\n get _isOverflowEmpty() {\n return this._dropdownItems.length === 0;\n }\n\n _toggleDropdown() {\n if (this._dropdownOpened) {\n this._closeRespPopover();\n } else {\n this._openRespPopover();\n }\n }\n\n get _dropdownItems() {\n return this._getItems().filter(i => this._isItemVisible(i));\n }\n\n get _triggerClass() {\n return this._dropdownOpened ? \"udex-breadcrumbs__trigger--opened\" : \"\";\n }\n\n get _accessibleNameText() {\n return UDExBreadcrumbs.i18nBundle.getText(BREADCRUMBS_ARIA_LABEL);\n }\n\n get _dropdownArrowAccessibleNameText() {\n return UDExBreadcrumbs.i18nBundle.getText(BREADCRUMBS_OVERFLOW_ARIA_LABEL);\n }\n\n _onfocusin(e: FocusEvent) {\n const currentItem = e.target as Link;\n\n this._itemNavigation?.setCurrentItem(currentItem);\n }\n\n static async onDefine() {\n UDExBreadcrumbs.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n}\n\nUDExBreadcrumbs.define();\n\nexport default UDExBreadcrumbs;\n"]}
1
+ {"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../src/Breadcrumbs.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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport {\n isTabNext,\n isTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { LinkClickEventDetail } from \"@ui5/webcomponents/dist/Link.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport breadcrumbsCss from \"@ui5/webcomponents/dist/generated/themes/Breadcrumbs.css.js\";\nimport BreadcrumbsTemplate from \"./generated/templates/BreadcrumbsTemplate.lit.js\";\nimport BreadcrumbsPopover from \"./generated/templates/BreadcrumbsPopoverTemplate.lit.js\";\nimport UDExBreadcrumbsItem from \"./BreadcrumbsItem.js\";\nimport Link from \"./Link.js\";\nimport Dropdown from \"./Dropdown.js\";\nimport {\n BREADCRUMBS_ARIA_LABEL,\n BREADCRUMBS_OVERFLOW_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/home.js\";\n\n// Styles\nimport BreadcrumbsCss from \"./generated/themes/Breadcrumbs.css.js\";\nimport BreadcrumbsPopoverCss from \"./generated/themes/BreadcrumbsPopover.css.js\";\n\nconst triggerActiveClass = \"udex-breadcrumbs__trigger--opened\";\n\nexport type UDExBreadcrumbsItemClickEventDetail = {\n item: UDExBreadcrumbsItem;\n altKey: boolean;\n ctrlKey: boolean;\n metaKey: boolean;\n shiftKey: boolean;\n}\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-breadcrumbs</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/Breadcrumbs.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-breadcrumbs\",\n renderer: litRender,\n styles: [breadcrumbsCss, BreadcrumbsCss],\n template: BreadcrumbsTemplate,\n staticAreaTemplate: BreadcrumbsPopover,\n staticAreaStyles: [BreadcrumbsPopoverCss],\n dependencies: [UDExBreadcrumbsItem, Link, Dropdown, Icon],\n})\n/**\n * Fires when a `BreadcrumbsItem` is clicked.\n *\n * **Note:** You can prevent browser location change by calling `event.preventDefault()`.\n * @allowPreventDefault\n * @param {HTMLElement} item The clicked item.\n * @param {Boolean} altKey Returns whether the \"ALT\" key was pressed when the event was triggered.\n * @param {Boolean} ctrlKey Returns whether the \"CTRL\" key was pressed when the event was triggered.\n * @param {Boolean} metaKey Returns whether the \"META\" key was pressed when the event was triggered.\n * @param {Boolean} shiftKey Returns whether the \"SHIFT\" key was pressed when the event was triggered.\n * @public\n */\n@event<UDExBreadcrumbsItemClickEventDetail>(\"item-click\", {\n detail: {\n /**\n * @public\n */\n item: { type: HTMLElement },\n /**\n * @public\n */\n altKey: { type: Boolean },\n /**\n * @public\n */\n ctrlKey: { type: Boolean },\n /**\n * @public\n */\n metaKey: { type: Boolean },\n /**\n * @public\n */\n shiftKey: { type: Boolean },\n },\n})\nclass UDExBreadcrumbs extends UI5Element {\n /**\n * Indicates if dropdown is opened\n *\n * @default false\n * @private\n */\n @property({ noAttribute: true, type: Boolean })\n _dropdownOpened!: boolean;\n\n /**\n * Defines how many breadcrumb items should be visible\n *\n * @default 3\n * @public\n */\n @property({ type: Number, defaultValue: 3, validator: Integer })\n showItems?: number;\n\n /**\n * Defines the component items.\n *\n * **Note:** Use the `udex-breadcrumbs-item` component to define the desired items.\n * @public\n */\n @slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n items!: Array<UDExBreadcrumbsItem>;\n\n responsivePopover?: Dropdown;\n _itemNavigation?: ItemNavigation;\n _shouldFocusFirstVisibleItem!: boolean;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExBreadcrumbs.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n onBeforeRendering(): void {\n this._preprocessItems();\n }\n\n onAfterRendering(): void {\n this._initItemNavigation();\n }\n\n _preprocessItems(): void {\n this.items.forEach(item => {\n item._getRealDomRef = () => this.getDomRef()!.querySelector(`[data-ui5-stable*=${item.stableDomRef}]`)!;\n });\n }\n\n async _getResponsePopover(): Promise<Dropdown> {\n const staticAreaItem = await this.getStaticAreaItemDomRef();\n return staticAreaItem!.querySelector<Dropdown>(`#udex-${this.__id!}-breadcrumbs__popover`)!;\n }\n\n _getFocusableItems(): Array<Link> {\n const items = this._links;\n items.unshift(this._dropdownArrowLink);\n\n return items;\n }\n\n _initItemNavigation(): void {\n if (!this._itemNavigation) {\n this._itemNavigation = new ItemNavigation(this, {\n navigationMode: NavigationMode.Horizontal,\n getItemsCallback: () => this._getFocusableItems(),\n });\n }\n }\n\n _getItems(): Array<UDExBreadcrumbsItem> {\n return this.getSlottedNodes<UDExBreadcrumbsItem>(\"items\");\n }\n\n _closeRespPopover(): void {\n this.responsivePopover && this.responsivePopover.onClose();\n }\n\n async _openRespPopover(): Promise<void> {\n this.responsivePopover = await this._getResponsePopover();\n this.responsivePopover.onOpen(this._dropdownArrowLink);\n }\n\n _onDropdownLinkPress(e: CustomEvent<LinkClickEventDetail>): void {\n const listItem = e.target as HTMLElement,\n items = this._getItems(),\n item = items.find(x => `${x._id}-li` === listItem.id)!;\n\n if (item._isCurrentPageItem) {\n return;\n }\n\n if (this.fireEvent(\"item-click\", { item }, true)) {\n window.open(item.href, item.target || \"_self\", \"noopener,noreferrer\");\n this.responsivePopover!.onClose();\n }\n }\n\n _onLinkPress(e: CustomEvent<LinkClickEventDetail>): void {\n const link = e.target as Link,\n items = this._getItems(),\n item = items.find(x => `${x._id}-link` === link.id)!,\n {\n altKey,\n ctrlKey,\n metaKey,\n shiftKey,\n } = e.detail;\n\n if (!this.fireEvent<UDExBreadcrumbsItemClickEventDetail>(\"item-click\", {\n item,\n altKey,\n ctrlKey,\n metaKey,\n shiftKey,\n }, true)) {\n e.preventDefault();\n }\n }\n\n _isItemVisible(item: UDExBreadcrumbsItem): boolean {\n return !item.hidden;\n }\n\n _afterDropdownOpen(): void {\n this._dropdownOpened = true;\n }\n\n _afterDropdownClose(): void {\n this._dropdownOpened = false;\n if (this._shouldFocusFirstVisibleItem) {\n this._focusFirstVisibleItem();\n }\n }\n\n _toggleDropdown(): void {\n if (this._dropdownOpened) {\n this._closeRespPopover();\n } else {\n this._openRespPopover();\n }\n }\n\n _onfocusin(e: FocusEvent): void {\n const currentItem = e.target as Link;\n\n this._itemNavigation?.setCurrentItem(currentItem);\n }\n\n _handleKeydown(e: KeyboardEvent): void {\n const itemIndex = (e.target as HTMLElement).getAttribute(\"index\");\n const isLastItem = itemIndex === (this.items.length - 2).toString();\n const isFirstItem = itemIndex === \"0\";\n\n if (isTabNext(e) && isLastItem) {\n this._closeRespPopover();\n this._shouldFocusFirstVisibleItem = true;\n }\n\n if (isTabPrevious(e) && isFirstItem) {\n this._closeRespPopover();\n }\n }\n\n _focusFirstVisibleItem(): void {\n Array.from(this.shadowRoot!.querySelectorAll<Link>(\"[udex-link]\"))[0].focus();\n this._shouldFocusFirstVisibleItem = false;\n }\n\n /**\n * Getter for the interactive element that opens the overflow\n * @private\n */\n get _dropdownArrowLink(): Link {\n return this.shadowRoot!.querySelector<Link>(\".udex-breadcrumbs__trigger\")!;\n }\n\n /**\n * Getter for the list of links corresponding to the abstract breadcrumb items\n */\n get _links(): Array<Link> {\n return Array.from(this.shadowRoot!.querySelectorAll<Link>(\".udex-breadcrumbs__link-wrapper [ui5-link]\"));\n }\n\n /**\n * Getter for the list of abstract breadcrumb items to be rendered as links outside the overflow\n */\n get _linksData(): Array<UDExBreadcrumbsItem> {\n const items = this._visibleItems;\n const itemsCount = items.length;\n\n return items\n .map((item, index) => {\n item._isCurrentPageItem = index === (itemsCount - 1);\n return item;\n });\n }\n\n get _visibleItems(): Array<UDExBreadcrumbsItem> {\n const items = this._getItems();\n const itemsLength = this.showItems ?? 0;\n\n return this._getItems()\n .slice(Math.max(items.length - itemsLength - 1, 0))\n .filter(i => this._isItemVisible(i));\n }\n\n get _dropdownItems(): Array<UDExBreadcrumbsItem> {\n return this._getItems().filter(i => this._isItemVisible(i));\n }\n\n get _triggerClass(): string {\n return this._dropdownOpened ? triggerActiveClass : \"\";\n }\n\n get _accessibleNameText(): string {\n return UDExBreadcrumbs.i18nBundle.getText(BREADCRUMBS_ARIA_LABEL);\n }\n\n get _dropdownArrowAccessibleNameText(): string {\n return UDExBreadcrumbs.i18nBundle.getText(BREADCRUMBS_OVERFLOW_ARIA_LABEL);\n }\n}\n\nUDExBreadcrumbs.define();\n\nexport default UDExBreadcrumbs;\n"]}
@@ -34,7 +34,6 @@ UDExBreadcrumbsItem = __decorate([
34
34
  customElement({
35
35
  tag: "udex-breadcrumbs-item",
36
36
  renderer: litRender,
37
- dependencies: [],
38
37
  })
39
38
  ], UDExBreadcrumbsItem);
40
39
  UDExBreadcrumbsItem.define();
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbsItem.js","sourceRoot":"","sources":["../src/BreadcrumbsItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,eAAe,MAAM,4CAA4C,CAAC;AAEzE;;;;;;;;;;;;;;;;GAgBG;AAMH,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,eAAe;CAShD,CAAA;AADG;IADD,QAAQ,EAAE;iDACK;AARZ,mBAAmB;IALxB,aAAa,CAAC;QACb,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,SAAS;QACnB,YAAY,EAAE,EAAE;KACjB,CAAC;GACI,mBAAmB,CASxB;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\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport BreadcrumbsItem from \"@ui5/webcomponents/dist/BreadcrumbsItem.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-breadcrumbs-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/BreadcrumbsItem.js\";</code>\n *\n * @constructor\n * @extends BreadcrumbsItem\n * @public\n */\n@customElement({\n tag: \"udex-breadcrumbs-item\",\n renderer: litRender,\n dependencies: [],\n})\nclass UDExBreadcrumbsItem extends BreadcrumbsItem {\n /**\n * Defines item icon to be displayed before the item name.\n *\n * @default \"\"\n * @public\n */\n @property()\n icon?: string;\n}\n\nUDExBreadcrumbsItem.define();\n\nexport default UDExBreadcrumbsItem;\n"]}
1
+ {"version":3,"file":"BreadcrumbsItem.js","sourceRoot":"","sources":["../src/BreadcrumbsItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,eAAe,MAAM,4CAA4C,CAAC;AAEzE;;;;;;;;;;;;;;;;GAgBG;AAKH,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,eAAe;CAShD,CAAA;AADG;IADD,QAAQ,EAAE;iDACK;AARZ,mBAAmB;IAJxB,aAAa,CAAC;QACb,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,SAAS;KACpB,CAAC;GACI,mBAAmB,CASxB;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\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport BreadcrumbsItem from \"@ui5/webcomponents/dist/BreadcrumbsItem.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-breadcrumbs-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/BreadcrumbsItem.js\";</code>\n *\n * @constructor\n * @extends BreadcrumbsItem\n * @public\n */\n@customElement({\n tag: \"udex-breadcrumbs-item\",\n renderer: litRender,\n})\nclass UDExBreadcrumbsItem extends BreadcrumbsItem {\n /**\n * Defines item icon to be displayed before the item name.\n *\n * @default \"\"\n * @public\n */\n @property()\n icon?: string;\n}\n\nUDExBreadcrumbsItem.define();\n\nexport default UDExBreadcrumbsItem;\n"]}
package/dist/Checkbox.js CHANGED
@@ -36,7 +36,6 @@ UDExCheckbox = __decorate([
36
36
  tag: "udex-checkbox",
37
37
  renderer: litRender,
38
38
  styles: [checkboxCss, CheckboxCss],
39
- dependencies: [CheckBox],
40
39
  })
41
40
  ], UDExCheckbox);
42
41
  UDExCheckbox.define();
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../src/Checkbox.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,QAAQ,MAAM,qCAAqC,CAAC;AAE3D,SAAS;AACT,OAAO,WAAW,MAAM,0DAA0D,CAAC;AACnF,OAAO,WAAW,MAAM,oCAAoC,CAAC;AAE7D;;;;;;;;;;;;;;;;;;GAkBG;AAOH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,QAAQ;CAClC,CAAA;AADK,YAAY;IANjB,aAAa,CAAC;QACb,GAAG,EAAE,eAAe;QACpB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;QAClC,YAAY,EAAE,CAAC,QAAQ,CAAC;KACzB,CAAC;GACI,YAAY,CACjB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport CheckBox from \"@ui5/webcomponents/dist/CheckBox.js\";\n\n// Styles\nimport checkboxCss from \"@ui5/webcomponents/dist/generated/themes/CheckBox.css.js\";\nimport CheckboxCss from \"./generated/themes/Checkbox.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-checkbox</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/Checkbox.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends CheckBox\n * @tagname udex-checkbox\n * @public\n */\n@customElement({\n tag: \"udex-checkbox\",\n renderer: litRender,\n styles: [checkboxCss, CheckboxCss],\n dependencies: [CheckBox],\n})\nclass UDExCheckbox extends CheckBox {\n}\n\nUDExCheckbox.define();\n\nexport default UDExCheckbox;\n"]}
1
+ {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../src/Checkbox.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,QAAQ,MAAM,qCAAqC,CAAC;AAE3D,SAAS;AACT,OAAO,WAAW,MAAM,0DAA0D,CAAC;AACnF,OAAO,WAAW,MAAM,oCAAoC,CAAC;AAE7D;;;;;;;;;;;;;;;;;;GAkBG;AAMH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,QAAQ;CAClC,CAAA;AADK,YAAY;IALjB,aAAa,CAAC;QACb,GAAG,EAAE,eAAe;QACpB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;KACnC,CAAC;GACI,YAAY,CACjB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport CheckBox from \"@ui5/webcomponents/dist/CheckBox.js\";\n\n// Styles\nimport checkboxCss from \"@ui5/webcomponents/dist/generated/themes/CheckBox.css.js\";\nimport CheckboxCss from \"./generated/themes/Checkbox.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-checkbox</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/Checkbox.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends CheckBox\n * @tagname udex-checkbox\n * @public\n */\n@customElement({\n tag: \"udex-checkbox\",\n renderer: litRender,\n styles: [checkboxCss, CheckboxCss],\n})\nclass UDExCheckbox extends CheckBox {\n}\n\nUDExCheckbox.define();\n\nexport default UDExCheckbox;\n"]}