@sapudex/web-components 0.143.0 → 0.172.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 (508) hide show
  1. package/.eslintignore +1 -0
  2. package/bundle.esm.js +9 -0
  3. package/dist/Badge.d.ts +21 -14
  4. package/dist/Badge.js +20 -26
  5. package/dist/Badge.js.map +1 -1
  6. package/dist/Breadcrumbs.d.ts +23 -21
  7. package/dist/Breadcrumbs.js +58 -40
  8. package/dist/Breadcrumbs.js.map +1 -1
  9. package/dist/BreadcrumbsItem.js +0 -1
  10. package/dist/BreadcrumbsItem.js.map +1 -1
  11. package/dist/Checkbox.js +0 -1
  12. package/dist/Checkbox.js.map +1 -1
  13. package/dist/CountrySelector.d.ts +9 -3
  14. package/dist/CountrySelector.js +48 -19
  15. package/dist/CountrySelector.js.map +1 -1
  16. package/dist/DatePicker.d.ts +2 -2
  17. package/dist/DatePicker.js.map +1 -1
  18. package/dist/Dropdown.js +0 -3
  19. package/dist/Dropdown.js.map +1 -1
  20. package/dist/Footer.d.ts +53 -10
  21. package/dist/Footer.js +41 -11
  22. package/dist/Footer.js.map +1 -1
  23. package/dist/Link.d.ts +2 -5
  24. package/dist/Link.js +4 -8
  25. package/dist/Link.js.map +1 -1
  26. package/dist/List.d.ts +16 -1
  27. package/dist/List.js +154 -100
  28. package/dist/List.js.map +1 -1
  29. package/dist/ListItem.d.ts +1 -0
  30. package/dist/ListItem.js +3 -0
  31. package/dist/ListItem.js.map +1 -1
  32. package/dist/MastheadItem.d.ts +12 -2
  33. package/dist/MastheadItem.js +34 -7
  34. package/dist/MastheadItem.js.map +1 -1
  35. package/dist/MastheadMenu.d.ts +1 -0
  36. package/dist/MastheadMenu.js +13 -4
  37. package/dist/MastheadMenu.js.map +1 -1
  38. package/dist/MastheadMenuItem.d.ts +10 -0
  39. package/dist/MastheadMenuItem.js +24 -3
  40. package/dist/MastheadMenuItem.js.map +1 -1
  41. package/dist/MastheadMobileMenu.js +2 -2
  42. package/dist/MastheadMobileMenu.js.map +1 -1
  43. package/dist/MastheadProfileMenu.js +2 -2
  44. package/dist/MastheadProfileMenu.js.map +1 -1
  45. package/dist/MastheadShell.d.ts +4 -0
  46. package/dist/MastheadShell.js +21 -5
  47. package/dist/MastheadShell.js.map +1 -1
  48. package/dist/Pagination.d.ts +13 -3
  49. package/dist/Pagination.js +90 -57
  50. package/dist/Pagination.js.map +1 -1
  51. package/dist/PhoneNumberField.d.ts +3 -0
  52. package/dist/PhoneNumberField.js +9 -4
  53. package/dist/PhoneNumberField.js.map +1 -1
  54. package/dist/RangeSlider.js +0 -1
  55. package/dist/RangeSlider.js.map +1 -1
  56. package/dist/Search.d.ts +5 -4
  57. package/dist/Search.js +13 -13
  58. package/dist/Search.js.map +1 -1
  59. package/dist/SearchableListBase.d.ts +7 -1
  60. package/dist/SearchableListBase.js +47 -4
  61. package/dist/SearchableListBase.js.map +1 -1
  62. package/dist/SecondaryNavigation.d.ts +2 -2
  63. package/dist/SecondaryNavigation.js +20 -10
  64. package/dist/SecondaryNavigation.js.map +1 -1
  65. package/dist/SecondaryNavigationItem.d.ts +6 -3
  66. package/dist/SecondaryNavigationItem.js +50 -26
  67. package/dist/SecondaryNavigationItem.js.map +1 -1
  68. package/dist/SecondaryNavigationSubItem.d.ts +1 -0
  69. package/dist/SecondaryNavigationSubItem.js +3 -0
  70. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  71. package/dist/SegmentedButton.d.ts +2 -2
  72. package/dist/SegmentedButton.js.map +1 -1
  73. package/dist/SelectBox.d.ts +6 -9
  74. package/dist/SelectBox.js +50 -55
  75. package/dist/SelectBox.js.map +1 -1
  76. package/dist/SideNavigationGroup.js +0 -1
  77. package/dist/SideNavigationGroup.js.map +1 -1
  78. package/dist/SideNavigationItem.js +0 -1
  79. package/dist/SideNavigationItem.js.map +1 -1
  80. package/dist/SideNavigationSubItem.js +0 -1
  81. package/dist/SideNavigationSubItem.js.map +1 -1
  82. package/dist/Slider.js +0 -1
  83. package/dist/Slider.js.map +1 -1
  84. package/dist/TabNavigation.js +2 -2
  85. package/dist/TabNavigation.js.map +1 -1
  86. package/dist/Tag.d.ts +1 -4
  87. package/dist/Tag.js +1 -5
  88. package/dist/Tag.js.map +1 -1
  89. package/dist/Tile.d.ts +1 -1
  90. package/dist/Tile.js +1 -1
  91. package/dist/Tile.js.map +1 -1
  92. package/dist/Toast.d.ts +0 -1
  93. package/dist/Toast.js +4 -3
  94. package/dist/Toast.js.map +1 -1
  95. package/dist/Wizard.js +1 -1
  96. package/dist/Wizard.js.map +1 -1
  97. package/dist/WizardTab.js +0 -1
  98. package/dist/WizardTab.js.map +1 -1
  99. package/dist/assets/{bundle.esm-8623b7b1.js → bundle.esm-981c5cbb.js} +187 -191
  100. package/dist/assets/messagebundle_ar-bb470511.js +1 -0
  101. package/dist/assets/messagebundle_bg-a533dfab.js +1 -0
  102. package/dist/assets/messagebundle_cs-c70a7f36.js +1 -0
  103. package/dist/assets/messagebundle_da-e292cac5.js +1 -0
  104. package/dist/assets/messagebundle_de-5c108de6.js +1 -0
  105. package/dist/assets/messagebundle_el-44746e0b.js +1 -0
  106. package/dist/assets/messagebundle_en-4997b226.js +1 -0
  107. package/dist/assets/messagebundle_es-c0c1060f.js +1 -0
  108. package/dist/assets/messagebundle_et-a5f15d3b.js +1 -0
  109. package/dist/assets/messagebundle_fi-f4b8eb82.js +1 -0
  110. package/dist/assets/messagebundle_fr-af18ac46.js +1 -0
  111. package/dist/assets/messagebundle_hr-d893e46d.js +1 -0
  112. package/dist/assets/messagebundle_hu-230c58c9.js +1 -0
  113. package/dist/assets/messagebundle_it-5bf1436c.js +1 -0
  114. package/dist/assets/messagebundle_iw-dd60afc4.js +1 -0
  115. package/dist/assets/messagebundle_ko-c450bda3.js +1 -0
  116. package/dist/assets/messagebundle_lt-87ab0529.js +1 -0
  117. package/dist/assets/messagebundle_lv-fc413852.js +1 -0
  118. package/dist/assets/messagebundle_nl-34d7e236.js +1 -0
  119. package/dist/assets/messagebundle_no-f22648fb.js +1 -0
  120. package/dist/assets/messagebundle_pl-10303f09.js +1 -0
  121. package/dist/assets/messagebundle_pt-b7a40c67.js +1 -0
  122. package/dist/assets/messagebundle_ro-94628623.js +1 -0
  123. package/dist/assets/messagebundle_ru-1f6595ba.js +1 -0
  124. package/dist/assets/messagebundle_sk-89eabac1.js +1 -0
  125. package/dist/assets/messagebundle_sl-d56532f1.js +1 -0
  126. package/dist/assets/messagebundle_sr-cf7f3b32.js +1 -0
  127. package/dist/assets/messagebundle_sv-3a3b20d3.js +1 -0
  128. package/dist/assets/messagebundle_tr-33b16d09.js +1 -0
  129. package/dist/assets/messagebundle_uk-82e1f2c1.js +1 -0
  130. package/dist/assets/messagebundle_zh_CN-15ca05aa.js +1 -0
  131. package/dist/assets/messagebundle_zh_TW-ad6445e7.js +1 -0
  132. package/dist/assets/{parameters-bundle.css-c897ae23.js → parameters-bundle.css-07457fce.js} +2 -2
  133. package/dist/css/themes/Badge.css +1 -1
  134. package/dist/css/themes/BreadcrumbsPopover.css +1 -1
  135. package/dist/css/themes/Button.css +1 -1
  136. package/dist/css/themes/DatePickerPopover.css +1 -1
  137. package/dist/css/themes/FilterMenu.css +1 -1
  138. package/dist/css/themes/Footer.css +1 -1
  139. package/dist/css/themes/MastheadItem.css +1 -1
  140. package/dist/css/themes/MastheadMenu.css +1 -1
  141. package/dist/css/themes/MastheadMenuItem.css +1 -1
  142. package/dist/css/themes/MastheadShell.css +1 -1
  143. package/dist/css/themes/MediaPlayer.css +1 -1
  144. package/dist/css/themes/Modal.css +1 -1
  145. package/dist/css/themes/RatingIndicator.css +1 -1
  146. package/dist/css/themes/SelectBox.css +1 -1
  147. package/dist/css/themes/Slider.css +1 -1
  148. package/dist/css/themes/TableCell.css +1 -1
  149. package/dist/css/themes/TableCellBase.css +1 -1
  150. package/dist/css/themes/Tag.css +1 -1
  151. package/dist/css/themes/TagGroup.css +1 -1
  152. package/dist/css/themes/TextArea.css +1 -1
  153. package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
  154. package/dist/custom-elements-internal.json +232 -31
  155. package/dist/custom-elements.json +224 -30
  156. package/dist/features/SearchSuggestionsPopover.d.ts +16 -0
  157. package/dist/features/SearchSuggestionsPopover.js +49 -0
  158. package/dist/features/SearchSuggestionsPopover.js.map +1 -1
  159. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -0
  160. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -0
  161. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -0
  162. package/dist/generated/assets/i18n/messagebundle_da.json +1 -0
  163. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  164. package/dist/generated/assets/i18n/messagebundle_el.json +1 -0
  165. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  166. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  167. package/dist/generated/assets/i18n/messagebundle_et.json +1 -0
  168. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -0
  169. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  170. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -0
  171. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -0
  172. package/dist/generated/assets/i18n/messagebundle_it.json +1 -0
  173. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -0
  174. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -0
  175. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -0
  176. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -0
  177. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -0
  178. package/dist/generated/assets/i18n/messagebundle_no.json +1 -0
  179. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -0
  180. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -0
  181. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -0
  182. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -0
  183. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -0
  184. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -0
  185. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -0
  186. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -0
  187. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -0
  188. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -0
  189. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -0
  190. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -0
  191. package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +1 -1
  192. package/dist/generated/i18n/i18n-defaults.d.ts +7 -1
  193. package/dist/generated/i18n/i18n-defaults.js +7 -1
  194. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  195. package/dist/generated/json-imports/i18n-static.js +86 -2
  196. package/dist/generated/json-imports/i18n-static.js.map +1 -1
  197. package/dist/generated/json-imports/i18n.js +58 -2
  198. package/dist/generated/json-imports/i18n.js.map +1 -1
  199. package/dist/generated/templates/BadgeTemplate.lit.js +4 -4
  200. package/dist/generated/templates/BadgeTemplate.lit.js.map +1 -1
  201. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +3 -3
  202. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +1 -1
  203. package/dist/generated/templates/CountrySelectorTemplate.lit.js +2 -2
  204. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  205. package/dist/generated/templates/FooterTemplate.lit.js +12 -11
  206. package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
  207. package/dist/generated/templates/ListItemTemplate.lit.js +2 -2
  208. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  209. package/dist/generated/templates/ListTemplate.lit.js +3 -3
  210. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  211. package/dist/generated/templates/MastheadItemTemplate.lit.js +17 -16
  212. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  213. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +15 -14
  214. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
  215. package/dist/generated/templates/MastheadMenuTemplate.lit.js +3 -3
  216. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  217. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +1 -1
  218. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
  219. package/dist/generated/templates/MastheadShellTemplate.lit.js +10 -9
  220. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  221. package/dist/generated/templates/PaginationTemplate.lit.js +3 -3
  222. package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
  223. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +1 -1
  224. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  225. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js +1 -1
  226. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +1 -1
  227. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +2 -2
  228. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  229. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +3 -3
  230. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
  231. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +3 -3
  232. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +1 -1
  233. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +1 -1
  234. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  235. package/dist/generated/templates/SelectBoxTemplate.lit.js +3 -5
  236. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  237. package/dist/generated/templates/StepInputTemplate.lit.js +1 -1
  238. package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -1
  239. package/dist/generated/templates/TagGroupTemplate.lit.js +2 -2
  240. package/dist/generated/templates/TagGroupTemplate.lit.js.map +1 -1
  241. package/dist/generated/templates/WizardTemplate.lit.js +1 -1
  242. package/dist/generated/templates/WizardTemplate.lit.js.map +1 -1
  243. package/dist/generated/themes/Badge.css.js +1 -1
  244. package/dist/generated/themes/Badge.css.js.map +1 -1
  245. package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
  246. package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
  247. package/dist/generated/themes/Button.css.js +1 -1
  248. package/dist/generated/themes/Button.css.js.map +1 -1
  249. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  250. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  251. package/dist/generated/themes/FilterMenu.css.js +1 -1
  252. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  253. package/dist/generated/themes/Footer.css.js +1 -1
  254. package/dist/generated/themes/Footer.css.js.map +1 -1
  255. package/dist/generated/themes/MastheadItem.css.js +1 -1
  256. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  257. package/dist/generated/themes/MastheadMenu.css.js +1 -1
  258. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  259. package/dist/generated/themes/MastheadMenuItem.css.js +1 -1
  260. package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
  261. package/dist/generated/themes/MastheadShell.css.js +1 -1
  262. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  263. package/dist/generated/themes/MediaPlayer.css.js +1 -1
  264. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  265. package/dist/generated/themes/Modal.css.js +1 -1
  266. package/dist/generated/themes/Modal.css.js.map +1 -1
  267. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  268. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  269. package/dist/generated/themes/SelectBox.css.js +1 -1
  270. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  271. package/dist/generated/themes/Slider.css.js +1 -1
  272. package/dist/generated/themes/Slider.css.js.map +1 -1
  273. package/dist/generated/themes/TableCell.css.js +1 -1
  274. package/dist/generated/themes/TableCell.css.js.map +1 -1
  275. package/dist/generated/themes/TableCellBase.css.js +1 -1
  276. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  277. package/dist/generated/themes/Tag.css.js +1 -1
  278. package/dist/generated/themes/Tag.css.js.map +1 -1
  279. package/dist/generated/themes/TagGroup.css.js +1 -1
  280. package/dist/generated/themes/TagGroup.css.js.map +1 -1
  281. package/dist/generated/themes/TextArea.css.js +1 -1
  282. package/dist/generated/themes/TextArea.css.js.map +1 -1
  283. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +1 -1
  284. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +1 -1
  285. package/dist/i18n/messagebundle.properties +10 -0
  286. package/dist/i18n/messagebundle_ar.properties +1 -0
  287. package/dist/i18n/messagebundle_bg.properties +1 -0
  288. package/dist/i18n/messagebundle_cs.properties +1 -0
  289. package/dist/i18n/messagebundle_da.properties +1 -0
  290. package/dist/i18n/messagebundle_de.properties +1 -0
  291. package/dist/i18n/messagebundle_el.properties +1 -0
  292. package/dist/i18n/messagebundle_en.properties +4 -0
  293. package/dist/i18n/messagebundle_es.properties +1 -0
  294. package/dist/i18n/messagebundle_et.properties +1 -0
  295. package/dist/i18n/messagebundle_fi.properties +1 -0
  296. package/dist/i18n/messagebundle_fr.properties +1 -0
  297. package/dist/i18n/messagebundle_hr.properties +1 -0
  298. package/dist/i18n/messagebundle_hu.properties +1 -0
  299. package/dist/i18n/messagebundle_it.properties +1 -0
  300. package/dist/i18n/messagebundle_iw.properties +2 -0
  301. package/dist/i18n/messagebundle_ko.properties +1 -0
  302. package/dist/i18n/messagebundle_lt.properties +1 -0
  303. package/dist/i18n/messagebundle_lv.properties +1 -0
  304. package/dist/i18n/messagebundle_nl.properties +1 -0
  305. package/dist/i18n/messagebundle_no.properties +1 -0
  306. package/dist/i18n/messagebundle_pl.properties +1 -0
  307. package/dist/i18n/messagebundle_pt.properties +1 -0
  308. package/dist/i18n/messagebundle_pt_BR.properties +1 -0
  309. package/dist/i18n/messagebundle_ro.properties +1 -0
  310. package/dist/i18n/messagebundle_ru.properties +1 -0
  311. package/dist/i18n/messagebundle_sk.properties +1 -0
  312. package/dist/i18n/messagebundle_sl.properties +1 -0
  313. package/dist/i18n/messagebundle_sr.properties +2 -0
  314. package/dist/i18n/messagebundle_sv.properties +1 -0
  315. package/dist/i18n/messagebundle_tr.properties +1 -0
  316. package/dist/i18n/messagebundle_uk.properties +1 -0
  317. package/dist/i18n/messagebundle_zh_CN.properties +4 -0
  318. package/dist/i18n/messagebundle_zh_TW.properties +1 -0
  319. package/dist/types/BadgeDesign.d.ts +15 -0
  320. package/dist/types/BadgeDesign.js +18 -0
  321. package/dist/types/BadgeDesign.js.map +1 -0
  322. package/dist/types/IconPlacement.d.ts +5 -0
  323. package/dist/types/IconPlacement.js +7 -0
  324. package/dist/types/IconPlacement.js.map +1 -0
  325. package/dist/types/List.d.ts +8 -0
  326. package/dist/types/List.js.map +1 -1
  327. package/dist/utils/isLetterKeyPressed.d.ts +2 -0
  328. package/dist/utils/isLetterKeyPressed.js +5 -0
  329. package/dist/utils/isLetterKeyPressed.js.map +1 -0
  330. package/dist/utils/listItemLabelStartsWithKeyFocus.d.ts +3 -0
  331. package/dist/utils/listItemLabelStartsWithKeyFocus.js +55 -0
  332. package/dist/utils/listItemLabelStartsWithKeyFocus.js.map +1 -0
  333. package/dist/utils/listItemLabelUtils.d.ts +7 -0
  334. package/dist/utils/listItemLabelUtils.js +36 -0
  335. package/dist/utils/listItemLabelUtils.js.map +1 -0
  336. package/dist/vscode.html-custom-data.json +63 -26
  337. package/dist/web-types.json +113 -38
  338. package/package.json +1 -1
  339. package/src/Badge.hbs +16 -5
  340. package/src/Badge.ts +36 -19
  341. package/src/Breadcrumbs.ts +92 -66
  342. package/src/BreadcrumbsItem.ts +0 -1
  343. package/src/BreadcrumbsPopover.hbs +11 -9
  344. package/src/Checkbox.ts +0 -1
  345. package/src/CountrySelector.hbs +2 -2
  346. package/src/CountrySelector.ts +66 -23
  347. package/src/DatePicker.ts +2 -2
  348. package/src/Dropdown.ts +0 -2
  349. package/src/Footer.hbs +52 -28
  350. package/src/Footer.ts +81 -22
  351. package/src/Link.ts +5 -9
  352. package/src/List.hbs +2 -2
  353. package/src/List.ts +182 -112
  354. package/src/ListItem.hbs +2 -2
  355. package/src/ListItem.ts +4 -0
  356. package/src/MastheadItem.hbs +14 -4
  357. package/src/MastheadItem.ts +42 -9
  358. package/src/MastheadMenu.hbs +4 -4
  359. package/src/MastheadMenu.ts +20 -8
  360. package/src/MastheadMenuItem.hbs +10 -2
  361. package/src/MastheadMenuItem.ts +28 -1
  362. package/src/MastheadMobileMenu.ts +2 -2
  363. package/src/MastheadProfileMenu.hbs +1 -0
  364. package/src/MastheadProfileMenu.ts +3 -2
  365. package/src/MastheadShell.hbs +25 -19
  366. package/src/MastheadShell.ts +25 -5
  367. package/src/Pagination.hbs +3 -2
  368. package/src/Pagination.ts +110 -60
  369. package/src/PhoneNumberField.hbs +3 -3
  370. package/src/PhoneNumberField.ts +16 -8
  371. package/src/RangeSlider.ts +0 -1
  372. package/src/Search.hbs +10 -10
  373. package/src/Search.ts +18 -18
  374. package/src/SearchSuggestions.hbs +1 -0
  375. package/src/SearchableListBase.hbs +3 -1
  376. package/src/SearchableListBase.ts +57 -6
  377. package/src/SecondaryNavigation.hbs +1 -0
  378. package/src/SecondaryNavigation.ts +23 -16
  379. package/src/SecondaryNavigationItem.hbs +10 -7
  380. package/src/SecondaryNavigationItem.ts +58 -28
  381. package/src/SecondaryNavigationSubItem.hbs +3 -0
  382. package/src/SecondaryNavigationSubItem.ts +3 -0
  383. package/src/SegmentedButton.ts +2 -2
  384. package/src/SelectBox.hbs +11 -24
  385. package/src/SelectBox.ts +51 -60
  386. package/src/SideNavigationGroup.ts +0 -1
  387. package/src/SideNavigationItem.ts +0 -1
  388. package/src/SideNavigationSubItem.ts +0 -1
  389. package/src/Slider.ts +0 -1
  390. package/src/StepInput.hbs +16 -16
  391. package/src/TabNavigation.ts +2 -2
  392. package/src/Tag.ts +1 -5
  393. package/src/TagGroup.hbs +1 -1
  394. package/src/Tile.ts +2 -2
  395. package/src/Toast.ts +4 -3
  396. package/src/Wizard.hbs +1 -0
  397. package/src/Wizard.ts +1 -1
  398. package/src/WizardTab.ts +0 -1
  399. package/src/features/SearchSuggestionsPopover.ts +67 -1
  400. package/src/generated/i18n/i18n-defaults.ts +2 -2
  401. package/src/generated/json-imports/i18n-static.ts +86 -2
  402. package/src/generated/json-imports/i18n.ts +59 -3
  403. package/src/generated/templates/BadgeTemplate.lit.ts +3 -3
  404. package/src/generated/templates/BreadcrumbsPopoverTemplate.lit.ts +3 -3
  405. package/src/generated/templates/CountrySelectorTemplate.lit.ts +2 -2
  406. package/src/generated/templates/FooterTemplate.lit.ts +12 -11
  407. package/src/generated/templates/ListItemTemplate.lit.ts +2 -2
  408. package/src/generated/templates/ListTemplate.lit.ts +3 -3
  409. package/src/generated/templates/MastheadItemTemplate.lit.ts +17 -16
  410. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +15 -14
  411. package/src/generated/templates/MastheadMenuTemplate.lit.ts +3 -3
  412. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +1 -1
  413. package/src/generated/templates/MastheadShellTemplate.lit.ts +10 -9
  414. package/src/generated/templates/PaginationTemplate.lit.ts +3 -3
  415. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +1 -1
  416. package/src/generated/templates/SearchSuggestionsTemplate.lit.ts +1 -1
  417. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +2 -2
  418. package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +3 -3
  419. package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +3 -3
  420. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +1 -1
  421. package/src/generated/templates/SelectBoxTemplate.lit.ts +3 -5
  422. package/src/generated/templates/StepInputTemplate.lit.ts +1 -1
  423. package/src/generated/templates/TagGroupTemplate.lit.ts +2 -2
  424. package/src/generated/templates/WizardTemplate.lit.ts +1 -1
  425. package/src/generated/themes/Badge.css.ts +1 -1
  426. package/src/generated/themes/BreadcrumbsPopover.css.ts +1 -1
  427. package/src/generated/themes/Button.css.ts +1 -1
  428. package/src/generated/themes/DatePickerPopover.css.ts +1 -1
  429. package/src/generated/themes/FilterMenu.css.ts +1 -1
  430. package/src/generated/themes/Footer.css.ts +1 -1
  431. package/src/generated/themes/MastheadItem.css.ts +1 -1
  432. package/src/generated/themes/MastheadMenu.css.ts +1 -1
  433. package/src/generated/themes/MastheadMenuItem.css.ts +1 -1
  434. package/src/generated/themes/MastheadShell.css.ts +1 -1
  435. package/src/generated/themes/MediaPlayer.css.ts +1 -1
  436. package/src/generated/themes/Modal.css.ts +1 -1
  437. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  438. package/src/generated/themes/SelectBox.css.ts +1 -1
  439. package/src/generated/themes/Slider.css.ts +1 -1
  440. package/src/generated/themes/TableCell.css.ts +1 -1
  441. package/src/generated/themes/TableCellBase.css.ts +1 -1
  442. package/src/generated/themes/Tag.css.ts +1 -1
  443. package/src/generated/themes/TagGroup.css.ts +1 -1
  444. package/src/generated/themes/TextArea.css.ts +1 -1
  445. package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
  446. package/src/i18n/messagebundle.properties +10 -0
  447. package/src/i18n/messagebundle_ar.properties +1 -0
  448. package/src/i18n/messagebundle_bg.properties +1 -0
  449. package/src/i18n/messagebundle_cs.properties +1 -0
  450. package/src/i18n/messagebundle_da.properties +1 -0
  451. package/src/i18n/messagebundle_de.properties +1 -0
  452. package/src/i18n/messagebundle_el.properties +1 -0
  453. package/src/i18n/messagebundle_en.properties +4 -0
  454. package/src/i18n/messagebundle_es.properties +1 -0
  455. package/src/i18n/messagebundle_et.properties +1 -0
  456. package/src/i18n/messagebundle_fi.properties +1 -0
  457. package/src/i18n/messagebundle_fr.properties +1 -0
  458. package/src/i18n/messagebundle_hr.properties +1 -0
  459. package/src/i18n/messagebundle_hu.properties +1 -0
  460. package/src/i18n/messagebundle_it.properties +1 -0
  461. package/src/i18n/messagebundle_iw.properties +2 -0
  462. package/src/i18n/messagebundle_ko.properties +1 -0
  463. package/src/i18n/messagebundle_lt.properties +1 -0
  464. package/src/i18n/messagebundle_lv.properties +1 -0
  465. package/src/i18n/messagebundle_nl.properties +1 -0
  466. package/src/i18n/messagebundle_no.properties +1 -0
  467. package/src/i18n/messagebundle_pl.properties +1 -0
  468. package/src/i18n/messagebundle_pt.properties +1 -0
  469. package/src/i18n/messagebundle_pt_BR.properties +1 -0
  470. package/src/i18n/messagebundle_ro.properties +1 -0
  471. package/src/i18n/messagebundle_ru.properties +1 -0
  472. package/src/i18n/messagebundle_sk.properties +1 -0
  473. package/src/i18n/messagebundle_sl.properties +1 -0
  474. package/src/i18n/messagebundle_sr.properties +2 -0
  475. package/src/i18n/messagebundle_sv.properties +1 -0
  476. package/src/i18n/messagebundle_tr.properties +1 -0
  477. package/src/i18n/messagebundle_uk.properties +1 -0
  478. package/src/i18n/messagebundle_zh_CN.properties +4 -0
  479. package/src/i18n/messagebundle_zh_TW.properties +1 -0
  480. package/src/themes/Badge.css +48 -52
  481. package/src/themes/BreadcrumbsPopover.css +1 -0
  482. package/src/themes/Button.css +1 -1
  483. package/src/themes/DatePickerPopover.css +9 -0
  484. package/src/themes/FilterMenu.css +6 -6
  485. package/src/themes/Footer.css +22 -3
  486. package/src/themes/MastheadItem.css +4 -0
  487. package/src/themes/MastheadMenu.css +1 -1
  488. package/src/themes/MastheadMenuItem.css +4 -0
  489. package/src/themes/MastheadShell.css +5 -0
  490. package/src/themes/MediaPlayer.css +2 -1
  491. package/src/themes/Modal.css +1 -0
  492. package/src/themes/SelectBox.css +4 -88
  493. package/src/themes/TableCell.css +0 -2
  494. package/src/themes/TableCellBase.css +1 -0
  495. package/src/themes/Tag.css +8 -3
  496. package/src/themes/TagGroup.css +8 -0
  497. package/src/themes/TextArea.css +1 -1
  498. package/src/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +0 -5
  499. package/src/types/BadgeDesign.ts +17 -0
  500. package/src/types/IconPlacement.ts +6 -0
  501. package/src/types/List.ts +9 -0
  502. package/src/utils/isLetterKeyPressed.ts +5 -0
  503. package/src/utils/listItemLabelStartsWithKeyFocus.ts +74 -0
  504. package/src/utils/listItemLabelUtils.ts +50 -0
  505. package/dist/assets/messagebundle_de-8158912e.js +0 -1
  506. package/dist/assets/messagebundle_en-c677773a.js +0 -1
  507. package/dist/assets/messagebundle_es-8dab6565.js +0 -1
  508. package/dist/assets/messagebundle_fr-669aca6d.js +0 -1
