@ui5/webcomponents-fiori 2.8.0-rc.2 → 2.8.0-rc.3

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 (301) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +3 -0
  3. package/cypress/specs/NotificationList.cy.tsx +154 -0
  4. package/cypress/specs/SearchField.cy.tsx +445 -0
  5. package/cypress/specs/UserSettingsDialog.cy.tsx +619 -0
  6. package/dist/.tsbuildinfo +1 -1
  7. package/dist/NotificationListGroupItem.d.ts +1 -1
  8. package/dist/NotificationListGroupItem.js +5 -2
  9. package/dist/NotificationListGroupItem.js.map +1 -1
  10. package/dist/NotificationListGroupItemTemplate.js +4 -5
  11. package/dist/NotificationListGroupItemTemplate.js.map +1 -1
  12. package/dist/NotificationListGroupList.d.ts +2 -0
  13. package/dist/NotificationListGroupList.js +9 -0
  14. package/dist/NotificationListGroupList.js.map +1 -1
  15. package/dist/NotificationListInternal.d.ts +6 -0
  16. package/dist/NotificationListInternal.js +119 -0
  17. package/dist/NotificationListInternal.js.map +1 -1
  18. package/dist/NotificationListItem.d.ts +0 -1
  19. package/dist/NotificationListItem.js +1 -32
  20. package/dist/NotificationListItem.js.map +1 -1
  21. package/dist/SearchField.d.ts +130 -0
  22. package/dist/SearchField.js +228 -0
  23. package/dist/SearchField.js.map +1 -0
  24. package/dist/SearchFieldScopeOption.d.ts +26 -0
  25. package/dist/SearchFieldScopeOption.js +35 -0
  26. package/dist/SearchFieldScopeOption.js.map +1 -0
  27. package/dist/SearchFieldTemplate.d.ts +2 -0
  28. package/dist/SearchFieldTemplate.js +20 -0
  29. package/dist/SearchFieldTemplate.js.map +1 -0
  30. package/dist/SideNavigationItem.js +1 -1
  31. package/dist/SideNavigationItem.js.map +1 -1
  32. package/dist/UserSettingsDialog.d.ts +118 -0
  33. package/dist/UserSettingsDialog.js +260 -0
  34. package/dist/UserSettingsDialog.js.map +1 -0
  35. package/dist/UserSettingsDialogTemplate.d.ts +2 -0
  36. package/dist/UserSettingsDialogTemplate.js +23 -0
  37. package/dist/UserSettingsDialogTemplate.js.map +1 -0
  38. package/dist/UserSettingsItem.d.ts +131 -0
  39. package/dist/UserSettingsItem.js +209 -0
  40. package/dist/UserSettingsItem.js.map +1 -0
  41. package/dist/UserSettingsItemTemplate.d.ts +4 -0
  42. package/dist/UserSettingsItemTemplate.js +20 -0
  43. package/dist/UserSettingsItemTemplate.js.map +1 -0
  44. package/dist/UserSettingsView.d.ts +43 -0
  45. package/dist/UserSettingsView.js +68 -0
  46. package/dist/UserSettingsView.js.map +1 -0
  47. package/dist/UserSettingsViewTemplate.d.ts +2 -0
  48. package/dist/UserSettingsViewTemplate.js +5 -0
  49. package/dist/UserSettingsViewTemplate.js.map +1 -0
  50. package/dist/bundle.esm.js +5 -0
  51. package/dist/bundle.esm.js.map +1 -1
  52. package/dist/css/themes/DynamicPage.css +1 -1
  53. package/dist/css/themes/DynamicPageHeader.css +1 -1
  54. package/dist/css/themes/DynamicPageHeaderActions.css +1 -1
  55. package/dist/css/themes/DynamicPageTitle.css +1 -1
  56. package/dist/css/themes/FlexibleColumnLayout.css +1 -1
  57. package/dist/css/themes/IllustratedMessage.css +1 -1
  58. package/dist/css/themes/MediaGallery.css +1 -1
  59. package/dist/css/themes/MediaGalleryItem.css +1 -1
  60. package/dist/css/themes/NavigationMenu.css +1 -1
  61. package/dist/css/themes/NavigationMenuItem.css +1 -1
  62. package/dist/css/themes/NotificationListGroupItem.css +1 -1
  63. package/dist/css/themes/NotificationListItem.css +1 -1
  64. package/dist/css/themes/NotificationListItemBase.css +1 -1
  65. package/dist/css/themes/NotificationStateIcon.css +1 -1
  66. package/dist/css/themes/Page.css +1 -1
  67. package/dist/css/themes/ProductSwitchItem.css +1 -1
  68. package/dist/css/themes/SearchField.css +1 -0
  69. package/dist/css/themes/ShellBar.css +1 -1
  70. package/dist/css/themes/ShellBarPopover.css +1 -1
  71. package/dist/css/themes/SideNavigation.css +1 -1
  72. package/dist/css/themes/SideNavigationGroup.css +1 -1
  73. package/dist/css/themes/SideNavigationItem.css +1 -1
  74. package/dist/css/themes/SideNavigationItemBase.css +1 -1
  75. package/dist/css/themes/SideNavigationPopover.css +1 -1
  76. package/dist/css/themes/SideNavigationSubItem.css +1 -1
  77. package/dist/css/themes/Timeline.css +1 -1
  78. package/dist/css/themes/TimelineGroupItem.css +1 -1
  79. package/dist/css/themes/TimelineItem.css +1 -1
  80. package/dist/css/themes/UploadCollection.css +1 -1
  81. package/dist/css/themes/UploadCollectionItem.css +1 -1
  82. package/dist/css/themes/UserSettingsDialog.css +1 -0
  83. package/dist/css/themes/UserSettingsItem.css +1 -0
  84. package/dist/css/themes/UserSettingsView.css +1 -0
  85. package/dist/css/themes/ViewSettingsDialog.css +1 -1
  86. package/dist/css/themes/Wizard.css +1 -1
  87. package/dist/css/themes/WizardTab.css +1 -1
  88. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  89. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  90. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  91. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  92. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  93. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  94. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  95. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  96. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  97. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  98. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  99. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  100. package/dist/custom-elements-internal.json +730 -0
  101. package/dist/custom-elements.json +573 -0
  102. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  103. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  104. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  105. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  106. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  107. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  108. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  109. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  110. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  111. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  112. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  113. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  114. package/dist/generated/i18n/i18n-defaults.d.ts +10 -1
  115. package/dist/generated/i18n/i18n-defaults.js +10 -1
  116. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  117. package/dist/generated/themes/DynamicPage.css.d.ts +1 -1
  118. package/dist/generated/themes/DynamicPage.css.js +1 -1
  119. package/dist/generated/themes/DynamicPage.css.js.map +1 -1
  120. package/dist/generated/themes/DynamicPageHeader.css.d.ts +1 -1
  121. package/dist/generated/themes/DynamicPageHeader.css.js +1 -1
  122. package/dist/generated/themes/DynamicPageHeader.css.js.map +1 -1
  123. package/dist/generated/themes/DynamicPageHeaderActions.css.d.ts +1 -1
  124. package/dist/generated/themes/DynamicPageHeaderActions.css.js +1 -1
  125. package/dist/generated/themes/DynamicPageHeaderActions.css.js.map +1 -1
  126. package/dist/generated/themes/DynamicPageTitle.css.d.ts +1 -1
  127. package/dist/generated/themes/DynamicPageTitle.css.js +1 -1
  128. package/dist/generated/themes/DynamicPageTitle.css.js.map +1 -1
  129. package/dist/generated/themes/FlexibleColumnLayout.css.d.ts +1 -1
  130. package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
  131. package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
  132. package/dist/generated/themes/IllustratedMessage.css.d.ts +1 -1
  133. package/dist/generated/themes/IllustratedMessage.css.js +1 -1
  134. package/dist/generated/themes/IllustratedMessage.css.js.map +1 -1
  135. package/dist/generated/themes/MediaGallery.css.d.ts +1 -1
  136. package/dist/generated/themes/MediaGallery.css.js +1 -1
  137. package/dist/generated/themes/MediaGallery.css.js.map +1 -1
  138. package/dist/generated/themes/MediaGalleryItem.css.d.ts +1 -1
  139. package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
  140. package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
  141. package/dist/generated/themes/NavigationMenu.css.d.ts +1 -1
  142. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  143. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  144. package/dist/generated/themes/NavigationMenuItem.css.d.ts +1 -1
  145. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  146. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  147. package/dist/generated/themes/NotificationListGroupItem.css.d.ts +1 -1
  148. package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
  149. package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
  150. package/dist/generated/themes/NotificationListItem.css.d.ts +1 -1
  151. package/dist/generated/themes/NotificationListItem.css.js +1 -1
  152. package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
  153. package/dist/generated/themes/NotificationListItemBase.css.d.ts +1 -1
  154. package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
  155. package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
  156. package/dist/generated/themes/NotificationStateIcon.css.d.ts +1 -1
  157. package/dist/generated/themes/NotificationStateIcon.css.js +1 -1
  158. package/dist/generated/themes/NotificationStateIcon.css.js.map +1 -1
  159. package/dist/generated/themes/Page.css.d.ts +1 -1
  160. package/dist/generated/themes/Page.css.js +1 -1
  161. package/dist/generated/themes/Page.css.js.map +1 -1
  162. package/dist/generated/themes/ProductSwitchItem.css.d.ts +1 -1
  163. package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
  164. package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
  165. package/dist/generated/themes/SearchField.css.d.ts +2 -0
  166. package/dist/generated/themes/SearchField.css.js +8 -0
  167. package/dist/generated/themes/SearchField.css.js.map +1 -0
  168. package/dist/generated/themes/ShellBar.css.d.ts +1 -1
  169. package/dist/generated/themes/ShellBar.css.js +1 -1
  170. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  171. package/dist/generated/themes/ShellBarPopover.css.d.ts +1 -1
  172. package/dist/generated/themes/ShellBarPopover.css.js +1 -1
  173. package/dist/generated/themes/ShellBarPopover.css.js.map +1 -1
  174. package/dist/generated/themes/SideNavigation.css.d.ts +1 -1
  175. package/dist/generated/themes/SideNavigation.css.js +1 -1
  176. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  177. package/dist/generated/themes/SideNavigationGroup.css.d.ts +1 -1
  178. package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
  179. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  180. package/dist/generated/themes/SideNavigationItem.css.d.ts +1 -1
  181. package/dist/generated/themes/SideNavigationItem.css.js +1 -1
  182. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  183. package/dist/generated/themes/SideNavigationItemBase.css.d.ts +1 -1
  184. package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
  185. package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
  186. package/dist/generated/themes/SideNavigationPopover.css.d.ts +1 -1
  187. package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
  188. package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
  189. package/dist/generated/themes/SideNavigationSubItem.css.d.ts +1 -1
  190. package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
  191. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  192. package/dist/generated/themes/Timeline.css.d.ts +1 -1
  193. package/dist/generated/themes/Timeline.css.js +1 -1
  194. package/dist/generated/themes/Timeline.css.js.map +1 -1
  195. package/dist/generated/themes/TimelineGroupItem.css.d.ts +1 -1
  196. package/dist/generated/themes/TimelineGroupItem.css.js +1 -1
  197. package/dist/generated/themes/TimelineGroupItem.css.js.map +1 -1
  198. package/dist/generated/themes/TimelineItem.css.d.ts +1 -1
  199. package/dist/generated/themes/TimelineItem.css.js +1 -1
  200. package/dist/generated/themes/TimelineItem.css.js.map +1 -1
  201. package/dist/generated/themes/UploadCollection.css.d.ts +1 -1
  202. package/dist/generated/themes/UploadCollection.css.js +1 -1
  203. package/dist/generated/themes/UploadCollection.css.js.map +1 -1
  204. package/dist/generated/themes/UploadCollectionItem.css.d.ts +1 -1
  205. package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
  206. package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
  207. package/dist/generated/themes/UserSettingsDialog.css.d.ts +2 -0
  208. package/dist/generated/themes/UserSettingsDialog.css.js +8 -0
  209. package/dist/generated/themes/UserSettingsDialog.css.js.map +1 -0
  210. package/dist/generated/themes/UserSettingsItem.css.d.ts +2 -0
  211. package/dist/generated/themes/UserSettingsItem.css.js +8 -0
  212. package/dist/generated/themes/UserSettingsItem.css.js.map +1 -0
  213. package/dist/generated/themes/UserSettingsView.css.d.ts +2 -0
  214. package/dist/generated/themes/UserSettingsView.css.js +8 -0
  215. package/dist/generated/themes/UserSettingsView.css.js.map +1 -0
  216. package/dist/generated/themes/ViewSettingsDialog.css.d.ts +1 -1
  217. package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
  218. package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
  219. package/dist/generated/themes/Wizard.css.d.ts +1 -1
  220. package/dist/generated/themes/Wizard.css.js +1 -1
  221. package/dist/generated/themes/Wizard.css.js.map +1 -1
  222. package/dist/generated/themes/WizardTab.css.d.ts +1 -1
  223. package/dist/generated/themes/WizardTab.css.js +1 -1
  224. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  225. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  226. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  227. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  228. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  229. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  230. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  231. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  232. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  233. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  234. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  235. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  236. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  237. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  238. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  239. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  240. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  241. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  242. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  243. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.d.ts +1 -1
  244. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  245. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  246. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.d.ts +1 -1
  247. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  248. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  249. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  250. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  251. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  252. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.d.ts +1 -1
  253. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  254. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  255. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  256. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  257. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  258. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.d.ts +1 -1
  259. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  260. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  261. package/dist/types/SearchMode.d.ts +17 -0
  262. package/dist/types/SearchMode.js +19 -0
  263. package/dist/types/SearchMode.js.map +1 -0
  264. package/dist/vscode.html-custom-data.json +104 -0
  265. package/dist/web-types.json +283 -1
  266. package/package.json +7 -7
  267. package/src/NotificationListGroupItemTemplate.tsx +37 -43
  268. package/src/SearchFieldTemplate.tsx +83 -0
  269. package/src/UserSettingsDialogTemplate.tsx +68 -0
  270. package/src/UserSettingsItemTemplate.tsx +52 -0
  271. package/src/UserSettingsViewTemplate.tsx +11 -0
  272. package/src/i18n/messagebundle.properties +27 -1
  273. package/src/themes/IllustratedMessage.css +5 -2
  274. package/src/themes/NavigationMenuItem.css +0 -1
  275. package/src/themes/NotificationListGroupItem.css +5 -0
  276. package/src/themes/SearchField.css +234 -0
  277. package/src/themes/ShellBar.css +7 -2
  278. package/src/themes/SideNavigationItemBase.css +71 -10
  279. package/src/themes/UserSettingsDialog.css +106 -0
  280. package/src/themes/UserSettingsItem.css +78 -0
  281. package/src/themes/UserSettingsView.css +13 -0
  282. package/src/themes/base/SearchField-parameters.css +23 -0
  283. package/src/themes/base/SideNavigation-parameters.css +7 -1
  284. package/src/themes/sap_fiori_3/SearchField-parameters.css +25 -0
  285. package/src/themes/sap_fiori_3/parameters-bundle.css +1 -0
  286. package/src/themes/sap_fiori_3_dark/SearchField-parameters.css +25 -0
  287. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
  288. package/src/themes/sap_fiori_3_hcb/SearchField-parameters.css +25 -0
  289. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
  290. package/src/themes/sap_fiori_3_hcw/SearchField-parameters.css +25 -0
  291. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
  292. package/src/themes/sap_horizon/SideNavigation-parameters.css +7 -3
  293. package/src/themes/sap_horizon/parameters-bundle.css +1 -0
  294. package/src/themes/sap_horizon_dark/SideNavigation-parameters.css +7 -3
  295. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -0
  296. package/src/themes/sap_horizon_hcb/SearchField-parameters.css +25 -0
  297. package/src/themes/sap_horizon_hcb/SideNavigation-parameters.css +9 -3
  298. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -0
  299. package/src/themes/sap_horizon_hcw/SearchField-parameters.css +25 -0
  300. package/src/themes/sap_horizon_hcw/SideNavigation-parameters.css +9 -3
  301. package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -0
