@sapudex/web-components 2.4.2 → 2.6.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 (698) hide show
  1. package/cypress/specs/Accordion.cy.tsx +18 -10
  2. package/cypress/specs/Divider.cy.tsx +16 -0
  3. package/cypress/support/component-imports.instrumented.ts +2 -0
  4. package/cypress/support/component-imports.src.ts +4 -2
  5. package/dist/Accordion.d.ts +6 -5
  6. package/dist/Accordion.js +21 -20
  7. package/dist/Accordion.js.map +1 -1
  8. package/dist/AccordionItem.d.ts +1 -3
  9. package/dist/AccordionItem.js +17 -19
  10. package/dist/AccordionItem.js.map +1 -1
  11. package/dist/AccordionItemTemplate.d.ts +2 -0
  12. package/dist/AccordionItemTemplate.js +14 -0
  13. package/dist/AccordionItemTemplate.js.map +1 -0
  14. package/dist/AccordionTemplate.d.ts +2 -0
  15. package/dist/AccordionTemplate.js +11 -0
  16. package/dist/AccordionTemplate.js.map +1 -0
  17. package/dist/AssetsVariables.js +5 -1
  18. package/dist/AssetsVariables.js.map +1 -1
  19. package/dist/Avatar.d.ts +2 -1
  20. package/dist/Avatar.js +7 -9
  21. package/dist/Avatar.js.map +1 -1
  22. package/dist/AvatarTemplate.d.ts +2 -0
  23. package/dist/AvatarTemplate.js +6 -0
  24. package/dist/AvatarTemplate.js.map +1 -0
  25. package/dist/Badge.d.ts +1 -2
  26. package/dist/Badge.js +6 -9
  27. package/dist/Badge.js.map +1 -1
  28. package/dist/BadgeTemplate.d.ts +2 -0
  29. package/dist/BadgeTemplate.js +8 -0
  30. package/dist/BadgeTemplate.js.map +1 -0
  31. package/dist/Carousel.d.ts +16 -4
  32. package/dist/Carousel.js +21 -11
  33. package/dist/Carousel.js.map +1 -1
  34. package/dist/CarouselTemplate.d.ts +2 -0
  35. package/dist/CarouselTemplate.js +15 -0
  36. package/dist/CarouselTemplate.js.map +1 -0
  37. package/dist/ContactItemTemplate.js +2 -1
  38. package/dist/ContactItemTemplate.js.map +1 -1
  39. package/dist/CountrySelector.d.ts +1 -1
  40. package/dist/CountrySelector.js +6 -7
  41. package/dist/CountrySelector.js.map +1 -1
  42. package/dist/Divider.d.ts +10 -2
  43. package/dist/Divider.js +11 -4
  44. package/dist/Divider.js.map +1 -1
  45. package/dist/DividerTemplate.d.ts +2 -0
  46. package/dist/DividerTemplate.js +5 -0
  47. package/dist/DividerTemplate.js.map +1 -0
  48. package/dist/Dropdown.js +2 -1
  49. package/dist/Dropdown.js.map +1 -1
  50. package/dist/FilterMenu.d.ts +0 -7
  51. package/dist/FilterMenu.js +12 -12
  52. package/dist/FilterMenu.js.map +1 -1
  53. package/dist/List.js +1 -1
  54. package/dist/List.js.map +1 -1
  55. package/dist/MastheadCountrySelector.d.ts +5 -0
  56. package/dist/MastheadCountrySelector.js +17 -2
  57. package/dist/MastheadCountrySelector.js.map +1 -1
  58. package/dist/MastheadItem.d.ts +3 -0
  59. package/dist/MastheadItem.js +17 -1
  60. package/dist/MastheadItem.js.map +1 -1
  61. package/dist/MastheadMenu.d.ts +3 -1
  62. package/dist/MastheadMenu.js +23 -14
  63. package/dist/MastheadMenu.js.map +1 -1
  64. package/dist/MastheadMobileMenu.d.ts +4 -0
  65. package/dist/MastheadMobileMenu.js +50 -9
  66. package/dist/MastheadMobileMenu.js.map +1 -1
  67. package/dist/MastheadShell.d.ts +78 -16
  68. package/dist/MastheadShell.js +99 -81
  69. package/dist/MastheadShell.js.map +1 -1
  70. package/dist/Modal.js +2 -2
  71. package/dist/Modal.js.map +1 -1
  72. package/dist/Search.js +5 -4
  73. package/dist/Search.js.map +1 -1
  74. package/dist/SearchableListBase.d.ts +24 -2
  75. package/dist/SearchableListBase.js +54 -4
  76. package/dist/SearchableListBase.js.map +1 -1
  77. package/dist/SecondaryNavigation.js +1 -1
  78. package/dist/SecondaryNavigation.js.map +1 -1
  79. package/dist/SecondaryNavigationItem.js +1 -2
  80. package/dist/SecondaryNavigationItem.js.map +1 -1
  81. package/dist/SegmentedButton.js +6 -4
  82. package/dist/SegmentedButton.js.map +1 -1
  83. package/dist/SelectBox.d.ts +0 -7
  84. package/dist/SelectBox.js +10 -13
  85. package/dist/SelectBox.js.map +1 -1
  86. package/dist/TabNavigation.d.ts +5 -0
  87. package/dist/TabNavigation.js +8 -0
  88. package/dist/TabNavigation.js.map +1 -1
  89. package/dist/Table.js +1 -1
  90. package/dist/Table.js.map +1 -1
  91. package/dist/TagGroup.js +3 -2
  92. package/dist/TagGroup.js.map +1 -1
  93. package/dist/TextArea.js +1 -1
  94. package/dist/TextArea.js.map +1 -1
  95. package/dist/assets/InputSuggestions-D_DpCFML.js +2 -0
  96. package/dist/assets/{ListItemStandardExpandableTextTemplate-87ypSvqu.js → ListItemStandardExpandableTextTemplate-Cd1WOyFc.js} +3 -3
  97. package/dist/assets/bundle-S1uYREqT.css +1 -0
  98. package/dist/assets/bundle.esm-B9JnRRJp.js +475 -0
  99. package/dist/assets/messagebundle_ar-C39XMRa3.js +1 -0
  100. package/dist/assets/messagebundle_bg-CFuqxDUo.js +1 -0
  101. package/dist/assets/messagebundle_cs-HZFdxP5k.js +1 -0
  102. package/dist/assets/messagebundle_da-Cb19y_UU.js +1 -0
  103. package/dist/assets/messagebundle_de-BPtfcnG8.js +1 -0
  104. package/dist/assets/messagebundle_el-BfR2BVvB.js +1 -0
  105. package/dist/assets/messagebundle_en-CKeTZNW3.js +1 -0
  106. package/dist/assets/messagebundle_es-DEz3xznF.js +1 -0
  107. package/dist/assets/messagebundle_et-BHSda64J.js +1 -0
  108. package/dist/assets/messagebundle_fi-DTkxmWJb.js +1 -0
  109. package/dist/assets/messagebundle_fr-BEq1Nxlj.js +1 -0
  110. package/dist/assets/messagebundle_hr-BzWPMYA7.js +1 -0
  111. package/dist/assets/messagebundle_hu-DQvndOA8.js +1 -0
  112. package/dist/assets/messagebundle_it-Bx7wA4HY.js +1 -0
  113. package/dist/assets/messagebundle_iw-L2hZONxh.js +1 -0
  114. package/dist/assets/messagebundle_ko-D4ckbm7i.js +1 -0
  115. package/dist/assets/messagebundle_lt-BriAnQM8.js +1 -0
  116. package/dist/assets/messagebundle_lv-Di1Ng3Tk.js +1 -0
  117. package/dist/assets/messagebundle_nl-Bhq20VT1.js +1 -0
  118. package/dist/assets/messagebundle_no-bTeyeWYl.js +1 -0
  119. package/dist/assets/messagebundle_pl-BnBUJpAL.js +1 -0
  120. package/dist/assets/messagebundle_pt-Cd_ey78V.js +1 -0
  121. package/dist/assets/messagebundle_ro-Cy-zHe5i.js +1 -0
  122. package/dist/assets/messagebundle_ru-CiDd56L1.js +1 -0
  123. package/dist/assets/messagebundle_sk-DJS6mahY.js +1 -0
  124. package/dist/assets/messagebundle_sl-BUi3OLzP.js +1 -0
  125. package/dist/assets/messagebundle_sr-BtodsTa0.js +1 -0
  126. package/dist/assets/messagebundle_sv-CVVuFZcm.js +1 -0
  127. package/dist/assets/messagebundle_tr-CqVlQ8yY.js +1 -0
  128. package/dist/assets/messagebundle_uk-aDyDoabO.js +1 -0
  129. package/dist/assets/messagebundle_zh_CN-CTb6-Dhs.js +1 -0
  130. package/dist/assets/messagebundle_zh_TW-DtT5REQh.js +1 -0
  131. package/dist/assets/parameters-bundle.css-B168-DcZ.js +2 -0
  132. package/dist/assets/parameters-bundle.css-B4OkERQ9.js +2 -0
  133. package/dist/assets/parameters-bundle.css-D1Mp0DP7.js +2 -0
  134. package/dist/assets/parameters-bundle.css-DPQMdjrz.js +2 -0
  135. package/dist/assets/parameters-bundle.css-DW-8EaO7.js +2 -0
  136. package/dist/assets/parameters-bundle.css-DpI130zX.js +2 -0
  137. package/dist/assets/parameters-bundle.css-DsEtCihj.js +2 -0
  138. package/dist/assets/parameters-bundle.css-y5CBgtzD.js +2 -0
  139. package/dist/css/themes/CountrySelector.css +1 -1
  140. package/dist/css/themes/MastheadCountrySelector.css +1 -1
  141. package/dist/css/themes/MastheadItem.css +1 -1
  142. package/dist/css/themes/MastheadMenuItem.css +1 -1
  143. package/dist/css/themes/MastheadMobileMenu.css +1 -1
  144. package/dist/css/themes/MastheadShell.css +1 -1
  145. package/dist/css/themes/RatingIndicator.css +1 -1
  146. package/dist/css/themes/Search.css +1 -1
  147. package/dist/css/themes/SearchableList.css +1 -1
  148. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  149. package/dist/css/themes/Slider.css +1 -1
  150. package/dist/css/themes/TextArea.css +1 -1
  151. package/dist/custom-elements-internal.json +391 -88
  152. package/dist/custom-elements.json +379 -88
  153. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  154. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  155. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  156. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  157. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  158. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  159. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  160. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  161. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  162. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  163. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  164. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  165. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  166. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  167. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  168. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  169. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  170. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  171. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  172. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  173. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  174. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  175. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  176. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  177. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  178. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  179. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  180. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  181. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  182. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  183. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  184. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  185. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  186. package/dist/generated/i18n/i18n-defaults.js +2 -1
  187. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  188. package/dist/generated/json-imports/Themes-fetch.js +1 -1
  189. package/dist/generated/json-imports/Themes-fetch.js.map +1 -1
  190. package/dist/generated/json-imports/Themes-node.js +1 -1
  191. package/dist/generated/json-imports/Themes-node.js.map +1 -1
  192. package/dist/generated/json-imports/Themes.js +1 -1
  193. package/dist/generated/json-imports/Themes.js.map +1 -1
  194. package/dist/generated/json-imports/i18n-fetch.js +1 -1
  195. package/dist/generated/json-imports/i18n-fetch.js.map +1 -1
  196. package/dist/generated/json-imports/i18n-node.js +1 -1
  197. package/dist/generated/json-imports/i18n-node.js.map +1 -1
  198. package/dist/generated/json-imports/i18n.js +1 -1
  199. package/dist/generated/json-imports/i18n.js.map +1 -1
  200. package/dist/generated/templates/HeroBannerTemplate.lit.js +1 -1
  201. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  202. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +3 -3
  203. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +1 -1
  204. package/dist/generated/templates/MastheadMenuTemplate.lit.js +3 -3
  205. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  206. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +11 -11
  207. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  208. package/dist/generated/templates/MastheadShellTemplate.lit.js +17 -14
  209. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  210. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +2 -2
  211. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  212. package/dist/generated/themes/Accordion.css.js +2 -2
  213. package/dist/generated/themes/Accordion.css.js.map +1 -1
  214. package/dist/generated/themes/AccordionItem.css.js +2 -2
  215. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  216. package/dist/generated/themes/Avatar.css.js +2 -2
  217. package/dist/generated/themes/Avatar.css.js.map +1 -1
  218. package/dist/generated/themes/Badge.css.js +2 -2
  219. package/dist/generated/themes/Badge.css.js.map +1 -1
  220. package/dist/generated/themes/Breadcrumbs.css.js +2 -2
  221. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  222. package/dist/generated/themes/BreadcrumbsPopover.css.js +2 -2
  223. package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
  224. package/dist/generated/themes/Button.css.js +2 -2
  225. package/dist/generated/themes/Button.css.js.map +1 -1
  226. package/dist/generated/themes/Carousel.css.js +2 -2
  227. package/dist/generated/themes/Carousel.css.js.map +1 -1
  228. package/dist/generated/themes/Checkbox.css.js +2 -2
  229. package/dist/generated/themes/Checkbox.css.js.map +1 -1
  230. package/dist/generated/themes/Contact.css.js +2 -2
  231. package/dist/generated/themes/Contact.css.js.map +1 -1
  232. package/dist/generated/themes/ContactItem.css.js +2 -2
  233. package/dist/generated/themes/ContactItem.css.js.map +1 -1
  234. package/dist/generated/themes/ControlButton.css.js +2 -2
  235. package/dist/generated/themes/ControlButton.css.js.map +1 -1
  236. package/dist/generated/themes/CountrySelector.css.d.ts +1 -1
  237. package/dist/generated/themes/CountrySelector.css.js +3 -3
  238. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  239. package/dist/generated/themes/DatePicker.css.js +2 -2
  240. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  241. package/dist/generated/themes/DatePickerPopover.css.js +2 -2
  242. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  243. package/dist/generated/themes/Divider.css.js +2 -2
  244. package/dist/generated/themes/Divider.css.js.map +1 -1
  245. package/dist/generated/themes/Dropdown.css.js +2 -2
  246. package/dist/generated/themes/Dropdown.css.js.map +1 -1
  247. package/dist/generated/themes/EventRibbon.css.js +2 -2
  248. package/dist/generated/themes/EventRibbon.css.js.map +1 -1
  249. package/dist/generated/themes/FilterMenu.css.js +2 -2
  250. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  251. package/dist/generated/themes/Footer.css.js +2 -2
  252. package/dist/generated/themes/Footer.css.js.map +1 -1
  253. package/dist/generated/themes/HeroBanner.css.js +2 -2
  254. package/dist/generated/themes/HeroBanner.css.js.map +1 -1
  255. package/dist/generated/themes/InputGroup.css.js +2 -2
  256. package/dist/generated/themes/InputGroup.css.js.map +1 -1
  257. package/dist/generated/themes/Link.css.js +2 -2
  258. package/dist/generated/themes/Link.css.js.map +1 -1
  259. package/dist/generated/themes/List.css.js +2 -2
  260. package/dist/generated/themes/List.css.js.map +1 -1
  261. package/dist/generated/themes/ListGroupHeader.css.js +2 -2
  262. package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
  263. package/dist/generated/themes/ListItem.css.js +2 -2
  264. package/dist/generated/themes/ListItem.css.js.map +1 -1
  265. package/dist/generated/themes/MastheadCountrySelector.css.d.ts +1 -1
  266. package/dist/generated/themes/MastheadCountrySelector.css.js +3 -3
  267. package/dist/generated/themes/MastheadCountrySelector.css.js.map +1 -1
  268. package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
  269. package/dist/generated/themes/MastheadItem.css.js +3 -3
  270. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  271. package/dist/generated/themes/MastheadMenu.css.js +2 -2
  272. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  273. package/dist/generated/themes/MastheadMenuItem.css.d.ts +1 -1
  274. package/dist/generated/themes/MastheadMenuItem.css.js +3 -3
  275. package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
  276. package/dist/generated/themes/MastheadMobileMenu.css.d.ts +1 -1
  277. package/dist/generated/themes/MastheadMobileMenu.css.js +3 -3
  278. package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
  279. package/dist/generated/themes/MastheadProfileMenu.css.js +2 -2
  280. package/dist/generated/themes/MastheadProfileMenu.css.js.map +1 -1
  281. package/dist/generated/themes/MastheadShell.css.d.ts +1 -1
  282. package/dist/generated/themes/MastheadShell.css.js +3 -3
  283. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  284. package/dist/generated/themes/MediaPlayer.css.js +2 -2
  285. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  286. package/dist/generated/themes/MediaPlayerYoutube.css.js +2 -2
  287. package/dist/generated/themes/MediaPlayerYoutube.css.js.map +1 -1
  288. package/dist/generated/themes/MessageStrip.css.js +2 -2
  289. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  290. package/dist/generated/themes/Modal.css.js +2 -2
  291. package/dist/generated/themes/Modal.css.js.map +1 -1
  292. package/dist/generated/themes/Pagination.css.js +2 -2
  293. package/dist/generated/themes/Pagination.css.js.map +1 -1
  294. package/dist/generated/themes/PhoneNumberField.css.js +2 -2
  295. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  296. package/dist/generated/themes/ProgressBar.css.js +2 -2
  297. package/dist/generated/themes/ProgressBar.css.js.map +1 -1
  298. package/dist/generated/themes/Quote.css.js +2 -2
  299. package/dist/generated/themes/Quote.css.js.map +1 -1
  300. package/dist/generated/themes/RadioButton.css.js +2 -2
  301. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  302. package/dist/generated/themes/RatingBar.css.js +2 -2
  303. package/dist/generated/themes/RatingBar.css.js.map +1 -1
  304. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  305. package/dist/generated/themes/RatingIndicator.css.js +3 -3
  306. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  307. package/dist/generated/themes/Review.css.js +2 -2
  308. package/dist/generated/themes/Review.css.js.map +1 -1
  309. package/dist/generated/themes/ReviewItem.css.js +2 -2
  310. package/dist/generated/themes/ReviewItem.css.js.map +1 -1
  311. package/dist/generated/themes/Search.css.d.ts +1 -1
  312. package/dist/generated/themes/Search.css.js +3 -3
  313. package/dist/generated/themes/Search.css.js.map +1 -1
  314. package/dist/generated/themes/SearchSuggestions.css.js +2 -2
  315. package/dist/generated/themes/SearchSuggestions.css.js.map +1 -1
  316. package/dist/generated/themes/SearchableList.css.d.ts +1 -1
  317. package/dist/generated/themes/SearchableList.css.js +3 -3
  318. package/dist/generated/themes/SearchableList.css.js.map +1 -1
  319. package/dist/generated/themes/SecondaryNavigation.css.js +2 -2
  320. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  321. package/dist/generated/themes/SecondaryNavigationItem.css.js +2 -2
  322. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
  323. package/dist/generated/themes/SecondaryNavigationSubItem.css.js +2 -2
  324. package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
  325. package/dist/generated/themes/SegmentedButton.css.js +2 -2
  326. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  327. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  328. package/dist/generated/themes/SegmentedButtonItem.css.js +3 -3
  329. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  330. package/dist/generated/themes/SelectBox.css.js +2 -2
  331. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  332. package/dist/generated/themes/SideNavigation.css.js +2 -2
  333. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  334. package/dist/generated/themes/SideNavigationGroup.css.js +2 -2
  335. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  336. package/dist/generated/themes/SideNavigationItem.css.js +2 -2
  337. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  338. package/dist/generated/themes/SideNavigationMobile.css.js +2 -2
  339. package/dist/generated/themes/SideNavigationMobile.css.js.map +1 -1
  340. package/dist/generated/themes/SideNavigationMobileDropdown.css.js +2 -2
  341. package/dist/generated/themes/SideNavigationMobileDropdown.css.js.map +1 -1
  342. package/dist/generated/themes/SideNavigationSubItem.css.js +2 -2
  343. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  344. package/dist/generated/themes/Slider.css.d.ts +1 -1
  345. package/dist/generated/themes/Slider.css.js +3 -3
  346. package/dist/generated/themes/Slider.css.js.map +1 -1
  347. package/dist/generated/themes/StatusBadge.css.js +2 -2
  348. package/dist/generated/themes/StatusBadge.css.js.map +1 -1
  349. package/dist/generated/themes/StatusMessage.css.js +2 -2
  350. package/dist/generated/themes/StatusMessage.css.js.map +1 -1
  351. package/dist/generated/themes/StepInput.css.js +2 -2
  352. package/dist/generated/themes/StepInput.css.js.map +1 -1
  353. package/dist/generated/themes/Switch.css.js +2 -2
  354. package/dist/generated/themes/Switch.css.js.map +1 -1
  355. package/dist/generated/themes/TabInOverflow.css.js +2 -2
  356. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  357. package/dist/generated/themes/TabNavigation.css.js +2 -2
  358. package/dist/generated/themes/TabNavigation.css.js.map +1 -1
  359. package/dist/generated/themes/Table.css.js +2 -2
  360. package/dist/generated/themes/Table.css.js.map +1 -1
  361. package/dist/generated/themes/TableCell.css.js +2 -2
  362. package/dist/generated/themes/TableCell.css.js.map +1 -1
  363. package/dist/generated/themes/TableCellBase.css.js +2 -2
  364. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  365. package/dist/generated/themes/TableGroupRow.css.js +2 -2
  366. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  367. package/dist/generated/themes/TableHeaderCell.css.js +2 -2
  368. package/dist/generated/themes/TableHeaderCell.css.js.map +1 -1
  369. package/dist/generated/themes/TableRowBase.css.js +2 -2
  370. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  371. package/dist/generated/themes/Tag.css.js +2 -2
  372. package/dist/generated/themes/Tag.css.js.map +1 -1
  373. package/dist/generated/themes/TagGroup.css.js +2 -2
  374. package/dist/generated/themes/TagGroup.css.js.map +1 -1
  375. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  376. package/dist/generated/themes/TextArea.css.js +3 -3
  377. package/dist/generated/themes/TextArea.css.js.map +1 -1
  378. package/dist/generated/themes/TextField.css.js +2 -2
  379. package/dist/generated/themes/TextField.css.js.map +1 -1
  380. package/dist/generated/themes/Tile.css.js +2 -2
  381. package/dist/generated/themes/Tile.css.js.map +1 -1
  382. package/dist/generated/themes/Toast.css.js +2 -2
  383. package/dist/generated/themes/Toast.css.js.map +1 -1
  384. package/dist/generated/themes/Tooltip.css.js +2 -2
  385. package/dist/generated/themes/Tooltip.css.js.map +1 -1
  386. package/dist/generated/themes/TruncatedText.css.js +2 -2
  387. package/dist/generated/themes/TruncatedText.css.js.map +1 -1
  388. package/dist/generated/themes/Upload.css.js +2 -2
  389. package/dist/generated/themes/Upload.css.js.map +1 -1
  390. package/dist/generated/themes/UploadItem.css.js +2 -2
  391. package/dist/generated/themes/UploadItem.css.js.map +1 -1
  392. package/dist/generated/themes/Wizard.css.js +2 -2
  393. package/dist/generated/themes/Wizard.css.js.map +1 -1
  394. package/dist/generated/themes/WizardTab.css.js +2 -2
  395. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  396. package/dist/messagebundle.properties +3 -0
  397. package/dist/messagebundle_ar.properties +3 -0
  398. package/dist/messagebundle_bg.properties +3 -0
  399. package/dist/messagebundle_cs.properties +3 -0
  400. package/dist/messagebundle_da.properties +3 -0
  401. package/dist/messagebundle_de.properties +3 -0
  402. package/dist/messagebundle_el.properties +3 -0
  403. package/dist/messagebundle_en.properties +1 -0
  404. package/dist/messagebundle_es.properties +3 -0
  405. package/dist/messagebundle_et.properties +3 -0
  406. package/dist/messagebundle_fi.properties +3 -0
  407. package/dist/messagebundle_fr.properties +3 -0
  408. package/dist/messagebundle_hr.properties +3 -0
  409. package/dist/messagebundle_hu.properties +3 -0
  410. package/dist/messagebundle_it.properties +3 -0
  411. package/dist/messagebundle_iw.properties +3 -1
  412. package/dist/messagebundle_ko.properties +3 -0
  413. package/dist/messagebundle_lt.properties +3 -0
  414. package/dist/messagebundle_lv.properties +3 -0
  415. package/dist/messagebundle_nl.properties +3 -0
  416. package/dist/messagebundle_no.properties +3 -0
  417. package/dist/messagebundle_pl.properties +3 -0
  418. package/dist/messagebundle_pt.properties +3 -0
  419. package/dist/messagebundle_pt_BR.properties +3 -0
  420. package/dist/messagebundle_ro.properties +3 -0
  421. package/dist/messagebundle_ru.properties +3 -0
  422. package/dist/messagebundle_sk.properties +3 -0
  423. package/dist/messagebundle_sl.properties +3 -0
  424. package/dist/messagebundle_sr.properties +3 -1
  425. package/dist/messagebundle_sv.properties +3 -0
  426. package/dist/messagebundle_tr.properties +3 -0
  427. package/dist/messagebundle_uk.properties +3 -0
  428. package/dist/messagebundle_zh_CN.properties +3 -1
  429. package/dist/messagebundle_zh_TW.properties +3 -0
  430. package/dist/types/SearchableListBase.d.ts +5 -0
  431. package/dist/types/SearchableListBase.js +6 -0
  432. package/dist/types/SearchableListBase.js.map +1 -1
  433. package/dist/utils/getEffectiveScrollbarStyle.d.ts +4 -0
  434. package/dist/utils/getEffectiveScrollbarStyle.js +45 -0
  435. package/dist/utils/getEffectiveScrollbarStyle.js.map +1 -0
  436. package/dist/vscode.html-custom-data.json +71 -16
  437. package/dist/web-types.json +158 -44
  438. package/package.json +7 -7
  439. package/src/Accordion.ts +38 -31
  440. package/src/AccordionItem.ts +23 -27
  441. package/src/AccordionItemTemplate.tsx +54 -0
  442. package/src/AccordionTemplate.tsx +37 -0
  443. package/src/AssetsVariables.ts +5 -1
  444. package/src/Avatar.ts +9 -11
  445. package/src/AvatarTemplate.tsx +22 -0
  446. package/src/Badge.ts +8 -12
  447. package/src/BadgeTemplate.tsx +22 -0
  448. package/src/Carousel.ts +30 -24
  449. package/src/CarouselTemplate.tsx +56 -0
  450. package/src/ContactItemTemplate.tsx +2 -1
  451. package/src/CountrySelector.ts +9 -10
  452. package/src/Divider.ts +13 -5
  453. package/src/DividerTemplate.tsx +11 -0
  454. package/src/Dropdown.ts +2 -1
  455. package/src/FilterMenu.ts +15 -18
  456. package/src/HeroBanner.hbs +1 -0
  457. package/src/List.ts +1 -1
  458. package/src/MastheadCountrySelector.hbs +5 -9
  459. package/src/MastheadCountrySelector.ts +19 -0
  460. package/src/MastheadItem.ts +21 -2
  461. package/src/MastheadMenu.hbs +3 -3
  462. package/src/MastheadMenu.ts +32 -15
  463. package/src/MastheadMobileMenu.hbs +13 -2
  464. package/src/MastheadMobileMenu.ts +57 -10
  465. package/src/MastheadShell.hbs +64 -30
  466. package/src/MastheadShell.ts +168 -43
  467. package/src/Modal.ts +2 -2
  468. package/src/Search.hbs +1 -1
  469. package/src/Search.ts +5 -4
  470. package/src/SearchableListBase.hbs +7 -1
  471. package/src/SearchableListBase.ts +69 -9
  472. package/src/SecondaryNavigation.ts +1 -1
  473. package/src/SecondaryNavigationItem.ts +1 -2
  474. package/src/SegmentedButton.ts +7 -4
  475. package/src/SelectBox.ts +13 -19
  476. package/src/TabNavigation.ts +13 -0
  477. package/src/Table.ts +1 -1
  478. package/src/TagGroup.ts +3 -2
  479. package/src/TextArea.ts +1 -1
  480. package/src/generated/i18n/i18n-defaults.ts +2 -2
  481. package/src/generated/json-imports/Themes-fetch.ts +1 -1
  482. package/src/generated/json-imports/Themes-node.ts +1 -1
  483. package/src/generated/json-imports/Themes.ts +1 -1
  484. package/src/generated/json-imports/i18n-fetch.ts +1 -1
  485. package/src/generated/json-imports/i18n-node.ts +1 -1
  486. package/src/generated/json-imports/i18n.ts +1 -1
  487. package/src/generated/templates/HeroBannerTemplate.lit.ts +1 -1
  488. package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +3 -3
  489. package/src/generated/templates/MastheadMenuTemplate.lit.ts +3 -3
  490. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +11 -11
  491. package/src/generated/templates/MastheadShellTemplate.lit.ts +17 -14
  492. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +2 -2
  493. package/src/generated/themes/Accordion.css.ts +2 -2
  494. package/src/generated/themes/AccordionItem.css.ts +2 -2
  495. package/src/generated/themes/Avatar.css.ts +2 -2
  496. package/src/generated/themes/Badge.css.ts +2 -2
  497. package/src/generated/themes/Breadcrumbs.css.ts +2 -2
  498. package/src/generated/themes/BreadcrumbsPopover.css.ts +2 -2
  499. package/src/generated/themes/Button.css.ts +2 -2
  500. package/src/generated/themes/Carousel.css.ts +2 -2
  501. package/src/generated/themes/Checkbox.css.ts +2 -2
  502. package/src/generated/themes/Contact.css.ts +2 -2
  503. package/src/generated/themes/ContactItem.css.ts +2 -2
  504. package/src/generated/themes/ControlButton.css.ts +2 -2
  505. package/src/generated/themes/CountrySelector.css.ts +3 -3
  506. package/src/generated/themes/DatePicker.css.ts +2 -2
  507. package/src/generated/themes/DatePickerPopover.css.ts +2 -2
  508. package/src/generated/themes/Divider.css.ts +2 -2
  509. package/src/generated/themes/Dropdown.css.ts +2 -2
  510. package/src/generated/themes/EventRibbon.css.ts +2 -2
  511. package/src/generated/themes/FilterMenu.css.ts +2 -2
  512. package/src/generated/themes/Footer.css.ts +2 -2
  513. package/src/generated/themes/HeroBanner.css.ts +2 -2
  514. package/src/generated/themes/InputGroup.css.ts +2 -2
  515. package/src/generated/themes/Link.css.ts +2 -2
  516. package/src/generated/themes/List.css.ts +2 -2
  517. package/src/generated/themes/ListGroupHeader.css.ts +2 -2
  518. package/src/generated/themes/ListItem.css.ts +2 -2
  519. package/src/generated/themes/MastheadCountrySelector.css.ts +3 -3
  520. package/src/generated/themes/MastheadItem.css.ts +3 -3
  521. package/src/generated/themes/MastheadMenu.css.ts +2 -2
  522. package/src/generated/themes/MastheadMenuItem.css.ts +3 -3
  523. package/src/generated/themes/MastheadMobileMenu.css.ts +3 -3
  524. package/src/generated/themes/MastheadProfileMenu.css.ts +2 -2
  525. package/src/generated/themes/MastheadShell.css.ts +3 -3
  526. package/src/generated/themes/MediaPlayer.css.ts +2 -2
  527. package/src/generated/themes/MediaPlayerYoutube.css.ts +2 -2
  528. package/src/generated/themes/MessageStrip.css.ts +2 -2
  529. package/src/generated/themes/Modal.css.ts +2 -2
  530. package/src/generated/themes/Pagination.css.ts +2 -2
  531. package/src/generated/themes/PhoneNumberField.css.ts +2 -2
  532. package/src/generated/themes/ProgressBar.css.ts +2 -2
  533. package/src/generated/themes/Quote.css.ts +2 -2
  534. package/src/generated/themes/RadioButton.css.ts +2 -2
  535. package/src/generated/themes/RatingBar.css.ts +2 -2
  536. package/src/generated/themes/RatingIndicator.css.ts +3 -3
  537. package/src/generated/themes/Review.css.ts +2 -2
  538. package/src/generated/themes/ReviewItem.css.ts +2 -2
  539. package/src/generated/themes/Search.css.ts +3 -3
  540. package/src/generated/themes/SearchSuggestions.css.ts +2 -2
  541. package/src/generated/themes/SearchableList.css.ts +3 -3
  542. package/src/generated/themes/SecondaryNavigation.css.ts +2 -2
  543. package/src/generated/themes/SecondaryNavigationItem.css.ts +2 -2
  544. package/src/generated/themes/SecondaryNavigationSubItem.css.ts +2 -2
  545. package/src/generated/themes/SegmentedButton.css.ts +2 -2
  546. package/src/generated/themes/SegmentedButtonItem.css.ts +3 -3
  547. package/src/generated/themes/SelectBox.css.ts +2 -2
  548. package/src/generated/themes/SideNavigation.css.ts +2 -2
  549. package/src/generated/themes/SideNavigationGroup.css.ts +2 -2
  550. package/src/generated/themes/SideNavigationItem.css.ts +2 -2
  551. package/src/generated/themes/SideNavigationMobile.css.ts +2 -2
  552. package/src/generated/themes/SideNavigationMobileDropdown.css.ts +2 -2
  553. package/src/generated/themes/SideNavigationSubItem.css.ts +2 -2
  554. package/src/generated/themes/Slider.css.ts +3 -3
  555. package/src/generated/themes/StatusBadge.css.ts +2 -2
  556. package/src/generated/themes/StatusMessage.css.ts +2 -2
  557. package/src/generated/themes/StepInput.css.ts +2 -2
  558. package/src/generated/themes/Switch.css.ts +2 -2
  559. package/src/generated/themes/TabInOverflow.css.ts +2 -2
  560. package/src/generated/themes/TabNavigation.css.ts +2 -2
  561. package/src/generated/themes/Table.css.ts +2 -2
  562. package/src/generated/themes/TableCell.css.ts +2 -2
  563. package/src/generated/themes/TableCellBase.css.ts +2 -2
  564. package/src/generated/themes/TableGroupRow.css.ts +2 -2
  565. package/src/generated/themes/TableHeaderCell.css.ts +2 -2
  566. package/src/generated/themes/TableRowBase.css.ts +2 -2
  567. package/src/generated/themes/Tag.css.ts +2 -2
  568. package/src/generated/themes/TagGroup.css.ts +2 -2
  569. package/src/generated/themes/TextArea.css.ts +3 -3
  570. package/src/generated/themes/TextField.css.ts +2 -2
  571. package/src/generated/themes/Tile.css.ts +2 -2
  572. package/src/generated/themes/Toast.css.ts +2 -2
  573. package/src/generated/themes/Tooltip.css.ts +2 -2
  574. package/src/generated/themes/TruncatedText.css.ts +2 -2
  575. package/src/generated/themes/Upload.css.ts +2 -2
  576. package/src/generated/themes/UploadItem.css.ts +2 -2
  577. package/src/generated/themes/Wizard.css.ts +2 -2
  578. package/src/generated/themes/WizardTab.css.ts +2 -2
  579. package/src/i18n/messagebundle.properties +3 -0
  580. package/src/i18n/messagebundle_ar.properties +3 -0
  581. package/src/i18n/messagebundle_bg.properties +3 -0
  582. package/src/i18n/messagebundle_cs.properties +3 -0
  583. package/src/i18n/messagebundle_da.properties +3 -0
  584. package/src/i18n/messagebundle_de.properties +3 -0
  585. package/src/i18n/messagebundle_el.properties +3 -0
  586. package/src/i18n/messagebundle_en.properties +1 -0
  587. package/src/i18n/messagebundle_es.properties +3 -0
  588. package/src/i18n/messagebundle_et.properties +3 -0
  589. package/src/i18n/messagebundle_fi.properties +3 -0
  590. package/src/i18n/messagebundle_fr.properties +3 -0
  591. package/src/i18n/messagebundle_hr.properties +3 -0
  592. package/src/i18n/messagebundle_hu.properties +3 -0
  593. package/src/i18n/messagebundle_it.properties +3 -0
  594. package/src/i18n/messagebundle_iw.properties +3 -1
  595. package/src/i18n/messagebundle_ko.properties +3 -0
  596. package/src/i18n/messagebundle_lt.properties +3 -0
  597. package/src/i18n/messagebundle_lv.properties +3 -0
  598. package/src/i18n/messagebundle_nl.properties +3 -0
  599. package/src/i18n/messagebundle_no.properties +3 -0
  600. package/src/i18n/messagebundle_pl.properties +3 -0
  601. package/src/i18n/messagebundle_pt.properties +3 -0
  602. package/src/i18n/messagebundle_pt_BR.properties +3 -0
  603. package/src/i18n/messagebundle_ro.properties +3 -0
  604. package/src/i18n/messagebundle_ru.properties +3 -0
  605. package/src/i18n/messagebundle_sk.properties +3 -0
  606. package/src/i18n/messagebundle_sl.properties +3 -0
  607. package/src/i18n/messagebundle_sr.properties +3 -1
  608. package/src/i18n/messagebundle_sv.properties +3 -0
  609. package/src/i18n/messagebundle_tr.properties +3 -0
  610. package/src/i18n/messagebundle_uk.properties +3 -0
  611. package/src/i18n/messagebundle_zh_CN.properties +3 -1
  612. package/src/i18n/messagebundle_zh_TW.properties +3 -0
  613. package/src/themes/CountrySelector.css +11 -0
  614. package/src/themes/List.css +1 -0
  615. package/src/themes/MastheadCountrySelector.css +11 -0
  616. package/src/themes/MastheadItem.css +6 -2
  617. package/src/themes/MastheadMenuItem.css +5 -0
  618. package/src/themes/MastheadMobileMenu.css +1 -0
  619. package/src/themes/MastheadShell.css +42 -8
  620. package/src/themes/Search.css +3 -1
  621. package/src/themes/SearchableList.css +15 -0
  622. package/src/themes/SegmentedButtonItem.css +2 -2
  623. package/src/themes/TextArea.css +0 -7
  624. package/src/types/SearchableListBase.ts +6 -0
  625. package/src/utils/getEffectiveScrollbarStyle.ts +48 -0
  626. package/dist/assets/InputSuggestions-BaPMxFm1.js +0 -2
  627. package/dist/assets/bundle-C9ZlnwwH.css +0 -1
  628. package/dist/assets/bundle.esm-CoBHnkfj.js +0 -399
  629. package/dist/assets/messagebundle_ar-9zPDAqTU.js +0 -1
  630. package/dist/assets/messagebundle_bg-DWxB0fCn.js +0 -1
  631. package/dist/assets/messagebundle_cs-C_ZNAcZs.js +0 -1
  632. package/dist/assets/messagebundle_da-CRRThnbQ.js +0 -1
  633. package/dist/assets/messagebundle_de-CEztl_Bk.js +0 -1
  634. package/dist/assets/messagebundle_el-dli9W3Ld.js +0 -1
  635. package/dist/assets/messagebundle_en-DXEe5nWA.js +0 -1
  636. package/dist/assets/messagebundle_es-BKJxfGUS.js +0 -1
  637. package/dist/assets/messagebundle_et-CEgPnb-F.js +0 -1
  638. package/dist/assets/messagebundle_fi-CB9L6Ted.js +0 -1
  639. package/dist/assets/messagebundle_fr-DV0xFXy7.js +0 -1
  640. package/dist/assets/messagebundle_hr-CxG6YfU9.js +0 -1
  641. package/dist/assets/messagebundle_hu-BD5GvMh2.js +0 -1
  642. package/dist/assets/messagebundle_it-CcnIcv1Q.js +0 -1
  643. package/dist/assets/messagebundle_iw-njoSdOP-.js +0 -1
  644. package/dist/assets/messagebundle_ko-BsIdyV2m.js +0 -1
  645. package/dist/assets/messagebundle_lt-Cx5dKaVi.js +0 -1
  646. package/dist/assets/messagebundle_lv-CjYkt6X6.js +0 -1
  647. package/dist/assets/messagebundle_nl-BxcksDMG.js +0 -1
  648. package/dist/assets/messagebundle_no-6rWbHkD4.js +0 -1
  649. package/dist/assets/messagebundle_pl-CdoiDA_-.js +0 -1
  650. package/dist/assets/messagebundle_pt-DtbX15Ym.js +0 -1
  651. package/dist/assets/messagebundle_ro-C5ojQbzO.js +0 -1
  652. package/dist/assets/messagebundle_ru-BcLhFIo9.js +0 -1
  653. package/dist/assets/messagebundle_sk-B4D9Y2b-.js +0 -1
  654. package/dist/assets/messagebundle_sl-D43o0FSO.js +0 -1
  655. package/dist/assets/messagebundle_sr-Co2xNpod.js +0 -1
  656. package/dist/assets/messagebundle_sv-4hT4lgLu.js +0 -1
  657. package/dist/assets/messagebundle_tr-DxFj6Icf.js +0 -1
  658. package/dist/assets/messagebundle_uk-Sdu5cmOP.js +0 -1
  659. package/dist/assets/messagebundle_zh_CN-CuN02AOJ.js +0 -1
  660. package/dist/assets/messagebundle_zh_TW-CRXaxYip.js +0 -1
  661. package/dist/assets/parameters-bundle.css-1GGBOW8m.js +0 -2
  662. package/dist/assets/parameters-bundle.css-A9eeRg2R.js +0 -2
  663. package/dist/assets/parameters-bundle.css-COBI_9-U.js +0 -2
  664. package/dist/assets/parameters-bundle.css-CgAoZ-Ir.js +0 -2
  665. package/dist/assets/parameters-bundle.css-DuFHHRNK.js +0 -2
  666. package/dist/assets/parameters-bundle.css-Pf68NO0T.js +0 -2
  667. package/dist/assets/parameters-bundle.css-aX_t_-9o.js +0 -2
  668. package/dist/assets/parameters-bundle.css-rNSryFKH.js +0 -2
  669. package/dist/generated/templates/AccordionItemTemplate.lit.d.ts +0 -3
  670. package/dist/generated/templates/AccordionItemTemplate.lit.js +0 -8
  671. package/dist/generated/templates/AccordionItemTemplate.lit.js.map +0 -1
  672. package/dist/generated/templates/AccordionTemplate.lit.d.ts +0 -3
  673. package/dist/generated/templates/AccordionTemplate.lit.js +0 -10
  674. package/dist/generated/templates/AccordionTemplate.lit.js.map +0 -1
  675. package/dist/generated/templates/AvatarTemplate.lit.d.ts +0 -3
  676. package/dist/generated/templates/AvatarTemplate.lit.js +0 -9
  677. package/dist/generated/templates/AvatarTemplate.lit.js.map +0 -1
  678. package/dist/generated/templates/BadgeTemplate.lit.d.ts +0 -3
  679. package/dist/generated/templates/BadgeTemplate.lit.js +0 -9
  680. package/dist/generated/templates/BadgeTemplate.lit.js.map +0 -1
  681. package/dist/generated/templates/CarouselTemplate.lit.d.ts +0 -3
  682. package/dist/generated/templates/CarouselTemplate.lit.js +0 -10
  683. package/dist/generated/templates/CarouselTemplate.lit.js.map +0 -1
  684. package/dist/generated/templates/DividerTemplate.lit.d.ts +0 -3
  685. package/dist/generated/templates/DividerTemplate.lit.js +0 -7
  686. package/dist/generated/templates/DividerTemplate.lit.js.map +0 -1
  687. package/src/Accordion.hbs +0 -25
  688. package/src/AccordionItem.hbs +0 -37
  689. package/src/Avatar.hbs +0 -19
  690. package/src/Badge.hbs +0 -16
  691. package/src/Carousel.hbs +0 -45
  692. package/src/Divider.hbs +0 -1
  693. package/src/generated/templates/AccordionItemTemplate.lit.ts +0 -12
  694. package/src/generated/templates/AccordionTemplate.lit.ts +0 -14
  695. package/src/generated/templates/AvatarTemplate.lit.ts +0 -13
  696. package/src/generated/templates/BadgeTemplate.lit.ts +0 -13
  697. package/src/generated/templates/CarouselTemplate.lit.ts +0 -14
  698. package/src/generated/templates/DividerTemplate.lit.ts +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sourceRoot":"","sources":["../src/Search.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport {\n isEnter,\n isTabNext,\n isTabPrevious,\n isUp,\n isDown,\n isEscape,\n isSpace,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport List from \"./List.js\";\nimport ControlButton from \"./ControlButton.js\";\nimport type ListItemBase from \"./ListItemBase.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport \"@ui5/webcomponents-icons/dist/microphone.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport debounce from \"./utils/debounce.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n SUGGESTED_TEXT,\n RECOMMENDED_TEXT,\n AVAILABLE_VALUES,\n NO_MATCHES_FOUND,\n ACCESSIBLE_NAME_RESET_ICON,\n ACCESSIBLE_NAME_SEARCH_ICON,\n TOOLTIP_RESET_BUTTON,\n TOOLTIP_VOICE_BUTTON,\n TOOLTIP_SUBMIT_BUTTON,\n LISTENING,\n OF,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport type SearchInputSuggestion from \"./features/SearchSuggestionsPopover.js\";\n\nimport SearchTemplate from \"./generated/templates/SearchTemplate.lit.js\";\n\n// Styles\nimport SearchCss from \"./generated/themes/Search.css.js\";\nimport SearchSuggestionsCss from \"./generated/themes/SearchSuggestions.css.js\";\nimport retryUntilSuccessful from \"./utils/retryUntilSuccessful.js\";\n\nconst SearchIcon: string = \"sap-icon://search\";\n\nconst SuggestionsPopoverId: string = \"suggestions-popover\";\n\ntype ListItem = {\n label: string;\n icon: string;\n}\n\ntype DataList = Array<ListItem | string>;\n\nexport type SuggestionData = {\n label: string,\n list: DataList\n}\n\nexport type RecommendData = {\n label: string,\n list: DataList\n}\n\ntype SuggestionRecommendLists = {\n suggested: SuggestionData | DataList,\n recommended: RecommendData | DataList\n}\n\nexport type SuggestionList = {\n handleSelectItem: () => void,\n text: string,\n icon: string,\n title: string,\n hasCustomIcon: boolean,\n id: string\n suggestionDescription: string;\n}\n\nexport enum Mode {\n Standard = \"Standard\",\n HomeSearch = \"Home Search\"\n}\n\nexport type PopoverPlacement = \"Bottom\" | \"Top\";\n\ntype UDExSearchBaseEventDetail = {\n value: string,\n}\n\ntype UDExSearchPrefixItemClickEventDetail = {\n item: ListItemBase,\n}\n\nexport type UDExSearchKeydownEventDetail = {\n e: KeyboardEvent;\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-search</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Search.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-search\n * @public\n */\n@customElement({\n tag: \"udex-search\",\n renderer: litRender,\n styles: [SearchCss, SearchSuggestionsCss],\n template: SearchTemplate,\n get dependencies() {\n const Suggestion = getFeature<typeof SearchInputSuggestion>(\"SearchInputSuggestion\");\n return ([ControlButton, Button, Icon, List, Popover] as Array<typeof UI5Element>).concat(Suggestion ? [...Suggestion.dependencies] : []);\n },\n})\n\n/**\n * Fired event when the user submitted the value.\n *\n * @public\n */\n@event(\"submit-search-value\", { bubbles: true })\n/**\n * Fired event when the user typed to search field.\n *\n * @public\n */\n@event(\"handle-value-search\", { bubbles: true })\n/**\n * Fired event when the user clicks on the reset button.\n *\n * @public\n */\n@event(\"handle-value-reset\", { bubbles: true })\n/**\n * Fired event when the user clicks on the item inside the popover.\n *\n * @public\n */\n@event(\"dropdown-item-click\", { bubbles: true })\n/**\n * Fired event when the user clicks on the intem inside the prefix dropdown.\n *\n * @public\n */\n@event(\"prefix-item-click\")\n/**\n * Fired event when the user clicks on the intem inside the prefix dropdown.\n *\n * @public\n */\n@event(\"search-keydown\", { bubbles: true })\nclass UDExSearch extends UI5Element {\n eventDetails!: {\n \"submit-search-value\": UDExSearchBaseEventDetail,\n \"handle-value-search\": UDExSearchBaseEventDetail,\n \"handle-value-reset\": void,\n \"search-keydown\": UDExSearchKeydownEventDetail,\n \"dropdown-item-click\": UDExSearchBaseEventDetail,\n \"prefix-item-click\": UDExSearchPrefixItemClickEventDetail,\n\n };\n _labelActiveClassName = \"udex-search__label--active\";\n _labelAnimationClassName = \"udex-search__label--animation-enabled\";\n _voiceActiveClassName = \"udex-search__voice-button--active\";\n _focusActiveClassName = \"udex-search__container--focus\";\n _handleResizeBound: ResizeObserverCallback;\n suggestedList!: Array<SuggestionList>;\n recommendedList!: Array<SuggestionList>;\n speechRecognition!: any;\n isNotMozillaFirefox!: boolean;\n isNotMozillaFirefoxIOS!: boolean;\n isFocusedOnTextfield!: boolean;\n Suggestion?: SearchInputSuggestion;\n /**\n * Defines the value of the component.\n *\n * @default \"\"\n * @formEvents input\n * @formProperty\n * @public\n */\n @property({ type: String })\n value: string = \"\";\n\n /**\n * Defines label text for the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines if the label animation is disabled for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n labelAnimationDisabled!: boolean;\n\n /**\n * Defines display the reset button for the search field.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n showResetButton!: boolean;\n\n /**\n * Defines where the SuggestionPopover is currently placed.\n *\n * @default \"Bottom\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n _popoverPlacement: PopoverPlacement = \"Bottom\";\n\n /**\n * Defines display the submit button for the search field.\n *\n * @default true\n * @public\n */\n @property({ type: Boolean })\n showSubmitButton!: boolean;\n\n /**\n * Defines non-interactive the submit button for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n nonInteractiveSubmitButton!: boolean;\n\n /**\n * Defines display the voice button for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showVoiceButton!: boolean;\n\n /**\n * Defines suggestions and recommended lists for the component.\n * <br><br>\n * <b>Note:</b> Structure of the property:\n * { suggested: [\"string\", string, ...], recommended: [\"string\", \"string\", ...] }\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n suggestionList!: string;\n /**\n * Width of the search component\n * @private\n */\n @property({ type: Number })\n _searchWidth?: number;\n\n /**\n * Define the label of the prefix for the dropdown.\n *\n * @private\n */\n @property({ type: String })\n labelPrefix!: string;\n\n /**\n * Defines display the suggestion popover in the component.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showSuggestedPopover!: boolean;\n\n /**\n * Defines the language of voice search.\n *\n * @default \"en-US\"\n * @public\n */\n @property({ type: String })\n languageVoice: string = \"en-US\";\n\n /**\n * Defines the mode of component.\n * <br><br>\n * <b>Note:</b> accepts a string \"Standard\" or \"Home Search\".\n *\n * @default \"Standard\"\n * @public\n */\n @property({ type: String })\n mode: Mode = Mode.Standard;\n\n /**\n * Defines open suggestion popover when clicked on the input field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showPopoverWhenClickedIntoInput!: boolean;\n\n /**\n * Defines open suggestion popover.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n openSuggestionPopup!: boolean;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Defines the accessible ARIA name of the reset icon.\n *\n * @default \"Clear\"\n * @public\n */\n @property({ type: String })\n accessibleNameResetIcon!: string;\n\n /**\n * Defines the accessible ARIA name of the search icon (applied just when \"nonInteractiveSubmitButton\" is active).\n *\n * @default \"Search\"\n * @public\n */\n @property({ type: String })\n accessibleNameSearchIcon!: string;\n\n /**\n * Defines the tooltip of the clear button.\n *\n * @default \"Clear\"\n * @public\n */\n @property({ type: String })\n tooltipResetButton!: string;\n\n /**\n * Defines the tooltip of the voice button.\n *\n * @default \"Voice\"\n * @public\n */\n @property({ type: String })\n tooltipVoiceButton!: string;\n\n /**\n * Defines the tooltip of the submit button.\n *\n * @default \"Search\"\n * @public\n */\n @property({ type: String })\n tooltipSubmitButton!: string;\n\n /**\n * Defines the text if the suggestion list doesn't return results.\n *\n * @default \"No matches found.\"\n * @public\n */\n @property({ type: String })\n noResultText: string = \"No matches found.\";\n\n /**\n * Defines the inner stored class of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelActiveClass: string = \"\";\n\n /**\n * Defines the inner stored animation class of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelAnimationClass: string = \"\";\n\n /**\n * Defines the voice active class of the button.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n voiceActiveClass: string = \"\";\n\n /**\n * Defines the inner stored value of the classes of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelClasses: string = \"\";\n\n /**\n * Defines the class of focus on the input field.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n focusClasses: string = \"\";\n\n /**\n * Defines the suggestion popover is opened\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n open!: boolean;\n\n /**\n * The label of the suggestion section.\n * @private\n */\n @property({ type: String })\n _suggestionLabel?: string;\n\n /**\n * The label of the recommend section.\n * @private\n */\n @property({ type: String })\n _recommendLabel?: string;\n\n /**\n * The console warning shown after all unsuccessful attempts of opening SearchSuggestionsPopover component.\n * @default \"UdexSearchSuggestionsPopover couldn`t be opened\"\n */\n @property({ type: String })\n unsuccessfulRetryMessage: string = \"UdexSearchSuggestionsPopover couldn`t be opened\";\n\n /**\n * The delay before retrying to open the SerchSuggestionsPopover component.\n * @default 200\n */\n @property({ type: Number })\n retryDelay: number = 200;\n\n /**\n * The maximum number of attempts for opening the SearchSuggestionsPopover component.\n * @default 5\n */\n @property({ type: Number })\n maxRetryAttempts: number = 5;\n\n /**\n * Defines the prefix dropdown of the Search component.\n *\n * @slot dropdownPrefix\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n dropdownPrefix!: Array<List>;\n\n /**\n * Defines the open button icon\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _prefixDropdownExpanded: boolean = false;\n\n /**\n * Defines the active (focus)\n * @default false\n * @private\n */\n @property({ type: Boolean })\n active!: boolean;\n /**\n * Defines is it the touch of the input field (only for mobile devices).\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isTouched!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onEnterDOM(): void {\n this.isNotMozillaFirefox = !this.isMozillaFirefox(\"Firefox\");\n this.isNotMozillaFirefoxIOS = !this.isMozillaFirefox(\"FxiOS\");\n this.initSpeechRecognition();\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n this.removeEventListener(\"dropdown-trigger-event\", () => { });\n }\n\n initSpeechRecognition(): void {\n try {\n if (this.isNotMozillaFirefox || this.isNotMozillaFirefoxIOS) {\n const SpeechRecognition = (window as any).SpeechRecognition || (window as any).webkitSpeechRecognition || (window as any).mozSpeechRecognition || (window as any).msSpeechRecognition;\n this.speechRecognition = new SpeechRecognition();\n this.speechRecognition.continuous = true;\n this.speechRecognition.lang = this.languageVoice;\n this.speechRecognition.interimResults = false;\n this.speechRecognition.maxAlternatives = 5;\n }\n } catch (error: any) {\n console.warn(\"The voice button does not work in this browser\");\n throw (error);\n }\n }\n\n private isMozillaFirefox(keyWord: string) {\n const userAgent = navigator.userAgent;\n const firefoxAgent = userAgent.split(\" \").find(item => item.indexOf(keyWord) > -1);\n\n if (firefoxAgent) {\n const splitAgent = firefoxAgent.split(\"/\");\n const firefoxVersion = splitAgent[splitAgent.length - 1];\n return Number(firefoxVersion) >= 125;\n }\n return false;\n }\n\n onInvalidation(changeInfo: ChangeInfo): void {\n this.setNewValue(changeInfo);\n this.setPopoverState(changeInfo);\n this.setNewSuggestionList(changeInfo);\n }\n\n setNewValue(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"value\") {\n this.value = changeInfo.newValue as string;\n this.setSuggestedRecommendedLists(this.suggestionList);\n this.toggleLabelActiveClass();\n }\n }\n\n private toggleLabelActiveClass() {\n if (this.labelActiveClass && !this.labelAnimationDisabled && !this.isFocusedOnTextfield) {\n this.handleBlur();\n }\n }\n\n setPopoverState(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"openSuggestionPopup\") {\n this.handlePopoverTrigger(changeInfo.newValue as boolean);\n }\n }\n\n handlePopoverTrigger(isOpenPopover: boolean): void {\n if (isOpenPopover) {\n this.onOpenPopover();\n } else {\n this.onClosePopover();\n }\n }\n\n setNewSuggestionList(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"suggestionList\" && !!changeInfo.newValue) {\n this.setSuggestedRecommendedLists(changeInfo.newValue as string);\n }\n }\n\n setSuggestedRecommendedLists(value: string): void {\n if (this.showSuggestedPopover && value) {\n const parsedData: SuggestionRecommendLists = JSON.parse(value);\n const hasDataLabels = this.hasDataLabel(parsedData);\n\n if (this.shouldShowPopover(parsedData, hasDataLabels)) {\n this.setDropdownLabels(hasDataLabels, parsedData);\n this.suggestedList = this.getListWithSuggestion(this.getSuggestedList(hasDataLabels, parsedData), \"suggested\");\n this.recommendedList = this.getListWithSuggestion(this.getRecommendedList(hasDataLabels, parsedData), \"recommended\");\n }\n if (!this.shouldShowPopover(parsedData, hasDataLabels)) {\n this.onClosePopover();\n this.resetSuggestedRecommendedLists();\n }\n }\n }\n\n private hasDataLabel(parsedData: SuggestionRecommendLists) {\n return Object.values(parsedData).some(item => Object.prototype.hasOwnProperty.call(item, \"label\"));\n }\n\n private resetSuggestedRecommendedLists() {\n this.suggestedList = [];\n this.recommendedList = [];\n }\n\n private setDropdownLabels(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n this._suggestionLabel = this.getSuggestionLabel(hasDataLabels, parsedData);\n this._recommendLabel = this.getRecommendLabel(hasDataLabels, parsedData);\n }\n\n private getRecommendLabel(hasDataLabels: boolean, parsedData: SuggestionRecommendLists): string {\n return hasDataLabels\n ? (parsedData.recommended as RecommendData).label || \"\"\n : UDExSearch.i18nBundle.getText(RECOMMENDED_TEXT);\n }\n\n private getSuggestionLabel(hasDataLabels: boolean, parsedData: SuggestionRecommendLists): string {\n return hasDataLabels\n ? (parsedData.suggested as SuggestionData).label || \"\"\n : UDExSearch.i18nBundle.getText(SUGGESTED_TEXT);\n }\n\n private getRecommendedList(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? (parsedData.recommended as RecommendData).list\n : parsedData.recommended as DataList;\n }\n\n private getSuggestedList(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? (parsedData.suggested as SuggestionData).list\n : parsedData.suggested as DataList;\n }\n\n private shouldShowPopover(parsedData: SuggestionRecommendLists, hasDataLabels: boolean) {\n const hasSuggestedListContent = this.hasSuggestedContent(hasDataLabels, parsedData);\n const hasRecommendedContent = this.hasRecommendedContent(hasDataLabels, parsedData);\n return this.showPopoverWhenClickedIntoInput || (hasSuggestedListContent || hasRecommendedContent);\n }\n\n private hasSuggestedContent(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? Object.prototype.hasOwnProperty.call(parsedData.suggested, \"list\") && (parsedData.suggested as SuggestionData).list.length\n : (parsedData.suggested as DataList).length;\n }\n\n private hasRecommendedContent(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? Object.prototype.hasOwnProperty.call(parsedData.recommended, \"list\") && (parsedData.recommended as RecommendData).list.length\n : (parsedData.recommended as DataList).length;\n }\n\n getListWithSuggestion(suggestedList: DataList, idName: string): Array<SuggestionList> {\n return suggestedList?.map((item, index) => {\n const itemWithCustomIcon = typeof item === \"object\";\n const label = itemWithCustomIcon ? item.label : item;\n return {\n handleSelectItem: this.handleSelectItem(label),\n text: this.getTextWithSuggestion(label),\n title: label,\n icon: itemWithCustomIcon ? item.icon : SearchIcon,\n hasCustomIcon: itemWithCustomIcon,\n id: `${idName}-${index}`,\n suggestionDescription: `${label}, ${idName} ${index + 1} ${UDExSearch.i18nBundle.getText(OF)} ${suggestedList.length}`,\n };\n });\n }\n\n escapeRegExp(input: string): string {\n const specialChars = /[-[\\]/{}()*+?.\\\\^$|]/g;\n return input.replace(specialChars, \"\\\\$&\");\n }\n\n getTextWithSuggestion(text: string): string {\n const escapedValue = this.escapeRegExp(this.value);\n const search = new RegExp(escapedValue, \"i\");\n return text.replace(search, \"<b>$&</b>\");\n }\n\n handleSelectItem = (itemValue: string) => () => {\n this.value = itemValue;\n this.fireDropdownItemClick(itemValue);\n this.handleSubmitValue();\n };\n\n fireDropdownItemClick(value: string) {\n this.fireDecoratorEvent(\"dropdown-item-click\", { value });\n }\n\n handleDropdownClick() {\n const dropdown = this.getPrefixPopover();\n\n if (dropdown.open) {\n this.onClosePrefixPopover();\n } else {\n this.onOpenPrefixPopover();\n }\n }\n\n getPrefixWrapper() {\n return this.shadowRoot!.querySelector(\".udex-search__prefix\") as HTMLElement;\n }\n\n getPrefixPopover(): Popover {\n return this.shadowRoot!.querySelector<Popover>(\"#udex-search-prefix\")!;\n }\n\n getPrefixButton() {\n return this.shadowRoot!.querySelector(\".udex-search__prefix-button\") as HTMLElement;\n }\n\n onOpenPrefixPopover() {\n if (this.dropdownPrefix.length) {\n const wrapper = this.getPrefixWrapper();\n const dropdown = this.getPrefixPopover();\n const button = this.getPrefixButton();\n\n this._prefixDropdownExpanded = true;\n dropdown.opener = this.getPrefixButton();\n dropdown.open = true;\n dropdown.style.width = `${button.offsetWidth + 1}px`;\n dropdown.classList.add(this.prefixPopoverClasses);\n button.classList.add(\"udex-search__prefix-button--active\");\n wrapper.classList.add(this.prefixWrapperClasses);\n this.dropdownPrefix[0].addEventListener(\"item-press\", this.handleItemClick);\n }\n }\n\n handleItemClick = (e: Event) => {\n const selectedItemPrefix = (e as CustomEvent).detail.item as ListItemBase;\n this.labelPrefix = selectedItemPrefix.innerText;\n this.fireDecoratorEvent(\"prefix-item-click\", { item: selectedItemPrefix });\n this.onClosePrefixPopover();\n };\n\n onClosePrefixPopover() {\n const dropdown = this.getPrefixPopover();\n this.dropdownPrefix[0].removeEventListener(\"item-press\", this.handleItemClick);\n dropdown.open = false;\n this.handleAfterClosePrefixPopover();\n }\n\n handleAfterClosePrefixPopover() {\n this._prefixDropdownExpanded = false;\n const wrapper = this.getPrefixWrapper();\n const button = this.getPrefixButton();\n wrapper.classList.remove(\"udex-search__prefix--show-popover\", \"udex-search__prefix--show-popover-top\");\n button.classList.remove(\"udex-search__prefix-button--active\");\n }\n\n handleInputClick(): void {\n if (!isDesktop()) {\n this._isTouched = true;\n }\n if (this.showPopoverWhenClickedIntoInput) {\n this.onOpenPopover();\n }\n }\n\n onSubmit(e: MouseEvent): void {\n e.stopPropagation();\n this.handleSubmitValue();\n }\n\n handleSubmitValue(): void {\n this.onClosePopover();\n this.fireDecoratorEvent(\"submit-search-value\", { value: this.value });\n }\n\n handleAriaExpanded() {\n const value = this.open.toString();\n this.getSearchInput()?.setAttribute(\"aria-expanded\", value);\n }\n\n onOpenPopover(): void {\n if (this.showSuggestedPopover) {\n if (!this.Suggestion) {\n retryUntilSuccessful(() => this.Suggestion, this.retryDelay, this.maxRetryAttempts, this.unsuccessfulRetryMessage)\n .then(() => {\n this.Suggestion!.open();\n })\n .catch(error => {\n console.warn(error.message);\n });\n } else {\n this.open = true;\n this.Suggestion.open();\n }\n this.handleAriaExpanded();\n }\n }\n\n onClosePopover(): void {\n if (this.showSuggestedPopover) {\n this.Suggestion!.close();\n this.handleAriaExpanded();\n this.open = false;\n }\n }\n\n handleKeyPressSuggestionList(e: KeyboardEvent): void {\n this.Suggestion?.handleKeyPress(e);\n }\n\n get rootClasses(): string {\n if (this.mode === Mode.HomeSearch && this.showSuggestedPopover && this.open) {\n return this.isSuggestionPopoverTop ? \"udex-search__root--show-popover-top\" : \"udex-search__root--show-popover\";\n }\n return \"\";\n }\n\n onBeforeRendering(): void {\n if (this.showSuggestedPopover) {\n this.enableSuggestions();\n }\n\n if (this.isHomeSearchWithPrefixMode && this.dropdownPrefix.length) {\n const dropdownItems = Array.from(this.dropdownPrefix[0].children) as Array<ListItemBase>;\n const selectedItemIndex = dropdownItems.findIndex(listItem => listItem.selected);\n const selectedItemPrefix = selectedItemIndex >= 0 ? dropdownItems[selectedItemIndex] : dropdownItems[0];\n\n this.labelPrefix = selectedItemPrefix.innerText;\n }\n\n this.showResetButton = !!this.value.length;\n\n if (this.value && this.labelActiveClass === \"\") {\n this.labelActiveClass = this._labelActiveClassName;\n }\n\n if (this.mode === Mode.HomeSearch) {\n this.labelAnimationDisabled = true;\n }\n\n if (!this.labelAnimationDisabled) {\n this.labelAnimationClass = this._labelAnimationClassName;\n }\n\n this.labelClasses = `udex-search__label ${this.labelActiveClass} ${this.labelAnimationClass}`;\n\n if (this.isVoiceButton) {\n this.labelClasses += \" udex-search__label-with-voice-icon\";\n }\n\n if (this.isShowSubmitButton) {\n this.labelClasses += \" udex-search__label-with-search-icon\";\n }\n }\n\n enableSuggestions() {\n if (this.Suggestion) {\n return;\n }\n\n const Suggestion = getFeature<typeof SearchInputSuggestion>(\"SearchInputSuggestion\");\n\n if (Suggestion) {\n this.Suggestion = new Suggestion(this);\n } else {\n throw new Error(\"You have to import '@sapudex/webcomponents/dist/features/SearchSuggestionsPopover.js' module to use udex-search suggestions\");\n }\n }\n\n private _createObserver(popover: Popover, ingoreOpenState: boolean = false): MutationObserver {\n return new MutationObserver(mutationList => {\n mutationList.forEach(mutation => {\n const newValue = popover?.actualPlacement;\n const oldValue = mutation.oldValue;\n\n if (mutation.attributeName === \"actual-placement\" && newValue !== oldValue) {\n this._popoverPlacement = newValue as PopoverPlacement;\n }\n\n if (mutation.attributeName === \"open\" && newValue !== oldValue && !ingoreOpenState) {\n this.open = popover?.open || false;\n }\n });\n });\n }\n\n onAfterRendering(): void {\n if (this.showSuggestedPopover) {\n const prefixPopover = this.getPrefixPopover();\n\n if (this.Suggestion?.popover) {\n const suggestionObserver = this._createObserver(this.Suggestion.popover);\n const popoverNode = this.Suggestion?.popover as Node;\n suggestionObserver.observe(popoverNode, { attributes: true, attributeOldValue: true });\n this.Suggestion.initLists();\n }\n\n if (prefixPopover) {\n const prefixObserver = this._createObserver(prefixPopover, true);\n const popoverNode = prefixPopover as Node;\n prefixObserver.observe(popoverNode, { attributes: true, attributeOldValue: true });\n }\n\n this.handleOutsideClick();\n this.handleOpenSuggestionPopover();\n this.setSearchWidth();\n }\n }\n\n handleOpenSuggestionPopover() {\n if (this.openSuggestionPopup) {\n this.Suggestion?._getSuggestionPopover();\n this.handlePopoverTrigger(this.openSuggestionPopup);\n }\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"mousedown\", (e: MouseEvent) => {\n const popover = (e.target as HTMLElement).shadowRoot?.querySelector(\"[ui5-popover]\");\n if (e.target !== this && popover !== this.Suggestion?.popover) {\n this.handleBlur();\n this.onClosePopover();\n if (this.isShowSearchHomePrefix) {\n this.handleAfterClosePrefixPopover();\n }\n }\n });\n }\n\n handleBlur(): void {\n this._isTouched = false;\n if (this.value) {\n this.labelActiveClass = this._labelActiveClassName;\n } else {\n this.labelActiveClass = \"\";\n }\n }\n\n handleSearchChange(e: InputEvent): void {\n this.value = (e.target as HTMLInputElement)?.value;\n this.showResetButton = !!this.value.length;\n this.handleDebounce();\n }\n\n handleDebounce = debounce(() => {\n this.fireDecoratorEvent(\"handle-value-search\", { value: this.value });\n if (this.showSuggestedPopover && this.value.length >= 2) {\n this.onOpenPopover();\n }\n if (!this.showPopoverWhenClickedIntoInput && this.showSuggestedPopover && this.value.length < 2) {\n this.onClosePopover();\n }\n });\n\n handleKeyDown = (e: KeyboardEvent) => {\n e.stopPropagation();\n this.handleEnterKey(e);\n this.handleTabKey(e);\n this.handleEscapeKey(e);\n this.fireDecoratorEvent(\"search-keydown\", { e });\n };\n\n handleEnterKey(e: KeyboardEvent) {\n if (isEnter(e)) {\n if (!this.open) {\n e.preventDefault();\n } else {\n this.Suggestion?.onEnter(e);\n }\n this.handleSubmitValue();\n }\n }\n\n handleTabKey(e: KeyboardEvent) {\n if (isTabNext(e) && this.open) {\n this.Suggestion?.onTab(e);\n }\n }\n\n handleEscapeKey(e: KeyboardEvent) {\n if (isEscape(e)) {\n if (this.open) {\n this.Suggestion?.onEscape(e);\n }\n }\n }\n\n handleKeyDownPopover(e: KeyboardEvent) {\n if (this.open) {\n this.handleTabKeyList(e);\n this.handlePrevTabKeyList(e);\n this.handleDownKeyList(e);\n this.handleUpKeyList(e);\n this.handleEscapeKey(e);\n }\n }\n\n handleTabKeyList(e: KeyboardEvent) {\n if (isTabNext(e)) {\n this.Suggestion?.onKeyTabList(e);\n }\n }\n\n handlePrevTabKeyList(e: KeyboardEvent) {\n if (isTabPrevious(e)) {\n this.Suggestion?.onPrevKeyTabList(e);\n }\n }\n\n handleDownKeyList(e: KeyboardEvent) {\n if (isDown(e)) {\n this.Suggestion?.onKeyDown(e);\n }\n }\n\n handleUpKeyList(e: KeyboardEvent) {\n if (isUp(e)) {\n this.Suggestion?.onKeyUp(e);\n }\n }\n\n handleFocus(): void {\n this.active = true;\n this.isFocusedOnTextfield = true;\n this.focusClasses = this._focusActiveClassName;\n this.labelActiveClass = (this.value || !this.labelAnimationDisabled) ? this._labelActiveClassName : \"\";\n this.labelAnimationClass = !this.labelAnimationDisabled ? this._labelAnimationClassName : \"\";\n }\n\n handleFocusout(): void {\n this.active = false;\n this.isFocusedOnTextfield = false;\n this.focusClasses = \"\";\n }\n\n onReset(e: MouseEvent): void {\n e.stopPropagation();\n this.handleReset();\n }\n\n handleReset(): void {\n this.value = \"\";\n this.showResetButton = false;\n this.onClosePopover();\n this.fireDecoratorEvent(\"handle-value-reset\");\n this.Suggestion?.resetFocusState();\n this.getSearchInput()?.focus();\n }\n\n handleKeyDownReset(e: KeyboardEvent) {\n if (isTabPrevious(e) && this.open) {\n this.Suggestion?.handlePrevTabReset(e);\n }\n if (isEnter(e) || isSpace(e)) {\n e.preventDefault();\n e.stopPropagation();\n this.handleReset();\n }\n }\n\n private getSearchInput(): HTMLInputElement {\n return this.shadowRoot?.querySelector(\"[id='search-input']\") as HTMLInputElement;\n }\n\n onVoice(e: MouseEvent): void {\n e.stopPropagation();\n if (this.speechRecognition) {\n this.onSpeechLaunch();\n this.onSpeechStart();\n this.onSpeechResult();\n this.onSpeechEnd();\n }\n }\n\n onSpeechLaunch(): void {\n if (!this.voiceActiveClass) {\n this.speechRecognition.start();\n } else {\n this.speechRecognition.stop();\n }\n }\n\n get effectivePlaceholder() {\n return !this.voiceActiveClass ? this.label : `${UDExSearch.i18nBundle.getText(LISTENING)}...`;\n }\n\n onSpeechStart(): void {\n this.speechRecognition.onstart = () => {\n this.voiceActiveClass = this._voiceActiveClassName;\n this.getSearchInput()?.focus();\n };\n }\n\n onSpeechResult(): void {\n this.speechRecognition.onresult = (e: any) => {\n const last = e.results.length - 1;\n this.value = e.results[last][0].transcript;\n this.speechRecognition.stop();\n };\n }\n\n onSpeechEnd(): void {\n this.speechRecognition.onend = () => {\n this.voiceActiveClass = \"\";\n this.handleSubmitValue();\n this.onShowResetButton();\n };\n }\n\n onShowResetButton(): void {\n if (this.value) {\n this.showResetButton = true;\n }\n }\n\n _handleResize() {\n this.setSearchWidth();\n }\n\n private setSearchWidth() {\n const searchContainer = (this.shadowRoot?.querySelector(\".udex-search__container\") as HTMLElement);\n\n if (searchContainer.offsetWidth !== this._searchWidth) {\n this._searchWidth = searchContainer.offsetWidth;\n }\n }\n\n get popoverStyles() {\n return {\n \"width\": this._searchWidth ? `${this._searchWidth}px` : \"\",\n };\n }\n\n get prefixPopoverStyles() {\n return {\n \"width\": this.getPrefixButton() ? `${this.getPrefixButton().offsetWidth + 1}px` : \"\",\n };\n }\n\n get isShowResetButton(): boolean {\n return this.showResetButton && !!this.value.length && this.mode === Mode.Standard;\n }\n\n get isShowHomeResetButton(): boolean {\n return this.showResetButton && !!this.value.length && this.mode === Mode.HomeSearch;\n }\n\n get noResultMessage(): string {\n return this.noResultText || UDExSearch.i18nBundle.getText(NO_MATCHES_FOUND);\n }\n\n get showNoResultMessage(): boolean {\n return !this.suggestedList?.length && !this.recommendedList?.length;\n }\n\n get isShowSuggestedList(): boolean {\n return !!this.suggestedList?.length;\n }\n\n get isShowRecommendedList(): boolean {\n return !!this.recommendedList?.length;\n }\n\n get hasPopoverContent(): boolean {\n return !!(this.suggestedList?.length || this.recommendedList?.length);\n }\n\n get getAriaHasPopup(): string {\n return this.showSuggestedPopover ? \"dialog\" : \"false\";\n }\n\n get getSuggestionsPopoverId(): string {\n return SuggestionsPopoverId;\n }\n\n get isShowSubmitButton(): boolean {\n return this.showSubmitButton;\n }\n\n get suggestedHeading(): string | undefined {\n return this._suggestionLabel;\n }\n\n get recommendedHeading(): string | undefined {\n return this._recommendLabel;\n }\n\n get isSuggestionPopoverTop(): boolean {\n const suggestionPopover = this.Suggestion?.popover;\n return suggestionPopover! && suggestionPopover.open && this._popoverPlacement === \"Top\";\n }\n\n get isPrefixSuggestionPopoverTop(): boolean {\n const prefixSuggestionPopover = this.getPrefixPopover();\n return prefixSuggestionPopover && prefixSuggestionPopover.open && this._popoverPlacement === \"Top\";\n }\n\n get isShowSearchHomePrefix(): boolean {\n return this.isHomeSearchWithPrefixMode && !!this.dropdownPrefix.length;\n }\n\n get isHomeSearchMode(): boolean {\n return this.mode === Mode.HomeSearch;\n }\n\n get isHomeSearchWithPrefixMode(): boolean {\n return this.mode === Mode.HomeSearch && !!this.dropdownPrefix.length;\n }\n\n get searchClasses(): string {\n return `${this.classWithPrefix} ${this.rootClasses} udex-search-mode-${this.mode.toLowerCase().replace(\" \", \"-\")}`.trim();\n }\n\n get prefixWrapperClasses(): string {\n const prefixPopover = this.getPrefixPopover();\n if (prefixPopover && prefixPopover.open) {\n return this._popoverPlacement === \"Top\" ? \"udex-search__prefix--show-popover-top\" : \"udex-search__prefix--show-popover\";\n }\n return \"\";\n }\n\n get prefixPopoverClasses(): string {\n return this.isPrefixSuggestionPopoverTop ? \"udex-search__prefix-popover-top\" : \"udex-search__prefix-popover\";\n }\n\n get classWithPrefix(): string {\n return this.isHomeSearchWithPrefixMode ? \"udex-search-prefix\" : \"\";\n }\n\n get homeSearchPopoverClass(): string {\n if (this.isHomeSearchMode || this.isHomeSearchWithPrefixMode) {\n return this.isSuggestionPopoverTop ? \"udex-search-suggestions__root-top--home\" : \"udex-search-suggestions__root--home\";\n }\n return \"\";\n }\n\n get homeSearchWithPrefixPopoverClass(): string {\n return this.isHomeSearchWithPrefixMode ? \"udex-search-suggestions__root--prefix\" : \"\";\n }\n\n get searchButtonActiveClass(): string {\n return this.isHomeSearchMode && this.open ? \"udex-search__submit-button--active\" : \"\";\n }\n\n get isNotEmptyClass(): string {\n return this.value.length > 2 || this.focusClasses.length ? \" udex-search__container--has-value\" : \"\";\n }\n\n get isVoiceButton(): boolean {\n return this.showVoiceButton && this.isNotMozillaFirefox && this.isNotMozillaFirefoxIOS && this.mode === Mode.HomeSearch;\n }\n\n get accInfo() {\n return {\n \"ariaLabel\": this.accessibleName || undefined,\n \"accessibleNameResetIcon\": this.accessibleNameResetIcon || UDExSearch.i18nBundle.getText(ACCESSIBLE_NAME_RESET_ICON),\n \"accessibleNameSearchIcon\": this.accessibleNameSearchIcon || UDExSearch.i18nBundle.getText(ACCESSIBLE_NAME_SEARCH_ICON),\n };\n }\n\n get suggestionsDescription(): string {\n return !this.showNoResultMessage ? `${this.suggestedList.length} ${this._suggestionLabel}, ${this.recommendedList.length} ${this._recommendLabel}` : `${this.noResultMessage}`;\n }\n\n get tooltipInfo() {\n return {\n \"tooltipResetButton\": this.tooltipResetButton || UDExSearch.i18nBundle.getText(TOOLTIP_RESET_BUTTON),\n \"tooltipVoiceButton\": this.tooltipVoiceButton || UDExSearch.i18nBundle.getText(TOOLTIP_VOICE_BUTTON),\n \"tooltipSubmitButton\": this.tooltipSubmitButton || UDExSearch.i18nBundle.getText(TOOLTIP_SUBMIT_BUTTON),\n };\n }\n\n get suggestionsAccessibleName(): string {\n return UDExSearch.i18nBundle.getText(AVAILABLE_VALUES);\n }\n\n get showNonInteractiveButton(): boolean {\n return this.showSubmitButton && this.nonInteractiveSubmitButton;\n }\n\n get showSubmitStandardButton(): boolean {\n return this.showSubmitButton && !this.nonInteractiveSubmitButton && this.mode === Mode.Standard;\n }\n\n get showSubmitHomeButton(): boolean {\n return this.showSubmitButton && !this.nonInteractiveSubmitButton && this.mode === Mode.HomeSearch;\n }\n}\n\nUDExSearch.define();\n\nexport default UDExSearch;\n"]}
