@sapudex/web-components 0.199.3 → 0.224.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 (1298) hide show
  1. package/bundle.esm.js +76 -69
  2. package/cypress/screenshots/AccordionItem.cy.tsx/AccordionItem -- can be clicked via keyboard using Space (failed).png +0 -0
  3. package/dist/Accordion.d.ts +4 -4
  4. package/dist/Accordion.js +12 -28
  5. package/dist/Accordion.js.map +1 -1
  6. package/dist/AccordionItem.d.ts +3 -5
  7. package/dist/AccordionItem.js +19 -51
  8. package/dist/AccordionItem.js.map +1 -1
  9. package/dist/Avatar.d.ts +3 -2
  10. package/dist/Avatar.js +6 -3
  11. package/dist/Avatar.js.map +1 -1
  12. package/dist/AvatarGroup.d.ts +1 -1
  13. package/dist/AvatarGroup.js +1 -1
  14. package/dist/AvatarGroup.js.map +1 -1
  15. package/dist/Badge.d.ts +5 -5
  16. package/dist/Badge.js +8 -8
  17. package/dist/Badge.js.map +1 -1
  18. package/dist/Breadcrumbs.d.ts +1 -1
  19. package/dist/Breadcrumbs.js +18 -2
  20. package/dist/Breadcrumbs.js.map +1 -1
  21. package/dist/BreadcrumbsItem.d.ts +1 -1
  22. package/dist/BreadcrumbsItem.js +1 -1
  23. package/dist/BreadcrumbsItem.js.map +1 -1
  24. package/dist/Carousel.js +1 -1
  25. package/dist/Carousel.js.map +1 -1
  26. package/dist/Checkbox.d.ts +1 -1
  27. package/dist/Checkbox.js +1 -1
  28. package/dist/Checkbox.js.map +1 -1
  29. package/dist/ControlButton.d.ts +1 -1
  30. package/dist/ControlButton.js +1 -1
  31. package/dist/ControlButton.js.map +1 -1
  32. package/dist/CountrySelector.d.ts +4 -5
  33. package/dist/CountrySelector.js +32 -62
  34. package/dist/CountrySelector.js.map +1 -1
  35. package/dist/DatePicker.d.ts +1 -1
  36. package/dist/DatePicker.js +8 -3
  37. package/dist/DatePicker.js.map +1 -1
  38. package/dist/Dropdown.d.ts +1 -1
  39. package/dist/Dropdown.js +2 -2
  40. package/dist/Dropdown.js.map +1 -1
  41. package/dist/FilterMenu.d.ts +1 -1
  42. package/dist/FilterMenu.js +3 -1
  43. package/dist/FilterMenu.js.map +1 -1
  44. package/dist/FilterMenuGroupHeader.d.ts +1 -1
  45. package/dist/FilterMenuGroupHeader.js +1 -1
  46. package/dist/FilterMenuGroupHeader.js.map +1 -1
  47. package/dist/FilterMenuItem.d.ts +1 -1
  48. package/dist/FilterMenuItem.js +1 -1
  49. package/dist/FilterMenuItem.js.map +1 -1
  50. package/dist/FilterMenuSelectAll.d.ts +1 -1
  51. package/dist/FilterMenuSelectAll.js +1 -1
  52. package/dist/FilterMenuSelectAll.js.map +1 -1
  53. package/dist/Footer.d.ts +1 -1
  54. package/dist/Footer.js +4 -3
  55. package/dist/Footer.js.map +1 -1
  56. package/dist/HeroBanner.d.ts +10 -0
  57. package/dist/HeroBanner.js +6 -0
  58. package/dist/HeroBanner.js.map +1 -1
  59. package/dist/InputGroup.d.ts +1 -1
  60. package/dist/InputGroup.js +2 -2
  61. package/dist/InputGroup.js.map +1 -1
  62. package/dist/Link.d.ts +4 -4
  63. package/dist/Link.js +5 -5
  64. package/dist/Link.js.map +1 -1
  65. package/dist/List.d.ts +4 -15
  66. package/dist/List.js +11 -41
  67. package/dist/List.js.map +1 -1
  68. package/dist/ListGroupHeader.d.ts +1 -1
  69. package/dist/ListGroupHeader.js +1 -1
  70. package/dist/ListGroupHeader.js.map +1 -1
  71. package/dist/ListItem.d.ts +23 -10
  72. package/dist/ListItem.js +14 -13
  73. package/dist/ListItem.js.map +1 -1
  74. package/dist/ListSelectAll.d.ts +1 -1
  75. package/dist/ListSelectAll.js +2 -2
  76. package/dist/ListSelectAll.js.map +1 -1
  77. package/dist/MastheadCountrySelector.d.ts +152 -0
  78. package/dist/MastheadCountrySelector.js +367 -0
  79. package/dist/MastheadCountrySelector.js.map +1 -0
  80. package/dist/MastheadItem.d.ts +27 -4
  81. package/dist/MastheadItem.js +32 -14
  82. package/dist/MastheadItem.js.map +1 -1
  83. package/dist/MastheadMenu.d.ts +1 -1
  84. package/dist/MastheadMenu.js +3 -2
  85. package/dist/MastheadMenu.js.map +1 -1
  86. package/dist/MastheadMenuItem.d.ts +19 -1
  87. package/dist/MastheadMenuItem.js +17 -6
  88. package/dist/MastheadMenuItem.js.map +1 -1
  89. package/dist/MastheadMobileMenu.d.ts +10 -6
  90. package/dist/MastheadMobileMenu.js +84 -38
  91. package/dist/MastheadMobileMenu.js.map +1 -1
  92. package/dist/MastheadProfileMenu.d.ts +1 -1
  93. package/dist/MastheadProfileMenu.js +3 -3
  94. package/dist/MastheadProfileMenu.js.map +1 -1
  95. package/dist/MastheadShell.d.ts +38 -9
  96. package/dist/MastheadShell.js +112 -43
  97. package/dist/MastheadShell.js.map +1 -1
  98. package/dist/MediaPlayer.d.ts +3660 -2
  99. package/dist/MediaPlayer.js +9 -3
  100. package/dist/MediaPlayer.js.map +1 -1
  101. package/dist/MediaPlayerVimeo.d.ts +1 -1
  102. package/dist/MediaPlayerVimeo.js +1 -1
  103. package/dist/MediaPlayerVimeo.js.map +1 -1
  104. package/dist/MediaPlayerYoutube.d.ts +1 -1
  105. package/dist/MediaPlayerYoutube.js +1 -1
  106. package/dist/MediaPlayerYoutube.js.map +1 -1
  107. package/dist/MessageStrip.js +1 -1
  108. package/dist/MessageStrip.js.map +1 -1
  109. package/dist/Pagination.js +3 -6
  110. package/dist/Pagination.js.map +1 -1
  111. package/dist/PasswordField.d.ts +1 -1
  112. package/dist/PasswordField.js +2 -2
  113. package/dist/PasswordField.js.map +1 -1
  114. package/dist/PhoneNumberField.d.ts +1 -0
  115. package/dist/PhoneNumberField.js +5 -2
  116. package/dist/PhoneNumberField.js.map +1 -1
  117. package/dist/ProgressBar.d.ts +1 -1
  118. package/dist/ProgressBar.js +1 -1
  119. package/dist/ProgressBar.js.map +1 -1
  120. package/dist/RadioButton.d.ts +1 -1
  121. package/dist/RadioButton.js +1 -1
  122. package/dist/RadioButton.js.map +1 -1
  123. package/dist/RangeSlider.d.ts +1 -1
  124. package/dist/RangeSlider.js +1 -1
  125. package/dist/RangeSlider.js.map +1 -1
  126. package/dist/RatingBar.d.ts +1 -1
  127. package/dist/RatingBar.js +2 -2
  128. package/dist/RatingBar.js.map +1 -1
  129. package/dist/RatingIndicator.d.ts +1 -1
  130. package/dist/RatingIndicator.js +1 -1
  131. package/dist/RatingIndicator.js.map +1 -1
  132. package/dist/Review.d.ts +1 -1
  133. package/dist/Review.js +2 -2
  134. package/dist/Review.js.map +1 -1
  135. package/dist/ReviewItem.d.ts +1 -1
  136. package/dist/ReviewItem.js +2 -2
  137. package/dist/ReviewItem.js.map +1 -1
  138. package/dist/Search.d.ts +9 -2
  139. package/dist/Search.js +33 -10
  140. package/dist/Search.js.map +1 -1
  141. package/dist/SearchableListBase.d.ts +21 -0
  142. package/dist/SearchableListBase.js +12 -2
  143. package/dist/SearchableListBase.js.map +1 -1
  144. package/dist/SecondaryNavigation.d.ts +7 -1
  145. package/dist/SecondaryNavigation.js +5 -2
  146. package/dist/SecondaryNavigation.js.map +1 -1
  147. package/dist/SecondaryNavigationItem.d.ts +12 -1
  148. package/dist/SecondaryNavigationItem.js +33 -6
  149. package/dist/SecondaryNavigationItem.js.map +1 -1
  150. package/dist/SecondaryNavigationItemBase.d.ts +1 -0
  151. package/dist/SecondaryNavigationItemBase.js +3 -0
  152. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  153. package/dist/SecondaryNavigationSubItem.d.ts +1 -8
  154. package/dist/SecondaryNavigationSubItem.js +2 -5
  155. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  156. package/dist/SegmentedButton.d.ts +2 -2
  157. package/dist/SegmentedButton.js +2 -2
  158. package/dist/SegmentedButton.js.map +1 -1
  159. package/dist/SegmentedButtonItem.d.ts +1 -1
  160. package/dist/SegmentedButtonItem.js +1 -1
  161. package/dist/SegmentedButtonItem.js.map +1 -1
  162. package/dist/SelectBox.d.ts +3 -1
  163. package/dist/SelectBox.js +8 -5
  164. package/dist/SelectBox.js.map +1 -1
  165. package/dist/SelectBoxGroupHeader.d.ts +1 -1
  166. package/dist/SelectBoxGroupHeader.js +1 -1
  167. package/dist/SelectBoxGroupHeader.js.map +1 -1
  168. package/dist/SelectBoxItem.d.ts +1 -1
  169. package/dist/SelectBoxItem.js +1 -1
  170. package/dist/SelectBoxItem.js.map +1 -1
  171. package/dist/SelectBoxSelectAll.d.ts +1 -1
  172. package/dist/SelectBoxSelectAll.js +1 -1
  173. package/dist/SelectBoxSelectAll.js.map +1 -1
  174. package/dist/SideNavigation.d.ts +1 -1
  175. package/dist/SideNavigation.js +1 -1
  176. package/dist/SideNavigation.js.map +1 -1
  177. package/dist/SideNavigationGroup.d.ts +1 -1
  178. package/dist/SideNavigationGroup.js +1 -1
  179. package/dist/SideNavigationGroup.js.map +1 -1
  180. package/dist/SideNavigationItem.d.ts +1 -1
  181. package/dist/SideNavigationItem.js +1 -1
  182. package/dist/SideNavigationItem.js.map +1 -1
  183. package/dist/SideNavigationMobile.d.ts +1 -1
  184. package/dist/SideNavigationMobile.js +1 -1
  185. package/dist/SideNavigationMobile.js.map +1 -1
  186. package/dist/SideNavigationSubItem.d.ts +1 -1
  187. package/dist/SideNavigationSubItem.js +1 -1
  188. package/dist/SideNavigationSubItem.js.map +1 -1
  189. package/dist/Slider.d.ts +1 -1
  190. package/dist/Slider.js +1 -1
  191. package/dist/Slider.js.map +1 -1
  192. package/dist/StatusBadge.d.ts +1 -1
  193. package/dist/StatusBadge.js +2 -2
  194. package/dist/StatusBadge.js.map +1 -1
  195. package/dist/StatusMessage.d.ts +1 -1
  196. package/dist/StatusMessage.js +1 -1
  197. package/dist/StatusMessage.js.map +1 -1
  198. package/dist/StepInput.d.ts +2 -4
  199. package/dist/StepInput.js +11 -15
  200. package/dist/StepInput.js.map +1 -1
  201. package/dist/Switch.d.ts +1 -1
  202. package/dist/Switch.js +1 -1
  203. package/dist/Switch.js.map +1 -1
  204. package/dist/Tab.d.ts +1 -1
  205. package/dist/Tab.js +2 -2
  206. package/dist/Tab.js.map +1 -1
  207. package/dist/TabNavigation.d.ts +1 -1
  208. package/dist/TabNavigation.js +2 -2
  209. package/dist/TabNavigation.js.map +1 -1
  210. package/dist/Table.d.ts +1 -1
  211. package/dist/Table.js +2 -2
  212. package/dist/Table.js.map +1 -1
  213. package/dist/TableCell.d.ts +1 -1
  214. package/dist/TableCell.js +1 -1
  215. package/dist/TableCell.js.map +1 -1
  216. package/dist/TableGroupRow.d.ts +1 -1
  217. package/dist/TableGroupRow.js +1 -1
  218. package/dist/TableGroupRow.js.map +1 -1
  219. package/dist/TableHeaderCell.d.ts +1 -1
  220. package/dist/TableHeaderCell.js +1 -1
  221. package/dist/TableHeaderCell.js.map +1 -1
  222. package/dist/TableHeaderRow.d.ts +1 -1
  223. package/dist/TableHeaderRow.js +1 -1
  224. package/dist/TableHeaderRow.js.map +1 -1
  225. package/dist/TableRow.d.ts +1 -1
  226. package/dist/TableRow.js +1 -1
  227. package/dist/TableRow.js.map +1 -1
  228. package/dist/Tag.d.ts +6 -1
  229. package/dist/Tag.js +18 -1
  230. package/dist/Tag.js.map +1 -1
  231. package/dist/TagGroup.d.ts +1 -1
  232. package/dist/TagGroup.js +1 -1
  233. package/dist/TagGroup.js.map +1 -1
  234. package/dist/TextArea.js +1 -1
  235. package/dist/TextArea.js.map +1 -1
  236. package/dist/TextField.d.ts +1 -1
  237. package/dist/TextField.js +6 -13
  238. package/dist/TextField.js.map +1 -1
  239. package/dist/Toast.d.ts +1 -1
  240. package/dist/Toast.js +1 -1
  241. package/dist/Toast.js.map +1 -1
  242. package/dist/Tooltip.d.ts +1 -1
  243. package/dist/Tooltip.js +1 -1
  244. package/dist/Tooltip.js.map +1 -1
  245. package/dist/TruncatedText.js +1 -1
  246. package/dist/TruncatedText.js.map +1 -1
  247. package/dist/Upload.d.ts +7 -2
  248. package/dist/Upload.js +76 -9
  249. package/dist/Upload.js.map +1 -1
  250. package/dist/UploadItem.d.ts +1 -1
  251. package/dist/UploadItem.js +2 -2
  252. package/dist/UploadItem.js.map +1 -1
  253. package/dist/Wizard.d.ts +1 -1
  254. package/dist/Wizard.js +1 -1
  255. package/dist/Wizard.js.map +1 -1
  256. package/dist/WizardStep.d.ts +1 -1
  257. package/dist/WizardStep.js +1 -1
  258. package/dist/WizardStep.js.map +1 -1
  259. package/dist/WizardTab.d.ts +1 -1
  260. package/dist/WizardTab.js +1 -1
  261. package/dist/WizardTab.js.map +1 -1
  262. package/dist/assets/ar-4a3e3814.js +1 -0
  263. package/dist/assets/az-1a5c38dc.js +1 -0
  264. package/dist/assets/ba-578f2c35.js +1 -0
  265. package/dist/assets/bg-23e26fa4.js +1 -0
  266. package/dist/assets/bn-ecf46fc9.js +1 -0
  267. package/dist/assets/bundle.esm-fe0b0d94.js +330 -0
  268. package/dist/assets/ca-792d0c23.js +1 -0
  269. package/dist/assets/cs-6fb6c274.js +1 -0
  270. package/dist/assets/cy-f6e8dafd.js +1 -0
  271. package/dist/assets/da-89990885.js +1 -0
  272. package/dist/assets/de-32104d6f.js +1 -0
  273. package/dist/assets/el-cfd6e74d.js +1 -0
  274. package/dist/assets/en-111ebeca.js +1 -0
  275. package/dist/assets/en-GB-d734c02c.js +1 -0
  276. package/dist/assets/es-611df0dc.js +1 -0
  277. package/dist/assets/et-9ece8307.js +1 -0
  278. package/dist/assets/eu-49fabb60.js +1 -0
  279. package/dist/assets/fa-b37ac7ef.js +1 -0
  280. package/dist/assets/fi-7ec80e73.js +1 -0
  281. package/dist/assets/fr-ee18d408.js +1 -0
  282. package/dist/assets/gd-b81ebaf0.js +1 -0
  283. package/dist/assets/gl-e4ba9f11.js +1 -0
  284. package/dist/assets/he-3161ae46.js +1 -0
  285. package/dist/assets/hi-90e040fd.js +1 -0
  286. package/dist/assets/hr-578f2c35.js +1 -0
  287. package/dist/assets/hu-42b8fcee.js +1 -0
  288. package/dist/assets/it-b051329d.js +1 -0
  289. package/dist/assets/ja-8cc903fb.js +1 -0
  290. package/dist/assets/ko-b85d1cca.js +1 -0
  291. package/dist/assets/lv-7a47d532.js +1 -0
  292. package/dist/assets/messagebundle_en-d1666c5e.js +1 -0
  293. package/dist/assets/mr-9563c6ee.js +1 -0
  294. package/dist/assets/nb-367efd73.js +1 -0
  295. package/dist/assets/nl-7501cf03.js +1 -0
  296. package/dist/assets/nn-7a32f39e.js +1 -0
  297. package/dist/assets/np-2442ddf5.js +1 -0
  298. package/dist/assets/oc-892205fc.js +1 -0
  299. package/dist/assets/parameters-bundle.css-165a1208.js +2 -0
  300. package/dist/assets/parameters-bundle.css-3c706630.js +2 -0
  301. package/dist/assets/parameters-bundle.css-3ea1926f.js +2 -0
  302. package/dist/assets/parameters-bundle.css-47cbf095.js +2 -0
  303. package/dist/assets/parameters-bundle.css-6eda420e.js +2 -0
  304. package/dist/assets/parameters-bundle.css-9905f744.js +2 -0
  305. package/dist/assets/parameters-bundle.css-9e6d1c8d.js +2 -0
  306. package/dist/assets/parameters-bundle.css-b1ba75bd.js +2 -0
  307. package/dist/assets/parameters-bundle.css-b6cfd976.js +2 -0
  308. package/dist/assets/parameters-bundle.css-bd30ac58.js +2 -0
  309. package/dist/assets/parameters-bundle.css-d38a0009.js +2 -0
  310. package/dist/assets/parameters-bundle.css-e591d3a4.js +2 -0
  311. package/dist/assets/pl-c9e6f97c.js +1 -0
  312. package/dist/assets/pt-BR-0cdaa4c2.js +1 -0
  313. package/dist/assets/pt-PT-3b56b10d.js +1 -0
  314. package/dist/assets/ro-27af0bfa.js +1 -0
  315. package/dist/assets/ru-7991b04b.js +1 -0
  316. package/dist/assets/sk-c31445bf.js +1 -0
  317. package/dist/assets/sl-44a6af7b.js +1 -0
  318. package/dist/assets/sr-ec351a65.js +1 -0
  319. package/dist/assets/sv-1176d505.js +1 -0
  320. package/dist/assets/te-78496f2d.js +1 -0
  321. package/dist/assets/th-357add84.js +1 -0
  322. package/dist/assets/tr-e9ba09b2.js +1 -0
  323. package/dist/assets/uk-82e5b14a.js +1 -0
  324. package/dist/assets/vi-8fa3e4db.js +1 -0
  325. package/dist/assets/zh-CN-56d8e9a8.js +1 -0
  326. package/dist/assets/zh-Hans-7eba8277.js +1 -0
  327. package/dist/assets/zh-Hant-c17e8907.js +1 -0
  328. package/dist/assets/zh-TW-52a9fefa.js +1 -0
  329. package/dist/css/themes/Accordion.css +1 -1
  330. package/dist/css/themes/AccordionItem.css +1 -1
  331. package/dist/css/themes/Avatar.css +1 -1
  332. package/dist/css/themes/Badge.css +1 -1
  333. package/dist/css/themes/Breadcrumbs.css +1 -1
  334. package/dist/css/themes/Button.css +1 -1
  335. package/dist/css/themes/Checkbox.css +1 -1
  336. package/dist/css/themes/ControlButton.css +1 -1
  337. package/dist/css/themes/Footer.css +1 -1
  338. package/dist/css/themes/Link.css +1 -1
  339. package/dist/css/themes/MastheadCountrySelector.css +1 -0
  340. package/dist/css/themes/MastheadItem.css +1 -1
  341. package/dist/css/themes/MastheadMenu.css +1 -1
  342. package/dist/css/themes/MastheadMenuItem.css +1 -1
  343. package/dist/css/themes/MastheadMobileMenu.css +1 -1
  344. package/dist/css/themes/MastheadShell.css +1 -1
  345. package/dist/css/themes/MediaPlayer.css +1 -1
  346. package/dist/css/themes/PhoneNumberField.css +1 -1
  347. package/dist/css/themes/ProgressBar.css +1 -1
  348. package/dist/css/themes/RatingIndicator.css +1 -1
  349. package/dist/css/themes/Search.css +1 -1
  350. package/dist/css/themes/SearchSuggestions.css +1 -1
  351. package/dist/css/themes/SearchableList.css +1 -1
  352. package/dist/css/themes/SecondaryNavigation.css +1 -1
  353. package/dist/css/themes/SecondaryNavigationItem.css +1 -1
  354. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  355. package/dist/css/themes/SelectBox.css +1 -1
  356. package/dist/css/themes/Slider.css +1 -1
  357. package/dist/css/themes/Tag.css +1 -1
  358. package/dist/css/themes/Tile.css +1 -1
  359. package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
  360. package/dist/custom-elements-internal.json +888 -164
  361. package/dist/custom-elements.json +830 -162
  362. package/dist/features/SearchSuggestionsPopover.d.ts +3 -16
  363. package/dist/features/SearchSuggestionsPopover.js +9 -44
  364. package/dist/features/SearchSuggestionsPopover.js.map +1 -1
  365. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  366. package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +1 -1
  367. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  368. package/dist/generated/i18n/i18n-defaults.js +2 -1
  369. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  370. package/dist/generated/templates/AccordionItemTemplate.lit.js +2 -2
  371. package/dist/generated/templates/AccordionItemTemplate.lit.js.map +1 -1
  372. package/dist/generated/templates/AccordionTemplate.lit.js +1 -1
  373. package/dist/generated/templates/AccordionTemplate.lit.js.map +1 -1
  374. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +1 -1
  375. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +1 -1
  376. package/dist/generated/templates/CarouselTemplate.lit.js +3 -3
  377. package/dist/generated/templates/CarouselTemplate.lit.js.map +1 -1
  378. package/dist/generated/templates/CountrySelectorTemplate.lit.js +1 -1
  379. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  380. package/dist/generated/templates/DropdownTemplate.lit.js +1 -1
  381. package/dist/generated/templates/DropdownTemplate.lit.js.map +1 -1
  382. package/dist/generated/templates/FooterTemplate.lit.js +1 -1
  383. package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
  384. package/dist/generated/templates/HeroBannerTemplate.lit.js +2 -2
  385. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  386. package/dist/generated/templates/LinkTemplate.lit.js +1 -1
  387. package/dist/generated/templates/LinkTemplate.lit.js.map +1 -1
  388. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js +1 -1
  389. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js.map +1 -1
  390. package/dist/generated/templates/ListItemTemplate.lit.js +19 -15
  391. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  392. package/{config/dist/generated/templates/DropdownListGroupHeaderTemplate.lit.d.ts → dist/generated/templates/MastheadCountrySelectorTemplate.lit.d.ts} +2 -2
  393. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +10 -0
  394. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +1 -0
  395. package/dist/generated/templates/MastheadItemTemplate.lit.js +23 -17
  396. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  397. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +7 -7
  398. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
  399. package/dist/generated/templates/MastheadMenuTemplate.lit.js +3 -1
  400. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  401. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +6 -5
  402. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  403. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +2 -2
  404. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
  405. package/dist/generated/templates/MastheadShellTemplate.lit.js +5 -4
  406. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  407. package/dist/generated/templates/MediaPlayerTemplate.lit.js +4 -4
  408. package/dist/generated/templates/MediaPlayerTemplate.lit.js.map +1 -1
  409. package/dist/generated/templates/MessageStripTemplate.lit.js +1 -1
  410. package/dist/generated/templates/MessageStripTemplate.lit.js.map +1 -1
  411. package/dist/generated/templates/PasswordFieldTemplate.lit.js +1 -1
  412. package/dist/generated/templates/PasswordFieldTemplate.lit.js.map +1 -1
  413. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +2 -2
  414. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  415. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js +3 -3
  416. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +1 -1
  417. package/dist/generated/templates/SearchTemplate.lit.js +11 -9
  418. package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
  419. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +10 -8
  420. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  421. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +2 -2
  422. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
  423. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +2 -2
  424. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +1 -1
  425. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +1 -1
  426. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  427. package/dist/generated/templates/SelectBoxTemplate.lit.js +2 -2
  428. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  429. package/dist/generated/templates/StepInputTemplate.lit.js +1 -1
  430. package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -1
  431. package/dist/generated/templates/TextFieldTemplate.lit.js +2 -2
  432. package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
  433. package/dist/generated/templates/TileTemplate.lit.js +3 -3
  434. package/dist/generated/templates/TileTemplate.lit.js.map +1 -1
  435. package/dist/generated/templates/ToastTemplate.lit.js +1 -1
  436. package/dist/generated/templates/ToastTemplate.lit.js.map +1 -1
  437. package/dist/generated/templates/TooltipTemplate.lit.js +1 -1
  438. package/dist/generated/templates/TooltipTemplate.lit.js.map +1 -1
  439. package/dist/generated/templates/WizardTemplate.lit.js +1 -1
  440. package/dist/generated/templates/WizardTemplate.lit.js.map +1 -1
  441. package/dist/generated/themes/Accordion.css.js +1 -1
  442. package/dist/generated/themes/Accordion.css.js.map +1 -1
  443. package/dist/generated/themes/AccordionItem.css.js +1 -1
  444. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  445. package/dist/generated/themes/Avatar.css.js +1 -1
  446. package/dist/generated/themes/Avatar.css.js.map +1 -1
  447. package/dist/generated/themes/Badge.css.js +1 -1
  448. package/dist/generated/themes/Badge.css.js.map +1 -1
  449. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  450. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  451. package/dist/generated/themes/Button.css.js +1 -1
  452. package/dist/generated/themes/Button.css.js.map +1 -1
  453. package/dist/generated/themes/Checkbox.css.js +1 -1
  454. package/dist/generated/themes/Checkbox.css.js.map +1 -1
  455. package/dist/generated/themes/ControlButton.css.js +1 -1
  456. package/dist/generated/themes/ControlButton.css.js.map +1 -1
  457. package/dist/generated/themes/Footer.css.js +1 -1
  458. package/dist/generated/themes/Footer.css.js.map +1 -1
  459. package/dist/generated/themes/Link.css.js +1 -1
  460. package/dist/generated/themes/Link.css.js.map +1 -1
  461. package/dist/generated/themes/MastheadCountrySelector.css.js +9 -0
  462. package/dist/generated/themes/MastheadCountrySelector.css.js.map +1 -0
  463. package/dist/generated/themes/MastheadItem.css.js +1 -1
  464. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  465. package/dist/generated/themes/MastheadMenu.css.js +1 -1
  466. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  467. package/dist/generated/themes/MastheadMenuItem.css.js +1 -1
  468. package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
  469. package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
  470. package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
  471. package/dist/generated/themes/MastheadShell.css.js +1 -1
  472. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  473. package/dist/generated/themes/MediaPlayer.css.js +1 -1
  474. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  475. package/dist/generated/themes/PhoneNumberField.css.js +1 -1
  476. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  477. package/dist/generated/themes/ProgressBar.css.js +1 -1
  478. package/dist/generated/themes/ProgressBar.css.js.map +1 -1
  479. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  480. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  481. package/dist/generated/themes/Search.css.js +1 -1
  482. package/dist/generated/themes/Search.css.js.map +1 -1
  483. package/dist/generated/themes/SearchSuggestions.css.js +1 -1
  484. package/dist/generated/themes/SearchSuggestions.css.js.map +1 -1
  485. package/dist/generated/themes/SearchableList.css.js +1 -1
  486. package/dist/generated/themes/SearchableList.css.js.map +1 -1
  487. package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
  488. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  489. package/dist/generated/themes/SecondaryNavigationItem.css.js +1 -1
  490. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
  491. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  492. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  493. package/dist/generated/themes/SelectBox.css.js +1 -1
  494. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  495. package/dist/generated/themes/Slider.css.js +1 -1
  496. package/dist/generated/themes/Slider.css.js.map +1 -1
  497. package/dist/generated/themes/Tag.css.js +1 -1
  498. package/dist/generated/themes/Tag.css.js.map +1 -1
  499. package/dist/generated/themes/Tile.css.js +1 -1
  500. package/dist/generated/themes/Tile.css.js.map +1 -1
  501. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +1 -1
  502. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +1 -1
  503. package/dist/i18n/messagebundle.properties +3 -0
  504. package/dist/i18n/messagebundle_en.properties +1 -0
  505. package/dist/mediaPlayerLanguageMapping.d.ts +3506 -0
  506. package/dist/mediaPlayerLanguageMapping.js +114 -0
  507. package/dist/mediaPlayerLanguageMapping.js.map +1 -0
  508. package/dist/types/BadgeDesign.js +1 -1
  509. package/dist/types/BadgeDesign.js.map +1 -1
  510. package/dist/types/List.d.ts +0 -8
  511. package/dist/types/List.js.map +1 -1
  512. package/dist/utils/ListWithFirstLetterFocus.d.ts +21 -0
  513. package/dist/utils/ListWithFirstLetterFocus.js +46 -0
  514. package/dist/utils/ListWithFirstLetterFocus.js.map +1 -0
  515. package/dist/utils/parseRelativeUnits.d.ts +4 -0
  516. package/dist/utils/parseRelativeUnits.js +26 -0
  517. package/dist/utils/parseRelativeUnits.js.map +1 -0
  518. package/dist/vscode.html-custom-data.json +208 -91
  519. package/dist/web-types.json +391 -124
  520. package/package.json +8 -8
  521. package/src/Accordion.hbs +20 -23
  522. package/src/Accordion.ts +18 -36
  523. package/src/AccordionItem.hbs +35 -32
  524. package/src/AccordionItem.ts +19 -58
  525. package/src/Avatar.ts +7 -3
  526. package/src/AvatarGroup.ts +1 -1
  527. package/src/Badge.ts +8 -8
  528. package/src/Breadcrumbs.ts +19 -2
  529. package/src/BreadcrumbsItem.ts +1 -1
  530. package/src/BreadcrumbsPopover.hbs +1 -1
  531. package/src/Carousel.hbs +8 -8
  532. package/src/Carousel.ts +1 -1
  533. package/src/Checkbox.ts +1 -1
  534. package/src/ControlButton.ts +1 -1
  535. package/src/CountrySelector.hbs +1 -2
  536. package/src/CountrySelector.ts +13 -47
  537. package/src/DatePicker.ts +7 -3
  538. package/src/Dropdown.hbs +4 -4
  539. package/src/Dropdown.ts +2 -2
  540. package/src/FilterMenu.ts +3 -1
  541. package/src/FilterMenuGroupHeader.ts +1 -1
  542. package/src/FilterMenuItem.ts +1 -1
  543. package/src/FilterMenuSelectAll.ts +1 -1
  544. package/src/Footer.hbs +6 -2
  545. package/src/Footer.ts +4 -3
  546. package/src/HeroBanner.hbs +4 -4
  547. package/src/HeroBanner.ts +19 -4
  548. package/src/InputGroup.ts +2 -2
  549. package/src/Link.hbs +7 -7
  550. package/src/Link.ts +7 -7
  551. package/src/List.ts +10 -56
  552. package/src/ListGroupHeader.hbs +1 -0
  553. package/src/ListGroupHeader.ts +1 -1
  554. package/src/ListItem.hbs +4 -0
  555. package/src/ListItem.ts +29 -22
  556. package/src/ListSelectAll.ts +2 -2
  557. package/src/MastheadCountrySelector.hbs +67 -0
  558. package/src/MastheadCountrySelector.ts +500 -0
  559. package/src/MastheadItem.hbs +18 -15
  560. package/src/MastheadItem.ts +55 -17
  561. package/src/MastheadMenu.hbs +11 -7
  562. package/src/MastheadMenu.ts +3 -2
  563. package/src/MastheadMenuItem.hbs +13 -10
  564. package/src/MastheadMenuItem.ts +33 -7
  565. package/src/MastheadMobileMenu.hbs +16 -11
  566. package/src/MastheadMobileMenu.ts +98 -41
  567. package/src/MastheadProfileMenu.hbs +2 -2
  568. package/src/MastheadProfileMenu.ts +3 -3
  569. package/src/MastheadShell.hbs +12 -3
  570. package/src/MastheadShell.ts +136 -51
  571. package/src/MediaPlayer.hbs +35 -29
  572. package/src/MediaPlayer.ts +9 -3
  573. package/src/MediaPlayerVimeo.ts +1 -1
  574. package/src/MediaPlayerYoutube.ts +1 -1
  575. package/src/MessageStrip.hbs +1 -1
  576. package/src/MessageStrip.ts +1 -1
  577. package/src/Pagination.ts +4 -8
  578. package/src/PasswordField.hbs +2 -2
  579. package/src/PasswordField.ts +2 -2
  580. package/src/PhoneNumberField.hbs +2 -1
  581. package/src/PhoneNumberField.ts +6 -2
  582. package/src/ProgressBar.ts +1 -1
  583. package/src/RadioButton.ts +1 -1
  584. package/src/RangeSlider.ts +1 -1
  585. package/src/RatingBar.ts +2 -2
  586. package/src/RatingIndicator.ts +1 -1
  587. package/src/Review.ts +2 -2
  588. package/src/ReviewItem.ts +2 -2
  589. package/src/Search.hbs +52 -20
  590. package/src/Search.ts +41 -10
  591. package/src/SearchSuggestions.hbs +3 -0
  592. package/src/SearchableListBase.hbs +7 -0
  593. package/src/SearchableListBase.ts +30 -2
  594. package/src/SecondaryNavigation.hbs +1 -0
  595. package/src/SecondaryNavigation.ts +9 -2
  596. package/src/SecondaryNavigationItem.hbs +2 -1
  597. package/src/SecondaryNavigationItem.ts +44 -6
  598. package/src/SecondaryNavigationItemBase.ts +4 -0
  599. package/src/SecondaryNavigationSubItem.hbs +4 -2
  600. package/src/SecondaryNavigationSubItem.ts +2 -11
  601. package/src/SegmentedButton.ts +2 -2
  602. package/src/SegmentedButtonItem.ts +1 -1
  603. package/src/SelectBox.hbs +20 -15
  604. package/src/SelectBox.ts +8 -6
  605. package/src/SelectBoxGroupHeader.ts +1 -1
  606. package/src/SelectBoxItem.ts +1 -1
  607. package/src/SelectBoxSelectAll.ts +1 -1
  608. package/src/SideNavigation.ts +1 -1
  609. package/src/SideNavigationGroup.ts +1 -1
  610. package/src/SideNavigationItem.ts +1 -1
  611. package/src/SideNavigationMobile.ts +1 -1
  612. package/src/SideNavigationSubItem.ts +1 -1
  613. package/src/Slider.ts +1 -1
  614. package/src/StatusBadge.ts +2 -2
  615. package/src/StatusMessage.ts +1 -1
  616. package/src/StepInput.hbs +1 -1
  617. package/src/StepInput.ts +13 -20
  618. package/src/Switch.ts +1 -1
  619. package/src/Tab.ts +2 -2
  620. package/src/TabNavigation.ts +2 -2
  621. package/src/Table.ts +2 -2
  622. package/src/TableCell.ts +1 -1
  623. package/src/TableGroupRow.ts +1 -1
  624. package/src/TableHeaderCell.ts +1 -1
  625. package/src/TableHeaderRow.ts +1 -1
  626. package/src/TableRow.ts +1 -1
  627. package/src/Tag.ts +22 -1
  628. package/src/TagGroup.ts +1 -1
  629. package/src/TextArea.ts +1 -1
  630. package/src/TextField.hbs +2 -2
  631. package/src/TextField.ts +7 -13
  632. package/src/Tile.hbs +7 -5
  633. package/src/Toast.hbs +1 -1
  634. package/src/Toast.ts +1 -1
  635. package/src/Tooltip.hbs +3 -3
  636. package/src/Tooltip.ts +1 -1
  637. package/src/TruncatedText.ts +1 -1
  638. package/src/Upload.ts +92 -11
  639. package/src/UploadItem.ts +2 -2
  640. package/src/Wizard.hbs +1 -1
  641. package/src/Wizard.ts +1 -1
  642. package/src/WizardStep.ts +1 -1
  643. package/src/WizardTab.ts +1 -1
  644. package/src/features/SearchSuggestionsPopover.ts +10 -62
  645. package/src/generated/i18n/i18n-defaults.ts +2 -2
  646. package/src/generated/templates/AccordionItemTemplate.lit.ts +2 -2
  647. package/src/generated/templates/AccordionTemplate.lit.ts +1 -1
  648. package/src/generated/templates/BreadcrumbsPopoverTemplate.lit.ts +1 -1
  649. package/src/generated/templates/CarouselTemplate.lit.ts +3 -3
  650. package/src/generated/templates/CountrySelectorTemplate.lit.ts +1 -1
  651. package/src/generated/templates/DropdownTemplate.lit.ts +1 -1
  652. package/src/generated/templates/FooterTemplate.lit.ts +1 -1
  653. package/src/generated/templates/HeroBannerTemplate.lit.ts +2 -2
  654. package/src/generated/templates/LinkTemplate.lit.ts +1 -1
  655. package/src/generated/templates/ListGroupHeaderTemplate.lit.ts +1 -1
  656. package/src/generated/templates/ListItemTemplate.lit.ts +19 -15
  657. package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +15 -0
  658. package/src/generated/templates/MastheadItemTemplate.lit.ts +23 -17
  659. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +7 -7
  660. package/src/generated/templates/MastheadMenuTemplate.lit.ts +3 -1
  661. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +6 -5
  662. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +2 -2
  663. package/src/generated/templates/MastheadShellTemplate.lit.ts +5 -4
  664. package/src/generated/templates/MediaPlayerTemplate.lit.ts +4 -4
  665. package/src/generated/templates/MessageStripTemplate.lit.ts +1 -1
  666. package/src/generated/templates/PasswordFieldTemplate.lit.ts +1 -1
  667. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +2 -2
  668. package/src/generated/templates/SearchSuggestionsTemplate.lit.ts +3 -3
  669. package/src/generated/templates/SearchTemplate.lit.ts +11 -9
  670. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +10 -8
  671. package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +2 -2
  672. package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +2 -2
  673. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +1 -1
  674. package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
  675. package/src/generated/templates/StepInputTemplate.lit.ts +1 -1
  676. package/src/generated/templates/TextFieldTemplate.lit.ts +2 -2
  677. package/src/generated/templates/TileTemplate.lit.ts +3 -3
  678. package/src/generated/templates/ToastTemplate.lit.ts +1 -1
  679. package/src/generated/templates/TooltipTemplate.lit.ts +1 -1
  680. package/src/generated/templates/WizardTemplate.lit.ts +1 -1
  681. package/src/generated/themes/Accordion.css.ts +1 -1
  682. package/src/generated/themes/AccordionItem.css.ts +1 -1
  683. package/src/generated/themes/Avatar.css.ts +1 -1
  684. package/src/generated/themes/Badge.css.ts +1 -1
  685. package/src/generated/themes/Breadcrumbs.css.ts +1 -1
  686. package/src/generated/themes/Button.css.ts +1 -1
  687. package/src/generated/themes/Checkbox.css.ts +1 -1
  688. package/src/generated/themes/ControlButton.css.ts +1 -1
  689. package/src/generated/themes/Footer.css.ts +1 -1
  690. package/src/generated/themes/Link.css.ts +1 -1
  691. package/src/generated/themes/MastheadCountrySelector.css.ts +13 -0
  692. package/src/generated/themes/MastheadItem.css.ts +1 -1
  693. package/src/generated/themes/MastheadMenu.css.ts +1 -1
  694. package/src/generated/themes/MastheadMenuItem.css.ts +1 -1
  695. package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
  696. package/src/generated/themes/MastheadShell.css.ts +1 -1
  697. package/src/generated/themes/MediaPlayer.css.ts +1 -1
  698. package/src/generated/themes/PhoneNumberField.css.ts +1 -1
  699. package/src/generated/themes/ProgressBar.css.ts +1 -1
  700. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  701. package/src/generated/themes/Search.css.ts +1 -1
  702. package/src/generated/themes/SearchSuggestions.css.ts +1 -1
  703. package/src/generated/themes/SearchableList.css.ts +1 -1
  704. package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
  705. package/src/generated/themes/SecondaryNavigationItem.css.ts +1 -1
  706. package/src/generated/themes/SegmentedButtonItem.css.ts +1 -1
  707. package/src/generated/themes/SelectBox.css.ts +1 -1
  708. package/src/generated/themes/Slider.css.ts +1 -1
  709. package/src/generated/themes/Tag.css.ts +1 -1
  710. package/src/generated/themes/Tile.css.ts +1 -1
  711. package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
  712. package/src/i18n/messagebundle.properties +3 -0
  713. package/src/i18n/messagebundle_en.properties +1 -0
  714. package/src/mediaPlayerLanguageMapping.ts +114 -0
  715. package/src/themes/Accordion.css +0 -6
  716. package/src/themes/AccordionItem.css +17 -10
  717. package/src/themes/Avatar.css +9 -1
  718. package/src/themes/Badge.css +14 -14
  719. package/src/themes/Breadcrumbs.css +1 -1
  720. package/src/themes/Button.css +16 -17
  721. package/src/themes/Checkbox.css +16 -10
  722. package/src/themes/ControlButton.css +20 -8
  723. package/src/themes/Footer.css +25 -23
  724. package/src/themes/Link.css +29 -6
  725. package/src/themes/MastheadCountrySelector.css +110 -0
  726. package/src/themes/MastheadItem.css +45 -24
  727. package/src/themes/MastheadMenu.css +6 -0
  728. package/src/themes/MastheadMenuItem.css +5 -4
  729. package/src/themes/MastheadMobileMenu.css +3 -1
  730. package/src/themes/MastheadShell.css +5 -9
  731. package/src/themes/MediaPlayer.css +42 -2
  732. package/src/themes/PhoneNumberField.css +7 -4
  733. package/src/themes/ProgressBar.css +5 -4
  734. package/src/themes/Search.css +46 -27
  735. package/src/themes/SearchSuggestions.css +3 -6
  736. package/src/themes/SearchableList.css +10 -0
  737. package/src/themes/SecondaryNavigation.css +5 -1
  738. package/src/themes/SecondaryNavigationItem.css +6 -1
  739. package/src/themes/SegmentedButtonItem.css +10 -2
  740. package/src/themes/SelectBox.css +28 -8
  741. package/src/themes/Tag.css +4 -2
  742. package/src/themes/Tile.css +4 -0
  743. package/src/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +3 -8
  744. package/src/types/BadgeDesign.ts +1 -1
  745. package/src/types/List.ts +0 -9
  746. package/src/utils/ListWithFirstLetterFocus.ts +66 -0
  747. package/src/utils/parseRelativeUnits.ts +32 -0
  748. package/config/dist/Accordion.d.ts +0 -76
  749. package/config/dist/Accordion.js +0 -179
  750. package/config/dist/Accordion.js.map +0 -1
  751. package/config/dist/AccordionItem.d.ts +0 -72
  752. package/config/dist/AccordionItem.js +0 -146
  753. package/config/dist/AccordionItem.js.map +0 -1
  754. package/config/dist/Assets.d.ts +0 -3
  755. package/config/dist/Assets.js +0 -10
  756. package/config/dist/Assets.js.map +0 -1
  757. package/config/dist/Avatar.d.ts +0 -128
  758. package/config/dist/Avatar.js +0 -118
  759. package/config/dist/Avatar.js.map +0 -1
  760. package/config/dist/Badge.d.ts +0 -78
  761. package/config/dist/Badge.js +0 -103
  762. package/config/dist/Badge.js.map +0 -1
  763. package/config/dist/Breadcrumbs.d.ts +0 -97
  764. package/config/dist/Breadcrumbs.js +0 -240
  765. package/config/dist/Breadcrumbs.js.map +0 -1
  766. package/config/dist/BreadcrumbsItem.d.ts +0 -28
  767. package/config/dist/BreadcrumbsItem.js +0 -42
  768. package/config/dist/BreadcrumbsItem.js.map +0 -1
  769. package/config/dist/Button.d.ts +0 -133
  770. package/config/dist/Button.js +0 -99
  771. package/config/dist/Button.js.map +0 -1
  772. package/config/dist/Calendar.d.ts +0 -21
  773. package/config/dist/Calendar.js +0 -42
  774. package/config/dist/Calendar.js.map +0 -1
  775. package/config/dist/Carousel.d.ts +0 -76
  776. package/config/dist/Carousel.js +0 -125
  777. package/config/dist/Carousel.js.map +0 -1
  778. package/config/dist/Checkbox.d.ts +0 -24
  779. package/config/dist/Checkbox.js +0 -45
  780. package/config/dist/Checkbox.js.map +0 -1
  781. package/config/dist/DatePicker.d.ts +0 -123
  782. package/config/dist/DatePicker.js +0 -175
  783. package/config/dist/DatePicker.js.map +0 -1
  784. package/config/dist/Divider.d.ts +0 -17
  785. package/config/dist/Divider.js +0 -39
  786. package/config/dist/Divider.js.map +0 -1
  787. package/config/dist/Dropdown.d.ts +0 -125
  788. package/config/dist/Dropdown.js +0 -201
  789. package/config/dist/Dropdown.js.map +0 -1
  790. package/config/dist/DropdownGroupHeaderBase.d.ts +0 -33
  791. package/config/dist/DropdownGroupHeaderBase.js +0 -133
  792. package/config/dist/DropdownGroupHeaderBase.js.map +0 -1
  793. package/config/dist/DropdownList.d.ts +0 -127
  794. package/config/dist/DropdownList.js +0 -243
  795. package/config/dist/DropdownList.js.map +0 -1
  796. package/config/dist/DropdownListGroupHeader.d.ts +0 -49
  797. package/config/dist/DropdownListGroupHeader.js +0 -97
  798. package/config/dist/DropdownListGroupHeader.js.map +0 -1
  799. package/config/dist/DropdownListItem.d.ts +0 -68
  800. package/config/dist/DropdownListItem.js +0 -176
  801. package/config/dist/DropdownListItem.js.map +0 -1
  802. package/config/dist/DropdownListItemBase.d.ts +0 -99
  803. package/config/dist/DropdownListItemBase.js +0 -69
  804. package/config/dist/DropdownListItemBase.js.map +0 -1
  805. package/config/dist/FilterMenu.d.ts +0 -143
  806. package/config/dist/FilterMenu.js +0 -299
  807. package/config/dist/FilterMenu.js.map +0 -1
  808. package/config/dist/FilterMenuGroupHeader.d.ts +0 -40
  809. package/config/dist/FilterMenuGroupHeader.js +0 -51
  810. package/config/dist/FilterMenuGroupHeader.js.map +0 -1
  811. package/config/dist/FilterMenuItem.d.ts +0 -31
  812. package/config/dist/FilterMenuItem.js +0 -47
  813. package/config/dist/FilterMenuItem.js.map +0 -1
  814. package/config/dist/Footer.d.ts +0 -111
  815. package/config/dist/Footer.js +0 -99
  816. package/config/dist/Footer.js.map +0 -1
  817. package/config/dist/HeroBanner.d.ts +0 -86
  818. package/config/dist/HeroBanner.js +0 -74
  819. package/config/dist/HeroBanner.js.map +0 -1
  820. package/config/dist/Link.d.ts +0 -48
  821. package/config/dist/Link.js +0 -68
  822. package/config/dist/Link.js.map +0 -1
  823. package/config/dist/MediaPlayer.d.ts +0 -98
  824. package/config/dist/MediaPlayer.js +0 -105
  825. package/config/dist/MediaPlayer.js.map +0 -1
  826. package/config/dist/MessageStrip.d.ts +0 -100
  827. package/config/dist/MessageStrip.js +0 -145
  828. package/config/dist/MessageStrip.js.map +0 -1
  829. package/config/dist/Modal.d.ts +0 -70
  830. package/config/dist/Modal.js +0 -73
  831. package/config/dist/Modal.js.map +0 -1
  832. package/config/dist/Pagination.d.ts +0 -107
  833. package/config/dist/Pagination.js +0 -272
  834. package/config/dist/Pagination.js.map +0 -1
  835. package/config/dist/PasswordField.d.ts +0 -155
  836. package/config/dist/PasswordField.js +0 -105
  837. package/config/dist/PasswordField.js.map +0 -1
  838. package/config/dist/PhoneNumberField.d.ts +0 -176
  839. package/config/dist/PhoneNumberField.js +0 -270
  840. package/config/dist/PhoneNumberField.js.map +0 -1
  841. package/config/dist/ProgressBar.d.ts +0 -25
  842. package/config/dist/ProgressBar.js +0 -50
  843. package/config/dist/ProgressBar.js.map +0 -1
  844. package/config/dist/Quote.d.ts +0 -81
  845. package/config/dist/Quote.js +0 -72
  846. package/config/dist/Quote.js.map +0 -1
  847. package/config/dist/RadioButton.d.ts +0 -30
  848. package/config/dist/RadioButton.js +0 -49
  849. package/config/dist/RadioButton.js.map +0 -1
  850. package/config/dist/RangeSlider.d.ts +0 -21
  851. package/config/dist/RangeSlider.js +0 -43
  852. package/config/dist/RangeSlider.js.map +0 -1
  853. package/config/dist/RatingIndicator.d.ts +0 -127
  854. package/config/dist/RatingIndicator.js +0 -217
  855. package/config/dist/RatingIndicator.js.map +0 -1
  856. package/config/dist/Search.d.ts +0 -236
  857. package/config/dist/Search.js +0 -450
  858. package/config/dist/Search.js.map +0 -1
  859. package/config/dist/SearchableListBase.d.ts +0 -101
  860. package/config/dist/SearchableListBase.js +0 -237
  861. package/config/dist/SearchableListBase.js.map +0 -1
  862. package/config/dist/Slider.d.ts +0 -21
  863. package/config/dist/Slider.js +0 -42
  864. package/config/dist/Slider.js.map +0 -1
  865. package/config/dist/Switch.d.ts +0 -65
  866. package/config/dist/Switch.js +0 -83
  867. package/config/dist/Switch.js.map +0 -1
  868. package/config/dist/Tab.d.ts +0 -159
  869. package/config/dist/Tab.js +0 -157
  870. package/config/dist/Tab.js.map +0 -1
  871. package/config/dist/TabNavigation.d.ts +0 -175
  872. package/config/dist/TabNavigation.js +0 -650
  873. package/config/dist/TabNavigation.js.map +0 -1
  874. package/config/dist/Tag.d.ts +0 -104
  875. package/config/dist/Tag.js +0 -141
  876. package/config/dist/Tag.js.map +0 -1
  877. package/config/dist/TextArea.d.ts +0 -191
  878. package/config/dist/TextArea.js +0 -182
  879. package/config/dist/TextArea.js.map +0 -1
  880. package/config/dist/TextField.d.ts +0 -178
  881. package/config/dist/TextField.js +0 -139
  882. package/config/dist/TextField.js.map +0 -1
  883. package/config/dist/Tile.d.ts +0 -82
  884. package/config/dist/Tile.js +0 -64
  885. package/config/dist/Tile.js.map +0 -1
  886. package/config/dist/Toast.d.ts +0 -65
  887. package/config/dist/Toast.js +0 -129
  888. package/config/dist/Toast.js.map +0 -1
  889. package/config/dist/Tooltip.d.ts +0 -68
  890. package/config/dist/Tooltip.js +0 -79
  891. package/config/dist/Tooltip.js.map +0 -1
  892. package/config/dist/TruncatedText.d.ts +0 -62
  893. package/config/dist/TruncatedText.js +0 -96
  894. package/config/dist/TruncatedText.js.map +0 -1
  895. package/config/dist/Wizard.d.ts +0 -32
  896. package/config/dist/Wizard.js +0 -167
  897. package/config/dist/Wizard.js.map +0 -1
  898. package/config/dist/WizardStep.d.ts +0 -30
  899. package/config/dist/WizardStep.js +0 -44
  900. package/config/dist/WizardStep.js.map +0 -1
  901. package/config/dist/WizardTab.d.ts +0 -38
  902. package/config/dist/WizardTab.js +0 -56
  903. package/config/dist/WizardTab.js.map +0 -1
  904. package/config/dist/css/themes/Accordion.css +0 -1
  905. package/config/dist/css/themes/AccordionItem.css +0 -1
  906. package/config/dist/css/themes/Avatar.css +0 -1
  907. package/config/dist/css/themes/Badge.css +0 -1
  908. package/config/dist/css/themes/Breadcrumbs.css +0 -1
  909. package/config/dist/css/themes/BreadcrumbsPopover.css +0 -1
  910. package/config/dist/css/themes/Button.css +0 -1
  911. package/config/dist/css/themes/Calendar.css +0 -0
  912. package/config/dist/css/themes/Carousel.css +0 -1
  913. package/config/dist/css/themes/Checkbox.css +0 -1
  914. package/config/dist/css/themes/DatePicker.css +0 -1
  915. package/config/dist/css/themes/Divider.css +0 -1
  916. package/config/dist/css/themes/Dropdown.css +0 -1
  917. package/config/dist/css/themes/DropdownList.css +0 -1
  918. package/config/dist/css/themes/DropdownListGroupHeader.css +0 -1
  919. package/config/dist/css/themes/DropdownListItem.css +0 -1
  920. package/config/dist/css/themes/FilterMenu.css +0 -1
  921. package/config/dist/css/themes/Footer.css +0 -1
  922. package/config/dist/css/themes/HeroBanner.css +0 -1
  923. package/config/dist/css/themes/Link.css +0 -1
  924. package/config/dist/css/themes/MediaPlayer.css +0 -1
  925. package/config/dist/css/themes/MessageStrip.css +0 -1
  926. package/config/dist/css/themes/Modal.css +0 -1
  927. package/config/dist/css/themes/Pagination.css +0 -1
  928. package/config/dist/css/themes/PasswordField.css +0 -1
  929. package/config/dist/css/themes/PhoneNumberField.css +0 -1
  930. package/config/dist/css/themes/ProgressBar.css +0 -1
  931. package/config/dist/css/themes/Quote.css +0 -1
  932. package/config/dist/css/themes/RadioButton.css +0 -1
  933. package/config/dist/css/themes/RatingIndicator.css +0 -1
  934. package/config/dist/css/themes/Search.css +0 -1
  935. package/config/dist/css/themes/SearchSuggestions.css +0 -1
  936. package/config/dist/css/themes/Slider.css +0 -1
  937. package/config/dist/css/themes/Switch.css +0 -1
  938. package/config/dist/css/themes/TabInOverflow.css +0 -1
  939. package/config/dist/css/themes/TabNavigation.css +0 -1
  940. package/config/dist/css/themes/Tag.css +0 -1
  941. package/config/dist/css/themes/TextArea.css +0 -1
  942. package/config/dist/css/themes/TextField.css +0 -1
  943. package/config/dist/css/themes/Tile.css +0 -1
  944. package/config/dist/css/themes/Toast.css +0 -1
  945. package/config/dist/css/themes/Tooltip.css +0 -1
  946. package/config/dist/css/themes/TruncatedText.css +0 -1
  947. package/config/dist/css/themes/Wizard.css +0 -1
  948. package/config/dist/css/themes/WizardTab.css +0 -1
  949. package/config/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +0 -1
  950. package/config/dist/css/themes/sap_fiori_3/parameters-bundle.css +0 -0
  951. package/config/dist/css/themes/sap_glow/parameters-bundle.css +0 -0
  952. package/config/dist/css/themes/sap_horizon/parameters-bundle.css +0 -0
  953. package/config/dist/custom-elements-internal.json +0 -5515
  954. package/config/dist/custom-elements.json +0 -5067
  955. package/config/dist/data/CountriesListPhoneNumber.d.ts +0 -12
  956. package/config/dist/data/CountriesListPhoneNumber.js +0 -53
  957. package/config/dist/data/CountriesListPhoneNumber.js.map +0 -1
  958. package/config/dist/features/SearchSuggestionsPopover.d.ts +0 -42
  959. package/config/dist/features/SearchSuggestionsPopover.js +0 -117
  960. package/config/dist/features/SearchSuggestionsPopover.js.map +0 -1
  961. package/config/dist/generated/assets/i18n/messagebundle_de.json +0 -1
  962. package/config/dist/generated/assets/i18n/messagebundle_en.json +0 -1
  963. package/config/dist/generated/assets/i18n/messagebundle_es.json +0 -1
  964. package/config/dist/generated/assets/i18n/messagebundle_fr.json +0 -1
  965. package/config/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +0 -1
  966. package/config/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +0 -1
  967. package/config/dist/generated/assets/themes/sap_glow/parameters-bundle.css.json +0 -1
  968. package/config/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +0 -1
  969. package/config/dist/generated/i18n/i18n-defaults.d.ts +0 -30
  970. package/config/dist/generated/i18n/i18n-defaults.js +0 -30
  971. package/config/dist/generated/i18n/i18n-defaults.js.map +0 -1
  972. package/config/dist/generated/json-imports/Themes-static.d.ts +0 -1
  973. package/config/dist/generated/json-imports/Themes-static.js +0 -19
  974. package/config/dist/generated/json-imports/Themes-static.js.map +0 -1
  975. package/config/dist/generated/json-imports/Themes.d.ts +0 -1
  976. package/config/dist/generated/json-imports/Themes.js +0 -19
  977. package/config/dist/generated/json-imports/Themes.js.map +0 -1
  978. package/config/dist/generated/json-imports/i18n-static.d.ts +0 -1
  979. package/config/dist/generated/json-imports/i18n-static.js +0 -27
  980. package/config/dist/generated/json-imports/i18n-static.js.map +0 -1
  981. package/config/dist/generated/json-imports/i18n.d.ts +0 -1
  982. package/config/dist/generated/json-imports/i18n.js +0 -26
  983. package/config/dist/generated/json-imports/i18n.js.map +0 -1
  984. package/config/dist/generated/templates/AccordionItemTemplate.lit.d.ts +0 -4
  985. package/config/dist/generated/templates/AccordionItemTemplate.lit.js +0 -5
  986. package/config/dist/generated/templates/AccordionItemTemplate.lit.js.map +0 -1
  987. package/config/dist/generated/templates/AccordionTemplate.lit.d.ts +0 -4
  988. package/config/dist/generated/templates/AccordionTemplate.lit.js +0 -6
  989. package/config/dist/generated/templates/AccordionTemplate.lit.js.map +0 -1
  990. package/config/dist/generated/templates/AvatarTemplate.lit.d.ts +0 -4
  991. package/config/dist/generated/templates/AvatarTemplate.lit.js +0 -7
  992. package/config/dist/generated/templates/AvatarTemplate.lit.js.map +0 -1
  993. package/config/dist/generated/templates/BadgeTemplate.lit.d.ts +0 -4
  994. package/config/dist/generated/templates/BadgeTemplate.lit.js +0 -7
  995. package/config/dist/generated/templates/BadgeTemplate.lit.js.map +0 -1
  996. package/config/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.d.ts +0 -4
  997. package/config/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +0 -10
  998. package/config/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +0 -1
  999. package/config/dist/generated/templates/BreadcrumbsTemplate.lit.d.ts +0 -4
  1000. package/config/dist/generated/templates/BreadcrumbsTemplate.lit.js +0 -7
  1001. package/config/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +0 -1
  1002. package/config/dist/generated/templates/ButtonTemplate.lit.d.ts +0 -4
  1003. package/config/dist/generated/templates/ButtonTemplate.lit.js +0 -6
  1004. package/config/dist/generated/templates/ButtonTemplate.lit.js.map +0 -1
  1005. package/config/dist/generated/templates/CarouselTemplate.lit.d.ts +0 -4
  1006. package/config/dist/generated/templates/CarouselTemplate.lit.js +0 -8
  1007. package/config/dist/generated/templates/CarouselTemplate.lit.js.map +0 -1
  1008. package/config/dist/generated/templates/DatePickerTemplate.lit.d.ts +0 -4
  1009. package/config/dist/generated/templates/DatePickerTemplate.lit.js +0 -6
  1010. package/config/dist/generated/templates/DatePickerTemplate.lit.js.map +0 -1
  1011. package/config/dist/generated/templates/DividerTemplate.lit.d.ts +0 -4
  1012. package/config/dist/generated/templates/DividerTemplate.lit.js +0 -5
  1013. package/config/dist/generated/templates/DividerTemplate.lit.js.map +0 -1
  1014. package/config/dist/generated/templates/DropdownListGroupHeaderTemplate.lit.js +0 -8
  1015. package/config/dist/generated/templates/DropdownListGroupHeaderTemplate.lit.js.map +0 -1
  1016. package/config/dist/generated/templates/DropdownListItemTemplate.lit.d.ts +0 -4
  1017. package/config/dist/generated/templates/DropdownListItemTemplate.lit.js +0 -8
  1018. package/config/dist/generated/templates/DropdownListItemTemplate.lit.js.map +0 -1
  1019. package/config/dist/generated/templates/DropdownListTemplate.lit.d.ts +0 -4
  1020. package/config/dist/generated/templates/DropdownListTemplate.lit.js +0 -6
  1021. package/config/dist/generated/templates/DropdownListTemplate.lit.js.map +0 -1
  1022. package/config/dist/generated/templates/DropdownTemplate.lit.d.ts +0 -4
  1023. package/config/dist/generated/templates/DropdownTemplate.lit.js +0 -8
  1024. package/config/dist/generated/templates/DropdownTemplate.lit.js.map +0 -1
  1025. package/config/dist/generated/templates/FilterMenuTemplate.lit.d.ts +0 -4
  1026. package/config/dist/generated/templates/FilterMenuTemplate.lit.js +0 -7
  1027. package/config/dist/generated/templates/FilterMenuTemplate.lit.js.map +0 -1
  1028. package/config/dist/generated/templates/FooterTemplate.lit.d.ts +0 -4
  1029. package/config/dist/generated/templates/FooterTemplate.lit.js +0 -28
  1030. package/config/dist/generated/templates/FooterTemplate.lit.js.map +0 -1
  1031. package/config/dist/generated/templates/HeroBannerTemplate.lit.d.ts +0 -4
  1032. package/config/dist/generated/templates/HeroBannerTemplate.lit.js +0 -9
  1033. package/config/dist/generated/templates/HeroBannerTemplate.lit.js.map +0 -1
  1034. package/config/dist/generated/templates/LinkTemplate.lit.d.ts +0 -4
  1035. package/config/dist/generated/templates/LinkTemplate.lit.js +0 -8
  1036. package/config/dist/generated/templates/LinkTemplate.lit.js.map +0 -1
  1037. package/config/dist/generated/templates/MediaPlayerTemplate.lit.d.ts +0 -4
  1038. package/config/dist/generated/templates/MediaPlayerTemplate.lit.js +0 -12
  1039. package/config/dist/generated/templates/MediaPlayerTemplate.lit.js.map +0 -1
  1040. package/config/dist/generated/templates/MessageStripTemplate.lit.d.ts +0 -4
  1041. package/config/dist/generated/templates/MessageStripTemplate.lit.js +0 -7
  1042. package/config/dist/generated/templates/MessageStripTemplate.lit.js.map +0 -1
  1043. package/config/dist/generated/templates/ModalTemplate.lit.d.ts +0 -4
  1044. package/config/dist/generated/templates/ModalTemplate.lit.js +0 -7
  1045. package/config/dist/generated/templates/ModalTemplate.lit.js.map +0 -1
  1046. package/config/dist/generated/templates/PaginationTemplate.lit.d.ts +0 -4
  1047. package/config/dist/generated/templates/PaginationTemplate.lit.js +0 -11
  1048. package/config/dist/generated/templates/PaginationTemplate.lit.js.map +0 -1
  1049. package/config/dist/generated/templates/PasswordFieldTemplate.lit.d.ts +0 -4
  1050. package/config/dist/generated/templates/PasswordFieldTemplate.lit.js +0 -6
  1051. package/config/dist/generated/templates/PasswordFieldTemplate.lit.js.map +0 -1
  1052. package/config/dist/generated/templates/PhoneNumberFieldTemplate.lit.d.ts +0 -4
  1053. package/config/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +0 -12
  1054. package/config/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +0 -1
  1055. package/config/dist/generated/templates/ProgressBarTemplate.lit.d.ts +0 -4
  1056. package/config/dist/generated/templates/ProgressBarTemplate.lit.js +0 -5
  1057. package/config/dist/generated/templates/ProgressBarTemplate.lit.js.map +0 -1
  1058. package/config/dist/generated/templates/QuoteTemplate.lit.d.ts +0 -4
  1059. package/config/dist/generated/templates/QuoteTemplate.lit.js +0 -8
  1060. package/config/dist/generated/templates/QuoteTemplate.lit.js.map +0 -1
  1061. package/config/dist/generated/templates/RatingIndicatorTemplate.lit.d.ts +0 -4
  1062. package/config/dist/generated/templates/RatingIndicatorTemplate.lit.js +0 -15
  1063. package/config/dist/generated/templates/RatingIndicatorTemplate.lit.js.map +0 -1
  1064. package/config/dist/generated/templates/SearchSuggestionsTemplate.lit.d.ts +0 -4
  1065. package/config/dist/generated/templates/SearchSuggestionsTemplate.lit.js +0 -10
  1066. package/config/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +0 -1
  1067. package/config/dist/generated/templates/SearchTemplate.lit.d.ts +0 -4
  1068. package/config/dist/generated/templates/SearchTemplate.lit.js +0 -9
  1069. package/config/dist/generated/templates/SearchTemplate.lit.js.map +0 -1
  1070. package/config/dist/generated/templates/SearchableListBaseTemplate.lit.d.ts +0 -4
  1071. package/config/dist/generated/templates/SearchableListBaseTemplate.lit.js +0 -10
  1072. package/config/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +0 -1
  1073. package/config/dist/generated/templates/SwitchTemplate.lit.d.ts +0 -4
  1074. package/config/dist/generated/templates/SwitchTemplate.lit.js +0 -12
  1075. package/config/dist/generated/templates/SwitchTemplate.lit.js.map +0 -1
  1076. package/config/dist/generated/templates/TabHeaderTemplate.lit.d.ts +0 -4
  1077. package/config/dist/generated/templates/TabHeaderTemplate.lit.js +0 -12
  1078. package/config/dist/generated/templates/TabHeaderTemplate.lit.js.map +0 -1
  1079. package/config/dist/generated/templates/TabInOverflowTemplate.lit.d.ts +0 -4
  1080. package/config/dist/generated/templates/TabInOverflowTemplate.lit.js +0 -13
  1081. package/config/dist/generated/templates/TabInOverflowTemplate.lit.js.map +0 -1
  1082. package/config/dist/generated/templates/TabNavigationPopoverTemplate.lit.d.ts +0 -4
  1083. package/config/dist/generated/templates/TabNavigationPopoverTemplate.lit.js +0 -6
  1084. package/config/dist/generated/templates/TabNavigationPopoverTemplate.lit.js.map +0 -1
  1085. package/config/dist/generated/templates/TabNavigationTemplate.lit.d.ts +0 -4
  1086. package/config/dist/generated/templates/TabNavigationTemplate.lit.js +0 -7
  1087. package/config/dist/generated/templates/TabNavigationTemplate.lit.js.map +0 -1
  1088. package/config/dist/generated/templates/TabTemplate.lit.d.ts +0 -4
  1089. package/config/dist/generated/templates/TabTemplate.lit.js +0 -5
  1090. package/config/dist/generated/templates/TabTemplate.lit.js.map +0 -1
  1091. package/config/dist/generated/templates/TagTemplate.lit.d.ts +0 -4
  1092. package/config/dist/generated/templates/TagTemplate.lit.js +0 -7
  1093. package/config/dist/generated/templates/TagTemplate.lit.js.map +0 -1
  1094. package/config/dist/generated/templates/TextAreaTemplate.lit.d.ts +0 -4
  1095. package/config/dist/generated/templates/TextAreaTemplate.lit.js +0 -9
  1096. package/config/dist/generated/templates/TextAreaTemplate.lit.js.map +0 -1
  1097. package/config/dist/generated/templates/TextFieldTemplate.lit.d.ts +0 -4
  1098. package/config/dist/generated/templates/TextFieldTemplate.lit.js +0 -9
  1099. package/config/dist/generated/templates/TextFieldTemplate.lit.js.map +0 -1
  1100. package/config/dist/generated/templates/TileTemplate.lit.d.ts +0 -4
  1101. package/config/dist/generated/templates/TileTemplate.lit.js +0 -7
  1102. package/config/dist/generated/templates/TileTemplate.lit.js.map +0 -1
  1103. package/config/dist/generated/templates/ToastTemplate.lit.d.ts +0 -4
  1104. package/config/dist/generated/templates/ToastTemplate.lit.js +0 -7
  1105. package/config/dist/generated/templates/ToastTemplate.lit.js.map +0 -1
  1106. package/config/dist/generated/templates/TooltipTemplate.lit.d.ts +0 -4
  1107. package/config/dist/generated/templates/TooltipTemplate.lit.js +0 -6
  1108. package/config/dist/generated/templates/TooltipTemplate.lit.js.map +0 -1
  1109. package/config/dist/generated/templates/TruncatedTextTemplate.lit.d.ts +0 -4
  1110. package/config/dist/generated/templates/TruncatedTextTemplate.lit.js +0 -5
  1111. package/config/dist/generated/templates/TruncatedTextTemplate.lit.js.map +0 -1
  1112. package/config/dist/generated/templates/WizardTemplate.lit.d.ts +0 -4
  1113. package/config/dist/generated/templates/WizardTemplate.lit.js +0 -7
  1114. package/config/dist/generated/templates/WizardTemplate.lit.js.map +0 -1
  1115. package/config/dist/generated/themes/Accordion.css.js +0 -9
  1116. package/config/dist/generated/themes/Accordion.css.js.map +0 -1
  1117. package/config/dist/generated/themes/AccordionItem.css.d.ts +0 -3
  1118. package/config/dist/generated/themes/AccordionItem.css.js +0 -9
  1119. package/config/dist/generated/themes/AccordionItem.css.js.map +0 -1
  1120. package/config/dist/generated/themes/Avatar.css.d.ts +0 -3
  1121. package/config/dist/generated/themes/Avatar.css.js +0 -9
  1122. package/config/dist/generated/themes/Avatar.css.js.map +0 -1
  1123. package/config/dist/generated/themes/Badge.css.d.ts +0 -3
  1124. package/config/dist/generated/themes/Badge.css.js +0 -9
  1125. package/config/dist/generated/themes/Badge.css.js.map +0 -1
  1126. package/config/dist/generated/themes/Breadcrumbs.css.d.ts +0 -3
  1127. package/config/dist/generated/themes/Breadcrumbs.css.js +0 -9
  1128. package/config/dist/generated/themes/Breadcrumbs.css.js.map +0 -1
  1129. package/config/dist/generated/themes/BreadcrumbsPopover.css.d.ts +0 -3
  1130. package/config/dist/generated/themes/BreadcrumbsPopover.css.js +0 -9
  1131. package/config/dist/generated/themes/BreadcrumbsPopover.css.js.map +0 -1
  1132. package/config/dist/generated/themes/Button.css.d.ts +0 -3
  1133. package/config/dist/generated/themes/Button.css.js +0 -9
  1134. package/config/dist/generated/themes/Button.css.js.map +0 -1
  1135. package/config/dist/generated/themes/Calendar.css.d.ts +0 -3
  1136. package/config/dist/generated/themes/Calendar.css.js +0 -8
  1137. package/config/dist/generated/themes/Calendar.css.js.map +0 -1
  1138. package/config/dist/generated/themes/Carousel.css.d.ts +0 -3
  1139. package/config/dist/generated/themes/Carousel.css.js +0 -9
  1140. package/config/dist/generated/themes/Carousel.css.js.map +0 -1
  1141. package/config/dist/generated/themes/Checkbox.css.d.ts +0 -3
  1142. package/config/dist/generated/themes/Checkbox.css.js +0 -9
  1143. package/config/dist/generated/themes/Checkbox.css.js.map +0 -1
  1144. package/config/dist/generated/themes/DatePicker.css.d.ts +0 -3
  1145. package/config/dist/generated/themes/DatePicker.css.js +0 -9
  1146. package/config/dist/generated/themes/DatePicker.css.js.map +0 -1
  1147. package/config/dist/generated/themes/Divider.css.d.ts +0 -3
  1148. package/config/dist/generated/themes/Divider.css.js +0 -9
  1149. package/config/dist/generated/themes/Divider.css.js.map +0 -1
  1150. package/config/dist/generated/themes/Dropdown.css.d.ts +0 -3
  1151. package/config/dist/generated/themes/Dropdown.css.js +0 -9
  1152. package/config/dist/generated/themes/Dropdown.css.js.map +0 -1
  1153. package/config/dist/generated/themes/DropdownList.css.d.ts +0 -3
  1154. package/config/dist/generated/themes/DropdownList.css.js +0 -9
  1155. package/config/dist/generated/themes/DropdownList.css.js.map +0 -1
  1156. package/config/dist/generated/themes/DropdownListGroupHeader.css.d.ts +0 -3
  1157. package/config/dist/generated/themes/DropdownListGroupHeader.css.js +0 -9
  1158. package/config/dist/generated/themes/DropdownListGroupHeader.css.js.map +0 -1
  1159. package/config/dist/generated/themes/DropdownListItem.css.d.ts +0 -3
  1160. package/config/dist/generated/themes/DropdownListItem.css.js +0 -9
  1161. package/config/dist/generated/themes/DropdownListItem.css.js.map +0 -1
  1162. package/config/dist/generated/themes/FilterMenu.css.d.ts +0 -3
  1163. package/config/dist/generated/themes/FilterMenu.css.js +0 -9
  1164. package/config/dist/generated/themes/FilterMenu.css.js.map +0 -1
  1165. package/config/dist/generated/themes/Footer.css.d.ts +0 -3
  1166. package/config/dist/generated/themes/Footer.css.js +0 -9
  1167. package/config/dist/generated/themes/Footer.css.js.map +0 -1
  1168. package/config/dist/generated/themes/HeroBanner.css.d.ts +0 -3
  1169. package/config/dist/generated/themes/HeroBanner.css.js +0 -9
  1170. package/config/dist/generated/themes/HeroBanner.css.js.map +0 -1
  1171. package/config/dist/generated/themes/Link.css.d.ts +0 -3
  1172. package/config/dist/generated/themes/Link.css.js +0 -9
  1173. package/config/dist/generated/themes/Link.css.js.map +0 -1
  1174. package/config/dist/generated/themes/MediaPlayer.css.d.ts +0 -3
  1175. package/config/dist/generated/themes/MediaPlayer.css.js +0 -9
  1176. package/config/dist/generated/themes/MediaPlayer.css.js.map +0 -1
  1177. package/config/dist/generated/themes/MessageStrip.css.d.ts +0 -3
  1178. package/config/dist/generated/themes/MessageStrip.css.js +0 -9
  1179. package/config/dist/generated/themes/MessageStrip.css.js.map +0 -1
  1180. package/config/dist/generated/themes/Modal.css.d.ts +0 -3
  1181. package/config/dist/generated/themes/Modal.css.js +0 -9
  1182. package/config/dist/generated/themes/Modal.css.js.map +0 -1
  1183. package/config/dist/generated/themes/Pagination.css.d.ts +0 -3
  1184. package/config/dist/generated/themes/Pagination.css.js +0 -9
  1185. package/config/dist/generated/themes/Pagination.css.js.map +0 -1
  1186. package/config/dist/generated/themes/PasswordField.css.d.ts +0 -3
  1187. package/config/dist/generated/themes/PasswordField.css.js +0 -9
  1188. package/config/dist/generated/themes/PasswordField.css.js.map +0 -1
  1189. package/config/dist/generated/themes/PhoneNumberField.css.d.ts +0 -3
  1190. package/config/dist/generated/themes/PhoneNumberField.css.js +0 -9
  1191. package/config/dist/generated/themes/PhoneNumberField.css.js.map +0 -1
  1192. package/config/dist/generated/themes/ProgressBar.css.d.ts +0 -3
  1193. package/config/dist/generated/themes/ProgressBar.css.js +0 -9
  1194. package/config/dist/generated/themes/ProgressBar.css.js.map +0 -1
  1195. package/config/dist/generated/themes/Quote.css.d.ts +0 -3
  1196. package/config/dist/generated/themes/Quote.css.js +0 -9
  1197. package/config/dist/generated/themes/Quote.css.js.map +0 -1
  1198. package/config/dist/generated/themes/RadioButton.css.d.ts +0 -3
  1199. package/config/dist/generated/themes/RadioButton.css.js +0 -9
  1200. package/config/dist/generated/themes/RadioButton.css.js.map +0 -1
  1201. package/config/dist/generated/themes/RatingIndicator.css.d.ts +0 -3
  1202. package/config/dist/generated/themes/RatingIndicator.css.js +0 -9
  1203. package/config/dist/generated/themes/RatingIndicator.css.js.map +0 -1
  1204. package/config/dist/generated/themes/Search.css.d.ts +0 -3
  1205. package/config/dist/generated/themes/Search.css.js +0 -9
  1206. package/config/dist/generated/themes/Search.css.js.map +0 -1
  1207. package/config/dist/generated/themes/SearchSuggestions.css.d.ts +0 -3
  1208. package/config/dist/generated/themes/SearchSuggestions.css.js +0 -9
  1209. package/config/dist/generated/themes/SearchSuggestions.css.js.map +0 -1
  1210. package/config/dist/generated/themes/Slider.css.d.ts +0 -3
  1211. package/config/dist/generated/themes/Slider.css.js +0 -9
  1212. package/config/dist/generated/themes/Slider.css.js.map +0 -1
  1213. package/config/dist/generated/themes/Switch.css.d.ts +0 -3
  1214. package/config/dist/generated/themes/Switch.css.js +0 -9
  1215. package/config/dist/generated/themes/Switch.css.js.map +0 -1
  1216. package/config/dist/generated/themes/TabInOverflow.css.d.ts +0 -3
  1217. package/config/dist/generated/themes/TabInOverflow.css.js +0 -9
  1218. package/config/dist/generated/themes/TabInOverflow.css.js.map +0 -1
  1219. package/config/dist/generated/themes/TabNavigation.css.d.ts +0 -3
  1220. package/config/dist/generated/themes/TabNavigation.css.js +0 -9
  1221. package/config/dist/generated/themes/TabNavigation.css.js.map +0 -1
  1222. package/config/dist/generated/themes/Tag.css.d.ts +0 -3
  1223. package/config/dist/generated/themes/Tag.css.js +0 -9
  1224. package/config/dist/generated/themes/Tag.css.js.map +0 -1
  1225. package/config/dist/generated/themes/TextArea.css.d.ts +0 -3
  1226. package/config/dist/generated/themes/TextArea.css.js +0 -9
  1227. package/config/dist/generated/themes/TextArea.css.js.map +0 -1
  1228. package/config/dist/generated/themes/TextField.css.d.ts +0 -3
  1229. package/config/dist/generated/themes/TextField.css.js +0 -9
  1230. package/config/dist/generated/themes/TextField.css.js.map +0 -1
  1231. package/config/dist/generated/themes/Tile.css.d.ts +0 -3
  1232. package/config/dist/generated/themes/Tile.css.js +0 -9
  1233. package/config/dist/generated/themes/Tile.css.js.map +0 -1
  1234. package/config/dist/generated/themes/Toast.css.d.ts +0 -3
  1235. package/config/dist/generated/themes/Toast.css.js +0 -9
  1236. package/config/dist/generated/themes/Toast.css.js.map +0 -1
  1237. package/config/dist/generated/themes/Tooltip.css.d.ts +0 -3
  1238. package/config/dist/generated/themes/Tooltip.css.js +0 -9
  1239. package/config/dist/generated/themes/Tooltip.css.js.map +0 -1
  1240. package/config/dist/generated/themes/TruncatedText.css.d.ts +0 -3
  1241. package/config/dist/generated/themes/TruncatedText.css.js +0 -9
  1242. package/config/dist/generated/themes/TruncatedText.css.js.map +0 -1
  1243. package/config/dist/generated/themes/Wizard.css.d.ts +0 -3
  1244. package/config/dist/generated/themes/Wizard.css.js +0 -9
  1245. package/config/dist/generated/themes/Wizard.css.js.map +0 -1
  1246. package/config/dist/generated/themes/WizardTab.css.d.ts +0 -3
  1247. package/config/dist/generated/themes/WizardTab.css.js +0 -9
  1248. package/config/dist/generated/themes/WizardTab.css.js.map +0 -1
  1249. package/config/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.d.ts +0 -3
  1250. package/config/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +0 -4
  1251. package/config/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +0 -1
  1252. package/config/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +0 -3
  1253. package/config/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +0 -3
  1254. package/config/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +0 -1
  1255. package/config/dist/generated/themes/sap_glow/parameters-bundle.css.d.ts +0 -3
  1256. package/config/dist/generated/themes/sap_glow/parameters-bundle.css.js +0 -3
  1257. package/config/dist/generated/themes/sap_glow/parameters-bundle.css.js.map +0 -1
  1258. package/config/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +0 -3
  1259. package/config/dist/generated/themes/sap_horizon/parameters-bundle.css.js +0 -3
  1260. package/config/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +0 -1
  1261. package/config/dist/i18n/messagebundle.properties +0 -58
  1262. package/config/dist/i18n/messagebundle_de.properties +0 -3
  1263. package/config/dist/i18n/messagebundle_en.properties +0 -28
  1264. package/config/dist/i18n/messagebundle_es.properties +0 -3
  1265. package/config/dist/i18n/messagebundle_fr.properties +0 -3
  1266. package/config/dist/types/Dropdown.d.ts +0 -16
  1267. package/config/dist/types/Dropdown.js +0 -20
  1268. package/config/dist/types/Dropdown.js.map +0 -1
  1269. package/config/dist/types/SearchableListBase.d.ts +0 -7
  1270. package/config/dist/types/SearchableListBase.js +0 -2
  1271. package/config/dist/types/SearchableListBase.js.map +0 -1
  1272. package/config/dist/utils/debounce.d.ts +0 -3
  1273. package/config/dist/utils/debounce.js +0 -9
  1274. package/config/dist/utils/debounce.js.map +0 -1
  1275. package/config/dist/utils/redirectAttributes.d.ts +0 -2
  1276. package/config/dist/utils/redirectAttributes.js +0 -10
  1277. package/config/dist/utils/redirectAttributes.js.map +0 -1
  1278. package/config/dist/vscode.html-custom-data.json +0 -1130
  1279. package/config/dist/web-types.json +0 -2420
  1280. package/dist/assets/bundle.esm-44fd7c69.js +0 -329
  1281. package/dist/assets/messagebundle_en-59e0affd.js +0 -1
  1282. package/dist/assets/parameters-bundle.css-016bfbb1.js +0 -2
  1283. package/dist/assets/parameters-bundle.css-16e19728.js +0 -2
  1284. package/dist/assets/parameters-bundle.css-2450af31.js +0 -2
  1285. package/dist/assets/parameters-bundle.css-4f454042.js +0 -2
  1286. package/dist/assets/parameters-bundle.css-5ce14c26.js +0 -2
  1287. package/dist/assets/parameters-bundle.css-9447025f.js +0 -2
  1288. package/dist/assets/parameters-bundle.css-9b55bfaa.js +0 -2
  1289. package/dist/assets/parameters-bundle.css-9b8c1377.js +0 -2
  1290. package/dist/assets/parameters-bundle.css-bd4a2e6d.js +0 -2
  1291. package/dist/assets/parameters-bundle.css-beef06a9.js +0 -2
  1292. package/dist/assets/parameters-bundle.css-ebfade1e.js +0 -2
  1293. package/dist/assets/parameters-bundle.css-f2662097.js +0 -2
  1294. package/dist/utils/listItemLabelStartsWithKeyFocus.d.ts +0 -3
  1295. package/dist/utils/listItemLabelStartsWithKeyFocus.js +0 -55
  1296. package/dist/utils/listItemLabelStartsWithKeyFocus.js.map +0 -1
  1297. package/src/utils/listItemLabelStartsWithKeyFocus.ts +0 -74
  1298. /package/{config/dist/generated/themes/Accordion.css.d.ts → dist/generated/themes/MastheadCountrySelector.css.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"SearchableListBase.js","sourceRoot":"","sources":["../src/SearchableListBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n isDown, isUp,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { cleanLabel } from \"./utils/listItemLabelUtils.js\";\nimport Search from \"./Search.js\";\nimport UDExListItemBase from \"./ListItemBase.js\";\nimport UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport { ListMode } from \"./types/List.js\";\nimport UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport { ProcessedItem, SHOW_SEARCH_AFTER_COUNT } from \"./types/SearchableListBase.js\";\nimport { NO_MATCHES_FOUND } from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * A class to serve as a foundation\n * for the <code>UDExFilterMenu</code> , <code>UDExSelectBox</code> and <code>UDExCountrySelector/code> classes.\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @public\n */\n\n/**\n * Fired event when the user click on an item on the list.\n *\n * @event sap.ui.webc.web-components.UDExSearchableListBase#selectionChange\n * @public\n */\n@event(\"selection-change\", {\n detail: {\n selectedItems: { type: Array },\n item: { type: HTMLElement },\n },\n})\n\n/**\n * Fired event when the user clicks on the Select All header.\n *\n * @event sap.ui.webc.web-components.UDExSearchableListBase#selectAll\n * @public\n */\n@event(\"select-all\")\n\n/**\n * Fired event when the user clicks on the submitted icon in the search.\n *\n * @event sap.ui.webc.web-components.UDExSearchableListBase#submitSearch\n * @public\n */\n@event(\"submit-search\", {\n detail: {\n selectedItems: { type: Array },\n },\n})\n\n/**\n * Fired event when the user clicks on the reset button in the search.\n *\n * @event sap.ui.webc.web-components.UDExSearchableListBase#resetSearch\n * @public\n */\n@event(\"reset-search\")\n\n/**\n * Fired event when the user submitted the value in the search.\n *\n * @event sap.ui.webc.web-components.UDExSearchableListBase#changeSearch\n * @public\n */\n@event(\"change-search\", {\n detail: {\n value: { type: String },\n },\n})\n\nclass UDExSearchableListBase extends UI5Element {\n /**\n * Defines the \"no result\" text of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n noResultText!: string;\n\n /**\n * Defines the placeholder of the search.\n *\n * @default \"\"\n * @public\n */\n @property()\n searchPlaceholder!: string;\n\n /**\n * Defines the selectAll option of the component.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n selectAll?: boolean;\n\n /**\n * Defines label text for select all header.\n *\n * @default \"Select All\"\n * @public\n */\n @property()\n selectAllLabel!: string;\n\n /**\n * Defines the mode of the component.\n *\n * @default \"SingleSelect\"\n * @public\n */\n @property({ type: ListMode, defaultValue: ListMode.SingleSelect })\n mode!: `${ListMode}`;\n\n /**\n * Slot for items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n items!: Array<UDExListItemBase | UDExListGroupHeaderBase>;\n\n @property({ type: Object })\n _filteredItems!: Array<ProcessedItem>;\n\n _shouldFilterItems?: boolean;\n\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this._shouldFilterItems = false;\n this._filteredItems = [];\n }\n\n onBeforeRendering() {\n if (!this._shouldFilterItems) {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n onItemPress(e:CustomEvent) {\n const dropdownItemId: string = e.detail.item.getAttribute(\"data-token-id\");\n this.handleDropdownItemPress(dropdownItemId);\n this.fireSelectionChange(dropdownItemId);\n }\n\n onFilterSelectAllHeaderPress(e:CustomEvent) {\n const dropdownHeaderItemId = this.getDataTokenId(e);\n this.getProcessedItems().forEach(({ item }) => {\n if (item._id === dropdownHeaderItemId) {\n this.activateHeaderAndSetAllItems(item as UDExListGroupHeaderBase);\n }\n });\n\n this.syncFilteredItems();\n this.fireSelectionChange(dropdownHeaderItemId);\n }\n\n activateHeaderAndSetAllItems(item: UDExListGroupHeaderBase) {\n item.activateHeader();\n item.setAllItems(false);\n }\n\n handleDropdownItemPress(dropdownItemId: string) {\n this.getProcessedItems().forEach(({ item, groupItems, isGroup }) => {\n if (isGroup) {\n const groupItem: UDExListItemBase = groupItems.find(({ _id }) => _id === dropdownItemId)!;\n if (groupItem) {\n this.handleItemClick(groupItem);\n this.handleGroupHeaderState(item as UDExListGroupHeaderBase);\n }\n } else if (item._id === dropdownItemId) {\n this.handleItemClick(item);\n }\n });\n\n this.syncFilteredItems();\n }\n\n handleItemClick(item: UDExListItemBase) {\n if (this.modeSingleSelect) {\n this.revertSelectedItems(this.selectedItems);\n }\n\n if (this.modeRadioGroup) {\n const groupHeader = item.parentElement as UDExListGroupHeaderBase;\n this.revertSelectedItems(groupHeader.getItems());\n }\n\n item.selected = !item.selected;\n }\n\n handleGroupHeaderState(groupHeader: UDExListGroupHeaderBase) {\n if (this.modeMultiSelect) {\n if (groupHeader.isFilterMenuSelectAllHeader) {\n groupHeader.deactivateHeader();\n\n if (groupHeader.isAllDeselected()) {\n groupHeader.activateHeader();\n }\n } else {\n groupHeader.handleHeaderState();\n }\n }\n }\n\n onHeaderPress(e:CustomEvent) {\n const dropdownHeaderItemId = this.getDataTokenId(e);\n this.getProcessedItems().forEach(({ item }) => {\n if (item._id === dropdownHeaderItemId) {\n (item as UDExListGroupHeaderBase).handleSelectionGroupState();\n }\n });\n\n this.syncFilteredItems();\n this.fireSelectionChange(dropdownHeaderItemId);\n }\n\n onSearch(e:CustomEvent) {\n const searchValue: string = e.detail.value;\n this._shouldFilterItems = true;\n this._filteredItems = this.filterItems(this.getProcessedItems(), searchValue);\n this.fireEvent(\"change-search\", { value: searchValue });\n }\n\n onReset() {\n this.revertSelectedItems(this.selectedItems);\n }\n\n onResetSearch() {\n this.resetSearch();\n this.fireEvent(\"reset-search\");\n }\n\n onSubmitSearch() {\n this.fireEvent(\"submit-search\", {\n selectedItems: this.selectedItems,\n });\n }\n\n /**\n * Reset the search value.\n * @public\n */\n resetSearch() {\n const search = this.getSearch();\n search.value = \"\";\n this._filteredItems = this.filterItems(this.getProcessedItems(), \"\");\n }\n\n filterItems(items: Array<ProcessedItem>, str: string): Array<ProcessedItem> {\n return items.filter(preparedItem => {\n const { isGroup, item } = preparedItem;\n if (isGroup) {\n preparedItem.groupItems = this.filterItemsForLabel(preparedItem.groupItems, str);\n return preparedItem.groupItems.length > 0;\n }\n return this.checkAndUpdateLabel(item, str);\n });\n }\n\n filterItemsForLabel(groupItems: Array<UDExListItemBase>, str: string): Array<UDExListItemBase> {\n return groupItems.filter(groupItem => this.checkAndUpdateLabel(groupItem, str));\n }\n\n checkAndUpdateLabel(item: UDExListItemBase | UDExListGroupHeaderBase, str: string): boolean {\n const cleanedLabel = cleanLabel(item.label);\n if (this.isIncludes(cleanedLabel, str)) {\n item.label = this.addSearchTermTag(cleanedLabel, str);\n return true;\n }\n return false;\n }\n\n addSearchTermTag(text: string, str: string): string {\n return text.replace(new RegExp(`(${str})`, \"i\"), \"<b>$&</b>\");\n }\n\n isIncludes(string: string, value: string): boolean {\n return string.toLowerCase().includes(value.toLowerCase());\n }\n\n revertSelectedItems(items: Array<UDExListItemBase>) {\n items.forEach((item: UDExListItemBase) => {\n if (!item.disabled) {\n item.selected = false;\n }\n });\n }\n\n syncFilteredItems() {\n const search = this.getSearch();\n if (this._shouldFilterItems) {\n this._filteredItems = this.filterItems(this.getProcessedItems(), search.value);\n } else {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n handleKeyDown(e: KeyboardEvent) {\n if (isUp(e)) {\n this.handlePreviousItemFocus(e);\n }\n if (isDown(e)) {\n this.handleNextListItemFocus(e);\n }\n }\n\n getSlottedItems(items: Array<UDExListItemBase | UDExListGroupHeaderBase>): Array<UDExListItemBase | UDExListGroupHeaderBase> {\n const arr: Array<UDExListItemBase | UDExListGroupHeaderBase> = [];\n items.forEach(item => {\n arr.push(item);\n if (item.isGroup) {\n arr.push(...(item as UDExListGroupHeaderBase).getItems());\n }\n });\n return arr;\n }\n\n getItemFromList(itemId:string) {\n let menuItem = null;\n\n for (let i = 0; i < this.items.length; i++) {\n const item = this.items[i];\n\n if (item.isGroup) {\n const groupItems = (item as UDExListGroupHeaderBase).getItems();\n menuItem = groupItems.find(({ _id }) => _id === itemId);\n\n if (menuItem) {\n break;\n }\n } else if (item._id === itemId) {\n menuItem = item;\n break;\n }\n }\n\n return menuItem;\n }\n\n fireSelectionChange(itemId: string) {\n this.fireEvent(\"selection-change\", {\n selectedItems: this.selectedItems,\n item: this.getItemFromList(itemId),\n });\n }\n\n // moves focus to next list item\n handlePreviousItemFocus(e: KeyboardEvent) {\n const item = e.target as HTMLElement;\n const listItems = this.getDomListItems();\n const currentSelectIndex = this.getCurrentIndex(item);\n const previousSelectIndex = currentSelectIndex - 1;\n if (currentSelectIndex > 0) {\n e.preventDefault();\n (listItems[previousSelectIndex] as HTMLElement).focus();\n }\n }\n\n // moves focus to previous list item\n handleNextListItemFocus(e: KeyboardEvent) {\n const item = e.target as HTMLElement;\n const listItems = this.getDomListItems();\n const lastItemIndex = listItems.length - 1;\n const currentSelectIndex = this.getCurrentIndex(item);\n const nextSelectIndex = currentSelectIndex + 1;\n if (nextSelectIndex <= lastItemIndex) {\n e.preventDefault();\n (listItems[nextSelectIndex] as HTMLElement).focus();\n }\n }\n\n getCurrentIndex(item: Element): number {\n return this.getDomListItems().indexOf(item);\n }\n\n getSearch(): Search {\n return this.shadowRoot!.querySelector<Search>(\"[udex-search]\")!;\n }\n\n getDomListItems(): Element[] {\n const elementList = this.shadowRoot!.querySelector(\"[udex-list]\") as HTMLElement;\n return elementList ? Array.from(elementList.querySelectorAll(\"[udex-list-item]\")) : [];\n }\n\n setItemsModeAndControl(items: Array<UDExFilterMenuItem>) {\n items.forEach(item => {\n item.mode = this.mode;\n item.controlled = this.isControlled;\n });\n }\n\n getDataTokenId(e:CustomEvent): string {\n return e.detail.item.getAttribute(\"data-token-id\") as string;\n }\n\n getProcessedItems(): Array<ProcessedItem> {\n return this.items.map(item => {\n if (item.isGroup) {\n const groupItems = (item as UDExListGroupHeaderBase).getItems();\n this.setItemsModeAndControl(groupItems);\n }\n item.mode = this.mode;\n item.controlled = this.isControlled;\n return {\n item,\n groupItems: item.isGroup ? (item as UDExListGroupHeaderBase).getItems() : [],\n isGroup: item.isGroup,\n };\n });\n }\n\n get getNoResultText(): string {\n const hasTextProperty = this.noResultText !== \"undefined\" && this.noResultText.length > 0;\n return hasTextProperty ? this.noResultText : UDExSearchableListBase.i18nBundle.getText(NO_MATCHES_FOUND);\n }\n\n get isListEmpty(): boolean {\n return this._filteredItems.length === 0;\n }\n\n get selectedItems(): Array<UDExListItemBase> {\n return this.getSlottedItems(this.items).filter(({ selected }) => selected);\n }\n\n get modeMultiSelect(): boolean {\n return this.mode === ListMode.MultiSelect;\n }\n\n get modeSingleSelect(): boolean {\n return this.mode === ListMode.SingleSelect;\n }\n\n get modeRadioGroup(): boolean {\n return this.mode === ListMode.RadioGroup;\n }\n\n get isControlled(): boolean {\n const isGrouping = this.items.some(({ isGroup }) => isGroup);\n return this.mode === ListMode.MultiSelect && isGrouping;\n }\n\n get additionalClassName(): string {\n return `udex-searchable-list__header`;\n }\n\n get groupClassName(): string {\n const classHeader = `udex-searchable-list__header`;\n return this.showSearch ? `${classHeader} udex-searchable-list__header_no-margin` : classHeader;\n }\n\n get showSearch(): boolean {\n const items = this.getSlottedItems(this.items).filter(({ isGroup }) => !isGroup);\n return items.length > SHOW_SEARCH_AFTER_COUNT && !this.modeRadioGroup;\n }\n\n get roleForGroupList(): string {\n return this._filteredItems.some(element => element.isGroup) ? \"group\" : \"none\";\n }\n\n get accessibleRoleForList(): string {\n return this._filteredItems.some(element => element.isGroup) ? \"group\" : \"list\";\n }\n\n static async onDefine(): Promise<void> {\n UDExSearchableListBase.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n}\n\nexport default UDExSearchableListBase;\n"]}
