@cccsaurora/howler-ui 2.12.0-dev.30

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 (1142) hide show
  1. package/README.fr.md +12 -0
  2. package/README.md +12 -0
  3. package/dist/api/action/execute.d.ts +3 -0
  4. package/dist/api/action/execute.js +17 -0
  5. package/dist/api/action/index.d.ts +10 -0
  6. package/dist/api/action/index.js +28 -0
  7. package/dist/api/action/operations.d.ts +3 -0
  8. package/dist/api/action/operations.js +8 -0
  9. package/dist/api/analytic/comments/index.d.ts +13 -0
  10. package/dist/api/analytic/comments/index.js +19 -0
  11. package/dist/api/analytic/comments/react.d.ts +3 -0
  12. package/dist/api/analytic/comments/react.js +11 -0
  13. package/dist/api/analytic/favourite.d.ts +7 -0
  14. package/dist/api/analytic/favourite.js +11 -0
  15. package/dist/api/analytic/index.d.ts +12 -0
  16. package/dist/api/analytic/index.js +19 -0
  17. package/dist/api/analytic/notebooks/index.d.ts +10 -0
  18. package/dist/api/analytic/notebooks/index.js +11 -0
  19. package/dist/api/analytic/owner.d.ts +5 -0
  20. package/dist/api/analytic/owner.js +8 -0
  21. package/dist/api/analytic/rules.d.ts +3 -0
  22. package/dist/api/analytic/rules.js +8 -0
  23. package/dist/api/auth/apikey.d.ts +8 -0
  24. package/dist/api/auth/apikey.js +11 -0
  25. package/dist/api/auth/index.d.ts +4 -0
  26. package/dist/api/auth/index.js +7 -0
  27. package/dist/api/auth/login.d.ts +14 -0
  28. package/dist/api/auth/login.js +18 -0
  29. package/dist/api/configs/index.d.ts +3 -0
  30. package/dist/api/configs/index.js +7 -0
  31. package/dist/api/dossier/hit.d.ts +2 -0
  32. package/dist/api/dossier/hit.js +6 -0
  33. package/dist/api/dossier/index.d.ts +8 -0
  34. package/dist/api/dossier/index.js +18 -0
  35. package/dist/api/help.d.ts +55 -0
  36. package/dist/api/help.js +7 -0
  37. package/dist/api/hit/assign.d.ts +3 -0
  38. package/dist/api/hit/assign.js +8 -0
  39. package/dist/api/hit/comments/index.d.ts +13 -0
  40. package/dist/api/hit/comments/index.js +19 -0
  41. package/dist/api/hit/comments/react.d.ts +3 -0
  42. package/dist/api/hit/comments/react.js +11 -0
  43. package/dist/api/hit/index.d.ts +35 -0
  44. package/dist/api/hit/index.js +19 -0
  45. package/dist/api/hit/labels.d.ts +5 -0
  46. package/dist/api/hit/labels.js +11 -0
  47. package/dist/api/hit/overwrite.d.ts +3 -0
  48. package/dist/api/hit/overwrite.js +8 -0
  49. package/dist/api/hit/transition.d.ts +4 -0
  50. package/dist/api/hit/transition.js +8 -0
  51. package/dist/api/index.d.ts +142 -0
  52. package/dist/api/index.js +240 -0
  53. package/dist/api/notebook/environments.d.ts +10 -0
  54. package/dist/api/notebook/environments.js +8 -0
  55. package/dist/api/notebook/index.d.ts +14 -0
  56. package/dist/api/notebook/index.js +9 -0
  57. package/dist/api/overview/index.d.ts +6 -0
  58. package/dist/api/overview/index.js +16 -0
  59. package/dist/api/search/action.d.ts +4 -0
  60. package/dist/api/search/action.js +8 -0
  61. package/dist/api/search/analytic.d.ts +4 -0
  62. package/dist/api/search/analytic.js +8 -0
  63. package/dist/api/search/count/hit.d.ts +3 -0
  64. package/dist/api/search/count/hit.js +8 -0
  65. package/dist/api/search/count/index.d.ts +10 -0
  66. package/dist/api/search/count/index.js +7 -0
  67. package/dist/api/search/dossier.d.ts +4 -0
  68. package/dist/api/search/dossier.js +8 -0
  69. package/dist/api/search/eql/hit.d.ts +4 -0
  70. package/dist/api/search/eql/hit.js +8 -0
  71. package/dist/api/search/facet/hit.d.ts +3 -0
  72. package/dist/api/search/facet/hit.js +8 -0
  73. package/dist/api/search/facet/index.d.ts +12 -0
  74. package/dist/api/search/facet/index.js +7 -0
  75. package/dist/api/search/fields/hit.d.ts +3 -0
  76. package/dist/api/search/fields/hit.js +9 -0
  77. package/dist/api/search/fields/index.d.ts +19 -0
  78. package/dist/api/search/fields/index.js +15 -0
  79. package/dist/api/search/fields/user.d.ts +3 -0
  80. package/dist/api/search/fields/user.js +11 -0
  81. package/dist/api/search/grouped/hit.d.ts +4 -0
  82. package/dist/api/search/grouped/hit.js +8 -0
  83. package/dist/api/search/grouped/index.d.ts +25 -0
  84. package/dist/api/search/grouped/index.js +8 -0
  85. package/dist/api/search/grouped/user.d.ts +7 -0
  86. package/dist/api/search/grouped/user.js +21 -0
  87. package/dist/api/search/histogram/hit.d.ts +3 -0
  88. package/dist/api/search/histogram/hit.js +8 -0
  89. package/dist/api/search/histogram/index.d.ts +14 -0
  90. package/dist/api/search/histogram/index.js +7 -0
  91. package/dist/api/search/hit.d.ts +7 -0
  92. package/dist/api/search/hit.js +11 -0
  93. package/dist/api/search/index.d.ts +52 -0
  94. package/dist/api/search/index.js +18 -0
  95. package/dist/api/search/overview.d.ts +4 -0
  96. package/dist/api/search/overview.js +8 -0
  97. package/dist/api/search/sigma/hit.d.ts +4 -0
  98. package/dist/api/search/sigma/hit.js +8 -0
  99. package/dist/api/search/template.d.ts +4 -0
  100. package/dist/api/search/template.js +8 -0
  101. package/dist/api/search/user.d.ts +7 -0
  102. package/dist/api/search/user.js +15 -0
  103. package/dist/api/search/view.d.ts +4 -0
  104. package/dist/api/search/view.js +8 -0
  105. package/dist/api/template/index.d.ts +6 -0
  106. package/dist/api/template/index.js +16 -0
  107. package/dist/api/user/avatar/index.d.ts +2 -0
  108. package/dist/api/user/avatar/index.js +8 -0
  109. package/dist/api/user/groups.d.ts +6 -0
  110. package/dist/api/user/groups.js +8 -0
  111. package/dist/api/user/index.d.ts +10 -0
  112. package/dist/api/user/index.js +15 -0
  113. package/dist/api/user/whoami.d.ts +3 -0
  114. package/dist/api/user/whoami.js +8 -0
  115. package/dist/api/view/favourite.d.ts +7 -0
  116. package/dist/api/view/favourite.js +11 -0
  117. package/dist/api/view/index.d.ts +8 -0
  118. package/dist/api/view/index.js +18 -0
  119. package/dist/branding/AppBrand.d.ts +85 -0
  120. package/dist/branding/AppBrand.js +103 -0
  121. package/dist/commons/components/app/AppConfigs.d.ts +131 -0
  122. package/dist/commons/components/app/AppConfigs.js +1 -0
  123. package/dist/commons/components/app/AppConstants.d.ts +10 -0
  124. package/dist/commons/components/app/AppConstants.js +10 -0
  125. package/dist/commons/components/app/AppContexts.d.ts +105 -0
  126. package/dist/commons/components/app/AppContexts.js +21 -0
  127. package/dist/commons/components/app/AppDefaults.d.ts +6 -0
  128. package/dist/commons/components/app/AppDefaults.js +40 -0
  129. package/dist/commons/components/app/AppNotificationService.d.ts +6 -0
  130. package/dist/commons/components/app/AppNotificationService.js +1 -0
  131. package/dist/commons/components/app/AppProvider.d.ts +15 -0
  132. package/dist/commons/components/app/AppProvider.js +41 -0
  133. package/dist/commons/components/app/AppSearchService.d.ts +21 -0
  134. package/dist/commons/components/app/AppSearchService.js +1 -0
  135. package/dist/commons/components/app/AppSkeleton.d.ts +5 -0
  136. package/dist/commons/components/app/AppSkeleton.js +152 -0
  137. package/dist/commons/components/app/AppUserService.d.ts +17 -0
  138. package/dist/commons/components/app/AppUserService.js +1 -0
  139. package/dist/commons/components/app/hooks/index.d.ts +18 -0
  140. package/dist/commons/components/app/hooks/index.js +18 -0
  141. package/dist/commons/components/app/hooks/useApp.d.ts +1 -0
  142. package/dist/commons/components/app/hooks/useApp.js +5 -0
  143. package/dist/commons/components/app/hooks/useAppBanner.d.ts +1 -0
  144. package/dist/commons/components/app/hooks/useAppBanner.js +6 -0
  145. package/dist/commons/components/app/hooks/useAppBar.d.ts +1 -0
  146. package/dist/commons/components/app/hooks/useAppBar.js +5 -0
  147. package/dist/commons/components/app/hooks/useAppBarHeight.d.ts +2 -0
  148. package/dist/commons/components/app/hooks/useAppBarHeight.js +22 -0
  149. package/dist/commons/components/app/hooks/useAppBarScrollTrigger.d.ts +1 -0
  150. package/dist/commons/components/app/hooks/useAppBarScrollTrigger.js +7 -0
  151. package/dist/commons/components/app/hooks/useAppBreadcrumbs.d.ts +1 -0
  152. package/dist/commons/components/app/hooks/useAppBreadcrumbs.js +5 -0
  153. package/dist/commons/components/app/hooks/useAppConfigs.d.ts +59 -0
  154. package/dist/commons/components/app/hooks/useAppConfigs.js +44 -0
  155. package/dist/commons/components/app/hooks/useAppLanguage.d.ts +6 -0
  156. package/dist/commons/components/app/hooks/useAppLanguage.js +17 -0
  157. package/dist/commons/components/app/hooks/useAppLayout.d.ts +1 -0
  158. package/dist/commons/components/app/hooks/useAppLayout.js +5 -0
  159. package/dist/commons/components/app/hooks/useAppLeftNav.d.ts +1 -0
  160. package/dist/commons/components/app/hooks/useAppLeftNav.js +5 -0
  161. package/dist/commons/components/app/hooks/useAppLogo.d.ts +1 -0
  162. package/dist/commons/components/app/hooks/useAppLogo.js +8 -0
  163. package/dist/commons/components/app/hooks/useAppNotification.d.ts +1 -0
  164. package/dist/commons/components/app/hooks/useAppNotification.js +5 -0
  165. package/dist/commons/components/app/hooks/useAppQuickSearch.d.ts +1 -0
  166. package/dist/commons/components/app/hooks/useAppQuickSearch.js +5 -0
  167. package/dist/commons/components/app/hooks/useAppSearchService.d.ts +2 -0
  168. package/dist/commons/components/app/hooks/useAppSearchService.js +5 -0
  169. package/dist/commons/components/app/hooks/useAppSitemap.d.ts +13 -0
  170. package/dist/commons/components/app/hooks/useAppSitemap.js +70 -0
  171. package/dist/commons/components/app/hooks/useAppSwitcher.d.ts +1 -0
  172. package/dist/commons/components/app/hooks/useAppSwitcher.js +5 -0
  173. package/dist/commons/components/app/hooks/useAppTheme.d.ts +8 -0
  174. package/dist/commons/components/app/hooks/useAppTheme.js +12 -0
  175. package/dist/commons/components/app/hooks/useAppUser.d.ts +2 -0
  176. package/dist/commons/components/app/hooks/useAppUser.js +5 -0
  177. package/dist/commons/components/app/providers/AppBarProvider.d.ts +10 -0
  178. package/dist/commons/components/app/providers/AppBarProvider.js +24 -0
  179. package/dist/commons/components/app/providers/AppBreadcrumbsProvider.d.ts +6 -0
  180. package/dist/commons/components/app/providers/AppBreadcrumbsProvider.js +43 -0
  181. package/dist/commons/components/app/providers/AppLayoutProvider.d.ts +6 -0
  182. package/dist/commons/components/app/providers/AppLayoutProvider.js +73 -0
  183. package/dist/commons/components/app/providers/AppLeftNavProvider.d.ts +6 -0
  184. package/dist/commons/components/app/providers/AppLeftNavProvider.js +22 -0
  185. package/dist/commons/components/app/providers/AppNotificationProvider.d.ts +6 -0
  186. package/dist/commons/components/app/providers/AppNotificationProvider.js +31 -0
  187. package/dist/commons/components/app/providers/AppQuickSearchProvider.d.ts +8 -0
  188. package/dist/commons/components/app/providers/AppQuickSearchProvider.js +19 -0
  189. package/dist/commons/components/app/providers/AppSearchServiceProvider.d.ts +6 -0
  190. package/dist/commons/components/app/providers/AppSearchServiceProvider.js +46 -0
  191. package/dist/commons/components/app/providers/AppSnackbarProvider.d.ts +3 -0
  192. package/dist/commons/components/app/providers/AppSnackbarProvider.js +15 -0
  193. package/dist/commons/components/app/providers/AppSwitcherProvider.d.ts +6 -0
  194. package/dist/commons/components/app/providers/AppSwitcherProvider.js +10 -0
  195. package/dist/commons/components/app/providers/AppUserProvider.d.ts +8 -0
  196. package/dist/commons/components/app/providers/AppUserProvider.js +12 -0
  197. package/dist/commons/components/breadcrumbs/BreadcrumbIcon.d.ts +6 -0
  198. package/dist/commons/components/breadcrumbs/BreadcrumbIcon.js +9 -0
  199. package/dist/commons/components/breadcrumbs/BreadcrumbLastItem.d.ts +7 -0
  200. package/dist/commons/components/breadcrumbs/BreadcrumbLastItem.js +19 -0
  201. package/dist/commons/components/breadcrumbs/BreadcrumbLinkItem.d.ts +7 -0
  202. package/dist/commons/components/breadcrumbs/BreadcrumbLinkItem.js +20 -0
  203. package/dist/commons/components/breadcrumbs/BreadcrumbList.d.ts +11 -0
  204. package/dist/commons/components/breadcrumbs/BreadcrumbList.js +44 -0
  205. package/dist/commons/components/breadcrumbs/Breadcrumbs.d.ts +4 -0
  206. package/dist/commons/components/breadcrumbs/Breadcrumbs.js +31 -0
  207. package/dist/commons/components/display/AppAvatar.d.ts +8 -0
  208. package/dist/commons/components/display/AppAvatar.js +18 -0
  209. package/dist/commons/components/display/AppInfoPanel.d.ts +5 -0
  210. package/dist/commons/components/display/AppInfoPanel.js +17 -0
  211. package/dist/commons/components/display/AppListEmpty.d.ts +2 -0
  212. package/dist/commons/components/display/AppListEmpty.js +5 -0
  213. package/dist/commons/components/display/AppToc.d.ts +19 -0
  214. package/dist/commons/components/display/AppToc.js +98 -0
  215. package/dist/commons/components/display/hooks/useAppColor.d.ts +5 -0
  216. package/dist/commons/components/display/hooks/useAppColor.js +10 -0
  217. package/dist/commons/components/leftnav/LeftNavDrawer.d.ts +2 -0
  218. package/dist/commons/components/leftnav/LeftNavDrawer.js +99 -0
  219. package/dist/commons/components/leftnav/LeftNavGroup.d.ts +7 -0
  220. package/dist/commons/components/leftnav/LeftNavGroup.js +55 -0
  221. package/dist/commons/components/leftnav/LeftNavItem.d.ts +10 -0
  222. package/dist/commons/components/leftnav/LeftNavItem.js +29 -0
  223. package/dist/commons/components/notification/FeedModels.d.ts +64 -0
  224. package/dist/commons/components/notification/FeedModels.js +94 -0
  225. package/dist/commons/components/notification/Notification.d.ts +10 -0
  226. package/dist/commons/components/notification/Notification.js +95 -0
  227. package/dist/commons/components/notification/elements/NotificationCloseButton.d.ts +3 -0
  228. package/dist/commons/components/notification/elements/NotificationCloseButton.js +6 -0
  229. package/dist/commons/components/notification/elements/NotificationContainer.d.ts +16 -0
  230. package/dist/commons/components/notification/elements/NotificationContainer.js +29 -0
  231. package/dist/commons/components/notification/elements/NotificationEndOfPage.d.ts +5 -0
  232. package/dist/commons/components/notification/elements/NotificationEndOfPage.js +36 -0
  233. package/dist/commons/components/notification/elements/NotificationError.d.ts +2 -0
  234. package/dist/commons/components/notification/elements/NotificationError.js +10 -0
  235. package/dist/commons/components/notification/elements/NotificationHeader.d.ts +8 -0
  236. package/dist/commons/components/notification/elements/NotificationHeader.js +18 -0
  237. package/dist/commons/components/notification/elements/NotificationItems.d.ts +12 -0
  238. package/dist/commons/components/notification/elements/NotificationItems.js +12 -0
  239. package/dist/commons/components/notification/elements/NotificationSkeleton.d.ts +2 -0
  240. package/dist/commons/components/notification/elements/NotificationSkeleton.js +12 -0
  241. package/dist/commons/components/notification/elements/NotificationTopNavButton.d.ts +9 -0
  242. package/dist/commons/components/notification/elements/NotificationTopNavButton.js +9 -0
  243. package/dist/commons/components/notification/elements/item/NotificationItem.d.ts +5 -0
  244. package/dist/commons/components/notification/elements/item/NotificationItem.js +25 -0
  245. package/dist/commons/components/notification/elements/item/NotificationItemAuthor.d.ts +5 -0
  246. package/dist/commons/components/notification/elements/item/NotificationItemAuthor.js +31 -0
  247. package/dist/commons/components/notification/elements/item/NotificationItemContent.d.ts +3 -0
  248. package/dist/commons/components/notification/elements/item/NotificationItemContent.js +9 -0
  249. package/dist/commons/components/notification/elements/item/NotificationItemDate.d.ts +3 -0
  250. package/dist/commons/components/notification/elements/item/NotificationItemDate.js +10 -0
  251. package/dist/commons/components/notification/elements/item/NotificationItemImage.d.ts +4 -0
  252. package/dist/commons/components/notification/elements/item/NotificationItemImage.js +8 -0
  253. package/dist/commons/components/notification/elements/item/NotificationItemTag.d.ts +4 -0
  254. package/dist/commons/components/notification/elements/item/NotificationItemTag.js +12 -0
  255. package/dist/commons/components/notification/elements/item/NotificationItemTitle.d.ts +3 -0
  256. package/dist/commons/components/notification/elements/item/NotificationItemTitle.js +15 -0
  257. package/dist/commons/components/notification/index.d.ts +2 -0
  258. package/dist/commons/components/notification/index.js +2 -0
  259. package/dist/commons/components/pages/PageCardCentered.d.ts +5 -0
  260. package/dist/commons/components/pages/PageCardCentered.js +30 -0
  261. package/dist/commons/components/pages/PageCenter.d.ts +8 -0
  262. package/dist/commons/components/pages/PageCenter.js +20 -0
  263. package/dist/commons/components/pages/PageContent.d.ts +7 -0
  264. package/dist/commons/components/pages/PageContent.js +8 -0
  265. package/dist/commons/components/pages/PageFullScreen.d.ts +10 -0
  266. package/dist/commons/components/pages/PageFullScreen.js +40 -0
  267. package/dist/commons/components/pages/PageFullWidth.d.ts +11 -0
  268. package/dist/commons/components/pages/PageFullWidth.js +7 -0
  269. package/dist/commons/components/pages/PageHeader.d.ts +23 -0
  270. package/dist/commons/components/pages/PageHeader.js +27 -0
  271. package/dist/commons/components/pages/hooks/usePageProps.d.ts +24 -0
  272. package/dist/commons/components/pages/hooks/usePageProps.js +19 -0
  273. package/dist/commons/components/search/AppSearch.d.ts +1 -0
  274. package/dist/commons/components/search/AppSearch.js +135 -0
  275. package/dist/commons/components/search/AppSearchInput.d.ts +11 -0
  276. package/dist/commons/components/search/AppSearchInput.js +35 -0
  277. package/dist/commons/components/search/AppSearchResult.d.ts +4 -0
  278. package/dist/commons/components/search/AppSearchResult.js +28 -0
  279. package/dist/commons/components/topnav/AppBar.d.ts +5 -0
  280. package/dist/commons/components/topnav/AppBar.js +80 -0
  281. package/dist/commons/components/topnav/AppName.d.ts +4 -0
  282. package/dist/commons/components/topnav/AppName.js +31 -0
  283. package/dist/commons/components/topnav/AppSwitcher.d.ts +2 -0
  284. package/dist/commons/components/topnav/AppSwitcher.js +44 -0
  285. package/dist/commons/components/topnav/Notifications.d.ts +2 -0
  286. package/dist/commons/components/topnav/Notifications.js +8 -0
  287. package/dist/commons/components/topnav/ThemeSelection.d.ts +2 -0
  288. package/dist/commons/components/topnav/ThemeSelection.js +33 -0
  289. package/dist/commons/components/topnav/ThemeSelectionIcon.d.ts +2 -0
  290. package/dist/commons/components/topnav/ThemeSelectionIcon.js +16 -0
  291. package/dist/commons/components/topnav/UserProfile.d.ts +5 -0
  292. package/dist/commons/components/topnav/UserProfile.js +59 -0
  293. package/dist/commons/components/utils/hooks/useClipboard.d.ts +3 -0
  294. package/dist/commons/components/utils/hooks/useClipboard.js +29 -0
  295. package/dist/commons/components/utils/hooks/useEnv.d.ts +1 -0
  296. package/dist/commons/components/utils/hooks/useEnv.js +11 -0
  297. package/dist/commons/components/utils/hooks/useFullscreenStatus.d.ts +2 -0
  298. package/dist/commons/components/utils/hooks/useFullscreenStatus.js +41 -0
  299. package/dist/commons/components/utils/hooks/useGravatar.d.ts +2 -0
  300. package/dist/commons/components/utils/hooks/useGravatar.js +9 -0
  301. package/dist/commons/components/utils/hooks/useLocalStorage.d.ts +12 -0
  302. package/dist/commons/components/utils/hooks/useLocalStorage.js +52 -0
  303. package/dist/commons/components/utils/hooks/useLocalStorageItem.d.ts +14 -0
  304. package/dist/commons/components/utils/hooks/useLocalStorageItem.js +39 -0
  305. package/dist/commons/components/utils/hooks/useThemeBuilder.d.ts +7 -0
  306. package/dist/commons/components/utils/hooks/useThemeBuilder.js +48 -0
  307. package/dist/commons/components/utils/keyboard.d.ts +30 -0
  308. package/dist/commons/components/utils/keyboard.js +50 -0
  309. package/dist/components/app/App.d.ts +3 -0
  310. package/dist/components/app/App.js +342 -0
  311. package/dist/components/app/AppContainer.d.ts +3 -0
  312. package/dist/components/app/AppContainer.js +10 -0
  313. package/dist/components/app/drawers/ApiKeyDrawer.d.ts +6 -0
  314. package/dist/components/app/drawers/ApiKeyDrawer.js +67 -0
  315. package/dist/components/app/drawers/AppDrawerType.d.ts +6 -0
  316. package/dist/components/app/drawers/AppDrawerType.js +1 -0
  317. package/dist/components/app/drawers/AssignUserDrawer.d.ts +9 -0
  318. package/dist/components/app/drawers/AssignUserDrawer.js +50 -0
  319. package/dist/components/app/drawers/ViewGroupsDrawer.d.ts +7 -0
  320. package/dist/components/app/drawers/ViewGroupsDrawer.js +6 -0
  321. package/dist/components/app/hooks/useTitle.d.ts +2 -0
  322. package/dist/components/app/hooks/useTitle.js +67 -0
  323. package/dist/components/app/providers/AnalyticProvider.d.ts +14 -0
  324. package/dist/components/app/providers/AnalyticProvider.js +104 -0
  325. package/dist/components/app/providers/ApiConfigProvider.d.ts +9 -0
  326. package/dist/components/app/providers/ApiConfigProvider.js +17 -0
  327. package/dist/components/app/providers/AppDrawerProvider.d.ts +10 -0
  328. package/dist/components/app/providers/AppDrawerProvider.js +29 -0
  329. package/dist/components/app/providers/AvatarProvider.d.ts +7 -0
  330. package/dist/components/app/providers/AvatarProvider.js +31 -0
  331. package/dist/components/app/providers/CustomPluginProvider.d.ts +3 -0
  332. package/dist/components/app/providers/CustomPluginProvider.js +14 -0
  333. package/dist/components/app/providers/DossierProvider.d.ts +15 -0
  334. package/dist/components/app/providers/DossierProvider.js +79 -0
  335. package/dist/components/app/providers/FavouritesProvider.d.ts +4 -0
  336. package/dist/components/app/providers/FavouritesProvider.js +137 -0
  337. package/dist/components/app/providers/FieldProvider.d.ts +9 -0
  338. package/dist/components/app/providers/FieldProvider.js +19 -0
  339. package/dist/components/app/providers/HitProvider.d.ts +20 -0
  340. package/dist/components/app/providers/HitProvider.js +104 -0
  341. package/dist/components/app/providers/HitSearchProvider.d.ts +25 -0
  342. package/dist/components/app/providers/HitSearchProvider.js +168 -0
  343. package/dist/components/app/providers/LocalStorageProvider.d.ts +13 -0
  344. package/dist/components/app/providers/LocalStorageProvider.js +41 -0
  345. package/dist/components/app/providers/ModalProvider.d.ts +16 -0
  346. package/dist/components/app/providers/ModalProvider.js +28 -0
  347. package/dist/components/app/providers/OverviewProvider.d.ts +13 -0
  348. package/dist/components/app/providers/OverviewProvider.js +59 -0
  349. package/dist/components/app/providers/ParameterProvider.d.ts +25 -0
  350. package/dist/components/app/providers/ParameterProvider.js +180 -0
  351. package/dist/components/app/providers/SocketProvider.d.ts +57 -0
  352. package/dist/components/app/providers/SocketProvider.js +226 -0
  353. package/dist/components/app/providers/TemplateProvider.d.ts +13 -0
  354. package/dist/components/app/providers/TemplateProvider.js +100 -0
  355. package/dist/components/app/providers/UserListProvider.d.ts +12 -0
  356. package/dist/components/app/providers/UserListProvider.js +30 -0
  357. package/dist/components/app/providers/ViewProvider.d.ts +18 -0
  358. package/dist/components/app/providers/ViewProvider.js +99 -0
  359. package/dist/components/elements/Comment.d.ts +17 -0
  360. package/dist/components/elements/Comment.js +115 -0
  361. package/dist/components/elements/EditRow.d.ts +14 -0
  362. package/dist/components/elements/EditRow.js +118 -0
  363. package/dist/components/elements/PluginChip.d.ts +8 -0
  364. package/dist/components/elements/PluginChip.js +21 -0
  365. package/dist/components/elements/PluginTypography.d.ts +8 -0
  366. package/dist/components/elements/PluginTypography.js +21 -0
  367. package/dist/components/elements/ThemedEditor.d.ts +3 -0
  368. package/dist/components/elements/ThemedEditor.js +104 -0
  369. package/dist/components/elements/UserList.d.ts +9 -0
  370. package/dist/components/elements/UserList.js +26 -0
  371. package/dist/components/elements/addons/buttons/CustomButton.d.ts +12 -0
  372. package/dist/components/elements/addons/buttons/CustomButton.js +43 -0
  373. package/dist/components/elements/addons/buttons/CustomIconButton.d.ts +15 -0
  374. package/dist/components/elements/addons/buttons/CustomIconButton.js +48 -0
  375. package/dist/components/elements/addons/buttons/index.d.ts +3 -0
  376. package/dist/components/elements/addons/buttons/index.js +4 -0
  377. package/dist/components/elements/addons/layout/FlexOne.d.ts +4 -0
  378. package/dist/components/elements/addons/layout/FlexOne.js +6 -0
  379. package/dist/components/elements/addons/layout/FlexPort.d.ts +12 -0
  380. package/dist/components/elements/addons/layout/FlexPort.js +15 -0
  381. package/dist/components/elements/addons/layout/FlexVertical.d.ts +8 -0
  382. package/dist/components/elements/addons/layout/FlexVertical.js +13 -0
  383. package/dist/components/elements/addons/layout/vsbox/VSBox.d.ts +16 -0
  384. package/dist/components/elements/addons/layout/vsbox/VSBox.js +27 -0
  385. package/dist/components/elements/addons/layout/vsbox/VSBoxContent.d.ts +4 -0
  386. package/dist/components/elements/addons/layout/vsbox/VSBoxContent.js +6 -0
  387. package/dist/components/elements/addons/layout/vsbox/VSBoxElement.d.ts +8 -0
  388. package/dist/components/elements/addons/layout/vsbox/VSBoxElement.js +39 -0
  389. package/dist/components/elements/addons/layout/vsbox/VSBoxHeader.d.ts +5 -0
  390. package/dist/components/elements/addons/layout/vsbox/VSBoxHeader.js +23 -0
  391. package/dist/components/elements/addons/lists/TuiList.d.ts +8 -0
  392. package/dist/components/elements/addons/lists/TuiList.js +9 -0
  393. package/dist/components/elements/addons/lists/TuiListBase.d.ts +10 -0
  394. package/dist/components/elements/addons/lists/TuiListBase.js +61 -0
  395. package/dist/components/elements/addons/lists/TuiListElement.d.ts +9 -0
  396. package/dist/components/elements/addons/lists/TuiListElement.js +24 -0
  397. package/dist/components/elements/addons/lists/TuiListMenu.d.ts +49 -0
  398. package/dist/components/elements/addons/lists/TuiListMenu.js +33 -0
  399. package/dist/components/elements/addons/lists/TuiListProvider.d.ts +22 -0
  400. package/dist/components/elements/addons/lists/TuiListProvider.js +117 -0
  401. package/dist/components/elements/addons/lists/hooks/useTuiListKeyboard.d.ts +5 -0
  402. package/dist/components/elements/addons/lists/hooks/useTuiListKeyboard.js +41 -0
  403. package/dist/components/elements/addons/lists/index.d.ts +19 -0
  404. package/dist/components/elements/addons/lists/index.js +4 -0
  405. package/dist/components/elements/addons/lists/table/TuiTable.d.ts +14 -0
  406. package/dist/components/elements/addons/lists/table/TuiTable.js +81 -0
  407. package/dist/components/elements/addons/lists/table/TuiTableBody.d.ts +14 -0
  408. package/dist/components/elements/addons/lists/table/TuiTableBody.js +19 -0
  409. package/dist/components/elements/addons/lists/table/TuiTableHead.d.ts +8 -0
  410. package/dist/components/elements/addons/lists/table/TuiTableHead.js +9 -0
  411. package/dist/components/elements/addons/lists/table/TuiTableHeader.d.ts +6 -0
  412. package/dist/components/elements/addons/lists/table/TuiTableHeader.js +8 -0
  413. package/dist/components/elements/addons/lists/table/TuiTableLayout.d.ts +12 -0
  414. package/dist/components/elements/addons/lists/table/TuiTableLayout.js +41 -0
  415. package/dist/components/elements/addons/lists/table/index.d.ts +15 -0
  416. package/dist/components/elements/addons/lists/table/index.js +1 -0
  417. package/dist/components/elements/addons/search/SearchPagination.d.ts +9 -0
  418. package/dist/components/elements/addons/search/SearchPagination.js +12 -0
  419. package/dist/components/elements/addons/search/SearchTotal.d.ts +8 -0
  420. package/dist/components/elements/addons/search/SearchTotal.js +13 -0
  421. package/dist/components/elements/addons/search/phrase/Phrase.d.ts +19 -0
  422. package/dist/components/elements/addons/search/phrase/Phrase.js +89 -0
  423. package/dist/components/elements/addons/search/phrase/PhraseConsumer.d.ts +13 -0
  424. package/dist/components/elements/addons/search/phrase/PhraseConsumer.js +22 -0
  425. package/dist/components/elements/addons/search/phrase/PhraseLexer.d.ts +26 -0
  426. package/dist/components/elements/addons/search/phrase/PhraseLexer.js +130 -0
  427. package/dist/components/elements/addons/search/phrase/index.d.ts +40 -0
  428. package/dist/components/elements/addons/search/phrase/index.js +45 -0
  429. package/dist/components/elements/addons/search/phrase/word/WordLexer.d.ts +5 -0
  430. package/dist/components/elements/addons/search/phrase/word/WordLexer.js +8 -0
  431. package/dist/components/elements/addons/search/phrase/word/WordSuggester.d.ts +6 -0
  432. package/dist/components/elements/addons/search/phrase/word/WordSuggester.js +9 -0
  433. package/dist/components/elements/addons/search/phrase/word/consumers/WhitespaceConsumer.d.ts +7 -0
  434. package/dist/components/elements/addons/search/phrase/word/consumers/WhitespaceConsumer.js +17 -0
  435. package/dist/components/elements/addons/search/phrase/word/consumers/WordConsumer.d.ts +7 -0
  436. package/dist/components/elements/addons/search/phrase/word/consumers/WordConsumer.js +17 -0
  437. package/dist/components/elements/display/Classification.d.ts +3 -0
  438. package/dist/components/elements/display/Classification.js +22 -0
  439. package/dist/components/elements/display/DocumentationButton.d.ts +3 -0
  440. package/dist/components/elements/display/DocumentationButton.js +34 -0
  441. package/dist/components/elements/display/DynamicTabs.d.ts +8 -0
  442. package/dist/components/elements/display/DynamicTabs.js +21 -0
  443. package/dist/components/elements/display/HandlebarsMarkdown.d.ts +9 -0
  444. package/dist/components/elements/display/HandlebarsMarkdown.js +77 -0
  445. package/dist/components/elements/display/HowlerAvatar.d.ts +6 -0
  446. package/dist/components/elements/display/HowlerAvatar.js +44 -0
  447. package/dist/components/elements/display/HowlerAvatarHeader.d.ts +6 -0
  448. package/dist/components/elements/display/HowlerAvatarHeader.js +19 -0
  449. package/dist/components/elements/display/HowlerCard.d.ts +3 -0
  450. package/dist/components/elements/display/HowlerCard.js +5 -0
  451. package/dist/components/elements/display/Image.d.ts +3 -0
  452. package/dist/components/elements/display/Image.js +23 -0
  453. package/dist/components/elements/display/ItemManager.d.ts +25 -0
  454. package/dist/components/elements/display/ItemManager.js +35 -0
  455. package/dist/components/elements/display/Markdown.d.ts +10 -0
  456. package/dist/components/elements/display/Markdown.js +133 -0
  457. package/dist/components/elements/display/Modal.d.ts +3 -0
  458. package/dist/components/elements/display/Modal.js +30 -0
  459. package/dist/components/elements/display/Notebook.d.ts +5 -0
  460. package/dist/components/elements/display/Notebook.js +6 -0
  461. package/dist/components/elements/display/QueryResultText.d.ts +6 -0
  462. package/dist/components/elements/display/QueryResultText.js +15 -0
  463. package/dist/components/elements/display/TextDivider.d.ts +3 -0
  464. package/dist/components/elements/display/TextDivider.js +40 -0
  465. package/dist/components/elements/display/TypingIndicator.d.ts +2 -0
  466. package/dist/components/elements/display/TypingIndicator.js +29 -0
  467. package/dist/components/elements/display/UserPageWrapper.d.ts +6 -0
  468. package/dist/components/elements/display/UserPageWrapper.js +6 -0
  469. package/dist/components/elements/display/features/DevelopmentBanner.d.ts +3 -0
  470. package/dist/components/elements/display/features/DevelopmentBanner.js +14 -0
  471. package/dist/components/elements/display/features/DevelopmentIcon.d.ts +3 -0
  472. package/dist/components/elements/display/features/DevelopmentIcon.js +15 -0
  473. package/dist/components/elements/display/handlebars/helpers.d.ts +9 -0
  474. package/dist/components/elements/display/handlebars/helpers.js +145 -0
  475. package/dist/components/elements/display/icons/BundleButton.d.ts +6 -0
  476. package/dist/components/elements/display/icons/BundleButton.js +32 -0
  477. package/dist/components/elements/display/icons/Iconified.d.ts +9 -0
  478. package/dist/components/elements/display/icons/Iconified.js +11 -0
  479. package/dist/components/elements/display/icons/SocketBadge.d.ts +5 -0
  480. package/dist/components/elements/display/icons/SocketBadge.js +60 -0
  481. package/dist/components/elements/display/json/JSONViewer.d.ts +6 -0
  482. package/dist/components/elements/display/json/JSONViewer.js +57 -0
  483. package/dist/components/elements/display/json/worker.d.ts +1 -0
  484. package/dist/components/elements/display/json/worker.js +7 -0
  485. package/dist/components/elements/display/markdownPlugins/tabs.d.ts +3 -0
  486. package/dist/components/elements/display/markdownPlugins/tabs.js +70 -0
  487. package/dist/components/elements/display/modals/ConfirmDeleteModal.d.ts +5 -0
  488. package/dist/components/elements/display/modals/ConfirmDeleteModal.js +15 -0
  489. package/dist/components/elements/display/modals/ConfirmNotebookModal.d.ts +5 -0
  490. package/dist/components/elements/display/modals/ConfirmNotebookModal.js +15 -0
  491. package/dist/components/elements/display/modals/CreateActionModal.d.ts +5 -0
  492. package/dist/components/elements/display/modals/CreateActionModal.js +35 -0
  493. package/dist/components/elements/display/modals/LoginErrorModal.d.ts +5 -0
  494. package/dist/components/elements/display/modals/LoginErrorModal.js +9 -0
  495. package/dist/components/elements/display/modals/RationaleModal.d.ts +5 -0
  496. package/dist/components/elements/display/modals/RationaleModal.js +28 -0
  497. package/dist/components/elements/hit/HitActions.d.ts +6 -0
  498. package/dist/components/elements/hit/HitActions.js +165 -0
  499. package/dist/components/elements/hit/HitBanner.d.ts +15 -0
  500. package/dist/components/elements/hit/HitBanner.js +113 -0
  501. package/dist/components/elements/hit/HitBannerTooltip.d.ts +6 -0
  502. package/dist/components/elements/hit/HitBannerTooltip.js +9 -0
  503. package/dist/components/elements/hit/HitCard.d.ts +7 -0
  504. package/dist/components/elements/hit/HitCard.js +30 -0
  505. package/dist/components/elements/hit/HitComments.d.ts +11 -0
  506. package/dist/components/elements/hit/HitComments.js +175 -0
  507. package/dist/components/elements/hit/HitDetails.d.ts +5 -0
  508. package/dist/components/elements/hit/HitDetails.js +125 -0
  509. package/dist/components/elements/hit/HitLabels.d.ts +6 -0
  510. package/dist/components/elements/hit/HitLabels.js +121 -0
  511. package/dist/components/elements/hit/HitLayout.d.ts +5 -0
  512. package/dist/components/elements/hit/HitLayout.js +6 -0
  513. package/dist/components/elements/hit/HitNotebooks.d.ts +8 -0
  514. package/dist/components/elements/hit/HitNotebooks.js +145 -0
  515. package/dist/components/elements/hit/HitOutline.d.ts +9 -0
  516. package/dist/components/elements/hit/HitOutline.js +46 -0
  517. package/dist/components/elements/hit/HitOverview.d.ts +6 -0
  518. package/dist/components/elements/hit/HitOverview.js +19 -0
  519. package/dist/components/elements/hit/HitQuickSearch.d.ts +8 -0
  520. package/dist/components/elements/hit/HitQuickSearch.js +31 -0
  521. package/dist/components/elements/hit/HitRelated.d.ts +6 -0
  522. package/dist/components/elements/hit/HitRelated.js +7 -0
  523. package/dist/components/elements/hit/HitShortcuts.d.ts +5 -0
  524. package/dist/components/elements/hit/HitShortcuts.js +6 -0
  525. package/dist/components/elements/hit/HitSummary.d.ts +10 -0
  526. package/dist/components/elements/hit/HitSummary.js +151 -0
  527. package/dist/components/elements/hit/HitWorklog.d.ts +10 -0
  528. package/dist/components/elements/hit/HitWorklog.js +97 -0
  529. package/dist/components/elements/hit/actions/ButtonActions.d.ts +12 -0
  530. package/dist/components/elements/hit/actions/ButtonActions.js +126 -0
  531. package/dist/components/elements/hit/actions/DropdownActions.d.ts +12 -0
  532. package/dist/components/elements/hit/actions/DropdownActions.js +28 -0
  533. package/dist/components/elements/hit/actions/SharedComponents.d.ts +18 -0
  534. package/dist/components/elements/hit/actions/SharedComponents.js +21 -0
  535. package/dist/components/elements/hit/aggregate/HitGraph.d.ts +6 -0
  536. package/dist/components/elements/hit/aggregate/HitGraph.js +238 -0
  537. package/dist/components/elements/hit/elements/Assigned.d.ts +9 -0
  538. package/dist/components/elements/hit/elements/Assigned.js +31 -0
  539. package/dist/components/elements/hit/elements/EscalationChip.d.ts +9 -0
  540. package/dist/components/elements/hit/elements/EscalationChip.js +10 -0
  541. package/dist/components/elements/hit/elements/HitTimestamp.d.ts +8 -0
  542. package/dist/components/elements/hit/elements/HitTimestamp.js +48 -0
  543. package/dist/components/elements/hit/outlines/DefaultOutline.d.ts +12 -0
  544. package/dist/components/elements/hit/outlines/DefaultOutline.js +47 -0
  545. package/dist/components/elements/hit/outlines/al/AssemblyLineRules.d.ts +5 -0
  546. package/dist/components/elements/hit/outlines/al/AssemblyLineRules.js +46 -0
  547. package/dist/components/elements/hit/related/PivotLink.d.ts +10 -0
  548. package/dist/components/elements/hit/related/PivotLink.js +43 -0
  549. package/dist/components/elements/hit/related/RelatedLink.d.ts +8 -0
  550. package/dist/components/elements/hit/related/RelatedLink.js +43 -0
  551. package/dist/components/elements/view/ViewTitle.d.ts +10 -0
  552. package/dist/components/elements/view/ViewTitle.js +27 -0
  553. package/dist/components/hooks/useHitActions.d.ts +14 -0
  554. package/dist/components/hooks/useHitActions.js +191 -0
  555. package/dist/components/hooks/useHitSelection.d.ts +9 -0
  556. package/dist/components/hooks/useHitSelection.js +77 -0
  557. package/dist/components/hooks/useMyApi.d.ts +10 -0
  558. package/dist/components/hooks/useMyApi.js +43 -0
  559. package/dist/components/hooks/useMyChart.d.ts +276 -0
  560. package/dist/components/hooks/useMyChart.js +115 -0
  561. package/dist/components/hooks/useMyLocalStorage.d.ts +17 -0
  562. package/dist/components/hooks/useMyLocalStorage.js +15 -0
  563. package/dist/components/hooks/useMyPreferences.d.ts +3 -0
  564. package/dist/components/hooks/useMyPreferences.js +248 -0
  565. package/dist/components/hooks/useMySearch.d.ts +4 -0
  566. package/dist/components/hooks/useMySearch.js +47 -0
  567. package/dist/components/hooks/useMySitemap.d.ts +3 -0
  568. package/dist/components/hooks/useMySitemap.js +217 -0
  569. package/dist/components/hooks/useMySnackbar.d.ts +8 -0
  570. package/dist/components/hooks/useMySnackbar.js +47 -0
  571. package/dist/components/hooks/useMyTheme.d.ts +3 -0
  572. package/dist/components/hooks/useMyTheme.js +30 -0
  573. package/dist/components/hooks/useMyUser.d.ts +4 -0
  574. package/dist/components/hooks/useMyUser.js +27 -0
  575. package/dist/components/hooks/useMyUserFunctions.d.ts +118 -0
  576. package/dist/components/hooks/useMyUserFunctions.js +113 -0
  577. package/dist/components/hooks/useMyUserList.d.ts +4 -0
  578. package/dist/components/hooks/useMyUserList.js +11 -0
  579. package/dist/components/hooks/useMyUtils.d.ts +4 -0
  580. package/dist/components/hooks/useMyUtils.js +10 -0
  581. package/dist/components/hooks/useScrollRestoration.d.ts +7 -0
  582. package/dist/components/hooks/useScrollRestoration.js +32 -0
  583. package/dist/components/logins/Login.d.ts +2 -0
  584. package/dist/components/logins/Login.js +32 -0
  585. package/dist/components/logins/auth/OAuthLogin.d.ts +6 -0
  586. package/dist/components/logins/auth/OAuthLogin.js +25 -0
  587. package/dist/components/logins/auth/UserPassLogin.d.ts +2 -0
  588. package/dist/components/logins/auth/UserPassLogin.js +26 -0
  589. package/dist/components/logins/hooks/useLogin.d.ts +7 -0
  590. package/dist/components/logins/hooks/useLogin.js +90 -0
  591. package/dist/components/routes/404.d.ts +3 -0
  592. package/dist/components/routes/404.js +10 -0
  593. package/dist/components/routes/ErrorBoundary.d.ts +14 -0
  594. package/dist/components/routes/ErrorBoundary.js +24 -0
  595. package/dist/components/routes/ErrorOccured.d.ts +3 -0
  596. package/dist/components/routes/ErrorOccured.js +13 -0
  597. package/dist/components/routes/Logout.d.ts +3 -0
  598. package/dist/components/routes/Logout.js +37 -0
  599. package/dist/components/routes/action/edit/ActionEditor.d.ts +14 -0
  600. package/dist/components/routes/action/edit/ActionEditor.js +137 -0
  601. package/dist/components/routes/action/shared/ActionReportDisplay.d.ts +7 -0
  602. package/dist/components/routes/action/shared/ActionReportDisplay.js +21 -0
  603. package/dist/components/routes/action/shared/OperationEntry.d.ts +13 -0
  604. package/dist/components/routes/action/shared/OperationEntry.js +31 -0
  605. package/dist/components/routes/action/shared/OperationStep.d.ts +11 -0
  606. package/dist/components/routes/action/shared/OperationStep.js +102 -0
  607. package/dist/components/routes/action/useMyActionFunctions.d.ts +19 -0
  608. package/dist/components/routes/action/useMyActionFunctions.js +156 -0
  609. package/dist/components/routes/action/view/ActionDetails.d.ts +2 -0
  610. package/dist/components/routes/action/view/ActionDetails.js +80 -0
  611. package/dist/components/routes/action/view/ActionSearch.d.ts +3 -0
  612. package/dist/components/routes/action/view/ActionSearch.js +119 -0
  613. package/dist/components/routes/action/view/Integrations.d.ts +3 -0
  614. package/dist/components/routes/action/view/Integrations.js +25 -0
  615. package/dist/components/routes/admin/users/UserEditor.d.ts +3 -0
  616. package/dist/components/routes/admin/users/UserEditor.js +28 -0
  617. package/dist/components/routes/admin/users/UserSearch.d.ts +3 -0
  618. package/dist/components/routes/admin/users/UserSearch.js +124 -0
  619. package/dist/components/routes/advanced/QueryBuilder.d.ts +3 -0
  620. package/dist/components/routes/advanced/QueryBuilder.js +228 -0
  621. package/dist/components/routes/advanced/QueryEditor.d.ts +14 -0
  622. package/dist/components/routes/advanced/QueryEditor.js +95 -0
  623. package/dist/components/routes/advanced/RuleModal.d.ts +7 -0
  624. package/dist/components/routes/advanced/RuleModal.js +83 -0
  625. package/dist/components/routes/advanced/eqlCompletionProvider.d.ts +3 -0
  626. package/dist/components/routes/advanced/eqlCompletionProvider.js +84 -0
  627. package/dist/components/routes/advanced/eqlTokenProvider.d.ts +8 -0
  628. package/dist/components/routes/advanced/eqlTokenProvider.js +86 -0
  629. package/dist/components/routes/advanced/historyCompletionProvider.d.ts +3 -0
  630. package/dist/components/routes/advanced/historyCompletionProvider.js +48 -0
  631. package/dist/components/routes/advanced/luceneCompletionProvider.d.ts +3 -0
  632. package/dist/components/routes/advanced/luceneCompletionProvider.js +96 -0
  633. package/dist/components/routes/advanced/luceneTokenProvider.d.ts +9 -0
  634. package/dist/components/routes/advanced/luceneTokenProvider.js +104 -0
  635. package/dist/components/routes/advanced/yamlCompletionProvider.d.ts +3 -0
  636. package/dist/components/routes/advanced/yamlCompletionProvider.js +50 -0
  637. package/dist/components/routes/analytics/AnalyticComments.d.ts +7 -0
  638. package/dist/components/routes/analytics/AnalyticComments.js +115 -0
  639. package/dist/components/routes/analytics/AnalyticDetails.d.ts +2 -0
  640. package/dist/components/routes/analytics/AnalyticDetails.js +133 -0
  641. package/dist/components/routes/analytics/AnalyticHitComments.d.ts +6 -0
  642. package/dist/components/routes/analytics/AnalyticHitComments.js +49 -0
  643. package/dist/components/routes/analytics/AnalyticNotebooks.d.ts +7 -0
  644. package/dist/components/routes/analytics/AnalyticNotebooks.js +60 -0
  645. package/dist/components/routes/analytics/AnalyticOverview.d.ts +8 -0
  646. package/dist/components/routes/analytics/AnalyticOverview.js +60 -0
  647. package/dist/components/routes/analytics/AnalyticOverviews.d.ts +7 -0
  648. package/dist/components/routes/analytics/AnalyticOverviews.js +39 -0
  649. package/dist/components/routes/analytics/AnalyticSearch.d.ts +3 -0
  650. package/dist/components/routes/analytics/AnalyticSearch.js +126 -0
  651. package/dist/components/routes/analytics/AnalyticTemplates.d.ts +7 -0
  652. package/dist/components/routes/analytics/AnalyticTemplates.js +40 -0
  653. package/dist/components/routes/analytics/RuleView.d.ts +8 -0
  654. package/dist/components/routes/analytics/RuleView.js +48 -0
  655. package/dist/components/routes/analytics/TriageSettings.d.ts +8 -0
  656. package/dist/components/routes/analytics/TriageSettings.js +49 -0
  657. package/dist/components/routes/analytics/widgets/Assessment.d.ts +6 -0
  658. package/dist/components/routes/analytics/widgets/Assessment.js +44 -0
  659. package/dist/components/routes/analytics/widgets/Created.d.ts +6 -0
  660. package/dist/components/routes/analytics/widgets/Created.js +44 -0
  661. package/dist/components/routes/analytics/widgets/Detection.d.ts +7 -0
  662. package/dist/components/routes/analytics/widgets/Detection.js +9 -0
  663. package/dist/components/routes/analytics/widgets/Escalation.d.ts +7 -0
  664. package/dist/components/routes/analytics/widgets/Escalation.js +39 -0
  665. package/dist/components/routes/analytics/widgets/Stacked.d.ts +8 -0
  666. package/dist/components/routes/analytics/widgets/Stacked.js +76 -0
  667. package/dist/components/routes/analytics/widgets/Status.d.ts +6 -0
  668. package/dist/components/routes/analytics/widgets/Status.js +11 -0
  669. package/dist/components/routes/dossiers/DossierCard.d.ts +8 -0
  670. package/dist/components/routes/dossiers/DossierCard.js +11 -0
  671. package/dist/components/routes/dossiers/DossierEditor.d.ts +2 -0
  672. package/dist/components/routes/dossiers/DossierEditor.js +124 -0
  673. package/dist/components/routes/dossiers/Dossiers.d.ts +2 -0
  674. package/dist/components/routes/dossiers/Dossiers.js +116 -0
  675. package/dist/components/routes/dossiers/LeadEditor.d.ts +13 -0
  676. package/dist/components/routes/dossiers/LeadEditor.js +36 -0
  677. package/dist/components/routes/dossiers/LeadForm.d.ts +8 -0
  678. package/dist/components/routes/dossiers/LeadForm.js +51 -0
  679. package/dist/components/routes/dossiers/PivotForm.d.ts +13 -0
  680. package/dist/components/routes/dossiers/PivotForm.js +82 -0
  681. package/dist/components/routes/help/ActionDocumentation.d.ts +9 -0
  682. package/dist/components/routes/help/ActionDocumentation.js +31 -0
  683. package/dist/components/routes/help/ActionIntroductionDocumentation.d.ts +3 -0
  684. package/dist/components/routes/help/ActionIntroductionDocumentation.js +61 -0
  685. package/dist/components/routes/help/ApiDocumentation.d.ts +3 -0
  686. package/dist/components/routes/help/ApiDocumentation.js +55 -0
  687. package/dist/components/routes/help/AuthDocumentation.d.ts +3 -0
  688. package/dist/components/routes/help/AuthDocumentation.js +15 -0
  689. package/dist/components/routes/help/BundleDocumentation.d.ts +3 -0
  690. package/dist/components/routes/help/BundleDocumentation.js +12 -0
  691. package/dist/components/routes/help/ClientDocumentation.d.ts +3 -0
  692. package/dist/components/routes/help/ClientDocumentation.js +15 -0
  693. package/dist/components/routes/help/Help.d.ts +2 -0
  694. package/dist/components/routes/help/Help.js +24 -0
  695. package/dist/components/routes/help/HitBannerDocumentation.d.ts +3 -0
  696. package/dist/components/routes/help/HitBannerDocumentation.js +49 -0
  697. package/dist/components/routes/help/HitDocumentation.d.ts +3 -0
  698. package/dist/components/routes/help/HitDocumentation.js +34 -0
  699. package/dist/components/routes/help/HitLabelsDocumentation.d.ts +3 -0
  700. package/dist/components/routes/help/HitLabelsDocumentation.js +21 -0
  701. package/dist/components/routes/help/HitLinksDocumentation.d.ts +3 -0
  702. package/dist/components/routes/help/HitLinksDocumentation.js +17 -0
  703. package/dist/components/routes/help/HitSchemaDocumentation.d.ts +3 -0
  704. package/dist/components/routes/help/HitSchemaDocumentation.js +80 -0
  705. package/dist/components/routes/help/NotebookDocumentation.d.ts +3 -0
  706. package/dist/components/routes/help/NotebookDocumentation.js +18 -0
  707. package/dist/components/routes/help/OverviewDocumentation.d.ts +3 -0
  708. package/dist/components/routes/help/OverviewDocumentation.js +13 -0
  709. package/dist/components/routes/help/RetentionDocumentation.d.ts +3 -0
  710. package/dist/components/routes/help/RetentionDocumentation.js +35 -0
  711. package/dist/components/routes/help/SearchDocumentation.d.ts +3 -0
  712. package/dist/components/routes/help/SearchDocumentation.js +113 -0
  713. package/dist/components/routes/help/TemplateDocumentation.d.ts +3 -0
  714. package/dist/components/routes/help/TemplateDocumentation.js +46 -0
  715. package/dist/components/routes/help/ViewDocumentation.d.ts +3 -0
  716. package/dist/components/routes/help/ViewDocumentation.js +18 -0
  717. package/dist/components/routes/help/components/HelpTabs.d.ts +6 -0
  718. package/dist/components/routes/help/components/HelpTabs.js +30 -0
  719. package/dist/components/routes/hits/search/BundleParentMenu.d.ts +6 -0
  720. package/dist/components/routes/hits/search/BundleParentMenu.js +32 -0
  721. package/dist/components/routes/hits/search/BundleScroller.d.ts +2 -0
  722. package/dist/components/routes/hits/search/BundleScroller.js +6 -0
  723. package/dist/components/routes/hits/search/CustomSort.d.ts +2 -0
  724. package/dist/components/routes/hits/search/CustomSort.js +37 -0
  725. package/dist/components/routes/hits/search/HitBrowser.d.ts +3 -0
  726. package/dist/components/routes/hits/search/HitBrowser.js +174 -0
  727. package/dist/components/routes/hits/search/HitContextMenu.d.ts +6 -0
  728. package/dist/components/routes/hits/search/HitContextMenu.js +116 -0
  729. package/dist/components/routes/hits/search/HitQuery.d.ts +9 -0
  730. package/dist/components/routes/hits/search/HitQuery.js +151 -0
  731. package/dist/components/routes/hits/search/InformationPane.d.ts +5 -0
  732. package/dist/components/routes/hits/search/InformationPane.js +204 -0
  733. package/dist/components/routes/hits/search/SearchPane.d.ts +3 -0
  734. package/dist/components/routes/hits/search/SearchPane.js +138 -0
  735. package/dist/components/routes/hits/search/ViewLink.d.ts +2 -0
  736. package/dist/components/routes/hits/search/ViewLink.js +41 -0
  737. package/dist/components/routes/hits/search/grid/AddColumnModal.d.ts +8 -0
  738. package/dist/components/routes/hits/search/grid/AddColumnModal.js +22 -0
  739. package/dist/components/routes/hits/search/grid/EnchancedCell.d.ts +7 -0
  740. package/dist/components/routes/hits/search/grid/EnchancedCell.js +18 -0
  741. package/dist/components/routes/hits/search/grid/HitGrid.d.ts +3 -0
  742. package/dist/components/routes/hits/search/grid/HitGrid.js +137 -0
  743. package/dist/components/routes/hits/search/grid/HitRow.d.ts +9 -0
  744. package/dist/components/routes/hits/search/grid/HitRow.js +54 -0
  745. package/dist/components/routes/hits/search/shared/CustomSpan.d.ts +2 -0
  746. package/dist/components/routes/hits/search/shared/CustomSpan.js +24 -0
  747. package/dist/components/routes/hits/search/shared/HitFilter.d.ts +4 -0
  748. package/dist/components/routes/hits/search/shared/HitFilter.js +64 -0
  749. package/dist/components/routes/hits/search/shared/HitSort.d.ts +4 -0
  750. package/dist/components/routes/hits/search/shared/HitSort.js +64 -0
  751. package/dist/components/routes/hits/search/shared/QuerySettings.d.ts +6 -0
  752. package/dist/components/routes/hits/search/shared/QuerySettings.js +22 -0
  753. package/dist/components/routes/hits/search/shared/SearchSpan.d.ts +5 -0
  754. package/dist/components/routes/hits/search/shared/SearchSpan.js +40 -0
  755. package/dist/components/routes/hits/view/HitViewer.d.ts +7 -0
  756. package/dist/components/routes/hits/view/HitViewer.js +170 -0
  757. package/dist/components/routes/hits/view/LeadRenderer.d.ts +7 -0
  758. package/dist/components/routes/hits/view/LeadRenderer.js +21 -0
  759. package/dist/components/routes/home/AddNewCard.d.ts +7 -0
  760. package/dist/components/routes/home/AddNewCard.js +53 -0
  761. package/dist/components/routes/home/AnalyticCard.d.ts +7 -0
  762. package/dist/components/routes/home/AnalyticCard.js +30 -0
  763. package/dist/components/routes/home/EntryWrapper.d.ts +7 -0
  764. package/dist/components/routes/home/EntryWrapper.js +19 -0
  765. package/dist/components/routes/home/ViewCard.d.ts +7 -0
  766. package/dist/components/routes/home/ViewCard.js +39 -0
  767. package/dist/components/routes/home/index.d.ts +3 -0
  768. package/dist/components/routes/home/index.js +121 -0
  769. package/dist/components/routes/overviews/OverviewCard.d.ts +8 -0
  770. package/dist/components/routes/overviews/OverviewCard.js +16 -0
  771. package/dist/components/routes/overviews/OverviewEditor.d.ts +12 -0
  772. package/dist/components/routes/overviews/OverviewEditor.js +56 -0
  773. package/dist/components/routes/overviews/OverviewViewer.d.ts +2 -0
  774. package/dist/components/routes/overviews/OverviewViewer.js +217 -0
  775. package/dist/components/routes/overviews/Overviews.d.ts +2 -0
  776. package/dist/components/routes/overviews/Overviews.js +116 -0
  777. package/dist/components/routes/overviews/markdownExtendedTokenProvider.d.ts +6 -0
  778. package/dist/components/routes/overviews/markdownExtendedTokenProvider.js +254 -0
  779. package/dist/components/routes/overviews/startingTemplate.d.ts +1 -0
  780. package/dist/components/routes/overviews/startingTemplate.js +181 -0
  781. package/dist/components/routes/settings/AdminSection.d.ts +3 -0
  782. package/dist/components/routes/settings/AdminSection.js +11 -0
  783. package/dist/components/routes/settings/LocalSection.d.ts +3 -0
  784. package/dist/components/routes/settings/LocalSection.js +25 -0
  785. package/dist/components/routes/settings/ProfileSection.d.ts +10 -0
  786. package/dist/components/routes/settings/ProfileSection.js +53 -0
  787. package/dist/components/routes/settings/SecuritySection.d.ts +10 -0
  788. package/dist/components/routes/settings/SecuritySection.js +31 -0
  789. package/dist/components/routes/settings/Settings.d.ts +3 -0
  790. package/dist/components/routes/settings/Settings.js +22 -0
  791. package/dist/components/routes/settings/SettingsSection.d.ts +7 -0
  792. package/dist/components/routes/settings/SettingsSection.js +10 -0
  793. package/dist/components/routes/templates/TemplateCard.d.ts +7 -0
  794. package/dist/components/routes/templates/TemplateCard.js +13 -0
  795. package/dist/components/routes/templates/TemplateDnD.d.ts +8 -0
  796. package/dist/components/routes/templates/TemplateDnD.js +12 -0
  797. package/dist/components/routes/templates/TemplateEditor.d.ts +9 -0
  798. package/dist/components/routes/templates/TemplateEditor.js +55 -0
  799. package/dist/components/routes/templates/TemplateViewer.d.ts +2 -0
  800. package/dist/components/routes/templates/TemplateViewer.js +165 -0
  801. package/dist/components/routes/templates/Templates.d.ts +2 -0
  802. package/dist/components/routes/templates/Templates.js +116 -0
  803. package/dist/components/routes/views/ViewComposer.d.ts +3 -0
  804. package/dist/components/routes/views/ViewComposer.js +167 -0
  805. package/dist/components/routes/views/Views.d.ts +2 -0
  806. package/dist/components/routes/views/Views.js +155 -0
  807. package/dist/i18n.d.ts +3 -0
  808. package/dist/i18n.js +43 -0
  809. package/dist/index.d.ts +3 -0
  810. package/dist/index.js +10 -0
  811. package/dist/locales/en/help/main.json +13 -0
  812. package/dist/locales/en/help/search.json +167 -0
  813. package/dist/locales/en/translation.json +675 -0
  814. package/dist/locales/fr/help/main.json +13 -0
  815. package/dist/locales/fr/help/search.json +167 -0
  816. package/dist/locales/fr/translation.json +675 -0
  817. package/dist/models/ActionTypes.d.ts +48 -0
  818. package/dist/models/ActionTypes.js +1 -0
  819. package/dist/models/entities/HowlerUser.d.ts +21 -0
  820. package/dist/models/entities/HowlerUser.js +1 -0
  821. package/dist/models/entities/generated/Account.d.ts +7 -0
  822. package/dist/models/entities/generated/Account.js +1 -0
  823. package/dist/models/entities/generated/Action.d.ts +12 -0
  824. package/dist/models/entities/generated/Action.js +1 -0
  825. package/dist/models/entities/generated/Agent.d.ts +9 -0
  826. package/dist/models/entities/generated/Agent.js +1 -0
  827. package/dist/models/entities/generated/Analytic.d.ts +20 -0
  828. package/dist/models/entities/generated/Analytic.js +1 -0
  829. package/dist/models/entities/generated/Answer.d.ts +10 -0
  830. package/dist/models/entities/generated/Answer.js +1 -0
  831. package/dist/models/entities/generated/Antivirus.d.ts +9 -0
  832. package/dist/models/entities/generated/Antivirus.js +1 -0
  833. package/dist/models/entities/generated/ApiType.d.ts +265 -0
  834. package/dist/models/entities/generated/ApiType.js +1 -0
  835. package/dist/models/entities/generated/Assemblyline.d.ts +21 -0
  836. package/dist/models/entities/generated/Assemblyline.js +1 -0
  837. package/dist/models/entities/generated/Attachment.d.ts +7 -0
  838. package/dist/models/entities/generated/Attachment.js +1 -0
  839. package/dist/models/entities/generated/Attribution.d.ts +9 -0
  840. package/dist/models/entities/generated/Attribution.js +1 -0
  841. package/dist/models/entities/generated/AutonomousSystems.d.ts +7 -0
  842. package/dist/models/entities/generated/AutonomousSystems.js +1 -0
  843. package/dist/models/entities/generated/Aws.d.ts +9 -0
  844. package/dist/models/entities/generated/Aws.js +1 -0
  845. package/dist/models/entities/generated/Azure.d.ts +10 -0
  846. package/dist/models/entities/generated/Azure.js +1 -0
  847. package/dist/models/entities/generated/Bcc.d.ts +6 -0
  848. package/dist/models/entities/generated/Bcc.js +1 -0
  849. package/dist/models/entities/generated/Behaviour.d.ts +9 -0
  850. package/dist/models/entities/generated/Behaviour.js +1 -0
  851. package/dist/models/entities/generated/Body.d.ts +7 -0
  852. package/dist/models/entities/generated/Body.js +1 -0
  853. package/dist/models/entities/generated/Cbs.d.ts +7 -0
  854. package/dist/models/entities/generated/Cbs.js +1 -0
  855. package/dist/models/entities/generated/Cc.d.ts +6 -0
  856. package/dist/models/entities/generated/Cc.js +1 -0
  857. package/dist/models/entities/generated/Client.d.ts +7 -0
  858. package/dist/models/entities/generated/Client.js +1 -0
  859. package/dist/models/entities/generated/Cloud.d.ts +19 -0
  860. package/dist/models/entities/generated/Cloud.js +1 -0
  861. package/dist/models/entities/generated/CloudAccount.d.ts +7 -0
  862. package/dist/models/entities/generated/CloudAccount.js +1 -0
  863. package/dist/models/entities/generated/CodeSignature.d.ts +14 -0
  864. package/dist/models/entities/generated/CodeSignature.js +1 -0
  865. package/dist/models/entities/generated/Comment.d.ts +14 -0
  866. package/dist/models/entities/generated/Comment.js +1 -0
  867. package/dist/models/entities/generated/Container.d.ts +13 -0
  868. package/dist/models/entities/generated/Container.js +1 -0
  869. package/dist/models/entities/generated/Created.d.ts +7 -0
  870. package/dist/models/entities/generated/Created.js +1 -0
  871. package/dist/models/entities/generated/Dashboard.d.ts +8 -0
  872. package/dist/models/entities/generated/Dashboard.js +1 -0
  873. package/dist/models/entities/generated/Data.d.ts +8 -0
  874. package/dist/models/entities/generated/Data.js +1 -0
  875. package/dist/models/entities/generated/Destination.d.ts +22 -0
  876. package/dist/models/entities/generated/Destination.js +1 -0
  877. package/dist/models/entities/generated/Device.d.ts +6 -0
  878. package/dist/models/entities/generated/Device.js +1 -0
  879. package/dist/models/entities/generated/Dns.d.ts +15 -0
  880. package/dist/models/entities/generated/Dns.js +1 -0
  881. package/dist/models/entities/generated/Domain.d.ts +9 -0
  882. package/dist/models/entities/generated/Domain.js +1 -0
  883. package/dist/models/entities/generated/Dossier.d.ts +14 -0
  884. package/dist/models/entities/generated/Dossier.js +1 -0
  885. package/dist/models/entities/generated/Ecs.d.ts +6 -0
  886. package/dist/models/entities/generated/Ecs.js +1 -0
  887. package/dist/models/entities/generated/Egress.d.ts +6 -0
  888. package/dist/models/entities/generated/Egress.js +1 -0
  889. package/dist/models/entities/generated/Elf.d.ts +19 -0
  890. package/dist/models/entities/generated/Elf.js +1 -0
  891. package/dist/models/entities/generated/Email.d.ts +29 -0
  892. package/dist/models/entities/generated/Email.js +1 -0
  893. package/dist/models/entities/generated/Enrichment.d.ts +9 -0
  894. package/dist/models/entities/generated/Enrichment.js +1 -0
  895. package/dist/models/entities/generated/EntryMeta.d.ts +6 -0
  896. package/dist/models/entities/generated/EntryMeta.js +1 -0
  897. package/dist/models/entities/generated/Error.d.ts +7 -0
  898. package/dist/models/entities/generated/Error.js +1 -0
  899. package/dist/models/entities/generated/Event.d.ts +31 -0
  900. package/dist/models/entities/generated/Event.js +1 -0
  901. package/dist/models/entities/generated/Faas.d.ts +12 -0
  902. package/dist/models/entities/generated/Faas.js +1 -0
  903. package/dist/models/entities/generated/Feed.d.ts +9 -0
  904. package/dist/models/entities/generated/Feed.js +1 -0
  905. package/dist/models/entities/generated/File.d.ts +11 -0
  906. package/dist/models/entities/generated/File.js +1 -0
  907. package/dist/models/entities/generated/FileHash.d.ts +12 -0
  908. package/dist/models/entities/generated/FileHash.js +1 -0
  909. package/dist/models/entities/generated/From.d.ts +6 -0
  910. package/dist/models/entities/generated/From.js +1 -0
  911. package/dist/models/entities/generated/Gcp.d.ts +10 -0
  912. package/dist/models/entities/generated/Gcp.js +1 -0
  913. package/dist/models/entities/generated/Geo.d.ts +17 -0
  914. package/dist/models/entities/generated/Geo.js +1 -0
  915. package/dist/models/entities/generated/Group.d.ts +8 -0
  916. package/dist/models/entities/generated/Group.js +1 -0
  917. package/dist/models/entities/generated/Hash.d.ts +6 -0
  918. package/dist/models/entities/generated/Hash.js +1 -0
  919. package/dist/models/entities/generated/Header.d.ts +13 -0
  920. package/dist/models/entities/generated/Header.js +1 -0
  921. package/dist/models/entities/generated/Heuristic.d.ts +9 -0
  922. package/dist/models/entities/generated/Heuristic.js +1 -0
  923. package/dist/models/entities/generated/Hit.d.ts +103 -0
  924. package/dist/models/entities/generated/Hit.js +1 -0
  925. package/dist/models/entities/generated/HitFile.d.ts +35 -0
  926. package/dist/models/entities/generated/HitFile.js +1 -0
  927. package/dist/models/entities/generated/HitOrganization.d.ts +7 -0
  928. package/dist/models/entities/generated/HitOrganization.js +1 -0
  929. package/dist/models/entities/generated/Host.d.ts +11 -0
  930. package/dist/models/entities/generated/Host.js +1 -0
  931. package/dist/models/entities/generated/Howler.d.ts +47 -0
  932. package/dist/models/entities/generated/Howler.js +1 -0
  933. package/dist/models/entities/generated/HowlerComment.d.ts +13 -0
  934. package/dist/models/entities/generated/HowlerComment.js +1 -0
  935. package/dist/models/entities/generated/HowlerDossier.d.ts +11 -0
  936. package/dist/models/entities/generated/HowlerDossier.js +1 -0
  937. package/dist/models/entities/generated/Http.d.ts +10 -0
  938. package/dist/models/entities/generated/Http.js +1 -0
  939. package/dist/models/entities/generated/Image.d.ts +9 -0
  940. package/dist/models/entities/generated/Image.js +1 -0
  941. package/dist/models/entities/generated/Incident.d.ts +8 -0
  942. package/dist/models/entities/generated/Incident.js +1 -0
  943. package/dist/models/entities/generated/Indicator.d.ts +20 -0
  944. package/dist/models/entities/generated/Indicator.js +1 -0
  945. package/dist/models/entities/generated/IndicatorEmail.d.ts +6 -0
  946. package/dist/models/entities/generated/IndicatorEmail.js +1 -0
  947. package/dist/models/entities/generated/IndicatorFile.d.ts +35 -0
  948. package/dist/models/entities/generated/IndicatorFile.js +1 -0
  949. package/dist/models/entities/generated/Ingress.d.ts +8 -0
  950. package/dist/models/entities/generated/Ingress.js +1 -0
  951. package/dist/models/entities/generated/Instance.d.ts +7 -0
  952. package/dist/models/entities/generated/Instance.js +1 -0
  953. package/dist/models/entities/generated/Interface.d.ts +7 -0
  954. package/dist/models/entities/generated/Interface.js +1 -0
  955. package/dist/models/entities/generated/Label.d.ts +7 -0
  956. package/dist/models/entities/generated/Label.js +1 -0
  957. package/dist/models/entities/generated/Labels.d.ts +13 -0
  958. package/dist/models/entities/generated/Labels.js +1 -0
  959. package/dist/models/entities/generated/Lead.d.ts +11 -0
  960. package/dist/models/entities/generated/Lead.js +1 -0
  961. package/dist/models/entities/generated/Link.d.ts +8 -0
  962. package/dist/models/entities/generated/Link.js +1 -0
  963. package/dist/models/entities/generated/Location.d.ts +7 -0
  964. package/dist/models/entities/generated/Location.js +1 -0
  965. package/dist/models/entities/generated/Log.d.ts +13 -0
  966. package/dist/models/entities/generated/Log.js +1 -0
  967. package/dist/models/entities/generated/Machine.d.ts +6 -0
  968. package/dist/models/entities/generated/Machine.js +1 -0
  969. package/dist/models/entities/generated/Mapping.d.ts +8 -0
  970. package/dist/models/entities/generated/Mapping.js +1 -0
  971. package/dist/models/entities/generated/Matched.d.ts +6 -0
  972. package/dist/models/entities/generated/Matched.js +1 -0
  973. package/dist/models/entities/generated/Mitre.d.ts +9 -0
  974. package/dist/models/entities/generated/Mitre.js +1 -0
  975. package/dist/models/entities/generated/Modified.d.ts +7 -0
  976. package/dist/models/entities/generated/Modified.js +1 -0
  977. package/dist/models/entities/generated/Nat.d.ts +7 -0
  978. package/dist/models/entities/generated/Nat.js +1 -0
  979. package/dist/models/entities/generated/Network.d.ts +8 -0
  980. package/dist/models/entities/generated/Network.js +1 -0
  981. package/dist/models/entities/generated/Notebook.d.ts +10 -0
  982. package/dist/models/entities/generated/Notebook.js +1 -0
  983. package/dist/models/entities/generated/Observer.d.ts +20 -0
  984. package/dist/models/entities/generated/Observer.js +1 -0
  985. package/dist/models/entities/generated/Operation.d.ts +7 -0
  986. package/dist/models/entities/generated/Operation.js +1 -0
  987. package/dist/models/entities/generated/Organization.d.ts +7 -0
  988. package/dist/models/entities/generated/Organization.js +1 -0
  989. package/dist/models/entities/generated/Original.d.ts +18 -0
  990. package/dist/models/entities/generated/Original.js +1 -0
  991. package/dist/models/entities/generated/Os.d.ts +12 -0
  992. package/dist/models/entities/generated/Os.js +1 -0
  993. package/dist/models/entities/generated/Outline.d.ts +9 -0
  994. package/dist/models/entities/generated/Outline.js +1 -0
  995. package/dist/models/entities/generated/Overview.d.ts +10 -0
  996. package/dist/models/entities/generated/Overview.js +1 -0
  997. package/dist/models/entities/generated/Parent.d.ts +18 -0
  998. package/dist/models/entities/generated/Parent.js +1 -0
  999. package/dist/models/entities/generated/ParentHash.d.ts +12 -0
  1000. package/dist/models/entities/generated/ParentHash.js +1 -0
  1001. package/dist/models/entities/generated/ParentParent.d.ts +33 -0
  1002. package/dist/models/entities/generated/ParentParent.js +1 -0
  1003. package/dist/models/entities/generated/ParentUser.d.ts +9 -0
  1004. package/dist/models/entities/generated/ParentUser.js +1 -0
  1005. package/dist/models/entities/generated/Pe.d.ts +13 -0
  1006. package/dist/models/entities/generated/Pe.js +1 -0
  1007. package/dist/models/entities/generated/Pivot.d.ts +12 -0
  1008. package/dist/models/entities/generated/Pivot.js +1 -0
  1009. package/dist/models/entities/generated/Process.d.ts +35 -0
  1010. package/dist/models/entities/generated/Process.js +1 -0
  1011. package/dist/models/entities/generated/ProcessHash.d.ts +12 -0
  1012. package/dist/models/entities/generated/ProcessHash.js +1 -0
  1013. package/dist/models/entities/generated/ProcessParent.d.ts +35 -0
  1014. package/dist/models/entities/generated/ProcessParent.js +1 -0
  1015. package/dist/models/entities/generated/ProcessUser.d.ts +9 -0
  1016. package/dist/models/entities/generated/ProcessUser.js +1 -0
  1017. package/dist/models/entities/generated/Project.d.ts +7 -0
  1018. package/dist/models/entities/generated/Project.js +1 -0
  1019. package/dist/models/entities/generated/Question.d.ts +11 -0
  1020. package/dist/models/entities/generated/Question.js +1 -0
  1021. package/dist/models/entities/generated/Registry.d.ts +11 -0
  1022. package/dist/models/entities/generated/Registry.js +1 -0
  1023. package/dist/models/entities/generated/Related.d.ts +13 -0
  1024. package/dist/models/entities/generated/Related.js +1 -0
  1025. package/dist/models/entities/generated/ReplyTo.d.ts +6 -0
  1026. package/dist/models/entities/generated/ReplyTo.js +1 -0
  1027. package/dist/models/entities/generated/Request.d.ts +12 -0
  1028. package/dist/models/entities/generated/Request.js +1 -0
  1029. package/dist/models/entities/generated/Response.d.ts +10 -0
  1030. package/dist/models/entities/generated/Response.js +1 -0
  1031. package/dist/models/entities/generated/Rule.d.ts +15 -0
  1032. package/dist/models/entities/generated/Rule.js +1 -0
  1033. package/dist/models/entities/generated/Section.d.ts +14 -0
  1034. package/dist/models/entities/generated/Section.js +1 -0
  1035. package/dist/models/entities/generated/Segment.d.ts +14 -0
  1036. package/dist/models/entities/generated/Segment.js +1 -0
  1037. package/dist/models/entities/generated/Sender.d.ts +6 -0
  1038. package/dist/models/entities/generated/Sender.js +1 -0
  1039. package/dist/models/entities/generated/Server.d.ts +8 -0
  1040. package/dist/models/entities/generated/Server.js +1 -0
  1041. package/dist/models/entities/generated/Service.d.ts +6 -0
  1042. package/dist/models/entities/generated/Service.js +1 -0
  1043. package/dist/models/entities/generated/Settings.d.ts +6 -0
  1044. package/dist/models/entities/generated/Settings.js +1 -0
  1045. package/dist/models/entities/generated/Sharepoint.d.ts +9 -0
  1046. package/dist/models/entities/generated/Sharepoint.js +1 -0
  1047. package/dist/models/entities/generated/Software.d.ts +11 -0
  1048. package/dist/models/entities/generated/Software.js +1 -0
  1049. package/dist/models/entities/generated/Source.d.ts +22 -0
  1050. package/dist/models/entities/generated/Source.js +1 -0
  1051. package/dist/models/entities/generated/SourceOriginal.d.ts +18 -0
  1052. package/dist/models/entities/generated/SourceOriginal.js +1 -0
  1053. package/dist/models/entities/generated/Tactic.d.ts +9 -0
  1054. package/dist/models/entities/generated/Tactic.js +1 -0
  1055. package/dist/models/entities/generated/Technique.d.ts +9 -0
  1056. package/dist/models/entities/generated/Technique.js +1 -0
  1057. package/dist/models/entities/generated/Template.d.ts +11 -0
  1058. package/dist/models/entities/generated/Template.js +1 -0
  1059. package/dist/models/entities/generated/Threat.d.ts +20 -0
  1060. package/dist/models/entities/generated/Threat.js +1 -0
  1061. package/dist/models/entities/generated/ThreatGroup.d.ts +9 -0
  1062. package/dist/models/entities/generated/ThreatGroup.js +1 -0
  1063. package/dist/models/entities/generated/ThreatIndicator.d.ts +20 -0
  1064. package/dist/models/entities/generated/ThreatIndicator.js +1 -0
  1065. package/dist/models/entities/generated/ThreatTactic.d.ts +8 -0
  1066. package/dist/models/entities/generated/ThreatTactic.js +1 -0
  1067. package/dist/models/entities/generated/ThreatTechnique.d.ts +8 -0
  1068. package/dist/models/entities/generated/ThreatTechnique.js +1 -0
  1069. package/dist/models/entities/generated/Tls.d.ts +11 -0
  1070. package/dist/models/entities/generated/Tls.js +1 -0
  1071. package/dist/models/entities/generated/TlsServer.d.ts +6 -0
  1072. package/dist/models/entities/generated/TlsServer.js +1 -0
  1073. package/dist/models/entities/generated/To.d.ts +6 -0
  1074. package/dist/models/entities/generated/To.js +1 -0
  1075. package/dist/models/entities/generated/TriageSettings.d.ts +8 -0
  1076. package/dist/models/entities/generated/TriageSettings.js +1 -0
  1077. package/dist/models/entities/generated/Trigger.d.ts +7 -0
  1078. package/dist/models/entities/generated/Trigger.js +1 -0
  1079. package/dist/models/entities/generated/Uri.d.ts +9 -0
  1080. package/dist/models/entities/generated/Uri.js +1 -0
  1081. package/dist/models/entities/generated/Url.d.ts +19 -0
  1082. package/dist/models/entities/generated/Url.js +1 -0
  1083. package/dist/models/entities/generated/User.d.ts +14 -0
  1084. package/dist/models/entities/generated/User.js +1 -0
  1085. package/dist/models/entities/generated/UserAgent.d.ts +12 -0
  1086. package/dist/models/entities/generated/UserAgent.js +1 -0
  1087. package/dist/models/entities/generated/UserUser.d.ts +18 -0
  1088. package/dist/models/entities/generated/UserUser.js +1 -0
  1089. package/dist/models/entities/generated/View.d.ts +14 -0
  1090. package/dist/models/entities/generated/View.js +1 -0
  1091. package/dist/models/entities/generated/Votes.d.ts +8 -0
  1092. package/dist/models/entities/generated/Votes.js +1 -0
  1093. package/dist/models/entities/generated/Vulnerability.d.ts +12 -0
  1094. package/dist/models/entities/generated/Vulnerability.js +1 -0
  1095. package/dist/models/entities/generated/Yara.d.ts +9 -0
  1096. package/dist/models/entities/generated/Yara.js +1 -0
  1097. package/dist/models/socket/HitUpdate.d.ts +12 -0
  1098. package/dist/models/socket/HitUpdate.js +1 -0
  1099. package/dist/plugins/HowlerPlugin.d.ts +45 -0
  1100. package/dist/plugins/HowlerPlugin.js +111 -0
  1101. package/dist/plugins/store.d.ts +23 -0
  1102. package/dist/plugins/store.js +52 -0
  1103. package/dist/rest/AxiosClient.d.ts +10 -0
  1104. package/dist/rest/AxiosClient.js +60 -0
  1105. package/dist/rest/FetchClient.d.ts +7 -0
  1106. package/dist/rest/FetchClient.js +16 -0
  1107. package/dist/rest/index.d.ts +6 -0
  1108. package/dist/rest/index.js +1 -0
  1109. package/dist/utils/Throttler.d.ts +9 -0
  1110. package/dist/utils/Throttler.js +38 -0
  1111. package/dist/utils/actionUtils.d.ts +31 -0
  1112. package/dist/utils/actionUtils.js +88 -0
  1113. package/dist/utils/constants.d.ts +78 -0
  1114. package/dist/utils/constants.js +113 -0
  1115. package/dist/utils/hit.json +30356 -0
  1116. package/dist/utils/hitFunctions.d.ts +2 -0
  1117. package/dist/utils/hitFunctions.js +8 -0
  1118. package/dist/utils/localStorage.d.ts +21 -0
  1119. package/dist/utils/localStorage.js +48 -0
  1120. package/dist/utils/sessionStorage.d.ts +7 -0
  1121. package/dist/utils/sessionStorage.js +44 -0
  1122. package/dist/utils/socketUtils.d.ts +8 -0
  1123. package/dist/utils/socketUtils.js +8 -0
  1124. package/dist/utils/stringUtils.d.ts +7 -0
  1125. package/dist/utils/stringUtils.js +38 -0
  1126. package/dist/utils/utils.d.ts +33 -0
  1127. package/dist/utils/utils.js +180 -0
  1128. package/dist/utils/xsrf.d.ts +2 -0
  1129. package/dist/utils/xsrf.js +16 -0
  1130. package/package.json +153 -0
  1131. package/public/branding/howler/favicon.svg +38 -0
  1132. package/public/branding/howler/name-dark.svg +21 -0
  1133. package/public/branding/howler/name-light.svg +21 -0
  1134. package/public/branding/howler/noswoosh-dark.svg +24 -0
  1135. package/public/branding/howler/noswoosh-light.svg +28 -0
  1136. package/public/branding/howler/swoosh-dark.svg +41 -0
  1137. package/public/branding/howler/swoosh-light.svg +45 -0
  1138. package/public/images/doggie.png +0 -0
  1139. package/public/manifest.json +16 -0
  1140. package/public/robots.txt +3 -0
  1141. package/public/scripts/background.js +14 -0
  1142. package/public/serve.json +14 -0
