@sapudex/web-components 0.114.2 → 0.127.6

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 (456) hide show
  1. package/bundle.esm.js +6 -0
  2. package/config/wdio.conf.js +19 -8
  3. package/dist/AccordionItem.d.ts +2 -1
  4. package/dist/AccordionItem.js +3 -3
  5. package/dist/AccordionItem.js.map +1 -1
  6. package/dist/Avatar.d.ts +20 -1
  7. package/dist/Avatar.js +26 -2
  8. package/dist/Avatar.js.map +1 -1
  9. package/dist/AvatarGroup.d.ts +28 -0
  10. package/dist/AvatarGroup.js +126 -0
  11. package/dist/AvatarGroup.js.map +1 -0
  12. package/dist/CountrySelector.d.ts +1 -0
  13. package/dist/CountrySelector.js +3 -0
  14. package/dist/CountrySelector.js.map +1 -1
  15. package/dist/Dropdown.d.ts +11 -1
  16. package/dist/Dropdown.js +15 -3
  17. package/dist/Dropdown.js.map +1 -1
  18. package/dist/FilterMenu.d.ts +21 -5
  19. package/dist/FilterMenu.js +50 -8
  20. package/dist/FilterMenu.js.map +1 -1
  21. package/dist/Footer.d.ts +27 -0
  22. package/dist/Footer.js +27 -36
  23. package/dist/Footer.js.map +1 -1
  24. package/dist/HeroBanner.js +3 -0
  25. package/dist/HeroBanner.js.map +1 -1
  26. package/dist/InputGroup.js.map +1 -1
  27. package/dist/List.d.ts +7 -0
  28. package/dist/List.js +78 -18
  29. package/dist/List.js.map +1 -1
  30. package/dist/ListItem.d.ts +0 -1
  31. package/dist/ListItem.js +0 -6
  32. package/dist/ListItem.js.map +1 -1
  33. package/dist/ListItemBase.d.ts +3 -0
  34. package/dist/ListItemBase.js +12 -0
  35. package/dist/ListItemBase.js.map +1 -1
  36. package/dist/MastheadItem.d.ts +1 -0
  37. package/dist/MastheadItem.js +5 -11
  38. package/dist/MastheadItem.js.map +1 -1
  39. package/dist/MastheadShell.d.ts +8 -0
  40. package/dist/MastheadShell.js +10 -0
  41. package/dist/MastheadShell.js.map +1 -1
  42. package/dist/MessageStrip.js +1 -1
  43. package/dist/MessageStrip.js.map +1 -1
  44. package/dist/Pagination.d.ts +3 -0
  45. package/dist/Pagination.js +16 -4
  46. package/dist/Pagination.js.map +1 -1
  47. package/dist/PasswordField.d.ts +14 -4
  48. package/dist/PasswordField.js +24 -15
  49. package/dist/PasswordField.js.map +1 -1
  50. package/dist/PhoneNumberField.d.ts +6 -0
  51. package/dist/PhoneNumberField.js +6 -1
  52. package/dist/PhoneNumberField.js.map +1 -1
  53. package/dist/RatingBar.d.ts +53 -0
  54. package/dist/RatingBar.js +96 -0
  55. package/dist/RatingBar.js.map +1 -0
  56. package/dist/Review.d.ts +71 -0
  57. package/dist/Review.js +108 -0
  58. package/dist/Review.js.map +1 -0
  59. package/dist/Search.d.ts +51 -0
  60. package/dist/Search.js +65 -11
  61. package/dist/Search.js.map +1 -1
  62. package/dist/SearchableListBase.d.ts +1 -1
  63. package/dist/SearchableListBase.js +1 -1
  64. package/dist/SearchableListBase.js.map +1 -1
  65. package/dist/SecondaryNavigation.d.ts +35 -47
  66. package/dist/SecondaryNavigation.js +158 -167
  67. package/dist/SecondaryNavigation.js.map +1 -1
  68. package/dist/SecondaryNavigationItem.d.ts +101 -0
  69. package/dist/SecondaryNavigationItem.js +297 -0
  70. package/dist/SecondaryNavigationItem.js.map +1 -0
  71. package/dist/SecondaryNavigationItemBase.d.ts +82 -0
  72. package/dist/SecondaryNavigationItemBase.js +104 -0
  73. package/dist/SecondaryNavigationItemBase.js.map +1 -0
  74. package/dist/SecondaryNavigationSubItem.d.ts +53 -0
  75. package/dist/SecondaryNavigationSubItem.js +105 -0
  76. package/dist/SecondaryNavigationSubItem.js.map +1 -0
  77. package/dist/SelectBox.d.ts +1 -0
  78. package/dist/SelectBox.js +15 -1
  79. package/dist/SelectBox.js.map +1 -1
  80. package/dist/StatusBadge.d.ts +67 -0
  81. package/dist/StatusBadge.js +104 -0
  82. package/dist/StatusBadge.js.map +1 -0
  83. package/dist/Switch.d.ts +1 -0
  84. package/dist/Switch.js +3 -0
  85. package/dist/Switch.js.map +1 -1
  86. package/dist/Tab.d.ts +8 -0
  87. package/dist/Tab.js +4 -1
  88. package/dist/Tab.js.map +1 -1
  89. package/dist/TabNavigation.d.ts +20 -20
  90. package/dist/TabNavigation.js +82 -101
  91. package/dist/TabNavigation.js.map +1 -1
  92. package/dist/Tag.d.ts +13 -6
  93. package/dist/Tag.js +34 -20
  94. package/dist/Tag.js.map +1 -1
  95. package/dist/TextArea.d.ts +1 -1
  96. package/dist/TextArea.js +3 -0
  97. package/dist/TextArea.js.map +1 -1
  98. package/dist/TextField.d.ts +9 -0
  99. package/dist/TextField.js +16 -0
  100. package/dist/TextField.js.map +1 -1
  101. package/dist/Tooltip.d.ts +2 -2
  102. package/dist/Tooltip.js +3 -3
  103. package/dist/Tooltip.js.map +1 -1
  104. package/dist/assets/bundle.esm-7d53f4f2.js +314 -0
  105. package/dist/assets/messagebundle_en-6dcc9ab4.js +1 -0
  106. package/dist/assets/parameters-bundle.css-de55cf62.js +2 -0
  107. package/dist/css/themes/AccordionItem.css +1 -1
  108. package/dist/css/themes/Avatar.css +1 -1
  109. package/dist/css/themes/Badge.css +1 -1
  110. package/dist/css/themes/Checkbox.css +1 -1
  111. package/dist/css/themes/CountrySelector.css +1 -1
  112. package/dist/css/themes/Divider.css +1 -1
  113. package/dist/css/themes/Dropdown.css +1 -1
  114. package/dist/css/themes/FilterMenu.css +1 -1
  115. package/dist/css/themes/Footer.css +1 -1
  116. package/dist/css/themes/HeroBanner.css +1 -1
  117. package/dist/css/themes/MastheadShell.css +1 -1
  118. package/dist/css/themes/MediaPlayer.css +1 -1
  119. package/dist/css/themes/Modal.css +1 -1
  120. package/dist/css/themes/Pagination.css +1 -1
  121. package/dist/css/themes/PhoneNumberField.css +1 -1
  122. package/dist/css/themes/RatingBar.css +1 -0
  123. package/dist/css/themes/RatingIndicator.css +1 -1
  124. package/dist/css/themes/Review.css +1 -0
  125. package/dist/css/themes/Search.css +1 -1
  126. package/dist/css/themes/SecondaryNavigation.css +1 -1
  127. package/dist/css/themes/SecondaryNavigationItem.css +1 -0
  128. package/dist/css/themes/SecondaryNavigationSubItem.css +1 -0
  129. package/dist/css/themes/SelectBox.css +1 -1
  130. package/dist/css/themes/Slider.css +1 -1
  131. package/dist/css/themes/StatusBadge.css +1 -0
  132. package/dist/css/themes/StepInput.css +1 -1
  133. package/dist/css/themes/TabNavigation.css +1 -1
  134. package/dist/css/themes/Tag.css +1 -1
  135. package/dist/css/themes/TextField.css +1 -1
  136. package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
  137. package/dist/custom-elements-internal.json +1291 -119
  138. package/dist/custom-elements.json +1298 -199
  139. package/dist/data/CountryListISO3166.js +162 -162
  140. package/dist/data/CountryListISO3166.js.map +1 -1
  141. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  142. package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +1 -1
  143. package/dist/generated/i18n/i18n-defaults.d.ts +16 -1
  144. package/dist/generated/i18n/i18n-defaults.js +20 -5
  145. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  146. package/dist/generated/templates/AccordionItemTemplate.lit.js +1 -1
  147. package/dist/generated/templates/AccordionItemTemplate.lit.js.map +1 -1
  148. package/dist/generated/templates/CountrySelectorTemplate.lit.js +1 -1
  149. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  150. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  151. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  152. package/dist/generated/templates/DropdownTemplate.lit.js +2 -2
  153. package/dist/generated/templates/DropdownTemplate.lit.js.map +1 -1
  154. package/dist/generated/templates/FilterMenuTemplate.lit.js +3 -3
  155. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  156. package/dist/generated/templates/FooterTemplate.lit.js +26 -28
  157. package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
  158. package/dist/generated/templates/HeroBannerTemplate.lit.js +9 -8
  159. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  160. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js +4 -4
  161. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js.map +1 -1
  162. package/dist/generated/templates/ListItemTemplate.lit.js +1 -1
  163. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  164. package/dist/generated/templates/ListSelectAllTemplate.lit.js +1 -1
  165. package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +1 -1
  166. package/dist/generated/templates/MastheadItemTemplate.lit.js +3 -3
  167. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  168. package/dist/generated/templates/MastheadShellTemplate.lit.js +2 -2
  169. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  170. package/dist/generated/templates/PaginationTemplate.lit.js +1 -1
  171. package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
  172. package/dist/generated/templates/PasswordFieldTemplate.lit.js +1 -2
  173. package/dist/generated/templates/PasswordFieldTemplate.lit.js.map +1 -1
  174. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +3 -3
  175. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  176. package/dist/generated/templates/RatingBarTemplate.lit.d.ts +4 -0
  177. package/dist/generated/templates/RatingBarTemplate.lit.js +6 -0
  178. package/dist/generated/templates/RatingBarTemplate.lit.js.map +1 -0
  179. package/dist/generated/templates/ReviewTemplate.lit.d.ts +4 -0
  180. package/dist/generated/templates/ReviewTemplate.lit.js +10 -0
  181. package/dist/generated/templates/ReviewTemplate.lit.js.map +1 -0
  182. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js +1 -1
  183. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +1 -1
  184. package/dist/generated/templates/SearchTemplate.lit.js +7 -7
  185. package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
  186. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +2 -2
  187. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  188. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.d.ts +4 -0
  189. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +11 -0
  190. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -0
  191. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.d.ts +4 -0
  192. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +10 -0
  193. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +1 -0
  194. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +7 -10
  195. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  196. package/dist/generated/templates/SelectBoxTemplate.lit.js +2 -2
  197. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  198. package/dist/generated/templates/StatusBadgeTemplate.lit.d.ts +4 -0
  199. package/dist/generated/templates/StatusBadgeTemplate.lit.js +5 -0
  200. package/dist/generated/templates/StatusBadgeTemplate.lit.js.map +1 -0
  201. package/dist/generated/templates/SwitchTemplate.lit.js +2 -2
  202. package/dist/generated/templates/SwitchTemplate.lit.js.map +1 -1
  203. package/dist/generated/templates/TabInOverflowTemplate.lit.js +2 -2
  204. package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -1
  205. package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js +1 -1
  206. package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js.map +1 -1
  207. package/dist/generated/templates/TabNavigationTemplate.lit.js +2 -2
  208. package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
  209. package/dist/generated/templates/TagTemplate.lit.js +9 -3
  210. package/dist/generated/templates/TagTemplate.lit.js.map +1 -1
  211. package/dist/generated/templates/TextAreaTemplate.lit.js +1 -1
  212. package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
  213. package/dist/generated/templates/TextFieldTemplate.lit.js +2 -2
  214. package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
  215. package/dist/generated/templates/TooltipTemplate.lit.js +1 -1
  216. package/dist/generated/templates/TooltipTemplate.lit.js.map +1 -1
  217. package/dist/generated/themes/AccordionItem.css.js +1 -1
  218. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  219. package/dist/generated/themes/Avatar.css.js +1 -1
  220. package/dist/generated/themes/Avatar.css.js.map +1 -1
  221. package/dist/generated/themes/Badge.css.js +1 -1
  222. package/dist/generated/themes/Badge.css.js.map +1 -1
  223. package/dist/generated/themes/Checkbox.css.js +1 -1
  224. package/dist/generated/themes/Checkbox.css.js.map +1 -1
  225. package/dist/generated/themes/CountrySelector.css.js +1 -1
  226. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  227. package/dist/generated/themes/Divider.css.js +1 -1
  228. package/dist/generated/themes/Divider.css.js.map +1 -1
  229. package/dist/generated/themes/Dropdown.css.js +1 -1
  230. package/dist/generated/themes/Dropdown.css.js.map +1 -1
  231. package/dist/generated/themes/FilterMenu.css.js +1 -1
  232. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  233. package/dist/generated/themes/Footer.css.js +1 -1
  234. package/dist/generated/themes/Footer.css.js.map +1 -1
  235. package/dist/generated/themes/HeroBanner.css.js +1 -1
  236. package/dist/generated/themes/HeroBanner.css.js.map +1 -1
  237. package/dist/generated/themes/MastheadShell.css.js +1 -1
  238. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  239. package/dist/generated/themes/MediaPlayer.css.js +1 -1
  240. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  241. package/dist/generated/themes/Modal.css.js +1 -1
  242. package/dist/generated/themes/Modal.css.js.map +1 -1
  243. package/dist/generated/themes/Pagination.css.js +1 -1
  244. package/dist/generated/themes/Pagination.css.js.map +1 -1
  245. package/dist/generated/themes/PhoneNumberField.css.js +1 -1
  246. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  247. package/dist/generated/themes/RatingBar.css.js +9 -0
  248. package/dist/generated/themes/RatingBar.css.js.map +1 -0
  249. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  250. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  251. package/dist/generated/themes/Review.css.d.ts +3 -0
  252. package/dist/generated/themes/Review.css.js +9 -0
  253. package/dist/generated/themes/Review.css.js.map +1 -0
  254. package/dist/generated/themes/Search.css.js +1 -1
  255. package/dist/generated/themes/Search.css.js.map +1 -1
  256. package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
  257. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  258. package/dist/generated/themes/SecondaryNavigationItem.css.d.ts +3 -0
  259. package/dist/generated/themes/SecondaryNavigationItem.css.js +9 -0
  260. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -0
  261. package/dist/generated/themes/SecondaryNavigationSubItem.css.d.ts +3 -0
  262. package/dist/generated/themes/SecondaryNavigationSubItem.css.js +9 -0
  263. package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -0
  264. package/dist/generated/themes/SelectBox.css.js +1 -1
  265. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  266. package/dist/generated/themes/Slider.css.js +1 -1
  267. package/dist/generated/themes/Slider.css.js.map +1 -1
  268. package/dist/generated/themes/StatusBadge.css.d.ts +3 -0
  269. package/dist/generated/themes/StatusBadge.css.js +9 -0
  270. package/dist/generated/themes/StatusBadge.css.js.map +1 -0
  271. package/dist/generated/themes/StepInput.css.js +1 -1
  272. package/dist/generated/themes/StepInput.css.js.map +1 -1
  273. package/dist/generated/themes/TabNavigation.css.js +1 -1
  274. package/dist/generated/themes/TabNavigation.css.js.map +1 -1
  275. package/dist/generated/themes/Tag.css.js +1 -1
  276. package/dist/generated/themes/Tag.css.js.map +1 -1
  277. package/dist/generated/themes/TextField.css.js +1 -1
  278. package/dist/generated/themes/TextField.css.js.map +1 -1
  279. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +1 -1
  280. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +1 -1
  281. package/dist/i18n/messagebundle.properties +40 -5
  282. package/dist/i18n/messagebundle_en.properties +20 -5
  283. package/dist/vscode.html-custom-data.json +239 -16
  284. package/dist/web-types.json +405 -25
  285. package/package.json +8 -8
  286. package/src/AccordionItem.hbs +1 -4
  287. package/src/AccordionItem.ts +5 -4
  288. package/src/Avatar.ts +35 -3
  289. package/src/AvatarGroup.ts +135 -0
  290. package/src/CountrySelector.hbs +2 -1
  291. package/src/CountrySelector.ts +4 -1
  292. package/src/DatePicker.hbs +0 -1
  293. package/src/Dropdown.hbs +5 -3
  294. package/src/Dropdown.ts +24 -3
  295. package/src/FilterMenu.hbs +8 -1
  296. package/src/FilterMenu.ts +70 -12
  297. package/src/Footer.hbs +12 -37
  298. package/src/Footer.ts +64 -51
  299. package/src/HeroBanner.hbs +28 -21
  300. package/src/HeroBanner.ts +3 -0
  301. package/src/InputGroup.ts +6 -5
  302. package/src/List.ts +92 -21
  303. package/src/ListGroupHeader.hbs +9 -5
  304. package/src/ListItem.hbs +2 -1
  305. package/src/ListItem.ts +0 -7
  306. package/src/ListItemBase.ts +14 -0
  307. package/src/ListSelectAll.hbs +1 -0
  308. package/src/MastheadItem.hbs +3 -3
  309. package/src/MastheadItem.ts +10 -4
  310. package/src/MastheadShell.hbs +4 -0
  311. package/src/MastheadShell.ts +18 -0
  312. package/src/MessageStrip.ts +1 -1
  313. package/src/Pagination.hbs +4 -2
  314. package/src/Pagination.ts +19 -4
  315. package/src/PasswordField.hbs +6 -17
  316. package/src/PasswordField.ts +31 -23
  317. package/src/PhoneNumberField.hbs +8 -3
  318. package/src/PhoneNumberField.ts +12 -2
  319. package/src/RatingBar.hbs +11 -0
  320. package/src/RatingBar.ts +113 -0
  321. package/src/Review.hbs +44 -0
  322. package/src/Review.ts +140 -0
  323. package/src/Search.hbs +20 -14
  324. package/src/Search.ts +107 -10
  325. package/src/SearchSuggestions.hbs +2 -1
  326. package/src/SearchableListBase.hbs +2 -0
  327. package/src/SearchableListBase.ts +1 -1
  328. package/src/SecondaryNavigation.hbs +53 -71
  329. package/src/SecondaryNavigation.ts +192 -198
  330. package/src/SecondaryNavigationItem.hbs +64 -0
  331. package/src/SecondaryNavigationItem.ts +368 -0
  332. package/src/SecondaryNavigationItemBase.ts +153 -0
  333. package/src/SecondaryNavigationSubItem.hbs +44 -0
  334. package/src/SecondaryNavigationSubItem.ts +127 -0
  335. package/src/SelectBox.hbs +76 -76
  336. package/src/SelectBox.ts +18 -1
  337. package/src/StatusBadge.hbs +9 -0
  338. package/src/StatusBadge.ts +129 -0
  339. package/src/Switch.hbs +3 -3
  340. package/src/Switch.ts +4 -0
  341. package/src/Tab.ts +11 -1
  342. package/src/TabInOverflow.hbs +3 -2
  343. package/src/TabNavigation.hbs +12 -10
  344. package/src/TabNavigation.ts +92 -116
  345. package/src/TabNavigationPopover.hbs +1 -0
  346. package/src/Tag.hbs +60 -26
  347. package/src/Tag.ts +54 -34
  348. package/src/TextArea.hbs +3 -4
  349. package/src/TextArea.ts +3 -0
  350. package/src/TextField.hbs +40 -36
  351. package/src/TextField.ts +24 -0
  352. package/src/Tooltip.hbs +2 -2
  353. package/src/Tooltip.ts +4 -4
  354. package/src/data/CountryListISO3166.ts +162 -162
  355. package/src/generated/i18n/i18n-defaults.ts +2 -2
  356. package/src/generated/templates/AccordionItemTemplate.lit.ts +1 -1
  357. package/src/generated/templates/CountrySelectorTemplate.lit.ts +1 -1
  358. package/src/generated/templates/DatePickerTemplate.lit.ts +1 -1
  359. package/src/generated/templates/DropdownTemplate.lit.ts +2 -2
  360. package/src/generated/templates/FilterMenuTemplate.lit.ts +3 -3
  361. package/src/generated/templates/FooterTemplate.lit.ts +26 -28
  362. package/src/generated/templates/HeroBannerTemplate.lit.ts +9 -8
  363. package/src/generated/templates/ListGroupHeaderTemplate.lit.ts +4 -4
  364. package/src/generated/templates/ListItemTemplate.lit.ts +1 -1
  365. package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
  366. package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
  367. package/src/generated/templates/MastheadShellTemplate.lit.ts +2 -2
  368. package/src/generated/templates/PaginationTemplate.lit.ts +1 -1
  369. package/src/generated/templates/PasswordFieldTemplate.lit.ts +1 -2
  370. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +3 -3
  371. package/src/generated/templates/RatingBarTemplate.lit.ts +11 -0
  372. package/src/generated/templates/ReviewTemplate.lit.ts +15 -0
  373. package/src/generated/templates/SearchSuggestionsTemplate.lit.ts +1 -1
  374. package/src/generated/templates/SearchTemplate.lit.ts +7 -7
  375. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +2 -2
  376. package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +16 -0
  377. package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +15 -0
  378. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -10
  379. package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
  380. package/src/generated/templates/StatusBadgeTemplate.lit.ts +10 -0
  381. package/src/generated/templates/SwitchTemplate.lit.ts +2 -2
  382. package/src/generated/templates/TabInOverflowTemplate.lit.ts +2 -2
  383. package/src/generated/templates/TabNavigationPopoverTemplate.lit.ts +1 -1
  384. package/src/generated/templates/TabNavigationTemplate.lit.ts +2 -2
  385. package/src/generated/templates/TagTemplate.lit.ts +9 -3
  386. package/src/generated/templates/TextAreaTemplate.lit.ts +1 -1
  387. package/src/generated/templates/TextFieldTemplate.lit.ts +2 -2
  388. package/src/generated/templates/TooltipTemplate.lit.ts +1 -1
  389. package/src/generated/themes/AccordionItem.css.ts +1 -1
  390. package/src/generated/themes/Avatar.css.ts +1 -1
  391. package/src/generated/themes/Badge.css.ts +1 -1
  392. package/src/generated/themes/Checkbox.css.ts +1 -1
  393. package/src/generated/themes/CountrySelector.css.ts +1 -1
  394. package/src/generated/themes/Divider.css.ts +1 -1
  395. package/src/generated/themes/Dropdown.css.ts +1 -1
  396. package/src/generated/themes/FilterMenu.css.ts +1 -1
  397. package/src/generated/themes/Footer.css.ts +1 -1
  398. package/src/generated/themes/HeroBanner.css.ts +1 -1
  399. package/src/generated/themes/MastheadShell.css.ts +1 -1
  400. package/src/generated/themes/MediaPlayer.css.ts +1 -1
  401. package/src/generated/themes/Modal.css.ts +1 -1
  402. package/src/generated/themes/Pagination.css.ts +1 -1
  403. package/src/generated/themes/PhoneNumberField.css.ts +1 -1
  404. package/src/generated/themes/RatingBar.css.ts +13 -0
  405. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  406. package/src/generated/themes/Review.css.ts +13 -0
  407. package/src/generated/themes/Search.css.ts +1 -1
  408. package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
  409. package/src/generated/themes/SecondaryNavigationItem.css.ts +13 -0
  410. package/src/generated/themes/SecondaryNavigationSubItem.css.ts +13 -0
  411. package/src/generated/themes/SelectBox.css.ts +1 -1
  412. package/src/generated/themes/Slider.css.ts +1 -1
  413. package/src/generated/themes/StatusBadge.css.ts +13 -0
  414. package/src/generated/themes/StepInput.css.ts +1 -1
  415. package/src/generated/themes/TabNavigation.css.ts +1 -1
  416. package/src/generated/themes/Tag.css.ts +1 -1
  417. package/src/generated/themes/TextField.css.ts +1 -1
  418. package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
  419. package/src/i18n/messagebundle.properties +40 -5
  420. package/src/i18n/messagebundle_en.properties +20 -5
  421. package/src/themes/AccordionItem.css +6 -4
  422. package/src/themes/Avatar.css +43 -6
  423. package/src/themes/Badge.css +1 -1
  424. package/src/themes/Checkbox.css +12 -0
  425. package/src/themes/CountrySelector.css +4 -0
  426. package/src/themes/Divider.css +6 -2
  427. package/src/themes/Dropdown.css +2 -0
  428. package/src/themes/FilterMenu.css +10 -0
  429. package/src/themes/Footer.css +93 -168
  430. package/src/themes/HeroBanner.css +84 -20
  431. package/src/themes/MastheadShell.css +25 -29
  432. package/src/themes/MediaPlayer.css +3 -2
  433. package/src/themes/Modal.css +6 -0
  434. package/src/themes/Pagination.css +7 -0
  435. package/src/themes/PhoneNumberField.css +5 -0
  436. package/src/themes/RatingBar.css +52 -0
  437. package/src/themes/Review.css +196 -0
  438. package/src/themes/Search.css +37 -21
  439. package/src/themes/SecondaryNavigation.css +64 -293
  440. package/src/themes/SecondaryNavigationItem.css +221 -0
  441. package/src/themes/SecondaryNavigationSubItem.css +118 -0
  442. package/src/themes/SelectBox.css +17 -24
  443. package/src/themes/StatusBadge.css +135 -0
  444. package/src/themes/StepInput.css +5 -2
  445. package/src/themes/TabNavigation.css +7 -1
  446. package/src/themes/Tag.css +180 -148
  447. package/src/themes/TextField.css +75 -55
  448. package/dist/assets/bundle.esm-ab45813e.js +0 -312
  449. package/dist/assets/messagebundle_en-26cd7a92.js +0 -1
  450. package/dist/assets/parameters-bundle.css-76ef62fa.js +0 -2
  451. package/dist/css/themes/PasswordField.css +0 -1
  452. package/dist/generated/themes/PasswordField.css.js +0 -9
  453. package/dist/generated/themes/PasswordField.css.js.map +0 -1
  454. package/src/generated/themes/PasswordField.css.ts +0 -13
  455. package/src/themes/PasswordField.css +0 -29
  456. /package/dist/generated/themes/{PasswordField.css.d.ts → RatingBar.css.d.ts} +0 -0