@@ -0,0 +1,130 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
+ import type SearchMode from "./types/SearchMode.js";
4
+ import type { SelectChangeEventDetail } from "@ui5/webcomponents/dist/Select.js";
5
+ /**
6
+ * Interface for components that may be slotted inside a `ui5-search`
7
+ * @public
8
+ */
9
+ interface ISearchFieldScopeOption extends UI5Element {
10
+ text?: string;
11
+ selected: boolean;
12
+ stableDomRef: string;
13
+ }
14
+ type SearchFieldScopeSelectionChangeDetails = {
15
+ scope: ISearchFieldScopeOption | undefined;
16
+ };
17
+ /**
18
+ * @class
19
+ *
20
+ * ### Overview
21
+ *
22
+ * A `ui5-search-field` is an input field, used for user search.
23
+ *
24
+ * The `ui5-search-field` consists of several elements parts:
25
+ * - Scope - displays a select in the beggining of the component, used for filtering results by their scope.
26
+ * - Input field - for user input value
27
+ * - Clear button - gives the possibility for deleting the entered value
28
+ * - Search button - a primary button for performing search, when the user has entered a search term
29
+ * - Expand/Collapse button - when there is no search term, the search button behaves as an expand/collapse button for the `ui5-search-field` component
30
+ *
31
+ * ### ES6 Module Import
32
+ *
33
+ * `import "@ui5/webcomponents/fiori/dist/SearchField.js";`
34
+ *
35
+ * @constructor
36
+ * @extends UI5Element
37
+ * @private
38
+ */
39
+ declare class SearchField extends UI5Element {
40
+ eventDetails: {
41
+ search: void;
42
+ input: void;
43
+ "scope-change": SearchFieldScopeSelectionChangeDetails;
44
+ };
45
+ /**
46
+ * Defines the mode of the component.
47
+ * @default "Default"
48
+ * @public
49
+ */
50
+ mode: `${SearchMode}`;
51
+ /**
52
+ * Defines whether the clear icon of the search will be shown.
53
+ * @default false
54
+ * @public
55
+ */
56
+ showClearIcon: boolean;
57
+ /**
58
+ * Defines whether the component is expanded.
59
+ *
60
+ * @default false
61
+ * @public
62
+ */
63
+ expanded: boolean;
64
+ /**
65
+ * Determines whether the component is in a fixed state that is not
66
+ * expandable/collapsible by user interaction.
67
+ * @default false
68
+ * @public
69
+ */
70
+ fixed: boolean;
71
+ /**
72
+ * Defines the value of the component.
73
+ *
74
+ * **Note:** The property is updated upon typing.
75
+ * @default ""
76
+ * @public
77
+ */
78
+ value: string;
79
+ /**
80
+ * Defines a short hint intended to aid the user with data entry when the
81
+ * component has no value.
82
+ * @default undefined
83
+ * @public
84
+ */
85
+ placeholder?: string;
86
+ /**
87
+ * Defines the accessible ARIA name of the component.
88
+ * @public
89
+ * @default undefined
90
+ */
91
+ accessibleName?: string;
92
+ /**
93
+ * Defines the component scope options.
94
+ * @public
95
+ */
96
+ scopeOptions: Array<ISearchFieldScopeOption>;
97
+ /**
98
+ * @private
99
+ */
100
+ focusedInnerInput: boolean;
101
+ /**
102
+ * @private
103
+ */
104
+ _effectiveShowClearIcon: boolean;
105
+ static i18nBundle: I18nBundle;
106
+ onBeforeRendering(): void;
107
+ _onkeydown(e: KeyboardEvent): void;
108
+ _onfocusin(): void;
109
+ _onfocusout(): void;
110
+ _handleEnter(): void;
111
+ _handleSearchIconPress(): void;
112
+ _handleInput(e: InputEvent): void;
113
+ _handleClear(): void;
114
+ _handleScopeChange(e: CustomEvent<SelectChangeEventDetail>): void;
115
+ get _isSearchIcon(): boolean | 0;
116
+ get _searchButtonAccessibilityAttributes(): {
117
+ expanded: boolean;
118
+ };
119
+ get _translations(): {
120
+ scope: string;
121
+ clearIcon: string;
122
+ searchIcon: string;
123
+ collapsedSearch: string;
124
+ };
125
+ captureRef(ref: HTMLElement & {
126
+ scopeOption?: UI5Element;
127
+ } | null): void;
128
+ }
129
+ export default SearchField;
130
+ export type { ISearchFieldScopeOption, SearchFieldScopeSelectionChangeDetails };
@@ -0,0 +1,228 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var SearchField_1;
8
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
11
+ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
12
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
13
+ import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
14
+ import SearchFieldTemplate from "./SearchFieldTemplate.js";
15
+ import SearchFieldCss from "./generated/themes/SearchField.css.js";
16
+ import { isEnter, } from "@ui5/webcomponents-base/dist/Keys.js";
17
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
18
+ import { SEARCH_FIELD_SCOPE_SELECT_LABEL, SEARCH_FIELD_CLEAR_ICON, SEARCH_FIELD_SEARCH_ICON, SEARCH_FIELD_SEARCH_COLLAPSED, SEARCH_FIELD_SEARCH_EXPANDED, } from "./generated/i18n/i18n-defaults.js";
19
+ /**
20
+ * @class
21
+ *
22
+ * ### Overview
23
+ *
24
+ * A `ui5-search-field` is an input field, used for user search.
25
+ *
26
+ * The `ui5-search-field` consists of several elements parts:
27
+ * - Scope - displays a select in the beggining of the component, used for filtering results by their scope.
28
+ * - Input field - for user input value
29
+ * - Clear button - gives the possibility for deleting the entered value
30
+ * - Search button - a primary button for performing search, when the user has entered a search term
31
+ * - Expand/Collapse button - when there is no search term, the search button behaves as an expand/collapse button for the `ui5-search-field` component
32
+ *
33
+ * ### ES6 Module Import
34
+ *
35
+ * `import "@ui5/webcomponents/fiori/dist/SearchField.js";`
36
+ *
37
+ * @constructor
38
+ * @extends UI5Element
39
+ * @private
40
+ */
41
+ let SearchField = SearchField_1 = class SearchField extends UI5Element {
42
+ constructor() {
43
+ super(...arguments);
44
+ /**
45
+ * Defines the mode of the component.
46
+ * @default "Default"
47
+ * @public
48
+ */
49
+ this.mode = "Default";
50
+ /**
51
+ * Defines whether the clear icon of the search will be shown.
52
+ * @default false
53
+ * @public
54
+ */
55
+ this.showClearIcon = false;
56
+ /**
57
+ * Defines whether the component is expanded.
58
+ *
59
+ * @default false
60
+ * @public
61
+ */
62
+ this.expanded = false;
63
+ /**
64
+ * Determines whether the component is in a fixed state that is not
65
+ * expandable/collapsible by user interaction.
66
+ * @default false
67
+ * @public
68
+ */
69
+ this.fixed = false;
70
+ /**
71
+ * Defines the value of the component.
72
+ *
73
+ * **Note:** The property is updated upon typing.
74
+ * @default ""
75
+ * @public
76
+ */
77
+ this.value = "";
78
+ /**
79
+ * @private
80
+ */
81
+ this.focusedInnerInput = false;
82
+ /**
83
+ * @private
84
+ */
85
+ this._effectiveShowClearIcon = false;
86
+ }
87
+ onBeforeRendering() {
88
+ this._effectiveShowClearIcon = (this.showClearIcon && !!this.value);
89
+ }
90
+ _onkeydown(e) {
91
+ if (isEnter(e)) {
92
+ return this._handleEnter();
93
+ }
94
+ }
95
+ _onfocusin() {
96
+ this.focusedInnerInput = true;
97
+ }
98
+ _onfocusout() {
99
+ this.focusedInnerInput = false;
100
+ }
101
+ _handleEnter() {
102
+ if (this.value.length) {
103
+ this.fireDecoratorEvent("search");
104
+ }
105
+ }
106
+ _handleSearchIconPress() {
107
+ if (this.value.length) {
108
+ this.fireDecoratorEvent("search");
109
+ return;
110
+ }
111
+ if (this.fixed) {
112
+ return;
113
+ }
114
+ this.expanded = !this.expanded;
115
+ setTimeout(() => {
116
+ this.focus();
117
+ }, 0);
118
+ }
119
+ _handleInput(e) {
120
+ this.value = e.target.value;
121
+ this.fireDecoratorEvent("input");
122
+ }
123
+ _handleClear() {
124
+ this.value = "";
125
+ this.fireDecoratorEvent("input");
126
+ this.focus();
127
+ }
128
+ _handleScopeChange(e) {
129
+ const item = e.detail.selectedOption;
130
+ this.fireDecoratorEvent("scope-change", {
131
+ scope: item.scopeOption,
132
+ });
133
+ }
134
+ get _isSearchIcon() {
135
+ return this.value.length && this.focusedInnerInput;
136
+ }
137
+ get _searchButtonAccessibilityAttributes() {
138
+ return {
139
+ expanded: this.expanded,
140
+ };
141
+ }
142
+ get _translations() {
143
+ return {
144
+ scope: SearchField_1.i18nBundle.getText(SEARCH_FIELD_SCOPE_SELECT_LABEL),
145
+ clearIcon: SearchField_1.i18nBundle.getText(SEARCH_FIELD_CLEAR_ICON),
146
+ searchIcon: this._isSearchIcon ? SearchField_1.i18nBundle.getText(SEARCH_FIELD_SEARCH_ICON) : SearchField_1.i18nBundle.getText(SEARCH_FIELD_SEARCH_EXPANDED),
147
+ collapsedSearch: SearchField_1.i18nBundle.getText(SEARCH_FIELD_SEARCH_COLLAPSED),
148
+ };
149
+ }
150
+ captureRef(ref) {
151
+ if (ref) {
152
+ ref.scopeOption = this;
153
+ }
154
+ }
155
+ };
156
+ __decorate([
157
+ property()
158
+ ], SearchField.prototype, "mode", void 0);
159
+ __decorate([
160
+ property({ type: Boolean })
161
+ ], SearchField.prototype, "showClearIcon", void 0);
162
+ __decorate([
163
+ property({ type: Boolean })
164
+ ], SearchField.prototype, "expanded", void 0);
165
+ __decorate([
166
+ property({ type: Boolean })
167
+ ], SearchField.prototype, "fixed", void 0);
168
+ __decorate([
169
+ property()
170
+ ], SearchField.prototype, "value", void 0);
171
+ __decorate([
172
+ property()
173
+ ], SearchField.prototype, "placeholder", void 0);
174
+ __decorate([
175
+ property()
176
+ ], SearchField.prototype, "accessibleName", void 0);
177
+ __decorate([
178
+ slot({ type: HTMLElement, individualSlots: true, invalidateOnChildChange: true })
179
+ ], SearchField.prototype, "scopeOptions", void 0);
180
+ __decorate([
181
+ property({ type: Boolean })
182
+ ], SearchField.prototype, "focusedInnerInput", void 0);
183
+ __decorate([
184
+ property({ type: Boolean })
185
+ ], SearchField.prototype, "_effectiveShowClearIcon", void 0);
186
+ __decorate([
187
+ i18n("@ui5/webcomponents-fiori")
188
+ ], SearchField, "i18nBundle", void 0);
189
+ SearchField = SearchField_1 = __decorate([
190
+ customElement({
191
+ tag: "ui5-search-field",
192
+ languageAware: true,
193
+ renderer: jsxRenderer,
194
+ template: SearchFieldTemplate,
195
+ styles: [
196
+ SearchFieldCss,
197
+ ],
198
+ })
199
+ /**
200
+ * Fired when typing in input or clear icon is pressed.
201
+ *
202
+ * @public
203
+ */
204
+ ,
205
+ event("input", {
206
+ bubbles: true,
207
+ })
208
+ /**
209
+ * Fired when the scope has changed.
210
+ * @public
211
+ * @param {HTMLElement} scope The newly selected scope
212
+ */
213
+ ,
214
+ event("scope-change", {
215
+ bubbles: true,
216
+ })
217
+ /**
218
+ * Fired when the user has triggered search with Enter key or Search Button press.
219
+ * @public
220
+ */
221
+ ,
222
+ event("search", {
223
+ bubbles: true,
224
+ })
225
+ ], SearchField);
226
+ SearchField.define();
227
+ export default SearchField;
228
+ //# sourceMappingURL=SearchField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchField.js","sourceRoot":"","sources":["../src/SearchField.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport SearchFieldTemplate from \"./SearchFieldTemplate.js\";\nimport SearchFieldCss from \"./generated/themes/SearchField.css.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type SearchMode from \"./types/SearchMode.js\";\nimport type { IOption, SelectChangeEventDetail } from \"@ui5/webcomponents/dist/Select.js\";\n\nimport {\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\n\nimport {\n\tSEARCH_FIELD_SCOPE_SELECT_LABEL,\n\tSEARCH_FIELD_CLEAR_ICON,\n\tSEARCH_FIELD_SEARCH_ICON,\n\tSEARCH_FIELD_SEARCH_COLLAPSED,\n\tSEARCH_FIELD_SEARCH_EXPANDED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * Interface for components that may be slotted inside a `ui5-search`\n * @public\n */\ninterface ISearchFieldScopeOption extends UI5Element {\n\ttext?: string,\n\tselected: boolean,\n\tstableDomRef: string,\n}\n\ntype SearchFieldScopeSelectionChangeDetails = {\n\tscope: ISearchFieldScopeOption | undefined;\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * A `ui5-search-field` is an input field, used for user search.\n *\n * The `ui5-search-field` 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 * - Expand/Collapse button - when there is no search term, the search button behaves as an expand/collapse button for the `ui5-search-field` component\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/fiori/dist/SearchField.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @private\n */\n@customElement({\n\ttag: \"ui5-search-field\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: SearchFieldTemplate,\n\tstyles: [\n\t\tSearchFieldCss,\n\t],\n})\n\n/**\n * Fired when typing in input or clear icon is pressed.\n *\n * @public\n */\n@event(\"input\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the scope has changed.\n * @public\n * @param {HTMLElement} scope The newly selected scope\n */\n@event(\"scope-change\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user has triggered search with Enter key or Search Button press.\n * @public\n */\n@event(\"search\", {\n\tbubbles: true,\n})\n\nclass SearchField extends UI5Element {\n\teventDetails!: {\n\t\tsearch: void,\n\t\tinput: void,\n\t\t\"scope-change\": SearchFieldScopeSelectionChangeDetails,\n\t}\n\n\t/**\n\t * Defines the mode of the component.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property()\n\tmode: `${SearchMode}` = \"Default\";\n\n\t/**\n\t * Defines whether the clear icon of the search will be shown.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowClearIcon = false;\n\n\t/**\n\t * Defines whether the component is expanded.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\texpanded = false;\n\n\t/**\n\t * Determines whether the component is in a fixed state that is not\n\t * expandable/collapsible by user interaction.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tfixed = false;\n\n\t/**\n\t * Defines the value of the component.\n\t *\n\t * **Note:** The property is updated upon typing.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tvalue = \"\";\n\n\t/**\n\t * Defines a short hint intended to aid the user with data entry when the\n\t * component has no value.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tplaceholder?: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the component scope options.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true, invalidateOnChildChange: true })\n\tscopeOptions!: Array<ISearchFieldScopeOption>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocusedInnerInput = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_effectiveShowClearIcon = false;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tthis._effectiveShowClearIcon = (this.showClearIcon && !!this.value);\n\t}\n\n\t_onkeydown(e:KeyboardEvent) {\n\t\tif (isEnter(e)) {\n\t\t\treturn this._handleEnter();\n\t\t}\n\t}\n\n\t_onfocusin() {\n\t\tthis.focusedInnerInput = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focusedInnerInput = false;\n\t}\n\n\t_handleEnter() {\n\t\tif (this.value.length) {\n\t\t\tthis.fireDecoratorEvent(\"search\");\n\t\t}\n\t}\n\n\t_handleSearchIconPress() {\n\t\tif (this.value.length) {\n\t\t\tthis.fireDecoratorEvent(\"search\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.fixed) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.expanded = !this.expanded;\n\n\t\tsetTimeout(() => {\n\t\t\tthis.focus();\n\t\t}, 0);\n\t}\n\n\t_handleInput(e: InputEvent) {\n\t\tthis.value = (e.target as HTMLInputElement).value;\n\n\t\tthis.fireDecoratorEvent(\"input\");\n\t}\n\n\t_handleClear() {\n\t\tthis.value = \"\";\n\t\tthis.fireDecoratorEvent(\"input\");\n\n\t\tthis.focus();\n\t}\n\n\t_handleScopeChange(e: CustomEvent<SelectChangeEventDetail>) {\n\t\tconst item = e.detail.selectedOption as IOption & { scopeOption: ISearchFieldScopeOption };\n\t\tthis.fireDecoratorEvent(\"scope-change\", {\n\t\t\tscope: item.scopeOption,\n\t\t});\n\t}\n\n\tget _isSearchIcon() {\n\t\treturn this.value.length && this.focusedInnerInput;\n\t}\n\n\tget _searchButtonAccessibilityAttributes() {\n\t\treturn {\n\t\t\texpanded: this.expanded,\n\t\t};\n\t}\n\n\tget _translations() {\n\t\treturn {\n\t\t\tscope: SearchField.i18nBundle.getText(SEARCH_FIELD_SCOPE_SELECT_LABEL),\n\t\t\tclearIcon: SearchField.i18nBundle.getText(SEARCH_FIELD_CLEAR_ICON),\n\t\t\tsearchIcon: this._isSearchIcon ? SearchField.i18nBundle.getText(SEARCH_FIELD_SEARCH_ICON) : SearchField.i18nBundle.getText(SEARCH_FIELD_SEARCH_EXPANDED),\n\t\t\tcollapsedSearch: SearchField.i18nBundle.getText(SEARCH_FIELD_SEARCH_COLLAPSED),\n\t\t};\n\t}\n\n\tcaptureRef(ref: HTMLElement & { scopeOption?: UI5Element} | null) {\n\t\tif (ref) {\n\t\t\tref.scopeOption = this;\n\t\t}\n\t}\n}\n\nSearchField.define();\n\nexport default SearchField;\n\nexport type { ISearchFieldScopeOption, SearchFieldScopeSelectionChangeDetails };\n"]}
@@ -0,0 +1,26 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import type { ISearchFieldScopeOption } from "./SearchField.js";
3
+ /**
4
+ * @class
5
+ * The `ui5-search-scope-option` represents the options for the scope in `ui5-search`.
6
+ * @constructor
7
+ * @extends UI5Element
8
+ * @abstract
9
+ * @implements {ISearchFieldScopeOption}
10
+ * @public
11
+ */
12
+ declare class SearchFieldScopeOption extends UI5Element implements ISearchFieldScopeOption {
13
+ /**
14
+ * Defines the text of the component.
15
+ * @default ""
16
+ * @public
17
+ */
18
+ text: string;
19
+ /**
20
+ * Indicates whether the item is selected
21
+ * @protected
22
+ */
23
+ selected: boolean;
24
+ get stableDomRef(): string;
25
+ }
26
+ export default SearchFieldScopeOption;
@@ -0,0 +1,35 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
8
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
9
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
10
+ /**
11
+ * @class
12
+ * The `ui5-search-scope-option` represents the options for the scope in `ui5-search`.
13
+ * @constructor
14
+ * @extends UI5Element
15
+ * @abstract
16
+ * @implements {ISearchFieldScopeOption}
17
+ * @public
18
+ */
19
+ let SearchFieldScopeOption = class SearchFieldScopeOption extends UI5Element {
20
+ get stableDomRef() {
21
+ return this.getAttribute("stable-dom-ref") || `${this._id}-stable-dom-ref`;
22
+ }
23
+ };
24
+ __decorate([
25
+ property()
26
+ ], SearchFieldScopeOption.prototype, "text", void 0);
27
+ __decorate([
28
+ property({ type: Boolean })
29
+ ], SearchFieldScopeOption.prototype, "selected", void 0);
30
+ SearchFieldScopeOption = __decorate([
31
+ customElement("ui5-search-field-scope-option")
32
+ ], SearchFieldScopeOption);
33
+ SearchFieldScopeOption.define();
34
+ export default SearchFieldScopeOption;
35
+ //# sourceMappingURL=SearchFieldScopeOption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchFieldScopeOption.js","sourceRoot":"","sources":["../src/SearchFieldScopeOption.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAGpE;;;;;;;;GAQG;AAEH,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,UAAU;IAgB9C,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;CACD,CAAA;AAZA;IADC,QAAQ,EAAE;oDACE;AAOb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wDACT;AAdd,sBAAsB;IAD3B,aAAa,CAAC,+BAA+B,CAAC;GACzC,sBAAsB,CAmB3B;AAED,sBAAsB,CAAC,MAAM,EAAE,CAAC;AAEhC,eAAe,sBAAsB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ISearchFieldScopeOption } from \"./SearchField.js\";\n\n/**\n * @class\n * The `ui5-search-scope-option` represents the options for the scope in `ui5-search`.\n * @constructor\n * @extends UI5Element\n * @abstract\n * @implements {ISearchFieldScopeOption}\n * @public\n */\n@customElement(\"ui5-search-field-scope-option\")\nclass SearchFieldScopeOption extends UI5Element implements ISearchFieldScopeOption {\n\t/**\n\t * Defines the text of the component.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ttext!: string\n\n\t/**\n\t * Indicates whether the item is selected\n\t * @protected\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean;\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n}\n\nSearchFieldScopeOption.define();\n\nexport default SearchFieldScopeOption;\n"]}
@@ -0,0 +1,2 @@
1
+ import type SearchField from "./SearchField.js";
2
+ export default function SearchFieldTemplate(this: SearchField): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import Button from "@ui5/webcomponents/dist/Button.js";
3
+ import Icon from "@ui5/webcomponents/dist/Icon.js";
4
+ import Option from "@ui5/webcomponents/dist/Option.js";
5
+ import Select from "@ui5/webcomponents/dist/Select.js";
6
+ import SearchMode from "./types/SearchMode.js";
7
+ import decline from "@ui5/webcomponents-icons/dist/decline.js";
8
+ import search from "@ui5/webcomponents-icons/dist/search.js";
9
+ import ButtonDesign from "@ui5/webcomponents/dist/types/ButtonDesign.js";
10
+ export default function SearchFieldTemplate() {
11
+ return (this.expanded ? (_jsx("div", { class: "ui5-search-field-root", role: "search", children: _jsxs("div", { class: "ui5-search-field-content", children: [this.mode === SearchMode.Scoped &&
12
+ _jsxs(_Fragment, { children: [_jsx(Select, { onChange: this._handleScopeChange, class: "sapUiSizeCompact", accessibleName: this._translations.scope, tooltip: this._translations.scope, children: this.scopeOptions.map(scopeOption => {
13
+ return _jsx(Option, { selected: scopeOption.selected, "data-ui5-stable": scopeOption.stableDomRef, ref: this.captureRef.bind(scopeOption), children: scopeOption.text });
14
+ }, this) }), _jsx("div", { class: "ui5-search-field-separator" })] }), _jsx("input", { class: "ui5-search-field-inner-input", role: "searchbox", "aria-label": this.accessibleName, value: this.value, placeholder: this.placeholder, "data-sap-focus-ref": true, onInput: this._handleInput, onFocusIn: this._onfocusin, onFocusOut: this._onfocusout, onKeyDown: this._onkeydown }), this._effectiveShowClearIcon &&
15
+ _jsx(Icon, { class: "ui5-shell-search-field-icon", name: decline, showTooltip: true, accessibleName: this._translations.clearIcon, onClick: this._handleClear }), _jsx(Icon, { class: {
16
+ "ui5-shell-search-field-icon": true,
17
+ "ui5-shell-search-field-search-icon": this._isSearchIcon,
18
+ }, name: search, showTooltip: true, accessibleName: this._translations.searchIcon, onClick: this._handleSearchIconPress })] }) })) : (_jsx(Button, { class: "ui5-shell-search-field-button", icon: search, design: ButtonDesign.Transparent, "data-sap-focus-ref": true, onClick: this._handleSearchIconPress, tooltip: this._translations.collapsedSearch, accessibleName: this._translations.collapsedSearch, accessibilityAttributes: this._searchButtonAccessibilityAttributes })));
19
+ }
20
+ //# sourceMappingURL=SearchFieldTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchFieldTemplate.js","sourceRoot":"","sources":["../src/SearchFieldTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AAEvD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,OAAO,MAAM,0CAA0C,CAAC;AAC/D,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAC7D,OAAO,YAAY,MAAM,+CAA+C,CAAC;AAEzE,MAAM,CAAC,OAAO,UAAU,mBAAmB;IAC1C,OAAO,CACN,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACf,cAAK,KAAK,EAAC,uBAAuB,EAAC,IAAI,EAAC,QAAQ,YAC/C,eAAK,KAAK,EAAC,0BAA0B,aACnC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM;oBAC/B,8BACC,KAAC,MAAM,IACN,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,KAAK,EAAC,kBAAkB,EACxB,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EACxC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,YAChC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oCACpC,OAAO,KAAC,MAAM,IACb,QAAQ,EAAE,WAAW,CAAC,QAAQ,qBACb,WAAW,CAAC,YAAY,EACzC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,YACrC,WAAW,CAAC,IAAI,GAAU,CAAC;gCAC9B,CAAC,EACD,IAAI,CAAC,GACG,EACT,cAAK,KAAK,EAAC,4BAA4B,GAAO,IAC5C,EAGJ,gBACC,KAAK,EAAC,8BAA8B,EACpC,IAAI,EAAC,WAAW,gBACJ,IAAI,CAAC,cAAc,EAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAE,IAAI,CAAC,WAAW,8BAE7B,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,SAAS,EAAE,IAAI,CAAC,UAAU,GAAI,EAE9B,IAAI,CAAC,uBAAuB;oBAC5B,KAAC,IAAI,IACJ,KAAK,EAAC,6BAA6B,EACnC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAC5C,OAAO,EAAE,IAAI,CAAC,YAAY,GACnB,EAGT,KAAC,IAAI,IACJ,KAAK,EAAE;wBACN,6BAA6B,EAAE,IAAI;wBACnC,oCAAoC,EAAE,IAAI,CAAC,aAAa;qBACxD,EACD,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,EAC7C,OAAO,EAAE,IAAI,CAAC,sBAAsB,GAC7B,IACH,GACD,CACN,CAAC,CAAC,CAAC,CACH,KAAC,MAAM,IACN,KAAK,EAAC,+BAA+B,EACrC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,CAAC,WAAW,8BAEhC,OAAO,EAAE,IAAI,CAAC,sBAAsB,EACpC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,EAC3C,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,EAClD,uBAAuB,EAAE,IAAI,CAAC,oCAAoC,GACzD,CACV,CACD,CAAC;AACH,CAAC","sourcesContent":["import Button from \"@ui5/webcomponents/dist/Button.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Option from \"@ui5/webcomponents/dist/Option.js\";\nimport Select from \"@ui5/webcomponents/dist/Select.js\";\nimport type SearchField from \"./SearchField.js\";\nimport SearchMode from \"./types/SearchMode.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport search from \"@ui5/webcomponents-icons/dist/search.js\";\nimport ButtonDesign from \"@ui5/webcomponents/dist/types/ButtonDesign.js\";\n\nexport default function SearchFieldTemplate(this: SearchField) {\n\treturn (\n\t\tthis.expanded ? (\n\t\t\t<div class=\"ui5-search-field-root\" role=\"search\">\n\t\t\t\t<div class=\"ui5-search-field-content\">\n\t\t\t\t\t{this.mode === SearchMode.Scoped &&\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\tonChange={this._handleScopeChange}\n\t\t\t\t\t\t\t\tclass=\"sapUiSizeCompact\"\n\t\t\t\t\t\t\t\taccessibleName={this._translations.scope}\n\t\t\t\t\t\t\t\ttooltip={this._translations.scope}>\n\t\t\t\t\t\t\t\t{this.scopeOptions.map(scopeOption => {\n\t\t\t\t\t\t\t\t\treturn <Option\n\t\t\t\t\t\t\t\t\t\tselected={scopeOption.selected}\n\t\t\t\t\t\t\t\t\t\tdata-ui5-stable={scopeOption.stableDomRef}\n\t\t\t\t\t\t\t\t\t\tref={this.captureRef.bind(scopeOption)}\n\t\t\t\t\t\t\t\t\t>{scopeOption.text}</Option>;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tthis)}\n\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t\t<div class=\"ui5-search-field-separator\"></div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\n\t\t\t\t\t<input\n\t\t\t\t\t\tclass=\"ui5-search-field-inner-input\"\n\t\t\t\t\t\trole=\"searchbox\"\n\t\t\t\t\t\taria-label={this.accessibleName}\n\t\t\t\t\t\tvalue={this.value}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\tdata-sap-focus-ref\n\t\t\t\t\t\tonInput={this._handleInput}\n\t\t\t\t\t\tonFocusIn={this._onfocusin}\n\t\t\t\t\t\tonFocusOut={this._onfocusout}\n\t\t\t\t\t\tonKeyDown={this._onkeydown} />\n\n\t\t\t\t\t{this._effectiveShowClearIcon &&\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclass=\"ui5-shell-search-field-icon\"\n\t\t\t\t\t\t\tname={decline}\n\t\t\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\t\t\taccessibleName={this._translations.clearIcon}\n\t\t\t\t\t\t\tonClick={this._handleClear}\n\t\t\t\t\t\t></Icon>\n\t\t\t\t\t}\n\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\"ui5-shell-search-field-icon\": true,\n\t\t\t\t\t\t\t\"ui5-shell-search-field-search-icon\": this._isSearchIcon,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tname={search}\n\t\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\t\taccessibleName={this._translations.searchIcon}\n\t\t\t\t\t\tonClick={this._handleSearchIconPress}\n\t\t\t\t\t></Icon>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t) : (\n\t\t\t<Button\n\t\t\t\tclass=\"ui5-shell-search-field-button\"\n\t\t\t\ticon={search}\n\t\t\t\tdesign={ButtonDesign.Transparent}\n\t\t\t\tdata-sap-focus-ref\n\t\t\t\tonClick={this._handleSearchIconPress}\n\t\t\t\ttooltip={this._translations.collapsedSearch}\n\t\t\t\taccessibleName={this._translations.collapsedSearch}\n\t\t\t\taccessibilityAttributes={this._searchButtonAccessibilityAttributes}\n\t\t\t></Button>\n\t\t)\n\t);\n}\n"]}
@@ -98,7 +98,7 @@ let SideNavigationItem = class SideNavigationItem extends SideNavigationSelectab
98
98
  }
