@ui5/webcomponents-fiori 2.27.2 → 2.28.1

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 (360) hide show
  1. package/CHANGELOG.md +37 -2
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/BarcodeScannerDialog.d.ts +1 -1
  4. package/dist/BarcodeScannerDialog.js +1 -1
  5. package/dist/BarcodeScannerDialog.js.map +1 -1
  6. package/dist/DynamicPage.d.ts +2 -0
  7. package/dist/DynamicPage.js +2 -0
  8. package/dist/DynamicPage.js.map +1 -1
  9. package/dist/FilterItem.d.ts +1 -1
  10. package/dist/FilterItem.js +1 -1
  11. package/dist/FilterItem.js.map +1 -1
  12. package/dist/FilterItemOption.d.ts +1 -1
  13. package/dist/FilterItemOption.js +1 -1
  14. package/dist/FilterItemOption.js.map +1 -1
  15. package/dist/FlexibleColumnLayout.d.ts +1 -1
  16. package/dist/FlexibleColumnLayout.js +1 -1
  17. package/dist/FlexibleColumnLayout.js.map +1 -1
  18. package/dist/IllustratedMessage.d.ts +38 -7
  19. package/dist/IllustratedMessage.js +51 -9
  20. package/dist/IllustratedMessage.js.map +1 -1
  21. package/dist/MediaGallery.d.ts +1 -0
  22. package/dist/MediaGallery.js +1 -0
  23. package/dist/MediaGallery.js.map +1 -1
  24. package/dist/NotificationList.d.ts +2 -0
  25. package/dist/NotificationList.js +2 -0
  26. package/dist/NotificationList.js.map +1 -1
  27. package/dist/NotificationListGroupItem.d.ts +1 -1
  28. package/dist/NotificationListGroupItem.js +1 -1
  29. package/dist/NotificationListGroupItem.js.map +1 -1
  30. package/dist/NotificationListItem.d.ts +2 -2
  31. package/dist/NotificationListItem.js +2 -2
  32. package/dist/NotificationListItem.js.map +1 -1
  33. package/dist/NotificationListItemBase.d.ts +2 -2
  34. package/dist/NotificationListItemBase.js +2 -2
  35. package/dist/NotificationListItemBase.js.map +1 -1
  36. package/dist/Page.d.ts +1 -1
  37. package/dist/Page.js +1 -1
  38. package/dist/Page.js.map +1 -1
  39. package/dist/ProductSwitch.d.ts +2 -1
  40. package/dist/ProductSwitch.js +2 -1
  41. package/dist/ProductSwitch.js.map +1 -1
  42. package/dist/ProductSwitchItem.d.ts +3 -3
  43. package/dist/ProductSwitchItem.js +1 -1
  44. package/dist/ProductSwitchItem.js.map +1 -1
  45. package/dist/Search.d.ts +5 -1
  46. package/dist/Search.js +6 -9
  47. package/dist/Search.js.map +1 -1
  48. package/dist/ShellBar.d.ts +13 -9
  49. package/dist/ShellBar.js +14 -12
  50. package/dist/ShellBar.js.map +1 -1
  51. package/dist/ShellBarItem.d.ts +1 -1
  52. package/dist/ShellBarItem.js.map +1 -1
  53. package/dist/SideNavigation.d.ts +36 -2
  54. package/dist/SideNavigation.js +36 -2
  55. package/dist/SideNavigation.js.map +1 -1
  56. package/dist/SideNavigationGroupTemplate.js +1 -1
  57. package/dist/SideNavigationGroupTemplate.js.map +1 -1
  58. package/dist/SideNavigationItem.d.ts +1 -1
  59. package/dist/SideNavigationItem.js +2 -2
  60. package/dist/SideNavigationItem.js.map +1 -1
  61. package/dist/SideNavigationItemBase.d.ts +13 -0
  62. package/dist/SideNavigationItemBase.js +12 -0
  63. package/dist/SideNavigationItemBase.js.map +1 -1
  64. package/dist/SideNavigationItemTemplate.js +1 -1
  65. package/dist/SideNavigationItemTemplate.js.map +1 -1
  66. package/dist/SideNavigationSearchField.d.ts +97 -0
  67. package/dist/SideNavigationSearchField.js +178 -0
  68. package/dist/SideNavigationSearchField.js.map +1 -0
  69. package/dist/SideNavigationSearchFieldTemplate.d.ts +2 -0
  70. package/dist/SideNavigationSearchFieldTemplate.js +8 -0
  71. package/dist/SideNavigationSearchFieldTemplate.js.map +1 -0
  72. package/dist/SideNavigationSubItem.d.ts +1 -1
  73. package/dist/SideNavigationSubItem.js +1 -1
  74. package/dist/SideNavigationSubItem.js.map +1 -1
  75. package/dist/SideNavigationSubItemTemplate.js +1 -1
  76. package/dist/SideNavigationSubItemTemplate.js.map +1 -1
  77. package/dist/SideNavigationTemplate.js +6 -2
  78. package/dist/SideNavigationTemplate.js.map +1 -1
  79. package/dist/SortItem.d.ts +1 -1
  80. package/dist/SortItem.js +1 -1
  81. package/dist/SortItem.js.map +1 -1
  82. package/dist/Timeline.d.ts +4 -2
  83. package/dist/Timeline.js +4 -2
  84. package/dist/Timeline.js.map +1 -1
  85. package/dist/UploadCollection.d.ts +3 -2
  86. package/dist/UploadCollection.js +2 -1
  87. package/dist/UploadCollection.js.map +1 -1
  88. package/dist/UploadCollectionItem.d.ts +1 -1
  89. package/dist/UploadCollectionItem.js +2 -2
  90. package/dist/UploadCollectionItem.js.map +1 -1
  91. package/dist/UserMenu.d.ts +4 -0
  92. package/dist/UserMenu.js +7 -1
  93. package/dist/UserMenu.js.map +1 -1
  94. package/dist/UserMenuTemplate.js +4 -4
  95. package/dist/UserMenuTemplate.js.map +1 -1
  96. package/dist/UserSettingsAppearanceView.d.ts +2 -2
  97. package/dist/UserSettingsAppearanceView.js +7 -7
  98. package/dist/UserSettingsAppearanceView.js.map +1 -1
  99. package/dist/UserSettingsAppearanceViewTemplate.js +1 -1
  100. package/dist/UserSettingsAppearanceViewTemplate.js.map +1 -1
  101. package/dist/UserSettingsDialog.d.ts +28 -2
  102. package/dist/UserSettingsDialog.js +47 -17
  103. package/dist/UserSettingsDialog.js.map +1 -1
  104. package/dist/UserSettingsDialogTemplate.js +1 -1
  105. package/dist/UserSettingsDialogTemplate.js.map +1 -1
  106. package/dist/UserSettingsItemTemplate.js +1 -1
  107. package/dist/UserSettingsItemTemplate.js.map +1 -1
  108. package/dist/ViewSettingsDialog.d.ts +8 -3
  109. package/dist/ViewSettingsDialog.js +8 -3
  110. package/dist/ViewSettingsDialog.js.map +1 -1
  111. package/dist/Wizard.d.ts +3 -2
  112. package/dist/Wizard.js +3 -2
  113. package/dist/Wizard.js.map +1 -1
  114. package/dist/WizardStep.d.ts +3 -3
  115. package/dist/WizardStep.js +1 -1
  116. package/dist/WizardStep.js.map +1 -1
  117. package/dist/WizardTab.d.ts +2 -2
  118. package/dist/WizardTab.js.map +1 -1
  119. package/dist/bundle.esm.js +1 -0
  120. package/dist/bundle.esm.js.map +1 -1
  121. package/dist/css/themes/ShellBarLegacy.css +1 -1
  122. package/dist/css/themes/SideNavigation.css +1 -1
  123. package/dist/css/themes/SideNavigationGroup.css +1 -1
  124. package/dist/css/themes/SideNavigationItem.css +1 -1
  125. package/dist/css/themes/SideNavigationItemBase.css +1 -1
  126. package/dist/css/themes/SideNavigationSearchField.css +1 -0
  127. package/dist/css/themes/SideNavigationSubItem.css +1 -1
  128. package/dist/css/themes/UserMenu.css +1 -1
  129. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -2
  130. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -2
  131. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -2
  132. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -2
  133. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -2
  134. package/dist/css/themes/sap_horizon_auto/parameters-bundle.css +139 -88
  135. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -276
  136. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -203
  137. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -209
  138. package/dist/css/themes/sap_horizon_hc_auto/parameters-bundle.css +131 -95
  139. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -277
  140. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -209
  141. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -277
  142. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -211
  143. package/dist/custom-elements-internal.json +1273 -92
  144. package/dist/custom-elements.json +1114 -16
  145. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  146. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  147. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  148. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  149. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  150. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  151. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  152. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  153. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  154. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  155. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  156. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  157. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  158. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  159. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  160. package/dist/generated/assets/i18n/messagebundle_es_MX.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_fr_CA.json +1 -1
  165. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  166. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  167. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  168. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  169. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  170. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  171. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  172. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  173. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  174. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  175. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  176. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  177. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  178. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  179. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  180. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  181. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  182. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  183. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  184. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  185. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  186. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  187. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  188. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  189. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  190. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  191. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  192. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  194. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  195. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  196. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  197. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  198. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  199. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  200. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  201. package/dist/generated/assets/themes/sap_horizon_auto/parameters-bundle.css.json +1 -1
  202. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  203. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  204. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  205. package/dist/generated/assets/themes/sap_horizon_hc_auto/parameters-bundle.css.json +1 -1
  206. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  207. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  208. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  209. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  210. package/dist/generated/i18n/i18n-defaults.d.ts +7 -1
  211. package/dist/generated/i18n/i18n-defaults.js +9 -3
  212. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  213. package/dist/generated/themes/ShellBarLegacy.css.d.ts +1 -1
  214. package/dist/generated/themes/ShellBarLegacy.css.js +1 -1
  215. package/dist/generated/themes/ShellBarLegacy.css.js.map +1 -1
  216. package/dist/generated/themes/SideNavigation.css.d.ts +1 -1
  217. package/dist/generated/themes/SideNavigation.css.js +1 -1
  218. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  219. package/dist/generated/themes/SideNavigationGroup.css.d.ts +1 -1
  220. package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
  221. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  222. package/dist/generated/themes/SideNavigationItem.css.d.ts +1 -1
  223. package/dist/generated/themes/SideNavigationItem.css.js +1 -1
  224. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  225. package/dist/generated/themes/SideNavigationItemBase.css.d.ts +1 -1
  226. package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
  227. package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
  228. package/dist/generated/themes/SideNavigationSearchField.css.d.ts +2 -0
  229. package/dist/generated/themes/SideNavigationSearchField.css.js +8 -0
  230. package/dist/generated/themes/SideNavigationSearchField.css.js.map +1 -0
  231. package/dist/generated/themes/SideNavigationSubItem.css.d.ts +1 -1
  232. package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
  233. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  234. package/dist/generated/themes/UserMenu.css.d.ts +1 -1
  235. package/dist/generated/themes/UserMenu.css.js +1 -1
  236. package/dist/generated/themes/UserMenu.css.js.map +1 -1
  237. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  238. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -2
  239. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  240. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  241. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -2
  242. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  243. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  244. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -2
  245. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  246. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  247. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -2
  248. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  249. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  250. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -2
  251. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  252. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.d.ts +1 -1
  253. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js +139 -88
  254. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js.map +1 -1
  255. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  256. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -276
  257. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  258. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.d.ts +1 -1
  259. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -203
  260. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  261. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.d.ts +1 -1
  262. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -209
  263. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  264. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.d.ts +1 -1
  265. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js +131 -95
  266. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js.map +1 -1
  267. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  268. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -277
  269. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  270. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.d.ts +1 -1
  271. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -209
  272. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  273. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  274. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -277
  275. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  276. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.d.ts +1 -1
  277. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -211
  278. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  279. package/dist/shellbar/ShellBarAccessibility.d.ts +1 -0
  280. package/dist/shellbar/ShellBarAccessibility.js +4 -0
  281. package/dist/shellbar/ShellBarAccessibility.js.map +1 -1
  282. package/dist/shellbar/ShellBarSearch.d.ts +3 -1
  283. package/dist/shellbar/ShellBarSearch.js +6 -1
  284. package/dist/shellbar/ShellBarSearch.js.map +1 -1
  285. package/dist/shellbar/templates/ShellBarSearchLegacyTemplate.js +5 -1
  286. package/dist/shellbar/templates/ShellBarSearchLegacyTemplate.js.map +1 -1
  287. package/dist/types/ViewSettingsDialogMode.d.ts +2 -2
  288. package/dist/types/ViewSettingsDialogMode.js +2 -2
  289. package/dist/types/ViewSettingsDialogMode.js.map +1 -1
  290. package/dist/vscode.html-custom-data.json +43 -1
  291. package/dist/web-types.json +107 -2
  292. package/package.json +7 -7
  293. package/src/SideNavigationGroupTemplate.tsx +1 -1
  294. package/src/SideNavigationItemTemplate.tsx +1 -1
  295. package/src/SideNavigationSearchFieldTemplate.tsx +31 -0
  296. package/src/SideNavigationSubItemTemplate.tsx +1 -1
  297. package/src/SideNavigationTemplate.tsx +18 -0
  298. package/src/UserMenuTemplate.tsx +4 -3
  299. package/src/UserSettingsAppearanceViewTemplate.tsx +1 -1
  300. package/src/UserSettingsDialogTemplate.tsx +1 -1
  301. package/src/UserSettingsItemTemplate.tsx +2 -2
  302. package/src/i18n/messagebundle.properties +22 -4
  303. package/src/i18n/messagebundle_ar.properties +2 -0
  304. package/src/i18n/messagebundle_bg.properties +2 -0
  305. package/src/i18n/messagebundle_ca.properties +4 -2
  306. package/src/i18n/messagebundle_cnr.properties +2 -0
  307. package/src/i18n/messagebundle_cs.properties +2 -0
  308. package/src/i18n/messagebundle_cy.properties +2 -0
  309. package/src/i18n/messagebundle_da.properties +3 -1
  310. package/src/i18n/messagebundle_de.properties +2 -0
  311. package/src/i18n/messagebundle_el.properties +4 -2
  312. package/src/i18n/messagebundle_en.properties +4 -2
  313. package/src/i18n/messagebundle_en_GB.properties +4 -2
  314. package/src/i18n/messagebundle_en_US_sappsd.properties +4 -2
  315. package/src/i18n/messagebundle_en_US_saprigi.properties +14 -2
  316. package/src/i18n/messagebundle_en_US_saptrc.properties +4 -2
  317. package/src/i18n/messagebundle_es.properties +4 -2
  318. package/src/i18n/messagebundle_es_MX.properties +4 -2
  319. package/src/i18n/messagebundle_et.properties +4 -2
  320. package/src/i18n/messagebundle_fi.properties +2 -0
  321. package/src/i18n/messagebundle_fr.properties +2 -0
  322. package/src/i18n/messagebundle_fr_CA.properties +2 -0
  323. package/src/i18n/messagebundle_hi.properties +3 -1
  324. package/src/i18n/messagebundle_hr.properties +4 -2
  325. package/src/i18n/messagebundle_hu.properties +3 -1
  326. package/src/i18n/messagebundle_id.properties +2 -0
  327. package/src/i18n/messagebundle_it.properties +2 -0
  328. package/src/i18n/messagebundle_iw.properties +2 -0
  329. package/src/i18n/messagebundle_ja.properties +2 -0
  330. package/src/i18n/messagebundle_kk.properties +4 -2
  331. package/src/i18n/messagebundle_ko.properties +2 -0
  332. package/src/i18n/messagebundle_lt.properties +2 -0
  333. package/src/i18n/messagebundle_lv.properties +4 -2
  334. package/src/i18n/messagebundle_mk.properties +3 -1
  335. package/src/i18n/messagebundle_ms.properties +2 -0
  336. package/src/i18n/messagebundle_nl.properties +2 -0
  337. package/src/i18n/messagebundle_no.properties +2 -0
  338. package/src/i18n/messagebundle_pl.properties +2 -0
  339. package/src/i18n/messagebundle_pt.properties +4 -2
  340. package/src/i18n/messagebundle_pt_PT.properties +4 -2
  341. package/src/i18n/messagebundle_ro.properties +3 -1
  342. package/src/i18n/messagebundle_ru.properties +4 -2
  343. package/src/i18n/messagebundle_sh.properties +2 -0
  344. package/src/i18n/messagebundle_sk.properties +2 -0
  345. package/src/i18n/messagebundle_sl.properties +2 -0
  346. package/src/i18n/messagebundle_sr.properties +2 -0
  347. package/src/i18n/messagebundle_sv.properties +2 -0
  348. package/src/i18n/messagebundle_th.properties +2 -0
  349. package/src/i18n/messagebundle_tr.properties +2 -0
  350. package/src/i18n/messagebundle_uk.properties +4 -2
  351. package/src/i18n/messagebundle_vi.properties +3 -1
  352. package/src/i18n/messagebundle_zh_CN.properties +2 -0
  353. package/src/i18n/messagebundle_zh_TW.properties +2 -0
  354. package/src/shellbar/templates/ShellBarSearchLegacyTemplate.tsx +6 -2
  355. package/src/themes/ShellBarLegacy.css +2 -2
  356. package/src/themes/SideNavigation.css +4 -1
  357. package/src/themes/SideNavigationItem.css +11 -0
  358. package/src/themes/SideNavigationItemBase.css +8 -2
  359. package/src/themes/SideNavigationSearchField.css +12 -0
  360. package/src/themes/UserMenu.css +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sourceRoot":"","sources":["../src/Search.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport type List from \"@ui5/webcomponents/dist/List.js\";\nimport {\n\tisUp,\n\tisDown,\n\tisEnter,\n\tisBackSpace,\n\tisDelete,\n\tisEscape,\n\tisTabNext,\n\tisPageUp,\n\tisPageDown,\n\tisHome,\n\tisEnd,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\n\nimport SearchTemplate from \"./SearchTemplate.js\";\nimport SearchCss from \"./generated/themes/Search.css.js\";\nimport SearchField from \"./SearchField.js\";\nimport { StartsWith } from \"@ui5/webcomponents/dist/Filters.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type SearchItem from \"./SearchItem.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type IllustratedMessage from \"./IllustratedMessage.js\";\nimport type SearchItemGroup from \"./SearchItemGroup.js\";\nimport type SearchMessageArea from \"./SearchMessageArea.js\";\nimport { SEARCH_CANCEL_BUTTON, SEARCH_SUGGESTIONS } from \"./generated/i18n/i18n-defaults.js\";\nimport { i18n } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport type { InputEventDetail } from \"@ui5/webcomponents/dist/Input.js\";\nimport type Input from \"@ui5/webcomponents/dist/Input.js\";\nimport type { PopupBeforeCloseEventDetail } from \"@ui5/webcomponents/dist/Popup.js\";\nimport type Select from \"@ui5/webcomponents/dist/Select.js\";\nimport type { Slot, DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ListItemBaseClickEventDetail } from \"@ui5/webcomponents/dist/ListItemBase.js\";\n\ninterface ISearchSuggestionItem extends UI5Element {\n\tselected: boolean;\n\ttext: string;\n\titems?: ISearchSuggestionItem[];\n\teventDetails: { click?: ListItemBaseClickEventDetail };\n}\n\ntype SearchEventDetails = {\n\titem?: ISearchSuggestionItem;\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * A `ui5-search` is an input with suggestions, used for user search.\n *\n * The `ui5-search` consists of several elements parts:\n * - Scope - displays a select in the beggining of the component, used for filtering results by their scope.\n * - Input field - for user input value\n * - Clear button - gives the possibility for deleting the entered value\n * - Search button - a primary button for performing search, when the user has entered a search term\n * - Suggestions - a list with available search suggestions\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/Search.js\";`\n *\n * @constructor\n * @extends SearchField\n * @public\n * @since 2.9.0\n * @experimental\n * @csspart popover - Used to style the suggestions popup\n * @since 2.24.0\n */\n@customElement({\n\ttag: \"ui5-search\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: SearchTemplate,\n\tstyles: [\n\t\tSearchField.styles,\n\t\tSearchCss,\n\t],\n})\n\n/**\n * Fired when the popup is opened.\n *\n * @public\n */\n@event(\"open\")\n\n/**\n * Fired when the popup is closed.\n *\n * @public\n */\n@event(\"close\")\n\nclass Search extends SearchField {\n\teventDetails!: SearchField[\"eventDetails\"] & {\n\t\tsearch: SearchEventDetails,\n\t\t\"popup-action-press\": void,\n\t\t\"open\": void,\n\t\t\"close\": void,\n\t};\n\n\t/**\n\t * Indicates whether a loading indicator should be shown in the popup.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\t/**\n\t * Defines whether the value will be autcompleted to match an item.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tnoTypeahead = false;\n\n\t/**\n\t * Defines the Search suggestion items.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: true,\n\t})\n\titems!: DefaultSlot<SearchItem | SearchItemGroup>;\n\n\t/**\n\t * Defines the popup footer action button.\n\t *\n\t * @public\n\t */\n\t@slot()\n\taction!: Slot<Button>;\n\n\t/**\n\t * Defines the illustrated message to be shown in the popup.\n\t *\n\t * @public\n\t */\n\t@slot()\n\tillustration!: Slot<IllustratedMessage>;\n\n\t/**\n\t * Defines the illustrated message to be shown in the popup.\n\t *\n\t * @public\n\t */\n\t@slot()\n\tmessageArea!: Slot<SearchMessageArea>;\n\n\t/**\n\t * Indicates whether the items picker is open.\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Defines the inner stored value of the component.\n\t *\n\t * **Note:** The property is updated upon typing.\n\t * @default \"\"\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_innerValue?: string;\n\n\t/**\n\t * Determines whether the item selection should be performed on mobile devices.\n\t * Similar to _performTextSelection on desktop\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_performItemSelectionOnMobile?: boolean;\n\n\t/**\n\t * Based on the key pressed, determines if the autocomplete should be performed.\n\t * @private\n\t */\n\t_shouldAutocomplete?: boolean;\n\n\t/**\n\t * Determines whether a text selection should be performed.\n\t * @private\n\t */\n\t_performTextSelection?: boolean;\n\n\t/**\n\t * Holds the typed value from the user.\n\t * @private\n\t */\n\t_typedInValue: string;\n\n\t/**\n\t * Holds the typed value before opening the picker.\n\t * @private\n\t */\n\t_valueBeforeOpen: string;\n\n\t/**\n\t * Holds the original typed value before arrow key navigation in dropdown.\n\t * Used to restore the value when navigating back to the input field.\n\t * @private\n\t */\n\t_valueBeforeArrowNav?: string;\n\n\t/**\n\t * Holds the currently proposed item which will be selected if the user presses Enter.\n\t * @private\n\t */\n\t_proposedItem?: ISearchSuggestionItem;\n\n\t/**\n\t * This property is used during rendering to indicate that the user has started typing in the input\n\t * @private\n\t */\n\t_isTyping: boolean;\n\n\t/**\n\t * Bound reference to the delete handler for proper event listener removal.\n\t * @private\n\t */\n\t_deleteHandler: (e: CustomEvent) => void;\n\n\t/**\n\t * Tracks whether the most recent change to the `open` property originated\n\t * from the component's internal control logic (through `_setInternalOpen`)\n\t * rather than from the application. Consumed and reset on each reconciliation.\n\t * @private\n\t */\n\t_openChangedInternally: boolean;\n\n\t/**\n\t * Holds the `open` value committed during the previous reconciliation.\n\t * Used together with `_openChangedInternally` to tell an application-driven\n\t * change to `open` apart from a re-render where `open` was not touched.\n\t * @private\n\t */\n\t_lastOpenState: boolean;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// The typed in value.\n\t\tthis._typedInValue = \"\";\n\t\tthis._valueBeforeOpen = this.getAttribute(\"value\") || \"\";\n\t\tthis._isTyping = false;\n\n\t\tthis._openChangedInternally = false;\n\t\tthis._lastOpenState = this.open;\n\n\t\tthis._deleteHandler = this._onItemDelete.bind(this);\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tif (this.collapsed && !isPhone()) {\n\t\t\tthis.open = false;\n\t\t\tthis._lastOpenState = false;\n\t\t\tthis._openChangedInternally = false;\n\t\t\treturn;\n\t\t}\n\n\t\tconst innerInput = this.nativeInput;\n\t\tconst autoCompletedChars = innerInput && (innerInput.selectionEnd! - innerInput.selectionStart!);\n\n\t\t// The public `open` property is application-controlled and takes higher\n\t\t// precedence. Internal writes go through `_setInternalOpen`, which raises\n\t\t// `_openChangedInternally`. A change is treated as application-driven only\n\t\t// when that flag is not set AND `open` differs from the last committed\n\t\t// state; that distinguishes an app write from a plain re-render (e.g. when\n\t\t// lazy-loaded items arrive) where the internal auto-open logic must still run.\n\t\tconst appControlledOpen = !this._openChangedInternally && this.open !== this._lastOpenState;\n\n\t\tif (!appControlledOpen) {\n\t\t\tthis.open = this.open || (this._popoupHasAnyContent() && this._isTyping && innerInput!.value.length > 0);\n\t\t} else if (!this.open) {\n\t\t\t// The application force-closed the picker; reset the typing state so the\n\t\t\t// internal auto-open logic does not immediately reopen it on next render.\n\t\t\tthis._isTyping = false;\n\t\t}\n\n\t\t// If there is already a selection the autocomplete has already been performed\n\t\tif (this._shouldAutocomplete && !autoCompletedChars) {\n\t\t\tconst item = this._getFirstMatchingItem(this.value);\n\t\t\tthis._proposedItem = item;\n\n\t\t\tif (item) {\n\t\t\t\tthis._handleTypeAhead(item);\n\t\t\t\tthis._selectMatchingItem(item);\n\t\t\t} else {\n\t\t\t\tthis._deselectItems();\n\t\t\t}\n\t\t}\n\n\t\tif (isPhone() && this.open) {\n\t\t\tconst item = this._getFirstMatchingItem(this.value);\n\t\t\tthis._proposedItem = item;\n\n\t\t\tif (item && this._performItemSelectionOnMobile) {\n\t\t\t\tthis._selectMatchingItem(item);\n\t\t\t}\n\t\t}\n\n\t\t// Update highlight text and attach delete listeners\n\t\tthis._flattenItems.forEach(item => {\n\t\t\t(item as SearchItem).highlightText = this._typedInValue;\n\n\t\t\t// Listen for delete events on each item\n\t\t\t// Using capture phase to ensure we catch it before application handlers\n\t\t\titem.removeEventListener(\"ui5-delete\", this._deleteHandler as EventListener, true);\n\t\t\titem.addEventListener(\"ui5-delete\", this._deleteHandler as EventListener, true);\n\t\t});\n\n\t\t// Commit the resolved open state and clear the internal-change flag so the\n\t\t// next reconciliation can tell an application-driven change to `open` apart\n\t\t// from a re-render where `open` was not touched.\n\t\tthis._lastOpenState = this.open;\n\t\tthis._openChangedInternally = false;\n\t}\n\n\tonAfterRendering(): void {\n\t\tconst innerInput = this.nativeInput;\n\n\t\tif (this._performTextSelection && innerInput && innerInput.value !== this._innerValue) {\n\t\t\tinnerInput.value = this._innerValue || \"\";\n\t\t}\n\n\t\tif (this._performTextSelection && this._typedInValue.length && this.value.length) {\n\t\t\tinnerInput?.setSelectionRange(this._typedInValue.length, this.value.length);\n\t\t}\n\n\t\tthis._performTextSelection = false;\n\n\t\tif (!this.collapsed) {\n\t\t\tthis.style.setProperty(\"--search_width\", `${this.getBoundingClientRect().width}px`);\n\t\t}\n\t}\n\n\t_handleMobileInput(e: CustomEvent<InputEventDetail>) {\n\t\tthis.value = (e.target as Input).value;\n\t\tthis._performItemSelectionOnMobile = this._shouldPerformSelectionOnMobile(e.detail.inputType);\n\n\t\tthis.fireDecoratorEvent(\"input\");\n\t}\n\n\t_shouldPerformSelectionOnMobile(inputType: string): boolean {\n\t\tconst allowedEventTypes = [\n\t\t\t\"deleteWordBackward\",\n\t\t\t\"deleteWordForward\",\n\t\t\t\"deleteSoftLineBackward\",\n\t\t\t\"deleteSoftLineForward\",\n\t\t\t\"deleteEntireSoftLine\",\n\t\t\t\"deleteHardLineBackward\",\n\t\t\t\"deleteHardLineForward\",\n\t\t\t\"deleteByDrag\",\n\t\t\t\"deleteByCut\",\n\t\t\t\"deleteContent\",\n\t\t\t\"deleteContentBackward\",\n\t\t\t\"deleteContentForward\",\n\t\t\t\"historyUndo\",\n\t\t];\n\n\t\treturn !this.noTypeahead && !allowedEventTypes.includes(inputType || \"\");\n\t}\n\n\t_handleTypeAhead(item: ISearchSuggestionItem) {\n\t\tconst originalValue = item.text || \"\";\n\n\t\tthis._typedInValue = this.value;\n\t\tthis._innerValue = originalValue;\n\t\tthis._performTextSelection = true;\n\t\tthis.value = originalValue;\n\t}\n\n\t_startsWithMatchingItems(str: string): Array<ISearchSuggestionItem> {\n\t\treturn StartsWith(str, this._flattenItems.filter(item => !this._isGroupItem(item) && !this._isShowMoreItem(item)), \"text\");\n\t}\n\n\t_isGroupItem(item: HTMLElement): item is SearchItemGroup {\n\t\treturn item.hasAttribute(\"ui5-search-item-group\");\n\t}\n\n\t_isShowMoreItem(item: ISearchSuggestionItem) {\n\t\treturn item.hasAttribute(\"ui5-search-item-show-more\");\n\t}\n\n\t_deselectItems() {\n\t\tthis._flattenItems.forEach(item => {\n\t\t\titem.selected = false;\n\t\t});\n\t}\n\n\t_selectMatchingItem(item: ISearchSuggestionItem) {\n\t\tthis._deselectItems();\n\t\titem.selected = true;\n\t}\n\n\t_handleDown(e: KeyboardEvent) {\n\t\tif (this.open) {\n\t\t\te.preventDefault();\n\t\t\tthis._handleArrowDown();\n\t\t}\n\t}\n\n\t_handleArrowDown() {\n\t\tconst focusableItems = this._getItemsList().listItems;\n\t\tconst firstListItem = focusableItems.at(0);\n\n\t\t// Store the original value before navigation starts\n\t\tif (this._valueBeforeArrowNav === undefined) {\n\t\t\tthis._valueBeforeArrowNav = this._typedInValue || this.value;\n\t\t}\n\n\t\tthis._deselectItems();\n\t\tthis.value = this._typedInValue || this.value;\n\t\tthis._innerValue = this.value;\n\n\t\t// Clear any text selection to allow autocomplete to work again when navigating back\n\t\tconst innerInput = this.nativeInput;\n\t\tif (innerInput) {\n\t\t\tinnerInput.setSelectionRange(this.value.length, this.value.length);\n\t\t}\n\n\t\tfirstListItem?.focus();\n\t}\n\n\t/**\n\t * Sets the `open` property from internal control logic and flags the change\n\t * as internally driven, so reconciliation can distinguish it from an\n\t * application-driven change to `open`.\n\t * @private\n\t */\n\t_setInternalOpen(value: boolean) {\n\t\t// Only flag the change when `open` actually changes. A no-op assignment\n\t\t// does not invalidate the component (see UI5Element property setter), so\n\t\t// no reconciliation would run to clear the flag - leaving it stale and\n\t\t// causing a later application-driven change to be misread as internal.\n\t\tif (value === this.open) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._openChangedInternally = true;\n\t\tthis.open = value;\n\t}\n\n\t_handleInnerClick() {\n\t\tif (isPhone()) {\n\t\t\tthis._setInternalOpen(true);\n\t\t}\n\t}\n\n\t_handleSearchIconPress() {\n\t\tif (isPhone()) {\n\t\t\tthis._setInternalOpen(true);\n\t\t} else {\n\t\t\tsuper._handleSearchIconPress();\n\t\t}\n\t}\n\n\t_handleEnter() {\n\t\tconst prevented = !this.fireDecoratorEvent(\"search\", { item: this._proposedItem });\n\n\t\tif (prevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst innerInput = this.nativeInput!;\n\n\t\tinnerInput.setSelectionRange(this.value.length, this.value.length);\n\n\t\tthis._closePopupAndResetState();\n\t}\n\n\t_onMobileInputKeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e)) {\n\t\t\tthis.value = this.mobileInput?.value || this.value;\n\t\t\tthis._handleEnter();\n\n\t\t\tthis.blur();\n\t\t}\n\t}\n\n\t_handleSearchEvent() {\n\t\tthis.fireDecoratorEvent(\"search\", { item: this._proposedItem });\n\t}\n\n\t_closePopupAndResetState() {\n\t\tthis._setInternalOpen(false);\n\t\tthis._isTyping = false;\n\t\tthis._valueBeforeArrowNav = undefined;\n\t}\n\n\t_handleEscape() {\n\t\t// If arrow navigation was active, restore the original typed value\n\t\tif (this._valueBeforeArrowNav !== undefined) {\n\t\t\tthis.value = this._valueBeforeArrowNav;\n\t\t\tthis._innerValue = this._valueBeforeArrowNav;\n\t\t\tthis._valueBeforeArrowNav = undefined;\n\t\t} else {\n\t\t\tthis.value = this._typedInValue || this.value;\n\t\t\tthis._innerValue = this.value;\n\t\t}\n\t\tthis._isTyping = false;\n\t}\n\n\t_handleInput(e: InputEvent) {\n\t\tsuper._handleInput(e);\n\t\tthis._typedInValue = this.value;\n\t\tthis._proposedItem = undefined;\n\t\tthis._valueBeforeArrowNav = undefined;\n\n\t\tif (isPhone()) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._isTyping = true;\n\t\tthis._setInternalOpen(this.value.length > 0 && this._popoupHasAnyContent());\n\t}\n\n\t_handleClear(): void {\n\t\tsuper._handleClear();\n\n\t\tthis._typedInValue = \"\";\n\t\tthis._innerValue = \"\";\n\t\tthis._shouldAutocomplete = false;\n\t\tthis._valueBeforeArrowNav = undefined;\n\t\tthis._setInternalOpen(false);\n\t}\n\n\t_popoupHasAnyContent() {\n\t\treturn this.items.length > 0 || this.illustration.length > 0 || this.messageArea.length > 0 || this.loading || this.action.length > 0;\n\t}\n\n\t_onFooterButtonKeyDown(e: KeyboardEvent) {\n\t\tif (isUp(e)) {\n\t\t\tthis._flattenItems[this._flattenItems.length - 1].focus();\n\t\t}\n\t\tif (isTabPrevious(e)) {\n\t\t\tthis._getItemsList().focus();\n\t\t}\n\t}\n\n\t_onItemKeydown(e: KeyboardEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\t// if focus is on the group header (in group's shadow dom) the target is the group itself,\n\t\t// if so using getFocusDomRef ensures the actual focused element is used\n\t\tconst focusedItem = this._isGroupItem(target) ? target?.getFocusDomRef() : target;\n\t\tconst focusableItems = this._getItemsList().listItems;\n\t\tconst isFirstItem = focusableItems.at(0) === focusedItem;\n\t\tconst isLastItem = focusableItems.at(-1) === focusedItem;\n\t\tconst isArrowUp = isUp(e);\n\t\tconst isArrowDown = isDown(e);\n\t\tconst isTab = isTabNext(e);\n\n\t\te.preventDefault();\n\n\t\tif (isFirstItem && isArrowUp) {\n\t\t\t// Restore original value when navigating back to input\n\t\t\tif (this._valueBeforeArrowNav !== undefined) {\n\t\t\t\tthis.value = this._valueBeforeArrowNav;\n\t\t\t\tthis._innerValue = this._valueBeforeArrowNav;\n\t\t\t\tthis._valueBeforeArrowNav = undefined;\n\t\t\t}\n\n\t\t\tthis.nativeInput?.focus();\n\t\t\tthis._shouldAutocomplete = true;\n\t\t}\n\n\t\tif (isEscape(e)) {\n\t\t\tthis._handleEscape();\n\t\t}\n\n\t\tif ((isLastItem && isArrowDown) || isTab) {\n\t\t\tthis._getFooterButton()?.focus();\n\t\t}\n\t}\n\n\t_onListItemFocusIn(e: FocusEvent) {\n\t\t// Update input value when an item gets focus during arrow navigation\n\t\tif (this._valueBeforeArrowNav === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst target = e.target as HTMLElement;\n\t\tconst item = target as ISearchSuggestionItem;\n\n\t\t// Don't update input value when focus is on action buttons or delete button\n\t\tif (target.hasAttribute(\"ui5-button\") || target.hasAttribute(\"ui5-icon\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (item && item.text && !this._isShowMoreItem(item)) {\n\t\t\tthis.value = item.text;\n\t\t\tthis._innerValue = item.text;\n\t\t}\n\t}\n\n\t_onItemClick(e: CustomEvent) {\n\t\tconst item = e.detail.item as ISearchSuggestionItem;\n\t\tconst prevented = !this.fireDecoratorEvent(\"search\", { item });\n\n\t\tif (prevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.value = item.text;\n\t\tthis._innerValue = this.value;\n\t\tthis._typedInValue = this.value;\n\t\tthis._shouldAutocomplete = false;\n\t\tthis._performTextSelection = true;\n\t\tthis._valueBeforeArrowNav = undefined;\n\t\tthis._setInternalOpen(false);\n\t\tthis._isTyping = false;\n\t\tthis.focus();\n\t}\n\n\t_onItemDelete(e: CustomEvent) {\n\t\t// If we're in arrow navigation mode and an item was deleted,\n\t\t// update the input to show the next matching item\n\t\tif (this._valueBeforeArrowNav !== undefined) {\n\t\t\tconst deletedItem = e.target as ISearchSuggestionItem;\n\n\t\t\t// Wait for the item to be removed from DOM\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst nextItem = this._getFirstMatchingItem(this._valueBeforeArrowNav!);\n\n\t\t\t\tif (nextItem && nextItem !== deletedItem) {\n\t\t\t\t\tthis.value = nextItem.text;\n\t\t\t\t\tthis._innerValue = nextItem.text;\n\t\t\t\t\tthis._selectMatchingItem(nextItem);\n\t\t\t\t\tnextItem.focus();\n\t\t\t\t} else {\n\t\t\t\t\t// No more matching items, restore original typed value\n\t\t\t\t\tthis.value = this._valueBeforeArrowNav!;\n\t\t\t\t\tthis._innerValue = this._valueBeforeArrowNav!;\n\t\t\t\t\tthis._deselectItems();\n\t\t\t\t\tthis.nativeInput?.focus();\n\t\t\t\t}\n\t\t\t}, 0);\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tsuper._onkeydown(e);\n\n\t\tif (this.loading) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._shouldAutocomplete = !this.noTypeahead\n\t\t\t&& !(isBackSpace(e) || isDelete(e) || isEscape(e) || isUp(e) || isDown(e) || isTabNext(e) || isEnter(e) || isPageUp(e) || isPageDown(e) || isHome(e) || isEnd(e) || isEscape(e));\n\n\t\tif (isDown(e)) {\n\t\t\tthis._handleDown(e);\n\t\t}\n\n\t\tif (isEscape(e)) {\n\t\t\tthis._handleEscape();\n\t\t}\n\n\t\t// deselect item on backspace or delete\n\t\tif (isBackSpace(e) || isDelete(e)) {\n\t\t\tthis._deselectItems();\n\t\t}\n\t}\n\n\t_onFocusOutSearch(e:FocusEvent) {\n\t\tconst target = e.relatedTarget as HTMLElement;\n\n\t\tif (this._getPicker().contains(target) || this.contains(target)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._setInternalOpen(false);\n\t\tthis._isTyping = false;\n\t}\n\n\t_handleBeforeClose(e: CustomEvent<PopupBeforeCloseEventDetail>) {\n\t\tif (e.detail.escPressed) {\n\t\t\tthis.focus();\n\t\t}\n\t}\n\n\t_handleCancel() {\n\t\tthis._handleClose();\n\t\tthis.value = this._valueBeforeOpen;\n\t\tthis.fireDecoratorEvent(\"input\");\n\t}\n\n\t_handleClose() {\n\t\tthis._setInternalOpen(false);\n\t\tthis._isTyping = false;\n\t\tthis._valueBeforeArrowNav = undefined;\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t_handleBeforeOpen() {\n\t\tthis._valueBeforeOpen = this.value;\n\n\t\tif (isPhone() && this.mobileInput) {\n\t\t\tthis.mobileInput.value = this.value;\n\t\t}\n\t}\n\n\t_handleOpen() {\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_handleActionKeydown(e: KeyboardEvent) {\n\t\tif (isUp(e)) {\n\t\t\tthis._flattenItems[this._flattenItems.length - 1].focus();\n\t\t}\n\t}\n\n\t_onFooterButtonClick() {\n\t\tthis.fireDecoratorEvent(\"popup-action-press\");\n\t}\n\n\t_getFirstMatchingItem(current: string): ISearchSuggestionItem | undefined {\n\t\tif (!this._flattenItems.length || !current) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst startsWithMatches = this._startsWithMatchingItems(current);\n\n\t\tif (!startsWithMatches.length) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn startsWithMatches[0];\n\t}\n\n\t_getPicker() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\"#ui5-search-list\")!;\n\t}\n\n\t_getItemsList(): List {\n\t\treturn this._getPicker().querySelector(\".ui5-search-list\") as List;\n\t}\n\n\t_getFooterButton(): Button {\n\t\treturn this.action[0];\n\t}\n\n\tget _flattenItems(): Array<ISearchSuggestionItem> {\n\t\treturn this.getSlottedNodes<ISearchSuggestionItem>(\"items\").flatMap(item => {\n\t\t\treturn this._isGroupItem(item) ? [item, ...item.items] : [item];\n\t\t});\n\t}\n\n\tget nativeInput() {\n\t\tconst domRef = this.getDomRef();\n\n\t\treturn domRef?.querySelector<HTMLInputElement>(`input`);\n\t}\n\n\tget mobileInput() {\n\t\tconst domRef = this.shadowRoot;\n\n\t\treturn domRef ? domRef.querySelector<Input>(`[ui5-input]`) : null;\n\t}\n\n\tget cancelButtonText() {\n\t\treturn Search.i18nBundle.getText(SEARCH_CANCEL_BUTTON);\n\t}\n\n\tget suggestionsText() {\n\t\treturn Search.i18nBundle.getText(SEARCH_SUGGESTIONS);\n\t}\n\n\tget scopeSelect() {\n\t\tconst domRef = this.shadowRoot;\n\n\t\treturn domRef ? domRef.querySelector<Select>(`[ui5-select]`) : null;\n\t}\n}\n\nSearch.define();\n\nexport default Search;\n"]}