@@ -0,0 +1,101 @@
1
+ import UDExSecondaryNavigationSubItem from "./SecondaryNavigationSubItem.js";
2
+ import UDExSecondaryNavigationItemBase, { NavItem } from "./SecondaryNavigationItemBase.js";
3
+ import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
4
+ export declare const menuItemRole: string;
5
+ /**
6
+ * @class
7
+ *
8
+ * <h3 class="comment-api-title">Overview</h3>
9
+ *
10
+ *
11
+ * <h3>Usage</h3>
12
+ *
13
+ * For the <code>udex-secondary-navigation-item</code>
14
+ * <h3>ES6 Module Import</h3>
15
+ *
16
+ * <code>import "@udex/web-components/dist/SecondaryNavigationItem.js";</code>
17
+ *
18
+ * @constructor
19
+ * @extends UDExSecondaryNavigationItemBase
20
+ * @tagname udex-secondary-navigation-item
21
+ * @private
22
+ */
23
+ declare class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
24
+ /**
25
+ * Defines an aria label for item
26
+ *
27
+ * @public
28
+ */
29
+ ariaLabel: string;
30
+ /**
31
+ * Defines a role for item
32
+ *
33
+ * @public
34
+ */
35
+ role: string;
36
+ /**
37
+ * Defines the content of the item.
38
+ *
39
+ * @slot content
40
+ * @public
41
+ */
42
+ buttons: Array<HTMLElement>;
43
+ /**
44
+ * List of the sub items
45
+ *
46
+ * @default "[]"
47
+ * @public
48
+ */
49
+ subItems: Array<NavItem>;
50
+ /**
51
+ * Defines if dropdown is opened.
52
+ *
53
+ * @public
54
+ * @default false
55
+ */
56
+ isOpen: boolean;
57
+ /**
58
+ * Defines processed items.
59
+ *
60
+ * @private
61
+ * @default []
62
+ */
63
+ _processedItems: Array<NavItem>;
64
+ _dropdownHistory: Array<Array<NavItem>>;
65
+ _shouldFocusFirstSubItem: boolean;
66
+ _subTitle: string | undefined;
67
+ onAfterRendering(): void;
68
+ onBeforeRendering(): void;
69
+ onItemClick(): void;
70
+ onSubItemClick(e: Event): void;
71
+ onBackClick(): void;
72
+ toggleDropdown(): void;
73
+ closeDropdown(): void;
74
+ handleItemLinkKeyDown(e: KeyboardEvent): void;
75
+ handleItemButtonKeyDown(e: KeyboardEvent): void;
76
+ handleSubItemKeyDown(e: KeyboardEvent): void;
77
+ handleUpArrow(e: KeyboardEvent): void;
78
+ handleDownArrow(e: KeyboardEvent): void;
79
+ handleLeftArrow(e: KeyboardEvent): void;
80
+ handleRightArrow(e: KeyboardEvent): void;
81
+ handleEnterAndSpace(e: KeyboardEvent): void;
82
+ handleEscapeKey(): void;
83
+ setDropdownHistory(): void;
84
+ setPrevNestedItems(): void;
85
+ setNestedItems({ title, items, mobileLinkTitle }: NavItem): void;
86
+ setDropdownItems(): void;
87
+ onFirstSubItemFocus(): void;
88
+ onLastSubItemFocus(): void;
89
+ onShouldFocusFirstSubItem(): void;
90
+ get domNavItems(): Array<UDExSecondaryNavigationSubItem>;
91
+ get hasNestedItems(): boolean;
92
+ get isSubItemActive(): boolean;
93
+ get isActive(): boolean;
94
+ get subActiveItemTitle(): string | undefined;
95
+ get subActiveItem(): NavItem | undefined;
96
+ get isLink(): boolean;
97
+ get itemRole(): string;
98
+ get menuItemRole(): string;
99
+ get title(): string;
100
+ }
101
+ export default UDExSecondaryNavigationItem;
@@ -0,0 +1,297 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
8
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
9
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
10
+ import event from "@ui5/webcomponents-base/dist/decorators/event.js";
11
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
12
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
13
+ import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
14
+ import { isLeft, isRight, isUp, isDown, isEscape, isSpace, isEnter, isHome, isEnd, } from "@ui5/webcomponents-base/dist/Keys.js";
15
+ import UDExSecondaryNavigationSubItem from "./SecondaryNavigationSubItem.js";
16
+ import UDExSecondaryNavigationItemBase from "./SecondaryNavigationItemBase.js";
17
+ import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
18
+ import SecondaryNavigationItemTemplate from "./generated/templates/SecondaryNavigationItemTemplate.lit.js";
19
+ // Styles
20
+ import SecondaryNavigationItemCss from "./generated/themes/SecondaryNavigationItem.css.js";
21
+ export const menuItemRole = "menuitem";
22
+ /**
23
+ * @class
24
+ *
25
+ * <h3 class="comment-api-title">Overview</h3>
26
+ *
27
+ *
28
+ * <h3>Usage</h3>
29
+ *
30
+ * For the <code>udex-secondary-navigation-item</code>
31
+ * <h3>ES6 Module Import</h3>
32
+ *
33
+ * <code>import "@udex/web-components/dist/SecondaryNavigationItem.js";</code>
34
+ *
35
+ * @constructor
36
+ * @extends UDExSecondaryNavigationItemBase
37
+ * @tagname udex-secondary-navigation-item
38
+ * @private
39
+ */
40
+ let UDExSecondaryNavigationItem = class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
41
+ constructor() {
42
+ super(...arguments);
43
+ /**
44
+ * Defines processed items.
45
+ *
46
+ * @private
47
+ * @default []
48
+ */
49
+ this._processedItems = [];
50
+ this._dropdownHistory = [];
51
+ }
52
+ onAfterRendering() {
53
+ if (this._shouldFocusFirstSubItem && this.isOpen) {
54
+ this.onFirstSubItemFocus();
55
+ this._shouldFocusFirstSubItem = false;
56
+ }
57
+ }
58
+ onBeforeRendering() {
59
+ this._subTitle = this.subActiveItemTitle || this._subTitle;
60
+ }
61
+ onItemClick() {
62
+ if (this.hasNestedItems) {
63
+ this.setDropdownItems();
64
+ this.toggleDropdown();
65
+ }
66
+ this.fireEvent("nav-item-click", {
67
+ item: this,
68
+ index: this.index,
69
+ });
70
+ }
71
+ onSubItemClick(e) {
72
+ const { index } = e.target;
73
+ const clickedItem = this._processedItems[index];
74
+ if (clickedItem.items) {
75
+ this.setDropdownHistory();
76
+ this.setNestedItems(clickedItem);
77
+ }
78
+ this.fireEvent("sub-item-click", {
79
+ item: clickedItem,
80
+ index,
81
+ });
82
+ }
83
+ onBackClick() {
84
+ this.setPrevNestedItems();
85
+ }
86
+ toggleDropdown() {
87
+ this.isOpen = !this.isOpen;
88
+ }
89
+ closeDropdown() {
90
+ this.isOpen = false;
91
+ }
92
+ handleItemLinkKeyDown(e) {
93
+ if (isEnter(e) || isSpace(e)) {
94
+ e.preventDefault();
95
+ this.onItemClick();
96
+ }
97
+ }
98
+ handleItemButtonKeyDown(e) {
99
+ if (isEnter(e) || isSpace(e)) {
100
+ this.onShouldFocusFirstSubItem();
101
+ }
102
+ }
103
+ handleSubItemKeyDown(e) {
104
+ e.stopPropagation();
105
+ if (isEscape(e)) {
106
+ this.handleEscapeKey();
107
+ }
108
+ if (isLeft(e)) {
109
+ this.handleLeftArrow(e);
110
+ }
111
+ if (isRight(e)) {
112
+ this.handleRightArrow(e);
113
+ }
114
+ if (isUp(e)) {
115
+ e.preventDefault();
116
+ this.handleUpArrow(e);
117
+ }
118
+ if (isDown(e)) {
119
+ e.preventDefault();
120
+ this.handleDownArrow(e);
121
+ }
122
+ if (isHome(e)) {
123
+ e.preventDefault();
124
+ this.onFirstSubItemFocus();
125
+ }
126
+ if (isEnd(e)) {
127
+ e.preventDefault();
128
+ this.onLastSubItemFocus();
129
+ }
130
+ if (isEnter(e) || isSpace(e)) {
131
+ e.preventDefault();
132
+ this.handleEnterAndSpace(e);
133
+ }
134
+ }
135
+ handleUpArrow(e) {
136
+ const { index } = e.target;
137
+ const lastIndex = this.domNavItems.length - 1;
138
+ const previousIndex = index - 1 < 0 ? lastIndex : index - 1;
139
+ if (!(lastIndex === previousIndex)) {
140
+ this.domNavItems[previousIndex].focus();
141
+ }
142
+ }
143
+ handleDownArrow(e) {
144
+ const { index } = e.target;
145
+ const nextIndex = index + 1 > this.domNavItems.length - 1 ? 0 : index + 1;
146
+ if (!(nextIndex === 0)) {
147
+ this.domNavItems[nextIndex].focus();
148
+ }
149
+ }
150
+ handleLeftArrow(e) {
151
+ const { isBack } = e.target;
152
+ if (isBack) {
153
+ this.setPrevNestedItems();
154
+ this.onShouldFocusFirstSubItem();
155
+ }
156
+ }
157
+ handleRightArrow(e) {
158
+ const { hasItems, isBack } = e.target;
159
+ if (hasItems && !isBack) {
160
+ this.onSubItemClick(e);
161
+ this.onShouldFocusFirstSubItem();
162
+ }
163
+ }
164
+ handleEnterAndSpace(e) {
165
+ const { hasItems, isBack } = e.target;
166
+ if (isBack) {
167
+ this.onBackClick();
168
+ this.onShouldFocusFirstSubItem();
169
+ return;
170
+ }
171
+ this.onSubItemClick(e);
172
+ if (hasItems) {
173
+ this.onShouldFocusFirstSubItem();
174
+ }
175
+ else {
176
+ this.closeDropdown();
177
+ this.focus();
178
+ }
179
+ }
180
+ handleEscapeKey() {
181
+ this.closeDropdown();
182
+ this.focus();
183
+ }
184
+ setDropdownHistory() {
185
+ this._dropdownHistory.push(this._processedItems);
186
+ }
187
+ setPrevNestedItems() {
188
+ this._processedItems = this._dropdownHistory.pop();
189
+ }
190
+ setNestedItems({ title, items, mobileLinkTitle }) {
191
+ if (items) {
192
+ this._processedItems = [{ title, mobileLinkTitle, isBack: true }, ...items];
193
+ }
194
+ }
195
+ setDropdownItems() {
196
+ this._processedItems = this.subItems;
197
+ }
198
+ onFirstSubItemFocus() {
199
+ this.domNavItems[0].focus();
200
+ }
201
+ onLastSubItemFocus() {
202
+ this.domNavItems[this.domNavItems.length - 1].focus();
203
+ }
204
+ onShouldFocusFirstSubItem() {
205
+ this._shouldFocusFirstSubItem = true;
206
+ }
207
+ get domNavItems() {
208
+ const domNavItems = this.shadowRoot?.querySelectorAll("udex-secondary-navigation-sub-item");
209
+ return domNavItems ? Array.from(domNavItems) : [];
210
+ }
211
+ get hasNestedItems() {
212
+ return this.subItems.length > 0;
213
+ }
214
+ get isSubItemActive() {
215
+ return !!this.subActiveItem?.active;
216
+ }
217
+ get isActive() {
218
+ return this.isSubItemActive || this.active;
219
+ }
220
+ get subActiveItemTitle() {
221
+ if (this.subActiveItem) {
222
+ const { title, mobileLinkTitle } = this.subActiveItem;
223
+ return this._isMobileView ? mobileLinkTitle : title;
224
+ }
225
+ }
226
+ get subActiveItem() {
227
+ return this.getActiveSubItem(this.subItems);
228
+ }
229
+ get isLink() {
230
+ return !this.hasNestedItems && !!this.path;
231
+ }
232
+ get itemRole() {
233
+ return this.role ? this.role : this.menuItemRole;
234
+ }
235
+ get menuItemRole() {
236
+ return menuItemRole;
237
+ }
238
+ get title() {
239
+ return this.label;
240
+ }
241
+ };
242
+ __decorate([
243
+ property({ type: String })
244
+ ], UDExSecondaryNavigationItem.prototype, "ariaLabel", void 0);
245
+ __decorate([
246
+ property({ type: String })
247
+ ], UDExSecondaryNavigationItem.prototype, "role", void 0);
248
+ __decorate([
249
+ slot({ type: HTMLElement })
250
+ ], UDExSecondaryNavigationItem.prototype, "buttons", void 0);
251
+ __decorate([
252
+ property({ type: Object, multiple: true })
253
+ ], UDExSecondaryNavigationItem.prototype, "subItems", void 0);
254
+ __decorate([
255
+ property({ type: Boolean })
256
+ ], UDExSecondaryNavigationItem.prototype, "isOpen", void 0);
257
+ __decorate([
258
+ property({ type: Object })
259
+ ], UDExSecondaryNavigationItem.prototype, "_processedItems", void 0);
260
+ UDExSecondaryNavigationItem = __decorate([
261
+ customElement({
262
+ tag: "udex-secondary-navigation-item",
263
+ renderer: litRender,
264
+ styles: SecondaryNavigationItemCss,
265
+ template: SecondaryNavigationItemTemplate,
266
+ dependencies: [UI5Icon, UDExSecondaryNavigationSubItem],
267
+ })
268
+ /**
269
+ * Fires when item is clicked
270
+ *
271
+ * @allowPreventDefault
272
+ * @public
273
+ */
274
+ ,
275
+ event("nav-item-click", {
276
+ detail: {
277
+ item: { type: HTMLElement },
278
+ index: { type: Integer },
279
+ },
280
+ })
281
+ /**
282
+ * Fires when dropdown item is clicked
283
+ *
284
+ * @allowPreventDefault
285
+ * @public
286
+ */
287
+ ,
288
+ event("sub-item-click", {
289
+ detail: {
290
+ item: { type: Object },
291
+ index: { type: Integer },
292
+ },
293
+ })
294
+ ], UDExSecondaryNavigationItem);
295
+ UDExSecondaryNavigationItem.define();
296
+ export default UDExSecondaryNavigationItem;
297
+ //# sourceMappingURL=SecondaryNavigationItem.js.map
@@ -0,0 +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,\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 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._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 onItemClick(): void {\n if (this.hasNestedItems) {\n this.setDropdownItems();\n this.toggleDropdown();\n }\n\n this.fireEvent(\"nav-item-click\", {\n item: this,\n index: this.index,\n });\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 }\n\n this.fireEvent(\"sub-item-click\", {\n item: clickedItem,\n index,\n });\n }\n\n onBackClick(): void {\n this.setPrevNestedItems();\n }\n\n toggleDropdown(): void {\n this.isOpen = !this.isOpen;\n }\n\n closeDropdown(): void {\n this.isOpen = false;\n }\n\n handleItemLinkKeyDown(e: KeyboardEvent): void {\n if (isEnter(e) || isSpace(e)) {\n e.preventDefault();\n this.onItemClick();\n }\n }\n\n handleItemButtonKeyDown(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 }\n\n handleUpArrow(e: KeyboardEvent): void {\n const { index } = e.target as UDExSecondaryNavigationSubItem;\n const lastIndex = this.domNavItems.length - 1;\n const previousIndex = index - 1 < 0 ? lastIndex : index - 1;\n if (!(lastIndex === previousIndex)) {\n this.domNavItems[previousIndex].focus();\n }\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 if (!(nextIndex === 0)) {\n this.domNavItems[nextIndex].focus();\n }\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 } = e.target as UDExSecondaryNavigationSubItem;\n if (hasItems && !isBack) {\n this.onSubItemClick(e);\n this.onShouldFocusFirstSubItem();\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 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 onFirstSubItemFocus(): void {\n this.domNavItems[0].focus();\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 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;\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"]}
@@ -0,0 +1,82 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
3
+ export declare enum Target {
4
+ _blank = "_blank",
5
+ _parent = "_parent",
6
+ _self = "_self",
7
+ _top = "_top"
8
+ }
9
+ export type NavItem = {
10
+ path?: string;
11
+ mobileLinkTitle: string;
12
+ target?: Target;
13
+ title: string;
14
+ active?: boolean;
15
+ isBack?: boolean;
16
+ items?: Array<NavItem>;
17
+ };
18
+ /**
19
+ * @class
20
+ *
21
+ * A class to serve as a foundation
22
+ * for the <code>UDExSecondaryNavigationItem</code> and <code>UDExSecondaryNavigationSubItem</code> classes.
23
+ *
24
+ * @constructor
25
+ * @author SAP SE
26
+ * @extends UI5Element
27
+ * @public
28
+ */
29
+ declare class UDExSecondaryNavigationItemBase extends UI5Element {
30
+ /**
31
+ * Defines an aria label for item
32
+ *
33
+ * @public
34
+ */
35
+ mobileLinkTitle: string;
36
+ /**
37
+ * Defines active state for the item
38
+ *
39
+ * @public
40
+ */
41
+ active: boolean;
42
+ /**
43
+ * Defines path for the item
44
+ *
45
+ * @public
46
+ */
47
+ path: string;
48
+ /**
49
+ * Defines target for the item
50
+ *
51
+ * @public
52
+ */
53
+ target: Target;
54
+ /**
55
+ * Defines subTitle for the item
56
+ *
57
+ * @public
58
+ */
59
+ subTitle: string;
60
+ /**
61
+ * Defines label for the item
62
+ *
63
+ * @public
64
+ */
65
+ label: string;
66
+ /**
67
+ * Defines the index for the item.
68
+ *
69
+ * @public
70
+ */
71
+ index: number;
72
+ _isMobileView: boolean;
73
+ _handleResizeBound: ResizeObserverCallback;
74
+ constructor();
75
+ _handleResize(): void;
76
+ onEnterDOM(): void;
77
+ onExitDOM(): void;
78
+ getActiveSubItem(data: Array<NavItem>): NavItem | undefined;
79
+ get itemLabel(): string;
80
+ get isMobile(): boolean;
81
+ }
82
+ export default UDExSecondaryNavigationItemBase;
@@ -0,0 +1,104 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
+ import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
9
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
12
+ import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
13
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
14
+ import { breakpointSizeS } from "./SecondaryNavigation.js";
15
+ export var Target;
16
+ (function (Target) {
17
+ Target["_blank"] = "_blank";
18
+ Target["_parent"] = "_parent";
19
+ Target["_self"] = "_self";
20
+ Target["_top"] = "_top";
21
+ })(Target || (Target = {}));
22
+ /**
23
+ * @class
24
+ *
25
+ * A class to serve as a foundation
26
+ * for the <code>UDExSecondaryNavigationItem</code> and <code>UDExSecondaryNavigationSubItem</code> classes.
27
+ *
28
+ * @constructor
29
+ * @author SAP SE
30
+ * @extends UI5Element
31
+ * @public
32
+ */
33
+ let UDExSecondaryNavigationItemBase = class UDExSecondaryNavigationItemBase extends UI5Element {
34
+ constructor() {
35
+ super();
36
+ this._isMobileView = this.isMobile;
37
+ this._handleResizeBound = this._handleResize.bind(this);
38
+ }
39
+ _handleResize() {
40
+ this._isMobileView = this.isMobile;
41
+ }
42
+ onEnterDOM() {
43
+ if (isDesktop()) {
44
+ this.setAttribute("desktop", "");
45
+ }
46
+ ResizeHandler.register(this, this._handleResizeBound);
47
+ }
48
+ onExitDOM() {
49
+ ResizeHandler.deregister(this, this._handleResizeBound);
50
+ }
51
+ getActiveSubItem(data) {
52
+ let activeItem;
53
+ const findActiveItem = (array) => {
54
+ array.forEach(item => {
55
+ if (item.active === true) {
56
+ activeItem = item;
57
+ return;
58
+ }
59
+ if (item.items) {
60
+ findActiveItem(item.items);
61
+ }
62
+ });
63
+ };
64
+ findActiveItem(data);
65
+ return activeItem;
66
+ }
67
+ get itemLabel() {
68
+ return this._isMobileView ? this.mobileLinkTitle : this.label;
69
+ }
70
+ get isMobile() {
71
+ return window.innerWidth <= breakpointSizeS;
72
+ }
73
+ };
74
+ __decorate([
75
+ property({ type: String })
76
+ ], UDExSecondaryNavigationItemBase.prototype, "mobileLinkTitle", void 0);
77
+ __decorate([
78
+ property({ type: Boolean })
79
+ ], UDExSecondaryNavigationItemBase.prototype, "active", void 0);
80
+ __decorate([
81
+ property({ type: String })
82
+ ], UDExSecondaryNavigationItemBase.prototype, "path", void 0);
83
+ __decorate([
84
+ property({ type: Target, defaultValue: Target._self })
85
+ ], UDExSecondaryNavigationItemBase.prototype, "target", void 0);
86
+ __decorate([
87
+ property({ type: String })
88
+ ], UDExSecondaryNavigationItemBase.prototype, "subTitle", void 0);
89
+ __decorate([
90
+ property({ type: String })
91
+ ], UDExSecondaryNavigationItemBase.prototype, "label", void 0);
92
+ __decorate([
93
+ property({ validator: Integer })
94
+ ], UDExSecondaryNavigationItemBase.prototype, "index", void 0);
95
+ __decorate([
96
+ property({ type: Boolean })
97
+ ], UDExSecondaryNavigationItemBase.prototype, "_isMobileView", void 0);
98
+ UDExSecondaryNavigationItemBase = __decorate([
99
+ customElement({
100
+ renderer: litRender,
101
+ })
102
+ ], UDExSecondaryNavigationItemBase);
103
+ export default UDExSecondaryNavigationItemBase;
104
+ //# sourceMappingURL=SecondaryNavigationItemBase.js.map
@@ -0,0 +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 { breakpointSizeS } from \"./SecondaryNavigation.js\";\n\nexport enum Target {\n _blank = \"_blank\",\n _parent = \"_parent\",\n _self = \"_self\",\n _top = \"_top\",\n}\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;\n }\n\n get isMobile(): boolean {\n return window.innerWidth <= breakpointSizeS;\n }\n}\n\nexport default UDExSecondaryNavigationItemBase;\n"]}
@@ -0,0 +1,53 @@
1
+ import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
2
+ import "@ui5/webcomponents-icons/dist/slim-arrow-left.js";
3
+ import UDExSecondaryNavigationItemBase, { NavItem } from "./SecondaryNavigationItemBase.js";
4
+ /**
5
+ * @class
6
+ *
7
+ * <h3 class="comment-api-title">Overview</h3>
8
+ *
9
+ *
10
+ * <h3>Usage</h3>
11
+ *
12
+ * For the <code>udex-secondary-navigation-sub-item</code>
13
+ * <h3>ES6 Module Import</h3>
14
+ *
15
+ * <code>import "@udex/web-components/dist/SecondaryNavigationSubItem.js";</code>
16
+ *
17
+ * @constructor
18
+ * @extends UDExSecondaryNavigationItemBase
19
+ * @tagname udex-secondary-navigation-sub-item
20
+ * @public
21
+ */
22
+ declare class UDExSecondaryNavigationSubItem extends UDExSecondaryNavigationItemBase {
23
+ /**
24
+ * Defines active item.
25
+ *
26
+ * @public
27
+ * @default false
28
+ */
29
+ isActive: boolean;
30
+ /**
31
+ * Defines back item.
32
+ *
33
+ * @public
34
+ * @default false
35
+ */
36
+ isBack: boolean;
37
+ /**
38
+ * List of the nested items
39
+ *
40
+ * @default "[]"
41
+ * @public
42
+ */
43
+ nestedItems: Array<NavItem>;
44
+ static i18nBundle: any;
45
+ static onDefine(): Promise<void>;
46
+ onItemClick(): void;
47
+ onBackItemClick(): void;
48
+ get hasItems(): boolean;
49
+ get isButton(): boolean;
50
+ get isSubItemActive(): boolean;
51
+ get backButtonAriaLabel(): string;
52
+ }
53
+ export default UDExSecondaryNavigationSubItem;