1
+ {"version":3,"file":"Search.js","sourceRoot":"","sources":["../src/Search.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport {\n isEnter,\n isTabNext,\n isTabPrevious,\n isUp,\n isDown,\n isEscape,\n isSpace,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport List from \"./List.js\";\nimport ControlButton from \"./ControlButton.js\";\nimport type ListItemBase from \"./ListItemBase.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport \"@ui5/webcomponents-icons/dist/microphone.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport debounce from \"./utils/debounce.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n SUGGESTED_TEXT,\n RECOMMENDED_TEXT,\n AVAILABLE_VALUES,\n NO_MATCHES_FOUND,\n ACCESSIBLE_NAME_RESET_ICON,\n ACCESSIBLE_NAME_SEARCH_ICON,\n TOOLTIP_RESET_BUTTON,\n TOOLTIP_VOICE_BUTTON,\n TOOLTIP_SUBMIT_BUTTON,\n LISTENING,\n OF,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport type SearchInputSuggestion from \"./features/SearchSuggestionsPopover.js\";\nimport retryUntilSuccessful from \"./utils/retryUntilSuccessful.js\";\nimport UDExButton from \"./Button.js\";\n\nimport SearchTemplate from \"./generated/templates/SearchTemplate.lit.js\";\n\n// Styles\nimport SearchCss from \"./generated/themes/Search.css.js\";\nimport SearchSuggestionsCss from \"./generated/themes/SearchSuggestions.css.js\";\nimport getEffectiveScrollbarStyle from \"./utils/getEffectiveScrollbarStyle.js\";\n\nconst SearchIcon: string = \"sap-icon://search\";\n\nconst SuggestionsPopoverId: string = \"suggestions-popover\";\n\ntype ListItem = {\n label: string;\n icon: string;\n}\n\ntype DataList = Array<ListItem | string>;\n\nexport type SuggestionData = {\n label: string,\n list: DataList\n}\n\nexport type RecommendData = {\n label: string,\n list: DataList\n}\n\ntype SuggestionRecommendLists = {\n suggested: SuggestionData | DataList,\n recommended: RecommendData | DataList\n}\n\nexport type SuggestionList = {\n handleSelectItem: () => void,\n text: string,\n icon: string,\n title: string,\n hasCustomIcon: boolean,\n id: string\n suggestionDescription: string;\n}\n\nexport enum Mode {\n Standard = \"Standard\",\n HomeSearch = \"Home Search\"\n}\n\nexport type PopoverPlacement = \"Bottom\" | \"Top\";\n\ntype UDExSearchBaseEventDetail = {\n value: string,\n}\n\ntype UDExSearchPrefixItemClickEventDetail = {\n item: ListItemBase,\n}\n\nexport type UDExSearchKeydownEventDetail = {\n e: KeyboardEvent;\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-search</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Search.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-search\n * @public\n */\n@customElement({\n tag: \"udex-search\",\n renderer: litRender,\n styles: [SearchCss, SearchSuggestionsCss, getEffectiveScrollbarStyle()],\n template: SearchTemplate,\n get dependencies() {\n const Suggestion = getFeature<typeof SearchInputSuggestion>(\"SearchInputSuggestion\");\n return ([ControlButton, UDExButton, Icon, List, Popover] as Array<typeof UI5Element>).concat(Suggestion ? [...Suggestion.dependencies] : []);\n },\n})\n\n/**\n * Fired event when the user submitted the value.\n *\n * @public\n */\n@event(\"submit-search-value\", { bubbles: true })\n/**\n * Fired event when the user typed to search field.\n *\n * @public\n */\n@event(\"handle-value-search\", { bubbles: true })\n/**\n * Fired event when the user clicks on the reset button.\n *\n * @public\n */\n@event(\"handle-value-reset\", { bubbles: true })\n/**\n * Fired event when the user clicks on the item inside the popover.\n *\n * @public\n */\n@event(\"dropdown-item-click\", { bubbles: true })\n/**\n * Fired event when the user clicks on the intem inside the prefix dropdown.\n *\n * @public\n */\n@event(\"prefix-item-click\")\n/**\n * Fired event when the user clicks on the intem inside the prefix dropdown.\n *\n * @public\n */\n@event(\"search-keydown\", { bubbles: true })\nclass UDExSearch extends UI5Element {\n eventDetails!: {\n \"submit-search-value\": UDExSearchBaseEventDetail,\n \"handle-value-search\": UDExSearchBaseEventDetail,\n \"handle-value-reset\": void,\n \"search-keydown\": UDExSearchKeydownEventDetail,\n \"dropdown-item-click\": UDExSearchBaseEventDetail,\n \"prefix-item-click\": UDExSearchPrefixItemClickEventDetail,\n\n };\n _labelActiveClassName = \"udex-search__label--active\";\n _labelAnimationClassName = \"udex-search__label--animation-enabled\";\n _voiceActiveClassName = \"udex-search__voice-button--active\";\n _focusActiveClassName = \"udex-search__container--focus\";\n _handleResizeBound: ResizeObserverCallback;\n suggestedList!: Array<SuggestionList>;\n recommendedList!: Array<SuggestionList>;\n speechRecognition!: any;\n isNotMozillaFirefox!: boolean;\n isNotMozillaFirefoxIOS!: boolean;\n isFocusedOnTextfield!: boolean;\n Suggestion?: SearchInputSuggestion;\n /**\n * Defines the value of the component.\n *\n * @default \"\"\n * @formEvents input\n * @formProperty\n * @public\n */\n @property({ type: String })\n value: string = \"\";\n\n /**\n * Defines label text for the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines if the label animation is disabled for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n labelAnimationDisabled!: boolean;\n\n /**\n * Defines display the reset button for the search field.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n showResetButton!: boolean;\n\n /**\n * Defines where the SuggestionPopover is currently placed.\n *\n * @default \"Bottom\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n _popoverPlacement: PopoverPlacement = \"Bottom\";\n\n /**\n * Defines display the submit button for the search field.\n *\n * @default true\n * @public\n */\n @property({ type: Boolean })\n showSubmitButton!: boolean;\n\n /**\n * Defines non-interactive the submit button for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n nonInteractiveSubmitButton!: boolean;\n\n /**\n * Defines display the voice button for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showVoiceButton!: boolean;\n\n /**\n * Defines suggestions and recommended lists for the component.\n * <br><br>\n * <b>Note:</b> Structure of the property:\n * { suggested: [\"string\", string, ...], recommended: [\"string\", \"string\", ...] }\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n suggestionList!: string;\n /**\n * Width of the search component\n * @private\n */\n @property({ type: Number })\n _searchWidth?: number;\n\n /**\n * Define the label of the prefix for the dropdown.\n *\n * @private\n */\n @property({ type: String })\n labelPrefix!: string;\n\n /**\n * Defines display the suggestion popover in the component.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showSuggestedPopover!: boolean;\n\n /**\n * Defines the language of voice search.\n *\n * @default \"en-US\"\n * @public\n */\n @property({ type: String })\n languageVoice: string = \"en-US\";\n\n /**\n * Defines the mode of component.\n * <br><br>\n * <b>Note:</b> accepts a string \"Standard\" or \"Home Search\".\n *\n * @default \"Standard\"\n * @public\n */\n @property({ type: String })\n mode: Mode = Mode.Standard;\n\n /**\n * Defines open suggestion popover when clicked on the input field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showPopoverWhenClickedIntoInput!: boolean;\n\n /**\n * Defines open suggestion popover.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n openSuggestionPopup!: boolean;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Defines the accessible ARIA name of the reset icon.\n *\n * @default \"Clear\"\n * @public\n */\n @property({ type: String })\n accessibleNameResetIcon!: string;\n\n /**\n * Defines the accessible ARIA name of the search icon (applied just when \"nonInteractiveSubmitButton\" is active).\n *\n * @default \"Search\"\n * @public\n */\n @property({ type: String })\n accessibleNameSearchIcon!: string;\n\n /**\n * Defines the tooltip of the clear button.\n *\n * @default \"Clear\"\n * @public\n */\n @property({ type: String })\n tooltipResetButton!: string;\n\n /**\n * Defines the tooltip of the voice button.\n *\n * @default \"Voice\"\n * @public\n */\n @property({ type: String })\n tooltipVoiceButton!: string;\n\n /**\n * Defines the tooltip of the submit button.\n *\n * @default \"Search\"\n * @public\n */\n @property({ type: String })\n tooltipSubmitButton!: string;\n\n /**\n * Defines the text if the suggestion list doesn't return results.\n *\n * @default \"No matches found.\"\n * @public\n */\n @property({ type: String })\n noResultText: string = \"No matches found.\";\n\n /**\n * Defines the inner stored class of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelActiveClass: string = \"\";\n\n /**\n * Defines the inner stored animation class of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelAnimationClass: string = \"\";\n\n /**\n * Defines the voice active class of the button.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n voiceActiveClass: string = \"\";\n\n /**\n * Defines the inner stored value of the classes of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelClasses: string = \"\";\n\n /**\n * Defines the class of focus on the input field.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n focusClasses: string = \"\";\n\n /**\n * Defines the suggestion popover is opened\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n open!: boolean;\n\n /**\n * The label of the suggestion section.\n * @private\n */\n @property({ type: String })\n _suggestionLabel?: string;\n\n /**\n * The label of the recommend section.\n * @private\n */\n @property({ type: String })\n _recommendLabel?: string;\n\n /**\n * The console warning shown after all unsuccessful attempts of opening SearchSuggestionsPopover component.\n * @default \"UdexSearchSuggestionsPopover couldn`t be opened\"\n */\n @property({ type: String })\n unsuccessfulRetryMessage: string = \"UdexSearchSuggestionsPopover couldn`t be opened\";\n\n /**\n * The delay before retrying to open the SerchSuggestionsPopover component.\n * @default 200\n */\n @property({ type: Number })\n retryDelay: number = 200;\n\n /**\n * The maximum number of attempts for opening the SearchSuggestionsPopover component.\n * @default 5\n */\n @property({ type: Number })\n maxRetryAttempts: number = 5;\n\n /**\n * Defines the prefix dropdown of the Search component.\n *\n * @slot dropdownPrefix\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n dropdownPrefix!: Array<List>;\n\n /**\n * Defines the open button icon\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _prefixDropdownExpanded: boolean = false;\n\n /**\n * Defines the active (focus)\n * @default false\n * @private\n */\n @property({ type: Boolean })\n active!: boolean;\n /**\n * Defines is it the touch of the input field (only for mobile devices).\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isTouched!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onEnterDOM(): void {\n this.isNotMozillaFirefox = !this.isMozillaFirefox(\"Firefox\");\n this.isNotMozillaFirefoxIOS = !this.isMozillaFirefox(\"FxiOS\");\n this.initSpeechRecognition();\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n this.removeEventListener(\"dropdown-trigger-event\", () => { });\n }\n\n initSpeechRecognition(): void {\n try {\n if (this.isNotMozillaFirefox || this.isNotMozillaFirefoxIOS) {\n const SpeechRecognition = (window as any).SpeechRecognition || (window as any).webkitSpeechRecognition || (window as any).mozSpeechRecognition || (window as any).msSpeechRecognition;\n this.speechRecognition = new SpeechRecognition();\n this.speechRecognition.continuous = true;\n this.speechRecognition.lang = this.languageVoice;\n this.speechRecognition.interimResults = false;\n this.speechRecognition.maxAlternatives = 5;\n }\n } catch (error: any) {\n console.warn(\"The voice button does not work in this browser\");\n throw (error);\n }\n }\n\n private isMozillaFirefox(keyWord: string) {\n const userAgent = navigator.userAgent;\n const firefoxAgent = userAgent.split(\" \").find(item => item.indexOf(keyWord) > -1);\n\n if (firefoxAgent) {\n const splitAgent = firefoxAgent.split(\"/\");\n const firefoxVersion = splitAgent[splitAgent.length - 1];\n return Number(firefoxVersion) >= 125;\n }\n return false;\n }\n\n onInvalidation(changeInfo: ChangeInfo): void {\n this.setNewValue(changeInfo);\n this.setPopoverState(changeInfo);\n this.setNewSuggestionList(changeInfo);\n }\n\n setNewValue(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"value\") {\n this.value = changeInfo.newValue as string;\n this.setSuggestedRecommendedLists(this.suggestionList);\n this.toggleLabelActiveClass();\n }\n }\n\n private toggleLabelActiveClass() {\n if (this.labelActiveClass && !this.labelAnimationDisabled && !this.isFocusedOnTextfield) {\n this.handleBlur();\n }\n }\n\n setPopoverState(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"openSuggestionPopup\") {\n this.handlePopoverTrigger(changeInfo.newValue as boolean);\n }\n }\n\n handlePopoverTrigger(isOpenPopover: boolean): void {\n if (isOpenPopover) {\n this.onOpenPopover();\n } else {\n this.onClosePopover();\n }\n }\n\n setNewSuggestionList(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"suggestionList\" && !!changeInfo.newValue) {\n this.setSuggestedRecommendedLists(changeInfo.newValue as string);\n }\n }\n\n setSuggestedRecommendedLists(value: string): void {\n if (this.showSuggestedPopover && value) {\n const parsedData: SuggestionRecommendLists = JSON.parse(value);\n const hasDataLabels = this.hasDataLabel(parsedData);\n\n if (this.shouldShowPopover(parsedData, hasDataLabels)) {\n this.setDropdownLabels(hasDataLabels, parsedData);\n this.suggestedList = this.getListWithSuggestion(this.getSuggestedList(hasDataLabels, parsedData), \"suggested\");\n this.recommendedList = this.getListWithSuggestion(this.getRecommendedList(hasDataLabels, parsedData), \"recommended\");\n }\n if (!this.shouldShowPopover(parsedData, hasDataLabels)) {\n this.onClosePopover();\n this.resetSuggestedRecommendedLists();\n }\n }\n }\n\n private hasDataLabel(parsedData: SuggestionRecommendLists) {\n return Object.values(parsedData).some(item => Object.prototype.hasOwnProperty.call(item, \"label\"));\n }\n\n private resetSuggestedRecommendedLists() {\n this.suggestedList = [];\n this.recommendedList = [];\n }\n\n private setDropdownLabels(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n this._suggestionLabel = this.getSuggestionLabel(hasDataLabels, parsedData);\n this._recommendLabel = this.getRecommendLabel(hasDataLabels, parsedData);\n }\n\n private getRecommendLabel(hasDataLabels: boolean, parsedData: SuggestionRecommendLists): string {\n return hasDataLabels\n ? (parsedData.recommended as RecommendData).label || \"\"\n : UDExSearch.i18nBundle.getText(RECOMMENDED_TEXT);\n }\n\n private getSuggestionLabel(hasDataLabels: boolean, parsedData: SuggestionRecommendLists): string {\n return hasDataLabels\n ? (parsedData.suggested as SuggestionData).label || \"\"\n : UDExSearch.i18nBundle.getText(SUGGESTED_TEXT);\n }\n\n private getRecommendedList(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? (parsedData.recommended as RecommendData).list\n : parsedData.recommended as DataList;\n }\n\n private getSuggestedList(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? (parsedData.suggested as SuggestionData).list\n : parsedData.suggested as DataList;\n }\n\n private shouldShowPopover(parsedData: SuggestionRecommendLists, hasDataLabels: boolean) {\n const hasSuggestedListContent = this.hasSuggestedContent(hasDataLabels, parsedData);\n const hasRecommendedContent = this.hasRecommendedContent(hasDataLabels, parsedData);\n return this.showPopoverWhenClickedIntoInput || (hasSuggestedListContent || hasRecommendedContent);\n }\n\n private hasSuggestedContent(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? Object.prototype.hasOwnProperty.call(parsedData.suggested, \"list\") && (parsedData.suggested as SuggestionData).list.length\n : (parsedData.suggested as DataList).length;\n }\n\n private hasRecommendedContent(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? Object.prototype.hasOwnProperty.call(parsedData.recommended, \"list\") && (parsedData.recommended as RecommendData).list.length\n : (parsedData.recommended as DataList).length;\n }\n\n getListWithSuggestion(suggestedList: DataList, idName: string): Array<SuggestionList> {\n return suggestedList?.map((item, index) => {\n const itemWithCustomIcon = typeof item === \"object\";\n const label = itemWithCustomIcon ? item.label : item;\n return {\n handleSelectItem: this.handleSelectItem(label),\n text: this.getTextWithSuggestion(label),\n title: label,\n icon: itemWithCustomIcon ? item.icon : SearchIcon,\n hasCustomIcon: itemWithCustomIcon,\n id: `${idName}-${index}`,\n suggestionDescription: `${label}, ${idName} ${index + 1} ${UDExSearch.i18nBundle.getText(OF)} ${suggestedList.length}`,\n };\n });\n }\n\n escapeRegExp(input: string): string {\n const specialChars = /[-[\\]/{}()*+?.\\\\^$|]/g;\n return input.replace(specialChars, \"\\\\$&\");\n }\n\n getTextWithSuggestion(text: string): string {\n const escapedValue = this.escapeRegExp(this.value);\n const search = new RegExp(escapedValue, \"i\");\n return text.replace(search, \"<b>$&</b>\");\n }\n\n handleSelectItem = (itemValue: string) => () => {\n this.value = itemValue;\n this.fireDropdownItemClick(itemValue);\n this.handleSubmitValue();\n };\n\n fireDropdownItemClick(value: string) {\n this.fireDecoratorEvent(\"dropdown-item-click\", { value });\n }\n\n handleDropdownClick() {\n const dropdown = this.getPrefixPopover();\n\n if (dropdown.open) {\n this.onClosePrefixPopover();\n } else {\n this.onOpenPrefixPopover();\n }\n }\n\n getPrefixWrapper() {\n return this.shadowRoot!.querySelector(\".udex-search__prefix\") as HTMLElement;\n }\n\n getPrefixPopover(): Popover {\n return this.shadowRoot!.querySelector<Popover>(\"#udex-search-prefix\")!;\n }\n\n getPrefixButton() {\n return this.shadowRoot!.querySelector(\".udex-search__prefix-button\") as HTMLElement;\n }\n\n onOpenPrefixPopover() {\n if (this.dropdownPrefix.length) {\n const wrapper = this.getPrefixWrapper();\n const dropdown = this.getPrefixPopover();\n const button = this.getPrefixButton();\n\n this._prefixDropdownExpanded = true;\n dropdown.opener = this.getPrefixButton();\n dropdown.open = true;\n dropdown.style.width = `${button.offsetWidth + 1}px`;\n dropdown.classList.add(this.prefixPopoverClasses);\n button.classList.add(\"udex-search__prefix-button--active\");\n wrapper.classList.add(this.prefixWrapperClasses);\n this.dropdownPrefix[0].addEventListener(\"item-press\", this.handleItemClick);\n }\n }\n\n handleItemClick = (e: Event) => {\n const selectedItemPrefix = (e as CustomEvent).detail.item as ListItemBase;\n this.labelPrefix = selectedItemPrefix.innerText;\n this.fireDecoratorEvent(\"prefix-item-click\", { item: selectedItemPrefix });\n this.onClosePrefixPopover();\n };\n\n onClosePrefixPopover() {\n const dropdown = this.getPrefixPopover();\n this.dropdownPrefix[0].removeEventListener(\"item-press\", this.handleItemClick);\n dropdown.open = false;\n this.handleAfterClosePrefixPopover();\n }\n\n handleAfterClosePrefixPopover() {\n this._prefixDropdownExpanded = false;\n const wrapper = this.getPrefixWrapper();\n const button = this.getPrefixButton();\n wrapper.classList.remove(\"udex-search__prefix--show-popover\", \"udex-search__prefix--show-popover-top\");\n button.classList.remove(\"udex-search__prefix-button--active\");\n }\n\n handleInputClick(): void {\n if (!isDesktop()) {\n this._isTouched = true;\n }\n if (this.showPopoverWhenClickedIntoInput) {\n this.onOpenPopover();\n }\n }\n\n onSubmit(e: MouseEvent): void {\n e.stopPropagation();\n this.handleSubmitValue();\n }\n\n handleSubmitValue(): void {\n this.onClosePopover();\n this.fireDecoratorEvent(\"submit-search-value\", { value: this.value });\n }\n\n handleAriaExpanded() {\n const value = this.open.toString();\n this.getSearchInput()?.setAttribute(\"aria-expanded\", value);\n }\n\n onOpenPopover(): void {\n if (this.showSuggestedPopover) {\n if (!this.Suggestion) {\n retryUntilSuccessful(() => this.Suggestion, this.retryDelay, this.maxRetryAttempts, this.unsuccessfulRetryMessage)\n .then(() => {\n this.Suggestion!.open();\n })\n .catch(error => {\n console.warn(error.message);\n });\n } else {\n this.open = true;\n this.Suggestion.open();\n }\n this.handleAriaExpanded();\n }\n }\n\n onClosePopover(): void {\n if (this.showSuggestedPopover) {\n this.Suggestion!.close();\n this.handleAriaExpanded();\n this.open = false;\n }\n }\n\n handleKeyPressSuggestionList(e: KeyboardEvent): void {\n this.Suggestion?.handleKeyPress(e);\n }\n\n get rootClasses(): string {\n if (this.mode === Mode.HomeSearch && this.showSuggestedPopover && this.open) {\n return this.isSuggestionPopoverTop ? \"udex-search__root--show-popover-top\" : \"udex-search__root--show-popover\";\n }\n return \"\";\n }\n\n onBeforeRendering(): void {\n if (this.showSuggestedPopover) {\n this.enableSuggestions();\n }\n\n if (this.isHomeSearchWithPrefixMode && this.dropdownPrefix.length) {\n const dropdownItems = Array.from(this.dropdownPrefix[0].children) as Array<ListItemBase>;\n const selectedItemIndex = dropdownItems.findIndex(listItem => listItem.selected);\n const selectedItemPrefix = selectedItemIndex >= 0 ? dropdownItems[selectedItemIndex] : dropdownItems[0];\n\n this.labelPrefix = selectedItemPrefix.innerText;\n }\n\n this.showResetButton = !!this.value.length;\n\n if (this.value && this.labelActiveClass === \"\") {\n this.labelActiveClass = this._labelActiveClassName;\n }\n\n if (this.mode === Mode.HomeSearch) {\n this.labelAnimationDisabled = true;\n }\n\n if (!this.labelAnimationDisabled) {\n this.labelAnimationClass = this._labelAnimationClassName;\n }\n\n this.labelClasses = `udex-search__label ${this.labelActiveClass} ${this.labelAnimationClass}`;\n\n if (this.isVoiceButton) {\n this.labelClasses += \" udex-search__label-with-voice-icon\";\n }\n\n if (this.isShowSubmitButton) {\n this.labelClasses += \" udex-search__label-with-search-icon\";\n }\n }\n\n enableSuggestions() {\n if (this.Suggestion) {\n return;\n }\n\n const Suggestion = getFeature<typeof SearchInputSuggestion>(\"SearchInputSuggestion\");\n\n if (Suggestion) {\n this.Suggestion = new Suggestion(this);\n } else {\n throw new Error(\"You have to import '@sapudex/webcomponents/dist/features/SearchSuggestionsPopover.js' module to use udex-search suggestions\");\n }\n }\n\n private _createObserver(popover: Popover, ingoreOpenState: boolean = false): MutationObserver {\n return new MutationObserver(mutationList => {\n mutationList.forEach(mutation => {\n const newValue = popover?.actualPlacement;\n const oldValue = mutation.oldValue;\n\n if (mutation.attributeName === \"actual-placement\" && newValue !== oldValue) {\n this._popoverPlacement = newValue as PopoverPlacement;\n }\n\n if (mutation.attributeName === \"open\" && newValue !== oldValue && !ingoreOpenState) {\n this.open = popover?.open || false;\n }\n });\n });\n }\n\n onAfterRendering(): void {\n if (this.showSuggestedPopover) {\n const prefixPopover = this.getPrefixPopover();\n\n if (this.Suggestion?.popover) {\n const suggestionObserver = this._createObserver(this.Suggestion.popover);\n const popoverNode = this.Suggestion?.popover as Node;\n suggestionObserver.observe(popoverNode, { attributes: true, attributeOldValue: true });\n this.Suggestion.initLists();\n }\n\n if (prefixPopover) {\n const prefixObserver = this._createObserver(prefixPopover, true);\n const popoverNode = prefixPopover as Node;\n prefixObserver.observe(popoverNode, { attributes: true, attributeOldValue: true });\n }\n\n this.handleOutsideClick();\n this.handleOpenSuggestionPopover();\n this.setSearchWidth();\n }\n }\n\n handleOpenSuggestionPopover() {\n if (this.openSuggestionPopup) {\n this.Suggestion?._getSuggestionPopover();\n this.handlePopoverTrigger(this.openSuggestionPopup);\n }\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"mousedown\", (e: MouseEvent) => {\n const popover = (e.target as HTMLElement).shadowRoot?.querySelector(\"[ui5-popover]\");\n if (e.target !== this && popover !== this.Suggestion?.popover) {\n this.handleBlur();\n this.onClosePopover();\n if (this.isShowSearchHomePrefix) {\n this.handleAfterClosePrefixPopover();\n }\n }\n });\n }\n\n handleBlur(): void {\n this._isTouched = false;\n if (this.value) {\n this.labelActiveClass = this._labelActiveClassName;\n } else {\n this.labelActiveClass = \"\";\n }\n }\n\n handleSearchChange(e: InputEvent): void {\n this.value = (e.target as HTMLInputElement)?.value;\n this.showResetButton = !!this.value.length;\n this.handleDebounce();\n }\n\n handleDebounce = debounce(() => {\n this.fireDecoratorEvent(\"handle-value-search\", { value: this.value });\n if (this.showSuggestedPopover && this.value.length >= 2) {\n this.onOpenPopover();\n }\n if (!this.showPopoverWhenClickedIntoInput && this.showSuggestedPopover && this.value.length < 2) {\n this.onClosePopover();\n }\n });\n\n handleKeyDown = (e: KeyboardEvent) => {\n e.stopPropagation();\n this.handleEnterKey(e);\n this.handleTabKey(e);\n this.handleEscapeKey(e);\n this.fireDecoratorEvent(\"search-keydown\", { e });\n };\n\n handleEnterKey(e: KeyboardEvent) {\n if (isEnter(e)) {\n if (!this.open) {\n e.preventDefault();\n } else {\n this.Suggestion?.onEnter(e);\n }\n this.handleSubmitValue();\n }\n }\n\n handleTabKey(e: KeyboardEvent) {\n if (isTabNext(e) && this.open) {\n this.Suggestion?.onTab(e);\n }\n }\n\n handleEscapeKey(e: KeyboardEvent) {\n if (isEscape(e)) {\n if (this.open) {\n this.Suggestion?.onEscape(e);\n }\n }\n }\n\n handleKeyDownPopover(e: KeyboardEvent) {\n if (this.open) {\n this.handleTabKeyList(e);\n this.handlePrevTabKeyList(e);\n this.handleDownKeyList(e);\n this.handleUpKeyList(e);\n this.handleEscapeKey(e);\n }\n }\n\n handleTabKeyList(e: KeyboardEvent) {\n if (isTabNext(e)) {\n this.Suggestion?.onKeyTabList(e);\n }\n }\n\n handlePrevTabKeyList(e: KeyboardEvent) {\n if (isTabPrevious(e)) {\n this.Suggestion?.onPrevKeyTabList(e);\n }\n }\n\n handleDownKeyList(e: KeyboardEvent) {\n if (isDown(e)) {\n this.Suggestion?.onKeyDown(e);\n }\n }\n\n handleUpKeyList(e: KeyboardEvent) {\n if (isUp(e)) {\n this.Suggestion?.onKeyUp(e);\n }\n }\n\n handleFocus(): void {\n this.active = true;\n this.isFocusedOnTextfield = true;\n this.focusClasses = this._focusActiveClassName;\n this.labelActiveClass = (this.value || !this.labelAnimationDisabled) ? this._labelActiveClassName : \"\";\n this.labelAnimationClass = !this.labelAnimationDisabled ? this._labelAnimationClassName : \"\";\n }\n\n handleFocusout(): void {\n this.active = false;\n this.isFocusedOnTextfield = false;\n this.focusClasses = \"\";\n }\n\n onReset(e: MouseEvent): void {\n e.stopPropagation();\n this.handleReset();\n }\n\n handleReset(): void {\n this.value = \"\";\n this.showResetButton = false;\n this.onClosePopover();\n this.fireDecoratorEvent(\"handle-value-reset\");\n this.Suggestion?.resetFocusState();\n this.getSearchInput()?.focus();\n }\n\n handleKeyDownReset(e: KeyboardEvent) {\n if (isTabPrevious(e) && this.open) {\n this.Suggestion?.handlePrevTabReset(e);\n }\n if (isEnter(e) || isSpace(e)) {\n e.preventDefault();\n e.stopPropagation();\n this.handleReset();\n }\n }\n\n private getSearchInput(): HTMLInputElement {\n return this.shadowRoot?.querySelector(\"[id='search-input']\") as HTMLInputElement;\n }\n\n onVoice(e: MouseEvent): void {\n e.stopPropagation();\n if (this.speechRecognition) {\n this.onSpeechLaunch();\n this.onSpeechStart();\n this.onSpeechResult();\n this.onSpeechEnd();\n }\n }\n\n onSpeechLaunch(): void {\n if (!this.voiceActiveClass) {\n this.speechRecognition.start();\n } else {\n this.speechRecognition.stop();\n }\n }\n\n get effectivePlaceholder() {\n return !this.voiceActiveClass ? this.label : `${UDExSearch.i18nBundle.getText(LISTENING)}...`;\n }\n\n onSpeechStart(): void {\n this.speechRecognition.onstart = () => {\n this.voiceActiveClass = this._voiceActiveClassName;\n this.getSearchInput()?.focus();\n };\n }\n\n onSpeechResult(): void {\n this.speechRecognition.onresult = (e: any) => {\n const last = e.results.length - 1;\n this.value = e.results[last][0].transcript;\n this.speechRecognition.stop();\n };\n }\n\n onSpeechEnd(): void {\n this.speechRecognition.onend = () => {\n this.voiceActiveClass = \"\";\n this.handleSubmitValue();\n this.onShowResetButton();\n };\n }\n\n onShowResetButton(): void {\n if (this.value) {\n this.showResetButton = true;\n }\n }\n\n _handleResize() {\n this.setSearchWidth();\n }\n\n private setSearchWidth() {\n const searchContainer = (this.shadowRoot?.querySelector(\".udex-search__container\") as HTMLElement);\n\n if (searchContainer.offsetWidth !== this._searchWidth) {\n this._searchWidth = searchContainer.offsetWidth;\n }\n }\n\n get popoverStyles() {\n return {\n \"width\": this._searchWidth ? `${this._searchWidth}px` : \"\",\n };\n }\n\n get prefixPopoverStyles() {\n return {\n \"width\": this.getPrefixButton() ? `${this.getPrefixButton().offsetWidth + 1}px` : \"\",\n };\n }\n\n get isShowResetButton(): boolean {\n return this.showResetButton && !!this.value.length && this.mode === Mode.Standard;\n }\n\n get isShowHomeResetButton(): boolean {\n return this.showResetButton && !!this.value.length && this.mode === Mode.HomeSearch;\n }\n\n get noResultMessage(): string {\n return this.noResultText || UDExSearch.i18nBundle.getText(NO_MATCHES_FOUND);\n }\n\n get showNoResultMessage(): boolean {\n return !this.suggestedList?.length && !this.recommendedList?.length;\n }\n\n get isShowSuggestedList(): boolean {\n return !!this.suggestedList?.length;\n }\n\n get isShowRecommendedList(): boolean {\n return !!this.recommendedList?.length;\n }\n\n get hasPopoverContent(): boolean {\n return !!(this.suggestedList?.length || this.recommendedList?.length);\n }\n\n get getAriaHasPopup(): string {\n return this.showSuggestedPopover ? \"dialog\" : \"false\";\n }\n\n get getSuggestionsPopoverId(): string {\n return SuggestionsPopoverId;\n }\n\n get isShowSubmitButton(): boolean {\n return this.showSubmitButton;\n }\n\n get suggestedHeading(): string | undefined {\n return this._suggestionLabel;\n }\n\n get recommendedHeading(): string | undefined {\n return this._recommendLabel;\n }\n\n get isSuggestionPopoverTop(): boolean {\n const suggestionPopover = this.Suggestion?.popover;\n return suggestionPopover! && suggestionPopover.open && this._popoverPlacement === \"Top\";\n }\n\n get isPrefixSuggestionPopoverTop(): boolean {\n const prefixSuggestionPopover = this.getPrefixPopover();\n return prefixSuggestionPopover && prefixSuggestionPopover.open && this._popoverPlacement === \"Top\";\n }\n\n get isShowSearchHomePrefix(): boolean {\n return this.isHomeSearchWithPrefixMode && !!this.dropdownPrefix.length;\n }\n\n get isHomeSearchMode(): boolean {\n return this.mode === Mode.HomeSearch;\n }\n\n get isHomeSearchWithPrefixMode(): boolean {\n return this.mode === Mode.HomeSearch && !!this.dropdownPrefix.length;\n }\n\n get searchClasses(): string {\n return `${this.classWithPrefix} ${this.rootClasses} udex-search-mode-${this.mode.toLowerCase().replace(\" \", \"-\")}`.trim();\n }\n\n get prefixWrapperClasses(): string {\n const prefixPopover = this.getPrefixPopover();\n if (prefixPopover && prefixPopover.open) {\n return this._popoverPlacement === \"Top\" ? \"udex-search__prefix--show-popover-top\" : \"udex-search__prefix--show-popover\";\n }\n return \"\";\n }\n\n get prefixPopoverClasses(): string {\n return this.isPrefixSuggestionPopoverTop ? \"udex-search__prefix-popover-top\" : \"udex-search__prefix-popover\";\n }\n\n get classWithPrefix(): string {\n return this.isHomeSearchWithPrefixMode ? \"udex-search-prefix\" : \"\";\n }\n\n get homeSearchPopoverClass(): string {\n if (this.isHomeSearchMode || this.isHomeSearchWithPrefixMode) {\n return this.isSuggestionPopoverTop ? \"udex-search-suggestions__root-top--home\" : \"udex-search-suggestions__root--home\";\n }\n return \"\";\n }\n\n get homeSearchWithPrefixPopoverClass(): string {\n return this.isHomeSearchWithPrefixMode ? \"udex-search-suggestions__root--prefix\" : \"\";\n }\n\n get searchButtonActiveClass(): string {\n return this.isHomeSearchMode && this.open ? \"udex-search__submit-button--active\" : \"\";\n }\n\n get isNotEmptyClass(): string {\n return this.value.length > 2 || this.focusClasses.length ? \" udex-search__container--has-value\" : \"\";\n }\n\n get isVoiceButton(): boolean {\n return this.showVoiceButton && this.isNotMozillaFirefox && this.isNotMozillaFirefoxIOS && this.mode === Mode.HomeSearch;\n }\n\n get accInfo() {\n return {\n \"ariaLabel\": this.accessibleName || undefined,\n \"accessibleNameResetIcon\": this.accessibleNameResetIcon || UDExSearch.i18nBundle.getText(ACCESSIBLE_NAME_RESET_ICON),\n \"accessibleNameSearchIcon\": this.accessibleNameSearchIcon || UDExSearch.i18nBundle.getText(ACCESSIBLE_NAME_SEARCH_ICON),\n };\n }\n\n get suggestionsDescription(): string {\n return !this.showNoResultMessage ? `${this.suggestedList.length} ${this._suggestionLabel}, ${this.recommendedList.length} ${this._recommendLabel}` : `${this.noResultMessage}`;\n }\n\n get tooltipInfo() {\n return {\n \"tooltipResetButton\": this.tooltipResetButton || UDExSearch.i18nBundle.getText(TOOLTIP_RESET_BUTTON),\n \"tooltipVoiceButton\": this.tooltipVoiceButton || UDExSearch.i18nBundle.getText(TOOLTIP_VOICE_BUTTON),\n \"tooltipSubmitButton\": this.tooltipSubmitButton || UDExSearch.i18nBundle.getText(TOOLTIP_SUBMIT_BUTTON),\n };\n }\n\n get suggestionsAccessibleName(): string {\n return UDExSearch.i18nBundle.getText(AVAILABLE_VALUES);\n }\n\n get showNonInteractiveButton(): boolean {\n return this.showSubmitButton && this.nonInteractiveSubmitButton;\n }\n\n get showSubmitStandardButton(): boolean {\n return this.showSubmitButton && !this.nonInteractiveSubmitButton && this.mode === Mode.Standard;\n }\n\n get showSubmitHomeButton(): boolean {\n return this.showSubmitButton && !this.nonInteractiveSubmitButton && this.mode === Mode.HomeSearch;\n }\n}\n\nUDExSearch.define();\n\nexport default UDExSearch;\n"]}
@@ -1,11 +1,13 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
- import type Search from "./Search.js";
3
+ import type Popover from "@ui5/webcomponents/dist/Popover.js";
4
+ import type UDExSearch from "./Search.js";
4
5
  import type UDExListItemBase from "./ListItemBase.js";