1
+ {"version":3,"file":"Search.js","sourceRoot":"","sources":["../src/Search.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport type List from \"@ui5/webcomponents/dist/List.js\";\nimport {\n\tisUp,\n\tisDown,\n\tisEnter,\n\tisBackSpace,\n\tisDelete,\n\tisEscape,\n\tisTabNext,\n\tisPageUp,\n\tisPageDown,\n\tisHome,\n\tisEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\n\nimport SearchTemplate from \"./SearchTemplate.js\";\nimport SearchCss from \"./generated/themes/Search.css.js\";\nimport SearchField from \"./SearchField.js\";\nimport { StartsWith } from \"@ui5/webcomponents/dist/Filters.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type SearchItem from \"./SearchItem.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type IllustratedMessage from \"./IllustratedMessage.js\";\nimport type SearchItemGroup from \"./SearchItemGroup.js\";\nimport type SearchMessageArea from \"./SearchMessageArea.js\";\nimport { SEARCH_CANCEL_BUTTON, SEARCH_SUGGESTIONS } from \"./generated/i18n/i18n-defaults.js\";\nimport { i18n } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport type { InputEventDetail } from \"@ui5/webcomponents/dist/Input.js\";\nimport type Input from \"@ui5/webcomponents/dist/Input.js\";\nimport type { PopupBeforeCloseEventDetail } from \"@ui5/webcomponents/dist/Popup.js\";\nimport type Select from \"@ui5/webcomponents/dist/Select.js\";\nimport type { Slot, DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ListItemBaseClickEventDetail } from \"@ui5/webcomponents/dist/ListItemBase.js\";\n\ninterface ISearchSuggestionItem extends UI5Element {\n\tselected: boolean;\n\ttext: string;\n\titems?: ISearchSuggestionItem[];\n\teventDetails: { click?: ListItemBaseClickEventDetail };\n}\n\ntype SearchEventDetails = {\n\titem?: ISearchSuggestionItem;\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * A `ui5-search` is an input with suggestions, used for user search.\n *\n * The `ui5-search` consists of several elements parts:\n * - Scope - displays a select in the beggining of the component, used for filtering results by their scope.\n * - Input field - for user input value\n * - Clear button - gives the possibility for deleting the entered value\n * - Search button - a primary button for performing search, when the user has entered a search term\n * - Suggestions - a list with available search suggestions\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/Search.js\";`\n *\n * @constructor\n * @extends SearchField\n * @public\n * @since 2.9.0\n * @experimental\n * @csspart popover - Used to style the suggestions popup\n * @since 2.24.0\n * @ui5subcomponent SearchItem\n * @ui5subcomponent SearchItemGroup\n * @ui5subcomponent SearchItemShowMore\n * @ui5subcomponent SearchMessageArea\n * @ui5subcomponent SearchScope\n */\n@customElement({\n\ttag: \"ui5-search\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: SearchTemplate,\n\tstyles: [\n\t\tSearchField.styles,\n\t\tSearchCss,\n\t],\n})\n\n/**\n * Fired when the popup is opened.\n *\n * @public\n */\n@event(\"open\")\n\n/**\n * Fired when the popup is closed.\n *\n * @public\n */\n@event(\"close\")\n\nclass Search extends SearchField {\n\teventDetails!: SearchField[\"eventDetails\"] & {\n\t\tsearch: SearchEventDetails,\n\t\t\"popup-action-press\": void,\n\t\t\"open\": void,\n\t\t\"close\": void,\n\t};\n\n\t/**\n\t * Indicates whether a loading indicator should be shown in the popup.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\t/**\n\t * Defines whether the value will be autcompleted to match an item.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tnoTypeahead = false;\n\n\t/**\n\t * Defines the Search suggestion items.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: true,\n\t})\n\titems!: DefaultSlot<SearchItem | SearchItemGroup>;\n\n\t/**\n\t * Defines the popup footer action button.\n\t *\n\t * @public\n\t */\n\t@slot()\n\taction!: Slot<Button>;\n\n\t/**\n\t * Defines the illustrated message to be shown in the popup.\n\t *\n\t * @public\n\t */\n\t@slot()\n\tillustration!: Slot<IllustratedMessage>;\n\n\t/**\n\t * Defines the illustrated message to be shown in the popup.\n\t *\n\t * @public\n\t */\n\t@slot()\n\tmessageArea!: Slot<SearchMessageArea>;\n\n\t/**\n\t * Indicates whether the items picker is open.\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Defines the inner stored value of the component.\n\t *\n\t * **Note:** The property is updated upon typing.\n\t * @default \"\"\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_innerValue?: string;\n\n\t/**\n\t * Determines whether the item selection should be performed on mobile devices.\n\t * Similar to _performTextSelection on desktop\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_performItemSelectionOnMobile?: boolean;\n\n\t/**\n\t * Based on the key pressed, determines if the autocomplete should be performed.\n\t * @private\n\t */\n\t_shouldAutocomplete?: boolean;\n\n\t/**\n\t * Determines whether a text selection should be performed.\n\t * @private\n\t */\n\t_performTextSelection?: boolean;\n\n\t/**\n\t * Holds the typed value from the user.\n\t * @private\n\t */\n\t_typedInValue: string;\n\n\t/**\n\t * Holds the typed value before opening the picker.\n\t * @private\n\t */\n\t_valueBeforeOpen: string;\n\n\t/**\n\t * Holds the original typed value before arrow key navigation in dropdown.\n\t * Used to restore the value when navigating back to the input field.\n\t * @private\n\t */\n\t_valueBeforeArrowNav?: string;\n\n\t/**\n\t * Holds the currently proposed item which will be selected if the user presses Enter.\n\t * @private\n\t */\n\t_proposedItem?: ISearchSuggestionItem;\n\n\t/**\n\t * This property is used during rendering to indicate that the user has started typing in the input\n\t * @private\n\t */\n\t_isTyping: boolean;\n\n\t/**\n\t * Bound reference to the delete handler for proper event listener removal.\n\t * @private\n\t */\n\t_deleteHandler: (e: CustomEvent) => void;\n\n\t/**\n\t * Tracks whether the most recent change to the `open` property originated\n\t * from the component's internal control logic (through `_setInternalOpen`)\n\t * rather than from the application. Consumed and reset on each reconciliation.\n\t * @private\n\t */\n\t_openChangedInternally: boolean;\n\n\t/**\n\t * Holds the `open` value committed during the previous reconciliation.\n\t * Used together with `_openChangedInternally` to tell an application-driven\n\t * change to `open` apart from a re-render where `open` was not touched.\n\t * @private\n\t */\n\t_lastOpenState: boolean;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// The typed in value.\n\t\tthis._typedInValue = \"\";\n\t\tthis._valueBeforeOpen = this.getAttribute(\"value\") || \"\";\n\t\tthis._isTyping = false;\n\n\t\tthis._openChangedInternally = false;\n\t\tthis._lastOpenState = this.open;\n\n\t\tthis._deleteHandler = this._onItemDelete.bind(this);\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tif (this.collapsed && !isPhone()) {\n\t\t\tthis.open = false;\n\t\t\tthis._lastOpenState = false;\n\t\t\tthis._openChangedInternally = false;\n\t\t\treturn;\n\t\t}\n\n\t\tconst innerInput = this.nativeInput;\n\t\tconst autoCompletedChars = innerInput && (innerInput.selectionEnd! - innerInput.selectionStart!);\n\n\t\t// The public `open` property is application-controlled and takes higher\n\t\t// precedence. Internal writes go through `_setInternalOpen`, which raises\n\t\t// `_openChangedInternally`. A change is treated as application-driven only\n\t\t// when that flag is not set AND `open` differs from the last committed\n\t\t// state; that distinguishes an app write from a plain re-render (e.g. when\n\t\t// lazy-loaded items arrive) where the internal auto-open logic must still run.\n\t\tconst appControlledOpen = !this._openChangedInternally && this.open !== this._lastOpenState;\n\n\t\tif (!appControlledOpen) {\n\t\t\tthis.open = this.open || (this._popoupHasAnyContent() && this._isTyping && innerInput!.value.length > 0);\n\t\t} else if (!this.open) {\n\t\t\t// The application force-closed the picker; reset the typing state so the\n\t\t\t// internal auto-open logic does not immediately reopen it on next render.\n\t\t\tthis._isTyping = false;\n\t\t}\n\n\t\t// If there is already a selection the autocomplete has already been performed\n\t\tif (this._shouldAutocomplete && !autoCompletedChars) {\n\t\t\tconst item = this._getFirstMatchingItem(this.value);\n\t\t\tthis._proposedItem = item;\n\n\t\t\tif (item) {\n\t\t\t\tthis._handleTypeAhead(item);\n\t\t\t\tthis._selectMatchingItem(item);\n\t\t\t} else {\n\t\t\t\tthis._deselectItems();\n\t\t\t}\n\t\t}\n\n\t\tif (isPhone() && this.open) {\n\t\t\tconst item = this._getFirstMatchingItem(this.value);\n\t\t\tthis._proposedItem = item;\n\n\t\t\tif (item && this._performItemSelectionOnMobile) {\n\t\t\t\tthis._selectMatchingItem(item);\n\t\t\t}\n\t\t}\n\n\t\t// Update highlight text and attach delete listeners\n\t\tthis._flattenItems.forEach(item => {\n\t\t\t(item as SearchItem).highlightText = this._typedInValue;\n\n\t\t\t// Listen for delete events on each item\n\t\t\t// Using capture phase to ensure we catch it before application handlers\n\t\t\titem.removeEventListener(\"ui5-delete\", this._deleteHandler as EventListener, true);\n\t\t\titem.addEventListener(\"ui5-delete\", this._deleteHandler as EventListener, true);\n\t\t});\n\n\t\t// Commit the resolved open state and clear the internal-change flag so the\n\t\t// next reconciliation can tell an application-driven change to `open` apart\n\t\t// from a re-render where `open` was not touched.\n\t\tthis._lastOpenState = this.open;\n\t\tthis._openChangedInternally = false;\n\t}\n\n\tonAfterRendering(): void {\n\t\tconst innerInput = this.nativeInput;\n\n\t\tif (this._performTextSelection && innerInput && innerInput.value !== this._innerValue) {\n\t\t\tinnerInput.value = this._innerValue || \"\";\n\t\t}\n\n\t\tif (this._performTextSelection && this._typedInValue.length && this.value.length) {\n\t\t\tinnerInput?.setSelectionRange(this._typedInValue.length, this.value.length);\n\t\t}\n\n\t\tthis._performTextSelection = false;\n\n\t\tif (!this.collapsed) {\n\t\t\tthis.style.setProperty(\"--search_width\", `${this.getBoundingClientRect().width}px`);\n\t\t}\n\t}\n\n\t_handleMobileInput(e: CustomEvent<InputEventDetail>) {\n\t\tthis.value = (e.target as Input).value;\n\t\tthis._performItemSelectionOnMobile = this._shouldPerformSelectionOnMobile(e.detail.inputType);\n\n\t\tthis.fireDecoratorEvent(\"input\");\n\t}\n\n\t_shouldPerformSelectionOnMobile(inputType: string): boolean {\n\t\tconst allowedEventTypes = [\n\t\t\t\"deleteWordBackward\",\n\t\t\t\"deleteWordForward\",\n\t\t\t\"deleteSoftLineBackward\",\n\t\t\t\"deleteSoftLineForward\",\n\t\t\t\"deleteEntireSoftLine\",\n\t\t\t\"deleteHardLineBackward\",\n\t\t\t\"deleteHardLineForward\",\n\t\t\t\"deleteByDrag\",\n\t\t\t\"deleteByCut\",\n\t\t\t\"deleteContent\",\n\t\t\t\"deleteContentBackward\",\n\t\t\t\"deleteContentForward\",\n\t\t\t\"historyUndo\",\n\t\t];\n\n\t\treturn !this.noTypeahead && !allowedEventTypes.includes(inputType || \"\");\n\t}\n\n\t_handleTypeAhead(item: ISearchSuggestionItem) {\n\t\tconst originalValue = item.text || \"\";\n\n\t\tthis._typedInValue = this.value;\n\t\tthis._innerValue = originalValue;\n\t\tthis._performTextSelection = true;\n\t\tthis.value = originalValue;\n\t}\n\n\t_startsWithMatchingItems(str: string): Array<ISearchSuggestionItem> {\n\t\treturn StartsWith(str, this._flattenItems.filter(item => !this._isGroupItem(item) && !this._isShowMoreItem(item)), \"text\");\n\t}\n\n\t_isGroupItem(item: HTMLElement): item is SearchItemGroup {\n\t\treturn item.hasAttribute(\"ui5-search-item-group\");\n\t}\n\n\t_isShowMoreItem(item: ISearchSuggestionItem) {\n\t\treturn item.hasAttribute(\"ui5-search-item-show-more\");\n\t}\n\n\t_deselectItems() {\n\t\tthis._flattenItems.forEach(item => {\n\t\t\titem.selected = false;\n\t\t});\n\t}\n\n\t_selectMatchingItem(item: ISearchSuggestionItem) {\n\t\tthis._deselectItems();\n\t\titem.selected = true;\n\t}\n\n\t_handleDown(e: KeyboardEvent) {\n\t\tif (this.open) {\n\t\t\te.preventDefault();\n\t\t\tthis._handleArrowDown();\n\t\t}\n\t}\n\n\t_handleArrowDown() {\n\t\tconst focusableItems = this._getItemsList().listItems;\n\t\tconst firstListItem = focusableItems.at(0);\n\n\t\t// Store the original value before navigation starts\n\t\tif (this._valueBeforeArrowNav === undefined) {\n\t\t\tthis._valueBeforeArrowNav = this._typedInValue || this.value;\n\t\t}\n\n\t\tthis._deselectItems();\n\t\tthis.value = this._typedInValue || this.value;\n\t\tthis._innerValue = this.value;\n\n\t\t// Clear any text selection to allow autocomplete to work again when navigating back\n\t\tconst innerInput = this.nativeInput;\n\t\tif (innerInput) {\n\t\t\tinnerInput.setSelectionRange(this.value.length, this.value.length);\n\t\t}\n\n\t\tfirstListItem?.focus();\n\t}\n\n\t/**\n\t * Sets the `open` property from internal control logic and flags the change\n\t * as internally driven, so reconciliation can distinguish it from an\n\t * application-driven change to `open`.\n\t * @private\n\t */\n\t_setInternalOpen(value: boolean) {\n\t\t// Only flag the change when `open` actually changes. A no-op assignment\n\t\t// does not invalidate the component (see UI5Element property setter), so\n\t\t// no reconciliation would run to clear the flag - leaving it stale and\n\t\t// causing a later application-driven change to be misread as internal.\n\t\tif (value === this.open) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._openChangedInternally = true;\n\t\tthis.open = value;\n\t}\n\n\t_handleInnerClick() {\n\t\tif (isPhone()) {\n\t\t\tthis._setInternalOpen(true);\n\t\t}\n\t}\n\n\t_handleSearchIconPress() {\n\t\tif (isPhone()) {\n\t\t\tthis._setInternalOpen(true);\n\t\t} else {\n\t\t\tsuper._handleSearchIconPress();\n\t\t}\n\t}\n\n\t_handleEnter() {\n\t\tconst prevented = !this.fireDecoratorEvent(\"search\", { item: this._proposedItem });\n\n\t\tif (prevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst innerInput = this.nativeInput!;\n\n\t\tinnerInput.setSelectionRange(this.value.length, this.value.length);\n\n\t\tthis._closePopupAndResetState();\n\t}\n\n\t_onMobileInputKeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e)) {\n\t\t\tthis.value = this.mobileInput?.value || this.value;\n\t\t\tthis._handleEnter();\n\n\t\t\tthis.blur();\n\t\t}\n\t}\n\n\t_handleSearchEvent() {\n\t\tthis.fireDecoratorEvent(\"search\", { item: this._proposedItem });\n\t}\n\n\t_closePopupAndResetState() {\n\t\tthis._setInternalOpen(false);\n\t\tthis._isTyping = false;\n\t\tthis._valueBeforeArrowNav = undefined;\n\t}\n\n\t_handleEscape() {\n\t\t// If arrow navigation was active, restore the original typed value\n\t\tif (this._valueBeforeArrowNav !== undefined) {\n\t\t\tthis.value = this._valueBeforeArrowNav;\n\t\t\tthis._innerValue = this._valueBeforeArrowNav;\n\t\t\tthis._valueBeforeArrowNav = undefined;\n\t\t} else {\n\t\t\tthis.value = this._typedInValue || this.value;\n\t\t\tthis._innerValue = this.value;\n\t\t}\n\t\tthis._isTyping = false;\n\t}\n\n\t_handleInput(e: InputEvent) {\n\t\tsuper._handleInput(e);\n\t\tthis._typedInValue = this.value;\n\t\tthis._proposedItem = undefined;\n\t\tthis._valueBeforeArrowNav = undefined;\n\n\t\tif (isPhone()) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._isTyping = true;\n\t\tthis._setInternalOpen(this.value.length > 0 && this._popoupHasAnyContent());\n\t}\n\n\t_handleClear(): void {\n\t\tsuper._handleClear();\n\n\t\tthis._typedInValue = \"\";\n\t\tthis._innerValue = \"\";\n\t\tthis._shouldAutocomplete = false;\n\t\tthis._valueBeforeArrowNav = undefined;\n\t\tthis._setInternalOpen(false);\n\t}\n\n\t_popoupHasAnyContent() {\n\t\treturn this.items.length > 0 || this.illustration.length > 0 || this.messageArea.length > 0 || this.loading || this.action.length > 0;\n\t}\n\n\t_onItemKeydown(e: KeyboardEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\t// if focus is on the group header (in group's shadow dom) the target is the group itself,\n\t\t// if so using getFocusDomRef ensures the actual focused element is used\n\t\tconst focusedItem = this._isGroupItem(target) ? target?.getFocusDomRef() : target;\n\t\tconst focusableItems = this._getItemsList().listItems;\n\t\tconst isFirstItem = focusableItems.at(0) === focusedItem;\n\t\tconst isLastItem = focusableItems.at(-1) === focusedItem;\n\t\tconst isArrowUp = isUp(e);\n\t\tconst isArrowDown = isDown(e);\n\t\tconst isTab = isTabNext(e);\n\n\t\te.preventDefault();\n\n\t\tif (isFirstItem && isArrowUp) {\n\t\t\t// Restore original value when navigating back to input\n\t\t\tif (this._valueBeforeArrowNav !== undefined) {\n\t\t\t\tthis.value = this._valueBeforeArrowNav;\n\t\t\t\tthis._innerValue = this._valueBeforeArrowNav;\n\t\t\t\tthis._valueBeforeArrowNav = undefined;\n\t\t\t}\n\n\t\t\tthis.nativeInput?.focus();\n\t\t\tthis._shouldAutocomplete = true;\n\t\t}\n\n\t\tif (isEscape(e)) {\n\t\t\tthis._handleEscape();\n\t\t}\n\n\t\tif ((isLastItem && isArrowDown) || isTab) {\n\t\t\tthis._getFooterButton()?.focus();\n\t\t}\n\t}\n\n\t_onListItemFocusIn(e: FocusEvent) {\n\t\t// Update input value when an item gets focus during arrow navigation\n\t\tif (this._valueBeforeArrowNav === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst target = e.target as HTMLElement;\n\t\tconst item = target as ISearchSuggestionItem;\n\n\t\t// Don't update input value when focus is on action buttons or delete button\n\t\tif (target.hasAttribute(\"ui5-button\") || target.hasAttribute(\"ui5-icon\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (item && item.text && !this._isShowMoreItem(item)) {\n\t\t\tthis.value = item.text;\n\t\t\tthis._innerValue = item.text;\n\t\t}\n\t}\n\n\t_onItemClick(e: CustomEvent) {\n\t\tconst item = e.detail.item as ISearchSuggestionItem;\n\t\tconst prevented = !this.fireDecoratorEvent(\"search\", { item });\n\n\t\tif (prevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.value = item.text;\n\t\tthis._innerValue = this.value;\n\t\tthis._typedInValue = this.value;\n\t\tthis._shouldAutocomplete = false;\n\t\tthis._performTextSelection = true;\n\t\tthis._valueBeforeArrowNav = undefined;\n\t\tthis._setInternalOpen(false);\n\t\tthis._isTyping = false;\n\t\tthis.focus();\n\t}\n\n\t_onItemDelete(e: CustomEvent) {\n\t\t// If we're in arrow navigation mode and an item was deleted,\n\t\t// update the input to show the next matching item\n\t\tif (this._valueBeforeArrowNav !== undefined) {\n\t\t\tconst deletedItem = e.target as ISearchSuggestionItem;\n\n\t\t\t// Wait for the item to be removed from DOM\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst nextItem = this._getFirstMatchingItem(this._valueBeforeArrowNav!);\n\n\t\t\t\tif (nextItem && nextItem !== deletedItem) {\n\t\t\t\t\tthis.value = nextItem.text;\n\t\t\t\t\tthis._innerValue = nextItem.text;\n\t\t\t\t\tthis._selectMatchingItem(nextItem);\n\t\t\t\t\tnextItem.focus();\n\t\t\t\t} else {\n\t\t\t\t\t// No more matching items, restore original typed value\n\t\t\t\t\tthis.value = this._valueBeforeArrowNav!;\n\t\t\t\t\tthis._innerValue = this._valueBeforeArrowNav!;\n\t\t\t\t\tthis._deselectItems();\n\t\t\t\t\tthis.nativeInput?.focus();\n\t\t\t\t}\n\t\t\t}, 0);\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tsuper._onkeydown(e);\n\n\t\tif (this.loading) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._shouldAutocomplete = !this.noTypeahead\n\t\t\t&& !(isBackSpace(e) || isDelete(e) || isEscape(e) || isUp(e) || isDown(e) || isTabNext(e) || isEnter(e) || isPageUp(e) || isPageDown(e) || isHome(e) || isEnd(e) || isEscape(e));\n\n\t\tif (isDown(e)) {\n\t\t\tthis._handleDown(e);\n\t\t}\n\n\t\tif (isEscape(e)) {\n\t\t\tthis._handleEscape();\n\t\t}\n\n\t\t// deselect item on backspace or delete\n\t\tif (isBackSpace(e) || isDelete(e)) {\n\t\t\tthis._deselectItems();\n\t\t}\n\t}\n\n\t_onFocusOutSearch(e:FocusEvent) {\n\t\tconst target = e.relatedTarget as HTMLElement;\n\n\t\tif (this._getPicker().contains(target) || this.contains(target)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._setInternalOpen(false);\n\t\tthis._isTyping = false;\n\t}\n\n\t_handleBeforeClose(e: CustomEvent<PopupBeforeCloseEventDetail>) {\n\t\tif (e.detail.escPressed) {\n\t\t\tthis.focus();\n\t\t}\n\t}\n\n\t_handleCancel() {\n\t\tthis._handleClose();\n\t\tthis.value = this._valueBeforeOpen;\n\t\tthis.fireDecoratorEvent(\"input\");\n\t}\n\n\t_handleClose() {\n\t\tthis._setInternalOpen(false);\n\t\tthis._isTyping = false;\n\t\tthis._valueBeforeArrowNav = undefined;\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t_handleBeforeOpen() {\n\t\tthis._valueBeforeOpen = this.value;\n\n\t\tif (isPhone() && this.mobileInput) {\n\t\t\tthis.mobileInput.value = this.value;\n\t\t}\n\t}\n\n\t_handleOpen() {\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_handleActionKeydown(e: KeyboardEvent) {\n\t\tif (isUp(e)) {\n\t\t\tthis._flattenItems[this._flattenItems.length - 1].focus();\n\t\t}\n\t}\n\n\t_onFooterButtonClick() {\n\t\tthis.fireDecoratorEvent(\"popup-action-press\");\n\t}\n\n\t_getFirstMatchingItem(current: string): ISearchSuggestionItem | undefined {\n\t\tif (!this._flattenItems.length || !current) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst startsWithMatches = this._startsWithMatchingItems(current);\n\n\t\tif (!startsWithMatches.length) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn startsWithMatches[0];\n\t}\n\n\t_getPicker() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\"#ui5-search-list\")!;\n\t}\n\n\t_getItemsList(): List {\n\t\treturn this._getPicker().querySelector(\".ui5-search-list\") as List;\n\t}\n\n\t_getFooterButton(): Button {\n\t\treturn this.action[0];\n\t}\n\n\tget _flattenItems(): Array<ISearchSuggestionItem> {\n\t\treturn this.getSlottedNodes<ISearchSuggestionItem>(\"items\").flatMap(item => {\n\t\t\treturn this._isGroupItem(item) ? [item, ...item.items] : [item];\n\t\t});\n\t}\n\n\tget nativeInput() {\n\t\tconst domRef = this.getDomRef();\n\n\t\treturn domRef?.querySelector<HTMLInputElement>(`input`);\n\t}\n\n\tget mobileInput() {\n\t\tconst domRef = this.shadowRoot;\n\n\t\treturn domRef ? domRef.querySelector<Input>(`[ui5-input]`) : null;\n\t}\n\n\tget cancelButtonText() {\n\t\treturn Search.i18nBundle.getText(SEARCH_CANCEL_BUTTON);\n\t}\n\n\tget suggestionsText() {\n\t\treturn Search.i18nBundle.getText(SEARCH_SUGGESTIONS);\n\t}\n\n\tget scopeSelect() {\n\t\tconst domRef = this.shadowRoot;\n\n\t\treturn domRef ? domRef.querySelector<Select>(`[ui5-select]`) : null;\n\t}\n}\n\nSearch.define();\n\nexport default Search;\n"]}
@@ -102,7 +102,11 @@ type ShellBarSearchFieldClearEventDetail = {
102
102
  * @constructor
103
103
  * @extends UI5Element
104
104
  * @public
105
- * @since 0.8.0
105
+ * @since 1.0.0
106
+ * @ui5subcomponent ShellBarBranding
107
+ * @ui5subcomponent ShellBarItem
108
+ * @ui5subcomponent ShellBarSearch
109
+ * @ui5subcomponent ShellBarSpacer
106
110
  */
107
111
  declare class ShellBar extends UI5Element {
108
112
  eventDetails: {
@@ -172,7 +176,7 @@ declare class ShellBar extends UI5Element {
172
176
  *
173
177
  * **Note:** We recommend not using the `size` attribute of `ui5-avatar` because
174
178
  * it should have specific size by design in the context of `ui5-shellbar` profile.
175
- * @since 1.0.0-rc.6
179
+ * @since 1.0.0
176
180
  * @public
177
181
  */
178
182
  profile: Slot<HTMLElement>;
@@ -328,7 +332,7 @@ declare class ShellBar extends UI5Element {
328
332
  /**
329
333
  * Defines the logo of the `ui5-shellbar`.
330
334
  * For example, you can use `ui5-avatar` or `img` elements as logo.
331
- * @since 1.0.0-rc.8
335
+ * @since 1.0.0
332
336
  * @public
333
337
  */
334
338
  logo: Slot<HTMLElement>;
@@ -336,7 +340,7 @@ declare class ShellBar extends UI5Element {
336
340
  * Defines the items displayed in menu after a click on a start button.
337
341
  *
338
342
  * **Note:** You can use the `<ui5-li></ui5-li>` and its ancestors.
339
- * @since 0.10
343
+ * @since 1.0.0
340
344
  * @public
341
345
  */
342
346
  menuItems: Slot<ListItemBase>;
@@ -444,35 +448,35 @@ declare class ShellBar extends UI5Element {
444
448
  * Returns the `logo` DOM ref.
445
449
  * @public
446
450
  * @default null
447
- * @since 1.0.0-rc.16
451
+ * @since 1.0.0
448
452
  */
449
453
  get logoDomRef(): HTMLElement | null;
450
454
  /**
451
455
  * Returns the `notifications` icon DOM ref.
452
456
  * @public
453
457
  * @default null
454
- * @since 1.0.0-rc.16
458
+ * @since 1.0.0
455
459
  */
456
460
  get notificationsDomRef(): HTMLElement | null;
457
461
  /**
458
462
  * Returns the `overflow` icon DOM ref.
459
463
  * @public
460
464
  * @default null
461
- * @since 1.0.0-rc.16
465
+ * @since 1.0.0
462
466
  */
463
467
  get overflowDomRef(): HTMLElement | null;
464
468
  /**
465
469
  * Returns the `profile` icon DOM ref.
466
470
  * @public
467
471
  * @default null
468
- * @since 1.0.0-rc.16
472
+ * @since 1.0.0
469
473
  */
470
474
  get profileDomRef(): HTMLElement | null;
471
475
  /**
472
476
  * Returns the `product-switch` icon DOM ref.
473
477
  * @public
474
478
  * @default null
475
- * @since 1.0.0-rc.16
479
+ * @since 1.0.0
476
480
  */
477
481
  get productSwitchDomRef(): HTMLElement | null;
478
482
  /**
package/dist/ShellBar.js CHANGED
@@ -89,7 +89,11 @@ const ShellBarActionsSelectors = {
89
89
  * @constructor
90
90
  * @extends UI5Element
91
91
  * @public
92
- * @since 0.8.0
92
+ * @since 1.0.0
93
+ * @ui5subcomponent ShellBarBranding
94
+ * @ui5subcomponent ShellBarItem
95
+ * @ui5subcomponent ShellBarSearch
96
+ * @ui5subcomponent ShellBarSpacer
93
97
  */
94
98
  let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
95
99
  constructor() {
@@ -195,10 +199,7 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
195
199
  this.overflow = new ShellBarOverflow();
196
200
  this.accessibility = new ShellBarAccessibility();
197
201
  this._searchAdaptor = new ShellBarSearch(this.getSearchDeps());
198
- this._searchAdaptorLegacy = new ShellBarSearchLegacy({
199
- ...this.getSearchDeps(),
200
- getDisableSearchCollapse: () => this.disableSearchCollapse,
201
- });
202
+ this._searchAdaptorLegacy = new ShellBarSearchLegacy(this.getSearchDeps());
202
203
  /* =================== Legacy Members =================== */
203
204
  /**
204
205
  * Defines the visibility state of the search button.
@@ -465,6 +466,7 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
465
466
  setSearchState: (expanded) => this.setSearchState(expanded),
466
467
  handleSearchButtonClick: () => this.handleSearchButtonClick(),
467
468
  getOverflowed: () => this.overflow.isOverflowing(this.overflowOuter, this.overflowInner),
469
+ getDisableSearchCollapse: () => this.disableSearchCollapse,
468
470
  };
469
471
  }
470
472
  get searchAdaptor() {
@@ -640,7 +642,7 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
640
642
  * Returns the `logo` DOM ref.
641
643
  * @public
642
644
  * @default null
643
- * @since 1.0.0-rc.16
645
+ * @since 1.0.0
644
646
  */
645
647
  get logoDomRef() {
646
648
  return this.shadowRoot.querySelector(`*[data-ui5-stable="logo"]`);
@@ -649,7 +651,7 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
649
651
  * Returns the `notifications` icon DOM ref.
650
652
  * @public
651
653
  * @default null
652
- * @since 1.0.0-rc.16
654
+ * @since 1.0.0
653
655
  */
654
656
  get notificationsDomRef() {
655
657
  if (this.isHidden(ShellBarActions.Notifications)) {
@@ -661,7 +663,7 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
661
663
  * Returns the `overflow` icon DOM ref.
662
664
  * @public
663
665
  * @default null
664
- * @since 1.0.0-rc.16
666
+ * @since 1.0.0
665
667
  */
666
668
  get overflowDomRef() {
667
669
  return this.shadowRoot.querySelector(`*[data-ui5-stable="overflow"]`);
@@ -670,7 +672,7 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
670
672
  * Returns the `profile` icon DOM ref.
671
673
  * @public
672
674
  * @default null
673
- * @since 1.0.0-rc.16
675
+ * @since 1.0.0
674
676
  */
675
677
  get profileDomRef() {
676
678
  return this.shadowRoot.querySelector(`*[data-ui5-stable="profile"]`);
@@ -679,7 +681,7 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
679
681
  * Returns the `product-switch` icon DOM ref.
680
682
  * @public
681
683
  * @default null
682
- * @since 1.0.0-rc.16
684
+ * @since 1.0.0
683
685
  */
684
686
  get productSwitchDomRef() {
685
687
  return this.shadowRoot.querySelector(`*[data-ui5-stable="product-switch"]`);
@@ -858,7 +860,7 @@ ShellBar = ShellBar_1 = __decorate([
858
860
  /**
859
861
  * Fired, when the logo is activated.
860
862
  * @param {HTMLElement} targetRef dom ref of the activated element
861
- * @since 0.10
863
+ * @since 1.0.0
862
864
  * @public
863
865
  */
864
866
  ,
@@ -870,7 +872,7 @@ ShellBar = ShellBar_1 = __decorate([
870
872
  *
871
873
  * **Note:** You can prevent closing of overflow popover by calling `event.preventDefault()`.
872
874
  * @param {HTMLElement} item DOM ref of the activated list item
873
- * @since 0.10
875
+ * @since 1.0.0
874
876
  * @public
875
877
  */
876
878
  ,