99
99
  get classesArray() {
100
100
  const classes = super.classesArray;
101
- if (!this.disabled && this.parentNode.collapsed && this.items.length) {
101
+ if (!this.disabled && this.sideNavigation?.collapsed && this.items.length) {
102
102
  classes.push("ui5-sn-item-with-expander");
103
103
  }
104
104
  if (this._fixed) {
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavigationItem.js","sourceRoot":"","sources":["../src/SideNavigationItem.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRender from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisSpace,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type SideNavigationItemBase from \"./SideNavigationItemBase.js\";\nimport SideNavigationSelectableItemBase from \"./SideNavigationSelectableItemBase.js\";\nimport type SideNavigation from \"./SideNavigation.js\";\nimport type SideNavigationSubItem from \"./SideNavigationSubItem.js\";\n\n// Templates\nimport SideNavigationItemTemplate from \"./SideNavigationItemTemplate.js\";\n\n// Styles\nimport SideNavigationItemCss from \"./generated/themes/SideNavigationItem.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * Represents a navigation action. It can provide sub items.\n * The `ui5-side-navigation-item` is used within `ui5-side-navigation` or `ui5-side-navigation-group` only.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationItem.js\";`\n *\n * @constructor\n * @extends SideNavigationSelectableItemBase\n * @abstract\n * @public\n * @since 1.0.0-rc.8\n */\n@customElement({\n\ttag: \"ui5-side-navigation-item\",\n\trenderer: jsxRender,\n\ttemplate: SideNavigationItemTemplate,\n\tstyles: SideNavigationItemCss,\n})\nclass SideNavigationItem extends SideNavigationSelectableItemBase {\n\t/**\n\t * Defines if the item is expanded\n\t *\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\texpanded = false;\n\n\t/**\n\t * Defines if the item should be collapsible or not.\n\t * It is true, for example, for the items inside the Popover of the Side Navigation\n\t * @private\n\t * @default false\n\t * @since 1.10.0\n\t */\n\t@property({ type: Boolean })\n\t_fixed = false;\n\n\t/**\n * Defines nested items by passing `ui5-side-navigation-sub-item` to the default slot.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<SideNavigationSubItem>;\n\n\tget overflowItems() : Array<SideNavigationItem> {\n\t\treturn [this];\n\t}\n\n\tget selectableItems() : Array<SideNavigationSelectableItemBase> {\n\t\treturn [this, ...this.items];\n\t}\n\n\tget focusableItems() : Array<SideNavigationItemBase> {\n\t\tif (this.sideNavCollapsed) {\n\t\t\treturn [this];\n\t\t}\n\n\t\tif (this.expanded) {\n\t\t\treturn [this, ...this.items];\n\t\t}\n\n\t\treturn [this];\n\t}\n\n\tget allItems() : Array<SideNavigationItemBase> {\n\t\treturn [this, ...this.items];\n\t}\n\n\tget _ariaHasPopup() {\n\t\tif (this.inPopover && this.accessibilityAttributes?.hasPopup) {\n\t\t\treturn this.accessibilityAttributes.hasPopup;\n\t\t}\n\n\t\tif (!this.disabled && this.sideNavCollapsed && this.items.length) {\n\t\t\treturn \"tree\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget _ariaChecked() {\n\t\tif (this.isOverflow || this.unselectable) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn this.selected;\n\t}\n\n\tget _groupId() {\n\t\tif (!this.items.length) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn `${this._id}-group`;\n\t}\n\n\tget _expanded() {\n\t\tif (!this.items.length) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn this.expanded;\n\t}\n\n\tget classesArray() {\n\t\tconst classes = super.classesArray;\n\n\t\tif (!this.disabled && (this.parentNode as SideNavigation).collapsed && this.items.length) {\n\t\t\tclasses.push(\"ui5-sn-item-with-expander\");\n\t\t}\n\n\t\tif (this._fixed) {\n\t\t\tclasses.push(\"ui5-sn-item-fixed\");\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tget _selected() {\n\t\tif (this.sideNavCollapsed) {\n\t\t\treturn this.selected || this.items.some(item => item.selected);\n\t\t}\n\n\t\treturn this.selected;\n\t}\n\n\t_onToggleClick(e: CustomEvent) {\n\t\te.stopPropagation();\n\n\t\tthis._toggle();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isLeft(e)) {\n\t\t\tthis.expanded = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isRight(e)) {\n\t\t\tthis.expanded = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.unselectable && isSpace(e)) {\n\t\t\tthis._toggle();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.unselectable && isEnter(e)) {\n\t\t\tthis._toggle();\n\t\t}\n\n\t\tsuper._onkeydown(e);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tsuper._onkeyup(e);\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tsuper._onfocusin(e);\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (!this.inPopover && this.unselectable) {\n\t\t\tthis._toggle();\n\t\t}\n\n\t\tsuper._onclick(e);\n\t}\n\n\t_onfocusout() {\n\t\tif (!this.sideNavCollapsed) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getDomRef()!.classList.remove(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\t_onmouseenter() {\n\t\tif (!this.sideNavCollapsed) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getDomRef()!.classList.remove(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\t_onmouseleave() {\n\t\tif (!this.sideNavCollapsed || !this._selected) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getDomRef()!.classList.add(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\tget isSideNavigationItem() {\n\t\treturn true;\n\t}\n\n\t_toggle() {\n\t\tif (this.items.length) {\n\t\t\tthis.expanded = !this.expanded;\n\t\t}\n\t}\n}\n\nSideNavigationItem.define();\n\nconst isInstanceOfSideNavigationItem = (object: any): object is SideNavigationItem => {\n\treturn \"isSideNavigationItem\" in object;\n};\n\nexport default SideNavigationItem;\nexport { isInstanceOfSideNavigationItem };\n"]}
1
+ {"version":3,"file":"SideNavigationItem.js","sourceRoot":"","sources":["../src/SideNavigationItem.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRender from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisSpace,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type SideNavigationItemBase from \"./SideNavigationItemBase.js\";\nimport SideNavigationSelectableItemBase from \"./SideNavigationSelectableItemBase.js\";\nimport type SideNavigationSubItem from \"./SideNavigationSubItem.js\";\n\n// Templates\nimport SideNavigationItemTemplate from \"./SideNavigationItemTemplate.js\";\n\n// Styles\nimport SideNavigationItemCss from \"./generated/themes/SideNavigationItem.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * Represents a navigation action. It can provide sub items.\n * The `ui5-side-navigation-item` is used within `ui5-side-navigation` or `ui5-side-navigation-group` only.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationItem.js\";`\n *\n * @constructor\n * @extends SideNavigationSelectableItemBase\n * @abstract\n * @public\n * @since 1.0.0-rc.8\n */\n@customElement({\n\ttag: \"ui5-side-navigation-item\",\n\trenderer: jsxRender,\n\ttemplate: SideNavigationItemTemplate,\n\tstyles: SideNavigationItemCss,\n})\nclass SideNavigationItem extends SideNavigationSelectableItemBase {\n\t/**\n\t * Defines if the item is expanded\n\t *\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\texpanded = false;\n\n\t/**\n\t * Defines if the item should be collapsible or not.\n\t * It is true, for example, for the items inside the Popover of the Side Navigation\n\t * @private\n\t * @default false\n\t * @since 1.10.0\n\t */\n\t@property({ type: Boolean })\n\t_fixed = false;\n\n\t/**\n * Defines nested items by passing `ui5-side-navigation-sub-item` to the default slot.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<SideNavigationSubItem>;\n\n\tget overflowItems() : Array<SideNavigationItem> {\n\t\treturn [this];\n\t}\n\n\tget selectableItems() : Array<SideNavigationSelectableItemBase> {\n\t\treturn [this, ...this.items];\n\t}\n\n\tget focusableItems() : Array<SideNavigationItemBase> {\n\t\tif (this.sideNavCollapsed) {\n\t\t\treturn [this];\n\t\t}\n\n\t\tif (this.expanded) {\n\t\t\treturn [this, ...this.items];\n\t\t}\n\n\t\treturn [this];\n\t}\n\n\tget allItems() : Array<SideNavigationItemBase> {\n\t\treturn [this, ...this.items];\n\t}\n\n\tget _ariaHasPopup() {\n\t\tif (this.inPopover && this.accessibilityAttributes?.hasPopup) {\n\t\t\treturn this.accessibilityAttributes.hasPopup;\n\t\t}\n\n\t\tif (!this.disabled && this.sideNavCollapsed && this.items.length) {\n\t\t\treturn \"tree\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget _ariaChecked() {\n\t\tif (this.isOverflow || this.unselectable) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn this.selected;\n\t}\n\n\tget _groupId() {\n\t\tif (!this.items.length) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn `${this._id}-group`;\n\t}\n\n\tget _expanded() {\n\t\tif (!this.items.length) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn this.expanded;\n\t}\n\n\tget classesArray() {\n\t\tconst classes = super.classesArray;\n\n\t\tif (!this.disabled && this.sideNavigation?.collapsed && this.items.length) {\n\t\t\tclasses.push(\"ui5-sn-item-with-expander\");\n\t\t}\n\n\t\tif (this._fixed) {\n\t\t\tclasses.push(\"ui5-sn-item-fixed\");\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tget _selected() {\n\t\tif (this.sideNavCollapsed) {\n\t\t\treturn this.selected || this.items.some(item => item.selected);\n\t\t}\n\n\t\treturn this.selected;\n\t}\n\n\t_onToggleClick(e: CustomEvent) {\n\t\te.stopPropagation();\n\n\t\tthis._toggle();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isLeft(e)) {\n\t\t\tthis.expanded = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isRight(e)) {\n\t\t\tthis.expanded = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.unselectable && isSpace(e)) {\n\t\t\tthis._toggle();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.unselectable && isEnter(e)) {\n\t\t\tthis._toggle();\n\t\t}\n\n\t\tsuper._onkeydown(e);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tsuper._onkeyup(e);\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tsuper._onfocusin(e);\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (!this.inPopover && this.unselectable) {\n\t\t\tthis._toggle();\n\t\t}\n\n\t\tsuper._onclick(e);\n\t}\n\n\t_onfocusout() {\n\t\tif (!this.sideNavCollapsed) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getDomRef()!.classList.remove(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\t_onmouseenter() {\n\t\tif (!this.sideNavCollapsed) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getDomRef()!.classList.remove(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\t_onmouseleave() {\n\t\tif (!this.sideNavCollapsed || !this._selected) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getDomRef()!.classList.add(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\tget isSideNavigationItem() {\n\t\treturn true;\n\t}\n\n\t_toggle() {\n\t\tif (this.items.length) {\n\t\t\tthis.expanded = !this.expanded;\n\t\t}\n\t}\n}\n\nSideNavigationItem.define();\n\nconst isInstanceOfSideNavigationItem = (object: any): object is SideNavigationItem => {\n\treturn \"isSideNavigationItem\" in object;\n};\n\nexport default SideNavigationItem;\nexport { isInstanceOfSideNavigationItem };\n"]}