@@ -97,10 +97,10 @@
97
97
 
98
98
  .udex-masthead-menu__list {
99
99
  width: var(--udex-masthead-menu-column-width);
100
+ flex-grow: 1;
100
101
  list-style: none;
101
102
  margin: 0;
102
103
  padding: 0;
103
- flex-grow: 1;
104
104
  }
105
105
 
106
106
  .udex-masthead-menu__list li {
@@ -159,6 +159,10 @@ button.udex-masthead-menu-item {
159
159
  margin-inline-end: auto;
160
160
  }
161
161
 
162
+ .udex-masthead-hidden-text {
163
+ display: none;
164
+ }
165
+
162
166
  @media (max-width: 1279px) {
163
167
  .udex-masthead-menu-item {
164
168
  padding: var(--udex-masthead-menu-item-padding-mobile);
@@ -123,6 +123,9 @@
123
123
  align-items: center;
124
124
  gap: var(--udexSpacer24);
125
125
  max-width: 100%;
126
+ margin: 0;
127
+ padding: 0;
128
+ list-style: none;
126
129
  }
127
130
 
128
131
  .udex-masthead-shell__right-menu {
@@ -152,11 +155,13 @@
152
155
 
153
156
  .udex-masthead-shell__menu-btn {
154
157
  height: 18px;
158
+ order: 1;
155
159
  }
156
160
 
157
161
  .udex-masthead-shell__close-btn {
158
162
  position: relative;
159
163
  margin-inline-start: var(--udexSpacer12);
164
+ order: 2;
160
165
  }
161
166
 
162
167
  .udex-masthead-shell__close-btn:before {
@@ -1,4 +1,5 @@
1
1
  :host {
2
+ --udex-media-player-background-color: #000000;
2
3
  --udex-media-player-height: 500px;
3
4
  --udex-media-player-width: 100%;
4
5
  --udex-media-player-mobile-height: 150px;
@@ -64,7 +65,7 @@
64
65
  }
65
66
 
66
67
  .video-js {
67
- background-color: #000;
68
+ background-color: var(--udex-media-player-background-color);
68
69
  box-sizing: border-box;
69
70
  color: #fff;
70
71
  display: inline-block;
@@ -23,6 +23,7 @@
23
23
 
24
24
  :host .ui5-popup-root .ui5-popup-content {
25
25
  padding: var(--udexModalAndOverlayModalContentPaddingVertical) var(--udexModalAndOverlayModalContentPaddingHorizontal);
26
+ scrollbar-gutter: stable both-edges;
26
27
  }
27
28
 
28
29
  :host([type="basic"]) {
@@ -11,37 +11,10 @@
11
11
  cursor: inherit;
12
12
  }
13
13
 
14
- :host([displayonly]) .udex-text-field__token {
15
- margin-inline-end: 0;
16
- position: relative;
17
- }
18
-
19
- :host([displayonly]:dir(rtl)) .udex-text-field__token:not(:first-child):before {
20
- left: auto;
21
- right: -2px;
22
- }
23
-
24
- :host([displayonly]) .udex-text-field__token:not(:first-child):before {
25
- content: '';
26
- position: absolute;
27
- top: 9px;
28
- left: -2px;
29
- display: block;
30
- width: 4px;
31
- height: 4px;
32
- border-radius: 50%;
33
- z-index: 1;
34
- background: var(--udexColorGrey7, #475E75);
35
- }
36
-
37
14
  :host([displayonly]) .udex-text-field__input {
38
15
  overflow: hidden;
39
16
  }
40
17
 
41
- :host([displayonly]) udex-tag {
42
- --udex-tags-grey-read-only-caption-color: var(--udexColorGrey9, #223548);
43
- }
44
-
45
18
  .udex-text-field__input:not([readonly]):not([disabled]) .udex-text-field__trigger:hover {
46
19
  border-left: 1px solid var(--udexColorGrey4, #A9B4BE);
47
20
  }
@@ -127,7 +100,7 @@
127
100
  .udex-text-field__trigger {
128
101
  --udex-control-button-large-height: 42px;
129
102
  --udex-control-button-large-width: 42px;
130
-
103
+
131
104
  width: 38px;
132
105
  background: none;
133
106
  border-top-color: transparent;
@@ -160,33 +133,14 @@
160
133
  font-weight: normal;
161
134
  }
162
135
 
163
- .udex-text-field__tokenizer {
136
+ .udex-tag-group {
164
137
  border: none;
165
138
  width: auto;
166
139
  min-width: 100px;
167
140
  max-width: calc(100% - 42px - var(--udexSpacer8));
168
141
  }
169
142
 
170
- .udex-text-field__token {
171
- margin-inline-end: var(--udexSpacer8);
172
- max-width: 100%;
173
- display: flex;
174
- }
175
-
176
- .udex-text-field__token:last-child {
177
- margin-inline-end: 0;
178
- }
179
-
180
- [overflows].udex-text-field__token {
181
- display: none;
182
- }
183
-
184
- [readonly] .udex-text-field__tokenizer,
185
- [disabled] .udex-text-field__tokenizer {
186
- pointer-events: none;
187
- }
188
-
189
- :host([displayonly]) .udex-text-field__tokenizer {
143
+ :host([displayonly]) .udex-tag-group {
190
144
  margin-inline-start: -20px;
191
145
  }
192
146
 
@@ -194,33 +148,6 @@
194
148
  color: var(--udexColorBlue9, #0040B0);
195
149
  }
196
150
 
197
- :host([displayonly]:dir(rtl))::part(n-more-text):before {
198
- left: auto;
199
- right: -10px;
200
- }
201
-
202
- :host([displayonly])::part(n-more-text):before {
203
- content: '';
204
- position: absolute;
205
- top: 10px;
206
- left: -10px;
207
- display: block;
208
- width: 4px;
209
- height: 4px;
210
- border-radius: 50%;
211
- z-index: 1;
212
- background: var(--udexColorGrey7, #475E75);
213
- }
214
-
215
- :host([readonly])::part(n-more-text) {
216
- color: var(--udexColorGrey6 ,#5B738B);
217
- }
218
-
219
- :host([displayonly])::part(n-more-text) {
220
- position: relative;
221
- margin-inline-start: 9px;
222
- }
223
-
224
151
  :host([displayonly]) .udex-text-field__label {
225
152
  left: 0;
226
153
  }
@@ -248,17 +175,6 @@
248
175
  cursor: pointer;
249
176
  }
250
177
 
251
- .udex-select-box__overflow-tags {
252
- font-size: var(--udexTypographyBodyXXSFontSize);
253
- font-family: var(--sapFontFamily);
254
- font-weight: var(--udexTypographyFontWeightRegular);
255
- line-height: var(--udexTypographyBodyLineHeight);
256
- color: var(--udexCoreTextDark, #223548);
257
- list-style: none;
258
- margin: 0;
259
- padding: 0;
260
- }
261
-
262
178
  .udex-select-box__dropdown {
263
179
  --udex-dropdown-pane-min-width: var(--udex-select-box-popover-min-width);
264
180
  width: var(--udex-dropdown-pane-width);
@@ -291,4 +207,4 @@
291
207
  .udex-select-box__dropdown::part(content) {
292
208
  padding: 0;
293
209
  overflow: auto;
294
- }
210
+ }
@@ -30,6 +30,4 @@
30
30
  height: var(--udex-table-cell-icon-height);
31
31
  margin-inline-end: var(--udexSpacer4);
32
32
  color: var(--udex-table-cell-color);
33
- margin-top: 4px;
34
- margin-bottom: auto;
35
33
  }
@@ -9,6 +9,7 @@
9
9
  border-bottom-width: 1px;
10
10
  border-bottom-style: solid;
11
11
  position: relative;
12
+ word-break: break-word;
12
13
  }
13
14
 
14
15
  :host([_sticky]) {
@@ -54,13 +54,18 @@
54
54
  --udex-tags-white-selected-caption-color: var(--udexColorBlue7, #0070F2);
55
55
  }
56
56
 
57
- :host([desktop]) .udex-tag:focus,
58
- :host([desktop]) .udex-tag__btn-icon:focus,
59
- .udex-tag:focus-visible {
57
+ :host([desktop]:not([read-only])) .udex-tag:focus,
58
+ :host([desktop]:not([read-only])) .udex-tag__btn-icon:focus,
59
+ :host(:not([read-only])) .udex-tag:focus-visible {
60
60
  outline: solid var(--udexSpacer2, 2px) var(--udexColorBlue9, #0040B0);
61
61
  outline-offset: -2px;
62
62
  }
63
63
 
64
+ :host([read-only]) .udex-tag:focus-visible {
65
+ outline: none;
66
+ box-shadow: none;
67
+ }
68
+
64
69
  .udex-tag {
65
70
  font-family: var(--sapFontFamily, sans-serif);
66
71
  font-size: var(--udex-tags-font-size);
@@ -18,6 +18,10 @@
18
18
  max-width: 100%;
19
19
  }
20
20
 
21
+ .udex-tag-group__tokenizer .udex-tag-group__tag {
22
+ display: flex;
23
+ }
24
+
21
25
  :host(:not([displayonly])) .udex-tag-group-tooltip__content {
22
26
  line-height: 1.75;
23
27
  }
@@ -77,6 +81,10 @@
77
81
  margin-inline-start: 9px;
78
82
  }
79
83
 
84
+ ::part(n-more-text) {
85
+ margin-inline-end: 4px;
86
+ }
87
+
80
88
  :host([displayonly]:dir(rtl))::part(n-more-text):before {
81
89
  left: auto;
82
90
  right: -10px;
@@ -74,7 +74,7 @@
74
74
  background: linear-gradient(var(--udex-textarea-color-label-background) 65%, var(--udex-textarea-color-standard-default-background) 35%);
75
75
  }
76
76
 
77
- :host ui5-icon {
77
+ :host [ui5-icon] {
78
78
  color: inherit;
79
79
  vertical-align: top;
80
80
  margin-inline-end: var(--udexSpacer4, 4px);
@@ -118,11 +118,6 @@
118
118
  --_ui5_slider_handle_focus_border: 2px solid var(--sapSlider_Active_HandleBorderColor);
119
119
  }
120
120
 
121
- /* Select Box more button */
122
- udex-select-box {
123
- --sapFontSize: 12px;
124
- }
125
-
126
121
  /* Phone Number Field Button */
127
122
  udex-phone-number-field {
128
123
  --_ui5_button_border_radius: var(--udexRadiusXS);
@@ -0,0 +1,17 @@
1
+ export enum TextBadgeDesign{
2
+ Error = "Error",
3
+ Info = "Info",
4
+ Success = "Success",
5
+ Warning = "Warning",
6
+ Neutral = "Neutral",
7
+ }
8
+
9
+ export enum NumberBadgeDesign{
10
+ Blue = "Blue",
11
+ Red = "Red",
12
+ White = "White",
13
+ Neutral = "Neutral",
14
+ }
15
+
16
+ export const textBadgeOptions = [TextBadgeDesign.Error, TextBadgeDesign.Info, TextBadgeDesign.Neutral, TextBadgeDesign.Success, TextBadgeDesign.Warning];
17
+ export const numberBadgeOptions = [NumberBadgeDesign.Blue, NumberBadgeDesign.Red, NumberBadgeDesign.White, NumberBadgeDesign.Neutral];
@@ -0,0 +1,6 @@
1
+ enum IconPlacement {
2
+ Start = "Start",
3
+ End = "End"
4
+ }
5
+
6
+ export default IconPlacement;
package/src/types/List.ts CHANGED
@@ -24,3 +24,12 @@ export enum AdditionalTextState {
24
24
  Error = "Error",
25
25
  Information = "Information",
26
26
  }
27
+
28
+ export interface LetterPressedHandlerObj {
29
+ getPressedKey: () => string,
30
+ setPressedKey: (arg: string) => void,
31
+ getPressedCount: () => number,
32
+ setPressedCount: (arg: number) => void,
33
+ getLastFoundPosition: () => number,
34
+ setLastFoundPosition: (arg: number) => void,
35
+ }
@@ -0,0 +1,5 @@
1
+ const isLetterKey = (key: string) => {
2
+ return /^[a-zA-Z]$/.test(key);
3
+ };
4
+
5
+ export default isLetterKey;
@@ -0,0 +1,74 @@
1
+ import { LetterPressedHandlerObj } from "../types/List.js";
2
+ import {
3
+ findFirstItemLabelStartsWithLetterKey,
4
+ findNextItemLabelStartsWithKey,
5
+ getSearchedKeyItemsCount,
6
+ } from "./listItemLabelUtils.js";
7
+
8
+ const listItemLabelStartsWithKeyFocus = (letterKey: string, items: Element[], letterKeyHandleObj: LetterPressedHandlerObj) => {
9
+ const searchedKeyItemsCount = getSearchedKeyItemsCount(letterKey, items);
10
+ const {
11
+ setLastFoundPosition,
12
+ } = letterKeyHandleObj;
13
+ if (searchedKeyItemsCount > 0) {
14
+ // updates key pressed state variables
15
+ handleKeyPress(letterKey, letterKeyHandleObj);
16
+ // obtain focus index for listItem element
17
+ const elementFocusIndex = getFocusIndexForElementItem(letterKey, items, searchedKeyItemsCount, letterKeyHandleObj);
18
+ // update searching position for next occurence
19
+ setLastFoundPosition(elementFocusIndex);
20
+ // focuses item with starting letter
21
+ focusListItem(items[elementFocusIndex]);
22
+ }
23
+ };
24
+
25
+ // updates pressed key variables for state
26
+ const handleKeyPress = (letterKey: string, letterKeyHandleObj: LetterPressedHandlerObj) => {
27
+ const {
28
+ getPressedKey, setPressedKey,
29
+ getPressedCount, setPressedCount,
30
+ setLastFoundPosition,
31
+ } = letterKeyHandleObj;
32
+ if (letterKey === getPressedKey()) {
33
+ setPressedCount(getPressedCount() + 1);
34
+ } else {
35
+ setPressedKey(letterKey);
36
+ setPressedCount(1);
37
+ setLastFoundPosition(0);
38
+ }
39
+ };
40
+
41
+ // obtains index for nextElement
42
+ const getFocusIndexForElementItem = (letterKey: string, items: Element[], searchedKeyItemsCount: number, letterKeyHandleObj: LetterPressedHandlerObj) => {
43
+ const {
44
+ getPressedCount, setPressedCount,
45
+ getLastFoundPosition,
46
+ } = letterKeyHandleObj;
47
+
48
+ let focusIndex:number;
49
+
50
+ if (getPressedCount() <= searchedKeyItemsCount) {
51
+ // while in cycle for next item
52
+ const startPosition = (getPressedCount() === 1 ? 0 : getLastFoundPosition() + 1);
53
+ focusIndex = findItemLabelWithLetterIndex(letterKey, items, startPosition) + getLastFoundPosition();
54
+ // move to next position
55
+ if (getPressedCount() !== 1) {
56
+ focusIndex += 1;
57
+ }
58
+ } else {
59
+ // start again
60
+ focusIndex = findItemLabelWithLetterIndex(letterKey, items);
61
+ setPressedCount(1);
62
+ }
63
+ return focusIndex;
64
+ };
65
+
66
+ const focusListItem = (listItem: Element) => {
67
+ (listItem as HTMLElement).focus();
68
+ };
69
+
70
+ const findItemLabelWithLetterIndex = (letterKey: string, items: Element[], startPosition = 0): number => {
71
+ return startPosition === 0 ? findFirstItemLabelStartsWithLetterKey(letterKey, items) : findNextItemLabelStartsWithKey(letterKey, items, startPosition);
72
+ };
73
+
74
+ export default listItemLabelStartsWithKeyFocus;
@@ -0,0 +1,50 @@
1
+ import UDExListItemBase from "../ListItemBase.js";
2
+
3
+ const cleanLabel = (str: string) : string => {
4
+ return str.replace(/<\/?b[^>]*>/g, "");
5
+ };
6
+
7
+ const stringLabelStartsWithLetterKey = (label: string, letterKey:string): boolean => {
8
+ return cleanLabel(label).toLowerCase().startsWith(letterKey);
9
+ };
10
+
11
+ const listBaseItemStartsWithLetterKey = (item: Element, letterKey: string): boolean => {
12
+ return stringLabelStartsWithLetterKey((item as UDExListItemBase)._state?.label as string || "", letterKey);
13
+ };
14
+
15
+ const popOverItemLabelStartsWithLetterKey = (item: Element, letterKey: string): boolean => {
16
+ return stringLabelStartsWithLetterKey((item as UDExListItemBase)?.innerText || "", letterKey);
17
+ };
18
+
19
+ const itemLabelStartsWithLetterKey = (item: Element, letterKey: string): boolean => {
20
+ return listBaseItemStartsWithLetterKey(item as UDExListItemBase, letterKey) || popOverItemLabelStartsWithLetterKey(item, letterKey);
21
+ };
22
+
23
+ const itemCanBeFocused = (item: Element, letterKey: string): boolean => {
24
+ const itemDisabled = (item as UDExListItemBase)?.disabled || false;
25
+ return !itemDisabled && itemLabelStartsWithLetterKey(item, letterKey);
26
+ };
27
+
28
+ // finds first label in list items starting with letterKey
29
+ const findFirstItemLabelStartsWithLetterKey = (letterKey: string, items: Element[]) => {
30
+ const findIndex = items.findIndex(item => itemCanBeFocused(item, letterKey));
31
+ return findIndex > -1 ? findIndex : 0;
32
+ };
33
+
34
+ const findNextItemLabelStartsWithKey = (key: string, items: Element[], start: number): number => {
35
+ return items.slice(start, items.length).findIndex(item => itemCanBeFocused(item, key));
36
+ };
37
+
38
+ // find number of item starting with letterKey
39
+ const getSearchedKeyItemsCount = (letterKey: string, items: Element[]): number => {
40
+ const searchedItemsCountArray = items.map(i => {
41
+ return itemLabelStartsWithLetterKey(i, letterKey) ? i : null;
42
+ }).filter(i => i) as Element[];
43
+ return searchedItemsCountArray.length;
44
+ };
45
+
46
+ export {
47
+ cleanLabel, stringLabelStartsWithLetterKey,
48
+ itemLabelStartsWithLetterKey, findFirstItemLabelStartsWithLetterKey,
49
+ getSearchedKeyItemsCount, findNextItemLabelStartsWithKey,
50
+ };
@@ -1 +0,0 @@
1
- const E="Zählung",T="Vorgeschlagene Suchanfragen",n="Empfohlene Seiten",e="Ungültige Eingabe",_="Warnung ausgegeben",A="Informationseintrag",S="Eintrag erfolgreich validiert",t={COUNT:E,SUGGESTED_TEXT:T,RECOMMENDED_TEXT:n,VALUE_STATE_ERROR:e,VALUE_STATE_WARNING:_,VALUE_STATE_INFORMATION:A,VALUE_STATE_SUCCESS:S};export{E as COUNT,n as RECOMMENDED_TEXT,T as SUGGESTED_TEXT,e as VALUE_STATE_ERROR,A as VALUE_STATE_INFORMATION,S as VALUE_STATE_SUCCESS,_ as VALUE_STATE_WARNING,t as default};
@@ -1 +0,0 @@
1
- const T="Count",E="of",_="Pagination page",A="Selected",S="Unselected",I="Indeterminate",t="Edit",R="Delete",O="Primary",N="Secondary",n="Tertiary",o="Warning",L="Positive",s="Negative",e="Emphasized",c="Default",C="Transparent",U="Attention",P="Date Input",a="Toggled",D="First page",B="Last page",i="Previous page",r="Next page",G="Activate page number",l="Suggested searches",M="Clear",V="Search",d="Clear",u="Voice",W="Submit",g="Available Values",Y="Recommended pages",F="Expand All",p="Collapse All",m="More",X="Attention badge",H="Read more",f="Read less",y="Rating Indicator",b="Rating",h="Required",v="Total",K="Contains Multi-Selectable Items",w="Contains Selectable Items",k="Show Results",Q="Show/Hide Password Button",x="Reset",Z="Message Strip Close Button",q="Information",z="Positive",j="Warning",J="Negative",$="reviews",TT="stars",ET="Select Options",_T="Select All",AT="{0} characters remaining",ST="Field State Error",IT="Field State Warning",tT="Field State Success",RT="Field State Standard",OT="Previous Page",NT="Next Page",nT="No matches found.",oT="Breadcrumb Trail",LT="More",sT="Increase Quantity by",eT="Decrease Quantity by",cT="No data found",CT="Invalid entry",UT="Warning issued",PT="Informative entry",aT="Entry successfully validated",DT="Read only",BT="Logout",iT="Select country",rT="Overview",GT="Link Graphic",lT="Phone number",MT="Contact us",VT="Email",dT="Chat with us",uT="Quick Links",WT="Trending",gT="About SAP",YT="Site Information",FT="Or see our complete list of",pT="local country numbers",mT="Avatar",XT="Open Calendar icon",HT="Edit list item entry",fT="Delete list item entry",yT="back button label",bT="Status Badge",hT="Click to edit profile",vT="Click to open profile information",KT="Warning, potential risk with the profile",wT="There is an error with the profile",kT="Successfully verified profile",QT="Profile",xT="Dropdown trigger",ZT={COUNT:T,OF:E,PAGINATION_PAGE:_,SELECTED:A,UNSELECTED:S,INDETERMINATE:I,EDIT_BUTTON:t,DELETE_BUTTON:R,BUTTON_ARIA_TYPE_PRIMARY:O,BUTTON_ARIA_TYPE_SECONDARY:N,BUTTON_ARIA_TYPE_TERTIARY:n,BUTTON_ARIA_TYPE_WARNING:o,BUTTON_ARIA_TYPE_POSITIVE:L,BUTTON_ARIA_TYPE_NEGATIVE:s,BUTTON_ARIA_EMPHASIZED:e,BUTTON_ARIA_DEFAULT:c,BUTTON_ARIA_TRANSPARENT:C,BUTTON_ARIA_ATTENTION:U,DATEPICKER_DATE_DESCRIPTION:P,TOGGLED:a,FIRST_PAGE:D,LAST_PAGE:B,PREVIOUS_PAGE:i,NEXT_PAGE:r,ACTIVATE_PAGE:G,SUGGESTED_TEXT:l,ACCESSIBLE_NAME_RESET_ICON:M,ACCESSIBLE_NAME_SEARCH_ICON:V,TOOLTIP_RESET_BUTTON:d,TOOLTIP_VOICE_BUTTON:u,TOOLTIP_SUBMIT_BUTTON:W,AVAILABLE_VALUES:g,RECOMMENDED_TEXT:Y,EXPAND_ALL:F,COLLAPSE_ALL:p,MORE:m,ATTENTION_BADGE:X,READ_MORE:H,READ_LESS:f,RATING_INDICATOR_TEXT:y,RATING_INDICATOR_TOOLTIP_TEXT:b,RATING_INDICATOR_ARIA_DESCRIPTION:h,TOTAL:v,ARIA_LABEL_LIST_MULTISELECTABLE:K,ARIA_LABEL_LIST_SELECTABLE:w,SHOW_RESULTS:k,SHOW_HIDE_PASSWORD:Q,RESET:x,MESSAGE_STRIP_CLOSE_BUTTON:Z,MESSAGE_STRIP_INFORMATION:q,MESSAGE_STRIP_SUCCESS:z,MESSAGE_STRIP_WARNING:j,MESSAGE_STRIP_ERROR:J,REVIEWS:$,STARS:TT,SELECT_OPTIONS:ET,SELECT_ALL:_T,TEXTAREA_CHARACTERS_LEFT:AT,VALUE_STATE_TYPE_ERROR:ST,VALUE_STATE_TYPE_WARNING:IT,VALUE_STATE_TYPE_SUCCESS:tT,VALUE_STATE_TYPE_STANDARD:RT,CAROUSEL_PREVIOUS_ARROW_TEXT:OT,CAROUSEL_NEXT_ARROW_TEXT:NT,NO_MATCHES_FOUND:nT,BREADCRUMBS_ARIA_LABEL:oT,BREADCRUMBS_OVERFLOW_ARIA_LABEL:LT,STEPINPUT_INC_ICON_TITLE:sT,STEPINPUT_DEC_ICON_TITLE:eT,TABLE_NO_DATA_FOUND:cT,VALUE_STATE_ERROR:CT,VALUE_STATE_WARNING:UT,VALUE_STATE_INFORMATION:PT,VALUE_STATE_SUCCESS:aT,READ_ONLY:DT,LOGOUT:BT,COUNTRY_SELECT:iT,OVERVIEW:rT,SOCIAL_LINK_ICON:GT,PHONE_NUMBER:lT,CONTACT_US:MT,EMAIL:VT,CHAT_WITH_US:dT,QUICK_LINKS:uT,TRENDING:WT,ABOUT_SAP:gT,SITE_INFORMATION:YT,SEE_COMPLETE_LIST:FT,LOCAL_COUNTRY_NAMES:pT,AVATAR_TEXT:mT,CALENDAR_ICON:XT,LIST_ITEM_EDIT_ICON:HT,LIST_ITEM_DELETE_ICON:fT,BACK_BUTTON_LABEL:yT,STATUS_BADGE_TEXT:bT,STATUS_BADGE_EDIT_TITLE:hT,STATUS_BADGE_INFORMATION_TITLE:vT,STATUS_BADGE_WARNING_TITLE:KT,STATUS_BADGE_ERROR_TITLE:wT,STATUS_BADGE_SUCCESS_TITLE:kT,PROFILE:QT,TRIGGER:xT};export{gT as ABOUT_SAP,M as ACCESSIBLE_NAME_RESET_ICON,V as ACCESSIBLE_NAME_SEARCH_ICON,G as ACTIVATE_PAGE,K as ARIA_LABEL_LIST_MULTISELECTABLE,w as ARIA_LABEL_LIST_SELECTABLE,X as ATTENTION_BADGE,g as AVAILABLE_VALUES,mT as AVATAR_TEXT,yT as BACK_BUTTON_LABEL,oT as BREADCRUMBS_ARIA_LABEL,LT as BREADCRUMBS_OVERFLOW_ARIA_LABEL,U as BUTTON_ARIA_ATTENTION,c as BUTTON_ARIA_DEFAULT,e as BUTTON_ARIA_EMPHASIZED,C as BUTTON_ARIA_TRANSPARENT,s as BUTTON_ARIA_TYPE_NEGATIVE,L as BUTTON_ARIA_TYPE_POSITIVE,O as BUTTON_ARIA_TYPE_PRIMARY,N as BUTTON_ARIA_TYPE_SECONDARY,n as BUTTON_ARIA_TYPE_TERTIARY,o as BUTTON_ARIA_TYPE_WARNING,XT as CALENDAR_ICON,NT as CAROUSEL_NEXT_ARROW_TEXT,OT as CAROUSEL_PREVIOUS_ARROW_TEXT,dT as CHAT_WITH_US,p as COLLAPSE_ALL,MT as CONTACT_US,T as COUNT,iT as COUNTRY_SELECT,P as DATEPICKER_DATE_DESCRIPTION,R as DELETE_BUTTON,t as EDIT_BUTTON,VT as EMAIL,F as EXPAND_ALL,D as FIRST_PAGE,I as INDETERMINATE,B as LAST_PAGE,fT as LIST_ITEM_DELETE_ICON,HT as LIST_ITEM_EDIT_ICON,pT as LOCAL_COUNTRY_NAMES,BT as LOGOUT,Z as MESSAGE_STRIP_CLOSE_BUTTON,J as MESSAGE_STRIP_ERROR,q as MESSAGE_STRIP_INFORMATION,z as MESSAGE_STRIP_SUCCESS,j as MESSAGE_STRIP_WARNING,m as MORE,r as NEXT_PAGE,nT as NO_MATCHES_FOUND,E as OF,rT as OVERVIEW,_ as PAGINATION_PAGE,lT as PHONE_NUMBER,i as PREVIOUS_PAGE,QT as PROFILE,uT as QUICK_LINKS,h as RATING_INDICATOR_ARIA_DESCRIPTION,y as RATING_INDICATOR_TEXT,b as RATING_INDICATOR_TOOLTIP_TEXT,f as READ_LESS,H as READ_MORE,DT as READ_ONLY,Y as RECOMMENDED_TEXT,x as RESET,$ as REVIEWS,FT as SEE_COMPLETE_LIST,A as SELECTED,_T as SELECT_ALL,ET as SELECT_OPTIONS,Q as SHOW_HIDE_PASSWORD,k as SHOW_RESULTS,YT as SITE_INFORMATION,GT as SOCIAL_LINK_ICON,TT as STARS,hT as STATUS_BADGE_EDIT_TITLE,wT as STATUS_BADGE_ERROR_TITLE,vT as STATUS_BADGE_INFORMATION_TITLE,kT as STATUS_BADGE_SUCCESS_TITLE,bT as STATUS_BADGE_TEXT,KT as STATUS_BADGE_WARNING_TITLE,eT as STEPINPUT_DEC_ICON_TITLE,sT as STEPINPUT_INC_ICON_TITLE,l as SUGGESTED_TEXT,cT as TABLE_NO_DATA_FOUND,AT as TEXTAREA_CHARACTERS_LEFT,a as TOGGLED,d as TOOLTIP_RESET_BUTTON,W as TOOLTIP_SUBMIT_BUTTON,u as TOOLTIP_VOICE_BUTTON,v as TOTAL,WT as TRENDING,xT as TRIGGER,S as UNSELECTED,CT as VALUE_STATE_ERROR,PT as VALUE_STATE_INFORMATION,aT as VALUE_STATE_SUCCESS,ST as VALUE_STATE_TYPE_ERROR,RT as VALUE_STATE_TYPE_STANDARD,tT as VALUE_STATE_TYPE_SUCCESS,IT as VALUE_STATE_TYPE_WARNING,UT as VALUE_STATE_WARNING,ZT as default};
@@ -1 +0,0 @@
1
- const E="Cuenta",T="Búsquedas sugeridas",a="Páginas recomendadas",A="Entrada no válida",_="Advertencia enviada",n="Entrada informativa",s="Entrada validada correctamente",t={COUNT:E,SUGGESTED_TEXT:T,RECOMMENDED_TEXT:a,VALUE_STATE_ERROR:A,VALUE_STATE_WARNING:_,VALUE_STATE_INFORMATION:n,VALUE_STATE_SUCCESS:s};export{E as COUNT,a as RECOMMENDED_TEXT,T as SUGGESTED_TEXT,A as VALUE_STATE_ERROR,n as VALUE_STATE_INFORMATION,s as VALUE_STATE_SUCCESS,_ as VALUE_STATE_WARNING,t as default};
@@ -1 +0,0 @@
1
- const E="Comte",T="Recherches suggérées",e="Pages recommandées",A="Entrée non valide",_="Avertissement édité",t="Entrée pour information",n="Entrée validée correctement",s={COUNT:E,SUGGESTED_TEXT:T,RECOMMENDED_TEXT:e,VALUE_STATE_ERROR:A,VALUE_STATE_WARNING:_,VALUE_STATE_INFORMATION:t,VALUE_STATE_SUCCESS:n};export{E as COUNT,e as RECOMMENDED_TEXT,T as SUGGESTED_TEXT,A as VALUE_STATE_ERROR,t as VALUE_STATE_INFORMATION,n as VALUE_STATE_SUCCESS,_ as VALUE_STATE_WARNING,s as default};