5
6
  import type UDExListGroupHeaderBase from "./ListGroupHeaderBase.js";
6
7
  import { UDExListMode } from "./types/List.js";
7
8
  import type UDExFilterMenuItem from "./FilterMenuItem.js";
8
9
  import type { UDExProcessedItem } from "./types/SearchableListBase.js";
10
+ import { UDExPopoverPart } from "./types/SearchableListBase.js";
9
11
  export type UDExItemFromList = UDExListItemBase | UDExListGroupHeaderBase | null | undefined;
10
12
  type UDExSearchableListBaseChangeSearchEventDetail = {
11
13
  value: string;
@@ -42,6 +44,18 @@ export type UDExSearchableListBaseEvents = {
42
44
  */
43
45
  declare class UDExSearchableListBase extends UI5Element {
44
46
  eventDetails: UDExSearchableListBaseEvents;
47
+ /**
48
+ * Allows control over the height.
49
+ * @public
50
+ */
51
+ height?: string;
52
+ /**
53
+ * Defines if page scrolling should be prevented within the list of items.
54
+ *
55
+ * @default false
56
+ * @public
57
+ */
58
+ preventPageScroll: boolean;
45
59
  /**
46
60
  * Defines if the component would display a loading indicator.
47
61
  *
@@ -115,6 +129,7 @@ declare class UDExSearchableListBase extends UI5Element {
115
129
  _filteredItems: Array<UDExProcessedItem>;
116
130
  static i18nBundle: I18nBundle;
117
131
  _shouldFilterItems?: boolean;
132
+ _accSearchResultInfo?: string;
118
133
  constructor();
119
134
  onBeforeRendering(): void;
120
135
  onItemPress(e: CustomEvent): void;
@@ -146,13 +161,20 @@ declare class UDExSearchableListBase extends UI5Element {
146
161
  fireSelectionChange(itemId: string): void;
147
162
  handlePreviousItemFocus(e: KeyboardEvent): void;
148
163
  handleNextListItemFocus(e: KeyboardEvent): void;
164
+ getFlattenItemsArray(array: Array<UDExProcessedItem>): (UDExProcessedItem | UDExListItemBase)[];
149
165
  getCurrentIndex(item: Element): number;
150
- getSearch(): Search;
166
+ getSearch(): UDExSearch;
167
+ getPopover(): Popover;
151
168
  getDomListItems(): Element[];
152
169
  setItemsModeAndControl(items: Array<UDExFilterMenuItem>): void;
153
170
  getDataTokenId(e: CustomEvent): string;
154
171
  getProcessedItems(): Array<UDExProcessedItem>;
172
+ getPopoverPart(part: UDExPopoverPart): HTMLElement;
173
+ _managePopupListeners(part: UDExPopoverPart, action: "addEventListener" | "removeEventListener"): void;
174
+ _setContentHeight(): void;
155
175
  get getNoResultText(): string;
176
+ get noMatchesFoundText(): string;
177
+ get resultReturnedText(): string;
156
178
  get isListEmpty(): boolean;
157
179
  get selectedItems(): Array<UDExListItemBase>;
158
180
  get modeMultiSelect(): boolean;
@@ -10,11 +10,11 @@ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
11
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
12
12
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
13
- import { isDown, isUp, } from "@ui5/webcomponents-base/dist/Keys.js";
13
+ import { isDown, isUp } from "@ui5/webcomponents-base/dist/Keys.js";
14
14
  import { cleanLabel } from "./utils/listItemLabelUtils.js";
15
15
  import { UDExListMode } from "./types/List.js";
16
- import { SHOW_SEARCH_AFTER_COUNT } from "./types/SearchableListBase.js";
17
- import { NO_MATCHES_FOUND } from "./generated/i18n/i18n-defaults.js";
16
+ import { SHOW_SEARCH_AFTER_COUNT, UDExPopoverPart } from "./types/SearchableListBase.js";
17
+ import { NO_MATCHES_FOUND, RESULT_RETURNED } from "./generated/i18n/i18n-defaults.js";
18
18
  /**
19
19
  * @class
20
20
  *
@@ -34,6 +34,13 @@ import { NO_MATCHES_FOUND } from "./generated/i18n/i18n-defaults.js";
34
34
  let UDExSearchableListBase = UDExSearchableListBase_1 = class UDExSearchableListBase extends UI5Element {
35
35
  constructor() {
36
36
  super();
37
+ /**
38
+ * Defines if page scrolling should be prevented within the list of items.
39
+ *
40
+ * @default false
41
+ * @public
42
+ */
43
+ this.preventPageScroll = false;
37
44
  /**
38
45
  * Defines the delay in milliseconds, after which the busy indicator will show up for this component.
39
46
  *
@@ -134,6 +141,8 @@ let UDExSearchableListBase = UDExSearchableListBase_1 = class UDExSearchableList
134
141
  const searchValue = e.detail.value;
135
142
  this._shouldFilterItems = true;
136
143
  this._filteredItems = this.filterItems(this.getProcessedItems(), searchValue);
144
+ const items = this.getFlattenItemsArray(this._filteredItems);
145
+ this._accSearchResultInfo = items.length ? `${items.length} ${this.resultReturnedText}` : this.noMatchesFoundText;
137
146
  this.fireDecoratorEvent("change-search", { value: searchValue });
138
147
  }
139
148
  onReset() {
@@ -171,6 +180,10 @@ let UDExSearchableListBase = UDExSearchableListBase_1 = class UDExSearchableList
171
180
  return groupItems.filter(groupItem => this.checkAndUpdateLabel(groupItem, str));
172
181
  }
173
182
  checkAndUpdateLabel(item, str) {
183
+ if (!item.label) {
184
+ console.warn("A label property is required for the item");
185
+ return false;
186
+ }
174
187
  const cleanedLabel = cleanLabel(item.label);
175
188
  if (this.isIncludes(cleanedLabel, str)) {
176
189
  item.label = this.addSearchTermTag(cleanedLabel, str);
@@ -269,12 +282,26 @@ let UDExSearchableListBase = UDExSearchableListBase_1 = class UDExSearchableList
269
282
  listItems[nextSelectIndex].focus();
270
283
  }
271
284
  }
285
+ getFlattenItemsArray(array) {
286
+ return array.flatMap(item => {
287
+ if (item.isGroup) {
288
+ return [
289
+ item,
290
+ ...item.groupItems.filter(groupItem => !groupItem.disabled),
291
+ ];
292
+ }
293
+ return item.item.disabled ? [] : [item.item];
294
+ });
295
+ }
272
296
  getCurrentIndex(item) {
273
297
  return this.getDomListItems().indexOf(item);
274
298
  }
275
299
  getSearch() {
276
300
  return this.shadowRoot.querySelector("[udex-search]");
277
301
  }
302
+ getPopover() {
303
+ return this.shadowRoot.querySelector("[ui5-popover]");
304
+ }
278
305
  getDomListItems() {
279
306
  const elementList = this.shadowRoot.querySelector("[udex-list]");
280
307
  return elementList ? Array.from(elementList.querySelectorAll("[udex-list-item]")) : [];
@@ -303,9 +330,26 @@ let UDExSearchableListBase = UDExSearchableListBase_1 = class UDExSearchableList
303
330
  };
304
331
  });
305
332
  }
333
+ getPopoverPart(part) {
334
+ return this.getPopover().shadowRoot.querySelector(`[part=${part}]`);
335
+ }
336
+ _managePopupListeners(part, action) {
337
+ const element = this.getPopoverPart(part);
338
+ element?.[action]("wheel", ((e) => e.preventDefault()));
339
+ }
340
+ _setContentHeight() {
341
+ const content = this.getPopoverPart(UDExPopoverPart.Content);
342
+ content.style.maxHeight = this.height || "";
343
+ }
306
344
  get getNoResultText() {
307
345
  const hasTextProperty = this.noResultText !== undefined && this.noResultText.length > 0;
308
- return hasTextProperty ? this.noResultText : UDExSearchableListBase_1.i18nBundle.getText(NO_MATCHES_FOUND);
346
+ return hasTextProperty ? this.noResultText : this.noMatchesFoundText;
347
+ }
348
+ get noMatchesFoundText() {
349
+ return UDExSearchableListBase_1.i18nBundle.getText(NO_MATCHES_FOUND);
350
+ }
351
+ get resultReturnedText() {
352
+ return UDExSearchableListBase_1.i18nBundle.getText(RESULT_RETURNED);
309
353
  }
310
354
  get isListEmpty() {
311
355
  return this._filteredItems.length === 0;
@@ -358,6 +402,12 @@ let UDExSearchableListBase = UDExSearchableListBase_1 = class UDExSearchableList
358
402
  return "none";
359
403
  }
360
404
  };
405
+ __decorate([
406
+ property({ type: String })
407
+ ], UDExSearchableListBase.prototype, "height", void 0);
408
+ __decorate([
409
+ property({ type: Boolean })
410
+ ], UDExSearchableListBase.prototype, "preventPageScroll", void 0);
361
411
  __decorate([
362
412
  property({ type: Boolean })
363
413
  ], UDExSearchableListBase.prototype, "busy", void 0);