@@ -0,0 +1,124 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Close, Search } from '@mui/icons-material';
3
+ import { Box, Chip, Grid, IconButton, LinearProgress, Stack, TextField, Typography } from '@mui/material';
4
+ import api from 'api';
5
+ import PageCenter from 'commons/components/pages/PageCenter';
6
+ import { parseEvent } from 'commons/components/utils/keyboard';
7
+ import VSBox from 'components/elements/addons/layout/vsbox/VSBox';
8
+ import VSBoxContent from 'components/elements/addons/layout/vsbox/VSBoxContent';
9
+ import VSBoxHeader from 'components/elements/addons/layout/vsbox/VSBoxHeader';
10
+ import { TuiListProvider } from 'components/elements/addons/lists';
11
+ import TuiTable from 'components/elements/addons/lists/table/TuiTable';
12
+ import { TuiListMethodContext } from 'components/elements/addons/lists/TuiListProvider';
13
+ import SearchPagination from 'components/elements/addons/search/SearchPagination';
14
+ import SearchTotal from 'components/elements/addons/search/SearchTotal';
15
+ import useMyApi from 'components/hooks/useMyApi';
16
+ import { useMyLocalStorageItem } from 'components/hooks/useMyLocalStorage';
17
+ import { useCallback, useContext, useEffect, useState } from 'react';
18
+ import { useTranslation } from 'react-i18next';
19
+ import { useNavigate, useSearchParams } from 'react-router-dom';
20
+ import { StorageKey } from 'utils/constants';
21
+ import { sanitizeLuceneQuery } from 'utils/stringUtils';
22
+ const COLUMN = [
23
+ { column: 'uname', i18nKey: 'page.user.search.column.username' },
24
+ { column: 'name', i18nKey: 'page.user.search.column.fullname' },
25
+ { column: 'email', i18nKey: 'page.user.search.column.email' }
26
+ ];
27
+ const UserSearch = () => {
28
+ const navigate = useNavigate();
29
+ const { t } = useTranslation();
30
+ const { dispatchApi } = useMyApi();
31
+ const { load } = useContext(TuiListMethodContext);
32
+ const [searchParams, setSearchParams] = useSearchParams();
33
+ const pageCount = useMyLocalStorageItem(StorageKey.PAGE_COUNT, 25)[0];
34
+ const [searching, setSearching] = useState(false);
35
+ const [phrase, setPhrase] = useState('');
36
+ const [offset, setOffset] = useState(parseInt(searchParams.get('offset')) || 0);
37
+ const [response, setResponse] = useState(null);
38
+ // Search Handler.
39
+ const onSearch = useCallback(async () => {
40
+ setSearching(true);
41
+ try {
42
+ const sanitizedPhrase = sanitizeLuceneQuery(phrase);
43
+ const _response = await dispatchApi(api.search.user.post({
44
+ query: `name:*${sanitizedPhrase}* OR uname:*${sanitizedPhrase}* OR email:*${sanitizedPhrase}*`,
45
+ rows: pageCount,
46
+ offset
47
+ }));
48
+ setResponse(_response);
49
+ load(_response.items.map(u => ({ id: u.username, item: u })));
50
+ }
51
+ finally {
52
+ setSearching(false);
53
+ }
54
+ }, [dispatchApi, load, offset, pageCount, phrase]);
55
+ const onPageChange = useCallback((_offset) => {
56
+ if (_offset !== offset) {
57
+ searchParams.set('offset', _offset.toString());
58
+ setSearchParams(searchParams);
59
+ setOffset(_offset);
60
+ }
61
+ }, [offset, searchParams, setSearchParams]);
62
+ // Handler for when search term value changes.
63
+ const onValueChange = useCallback((event) => setPhrase(event.target.value), []);
64
+ // Handler for keyboard event in order to trigger search onEnter.
65
+ const onKeyDown = useCallback((event) => {
66
+ const { isEnter } = parseEvent(event);
67
+ if (isEnter) {
68
+ onSearch();
69
+ }
70
+ }, [onSearch]);
71
+ // Clean button handler.
72
+ const onClear = useCallback(() => {
73
+ setPhrase('');
74
+ onSearch();
75
+ }, [onSearch]);
76
+ // Effect to initialize list of users.
77
+ useEffect(() => {
78
+ onSearch();
79
+ if (!searchParams.has('offset')) {
80
+ searchParams.set('offset', '0');
81
+ setSearchParams(searchParams);
82
+ }
83
+ },
84
+ // eslint-disable-next-line react-hooks/exhaustive-deps
85
+ []);
86
+ useEffect(() => {
87
+ if (response?.total <= offset) {
88
+ setOffset(0);
89
+ searchParams.set('offset', '0');
90
+ setSearchParams(searchParams);
91
+ }
92
+ }, [offset, response?.total, searchParams, setSearchParams]);
93
+ useEffect(() => {
94
+ if (!searching) {
95
+ onSearch();
96
+ }
97
+ // eslint-disable-next-line react-hooks/exhaustive-deps
98
+ }, [offset]);
99
+ // TuiTable cell renderer
100
+ const cellRenderer = useCallback((_value, _, column) => {
101
+ if (column.column !== 'groups') {
102
+ return _jsx("div", { style: { height: '100%', display: 'flex', alignItems: 'center' }, children: _value.toString() });
103
+ }
104
+ else {
105
+ return (_jsx(Grid, { container: true, spacing: 1, children: _value.map(g => (_jsx(Grid, { item: true, children: _jsx(Chip, { label: g, size: "small", sx: { fontSize: '11px' } }) }, g))) }));
106
+ }
107
+ }, []);
108
+ // TuiTable handler for when selecting/clicking a Row.
109
+ const onRowSelect = useCallback(selection => {
110
+ navigate(selection.item.username);
111
+ }, [navigate]);
112
+ return (_jsxs(VSBox, { children: [_jsxs(VSBoxHeader, { children: [_jsx(Typography, { sx: theme => ({ fontStyle: 'italic ', color: theme.palette.text.disabled, mb: 0.5 }), variant: "body2", children: t('page.user.search.prompt') }), _jsx(TextField, { fullWidth: true, autoComplete: "off", value: phrase, onChange: onValueChange, onKeyDown: onKeyDown, InputProps: {
113
+ startAdornment: (_jsx(_Fragment, { children: _jsx(IconButton, { onClick: onSearch, children: _jsx(Search, {}) }) })),
114
+ endAdornment: (_jsx(_Fragment, { children: _jsx(IconButton, { onClick: onClear, children: _jsx(Close, {}) }) }))
115
+ } }), searching && (_jsx(LinearProgress, { sx: theme => ({
116
+ mt: -0.5,
117
+ borderBottomLeftRadius: theme.shape.borderRadius,
118
+ borderBottomRightRadius: theme.shape.borderRadius
119
+ }) })), response && (_jsxs(Stack, { direction: "row", alignItems: "center", mt: 0.5, children: [_jsx(SearchTotal, { total: response.total, pageLength: response.items.length, offset: response.offset, sx: theme => ({ color: theme.palette.text.secondary, fontSize: '0.9em', fontStyle: 'italic' }) }), _jsx(Box, { flex: 1 }), _jsx(SearchPagination, { total: response.total, limit: response.rows, offset: response.offset, onChange: onPageChange })] }))] }), _jsx(VSBoxContent, { sx: { mt: 1 }, children: _jsx(TuiTable, { columns: COLUMN, onRowSelect: onRowSelect, children: cellRenderer }) })] }));
120
+ };
121
+ const UserSearchProvider = () => {
122
+ return (_jsx(PageCenter, { textAlign: "left", children: _jsx(TuiListProvider, { children: _jsx(UserSearch, {}) }) }));
123
+ };
124
+ export default UserSearchProvider;
@@ -0,0 +1,3 @@
1
+ import { type FC } from 'react';
2
+ declare const QueryBuilder: FC;
3
+ export default QueryBuilder;
@@ -0,0 +1,228 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable no-useless-escape */
3
+ import { useMonaco } from '@monaco-editor/react';
4
+ import { OpenInNew, PlayArrowOutlined, SsidChart } from '@mui/icons-material';
5
+ import { Alert, AlertTitle, Autocomplete, Box, Card, Checkbox, Chip, CircularProgress, FormControlLabel, IconButton, ListItemText, Slider, Stack, TextField, Tooltip, Typography, useMediaQuery, useTheme } from '@mui/material';
6
+ import api from 'api';
7
+ import PageCenter from 'commons/components/pages/PageCenter';
8
+ import { parseEvent } from 'commons/components/utils/keyboard';
9
+ import { FieldContext } from 'components/app/providers/FieldProvider';
10
+ import { ModalContext } from 'components/app/providers/ModalProvider';
11
+ import CustomButton from 'components/elements/addons/buttons/CustomButton';
12
+ import FlexOne from 'components/elements/addons/layout/FlexOne';
13
+ import JSONViewer from 'components/elements/display/json/JSONViewer';
14
+ import useMySnackbar from 'components/hooks/useMySnackbar';
15
+ import moment from 'moment';
16
+ import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
17
+ import { useTranslation } from 'react-i18next';
18
+ import { Link } from 'react-router-dom';
19
+ import { sanitizeMultilineLucene } from 'utils/stringUtils';
20
+ import { v4 as uuid } from 'uuid';
21
+ import QueryEditor from './QueryEditor';
22
+ import RuleModal from './RuleModal';
23
+ const QUERY_TYPES = ['eql', 'lucene', 'yaml'];
24
+ const STEPS = [1, 5, 25, 50, 100, 250, 500, 1000, 2500, 10000];
25
+ const DEFAULT_VALUES = {
26
+ eql: `sequence with maxspan=30m
27
+ [ process where process.name == "regsvr32.exe" ]
28
+ [ file where length(process.command_line) > 400 ]
29
+ `,
30
+ lucene: `# Match any howler.id value
31
+ howler.id:*
32
+ AND
33
+ # Hits must be open
34
+ howler.status:open
35
+ `,
36
+ yaml: `title: Example Howler Sigma Rule
37
+ id: ${uuid()}
38
+ status: test
39
+ description: A basic example of using sigma rule notation to query howler
40
+ references:
41
+ - https://github.com/SigmaHQ/sigma
42
+ author: You
43
+ date: ${moment().format('YYYY/MM/DD')}
44
+ modified: ${moment().format('YYYY/MM/DD')}
45
+ tags:
46
+ - attack.command_and_control
47
+ logsource:
48
+ category: nbs
49
+ detection:
50
+ selection1:
51
+ howler.analytic|startswith:
52
+ - '6Tail'
53
+ - 'Assembly'
54
+ selection2:
55
+ howler.status:
56
+ - open
57
+ - in-progress
58
+ condition: 1 of selection*
59
+ falsepositives:
60
+ - Unknown
61
+ level: informational
62
+ `
63
+ };
64
+ const QueryBuilder = () => {
65
+ const { t } = useTranslation();
66
+ const theme = useTheme();
67
+ const smallButtons = useMediaQuery('(max-width:1150px)');
68
+ const compactLayout = useMediaQuery('(max-width:870px)');
69
+ const monaco = useMonaco();
70
+ const { hitFields, getHitFields } = useContext(FieldContext);
71
+ const { showModal } = useContext(ModalContext);
72
+ const { showWarningMessage } = useMySnackbar();
73
+ const [type, setType] = useState('lucene');
74
+ const [loading, setLoading] = useState(false);
75
+ const [query, setQuery] = useState(DEFAULT_VALUES.lucene);
76
+ const [allFields, setAllFields] = useState(true);
77
+ const [fields, setFields] = useState(['howler.id']);
78
+ const [response, setResponse] = useState(null);
79
+ const [error, setError] = useState(null);
80
+ const [rows, setRows] = useState(1);
81
+ const [x, setX] = useState(0);
82
+ const wrapper = useRef();
83
+ const fieldOptions = useMemo(() => hitFields.map(_field => _field.key), [hitFields]);
84
+ const execute = useCallback(async () => {
85
+ setLoading(true);
86
+ try {
87
+ const searchProperties = {
88
+ fl: allFields ? null : fields.join(','),
89
+ rows: STEPS[rows]
90
+ };
91
+ let result;
92
+ if (type === 'lucene') {
93
+ result = await api.search.hit.post({
94
+ query: sanitizeMultilineLucene(query),
95
+ ...searchProperties
96
+ });
97
+ }
98
+ else if (type === 'eql') {
99
+ result = await api.search.hit.eql.post({
100
+ eql_query: sanitizeMultilineLucene(query),
101
+ ...searchProperties
102
+ });
103
+ }
104
+ else {
105
+ result = await api.search.hit.sigma.post({
106
+ sigma: query,
107
+ ...searchProperties
108
+ });
109
+ }
110
+ setResponse(result);
111
+ setError(null);
112
+ }
113
+ catch (e) {
114
+ setError(e.message ?? e.toString());
115
+ }
116
+ finally {
117
+ setLoading(false);
118
+ }
119
+ }, [allFields, fields, query, rows, type]);
120
+ const onKeyDown = useCallback(event => {
121
+ const parsedEvent = parseEvent(event);
122
+ if (parsedEvent.isCtrl && parsedEvent.isEnter) {
123
+ execute();
124
+ }
125
+ }, [execute]);
126
+ const onMouseMove = useCallback((event) => {
127
+ const wrapperRect = wrapper.current?.getBoundingClientRect();
128
+ const offset = event.clientX - (wrapperRect.left + wrapperRect.width / 2);
129
+ setX(offset);
130
+ }, []);
131
+ const onMouseUp = useCallback(() => {
132
+ window.removeEventListener('mousemove', onMouseMove);
133
+ window.removeEventListener('mouseup', onMouseUp);
134
+ }, [onMouseMove]);
135
+ const onMouseDown = useCallback(() => {
136
+ window.addEventListener('mousemove', onMouseMove);
137
+ window.addEventListener('mouseup', onMouseUp);
138
+ }, [onMouseMove, onMouseUp]);
139
+ const onCreateRule = useCallback(async () => {
140
+ if (!response) {
141
+ showWarningMessage(t('route.advanced.create.rule.disabled'));
142
+ return;
143
+ }
144
+ await new Promise(res => showModal(_jsx(RuleModal, { onSubmit: res, fileData: query, type: type }), {
145
+ maxWidth: '85vw',
146
+ maxHeight: '85vh'
147
+ }));
148
+ }, [query, response, showModal, showWarningMessage, t, type]);
149
+ useEffect(() => {
150
+ if (!monaco) {
151
+ return;
152
+ }
153
+ const queryDisposable = monaco.editor.addEditorAction({
154
+ id: 'execute-query',
155
+ label: t('route.advanced.execute.query'),
156
+ contextMenuGroupId: 'howler',
157
+ keybindings: [monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter],
158
+ run: execute
159
+ });
160
+ const ruleDisposable = monaco.editor.addEditorAction({
161
+ id: 'save-query',
162
+ label: t('route.advanced.create.rule'),
163
+ contextMenuGroupId: 'howler',
164
+ keybindings: [monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS],
165
+ run: onCreateRule
166
+ });
167
+ return () => {
168
+ queryDisposable.dispose();
169
+ ruleDisposable.dispose();
170
+ };
171
+ }, [execute, monaco, onCreateRule, t]);
172
+ useEffect(() => {
173
+ getHitFields();
174
+ }, [getHitFields]);
175
+ useEffect(() => {
176
+ setResponse(null);
177
+ if (!monaco) {
178
+ return;
179
+ }
180
+ monaco.editor.getModels().forEach(model => {
181
+ model.setValue(DEFAULT_VALUES[type]);
182
+ });
183
+ }, [type, monaco]);
184
+ return (_jsx(PageCenter, { width: "100%", maxWidth: "100%", margin: 0, textAlign: "left", children: _jsxs(Stack, { ref: wrapper, children: [_jsxs(Stack, { direction: "row", spacing: 1, sx: {
185
+ px: 2,
186
+ pt: 1,
187
+ pb: 1,
188
+ // Fix TuiButton Issue
189
+ '& > span': {
190
+ display: 'flex',
191
+ alignSelf: 'stretch'
192
+ }
193
+ }, children: [smallButtons ? (_jsx(Tooltip, { title: t('route.actions.execute'), children: _jsx(IconButton, { size: "small", sx: { alignSelf: 'start' }, color: "success", onClick: execute, children: loading ? _jsx(CircularProgress, { size: 18, color: "success" }) : _jsx(PlayArrowOutlined, { color: "success" }) }) })) : (_jsx(CustomButton, { size: "small", variant: "outlined", startIcon: loading ? (_jsx(CircularProgress, { size: 18, color: "success" })) : (_jsx(PlayArrowOutlined, { color: "success", sx: { '& path': { stroke: 'currentcolor', strokeWidth: '1px' } } })), color: "success", onClick: execute, children: t('route.actions.execute') })), _jsxs(Stack, { direction: compactLayout ? 'column' : 'row', spacing: 1, children: [_jsx(Autocomplete, { value: type, onChange: (__, value) => setType(value), options: QUERY_TYPES, getOptionLabel: option => t(`route.advanced.query.${option}`), renderOption: (props, option) => (_jsx(ListItemText, { ...props, sx: { flexDirection: 'column', alignItems: 'start !important' }, primary: t(`route.advanced.query.${option}`), secondary: t(`route.advanced.query.${option}.description`) })), renderInput: params => (_jsx(TextField, { ...params, size: "small", label: t('route.advanced.type'), sx: { minWidth: '250px' } })), sx: [
194
+ !compactLayout && {
195
+ height: '100%',
196
+ '& .MuiFormControl-root': { height: '100%', '& > div': { height: '100%' } }
197
+ }
198
+ ], slotProps: { paper: { sx: { minWidth: '600px' } } } }), _jsx(Card, { variant: "outlined", sx: { flex: 1, maxWidth: '350px', minWidth: '210px' }, children: _jsxs(Stack, { spacing: 0.5, sx: { px: 1, alignItems: 'start' }, children: [_jsxs(Typography, { variant: "caption", color: "text.secondary", sx: { whiteSpace: 'nowrap' }, children: [t('route.advanced.rows'), ": ", STEPS[rows]] }), _jsx(Slider, { size: "small", valueLabelDisplay: "off", value: rows, onChange: (_, value) => setRows(value), min: 0, max: 9, step: 1, marks: true, track: false, sx: { py: 0.5 } })] }) })] }), allFields ? (_jsx(FormControlLabel, { control: _jsx(Checkbox, { checked: allFields, onChange: (__, checked) => setAllFields(checked) }), label: t('route.advanced.fields.all'), sx: { '& > span': { color: 'text.secondary' }, alignSelf: 'start' } })) : (_jsx(Autocomplete, { fullWidth: true, renderTags: values => values.length <= 3 ? (_jsx(Stack, { direction: "row", spacing: 0.5, children: values.map(_value => (_jsx(Chip, { size: "small", label: _value }, _value))) })) : (_jsx(Tooltip, { title: _jsx(Stack, { spacing: 1, children: values.map(_value => (_jsx("span", { children: _value }, _value))) }), children: _jsx(Chip, { size: "small", label: values.length }) })), multiple: true, size: "small", options: fieldOptions, value: fields, onChange: (__, values) => (values.length > 0 ? setFields(values) : setAllFields(true)), renderInput: params => _jsx(TextField, { ...params, label: t('route.advanced.fields') }), sx: { maxWidth: '500px', width: '20vw', minWidth: '200px', '& label': { zIndex: 1200 } }, onKeyDown: onKeyDown })), _jsx(FlexOne, {}), type === 'lucene' &&
199
+ (smallButtons ? (_jsx(Tooltip, { title: t('route.advanced.open'), children: _jsx(IconButton, { color: "primary", sx: { alignSelf: 'center' }, component: Link, disabled: !response, to: `/hits?query=${sanitizeMultilineLucene(query).replaceAll('\n', ' ').trim()}`, children: _jsx(OpenInNew, { fontSize: "small" }) }) })) : (_jsx(CustomButton, { size: "small", variant: "outlined", startIcon: _jsx(OpenInNew, {}), component: Link, disabled: !response, ...{ to: `/hits?query=${sanitizeMultilineLucene(query).replaceAll('\n', ' ').trim()}` }, children: t('route.advanced.open') }))), smallButtons ? (_jsx(Tooltip, { title: response ? t('route.advanced.create.rule') : t('route.advanced.create.rule.disabled'), children: _jsx(IconButton, { size: "small", sx: { alignSelf: 'center' }, color: "info", onClick: onCreateRule, disabled: !response, children: _jsx(SsidChart, {}) }) })) : (_jsx(CustomButton, { size: "small", variant: "outlined", color: "info", startIcon: _jsx(SsidChart, {}), onClick: onCreateRule, disabled: !response, ...{ to: `/hits?query=${sanitizeMultilineLucene(query).replaceAll('\n', ' ').trim()}` }, tooltip: !response && t('route.advanced.create.rule.disabled'), children: t('route.advanced.create.rule') }))] }), _jsxs(Box, { width: "100%", height: "calc(100vh - 112px)", sx: { position: 'relative', overflow: 'hidden', borderTop: `thin solid ${theme.palette.divider}` }, children: [_jsx(Box, { sx: { position: 'absolute', top: 0, left: 0, bottom: 0, right: `calc(50% + 7px - ${x}px)`, pt: 1 }, children: _jsx(QueryEditor, { query: query, setQuery: setQuery, language: type }) }), _jsx(Box, { sx: {
200
+ position: 'absolute',
201
+ top: 0,
202
+ bottom: 0,
203
+ left: 'calc(50% - 5px)',
204
+ width: '10px',
205
+ backgroundColor: theme.palette.divider,
206
+ cursor: 'col-resize',
207
+ transform: `translateX(${x}px)`,
208
+ zIndex: 1000,
209
+ borderRadius: theme.shape.borderRadius
210
+ }, onMouseDown: onMouseDown }), _jsx(Box, { sx: {
211
+ position: 'absolute',
212
+ top: 0,
213
+ left: `calc(50% + 7px + ${x}px)`,
214
+ bottom: 0,
215
+ right: 0,
216
+ display: 'flex',
217
+ alignItems: 'stretch',
218
+ justifyContent: 'stretch',
219
+ px: 1,
220
+ pt: 1,
221
+ mt: -1,
222
+ '& > *': { width: '100%' },
223
+ '& .react-json-view': {
224
+ backgroundColor: `${theme.palette.background.paper} !important`
225
+ }
226
+ }, children: response ? (_jsx(JSONViewer, { data: response ?? {}, collapse: allFields })) : (_jsxs(Stack, { alignItems: "center", p: 2, children: [_jsx(Typography, { variant: "h3", sx: { mt: 4, color: 'text.secondary', opacity: 0.7 }, children: t('route.advanced.result.title') }), _jsx(Typography, { variant: "h5", sx: { mt: 2, color: 'text.secondary', opacity: 0.7 }, children: t('route.advanced.result.description') })] })) }), error && (_jsxs(Alert, { sx: { position: 'absolute', bottom: 0, left: 0, right: '50%', m: 1, mr: 13, maxHeight: '40vh' }, variant: "outlined", color: "error", children: [_jsx(AlertTitle, { children: t('route.advanced.error') }), error] }))] })] }) }));
227
+ };
228
+ export default QueryBuilder;
@@ -0,0 +1,14 @@
1
+ import type { Monaco } from '@monaco-editor/react';
2
+ import type { editor } from 'monaco-editor';
3
+ interface QueryEditorProps {
4
+ query: string;
5
+ setQuery: (query: string) => void;
6
+ onMount?: (editor: editor.IStandaloneCodeEditor, monaco: Monaco) => void;
7
+ language?: 'lucene' | 'eql' | 'yaml';
8
+ fontSize?: number;
9
+ height?: string;
10
+ width?: string;
11
+ editorOptions?: editor.IStandaloneEditorConstructionOptions;
12
+ }
13
+ declare const _default: import("react").NamedExoticComponent<QueryEditorProps>;
14
+ export default _default;
@@ -0,0 +1,95 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMonaco } from '@monaco-editor/react';
3
+ import { Box, useTheme } from '@mui/material';
4
+ import { ApiConfigContext } from 'components/app/providers/ApiConfigProvider';
5
+ import { HitSearchContext } from 'components/app/providers/HitSearchProvider';
6
+ import ThemedEditor from 'components/elements/ThemedEditor';
7
+ import { memo, useCallback, useContext, useEffect, useMemo } from 'react';
8
+ import { useContextSelector } from 'use-context-selector';
9
+ import useEQLCompletionProvider from './eqlCompletionProvider';
10
+ import EQL_TOKEN_PROVIDER from './eqlTokenProvider';
11
+ import useHistoryCompletionProvider from './historyCompletionProvider';
12
+ import useLuceneCompletionProvider from './luceneCompletionProvider';
13
+ import LUCENE_TOKEN_PROVIDER from './luceneTokenProvider';
14
+ import useYamlCompletionProvider from './yamlCompletionProvider';
15
+ const QueryEditor = ({ query, setQuery, onMount, language = 'lucene', fontSize = 16, height = '100%', width = '100%', editorOptions = {} }) => {
16
+ const theme = useTheme();
17
+ const monaco = useMonaco();
18
+ const { config } = useContext(ApiConfigContext);
19
+ const luceneCompletion = useLuceneCompletionProvider();
20
+ const yamlCompletion = useYamlCompletionProvider();
21
+ const eqlCompletion = useEQLCompletionProvider();
22
+ const historyCompletion = useHistoryCompletionProvider();
23
+ const fzfSearch = useContextSelector(HitSearchContext, ctx => ctx?.fzfSearch ?? false);
24
+ const setFzfSearch = useContextSelector(HitSearchContext, ctx => ctx?.setFzfSearch);
25
+ const beforeEditorMount = useCallback((_monaco) => {
26
+ _monaco.languages.register({ id: 'lucene' });
27
+ _monaco.languages.register({ id: 'eql' });
28
+ }, []);
29
+ useEffect(() => {
30
+ const handleKeyPress = event => {
31
+ if (setFzfSearch && event.ctrlKey && event.key == 'r') {
32
+ event.preventDefault();
33
+ setFzfSearch(!fzfSearch);
34
+ }
35
+ };
36
+ window.addEventListener('keydown', handleKeyPress);
37
+ return () => {
38
+ window.removeEventListener('keydown', handleKeyPress);
39
+ };
40
+ }, [fzfSearch, setFzfSearch]);
41
+ useEffect(() => {
42
+ if (!monaco) {
43
+ return;
44
+ }
45
+ // Set the parsers
46
+ const monarchLuceneDisposable = monaco.languages.setMonarchTokensProvider('lucene', LUCENE_TOKEN_PROVIDER);
47
+ const monarchEQLDisposable = monaco.languages.setMonarchTokensProvider('eql', EQL_TOKEN_PROVIDER);
48
+ monaco.editor.getModels().forEach(model => model.setEOL(monaco.editor.EndOfLineSequence.LF));
49
+ if (!fzfSearch) {
50
+ // Add completion providers
51
+ const luceneCompletionDisposable = monaco.languages.registerCompletionItemProvider('lucene', luceneCompletion);
52
+ const yamlCompletionDisposable = monaco.languages.registerCompletionItemProvider('yaml', yamlCompletion);
53
+ const eqlCompletionDisposable = monaco.languages.registerCompletionItemProvider('eql', eqlCompletion);
54
+ return () => {
55
+ luceneCompletionDisposable?.dispose();
56
+ yamlCompletionDisposable?.dispose();
57
+ eqlCompletionDisposable?.dispose();
58
+ monarchEQLDisposable?.dispose();
59
+ monarchLuceneDisposable?.dispose();
60
+ };
61
+ }
62
+ else {
63
+ const historyCompletionDisposable = monaco.languages.registerCompletionItemProvider('lucene', historyCompletion);
64
+ return () => {
65
+ historyCompletionDisposable?.dispose();
66
+ monarchLuceneDisposable?.dispose();
67
+ };
68
+ }
69
+ }, [config.lookups, eqlCompletion, fzfSearch, historyCompletion, luceneCompletion, monaco, yamlCompletion]);
70
+ useEffect(() => {
71
+ if (!monaco || !language) {
72
+ return;
73
+ }
74
+ const disposable = monaco.editor.onDidCreateModel(model => {
75
+ if (model.getLanguageId() === 'markdown') {
76
+ return;
77
+ }
78
+ monaco.editor.setModelLanguage(model, language);
79
+ });
80
+ monaco.editor.getModels().forEach(model => {
81
+ if (model.getLanguageId() === 'markdown') {
82
+ return;
83
+ }
84
+ monaco.editor.setModelLanguage(model, language);
85
+ });
86
+ return disposable.dispose;
87
+ }, [language, monaco]);
88
+ const options = useMemo(() => ({
89
+ readOnly: !setQuery,
90
+ fontSize,
91
+ ...editorOptions
92
+ }), [setQuery, fontSize, editorOptions]);
93
+ return (_jsx(Box, { sx: { flex: 1 }, children: _jsx(ThemedEditor, { height: height, width: width, theme: theme.palette.mode === 'light' ? 'howler' : 'howler-dark', value: query, onChange: value => setQuery(value), beforeMount: beforeEditorMount, onMount: onMount, options: options }) }));
94
+ };
95
+ export default memo(QueryEditor);
@@ -0,0 +1,7 @@
1
+ import type { FC } from 'react';
2
+ declare const RuleModal: FC<{
3
+ onSubmit: () => void;
4
+ fileData: string;
5
+ type: 'eql' | 'lucene' | 'yaml';
6
+ }>;
7
+ export default RuleModal;
@@ -0,0 +1,83 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Button, Card, CardHeader, CircularProgress, Divider, FormControl, InputLabel, MenuItem, Select, Stack, Tab, Tabs, TextField, Typography, useTheme } from '@mui/material';
3
+ import api from 'api';
4
+ import { parseEvent } from 'commons/components/utils/keyboard';
5
+ import { ModalContext } from 'components/app/providers/ModalProvider';
6
+ import CustomButton from 'components/elements/addons/buttons/CustomButton';
7
+ import Markdown from 'components/elements/display/Markdown';
8
+ import ThemedEditor from 'components/elements/ThemedEditor';
9
+ import useMyApi from 'components/hooks/useMyApi';
10
+ import useMySnackbar from 'components/hooks/useMySnackbar';
11
+ import { useCallback, useContext, useEffect, useMemo, useState } from 'react';
12
+ import { useTranslation } from 'react-i18next';
13
+ import { useLocation, useNavigate } from 'react-router-dom';
14
+ import { RULE_INTERVALS } from 'utils/constants';
15
+ const RuleModal = ({ onSubmit, fileData, type }) => {
16
+ const { t } = useTranslation();
17
+ const theme = useTheme();
18
+ const { close } = useContext(ModalContext);
19
+ const { dispatchApi } = useMyApi();
20
+ const { showSuccessMessage } = useMySnackbar();
21
+ const navigate = useNavigate();
22
+ const location = useLocation();
23
+ const [name, setName] = useState('');
24
+ const [description, setDescription] = useState('');
25
+ const [crontab, setCrontab] = useState(RULE_INTERVALS[3].crontab);
26
+ const [loading, setLoading] = useState(false);
27
+ const [tab, setTab] = useState('description');
28
+ const badAnalyticName = useMemo(() => !/^([A-Z][a-z]* ?)*$/.test(name), [name]);
29
+ const handleSubmit = useCallback(async () => {
30
+ try {
31
+ setLoading(true);
32
+ const newAnalytic = await dispatchApi(api.analytic.rules.post({
33
+ name,
34
+ description,
35
+ // Converting the language name to the query type - they all match except sigma
36
+ rule_type: type.replace('yaml', 'sigma'),
37
+ rule: fileData,
38
+ rule_crontab: crontab
39
+ }));
40
+ showSuccessMessage(t('modal.rule.success'), 5000, {
41
+ action: () => (_jsx(Button, { color: "inherit", onClick: () => navigate(`/analytics/${newAnalytic.analytic_id}`), children: t('open') }))
42
+ });
43
+ onSubmit();
44
+ close();
45
+ }
46
+ finally {
47
+ setLoading(false);
48
+ }
49
+ }, [dispatchApi, name, description, type, fileData, crontab, showSuccessMessage, t, onSubmit, close, navigate]);
50
+ const handleKeydown = useCallback(e => {
51
+ const parsedEvent = parseEvent(e);
52
+ if (parsedEvent.isCtrl && parsedEvent.isEnter) {
53
+ e.stopPropagation();
54
+ e.preventDefault();
55
+ handleSubmit();
56
+ }
57
+ else if (parsedEvent.isEscape) {
58
+ e.stopPropagation();
59
+ e.preventDefault();
60
+ close();
61
+ }
62
+ }, [close, handleSubmit]);
63
+ useEffect(() => {
64
+ if (location.pathname !== '/advanced') {
65
+ close();
66
+ }
67
+ }, [close, location.pathname]);
68
+ return (_jsxs(Stack, { spacing: 2, p: 2, alignItems: "start", sx: { minWidth: '60vw', height: '80vh', overflow: 'hidden' }, children: [_jsx(Typography, { variant: "h4", children: t('modal.rule.title') }), _jsx(Typography, { children: t('modal.rule.description') }), _jsxs(Stack, { direction: "row", spacing: 1, sx: { width: '100%' }, children: [_jsx(TextField, { label: t('modal.rule.name') + (badAnalyticName ? ` - ${t('modal.rule.name.warn')}` : ''), value: name, fullWidth: true, color: badAnalyticName ? 'warning' : null, multiline: true, maxRows: 6, onChange: e => setName(e.target.value), onKeyDown: handleKeydown }), _jsxs(FormControl, { sx: { minWidth: '250px' }, children: [_jsx(InputLabel, { children: t('rule.interval') }), _jsx(Select, { label: t('rule.interval'), onChange: event => setCrontab(event.target.value), value: crontab, MenuProps: { style: { zIndex: 1500 } }, children: RULE_INTERVALS.map(interval => (_jsx(MenuItem, { value: interval.crontab, children: t(interval.key) }, interval.key))) })] })] }), _jsxs(Tabs, { value: tab, onChange: (__, value) => setTab(value), children: [_jsx(Tab, { label: t('description'), value: "description" }), _jsx(Tab, { label: t('query'), value: "query" })] }), tab === 'description' && (_jsxs(Box, { display: "grid", alignSelf: "stretch", sx: { pt: 1, flex: 1, overflow: 'hidden', gridTemplateColumns: '1fr 1fr', gap: theme.spacing(1) }, justifyContent: "stretch", children: [_jsxs(Card, { variant: "outlined", sx: { p: 1 }, children: [_jsx(CardHeader, { sx: { py: 1, px: 0 }, title: t('modal.rule.description.title') }), _jsx(Divider, {}), _jsx(ThemedEditor, { height: "90%", width: "100%", theme: "howler", language: "markdown", value: description, onChange: value => setDescription(value), options: {
69
+ minimap: { enabled: false },
70
+ overviewRulerBorder: false,
71
+ renderLineHighlight: 'gutter',
72
+ fontSize: 16,
73
+ autoClosingBrackets: 'always'
74
+ } })] }), _jsxs(Card, { variant: "outlined", sx: { p: 1 }, children: [_jsx(CardHeader, { sx: { py: 1, px: 0 }, title: t('modal.rule.markdown.title') }), _jsx(Divider, {}), _jsx(Markdown, { md: description || t('modal.rule.markdown.placeholder') })] })] })), tab === 'query' && (_jsxs(Card, { variant: "outlined", sx: { p: 1, overflow: 'auto', width: '100%', height: '100%' }, children: [_jsx(CardHeader, { sx: { py: 1, px: 0 }, title: t('modal.rule.file.title') }), _jsx(Divider, {}), _jsx(ThemedEditor, { height: "90%", width: "100%", theme: "howler", language: type, value: fileData, options: {
75
+ minimap: { enabled: false },
76
+ readOnly: true,
77
+ overviewRulerBorder: false,
78
+ renderLineHighlight: 'gutter',
79
+ fontSize: 16,
80
+ autoClosingBrackets: 'always'
81
+ } })] })), _jsxs(Stack, { direction: "row", spacing: 1, alignSelf: "end", children: [_jsx(Button, { color: "error", variant: "outlined", onClick: close, children: t('cancel') }), _jsx(CustomButton, { startIcon: loading && _jsx(CircularProgress, { color: "success", size: 18 }), color: "success", variant: "outlined", onClick: handleSubmit, disabled: !name || !description || !crontab, tooltip: (!name || !description) && t(`modal.rule.disabled.${!name ? 'analytic' : 'description'}`), children: t('submit') })] })] }));
82
+ };
83
+ export default RuleModal;
@@ -0,0 +1,3 @@
1
+ import type { languages } from 'monaco-editor';
2
+ declare const useEQLCompletionProvider: () => languages.CompletionItemProvider;
3
+ export default useEQLCompletionProvider;
@@ -0,0 +1,84 @@
1
+ import { useMonaco } from '@monaco-editor/react';
2
+ import { FieldContext } from 'components/app/providers/FieldProvider';
3
+ import Fuse from 'fuse.js';
4
+ import { useContext, useMemo } from 'react';
5
+ const EVENT_CATEGORIES = [
6
+ 'authentication',
7
+ 'configuration',
8
+ 'database',
9
+ 'driver',
10
+ 'email',
11
+ 'file',
12
+ 'host',
13
+ 'iam',
14
+ 'intrusion_detection',
15
+ 'malware',
16
+ 'network',
17
+ 'package',
18
+ 'process',
19
+ 'registry',
20
+ 'session',
21
+ 'threat',
22
+ 'web',
23
+ // Also allow any
24
+ 'any'
25
+ ];
26
+ const useEQLCompletionProvider = () => {
27
+ const monaco = useMonaco();
28
+ const { hitFields } = useContext(FieldContext);
29
+ // We'll use fuse for fuzzy searching through the fields
30
+ const fuse = useMemo(() => new Fuse(hitFields, { keys: ['key'], threshold: 0.4 }), [hitFields]);
31
+ return {
32
+ provideCompletionItems: (model, position) => {
33
+ const line = model.getLineContent(position.lineNumber);
34
+ const context = line.slice(0, position.column - 1);
35
+ // Get everything before, and what we care about
36
+ const before = context.replace(/^(.*?[^a-zA-Z._]?)[a-zA-Z._]+$/, '$1');
37
+ const portion = context.replace(/^.+?[^a-zA-Z._]([a-zA-Z._]+)$/, '$1');
38
+ const range = {
39
+ startLineNumber: position.lineNumber,
40
+ endLineNumber: position.lineNumber,
41
+ startColumn: before.length + 1,
42
+ endColumn: before.length + portion.length
43
+ };
44
+ // We're completing on the event.category field
45
+ if (/^ *\[? *$/.test(before)) {
46
+ return {
47
+ suggestions: EVENT_CATEGORIES.map(cat => ({
48
+ label: cat,
49
+ kind: monaco.languages.CompletionItemKind.Property,
50
+ insertText: cat,
51
+ range
52
+ }))
53
+ };
54
+ }
55
+ // If we have something to search with, use it, otherwise just suggest everything
56
+ if (portion) {
57
+ const fuzzyMatches = fuse.search(portion);
58
+ return {
59
+ suggestions: fuzzyMatches.map(({ item }) => ({
60
+ label: item.key,
61
+ detail: item.type,
62
+ documentation: item.description,
63
+ kind: monaco.languages.CompletionItemKind.Property,
64
+ insertText: item.key,
65
+ range
66
+ }))
67
+ };
68
+ }
69
+ else {
70
+ return {
71
+ suggestions: hitFields.map(_field => ({
72
+ label: _field.key,
73
+ detail: _field.type,
74
+ documentation: _field.description,
75
+ kind: monaco.languages.CompletionItemKind.Property,
76
+ insertText: _field.key,
77
+ range
78
+ }))
79
+ };
80
+ }
81
+ }
82
+ };
83
+ };
84
+ export default useEQLCompletionProvider;