1
+ {"version":3,"file":"SearchableListBase.js","sourceRoot":"","sources":["../src/SearchableListBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport {\n isDown, isUp,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { cleanLabel } from \"./utils/listItemLabelUtils.js\";\nimport Search from \"./Search.js\";\nimport UDExListItemBase from \"./ListItemBase.js\";\nimport UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport { ListMode } from \"./types/List.js\";\nimport UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport { ProcessedItem, SHOW_SEARCH_AFTER_COUNT } from \"./types/SearchableListBase.js\";\nimport { NO_MATCHES_FOUND } from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * A class to serve as a foundation\n * for the <code>UDExFilterMenu</code> , <code>UDExSelectBox</code> and <code>UDExCountrySelector/code> classes.\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @public\n */\n\n/**\n * Fired event when the user click on an item on the list.\n *\n * @event sap.ui.webc.web-components.UDExSearchableListBase#selectionChange\n * @public\n */\n@event(\"selection-change\", {\n detail: {\n selectedItems: { type: Array },\n item: { type: HTMLElement },\n },\n})\n\n/**\n * Fired event when the user clicks on the Select All header.\n *\n * @event sap.ui.webc.web-components.UDExSearchableListBase#selectAll\n * @public\n */\n@event(\"select-all\")\n\n/**\n * Fired event when the user clicks on the submitted icon in the search.\n *\n * @event sap.ui.webc.web-components.UDExSearchableListBase#submitSearch\n * @public\n */\n@event(\"submit-search\", {\n detail: {\n selectedItems: { type: Array },\n },\n})\n\n/**\n * Fired event when the user clicks on the reset button in the search.\n *\n * @event sap.ui.webc.web-components.UDExSearchableListBase#resetSearch\n * @public\n */\n@event(\"reset-search\")\n\n/**\n * Fired event when the user submitted the value in the search.\n *\n * @event sap.ui.webc.web-components.UDExSearchableListBase#changeSearch\n * @public\n */\n@event(\"change-search\", {\n detail: {\n value: { type: String },\n },\n})\n\nclass UDExSearchableListBase extends UI5Element {\n /**\n * Defines if the component would display a loading indicator.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n busy?: boolean;\n\n /**\n * Defines the delay in milliseconds, after which the busy indicator will show up for this component.\n *\n * @default 1000\n * @public\n */\n @property({ type: Number, defaultValue: 1000, validator: Integer })\n busyDelay?: number;\n\n /**\n * Defines the \"no result\" text of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n noResultText!: string;\n\n /**\n * Defines the placeholder of the search.\n *\n * @default \"\"\n * @public\n */\n @property()\n searchPlaceholder!: string;\n\n /**\n * Defines the selectAll option of the component.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n selectAll?: boolean;\n\n /**\n * Defines label text for select all header.\n *\n * @default \"Select All\"\n * @public\n */\n @property()\n selectAllLabel!: string;\n\n /**\n * Defines the mode of the component.\n *\n * @default \"SingleSelect\"\n * @public\n */\n @property({ type: ListMode, defaultValue: ListMode.SingleSelect })\n mode!: `${ListMode}`;\n\n /**\n * Slot for items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n items!: Array<UDExListItemBase | UDExListGroupHeaderBase>;\n\n /**\n * Defines the default accessible role for the list componnet.\n *\n * @default \"list\"\n * @public\n */\n @property({ type: String, defaultValue: \"list\" })\n defaultAccessibleRole!: string;\n\n @property({ type: Object })\n _filteredItems!: Array<ProcessedItem>;\n\n _shouldFilterItems?: boolean;\n\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this._shouldFilterItems = false;\n this._filteredItems = [];\n }\n\n onBeforeRendering() {\n if (!this._shouldFilterItems) {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n onItemPress(e:CustomEvent) {\n const dropdownItemId: string = e.detail.item.getAttribute(\"data-token-id\");\n this.handleDropdownItemPress(dropdownItemId);\n this.fireSelectionChange(dropdownItemId);\n }\n\n onFilterSelectAllHeaderPress(e:CustomEvent) {\n const dropdownHeaderItemId = this.getDataTokenId(e);\n this.getProcessedItems().forEach(({ item }) => {\n if (item._id === dropdownHeaderItemId) {\n this.activateHeaderAndSetAllItems(item as UDExListGroupHeaderBase);\n }\n });\n\n this.syncFilteredItems();\n this.fireSelectionChange(dropdownHeaderItemId);\n }\n\n activateHeaderAndSetAllItems(item: UDExListGroupHeaderBase) {\n item.activateHeader();\n item.setAllItems(false);\n }\n\n handleDropdownItemPress(dropdownItemId: string) {\n this.getProcessedItems().forEach(({ item, groupItems, isGroup }) => {\n if (isGroup) {\n const groupItem: UDExListItemBase = groupItems.find(({ _id }) => _id === dropdownItemId)!;\n if (groupItem) {\n this.handleItemClick(groupItem);\n this.handleGroupHeaderState(item as UDExListGroupHeaderBase);\n }\n } else if (item._id === dropdownItemId) {\n this.handleItemClick(item);\n }\n });\n\n this.syncFilteredItems();\n }\n\n handleItemClick(item: UDExListItemBase) {\n if (this.modeSingleSelect) {\n this.revertSelectedItems(this.selectedItems);\n }\n\n if (this.modeRadioGroup) {\n const groupHeader = item.parentElement as UDExListGroupHeaderBase;\n this.revertSelectedItems(groupHeader.getItems());\n }\n\n item.selected = !item.selected;\n }\n\n handleGroupHeaderState(groupHeader: UDExListGroupHeaderBase) {\n if (this.modeMultiSelect) {\n if (groupHeader.isFilterMenuSelectAllHeader) {\n groupHeader.deactivateHeader();\n\n if (groupHeader.isAllDeselected()) {\n groupHeader.activateHeader();\n }\n } else {\n groupHeader.handleHeaderState();\n }\n }\n }\n\n onHeaderPress(e:CustomEvent) {\n const dropdownHeaderItemId = this.getDataTokenId(e);\n this.getProcessedItems().forEach(({ item }) => {\n if (item._id === dropdownHeaderItemId) {\n (item as UDExListGroupHeaderBase).handleSelectionGroupState();\n }\n });\n\n this.syncFilteredItems();\n this.fireSelectionChange(dropdownHeaderItemId);\n }\n\n onSearch(e:CustomEvent) {\n const searchValue: string = e.detail.value;\n this._shouldFilterItems = true;\n this._filteredItems = this.filterItems(this.getProcessedItems(), searchValue);\n this.fireEvent(\"change-search\", { value: searchValue });\n }\n\n onReset() {\n this.revertSelectedItems(this.selectedItems);\n }\n\n onResetSearch() {\n this.resetSearch();\n this.fireEvent(\"reset-search\");\n }\n\n onSubmitSearch() {\n this.fireEvent(\"submit-search\", {\n selectedItems: this.selectedItems,\n });\n }\n\n /**\n * Reset the search value.\n * @public\n */\n resetSearch() {\n const search = this.getSearch();\n search.value = \"\";\n this._filteredItems = this.filterItems(this.getProcessedItems(), \"\");\n }\n\n filterItems(items: Array<ProcessedItem>, str: string): Array<ProcessedItem> {\n return items.filter(preparedItem => {\n const { isGroup, item } = preparedItem;\n if (isGroup) {\n preparedItem.groupItems = this.filterItemsForLabel(preparedItem.groupItems, str);\n return preparedItem.groupItems.length > 0;\n }\n return this.checkAndUpdateLabel(item, str);\n });\n }\n\n filterItemsForLabel(groupItems: Array<UDExListItemBase>, str: string): Array<UDExListItemBase> {\n return groupItems.filter(groupItem => this.checkAndUpdateLabel(groupItem, str));\n }\n\n checkAndUpdateLabel(item: UDExListItemBase | UDExListGroupHeaderBase, str: string): boolean {\n const cleanedLabel = cleanLabel(item.label);\n if (this.isIncludes(cleanedLabel, str)) {\n item.label = this.addSearchTermTag(cleanedLabel, str);\n return true;\n }\n return false;\n }\n\n addSearchTermTag(text: string, str: string): string {\n return text.replace(new RegExp(`(${str})`, \"i\"), \"<b>$&</b>\");\n }\n\n isIncludes(string: string, value: string): boolean {\n return string.toLowerCase().includes(value.toLowerCase());\n }\n\n revertSelectedItems(items: Array<UDExListItemBase>) {\n items.forEach((item: UDExListItemBase) => {\n if (!item.disabled) {\n item.selected = false;\n }\n });\n }\n\n syncFilteredItems() {\n const search = this.getSearch();\n if (this._shouldFilterItems) {\n this._filteredItems = this.filterItems(this.getProcessedItems(), search.value);\n } else {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n handleKeyDown(e: KeyboardEvent) {\n if (isUp(e)) {\n this.handlePreviousItemFocus(e);\n }\n if (isDown(e)) {\n this.handleNextListItemFocus(e);\n }\n }\n\n getSlottedItems(items: Array<UDExListItemBase | UDExListGroupHeaderBase>): Array<UDExListItemBase | UDExListGroupHeaderBase> {\n const arr: Array<UDExListItemBase | UDExListGroupHeaderBase> = [];\n items.forEach(item => {\n arr.push(item);\n if (item.isGroup) {\n arr.push(...(item as UDExListGroupHeaderBase).getItems());\n }\n });\n return arr;\n }\n\n getItemFromList(itemId:string) {\n let menuItem = null;\n\n for (let i = 0; i < this.items.length; i++) {\n const item = this.items[i];\n\n if (item.isGroup) {\n const groupItems = (item as UDExListGroupHeaderBase).getItems();\n menuItem = groupItems.find(({ _id }) => _id === itemId);\n\n if (menuItem) {\n break;\n }\n } else if (item._id === itemId) {\n menuItem = item;\n break;\n }\n }\n\n return menuItem;\n }\n\n fireSelectionChange(itemId: string) {\n this.fireEvent(\"selection-change\", {\n selectedItems: this.selectedItems,\n item: this.getItemFromList(itemId),\n });\n }\n\n // moves focus to next list item\n handlePreviousItemFocus(e: KeyboardEvent) {\n const item = e.target as HTMLElement;\n const listItems = this.getDomListItems();\n const currentSelectIndex = this.getCurrentIndex(item);\n const previousSelectIndex = currentSelectIndex - 1;\n if (currentSelectIndex > 0) {\n e.preventDefault();\n (listItems[previousSelectIndex] as HTMLElement).focus();\n }\n }\n\n // moves focus to previous list item\n handleNextListItemFocus(e: KeyboardEvent) {\n const item = e.target as HTMLElement;\n const listItems = this.getDomListItems();\n const lastItemIndex = listItems.length - 1;\n const currentSelectIndex = this.getCurrentIndex(item);\n const nextSelectIndex = currentSelectIndex + 1;\n if (nextSelectIndex <= lastItemIndex) {\n e.preventDefault();\n (listItems[nextSelectIndex] as HTMLElement).focus();\n }\n }\n\n getCurrentIndex(item: Element): number {\n return this.getDomListItems().indexOf(item);\n }\n\n getSearch(): Search {\n return this.shadowRoot!.querySelector<Search>(\"[udex-search]\")!;\n }\n\n getDomListItems(): Element[] {\n const elementList = this.shadowRoot!.querySelector(\"[udex-list]\") as HTMLElement;\n return elementList ? Array.from(elementList.querySelectorAll(\"[udex-list-item]\")) : [];\n }\n\n setItemsModeAndControl(items: Array<UDExFilterMenuItem>) {\n items.forEach(item => {\n item.mode = this.mode;\n item.controlled = this.isControlled;\n });\n }\n\n getDataTokenId(e:CustomEvent): string {\n return e.detail.item.getAttribute(\"data-token-id\") as string;\n }\n\n getProcessedItems(): Array<ProcessedItem> {\n return this.items.map(item => {\n if (item.isGroup) {\n const groupItems = (item as UDExListGroupHeaderBase).getItems();\n this.setItemsModeAndControl(groupItems);\n }\n item.mode = this.mode;\n item.controlled = this.isControlled;\n return {\n item,\n groupItems: item.isGroup ? (item as UDExListGroupHeaderBase).getItems() : [],\n isGroup: item.isGroup,\n };\n });\n }\n\n get getNoResultText(): string {\n const hasTextProperty = this.noResultText !== \"undefined\" && this.noResultText.length > 0;\n return hasTextProperty ? this.noResultText : UDExSearchableListBase.i18nBundle.getText(NO_MATCHES_FOUND);\n }\n\n get isListEmpty(): boolean {\n return this._filteredItems.length === 0;\n }\n\n get selectedItems(): Array<UDExListItemBase> {\n return this.getSlottedItems(this.items).filter(({ selected }) => selected);\n }\n\n get modeMultiSelect(): boolean {\n return this.mode === ListMode.MultiSelect;\n }\n\n get modeSingleSelect(): boolean {\n return this.mode === ListMode.SingleSelect;\n }\n\n get modeRadioGroup(): boolean {\n return this.mode === ListMode.RadioGroup;\n }\n\n get isControlled(): boolean {\n const isGrouping = this.items.some(({ isGroup }) => isGroup);\n return this.mode === ListMode.MultiSelect && isGrouping;\n }\n\n get additionalClassName(): string {\n return `udex-searchable-list__header`;\n }\n\n get groupClassName(): string {\n const classHeader = `udex-searchable-list__header`;\n return this.showSearch ? `${classHeader} udex-searchable-list__header_no-margin` : classHeader;\n }\n\n get showSearch(): boolean {\n const items = this.getSlottedItems(this.items).filter(({ isGroup }) => !isGroup);\n return items.length > SHOW_SEARCH_AFTER_COUNT && !this.modeRadioGroup;\n }\n\n get roleForGroupList(): string {\n return this._filteredItems.some(element => element.isGroup) ? \"group\" : \"none\";\n }\n\n get accessibleRoleForList(): string {\n return this._filteredItems.some(element => element.isGroup) ? \"group\" : this.defaultAccessibleRole;\n }\n\n static async onDefine(): Promise<void> {\n UDExSearchableListBase.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n}\n\nexport default UDExSearchableListBase;\n"]}
@@ -17,7 +17,7 @@ export type ItemClickDetail = {
17
17
  * For the <code>udex-secondary-navigation</code>
18
18
  * <h3>ES6 Module Import</h3>
19
19
  *
20
- * <code>import "@udex/web-components/dist/SecondaryNavigation.js";</code>
20
+ * <code>import "@sapudex/web-components/dist/SecondaryNavigation.js";</code>
21
21
  *
22
22
  * @constructor
23
23
  * @extends UI5Element
@@ -65,6 +65,12 @@ declare class UDExSecondaryNavigation extends UI5Element {
65
65
  * @public
66
66
  */
67
67
  titleHref: string;
68
+ /**
69
+ * Defines the height of the dropdown opened on mobile screen.
70
+ *
71
+ * @public
72
+ */
73
+ maxDropdownHeight: string;
68
74
  _selectedMore: boolean;
69
75
  _overflowItems: Array<NavItem>;
70
76
  _visibleItems: Array<NavItem>;
@@ -35,7 +35,7 @@ const rootClass = "udex-secondary-navigation__root";
35
35
  * For the <code>udex-secondary-navigation</code>
36
36
  * <h3>ES6 Module Import</h3>
37
37
  *
38
- * <code>import "@udex/web-components/dist/SecondaryNavigation.js";</code>
38
+ * <code>import "@sapudex/web-components/dist/SecondaryNavigation.js";</code>
39
39
  *
40
40
  * @constructor
41
41
  * @extends UI5Element
@@ -43,7 +43,7 @@ const rootClass = "udex-secondary-navigation__root";
43
43
  */
44
44
  let UDExSecondaryNavigation = UDExSecondaryNavigation_1 = class UDExSecondaryNavigation extends UI5Element {
45
45
  static async onDefine() {
46
- UDExSecondaryNavigation_1.i18nBundle = await getI18nBundle("@udex/web-components");
46
+ UDExSecondaryNavigation_1.i18nBundle = await getI18nBundle("@sapudex/web-components");
47
47
  }
48
48
  constructor() {
49
49
  super();
@@ -318,6 +318,9 @@ __decorate([
318
318
  __decorate([
319
319
  property()
320
320
  ], UDExSecondaryNavigation.prototype, "titleHref", void 0);
321
+ __decorate([
322
+ property({ type: String })
323
+ ], UDExSecondaryNavigation.prototype, "maxDropdownHeight", void 0);
321
324
  __decorate([
322
325
  property({ type: Boolean, noAttribute: true })
323
326
  ], UDExSecondaryNavigation.prototype, "_selectedMore", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"SecondaryNavigation.js","sourceRoot":"","sources":["../src/SecondaryNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element, { ChangeInfo } 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 event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport {\n isEscape, isLeft, isRight, isDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport UDExSecondaryNavigationItem from \"./SecondaryNavigationItem.js\";\nimport UDExSecondaryNavigationSubItem from \"./SecondaryNavigationSubItem.js\";\nimport UDExSecondaryNavigationItemBase, { NavItem } from \"./SecondaryNavigationItemBase.js\";\nimport { MORE } from \"./generated/i18n/i18n-defaults.js\";\nimport SecondaryNavigationTemplate from \"./generated/templates/SecondaryNavigationTemplate.lit.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n// Styles\nimport SecondaryNavigationCss from \"./generated/themes/SecondaryNavigation.css.js\";\n\nconst canvasContentFont: string = \"16px / 17.6px '72 Brand Variable'\";\nconst rootClass = \"udex-secondary-navigation__root\";\n\nexport type ItemClickDetail = {\n originalEvent: Event,\n clickedItem: NavItem;\n clickedIndex: number;\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-secondary-navigation</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/SecondaryNavigation.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-secondary-navigation\",\n renderer: litRender,\n styles: SecondaryNavigationCss,\n template: SecondaryNavigationTemplate,\n dependencies: [UDExSecondaryNavigationItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event<ItemClickDetail>(\"item-click\", {\n detail: {\n originalEvent: {\n type: Event,\n },\n clickedItem: {\n type: Object,\n },\n clickedIndex: {\n type: Integer,\n },\n },\n})\n\nclass UDExSecondaryNavigation extends UI5Element {\n /**\n * Defines an aria label for the mobile menu opener\n *\n * @public\n */\n @property({ type: String })\n mobileMenuOpenerAriaLabel!: string;\n\n /**\n * List of the nav items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n navItems!: string;\n\n /**\n * Slot for breadcrumbs.\n *\n * @slot breadcrumbs\n * @public\n */\n @slot({ type: HTMLElement })\n breadcrumbs!: Array<HTMLElement>;\n\n /**\n * Slot for action buttons.\n *\n * @slot buttons\n * @public\n */\n @slot({ type: HTMLElement })\n buttons!: Array<HTMLElement>;\n\n /**\n * Defines the title of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n title!: string;\n\n /**\n * Defines the href of the title.\n *\n * @default \"\"\n * @public\n */\n @property()\n titleHref!: string;\n\n @property({ type: Boolean, noAttribute: true })\n _selectedMore!: boolean;\n\n @property({ type: Object, multiple: true, noAttribute: true })\n _overflowItems!: Array<NavItem>;\n\n @property({ type: Object, multiple: true, noAttribute: true })\n _visibleItems!: Array<NavItem>;\n\n @property({ type: Boolean, noAttribute: true })\n _requestRender = false;\n\n @property({ type: Boolean, noAttribute: true })\n _mobileBtnExpanded = false;\n\n _navItems!: Array<NavItem>;\n _showMoreButton: boolean;\n _rootHolder!: HTMLElement | null | undefined;\n _clickedNavItem!: UDExSecondaryNavigationItem;\n _boundReflowItems: () => void;\n\n static i18nBundle: any;\n\n static async onDefine(): Promise<void> {\n UDExSecondaryNavigation.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n constructor() {\n super();\n this._showMoreButton = true;\n this._boundReflowItems = this._handleResize.bind(this);\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n\n ResizeHandler.register(this, this._boundReflowItems);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._boundReflowItems);\n }\n\n _handleResize() {\n this.reflowItems();\n if (this._clickedNavItem && this.isDesktopScreen) {\n this._clickedNavItem.closeDropdown();\n }\n }\n\n onInvalidation(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"navItems\") {\n this.reflowItems();\n }\n }\n\n onAfterRendering(): void {\n this._rootHolder = this.rootHolder;\n this.handleOutsideClick();\n }\n\n refreshRendering(): void {\n this._requestRender = !this._requestRender;\n }\n\n reflowItems(): void {\n const availableWidth = this.rootHolder.offsetWidth - (this.heading?.offsetWidth || 0) - (this.optionalButtons?.offsetWidth || 0);\n const moreButtonWidth = this.getMoreButtonWidth();\n const itemsGap = 20;\n const widths = this.parsedItems.map(item => this.getItemWidth(item));\n const steps: Array<number> = [];\n\n widths?.forEach((itemWidth, index) => {\n steps.push((steps.at(-1) || 0) + itemWidth + (index && itemsGap));\n });\n\n if ((steps.at(-1) || 0) <= availableWidth) {\n this._visibleItems.splice(0, Infinity, ...this.parsedItems);\n this._showMoreButton = false;\n this.refreshRendering();\n return;\n }\n\n if (this.parsedItems) {\n // @ts-ignore\n const lastVisibleIndex: number = steps.findLastIndex((size: number) => size < (availableWidth - moreButtonWidth - itemsGap));\n this._visibleItems.splice(0, Infinity, ...this.parsedItems.slice(0, lastVisibleIndex + 1));\n this._overflowItems.splice(0, Infinity, ...this.parsedItems.slice(lastVisibleIndex + 1));\n this._showMoreButton = true;\n this.refreshRendering();\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n e.stopPropagation();\n const item = e.target as UDExSecondaryNavigationItem;\n\n if (isLeft(e)) {\n return this.focusPrevNavItem(e);\n }\n if (isRight(e)) {\n return this.focusNextNavItem(e);\n }\n if (isEscape(e) && item.hasNestedItems) {\n return item.closeDropdown();\n }\n if (isDown(e) && item.hasNestedItems) {\n item.openDropdown();\n }\n }\n\n focusPrevNavItem(e: KeyboardEvent): void {\n const item = e.target as UDExSecondaryNavigationItem;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const previousSelectIndex = currentSelectedIndex - 1;\n if (currentSelectedIndex > 0) {\n e.preventDefault();\n this.domNavItems[previousSelectIndex]?.focus();\n }\n }\n\n focusNextNavItem(e: KeyboardEvent): void {\n const item = e.target as UDExSecondaryNavigationItem;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const lastItemIndex = this.domNavItems.length - 1;\n const nextSelectIndex = currentSelectedIndex + 1;\n if (nextSelectIndex < lastItemIndex) {\n e.preventDefault();\n this.domNavItems[nextSelectIndex].focus();\n }\n }\n\n getItemWidth(item: NavItem): number {\n const context = this.getCanvasContext();\n context.font = canvasContentFont;\n\n return Math.ceil(context.measureText(item.title).width);\n }\n\n getMoreButtonWidth(): number {\n const context = this.getCanvasContext();\n context.font = canvasContentFont;\n\n return Math.ceil(context.measureText(this.moreButtonText).width);\n }\n\n getCanvasContext(): CanvasRenderingContext2D {\n const canvas = document.createElement(\"canvas\");\n return canvas.getContext(\"2d\")!;\n }\n\n getCurrentIndex(item: UDExSecondaryNavigationItem): number {\n return this.domNavItems.indexOf(item);\n }\n\n handleItemClick(e: CustomEvent): void {\n const clickedItem = e.detail.item as UDExSecondaryNavigationItem;\n const {\n path, target, title, active, subItems, _id, mobileLinkTitle,\n } = clickedItem;\n\n const prevented = !this.fireEventItemClick(e, {\n path,\n target,\n title,\n active,\n mobileLinkTitle,\n items: subItems,\n });\n\n if (prevented) {\n e.preventDefault();\n return;\n }\n\n this._clickedNavItem = clickedItem;\n this.closePrevDropdown(_id);\n\n if (!subItems.length) {\n this.setActiveItem(this.parsedItems, clickedItem);\n }\n }\n\n handleSubItemClick(e: CustomEvent): void {\n const item = e.detail.item as UDExSecondaryNavigationSubItem;\n const { items } = item as NavItem;\n const prevented = !this.fireEventItemClick(e, item);\n\n if (prevented) {\n e.preventDefault();\n return;\n }\n\n if (this.isMobileScreen && !items) {\n this.mobileNav.closeDropdown();\n }\n\n if (!items) {\n this.setActiveItem(this.parsedItems, item);\n this._clickedNavItem?.closeDropdown();\n }\n }\n\n fireEventItemClick(\n e: CustomEvent,\n {\n items, target, path, title, active, mobileLinkTitle,\n }: NavItem,\n ): boolean {\n return this.fireEvent(\"item-click\", {\n originalEvent: e,\n clickedItem: {\n mobileLinkTitle: mobileLinkTitle || \"\",\n path: path || \"\",\n active: active || false,\n items: items || [],\n target,\n title,\n },\n clickedIndex: e.detail.index,\n }, true);\n }\n\n setActiveItem(navItems: Array<NavItem>, clickedItem: UDExSecondaryNavigationItemBase): void {\n const updateNav = (items: Array<NavItem>, { title, path }: UDExSecondaryNavigationItemBase) => {\n items.forEach(item => {\n if (item.title === title && (item.path === path || !item.path)) {\n item.active = true;\n return;\n }\n delete item.active;\n\n if (item.items) {\n updateNav(item.items, clickedItem);\n }\n });\n };\n\n updateNav(navItems, clickedItem);\n this.navItems = JSON.stringify(navItems);\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"mousedown\", this.outsideClickListener);\n }\n\n outsideClickListener = (e: Event): void => {\n if (this.isMobileScreen && e.target !== this) {\n this.closeMobileDropdown();\n return;\n }\n\n if (this.isDesktopScreen) {\n this.handleDesktopDropdown(e);\n }\n };\n\n closeMobileDropdown(): void {\n this.mobileNav?.closeDropdown();\n }\n\n handleDesktopDropdown(e: Event): void {\n const isClickedNavItem = e.composedPath().includes(this._clickedNavItem);\n if (!isClickedNavItem && this._clickedNavItem) {\n this._clickedNavItem.closeDropdown();\n }\n }\n\n closePrevDropdown(clickedItemId: string): void {\n this.domNavItems.forEach(item => {\n if (clickedItemId !== item._id) {\n item.closeDropdown();\n }\n });\n }\n\n parseArrayFromString<T>(string: string): T[] {\n return string ? JSON.parse(string) as T[] : [];\n }\n\n get domNavItems(): Array<UDExSecondaryNavigationItem> {\n const items = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationItem>(\"[udex-secondary-navigation-item]\");\n return items ? Array.from(items) : [];\n }\n\n get rootHolder(): HTMLElement {\n return (this.shadowRoot ? this.shadowRoot.querySelector<HTMLElement>(\".udex-secondary-navigation__root\") : undefined)!;\n }\n\n get heading(): HTMLElement {\n return (this.shadowRoot ? this.shadowRoot.querySelector<HTMLElement>(\".udex-secondary-navigation__heading\") : undefined)!;\n }\n\n get mobileNav(): UDExSecondaryNavigationItem {\n return (this.shadowRoot ? this.shadowRoot.querySelector<UDExSecondaryNavigationItem>(\".udex-secondary-navigation__mobile-nav\") : undefined)!;\n }\n\n get optionalButtons(): HTMLElement | null | undefined {\n return this.shadowRoot?.querySelector<HTMLElement>(\".udex-secondary-navigation__buttons\");\n }\n\n get moreButtonText(): string {\n return UDExSecondaryNavigation.i18nBundle.getText(MORE) as string;\n }\n\n get parsedItems(): Array<NavItem> {\n return this.parseArrayFromString<NavItem>(this.navItems);\n }\n\n get visibleItems(): Array<NavItem> {\n return this.isDesktopScreen ? this._visibleItems : this.parsedItems;\n }\n\n get hasBreadcrumbsSlot(): boolean {\n return !!this.getSlottedNodes(\"breadcrumbs\").length && this.isDesktopScreen;\n }\n\n get rootClass(): string {\n return `${rootClass} ${this.hasBreadcrumbsSlot ? \"\" : `${rootClass}_centered`}`.trim();\n }\n\n get hasDesktopButtonsSlot(): boolean {\n return this.hasButtons && this.isDesktopScreen;\n }\n\n get hasMobileButtonsSlot(): boolean {\n return this.hasButtons && this.isMobileScreen;\n }\n\n get hasButtons(): boolean {\n return !!this.getSlottedNodes(\"buttons\").length;\n }\n\n get isDesktopScreen(): boolean {\n return BreakpointUtils.isAtLeast(\"M\");\n }\n\n get isMobileScreen(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n}\n\nUDExSecondaryNavigation.define();\n\nexport default UDExSecondaryNavigation;\n"]}
1
+ {"version":3,"file":"SecondaryNavigation.js","sourceRoot":"","sources":["../src/SecondaryNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element, { ChangeInfo } 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 event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport {\n isEscape, isLeft, isRight, isDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport UDExSecondaryNavigationItem from \"./SecondaryNavigationItem.js\";\nimport UDExSecondaryNavigationSubItem from \"./SecondaryNavigationSubItem.js\";\nimport UDExSecondaryNavigationItemBase, { NavItem } from \"./SecondaryNavigationItemBase.js\";\nimport { MORE } from \"./generated/i18n/i18n-defaults.js\";\nimport SecondaryNavigationTemplate from \"./generated/templates/SecondaryNavigationTemplate.lit.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n// Styles\nimport SecondaryNavigationCss from \"./generated/themes/SecondaryNavigation.css.js\";\n\nconst canvasContentFont: string = \"16px / 17.6px '72 Brand Variable'\";\nconst rootClass = \"udex-secondary-navigation__root\";\n\nexport type ItemClickDetail = {\n originalEvent: Event,\n clickedItem: NavItem;\n clickedIndex: number;\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-secondary-navigation</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/SecondaryNavigation.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-secondary-navigation\",\n renderer: litRender,\n styles: SecondaryNavigationCss,\n template: SecondaryNavigationTemplate,\n dependencies: [UDExSecondaryNavigationItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event<ItemClickDetail>(\"item-click\", {\n detail: {\n originalEvent: {\n type: Event,\n },\n clickedItem: {\n type: Object,\n },\n clickedIndex: {\n type: Integer,\n },\n },\n})\n\nclass UDExSecondaryNavigation extends UI5Element {\n /**\n * Defines an aria label for the mobile menu opener\n *\n * @public\n */\n @property({ type: String })\n mobileMenuOpenerAriaLabel!: string;\n\n /**\n * List of the nav items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n navItems!: string;\n\n /**\n * Slot for breadcrumbs.\n *\n * @slot breadcrumbs\n * @public\n */\n @slot({ type: HTMLElement })\n breadcrumbs!: Array<HTMLElement>;\n\n /**\n * Slot for action buttons.\n *\n * @slot buttons\n * @public\n */\n @slot({ type: HTMLElement })\n buttons!: Array<HTMLElement>;\n\n /**\n * Defines the title of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n title!: string;\n\n /**\n * Defines the href of the title.\n *\n * @default \"\"\n * @public\n */\n @property()\n titleHref!: string;\n /**\n * Defines the height of the dropdown opened on mobile screen.\n *\n * @public\n */\n @property({ type: String })\n maxDropdownHeight!: string;\n\n @property({ type: Boolean, noAttribute: true })\n _selectedMore!: boolean;\n\n @property({ type: Object, multiple: true, noAttribute: true })\n _overflowItems!: Array<NavItem>;\n\n @property({ type: Object, multiple: true, noAttribute: true })\n _visibleItems!: Array<NavItem>;\n\n @property({ type: Boolean, noAttribute: true })\n _requestRender = false;\n\n @property({ type: Boolean, noAttribute: true })\n _mobileBtnExpanded = false;\n\n _navItems!: Array<NavItem>;\n _showMoreButton: boolean;\n _rootHolder!: HTMLElement | null | undefined;\n _clickedNavItem!: UDExSecondaryNavigationItem;\n _boundReflowItems: () => void;\n\n static i18nBundle: any;\n\n static async onDefine(): Promise<void> {\n UDExSecondaryNavigation.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n constructor() {\n super();\n this._showMoreButton = true;\n this._boundReflowItems = this._handleResize.bind(this);\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n\n ResizeHandler.register(this, this._boundReflowItems);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._boundReflowItems);\n }\n\n _handleResize() {\n this.reflowItems();\n if (this._clickedNavItem && this.isDesktopScreen) {\n this._clickedNavItem.closeDropdown();\n }\n }\n\n onInvalidation(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"navItems\") {\n this.reflowItems();\n }\n }\n\n onAfterRendering(): void {\n this._rootHolder = this.rootHolder;\n this.handleOutsideClick();\n }\n\n refreshRendering(): void {\n this._requestRender = !this._requestRender;\n }\n\n reflowItems(): void {\n const availableWidth = this.rootHolder.offsetWidth - (this.heading?.offsetWidth || 0) - (this.optionalButtons?.offsetWidth || 0);\n const moreButtonWidth = this.getMoreButtonWidth();\n const itemsGap = 20;\n const widths = this.parsedItems.map(item => this.getItemWidth(item));\n const steps: Array<number> = [];\n\n widths?.forEach((itemWidth, index) => {\n steps.push((steps.at(-1) || 0) + itemWidth + (index && itemsGap));\n });\n\n if ((steps.at(-1) || 0) <= availableWidth) {\n this._visibleItems.splice(0, Infinity, ...this.parsedItems);\n this._showMoreButton = false;\n this.refreshRendering();\n return;\n }\n\n if (this.parsedItems) {\n // @ts-ignore\n const lastVisibleIndex: number = steps.findLastIndex((size: number) => size < (availableWidth - moreButtonWidth - itemsGap));\n this._visibleItems.splice(0, Infinity, ...this.parsedItems.slice(0, lastVisibleIndex + 1));\n this._overflowItems.splice(0, Infinity, ...this.parsedItems.slice(lastVisibleIndex + 1));\n this._showMoreButton = true;\n this.refreshRendering();\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n e.stopPropagation();\n const item = e.target as UDExSecondaryNavigationItem;\n\n if (isLeft(e)) {\n return this.focusPrevNavItem(e);\n }\n if (isRight(e)) {\n return this.focusNextNavItem(e);\n }\n if (isEscape(e) && item.hasNestedItems) {\n return item.closeDropdown();\n }\n if (isDown(e) && item.hasNestedItems) {\n item.openDropdown();\n }\n }\n\n focusPrevNavItem(e: KeyboardEvent): void {\n const item = e.target as UDExSecondaryNavigationItem;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const previousSelectIndex = currentSelectedIndex - 1;\n if (currentSelectedIndex > 0) {\n e.preventDefault();\n this.domNavItems[previousSelectIndex]?.focus();\n }\n }\n\n focusNextNavItem(e: KeyboardEvent): void {\n const item = e.target as UDExSecondaryNavigationItem;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const lastItemIndex = this.domNavItems.length - 1;\n const nextSelectIndex = currentSelectedIndex + 1;\n if (nextSelectIndex < lastItemIndex) {\n e.preventDefault();\n this.domNavItems[nextSelectIndex].focus();\n }\n }\n\n getItemWidth(item: NavItem): number {\n const context = this.getCanvasContext();\n context.font = canvasContentFont;\n\n return Math.ceil(context.measureText(item.title).width);\n }\n\n getMoreButtonWidth(): number {\n const context = this.getCanvasContext();\n context.font = canvasContentFont;\n\n return Math.ceil(context.measureText(this.moreButtonText).width);\n }\n\n getCanvasContext(): CanvasRenderingContext2D {\n const canvas = document.createElement(\"canvas\");\n return canvas.getContext(\"2d\")!;\n }\n\n getCurrentIndex(item: UDExSecondaryNavigationItem): number {\n return this.domNavItems.indexOf(item);\n }\n\n handleItemClick(e: CustomEvent): void {\n const clickedItem = e.detail.item as UDExSecondaryNavigationItem;\n const {\n path, target, title, active, subItems, _id, mobileLinkTitle,\n } = clickedItem;\n\n const prevented = !this.fireEventItemClick(e, {\n path,\n target,\n title,\n active,\n mobileLinkTitle,\n items: subItems,\n });\n\n if (prevented) {\n e.preventDefault();\n return;\n }\n\n this._clickedNavItem = clickedItem;\n this.closePrevDropdown(_id);\n\n if (!subItems.length) {\n this.setActiveItem(this.parsedItems, clickedItem);\n }\n }\n\n handleSubItemClick(e: CustomEvent): void {\n const item = e.detail.item as UDExSecondaryNavigationSubItem;\n const { items } = item as NavItem;\n const prevented = !this.fireEventItemClick(e, item);\n\n if (prevented) {\n e.preventDefault();\n return;\n }\n\n if (this.isMobileScreen && !items) {\n this.mobileNav.closeDropdown();\n }\n\n if (!items) {\n this.setActiveItem(this.parsedItems, item);\n this._clickedNavItem?.closeDropdown();\n }\n }\n\n fireEventItemClick(\n e: CustomEvent,\n {\n items, target, path, title, active, mobileLinkTitle,\n }: NavItem,\n ): boolean {\n return this.fireEvent(\"item-click\", {\n originalEvent: e,\n clickedItem: {\n mobileLinkTitle: mobileLinkTitle || \"\",\n path: path || \"\",\n active: active || false,\n items: items || [],\n target,\n title,\n },\n clickedIndex: e.detail.index,\n }, true);\n }\n\n setActiveItem(navItems: Array<NavItem>, clickedItem: UDExSecondaryNavigationItemBase): void {\n const updateNav = (items: Array<NavItem>, { title, path }: UDExSecondaryNavigationItemBase) => {\n items.forEach(item => {\n if (item.title === title && (item.path === path || !item.path)) {\n item.active = true;\n return;\n }\n delete item.active;\n\n if (item.items) {\n updateNav(item.items, clickedItem);\n }\n });\n };\n\n updateNav(navItems, clickedItem);\n this.navItems = JSON.stringify(navItems);\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"mousedown\", this.outsideClickListener);\n }\n\n outsideClickListener = (e: Event): void => {\n if (this.isMobileScreen && e.target !== this) {\n this.closeMobileDropdown();\n return;\n }\n\n if (this.isDesktopScreen) {\n this.handleDesktopDropdown(e);\n }\n };\n\n closeMobileDropdown(): void {\n this.mobileNav?.closeDropdown();\n }\n\n handleDesktopDropdown(e: Event): void {\n const isClickedNavItem = e.composedPath().includes(this._clickedNavItem);\n if (!isClickedNavItem && this._clickedNavItem) {\n this._clickedNavItem.closeDropdown();\n }\n }\n\n closePrevDropdown(clickedItemId: string): void {\n this.domNavItems.forEach(item => {\n if (clickedItemId !== item._id) {\n item.closeDropdown();\n }\n });\n }\n\n parseArrayFromString<T>(string: string): T[] {\n return string ? JSON.parse(string) as T[] : [];\n }\n\n get domNavItems(): Array<UDExSecondaryNavigationItem> {\n const items = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationItem>(\"[udex-secondary-navigation-item]\");\n return items ? Array.from(items) : [];\n }\n\n get rootHolder(): HTMLElement {\n return (this.shadowRoot ? this.shadowRoot.querySelector<HTMLElement>(\".udex-secondary-navigation__root\") : undefined)!;\n }\n\n get heading(): HTMLElement {\n return (this.shadowRoot ? this.shadowRoot.querySelector<HTMLElement>(\".udex-secondary-navigation__heading\") : undefined)!;\n }\n\n get mobileNav(): UDExSecondaryNavigationItem {\n return (this.shadowRoot ? this.shadowRoot.querySelector<UDExSecondaryNavigationItem>(\".udex-secondary-navigation__mobile-nav\") : undefined)!;\n }\n\n get optionalButtons(): HTMLElement | null | undefined {\n return this.shadowRoot?.querySelector<HTMLElement>(\".udex-secondary-navigation__buttons\");\n }\n\n get moreButtonText(): string {\n return UDExSecondaryNavigation.i18nBundle.getText(MORE) as string;\n }\n\n get parsedItems(): Array<NavItem> {\n return this.parseArrayFromString<NavItem>(this.navItems);\n }\n\n get visibleItems(): Array<NavItem> {\n return this.isDesktopScreen ? this._visibleItems : this.parsedItems;\n }\n\n get hasBreadcrumbsSlot(): boolean {\n return !!this.getSlottedNodes(\"breadcrumbs\").length && this.isDesktopScreen;\n }\n\n get rootClass(): string {\n return `${rootClass} ${this.hasBreadcrumbsSlot ? \"\" : `${rootClass}_centered`}`.trim();\n }\n\n get hasDesktopButtonsSlot(): boolean {\n return this.hasButtons && this.isDesktopScreen;\n }\n\n get hasMobileButtonsSlot(): boolean {\n return this.hasButtons && this.isMobileScreen;\n }\n\n get hasButtons(): boolean {\n return !!this.getSlottedNodes(\"buttons\").length;\n }\n\n get isDesktopScreen(): boolean {\n return BreakpointUtils.isAtLeast(\"M\");\n }\n\n get isMobileScreen(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n}\n\nUDExSecondaryNavigation.define();\n\nexport default UDExSecondaryNavigation;\n"]}
@@ -1,3 +1,4 @@
1
+ import { RelativeValue } from "./utils/parseRelativeUnits.js";
1
2
  import UDExSecondaryNavigationSubItem from "./SecondaryNavigationSubItem.js";
2
3
  import UDExSecondaryNavigationItemBase, { NavItem } from "./SecondaryNavigationItemBase.js";
3
4
  import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
@@ -13,7 +14,7 @@ export declare const menuItemRole: string;
13
14
  * For the <code>udex-secondary-navigation-item</code>
14
15
  * <h3>ES6 Module Import</h3>
15
16
  *
16
- * <code>import "@udex/web-components/dist/SecondaryNavigationItem.js";</code>
17
+ * <code>import "@sapudex/web-components/dist/SecondaryNavigationItem.js";</code>
17
18
  *
18
19
  * @constructor
19
20
  * @extends UDExSecondaryNavigationItemBase
@@ -60,6 +61,12 @@ declare class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBas
60
61
  * @private
61
62
  */
62
63
  _navItemsLength: number;
64
+ /**
65
+ * Defines the height of the dropdown opened on mobile screen.
66
+ *
67
+ * @private
68
+ */
69
+ _maxHeight: RelativeValue;
63
70
  /**
64
71
  * Defines processed items.
65
72
  *
@@ -91,12 +98,16 @@ declare class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBas
91
98
  setPrevNestedItems(): void;
92
99
  setNestedItems({ title, items, mobileLinkTitle }: NavItem): void;
93
100
  setDropdownItems(): void;
101
+ setDropdownHeight(): void;
102
+ get _dropdownMaxHeightExceeds(): boolean;
103
+ get heightSatisfiesType(): boolean;
94
104
  setDropdownHorizontalAlign(): void;
95
105
  setTabIndex(item: UDExSecondaryNavigationSubItem): void;
96
106
  unsetTabIndex(item: UDExSecondaryNavigationSubItem): void;
97
107
  onFirstSubItemFocus(): void;
98
108
  onLastSubItemFocus(): void;
99
109
  onShouldFocusFirstSubItem(): void;
110
+ get dropdown(): HTMLElement;
100
111
  get isLastItem(): boolean;
101
112
  get domNavItems(): Array<UDExSecondaryNavigationSubItem>;
102
113
  get hasNestedItems(): boolean;
@@ -12,6 +12,8 @@ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
12
12
  import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
13
13
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
14
14
  import { isLeft, isRight, isUp, isDown, isEscape, isSpace, isEnter, isHome, isEnd, isTabNext, isTabPrevious, } from "@ui5/webcomponents-base/dist/Keys.js";
15
+ import getEffectiveScrollbarStyle from "@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js";
16
+ import parseRelativeUnits from "./utils/parseRelativeUnits.js";
15
17
  import UDExSecondaryNavigationSubItem from "./SecondaryNavigationSubItem.js";
16
18
  import UDExSecondaryNavigationItemBase from "./SecondaryNavigationItemBase.js";
17
19
  import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
@@ -30,7 +32,7 @@ export const menuItemRole = "menuitem";
30
32
  * For the <code>udex-secondary-navigation-item</code>
31
33
  * <h3>ES6 Module Import</h3>
32
34
  *
33
- * <code>import "@udex/web-components/dist/SecondaryNavigationItem.js";</code>
35
+ * <code>import "@sapudex/web-components/dist/SecondaryNavigationItem.js";</code>
34
36
  *
35
37
  * @constructor
36
38
  * @extends UDExSecondaryNavigationItemBase
@@ -57,6 +59,9 @@ let UDExSecondaryNavigationItem = class UDExSecondaryNavigationItem extends UDEx
57
59
  this.onFirstSubItemFocus();
58
60
  this._shouldFocusFirstSubItem = false;
59
61
  }
62
+ if (this._isMobileView && this.isOpen) {
63
+ this.setDropdownHeight();
64
+ }
60
65
  }
61
66
  onBeforeRendering() {
62
67
  this._subTitle = this.subActiveItemTitle || this._subTitle;
@@ -214,14 +219,30 @@ let UDExSecondaryNavigationItem = class UDExSecondaryNavigationItem extends UDEx
214
219
  setDropdownItems() {
215
220
  this._processedItems = this.subItems;
216
221
  }
222
+ setDropdownHeight() {
223
+ if (!this._maxHeight || this._dropdownMaxHeightExceeds || !this.heightSatisfiesType) {
224
+ const secondaryNavigationMobileTrigger = this.shadowRoot.querySelector(".udex-secondary-navigation__item");
225
+ const maxDropdownHeight = window.innerHeight - secondaryNavigationMobileTrigger.clientHeight;
226
+ this.style.setProperty("--udex-secondary-navigation-item-dropdown-max-height", `${maxDropdownHeight}px`);
227
+ return;
228
+ }
229
+ this.style.setProperty("--udex-secondary-navigation-item-dropdown-max-height", `${this._maxHeight}`);
230
+ }
231
+ get _dropdownMaxHeightExceeds() {
232
+ const normalizedHeight = parseRelativeUnits(this._maxHeight, this.dropdown);
233
+ const secondaryNavigationMobileTriggerHeight = this.shadowRoot.querySelector(".udex-secondary-navigation__item").clientHeight;
234
+ return normalizedHeight >= window.innerHeight - secondaryNavigationMobileTriggerHeight;
235
+ }
236
+ get heightSatisfiesType() {
237
+ return /vh|vw|%|em|rem|px/.test(this._maxHeight);
238
+ }
217
239
  setDropdownHorizontalAlign() {
218
- const dropdown = this.shadowRoot.querySelector(".udex-secondary-navigation__dropdown");
219
- const { right, left } = dropdown.getBoundingClientRect();
240
+ const { right, left } = this.dropdown.getBoundingClientRect();
220
241
  if (right > window.innerWidth) {
221
- dropdown?.setAttribute("data-horizontal-align", "right");
242
+ this.dropdown.setAttribute("data-horizontal-align", "right");
222
243
  }
223
244
  if (left < 0) {
224
- dropdown?.setAttribute("data-horizontal-align", "left");
245
+ this.dropdown.setAttribute("data-horizontal-align", "left");
225
246
  }
226
247
  }
227
248
  setTabIndex(item) {
@@ -241,6 +262,9 @@ let UDExSecondaryNavigationItem = class UDExSecondaryNavigationItem extends UDEx
241
262
  onShouldFocusFirstSubItem() {
242
263
  this._shouldFocusFirstSubItem = true;
243
264
  }
265
+ get dropdown() {
266
+ return this.shadowRoot.querySelector(".udex-secondary-navigation__dropdown");
267
+ }
244
268
  get isLastItem() {
245
269
  return this._navItemsLength === this.index;
246
270
  }
@@ -297,6 +321,9 @@ __decorate([
297
321
  __decorate([
298
322
  property({ validator: Integer })
299
323
  ], UDExSecondaryNavigationItem.prototype, "_navItemsLength", void 0);
324
+ __decorate([
325
+ property({ type: String })
326
+ ], UDExSecondaryNavigationItem.prototype, "_maxHeight", void 0);
300
327
  __decorate([
301
328
  property({ type: Object })
302
329
  ], UDExSecondaryNavigationItem.prototype, "_processedItems", void 0);
@@ -304,7 +331,7 @@ UDExSecondaryNavigationItem = __decorate([
304
331
  customElement({
305
332
  tag: "udex-secondary-navigation-item",
306
333
  renderer: litRender,
307
- styles: SecondaryNavigationItemCss,
334
+ styles: [SecondaryNavigationItemCss, getEffectiveScrollbarStyle()],
308
335
  template: SecondaryNavigationItemTemplate,
309
336
  dependencies: [UI5Icon, UDExSecondaryNavigationSubItem],
310
337
  })
@@ -1 +1 @@
1
- {"version":3,"file":"SecondaryNavigationItem.js","sourceRoot":"","sources":["../src/SecondaryNavigationItem.ts"],"names":[],"mappings":"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","sourcesContent":["import 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 event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport {\n isLeft,\n isRight,\n isUp,\n isDown,\n isEscape,\n isSpace,\n isEnter,\n isHome,\n isEnd, isTabNext, isTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UDExSecondaryNavigationSubItem from \"./SecondaryNavigationSubItem.js\";\nimport UDExSecondaryNavigationItemBase, { NavItem } from \"./SecondaryNavigationItemBase.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\n\nimport SecondaryNavigationItemTemplate from \"./generated/templates/SecondaryNavigationItemTemplate.lit.js\";\n\n// Styles\nimport SecondaryNavigationItemCss from \"./generated/themes/SecondaryNavigationItem.css.js\";\n\nexport const menuItemRole: string = \"menuitem\";\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-secondary-navigation-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/SecondaryNavigationItem.js\";</code>\n *\n * @constructor\n * @extends UDExSecondaryNavigationItemBase\n * @tagname udex-secondary-navigation-item\n * @private\n */\n@customElement({\n tag: \"udex-secondary-navigation-item\",\n renderer: litRender,\n styles: SecondaryNavigationItemCss,\n template: SecondaryNavigationItemTemplate,\n dependencies: [UI5Icon, UDExSecondaryNavigationSubItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"nav-item-click\", {\n detail: {\n item: { type: HTMLElement },\n index: { type: Integer },\n },\n})\n\n/**\n * Fires when dropdown item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"sub-item-click\", {\n detail: {\n item: { type: Object },\n index: { type: Integer },\n },\n})\n\nclass UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {\n /**\n * Defines an aria label for item\n *\n * @public\n */\n @property({ type: String })\n ariaLabel!: string;\n\n /**\n * Defines a role for item\n *\n * @public\n */\n @property({ type: String })\n role!: string;\n\n /**\n * Defines the content of the item.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement })\n buttons!: Array<HTMLElement>;\n\n /**\n * List of the sub items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: Object, multiple: true })\n subItems!: Array<NavItem>;\n\n /**\n * Defines if dropdown is opened.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n isOpen!: boolean;\n\n /**\n * Defines the length of items in the secondary navigation.\n *\n * @private\n */\n @property({ validator: Integer })\n _navItemsLength!: number;\n\n /**\n * Defines processed items.\n *\n * @private\n * @default []\n */\n @property({ type: Object })\n _processedItems: Array<NavItem> = [];\n\n _dropdownHistory: Array<Array<NavItem>> = [];\n _shouldFocusFirstSubItem!: boolean;\n _subTitle!: string | undefined;\n\n onAfterRendering(): void {\n if (this.isLastItem && this.isOpen && !this._isMobileView) {\n this.setDropdownHorizontalAlign();\n }\n\n if (this._shouldFocusFirstSubItem && this.isOpen) {\n this.onFirstSubItemFocus();\n this._shouldFocusFirstSubItem = false;\n }\n }\n\n onBeforeRendering() : void {\n this._subTitle = this.subActiveItemTitle || this._subTitle;\n }\n\n onSubItemClick(e: Event): void {\n const { index } = e.target as UDExSecondaryNavigationSubItem;\n const clickedItem = this._processedItems[index];\n\n if (clickedItem.items) {\n this.setDropdownHistory();\n this.setNestedItems(clickedItem);\n this.onShouldFocusFirstSubItem();\n }\n\n this.fireEvent(\"sub-item-click\", {\n item: clickedItem,\n index,\n });\n }\n\n onBackClick(): void {\n this.setPrevNestedItems();\n }\n\n openDropdown(): void {\n if (this.hasNestedItems) {\n this.setDropdownItems();\n this.isOpen = !this.isOpen;\n this.onShouldFocusFirstSubItem();\n }\n\n this.fireNavItemClickEvent();\n }\n\n closeDropdown(): void {\n this.isOpen = false;\n }\n\n handleItemLinkKeyDown(e: KeyboardEvent): void {\n if (isEnter(e) || isSpace(e)) {\n this.openDropdown();\n }\n }\n\n handleItemEnterOrSpaceKeys(e: KeyboardEvent): void {\n if (isEnter(e) || isSpace(e)) {\n this.onShouldFocusFirstSubItem();\n }\n }\n\n handleSubItemKeyDown(e: KeyboardEvent): void {\n e.stopPropagation();\n if (isEscape(e)) {\n this.handleEscapeKey();\n }\n if (isLeft(e)) {\n this.handleLeftArrow(e);\n }\n if (isRight(e)) {\n this.handleRightArrow(e);\n }\n if (isUp(e)) {\n e.preventDefault();\n this.handleUpArrow(e);\n }\n if (isDown(e)) {\n e.preventDefault();\n this.handleDownArrow(e);\n }\n if (isHome(e)) {\n e.preventDefault();\n this.onFirstSubItemFocus();\n }\n if (isEnd(e)) {\n e.preventDefault();\n this.onLastSubItemFocus();\n }\n if (isEnter(e) || isSpace(e)) {\n e.preventDefault();\n this.handleEnterAndSpace(e);\n }\n if (isTabPrevious(e) && this._isMobileView) {\n this.closeDropdown();\n }\n if ((isTabPrevious(e) || isTabNext(e)) && !this._isMobileView) {\n this.closeDropdown();\n }\n }\n\n handleButtonsEscKey(e: KeyboardEvent): void {\n if (isEscape(e) && this._isMobileView) {\n this.handleEscapeKey();\n }\n }\n\n handleUpArrow(e: KeyboardEvent): void {\n const { index } = e.target as UDExSecondaryNavigationSubItem;\n const lastIndex = this.domNavItems.length - 1;\n const previousSelectIndex = index - 1 < 0 ? lastIndex : index - 1;\n const previousItem = this.domNavItems[previousSelectIndex];\n const currentItem = this.domNavItems[index];\n\n this.unsetTabIndex(currentItem);\n this.setTabIndex(previousItem);\n previousItem.focus();\n }\n\n handleDownArrow(e: KeyboardEvent): void {\n const { index } = e.target as UDExSecondaryNavigationSubItem;\n const nextIndex = index + 1 > this.domNavItems.length - 1 ? 0 : index + 1;\n const nextItem = this.domNavItems[nextIndex];\n const currentItem = this.domNavItems[index];\n\n this.unsetTabIndex(currentItem);\n this.setTabIndex(nextItem);\n nextItem.focus();\n }\n\n handleLeftArrow(e: KeyboardEvent): void {\n const { isBack } = e.target as UDExSecondaryNavigationSubItem;\n if (isBack) {\n this.setPrevNestedItems();\n this.onShouldFocusFirstSubItem();\n }\n }\n\n handleRightArrow(e: KeyboardEvent): void {\n const { hasItems, isBack, index } = e.target as UDExSecondaryNavigationSubItem;\n if (hasItems && !isBack) {\n this.onSubItemClick(e);\n this.unsetTabIndex(this.domNavItems[index]);\n }\n }\n\n handleEnterAndSpace(e: KeyboardEvent): void {\n const { hasItems, isBack } = e.target as UDExSecondaryNavigationSubItem;\n if (isBack) {\n this.onBackClick();\n this.onShouldFocusFirstSubItem();\n return;\n }\n\n this.onSubItemClick(e);\n\n if (hasItems) {\n this.onShouldFocusFirstSubItem();\n } else {\n this.closeDropdown();\n this.focus();\n }\n }\n\n handleEscapeKey(): void {\n this.closeDropdown();\n this.focus();\n }\n\n fireNavItemClickEvent(): void {\n this.fireEvent(\"nav-item-click\", {\n item: this,\n index: this.index,\n });\n }\n\n setDropdownHistory(): void {\n this._dropdownHistory.push(this._processedItems);\n }\n\n setPrevNestedItems(): void {\n this._processedItems = this._dropdownHistory.pop()!;\n }\n\n setNestedItems({ title, items, mobileLinkTitle } : NavItem): void {\n if (items) {\n this._processedItems = [{ title, mobileLinkTitle, isBack: true }, ...items];\n }\n }\n\n setDropdownItems(): void {\n this._processedItems = this.subItems;\n }\n\n setDropdownHorizontalAlign(): void {\n const dropdown = this.shadowRoot!.querySelector<HTMLElement>(\".udex-secondary-navigation__dropdown\");\n const { right, left } = dropdown!.getBoundingClientRect();\n\n if (right > window.innerWidth) {\n dropdown?.setAttribute(\"data-horizontal-align\", \"right\");\n }\n\n if (left < 0) {\n dropdown?.setAttribute(\"data-horizontal-align\", \"left\");\n }\n }\n\n setTabIndex(item: UDExSecondaryNavigationSubItem): void {\n item._tabIndex = \"0\";\n }\n\n unsetTabIndex(item: UDExSecondaryNavigationSubItem): void {\n item._tabIndex = \"-1\";\n }\n\n onFirstSubItemFocus(): void {\n const firstSubItem = this.domNavItems[0];\n\n firstSubItem.focus();\n this.setTabIndex(firstSubItem);\n }\n\n onLastSubItemFocus(): void {\n this.domNavItems[this.domNavItems.length - 1].focus();\n }\n\n onShouldFocusFirstSubItem(): void {\n this._shouldFocusFirstSubItem = true;\n }\n\n get isLastItem(): boolean {\n return this._navItemsLength === this.index;\n }\n\n get domNavItems(): Array<UDExSecondaryNavigationSubItem> {\n const domNavItems = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationSubItem>(\"[udex-secondary-navigation-sub-item]\");\n return domNavItems ? Array.from(domNavItems) : [];\n }\n\n get hasNestedItems(): boolean {\n return this.subItems.length > 0;\n }\n\n get isSubItemActive(): boolean {\n return !!this.subActiveItem?.active;\n }\n\n get isActive(): boolean {\n return this.isSubItemActive || this.active;\n }\n\n get subActiveItemTitle(): string | undefined {\n if (this.subActiveItem) {\n const { title, mobileLinkTitle } = this.subActiveItem;\n return this._isMobileView ? (mobileLinkTitle || title) : title;\n }\n }\n\n get subActiveItem(): NavItem | undefined {\n return this.getActiveSubItem(this.subItems);\n }\n\n get isLink(): boolean {\n return !this.hasNestedItems && !!this.path;\n }\n\n get itemRole(): string {\n return this.role ? this.role : this.menuItemRole;\n }\n\n get menuItemRole(): string {\n return menuItemRole;\n }\n\n get title(): string {\n return this.label;\n }\n}\n\nUDExSecondaryNavigationItem.define();\n\nexport default UDExSecondaryNavigationItem;\n"]}
1
+ {"version":3,"file":"SecondaryNavigationItem.js","sourceRoot":"","sources":["../src/SecondaryNavigationItem.ts"],"names":[],"mappings":"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","sourcesContent":["import 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 event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport {\n isLeft,\n isRight,\n isUp,\n isDown,\n isEscape,\n isSpace,\n isEnter,\n isHome,\n isEnd, isTabNext, isTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport parseRelativeUnits, { RelativeValue } from \"./utils/parseRelativeUnits.js\";\nimport UDExSecondaryNavigationSubItem from \"./SecondaryNavigationSubItem.js\";\nimport UDExSecondaryNavigationItemBase, { NavItem } from \"./SecondaryNavigationItemBase.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\n\nimport SecondaryNavigationItemTemplate from \"./generated/templates/SecondaryNavigationItemTemplate.lit.js\";\n\n// Styles\nimport SecondaryNavigationItemCss from \"./generated/themes/SecondaryNavigationItem.css.js\";\n\nexport const menuItemRole: string = \"menuitem\";\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-secondary-navigation-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/SecondaryNavigationItem.js\";</code>\n *\n * @constructor\n * @extends UDExSecondaryNavigationItemBase\n * @tagname udex-secondary-navigation-item\n * @private\n */\n@customElement({\n tag: \"udex-secondary-navigation-item\",\n renderer: litRender,\n styles: [SecondaryNavigationItemCss, getEffectiveScrollbarStyle()],\n template: SecondaryNavigationItemTemplate,\n dependencies: [UI5Icon, UDExSecondaryNavigationSubItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"nav-item-click\", {\n detail: {\n item: { type: HTMLElement },\n index: { type: Integer },\n },\n})\n\n/**\n * Fires when dropdown item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"sub-item-click\", {\n detail: {\n item: { type: Object },\n index: { type: Integer },\n },\n})\n\nclass UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {\n /**\n * Defines an aria label for item\n *\n * @public\n */\n @property({ type: String })\n ariaLabel!: string;\n\n /**\n * Defines a role for item\n *\n * @public\n */\n @property({ type: String })\n role!: string;\n\n /**\n * Defines the content of the item.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement })\n buttons!: Array<HTMLElement>;\n\n /**\n * List of the sub items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: Object, multiple: true })\n subItems!: Array<NavItem>;\n\n /**\n * Defines if dropdown is opened.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n isOpen!: boolean;\n\n /**\n * Defines the length of items in the secondary navigation.\n *\n * @private\n */\n @property({ validator: Integer })\n _navItemsLength!: number;\n\n /**\n * Defines the height of the dropdown opened on mobile screen.\n *\n * @private\n */\n @property({ type: String })\n _maxHeight!: RelativeValue;\n\n /**\n * Defines processed items.\n *\n * @private\n * @default []\n */\n @property({ type: Object })\n _processedItems: Array<NavItem> = [];\n\n _dropdownHistory: Array<Array<NavItem>> = [];\n _shouldFocusFirstSubItem!: boolean;\n _subTitle!: string | undefined;\n\n onAfterRendering(): void {\n if (this.isLastItem && this.isOpen && !this._isMobileView) {\n this.setDropdownHorizontalAlign();\n }\n\n if (this._shouldFocusFirstSubItem && this.isOpen) {\n this.onFirstSubItemFocus();\n this._shouldFocusFirstSubItem = false;\n }\n\n if (this._isMobileView && this.isOpen) {\n this.setDropdownHeight();\n }\n }\n\n onBeforeRendering() : void {\n this._subTitle = this.subActiveItemTitle || this._subTitle;\n }\n\n onSubItemClick(e: Event): void {\n const { index } = e.target as UDExSecondaryNavigationSubItem;\n const clickedItem = this._processedItems[index];\n\n if (clickedItem.items) {\n this.setDropdownHistory();\n this.setNestedItems(clickedItem);\n this.onShouldFocusFirstSubItem();\n }\n\n this.fireEvent(\"sub-item-click\", {\n item: clickedItem,\n index,\n });\n }\n\n onBackClick(): void {\n this.setPrevNestedItems();\n }\n\n openDropdown(): void {\n if (this.hasNestedItems) {\n this.setDropdownItems();\n this.isOpen = !this.isOpen;\n this.onShouldFocusFirstSubItem();\n }\n\n this.fireNavItemClickEvent();\n }\n\n closeDropdown(): void {\n this.isOpen = false;\n }\n\n handleItemLinkKeyDown(e: KeyboardEvent): void {\n if (isEnter(e) || isSpace(e)) {\n this.openDropdown();\n }\n }\n\n handleItemEnterOrSpaceKeys(e: KeyboardEvent): void {\n if (isEnter(e) || isSpace(e)) {\n this.onShouldFocusFirstSubItem();\n }\n }\n\n handleSubItemKeyDown(e: KeyboardEvent): void {\n e.stopPropagation();\n if (isEscape(e)) {\n this.handleEscapeKey();\n }\n if (isLeft(e)) {\n this.handleLeftArrow(e);\n }\n if (isRight(e)) {\n this.handleRightArrow(e);\n }\n if (isUp(e)) {\n e.preventDefault();\n this.handleUpArrow(e);\n }\n if (isDown(e)) {\n e.preventDefault();\n this.handleDownArrow(e);\n }\n if (isHome(e)) {\n e.preventDefault();\n this.onFirstSubItemFocus();\n }\n if (isEnd(e)) {\n e.preventDefault();\n this.onLastSubItemFocus();\n }\n if (isEnter(e) || isSpace(e)) {\n e.preventDefault();\n this.handleEnterAndSpace(e);\n }\n if (isTabPrevious(e) && this._isMobileView) {\n this.closeDropdown();\n }\n if ((isTabPrevious(e) || isTabNext(e)) && !this._isMobileView) {\n this.closeDropdown();\n }\n }\n\n handleButtonsEscKey(e: KeyboardEvent): void {\n if (isEscape(e) && this._isMobileView) {\n this.handleEscapeKey();\n }\n }\n\n handleUpArrow(e: KeyboardEvent): void {\n const { index } = e.target as UDExSecondaryNavigationSubItem;\n const lastIndex = this.domNavItems.length - 1;\n const previousSelectIndex = index - 1 < 0 ? lastIndex : index - 1;\n const previousItem = this.domNavItems[previousSelectIndex];\n const currentItem = this.domNavItems[index];\n\n this.unsetTabIndex(currentItem);\n this.setTabIndex(previousItem);\n previousItem.focus();\n }\n\n handleDownArrow(e: KeyboardEvent): void {\n const { index } = e.target as UDExSecondaryNavigationSubItem;\n const nextIndex = index + 1 > this.domNavItems.length - 1 ? 0 : index + 1;\n const nextItem = this.domNavItems[nextIndex];\n const currentItem = this.domNavItems[index];\n\n this.unsetTabIndex(currentItem);\n this.setTabIndex(nextItem);\n nextItem.focus();\n }\n\n handleLeftArrow(e: KeyboardEvent): void {\n const { isBack } = e.target as UDExSecondaryNavigationSubItem;\n if (isBack) {\n this.setPrevNestedItems();\n this.onShouldFocusFirstSubItem();\n }\n }\n\n handleRightArrow(e: KeyboardEvent): void {\n const { hasItems, isBack, index } = e.target as UDExSecondaryNavigationSubItem;\n if (hasItems && !isBack) {\n this.onSubItemClick(e);\n this.unsetTabIndex(this.domNavItems[index]);\n }\n }\n\n handleEnterAndSpace(e: KeyboardEvent): void {\n const { hasItems, isBack } = e.target as UDExSecondaryNavigationSubItem;\n if (isBack) {\n this.onBackClick();\n this.onShouldFocusFirstSubItem();\n return;\n }\n\n this.onSubItemClick(e);\n\n if (hasItems) {\n this.onShouldFocusFirstSubItem();\n } else {\n this.closeDropdown();\n this.focus();\n }\n }\n\n handleEscapeKey(): void {\n this.closeDropdown();\n this.focus();\n }\n\n fireNavItemClickEvent(): void {\n this.fireEvent(\"nav-item-click\", {\n item: this,\n index: this.index,\n });\n }\n\n setDropdownHistory(): void {\n this._dropdownHistory.push(this._processedItems);\n }\n\n setPrevNestedItems(): void {\n this._processedItems = this._dropdownHistory.pop()!;\n }\n\n setNestedItems({ title, items, mobileLinkTitle } : NavItem): void {\n if (items) {\n this._processedItems = [{ title, mobileLinkTitle, isBack: true }, ...items];\n }\n }\n\n setDropdownItems(): void {\n this._processedItems = this.subItems;\n }\n\n setDropdownHeight(): void {\n if (!this._maxHeight || this._dropdownMaxHeightExceeds || !this.heightSatisfiesType) {\n const secondaryNavigationMobileTrigger = this.shadowRoot!.querySelector(\".udex-secondary-navigation__item\")!;\n const maxDropdownHeight = window.innerHeight - secondaryNavigationMobileTrigger.clientHeight;\n this.style.setProperty(\"--udex-secondary-navigation-item-dropdown-max-height\", `${maxDropdownHeight}px`);\n return;\n }\n\n this.style.setProperty(\"--udex-secondary-navigation-item-dropdown-max-height\", `${this._maxHeight}`);\n }\n\n get _dropdownMaxHeightExceeds(): boolean {\n const normalizedHeight = parseRelativeUnits(this._maxHeight, this.dropdown);\n const secondaryNavigationMobileTriggerHeight = this.shadowRoot!.querySelector(\".udex-secondary-navigation__item\")!.clientHeight;\n return normalizedHeight >= window.innerHeight - secondaryNavigationMobileTriggerHeight;\n }\n\n get heightSatisfiesType(): boolean {\n return /vh|vw|%|em|rem|px/.test(this._maxHeight);\n }\n\n setDropdownHorizontalAlign(): void {\n const { right, left } = this.dropdown.getBoundingClientRect();\n\n if (right > window.innerWidth) {\n this.dropdown.setAttribute(\"data-horizontal-align\", \"right\");\n }\n\n if (left < 0) {\n this.dropdown.setAttribute(\"data-horizontal-align\", \"left\");\n }\n }\n\n setTabIndex(item: UDExSecondaryNavigationSubItem): void {\n item._tabIndex = \"0\";\n }\n\n unsetTabIndex(item: UDExSecondaryNavigationSubItem): void {\n item._tabIndex = \"-1\";\n }\n\n onFirstSubItemFocus(): void {\n const firstSubItem = this.domNavItems[0];\n\n firstSubItem.focus();\n this.setTabIndex(firstSubItem);\n }\n\n onLastSubItemFocus(): void {\n this.domNavItems[this.domNavItems.length - 1].focus();\n }\n\n onShouldFocusFirstSubItem(): void {\n this._shouldFocusFirstSubItem = true;\n }\n\n get dropdown(): HTMLElement {\n return this.shadowRoot!.querySelector<HTMLElement>(\".udex-secondary-navigation__dropdown\")!;\n }\n\n get isLastItem(): boolean {\n return this._navItemsLength === this.index;\n }\n\n get domNavItems(): Array<UDExSecondaryNavigationSubItem> {\n const domNavItems = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationSubItem>(\"[udex-secondary-navigation-sub-item]\");\n return domNavItems ? Array.from(domNavItems) : [];\n }\n\n get hasNestedItems(): boolean {\n return this.subItems.length > 0;\n }\n\n get isSubItemActive(): boolean {\n return !!this.subActiveItem?.active;\n }\n\n get isActive(): boolean {\n return this.isSubItemActive || this.active;\n }\n\n get subActiveItemTitle(): string | undefined {\n if (this.subActiveItem) {\n const { title, mobileLinkTitle } = this.subActiveItem;\n return this._isMobileView ? (mobileLinkTitle || title) : title;\n }\n }\n\n get subActiveItem(): NavItem | undefined {\n return this.getActiveSubItem(this.subItems);\n }\n\n get isLink(): boolean {\n return !this.hasNestedItems && !!this.path;\n }\n\n get itemRole(): string {\n return this.role ? this.role : this.menuItemRole;\n }\n\n get menuItemRole(): string {\n return menuItemRole;\n }\n\n get title(): string {\n return this.label;\n }\n}\n\nUDExSecondaryNavigationItem.define();\n\nexport default UDExSecondaryNavigationItem;\n"]}
@@ -73,5 +73,6 @@ declare class UDExSecondaryNavigationItemBase extends UI5Element {
73
73
  getActiveSubItem(data: Array<NavItem>): NavItem | undefined;
74
74
  get itemLabel(): string;
75
75
  get isMobile(): boolean;
76
+ get ariaCurrent(): string | null;
76
77
  }
77
78
  export default UDExSecondaryNavigationItemBase;
@@ -64,6 +64,9 @@ let UDExSecondaryNavigationItemBase = class UDExSecondaryNavigationItemBase exte
64
64
  get isMobile() {
65
65
  return BreakpointUtils.isAtMost("S");
66
66
  }
67
+ get ariaCurrent() {
68
+ return this.active ? "page" : null;
69
+ }
67
70
  };
68
71
  __decorate([
69
72
  property({ type: String })
@@ -1 +1 @@
1
- {"version":3,"file":"SecondaryNavigationItemBase.js","sourceRoot":"","sources":["../src/SecondaryNavigationItemBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport 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 Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { Target } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n\nexport type NavItem = {\n path?: string;\n mobileLinkTitle: string;\n target?: Target;\n title: string;\n active?: boolean;\n isBack?: boolean;\n items?: Array<NavItem>;\n}\n\n/**\n * @class\n *\n * A class to serve as a foundation\n * for the <code>UDExSecondaryNavigationItem</code> and <code>UDExSecondaryNavigationSubItem</code> classes.\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @public\n */\n\n@customElement({\n renderer: litRender,\n})\n\nclass UDExSecondaryNavigationItemBase extends UI5Element {\n /**\n * Defines an aria label for item\n *\n * @public\n */\n @property({ type: String })\n mobileLinkTitle!: string;\n\n /**\n * Defines active state for the item\n *\n * @public\n */\n @property({ type: Boolean })\n active!: boolean;\n\n /**\n * Defines path for the item\n *\n * @public\n */\n @property({ type: String })\n path!: string;\n\n /**\n * Defines target for the item\n *\n * @public\n */\n @property({ type: Target, defaultValue: Target._self })\n target!: Target;\n\n /**\n * Defines subTitle for the item\n *\n * @public\n */\n @property({ type: String })\n subTitle!: string;\n\n /**\n * Defines label for the item\n *\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the index for the item.\n *\n * @public\n */\n @property({ validator: Integer })\n index!: number;\n\n @property({ type: Boolean })\n _isMobileView!: boolean;\n\n _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._isMobileView = this.isMobile;\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n _handleResize(): void {\n this._isMobileView = this.isMobile;\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n getActiveSubItem(data: Array<NavItem>): NavItem | undefined {\n let activeItem;\n const findActiveItem = (array: Array<NavItem>) => {\n array.forEach(item => {\n if (item.active === true) {\n activeItem = item;\n return;\n }\n if (item.items) {\n findActiveItem(item.items);\n }\n });\n };\n\n findActiveItem(data);\n return activeItem;\n }\n\n get itemLabel(): string {\n return this._isMobileView ? (this.mobileLinkTitle || this.label) : this.label;\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n}\n\nexport default UDExSecondaryNavigationItemBase;\n"]}
1
+ {"version":3,"file":"SecondaryNavigationItemBase.js","sourceRoot":"","sources":["../src/SecondaryNavigationItemBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport 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 Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { Target } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n\nexport type NavItem = {\n path?: string;\n mobileLinkTitle: string;\n target?: Target;\n title: string;\n active?: boolean;\n isBack?: boolean;\n items?: Array<NavItem>;\n}\n\n/**\n * @class\n *\n * A class to serve as a foundation\n * for the <code>UDExSecondaryNavigationItem</code> and <code>UDExSecondaryNavigationSubItem</code> classes.\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @public\n */\n\n@customElement({\n renderer: litRender,\n})\n\nclass UDExSecondaryNavigationItemBase extends UI5Element {\n /**\n * Defines an aria label for item\n *\n * @public\n */\n @property({ type: String })\n mobileLinkTitle!: string;\n\n /**\n * Defines active state for the item\n *\n * @public\n */\n @property({ type: Boolean })\n active!: boolean;\n\n /**\n * Defines path for the item\n *\n * @public\n */\n @property({ type: String })\n path!: string;\n\n /**\n * Defines target for the item\n *\n * @public\n */\n @property({ type: Target, defaultValue: Target._self })\n target!: Target;\n\n /**\n * Defines subTitle for the item\n *\n * @public\n */\n @property({ type: String })\n subTitle!: string;\n\n /**\n * Defines label for the item\n *\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the index for the item.\n *\n * @public\n */\n @property({ validator: Integer })\n index!: number;\n\n @property({ type: Boolean })\n _isMobileView!: boolean;\n\n _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._isMobileView = this.isMobile;\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n _handleResize(): void {\n this._isMobileView = this.isMobile;\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n getActiveSubItem(data: Array<NavItem>): NavItem | undefined {\n let activeItem;\n const findActiveItem = (array: Array<NavItem>) => {\n array.forEach(item => {\n if (item.active === true) {\n activeItem = item;\n return;\n }\n if (item.items) {\n findActiveItem(item.items);\n }\n });\n };\n\n findActiveItem(data);\n return activeItem;\n }\n\n get itemLabel(): string {\n return this._isMobileView ? (this.mobileLinkTitle || this.label) : this.label;\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n\n get ariaCurrent(): string | null {\n return this.active ? \"page\" : null;\n }\n}\n\nexport default UDExSecondaryNavigationItemBase;\n"]}
@@ -12,7 +12,7 @@ import UDExSecondaryNavigationItemBase, { NavItem } from "./SecondaryNavigationI
12
12
  * For the <code>udex-secondary-navigation-sub-item</code>
13
13
  * <h3>ES6 Module Import</h3>
14
14
  *
15
- * <code>import "@udex/web-components/dist/SecondaryNavigationSubItem.js";</code>
15
+ * <code>import "@sapudex/web-components/dist/SecondaryNavigationSubItem.js";</code>
16
16
  *
17
17
  * @constructor
18
18
  * @extends UDExSecondaryNavigationItemBase
@@ -20,13 +20,6 @@ import UDExSecondaryNavigationItemBase, { NavItem } from "./SecondaryNavigationI
20
20
  * @public
21
21
  */
22
22
  declare class UDExSecondaryNavigationSubItem extends UDExSecondaryNavigationItemBase {
23
- /**
24
- * Defines active item.
25
- *
26
- * @public
27
- * @default false
28
- */
29
- isActive: boolean;
30
23
  /**
31
24
  * Defines back item.
32
25
  *