@cccsaurora/howler-ui 2.14.0-dev.259 → 2.14.0-dev.264

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 (1102) hide show
  1. package/api/action/execute.ts +19 -0
  2. package/api/action/index.ts +36 -0
  3. package/api/action/operations.ts +11 -0
  4. package/api/analytic/comments/index.ts +27 -0
  5. package/api/analytic/comments/react.ts +14 -0
  6. package/api/analytic/favourite.ts +14 -0
  7. package/api/analytic/index.ts +27 -0
  8. package/api/analytic/notebooks/index.ts +15 -0
  9. package/api/analytic/owner.ts +11 -0
  10. package/api/analytic/rules.ts +13 -0
  11. package/api/auth/apikey.ts +20 -0
  12. package/api/auth/index.ts +9 -0
  13. package/api/auth/login.ts +35 -0
  14. package/api/configs/index.ts +10 -0
  15. package/api/dossier/hit.ts +10 -0
  16. package/api/dossier/index.ts +26 -0
  17. package/api/help.ts +71 -0
  18. package/api/hit/assign.ts +11 -0
  19. package/api/hit/comments/index.ts +27 -0
  20. package/api/hit/comments/react.ts +15 -0
  21. package/api/hit/index.ts +56 -0
  22. package/api/hit/labels.ts +16 -0
  23. package/api/hit/overwrite.ts +11 -0
  24. package/api/hit/transition.ts +12 -0
  25. package/api/index.ts +301 -0
  26. package/api/notebook/environments.ts +14 -0
  27. package/api/notebook/index.ts +20 -0
  28. package/api/overview/index.ts +22 -0
  29. package/api/search/action.ts +12 -0
  30. package/api/search/analytic.ts +12 -0
  31. package/api/search/count/hit.ts +11 -0
  32. package/api/search/count/index.ts +18 -0
  33. package/api/search/dossier.ts +12 -0
  34. package/api/search/eql/hit.ts +12 -0
  35. package/api/search/facet/hit.ts +11 -0
  36. package/api/search/facet/index.ts +19 -0
  37. package/api/search/fields/hit.ts +12 -0
  38. package/api/search/fields/index.ts +29 -0
  39. package/api/search/fields/user.ts +14 -0
  40. package/api/search/grouped/hit.ts +15 -0
  41. package/api/search/grouped/index.ts +34 -0
  42. package/api/search/grouped/user.ts +30 -0
  43. package/api/search/histogram/hit.ts +11 -0
  44. package/api/search/histogram/index.ts +20 -0
  45. package/api/search/hit.ts +17 -0
  46. package/api/search/index.ts +63 -0
  47. package/api/search/overview.ts +12 -0
  48. package/api/search/sigma/hit.ts +12 -0
  49. package/api/search/template.ts +12 -0
  50. package/api/search/user.ts +21 -0
  51. package/api/search/view.ts +12 -0
  52. package/api/template/index.ts +22 -0
  53. package/api/user/avatar/index.ts +10 -0
  54. package/api/user/groups.ts +12 -0
  55. package/api/user/index.ts +20 -0
  56. package/api/user/whoami.ts +11 -0
  57. package/api/view/favourite.ts +14 -0
  58. package/api/view/index.ts +25 -0
  59. package/branding/AppBrand.tsx +161 -0
  60. package/commons/components/app/AppConfigs.ts +179 -0
  61. package/commons/components/app/AppConstants.ts +11 -0
  62. package/commons/components/app/AppContexts.ts +142 -0
  63. package/commons/components/app/AppDefaults.ts +52 -0
  64. package/commons/components/app/AppNotificationService.ts +7 -0
  65. package/commons/components/app/AppProvider.tsx +86 -0
  66. package/commons/components/app/AppSearchService.ts +33 -0
  67. package/commons/components/app/AppSkeleton.tsx +321 -0
  68. package/commons/components/app/AppUserService.ts +21 -0
  69. package/commons/components/app/hooks/index.ts +18 -0
  70. package/commons/components/app/hooks/useApp.tsx +6 -0
  71. package/commons/components/app/hooks/useAppBanner.tsx +7 -0
  72. package/commons/components/app/hooks/useAppBar.tsx +6 -0
  73. package/commons/components/app/hooks/useAppBarHeight.tsx +27 -0
  74. package/commons/components/app/hooks/useAppBarScrollTrigger.tsx +8 -0
  75. package/commons/components/app/hooks/useAppBreadcrumbs.tsx +6 -0
  76. package/commons/components/app/hooks/useAppConfigs.tsx +54 -0
  77. package/commons/components/app/hooks/useAppLanguage.tsx +29 -0
  78. package/commons/components/app/hooks/useAppLayout.tsx +6 -0
  79. package/commons/components/app/hooks/useAppLeftNav.tsx +6 -0
  80. package/commons/components/app/hooks/useAppLogo.tsx +9 -0
  81. package/commons/components/app/hooks/useAppNotification.tsx +6 -0
  82. package/commons/components/app/hooks/useAppQuickSearch.tsx +6 -0
  83. package/commons/components/app/hooks/useAppSearchService.tsx +7 -0
  84. package/commons/components/app/hooks/useAppSitemap.tsx +84 -0
  85. package/commons/components/app/hooks/useAppSwitcher.tsx +6 -0
  86. package/commons/components/app/hooks/useAppTheme.tsx +23 -0
  87. package/commons/components/app/hooks/useAppUser.tsx +7 -0
  88. package/commons/components/app/providers/AppBarProvider.tsx +48 -0
  89. package/commons/components/app/providers/AppBreadcrumbsProvider.tsx +53 -0
  90. package/commons/components/app/providers/AppLayoutProvider.tsx +114 -0
  91. package/commons/components/app/providers/AppLeftNavProvider.tsx +30 -0
  92. package/commons/components/app/providers/AppNotificationProvider.tsx +49 -0
  93. package/commons/components/app/providers/AppQuickSearchProvider.tsx +32 -0
  94. package/commons/components/app/providers/AppSearchServiceProvider.tsx +65 -0
  95. package/commons/components/app/providers/AppSnackbarProvider.tsx +16 -0
  96. package/commons/components/app/providers/AppSwitcherProvider.tsx +16 -0
  97. package/commons/components/app/providers/AppUserProvider.tsx +22 -0
  98. package/commons/components/breadcrumbs/BreadcrumbIcon.tsx +21 -0
  99. package/commons/components/breadcrumbs/BreadcrumbLastItem.tsx +40 -0
  100. package/commons/components/breadcrumbs/BreadcrumbLinkItem.tsx +43 -0
  101. package/commons/components/breadcrumbs/BreadcrumbList.tsx +87 -0
  102. package/commons/components/breadcrumbs/Breadcrumbs.tsx +40 -0
  103. package/commons/components/display/AppAvatar.tsx +34 -0
  104. package/commons/components/display/AppInfoPanel.tsx +30 -0
  105. package/commons/components/display/AppListEmpty.tsx +5 -0
  106. package/commons/components/display/AppToc.tsx +160 -0
  107. package/commons/components/display/hooks/useAppColor.tsx +21 -0
  108. package/commons/components/leftnav/LeftNavDrawer.tsx +172 -0
  109. package/commons/components/leftnav/LeftNavGroup.tsx +144 -0
  110. package/commons/components/leftnav/LeftNavItem.tsx +73 -0
  111. package/commons/components/notification/FeedModels.ts +163 -0
  112. package/commons/components/notification/Notification.tsx +152 -0
  113. package/commons/components/notification/elements/NotificationCloseButton.tsx +14 -0
  114. package/commons/components/notification/elements/NotificationContainer.tsx +87 -0
  115. package/commons/components/notification/elements/NotificationEndOfPage.tsx +48 -0
  116. package/commons/components/notification/elements/NotificationError.tsx +24 -0
  117. package/commons/components/notification/elements/NotificationHeader.tsx +41 -0
  118. package/commons/components/notification/elements/NotificationItems.tsx +47 -0
  119. package/commons/components/notification/elements/NotificationSkeleton.tsx +59 -0
  120. package/commons/components/notification/elements/NotificationTopNavButton.tsx +27 -0
  121. package/commons/components/notification/elements/item/NotificationItem.tsx +44 -0
  122. package/commons/components/notification/elements/item/NotificationItemAuthor.tsx +72 -0
  123. package/commons/components/notification/elements/item/NotificationItemContent.tsx +29 -0
  124. package/commons/components/notification/elements/item/NotificationItemDate.tsx +14 -0
  125. package/commons/components/notification/elements/item/NotificationItemImage.tsx +19 -0
  126. package/commons/components/notification/elements/item/NotificationItemTag.tsx +18 -0
  127. package/commons/components/notification/elements/item/NotificationItemTitle.tsx +38 -0
  128. package/commons/components/notification/index.tsx +2 -0
  129. package/commons/components/pages/PageCardCentered.tsx +32 -0
  130. package/commons/components/pages/PageCenter.tsx +46 -0
  131. package/commons/components/pages/PageContent.tsx +13 -0
  132. package/commons/components/pages/PageFullScreen.tsx +74 -0
  133. package/commons/components/pages/PageFullWidth.tsx +30 -0
  134. package/commons/components/pages/PageHeader.tsx +117 -0
  135. package/commons/components/pages/hooks/usePageProps.tsx +41 -0
  136. package/commons/components/search/AppSearch.tsx +256 -0
  137. package/commons/components/search/AppSearchInput.tsx +104 -0
  138. package/commons/components/search/AppSearchResult.tsx +66 -0
  139. package/commons/components/topnav/AppBar.tsx +137 -0
  140. package/commons/components/topnav/AppName.tsx +53 -0
  141. package/commons/components/topnav/AppSwitcher.tsx +116 -0
  142. package/commons/components/topnav/Notifications.tsx +16 -0
  143. package/commons/components/topnav/ThemeSelection.tsx +143 -0
  144. package/commons/components/topnav/ThemeSelectionIcon.tsx +39 -0
  145. package/commons/components/topnav/UserProfile.tsx +196 -0
  146. package/commons/components/utils/hooks/useClipboard.tsx +31 -0
  147. package/commons/components/utils/hooks/useEnv.tsx +13 -0
  148. package/commons/components/utils/hooks/useFullscreenStatus.tsx +47 -0
  149. package/commons/components/utils/hooks/useGravatar.tsx +13 -0
  150. package/commons/components/utils/hooks/useLocalStorage.ts +75 -0
  151. package/commons/components/utils/hooks/useLocalStorageItem.tsx +45 -0
  152. package/commons/components/utils/hooks/useThemeBuilder.tsx +55 -0
  153. package/commons/components/utils/keyboard.ts +61 -0
  154. package/components/app/App.tsx +434 -0
  155. package/components/app/AppContainer.tsx +19 -0
  156. package/components/app/drawers/ApiKeyDrawer.tsx +173 -0
  157. package/components/app/drawers/AppDrawerType.ts +7 -0
  158. package/components/app/drawers/AssignUserDrawer.tsx +126 -0
  159. package/components/app/drawers/ViewGroupsDrawer.tsx +24 -0
  160. package/components/app/hooks/useMatchers.test.ts +328 -0
  161. package/components/app/hooks/useMatchers.tsx +107 -0
  162. package/components/app/hooks/useTitle.tsx +77 -0
  163. package/components/app/providers/AnalyticProvider.tsx +87 -0
  164. package/components/app/providers/ApiConfigProvider.tsx +31 -0
  165. package/components/app/providers/AppDrawerProvider.tsx +54 -0
  166. package/components/app/providers/AvatarProvider.tsx +47 -0
  167. package/components/app/providers/CustomPluginProvider.tsx +19 -0
  168. package/components/app/providers/FavouritesProvider.tsx +157 -0
  169. package/components/app/providers/FieldProvider.tsx +34 -0
  170. package/components/app/providers/HitProvider.tsx +164 -0
  171. package/components/app/providers/HitSearchProvider.tsx +248 -0
  172. package/components/app/providers/LocalStorageProvider.tsx +67 -0
  173. package/components/app/providers/ModalProvider.tsx +57 -0
  174. package/components/app/providers/OverviewProvider.tsx +90 -0
  175. package/components/app/providers/ParameterProvider.tsx +270 -0
  176. package/components/app/providers/SocketProvider.tsx +329 -0
  177. package/components/app/providers/UserListProvider.tsx +56 -0
  178. package/components/app/providers/ViewProvider.test.tsx +244 -0
  179. package/components/app/providers/ViewProvider.tsx +207 -0
  180. package/components/elements/Comment.tsx +315 -0
  181. package/components/elements/EditRow.tsx +268 -0
  182. package/components/elements/PluginChip.tsx +32 -0
  183. package/components/elements/PluginTypography.tsx +31 -0
  184. package/components/elements/ThemedEditor.tsx +130 -0
  185. package/components/elements/UserList.tsx +79 -0
  186. package/components/elements/addons/buttons/CustomButton.tsx +93 -0
  187. package/components/elements/addons/buttons/CustomIconButton.tsx +122 -0
  188. package/components/elements/addons/buttons/index.ts +7 -0
  189. package/components/elements/addons/layout/FlexOne.tsx +6 -0
  190. package/components/elements/addons/layout/FlexPort.tsx +39 -0
  191. package/components/elements/addons/layout/FlexVertical.tsx +28 -0
  192. package/components/elements/addons/layout/vsbox/VSBox.tsx +52 -0
  193. package/components/elements/addons/layout/vsbox/VSBoxContent.tsx +13 -0
  194. package/components/elements/addons/layout/vsbox/VSBoxElement.tsx +60 -0
  195. package/components/elements/addons/layout/vsbox/VSBoxHeader.tsx +41 -0
  196. package/components/elements/addons/lists/TuiList.tsx +31 -0
  197. package/components/elements/addons/lists/TuiListBase.tsx +98 -0
  198. package/components/elements/addons/lists/TuiListElement.tsx +51 -0
  199. package/components/elements/addons/lists/TuiListMenu.tsx +61 -0
  200. package/components/elements/addons/lists/TuiListProvider.tsx +162 -0
  201. package/components/elements/addons/lists/hooks/useTuiListKeyboard.tsx +60 -0
  202. package/components/elements/addons/lists/index.tsx +25 -0
  203. package/components/elements/addons/lists/table/TuiTable.tsx +151 -0
  204. package/components/elements/addons/lists/table/TuiTableBody.tsx +77 -0
  205. package/components/elements/addons/lists/table/TuiTableHead.tsx +29 -0
  206. package/components/elements/addons/lists/table/TuiTableHeader.tsx +15 -0
  207. package/components/elements/addons/lists/table/TuiTableLayout.ts +53 -0
  208. package/components/elements/addons/lists/table/index.tsx +24 -0
  209. package/components/elements/addons/search/SearchPagination.tsx +26 -0
  210. package/components/elements/addons/search/SearchTotal.tsx +35 -0
  211. package/components/elements/addons/search/phrase/Phrase.tsx +175 -0
  212. package/components/elements/addons/search/phrase/PhraseConsumer.ts +35 -0
  213. package/components/elements/addons/search/phrase/PhraseLexer.ts +167 -0
  214. package/components/elements/addons/search/phrase/index.ts +86 -0
  215. package/components/elements/addons/search/phrase/word/WordLexer.ts +10 -0
  216. package/components/elements/addons/search/phrase/word/WordSuggester.ts +9 -0
  217. package/components/elements/addons/search/phrase/word/consumers/WhitespaceConsumer.ts +21 -0
  218. package/components/elements/addons/search/phrase/word/consumers/WordConsumer.ts +21 -0
  219. package/components/elements/display/ActionButton.tsx +40 -0
  220. package/components/elements/display/Classification.tsx +29 -0
  221. package/components/elements/display/DocumentationButton.tsx +46 -0
  222. package/components/elements/display/DynamicTabs.tsx +52 -0
  223. package/components/elements/display/HandlebarsMarkdown.tsx +105 -0
  224. package/components/elements/display/HowlerAvatar.tsx +66 -0
  225. package/components/elements/display/HowlerAvatarHeader.tsx +37 -0
  226. package/components/elements/display/HowlerCard.tsx +10 -0
  227. package/components/elements/display/Image.tsx +43 -0
  228. package/components/elements/display/ItemManager.tsx +146 -0
  229. package/components/elements/display/Markdown.tsx +200 -0
  230. package/components/elements/display/Modal.tsx +44 -0
  231. package/components/elements/display/Notebook.tsx +7 -0
  232. package/components/elements/display/QueryResultText.tsx +25 -0
  233. package/components/elements/display/TextDivider.tsx +48 -0
  234. package/components/elements/display/TypingIndicator.tsx +41 -0
  235. package/components/elements/display/UserPageWrapper.tsx +20 -0
  236. package/components/elements/display/features/DevelopmentBanner.tsx +24 -0
  237. package/components/elements/display/features/DevelopmentIcon.tsx +24 -0
  238. package/components/elements/display/handlebars/helpers.tsx +276 -0
  239. package/components/elements/display/icons/BundleButton.tsx +77 -0
  240. package/components/elements/display/icons/Iconified.tsx +16 -0
  241. package/components/elements/display/icons/SocketBadge.tsx +82 -0
  242. package/components/elements/display/icons/svg/howler-icon-darkmode.svg +1 -0
  243. package/components/elements/display/icons/svg/howler-icon-lightmode.svg +1 -0
  244. package/components/elements/display/icons/svg/howler-logo-full.svg +1 -0
  245. package/components/elements/display/icons/svg/howler-logo.svg +1 -0
  246. package/components/elements/display/json/JSONViewer.tsx +98 -0
  247. package/components/elements/display/markdownPlugins/tabs.ts +81 -0
  248. package/components/elements/display/modals/ConfirmDeleteModal.tsx +32 -0
  249. package/components/elements/display/modals/ConfirmNotebookModal.tsx +32 -0
  250. package/components/elements/display/modals/CreateActionModal.tsx +63 -0
  251. package/components/elements/display/modals/LoginErrorModal.tsx +31 -0
  252. package/components/elements/display/modals/RationaleModal.tsx +59 -0
  253. package/components/elements/hit/HitActions.tsx +298 -0
  254. package/components/elements/hit/HitBanner.tsx +367 -0
  255. package/components/elements/hit/HitBannerTooltip.tsx +41 -0
  256. package/components/elements/hit/HitCard.tsx +42 -0
  257. package/components/elements/hit/HitComments.tsx +372 -0
  258. package/components/elements/hit/HitDetails.tsx +324 -0
  259. package/components/elements/hit/HitLabels.tsx +265 -0
  260. package/components/elements/hit/HitLayout.ts +5 -0
  261. package/components/elements/hit/HitNotebooks.tsx +264 -0
  262. package/components/elements/hit/HitOutline.tsx +56 -0
  263. package/components/elements/hit/HitOverview.tsx +53 -0
  264. package/components/elements/hit/HitQuickSearch.tsx +111 -0
  265. package/components/elements/hit/HitRelated.tsx +18 -0
  266. package/components/elements/hit/HitShortcuts.ts +5 -0
  267. package/components/elements/hit/HitSummary.tsx +301 -0
  268. package/components/elements/hit/HitWorklog.tsx +201 -0
  269. package/components/elements/hit/actions/ButtonActions.tsx +269 -0
  270. package/components/elements/hit/actions/DropdownActions.tsx +157 -0
  271. package/components/elements/hit/actions/SharedComponents.tsx +40 -0
  272. package/components/elements/hit/aggregate/HitGraph.tsx +351 -0
  273. package/components/elements/hit/elements/Assigned.tsx +71 -0
  274. package/components/elements/hit/elements/EscalationChip.tsx +26 -0
  275. package/components/elements/hit/elements/HitTimestamp.tsx +81 -0
  276. package/components/elements/hit/outlines/DefaultOutline.tsx +107 -0
  277. package/components/elements/hit/outlines/al/AssemblyLineRules.tsx +130 -0
  278. package/components/elements/hit/related/PivotLink.tsx +67 -0
  279. package/components/elements/hit/related/RelatedIcon.tsx +51 -0
  280. package/components/elements/hit/related/RelatedLink.tsx +43 -0
  281. package/components/elements/view/ViewTitle.tsx +61 -0
  282. package/components/hooks/useHitActions.tsx +276 -0
  283. package/components/hooks/useHitSelection.tsx +102 -0
  284. package/components/hooks/useMyApi.tsx +64 -0
  285. package/components/hooks/useMyChart.tsx +164 -0
  286. package/components/hooks/useMyLocalStorage.ts +20 -0
  287. package/components/hooks/useMyPreferences.tsx +309 -0
  288. package/components/hooks/useMySearch.tsx +77 -0
  289. package/components/hooks/useMySitemap.tsx +248 -0
  290. package/components/hooks/useMySnackbar.tsx +67 -0
  291. package/components/hooks/useMyTheme.tsx +34 -0
  292. package/components/hooks/useMyUser.tsx +39 -0
  293. package/components/hooks/useMyUserFunctions.tsx +166 -0
  294. package/components/hooks/useMyUserList.tsx +15 -0
  295. package/components/hooks/useMyUtils.tsx +16 -0
  296. package/components/hooks/useScrollRestoration.tsx +37 -0
  297. package/components/logins/Login.tsx +62 -0
  298. package/components/logins/auth/OAuthLogin.tsx +49 -0
  299. package/components/logins/auth/UserPassLogin.tsx +57 -0
  300. package/components/logins/hooks/useLogin.tsx +101 -0
  301. package/components/routes/404.tsx +24 -0
  302. package/components/routes/ErrorBoundary.tsx +44 -0
  303. package/components/routes/ErrorOccured.tsx +28 -0
  304. package/components/routes/Logout.tsx +56 -0
  305. package/components/routes/action/edit/ActionEditor.tsx +358 -0
  306. package/components/routes/action/shared/ActionReportDisplay.tsx +84 -0
  307. package/components/routes/action/shared/OperationEntry.tsx +121 -0
  308. package/components/routes/action/shared/OperationStep.tsx +219 -0
  309. package/components/routes/action/useMyActionFunctions.tsx +225 -0
  310. package/components/routes/action/view/ActionDetails.tsx +205 -0
  311. package/components/routes/action/view/ActionSearch.tsx +249 -0
  312. package/components/routes/action/view/Integrations.tsx +49 -0
  313. package/components/routes/admin/users/UserEditor.tsx +55 -0
  314. package/components/routes/admin/users/UserSearch.tsx +228 -0
  315. package/components/routes/advanced/QueryBuilder.tsx +584 -0
  316. package/components/routes/advanced/QueryEditor.tsx +148 -0
  317. package/components/routes/advanced/RuleModal.tsx +217 -0
  318. package/components/routes/advanced/eqlCompletionProvider.ts +94 -0
  319. package/components/routes/advanced/eqlTokenProvider.ts +110 -0
  320. package/components/routes/advanced/historyCompletionProvider.ts +61 -0
  321. package/components/routes/advanced/luceneCompletionProvider.ts +111 -0
  322. package/components/routes/advanced/luceneTokenProvider.ts +131 -0
  323. package/components/routes/advanced/yamlCompletionProvider.ts +58 -0
  324. package/components/routes/analytics/AnalyticComments.tsx +218 -0
  325. package/components/routes/analytics/AnalyticDetails.tsx +343 -0
  326. package/components/routes/analytics/AnalyticHitComments.tsx +99 -0
  327. package/components/routes/analytics/AnalyticNotebooks.tsx +185 -0
  328. package/components/routes/analytics/AnalyticOverview.tsx +165 -0
  329. package/components/routes/analytics/AnalyticOverviews.tsx +75 -0
  330. package/components/routes/analytics/AnalyticSearch.tsx +301 -0
  331. package/components/routes/analytics/AnalyticTemplates.tsx +77 -0
  332. package/components/routes/analytics/RuleView.tsx +80 -0
  333. package/components/routes/analytics/TriageSettings.tsx +146 -0
  334. package/components/routes/analytics/widgets/Assessment.tsx +71 -0
  335. package/components/routes/analytics/widgets/Created.tsx +61 -0
  336. package/components/routes/analytics/widgets/Detection.tsx +11 -0
  337. package/components/routes/analytics/widgets/Escalation.tsx +65 -0
  338. package/components/routes/analytics/widgets/Stacked.tsx +109 -0
  339. package/components/routes/analytics/widgets/Status.tsx +21 -0
  340. package/components/routes/dossiers/DossierCard.tsx +48 -0
  341. package/components/routes/dossiers/DossierEditor.tsx +247 -0
  342. package/components/routes/dossiers/Dossiers.tsx +173 -0
  343. package/components/routes/dossiers/LeadEditor.tsx +122 -0
  344. package/components/routes/dossiers/LeadForm.tsx +106 -0
  345. package/components/routes/dossiers/PivotForm.tsx +311 -0
  346. package/components/routes/help/ActionDocumentation.tsx +77 -0
  347. package/components/routes/help/ActionIntroductionDocumentation.tsx +128 -0
  348. package/components/routes/help/ApiDocumentation.tsx +217 -0
  349. package/components/routes/help/AuthDocumentation.tsx +26 -0
  350. package/components/routes/help/BundleDocumentation.tsx +17 -0
  351. package/components/routes/help/ClientDocumentation.tsx +27 -0
  352. package/components/routes/help/Help.tsx +96 -0
  353. package/components/routes/help/HitBannerDocumentation.tsx +71 -0
  354. package/components/routes/help/HitDocumentation.tsx +77 -0
  355. package/components/routes/help/HitLabelsDocumentation.tsx +57 -0
  356. package/components/routes/help/HitLinksDocumentation.tsx +23 -0
  357. package/components/routes/help/HitSchemaDocumentation.tsx +253 -0
  358. package/components/routes/help/NotebookDocumentation.tsx +28 -0
  359. package/components/routes/help/OverviewDocumentation.tsx +21 -0
  360. package/components/routes/help/RetentionDocumentation.tsx +55 -0
  361. package/components/routes/help/SearchDocumentation.tsx +700 -0
  362. package/components/routes/help/TemplateDocumentation.tsx +73 -0
  363. package/components/routes/help/ViewDocumentation.tsx +32 -0
  364. package/components/routes/help/components/HelpTabs.tsx +47 -0
  365. package/components/routes/help/markdown/en/actionIntroduction.md +33 -0
  366. package/components/routes/help/markdown/en/authentication.md +261 -0
  367. package/components/routes/help/markdown/en/bundles.md +70 -0
  368. package/components/routes/help/markdown/en/client.md +213 -0
  369. package/components/routes/help/markdown/en/links.md +37 -0
  370. package/components/routes/help/markdown/en/notebook.md +157 -0
  371. package/components/routes/help/markdown/en/retention.md +15 -0
  372. package/components/routes/help/markdown/en/schema.md +20 -0
  373. package/components/routes/help/markdown/en/templates.md +23 -0
  374. package/components/routes/help/markdown/en/views.md +11 -0
  375. package/components/routes/help/markdown/fr/actionIntroduction.md +33 -0
  376. package/components/routes/help/markdown/fr/authentication.md +259 -0
  377. package/components/routes/help/markdown/fr/bundles.md +70 -0
  378. package/components/routes/help/markdown/fr/client.md +209 -0
  379. package/components/routes/help/markdown/fr/links.md +37 -0
  380. package/components/routes/help/markdown/fr/notebook.md +157 -0
  381. package/components/routes/help/markdown/fr/retention.md +15 -0
  382. package/components/routes/help/markdown/fr/schema.md +20 -0
  383. package/components/routes/help/markdown/fr/templates.md +23 -0
  384. package/components/routes/help/markdown/fr/views.md +11 -0
  385. package/components/routes/hits/search/BundleParentMenu.tsx +73 -0
  386. package/components/routes/hits/search/BundleScroller.tsx +8 -0
  387. package/components/routes/hits/search/CustomSort.tsx +94 -0
  388. package/components/routes/hits/search/HitBrowser.tsx +318 -0
  389. package/components/routes/hits/search/HitContextMenu.tsx +260 -0
  390. package/components/routes/hits/search/HitQuery.tsx +268 -0
  391. package/components/routes/hits/search/InformationPane.tsx +430 -0
  392. package/components/routes/hits/search/SearchPane.tsx +291 -0
  393. package/components/routes/hits/search/ViewLink.tsx +96 -0
  394. package/components/routes/hits/search/grid/AddColumnModal.tsx +98 -0
  395. package/components/routes/hits/search/grid/ColumnHeader.tsx +70 -0
  396. package/components/routes/hits/search/grid/EnhancedCell.tsx +50 -0
  397. package/components/routes/hits/search/grid/HitGrid.tsx +342 -0
  398. package/components/routes/hits/search/grid/HitRow.tsx +121 -0
  399. package/components/routes/hits/search/shared/CustomSpan.tsx +54 -0
  400. package/components/routes/hits/search/shared/HitFilter.tsx +110 -0
  401. package/components/routes/hits/search/shared/HitSort.tsx +111 -0
  402. package/components/routes/hits/search/shared/QuerySettings.tsx +40 -0
  403. package/components/routes/hits/search/shared/SearchSpan.tsx +68 -0
  404. package/components/routes/hits/view/HitViewer.tsx +372 -0
  405. package/components/routes/hits/view/LeadRenderer.tsx +42 -0
  406. package/components/routes/home/AddNewCard.tsx +295 -0
  407. package/components/routes/home/AnalyticCard.tsx +68 -0
  408. package/components/routes/home/EntryWrapper.tsx +54 -0
  409. package/components/routes/home/ViewCard.tsx +96 -0
  410. package/components/routes/home/index.tsx +278 -0
  411. package/components/routes/overviews/OverviewCard.tsx +51 -0
  412. package/components/routes/overviews/OverviewEditor.tsx +102 -0
  413. package/components/routes/overviews/OverviewViewer.tsx +387 -0
  414. package/components/routes/overviews/Overviews.tsx +179 -0
  415. package/components/routes/overviews/markdownExtendedTokenProvider.ts +296 -0
  416. package/components/routes/overviews/startingTemplate.ts +40 -0
  417. package/components/routes/overviews/template/en.md +167 -0
  418. package/components/routes/overviews/template/fr.md +167 -0
  419. package/components/routes/settings/AdminSection.tsx +18 -0
  420. package/components/routes/settings/LocalSection.tsx +168 -0
  421. package/components/routes/settings/ProfileSection.tsx +138 -0
  422. package/components/routes/settings/SecuritySection.tsx +95 -0
  423. package/components/routes/settings/Settings.tsx +51 -0
  424. package/components/routes/settings/SettingsSection.tsx +28 -0
  425. package/components/routes/templates/TemplateCard.tsx +38 -0
  426. package/components/routes/templates/TemplateDnD.tsx +51 -0
  427. package/components/routes/templates/TemplateEditor.tsx +121 -0
  428. package/components/routes/templates/TemplateViewer.tsx +285 -0
  429. package/components/routes/templates/Templates.tsx +187 -0
  430. package/components/routes/views/ViewComposer.tsx +317 -0
  431. package/components/routes/views/Views.tsx +379 -0
  432. package/globals.d.ts +1 -0
  433. package/i18n.ts +50 -0
  434. package/index.tsx +19 -0
  435. package/locales/en/help/main.json +13 -0
  436. package/locales/en/help/search.json +186 -0
  437. package/locales/en/translation.json +799 -0
  438. package/locales/fr/help/main.json +13 -0
  439. package/locales/fr/help/search.json +186 -0
  440. package/locales/fr/translation.json +797 -0
  441. package/models/ActionTypes.d.ts +50 -0
  442. package/models/WithMetadata.d.ts +12 -0
  443. package/models/entities/HowlerUser.d.ts +18 -0
  444. package/models/entities/generated/Account.d.ts +7 -0
  445. package/models/entities/generated/Action.d.ts +13 -0
  446. package/models/entities/generated/Agent.d.ts +9 -0
  447. package/models/entities/generated/Analytic.d.ts +21 -0
  448. package/models/entities/generated/Answer.d.ts +10 -0
  449. package/models/entities/generated/Antivirus.d.ts +9 -0
  450. package/models/entities/generated/ApiType.d.ts +238 -0
  451. package/models/entities/generated/Assemblyline.d.ts +22 -0
  452. package/models/entities/generated/Attachment.d.ts +8 -0
  453. package/models/entities/generated/Attribution.d.ts +9 -0
  454. package/models/entities/generated/AutonomousSystems.d.ts +7 -0
  455. package/models/entities/generated/Aws.d.ts +10 -0
  456. package/models/entities/generated/Azure.d.ts +10 -0
  457. package/models/entities/generated/Bcc.d.ts +6 -0
  458. package/models/entities/generated/Behaviour.d.ts +9 -0
  459. package/models/entities/generated/Body.d.ts +7 -0
  460. package/models/entities/generated/Cbs.d.ts +8 -0
  461. package/models/entities/generated/Cc.d.ts +6 -0
  462. package/models/entities/generated/Client.d.ts +7 -0
  463. package/models/entities/generated/Cloud.d.ts +20 -0
  464. package/models/entities/generated/CloudAccount.d.ts +7 -0
  465. package/models/entities/generated/CodeSignature.d.ts +14 -0
  466. package/models/entities/generated/Comment.d.ts +12 -0
  467. package/models/entities/generated/Container.d.ts +12 -0
  468. package/models/entities/generated/Created.d.ts +7 -0
  469. package/models/entities/generated/Dashboard.d.ts +8 -0
  470. package/models/entities/generated/Data.d.ts +8 -0
  471. package/models/entities/generated/Destination.d.ts +23 -0
  472. package/models/entities/generated/Device.d.ts +6 -0
  473. package/models/entities/generated/Dns.d.ts +16 -0
  474. package/models/entities/generated/Domain.d.ts +9 -0
  475. package/models/entities/generated/Dossier.d.ts +15 -0
  476. package/models/entities/generated/Ecs.d.ts +6 -0
  477. package/models/entities/generated/Egress.d.ts +6 -0
  478. package/models/entities/generated/Elf.d.ts +20 -0
  479. package/models/entities/generated/Email.d.ts +30 -0
  480. package/models/entities/generated/Enrichment.d.ts +10 -0
  481. package/models/entities/generated/EntryMeta.d.ts +6 -0
  482. package/models/entities/generated/Error.d.ts +7 -0
  483. package/models/entities/generated/Event.d.ts +31 -0
  484. package/models/entities/generated/Faas.d.ts +13 -0
  485. package/models/entities/generated/Feed.d.ts +9 -0
  486. package/models/entities/generated/File.d.ts +12 -0
  487. package/models/entities/generated/FileHash.d.ts +12 -0
  488. package/models/entities/generated/From.d.ts +6 -0
  489. package/models/entities/generated/Gcp.d.ts +10 -0
  490. package/models/entities/generated/Geo.d.ts +18 -0
  491. package/models/entities/generated/Group.d.ts +8 -0
  492. package/models/entities/generated/Hash.d.ts +6 -0
  493. package/models/entities/generated/Header.d.ts +13 -0
  494. package/models/entities/generated/Heuristic.d.ts +9 -0
  495. package/models/entities/generated/Hit.d.ts +102 -0
  496. package/models/entities/generated/HitFile.d.ts +36 -0
  497. package/models/entities/generated/HitOrganization.d.ts +7 -0
  498. package/models/entities/generated/Host.d.ts +11 -0
  499. package/models/entities/generated/Howler.d.ts +48 -0
  500. package/models/entities/generated/HowlerComment.d.ts +11 -0
  501. package/models/entities/generated/HowlerDossier.d.ts +12 -0
  502. package/models/entities/generated/Http.d.ts +11 -0
  503. package/models/entities/generated/Image.d.ts +10 -0
  504. package/models/entities/generated/Incident.d.ts +8 -0
  505. package/models/entities/generated/Indicator.d.ts +21 -0
  506. package/models/entities/generated/IndicatorEmail.d.ts +6 -0
  507. package/models/entities/generated/IndicatorFile.d.ts +36 -0
  508. package/models/entities/generated/Ingress.d.ts +9 -0
  509. package/models/entities/generated/Instance.d.ts +7 -0
  510. package/models/entities/generated/Interface.d.ts +7 -0
  511. package/models/entities/generated/Label.d.ts +7 -0
  512. package/models/entities/generated/Labels.d.ts +13 -0
  513. package/models/entities/generated/Lead.d.ts +12 -0
  514. package/models/entities/generated/Link.d.ts +8 -0
  515. package/models/entities/generated/Location.d.ts +7 -0
  516. package/models/entities/generated/Log.d.ts +13 -0
  517. package/models/entities/generated/Machine.d.ts +6 -0
  518. package/models/entities/generated/Mapping.d.ts +8 -0
  519. package/models/entities/generated/Matched.d.ts +6 -0
  520. package/models/entities/generated/Mitre.d.ts +10 -0
  521. package/models/entities/generated/Modified.d.ts +7 -0
  522. package/models/entities/generated/Nat.d.ts +7 -0
  523. package/models/entities/generated/Network.d.ts +8 -0
  524. package/models/entities/generated/Notebook.d.ts +10 -0
  525. package/models/entities/generated/Observer.d.ts +21 -0
  526. package/models/entities/generated/Operation.d.ts +7 -0
  527. package/models/entities/generated/Organization.d.ts +7 -0
  528. package/models/entities/generated/Original.d.ts +19 -0
  529. package/models/entities/generated/Os.d.ts +12 -0
  530. package/models/entities/generated/Outline.d.ts +9 -0
  531. package/models/entities/generated/Overview.d.ts +10 -0
  532. package/models/entities/generated/Parent.d.ts +19 -0
  533. package/models/entities/generated/ParentHash.d.ts +12 -0
  534. package/models/entities/generated/ParentParent.d.ts +32 -0
  535. package/models/entities/generated/ParentUser.d.ts +9 -0
  536. package/models/entities/generated/Pe.d.ts +13 -0
  537. package/models/entities/generated/Pivot.d.ts +13 -0
  538. package/models/entities/generated/Process.d.ts +34 -0
  539. package/models/entities/generated/ProcessHash.d.ts +12 -0
  540. package/models/entities/generated/ProcessParent.d.ts +34 -0
  541. package/models/entities/generated/ProcessUser.d.ts +9 -0
  542. package/models/entities/generated/Project.d.ts +7 -0
  543. package/models/entities/generated/Question.d.ts +11 -0
  544. package/models/entities/generated/Registry.d.ts +12 -0
  545. package/models/entities/generated/Related.d.ts +13 -0
  546. package/models/entities/generated/ReplyTo.d.ts +6 -0
  547. package/models/entities/generated/Request.d.ts +13 -0
  548. package/models/entities/generated/Response.d.ts +11 -0
  549. package/models/entities/generated/Rule.d.ts +15 -0
  550. package/models/entities/generated/Section.d.ts +14 -0
  551. package/models/entities/generated/Segment.d.ts +14 -0
  552. package/models/entities/generated/Sender.d.ts +6 -0
  553. package/models/entities/generated/Server.d.ts +8 -0
  554. package/models/entities/generated/Service.d.ts +6 -0
  555. package/models/entities/generated/Settings.d.ts +6 -0
  556. package/models/entities/generated/Sharepoint.d.ts +10 -0
  557. package/models/entities/generated/Software.d.ts +11 -0
  558. package/models/entities/generated/Source.d.ts +23 -0
  559. package/models/entities/generated/SourceOriginal.d.ts +19 -0
  560. package/models/entities/generated/Tactic.d.ts +9 -0
  561. package/models/entities/generated/Technique.d.ts +9 -0
  562. package/models/entities/generated/Template.d.ts +11 -0
  563. package/models/entities/generated/Threat.d.ts +21 -0
  564. package/models/entities/generated/ThreatGroup.d.ts +9 -0
  565. package/models/entities/generated/ThreatIndicator.d.ts +21 -0
  566. package/models/entities/generated/ThreatTactic.d.ts +8 -0
  567. package/models/entities/generated/ThreatTechnique.d.ts +8 -0
  568. package/models/entities/generated/Tls.d.ts +12 -0
  569. package/models/entities/generated/TlsServer.d.ts +6 -0
  570. package/models/entities/generated/To.d.ts +6 -0
  571. package/models/entities/generated/TriageSettings.d.ts +8 -0
  572. package/models/entities/generated/Trigger.d.ts +7 -0
  573. package/models/entities/generated/Uri.d.ts +9 -0
  574. package/models/entities/generated/Url.d.ts +19 -0
  575. package/models/entities/generated/User.d.ts +15 -0
  576. package/models/entities/generated/UserAgent.d.ts +13 -0
  577. package/models/entities/generated/UserUser.d.ts +19 -0
  578. package/models/entities/generated/View.d.ts +15 -0
  579. package/models/entities/generated/Votes.d.ts +8 -0
  580. package/models/entities/generated/Vulnerability.d.ts +12 -0
  581. package/models/entities/generated/Yara.d.ts +9 -0
  582. package/models/socket/HitUpdate.d.ts +14 -0
  583. package/package.json +604 -154
  584. package/plugins/HowlerPlugin.ts +375 -0
  585. package/plugins/store.ts +152 -0
  586. package/rest/AxiosClient.ts +81 -0
  587. package/rest/FetchClient.ts +27 -0
  588. package/rest/index.ts +12 -0
  589. package/setupTests.ts +17 -0
  590. package/tests/MockLocalStorage.ts +46 -0
  591. package/tests/server-handlers.ts +114 -0
  592. package/tests/server.ts +6 -0
  593. package/utils/Throttler.ts +43 -0
  594. package/utils/actionUtils.ts +112 -0
  595. package/utils/constants.tsx +131 -0
  596. package/utils/hit.json +30356 -0
  597. package/utils/hitFunctions.ts +10 -0
  598. package/utils/localStorage.ts +54 -0
  599. package/utils/menuUtils.ts +274 -0
  600. package/utils/sessionStorage.ts +59 -0
  601. package/utils/socketUtils.ts +11 -0
  602. package/utils/stringUtils.ts +57 -0
  603. package/utils/utils.ts +222 -0
  604. package/utils/xsrf.ts +17 -0
  605. package/vite-env.d.ts +1 -0
  606. package/assets/abap-DR3EPHcA.js +0 -6
  607. package/assets/abap-kqcCuNo3.js +0 -1
  608. package/assets/abnf-0i0y1qLw.js +0 -1
  609. package/assets/actionscript-CBg9ALMd.js +0 -1
  610. package/assets/ada-C0C0wsJY.js +0 -1
  611. package/assets/agda-CxRhcDuf.js +0 -1
  612. package/assets/al-Dlm67z74.js +0 -1
  613. package/assets/antlr4-BmA8T_Pf.js +0 -1
  614. package/assets/apacheconf-Cy80ybHj.js +0 -1
  615. package/assets/apex-CW6wsJgM.js +0 -6
  616. package/assets/apex-Sg90mm4u.js +0 -1
  617. package/assets/apl-EWXH65GD.js +0 -1
  618. package/assets/applescript-PjHK8QN3.js +0 -1
  619. package/assets/aql-B5IC4Rcf.js +0 -1
  620. package/assets/arc-BlYL6j5T.js +0 -1
  621. package/assets/architecture-O4VJ6CD3-jaQW6ijo.js +0 -1
  622. package/assets/architectureDiagram-KFL7JDKH-DJeBx9P6.js +0 -36
  623. package/assets/arduino-C51Narsi.js +0 -1
  624. package/assets/arff-8aJF8MCW.js +0 -1
  625. package/assets/asciidoc-YvasCiDo.js +0 -1
  626. package/assets/asm6502-DNM_ACU3.js +0 -1
  627. package/assets/asmatmel-B7SjKbvc.js +0 -1
  628. package/assets/aspnet-BDjjZcvg.js +0 -1
  629. package/assets/autohotkey-hUSymZ_m.js +0 -1
  630. package/assets/autoit-z_CsSJmr.js +0 -1
  631. package/assets/avisynth-lWBoLdVJ.js +0 -1
  632. package/assets/avro-idl-D8-0MeNx.js +0 -1
  633. package/assets/azcli-CIONJYq1.js +0 -6
  634. package/assets/bash-CefCgV5_.js +0 -1
  635. package/assets/bash-WWuseIss.js +0 -1
  636. package/assets/basic-5JZah1MP.js +0 -1
  637. package/assets/basic-DBS9NaGG.js +0 -1
  638. package/assets/bat-C9Lf3IiR.js +0 -6
  639. package/assets/batch-CNuZE34T.js +0 -1
  640. package/assets/bbcode-DUCaeSOc.js +0 -1
  641. package/assets/bicep-C9cUGcZW.js +0 -1
  642. package/assets/bicep-D-A_iHuq.js +0 -7
  643. package/assets/birb-BZmpNpMm.js +0 -1
  644. package/assets/bison-CywkiQg4.js +0 -1
  645. package/assets/blockDiagram-ZYB65J3Q-D0Ol2jlv.js +0 -122
  646. package/assets/bnf-DNey8JGD.js +0 -1
  647. package/assets/brainfuck-uwCSHc7F.js +0 -1
  648. package/assets/brightscript-DT7d5-qJ.js +0 -1
  649. package/assets/bro-CFVRfUbc.js +0 -1
  650. package/assets/bsl-9S4UgA2J.js +0 -1
  651. package/assets/c-BgfjASKF.js +0 -1
  652. package/assets/c-kgVuzdLE.js +0 -1
  653. package/assets/c4Diagram-AAMF2YG6-v1fpnkx2.js +0 -10
  654. package/assets/cameligo-v1zEsXLu.js +0 -6
  655. package/assets/cfscript-49U2aWCh.js +0 -1
  656. package/assets/chaiscript-4VtsYVpl.js +0 -1
  657. package/assets/channel-DabOFIhE.js +0 -1
  658. package/assets/chunk-ANTBXLJU-BBGjDBcL.js +0 -1
  659. package/assets/chunk-FHKO5MBM-CtXgGiWs.js +0 -1
  660. package/assets/chunk-GLLZNHP4-CjNMxI4x.js +0 -15
  661. package/assets/chunk-JBRWN2VN-BIsIHCzN.js +0 -165
  662. package/assets/chunk-LXBSTHXV-DIuZccqv.js +0 -220
  663. package/assets/chunk-NRVI72HA-aKshiznA.js +0 -1
  664. package/assets/chunk-OMD6QJNC-DD9Oy5sh.js +0 -1
  665. package/assets/chunk-WVR4S24B-B9zmB2Tt.js +0 -1
  666. package/assets/cil-CIk1nZUD.js +0 -1
  667. package/assets/classDiagram-3BZAVTQC-CqX7Tp25.js +0 -1
  668. package/assets/classDiagram-v2-QTMF73CY-CqX7Tp25.js +0 -1
  669. package/assets/clike-B5tY_8Hg.js +0 -1
  670. package/assets/clike-CxAeib4_.js +0 -1
  671. package/assets/clojure-Ck0RXpbo.js +0 -1
  672. package/assets/clojure-DgNu_ptH.js +0 -6
  673. package/assets/clone-BDNFedfK.js +0 -1
  674. package/assets/cmake-C-DeGqDW.js +0 -1
  675. package/assets/cobol-DB25XrSi.js +0 -1
  676. package/assets/codicon-B16ygVZF.ttf +0 -0
  677. package/assets/coffee-DNMvp8RP.js +0 -6
  678. package/assets/coffeescript-B4nqUg94.js +0 -1
  679. package/assets/concurnas-Dn9XkZGY.js +0 -1
  680. package/assets/coq-Cvr3Gn8T.js +0 -1
  681. package/assets/core-UDSDYEIa.js +0 -8
  682. package/assets/cpp-BdJVwJpi.js +0 -1
  683. package/assets/cpp-CKhD-3M2.js +0 -1
  684. package/assets/cpp-DEDKHd-B.js +0 -6
  685. package/assets/crystal-CjID7KIv.js +0 -1
  686. package/assets/csharp-2ALpLYur.js +0 -1
  687. package/assets/csharp-BoWmgZhk.js +0 -6
  688. package/assets/csharp-Cd5Udg29.js +0 -1
  689. package/assets/cshtml-BlacgVaO.js +0 -1
  690. package/assets/csp-BK5qlsQ9.js +0 -6
  691. package/assets/csp-HMwJhbi-.js +0 -1
  692. package/assets/css-B2tK9wdh.js +0 -1
  693. package/assets/css-CF9HHZb0.js +0 -1
  694. package/assets/css-D1nB4Vcj.js +0 -8
  695. package/assets/css-extras-DeVSfTP6.js +0 -1
  696. package/assets/cssMode-BtnBbnNh.js +0 -9
  697. package/assets/csv-BD6q7LX1.js +0 -1
  698. package/assets/cypher-BgMoLKlv.js +0 -1
  699. package/assets/cypher-Bl5_yQjz.js +0 -6
  700. package/assets/cytoscape.esm-BQaXIfA_.js +0 -331
  701. package/assets/d-DbEmK-0B.js +0 -1
  702. package/assets/dagre-2BBEFEWP-D2XFAJFU.js +0 -4
  703. package/assets/dart-BVA93hyX.js +0 -6
  704. package/assets/dart-DkfsI3yC.js +0 -1
  705. package/assets/dataweave-aZYF5PNL.js +0 -1
  706. package/assets/dax-V2ts0ypQ.js +0 -1
  707. package/assets/defaultLocale-C4B-KCzX.js +0 -1
  708. package/assets/dhall-D3SUU5AE.js +0 -1
  709. package/assets/diagram-4IRLE6MV-3Ii0VW6l.js +0 -24
  710. package/assets/diagram-GUPCWM2R-C_bP7Q1P.js +0 -24
  711. package/assets/diagram-RP2FKANI-BSi4bGof.js +0 -43
  712. package/assets/diff-CMSY-_TM.js +0 -3
  713. package/assets/django-DnIhfivE.js +0 -1
  714. package/assets/dns-zone-file-cve-GUtw.js +0 -1
  715. package/assets/docker-BNsgT4ys.js +0 -1
  716. package/assets/dockerfile-fYe1jRYc.js +0 -6
  717. package/assets/dot-YI_YYuHG.js +0 -1
  718. package/assets/ebnf-D_RcZu_y.js +0 -1
  719. package/assets/ecl-Bxo8QmCt.js +0 -6
  720. package/assets/editorconfig-DUfFHFN4.js +0 -1
  721. package/assets/eiffel-D62YrVdr.js +0 -1
  722. package/assets/ejs-B3E9714P.js +0 -1
  723. package/assets/elixir-BbUoe7nZ.js +0 -6
  724. package/assets/elixir-wU9BuARX.js +0 -1
  725. package/assets/elm-GdyPUCRk.js +0 -1
  726. package/assets/erDiagram-HZWUO2LU-DIXDxlDs.js +0 -60
  727. package/assets/erb-BLfRgaP8.js +0 -1
  728. package/assets/erlang-oEvb0Slh.js +0 -1
  729. package/assets/etlua-B52BFn4o.js +0 -1
  730. package/assets/excel-formula-DNqVjpMr.js +0 -1
  731. package/assets/factor-D1OvJ8Qo.js +0 -1
  732. package/assets/false-Z6QQv6ID.js +0 -1
  733. package/assets/firestore-security-rules-DTUdd8_9.js +0 -1
  734. package/assets/flow-1B4ewKvb.js +0 -1
  735. package/assets/flow9-BKFjllYO.js +0 -6
  736. package/assets/flowDiagram-THRYKUMA-D3gqWW_d.js +0 -162
  737. package/assets/fortran-DiWKkvzE.js +0 -1
  738. package/assets/freemarker2-CwD6ixn2.js +0 -8
  739. package/assets/fsharp-Dv3_RQKY.js +0 -1
  740. package/assets/fsharp-ETo-tsZt.js +0 -6
  741. package/assets/ftl-CaaEO_Z2.js +0 -1
  742. package/assets/ganttDiagram-WV7ZQ7D5-C-2v9gZQ.js +0 -267
  743. package/assets/gap-CTp3QxAZ.js +0 -1
  744. package/assets/gcode-CYwYWCAy.js +0 -1
  745. package/assets/gdscript-YqSYr01q.js +0 -1
  746. package/assets/gedcom-DTNpnfmu.js +0 -1
  747. package/assets/gherkin-RLKHjAi5.js +0 -1
  748. package/assets/git-0fy9QQAU.js +0 -1
  749. package/assets/gitGraph-ZV4HHKMB-CjT8UBWJ.js +0 -1
  750. package/assets/gitGraphDiagram-OJR772UL-DRxxeQJN.js +0 -65
  751. package/assets/glsl-Df0XRhtW.js +0 -1
  752. package/assets/gml-rYpCBP8S.js +0 -1
  753. package/assets/gn-jKfYA_GR.js +0 -1
  754. package/assets/go-B-SSxtH2.js +0 -1
  755. package/assets/go-DzbHtIm4.js +0 -6
  756. package/assets/go-module-DXvSTe3J.js +0 -1
  757. package/assets/graph-lkROJrYf.js +0 -1
  758. package/assets/graphql-Btz_aicw.js +0 -1
  759. package/assets/graphql-k0EsSqLB.js +0 -6
  760. package/assets/groovy-DTiJadjC.js +0 -1
  761. package/assets/haml-CcDSAGW3.js +0 -1
  762. package/assets/handlebars-B7UUNDAM.js +0 -6
  763. package/assets/handlebars-CTc1FoVV.js +0 -1
  764. package/assets/haskell-Ba7Fn64p.js +0 -1
  765. package/assets/haskell-Ds42Eazu.js +0 -1
  766. package/assets/haxe-BOP5EevR.js +0 -1
  767. package/assets/hcl-Cq9v6if3.js +0 -6
  768. package/assets/hcl-D1BwnWLD.js +0 -1
  769. package/assets/hlsl-CUum5slg.js +0 -1
  770. package/assets/hoon-QMQpvF33.js +0 -1
  771. package/assets/hpkp-D6eY57p3.js +0 -1
  772. package/assets/hsts-C1AgjS7S.js +0 -1
  773. package/assets/html-D5WIHiP4.js +0 -6
  774. package/assets/htmlMode-DEpdNVPw.js +0 -9
  775. package/assets/http-id2mbfvH.js +0 -1
  776. package/assets/ichigojam-DykLBLF7.js +0 -1
  777. package/assets/icon-5DLjeVkO.js +0 -1
  778. package/assets/icu-message-format-BLJSLf7X.js +0 -1
  779. package/assets/idris-D8W8F3Du.js +0 -1
  780. package/assets/iecst-DFLR7w9A.js +0 -1
  781. package/assets/ignore-DApMeS1M.js +0 -1
  782. package/assets/index-Brc7moWM.js +0 -3412
  783. package/assets/index-COcBHp7b.css +0 -1
  784. package/assets/info-63CPKGFF-CMaftaLX.js +0 -1
  785. package/assets/infoDiagram-6WOFNB3A-DVTxejFg.js +0 -2
  786. package/assets/inform7-BbmmPtTe.js +0 -1
  787. package/assets/ini-BscO_0vf.js +0 -6
  788. package/assets/ini-D-w_ESm3.js +0 -1
  789. package/assets/init-Gi6I4Gst.js +0 -1
  790. package/assets/io-CL7TQcwi.js +0 -1
  791. package/assets/j-uqAhSNfO.js +0 -1
  792. package/assets/java--eXhSgxg.js +0 -1
  793. package/assets/java-BxMbkJZ_.js +0 -1
  794. package/assets/java-CtY9ZHW8.js +0 -6
  795. package/assets/javadoc-DLDzhXUx.js +0 -1
  796. package/assets/javadoclike-CcxdcZFw.js +0 -1
  797. package/assets/javadoclike-myFApC35.js +0 -1
  798. package/assets/javascript-B2YTQvHv.js +0 -1
  799. package/assets/javascript-D8vYUPHd.js +0 -1
  800. package/assets/javascript-DHOrgKX5.js +0 -6
  801. package/assets/javastacktrace-C2aQ6cZI.js +0 -1
  802. package/assets/jexl-SUbBpRa5.js +0 -1
  803. package/assets/jolie-DTTRmX_c.js +0 -1
  804. package/assets/journeyDiagram-FFXJYRFH-D4P4oZdc.js +0 -139
  805. package/assets/jq-CNGqc8Wl.js +0 -1
  806. package/assets/js-extras-BomY8GiL.js +0 -1
  807. package/assets/js-templates-lvNz8Eo-.js +0 -1
  808. package/assets/jsdoc-CizF9nqb.js +0 -1
  809. package/assets/json-BESjz4hO.js +0 -1
  810. package/assets/json-vpv-MZJY.js +0 -1
  811. package/assets/json5-Bszym-iC.js +0 -1
  812. package/assets/jsonMode-BdHvYBEq.js +0 -11
  813. package/assets/jsonp-K9VXfRN3.js +0 -1
  814. package/assets/jsstacktrace-5a-l-0QO.js +0 -1
  815. package/assets/jsx-CWP8P1mH.js +0 -1
  816. package/assets/jsx-NzQF_8Jf.js +0 -1
  817. package/assets/julia-DOes61nN.js +0 -6
  818. package/assets/julia-KpvUUzJF.js +0 -1
  819. package/assets/kanban-definition-KOZQBZVT-D7tMBarf.js +0 -89
  820. package/assets/katex-ChWnQ-fc.js +0 -261
  821. package/assets/keepalived-CKdrdtrU.js +0 -1
  822. package/assets/keyman-CFPdCbAD.js +0 -1
  823. package/assets/kotlin-DTDxWyre.js +0 -6
  824. package/assets/kotlin-tQZl0Xk0.js +0 -1
  825. package/assets/kumir-DbBBFKAZ.js +0 -1
  826. package/assets/kusto-Bkg1G97b.js +0 -1
  827. package/assets/latex-BrfLAxV6.js +0 -1
  828. package/assets/latte-DsrdWVh6.js +0 -1
  829. package/assets/layout-C4SVJcQz.js +0 -1
  830. package/assets/less-CqJAWV1X.js +0 -7
  831. package/assets/less-Dq-Do1xB.js +0 -1
  832. package/assets/lexon-BXW1vGDt.js +0 -6
  833. package/assets/lilypond-BASpUvho.js +0 -1
  834. package/assets/linear-D84iuv7z.js +0 -1
  835. package/assets/liquid-Co1yhavg.js +0 -1
  836. package/assets/liquid-D4hD-XBz.js +0 -6
  837. package/assets/lisp-ybAJB-FH.js +0 -1
  838. package/assets/livescript-DLvgD8H_.js +0 -1
  839. package/assets/llvm-C0anU-7N.js +0 -1
  840. package/assets/log-D-8B5UAA.js +0 -1
  841. package/assets/lolcode-OUGz_qsa.js +0 -1
  842. package/assets/lua-Cc6kp-D4.js +0 -1
  843. package/assets/lua-DER4jxlW.js +0 -1
  844. package/assets/lua-DLZgaSX1.js +0 -6
  845. package/assets/m3-CLtYU2dl.js +0 -6
  846. package/assets/magma-IaFf4RIf.js +0 -1
  847. package/assets/makefile-ChKu1MJ1.js +0 -1
  848. package/assets/markdown-7fQo6M4U.js +0 -6
  849. package/assets/markdown-DiMlCk4R.js +0 -1
  850. package/assets/markup-BONeskWm.js +0 -1
  851. package/assets/markup-CEx1cEoC.js +0 -1
  852. package/assets/markup-templating-BPwIASy-.js +0 -1
  853. package/assets/markup-templating-BxAVv-bL.js +0 -1
  854. package/assets/matlab-C6qGYTR2.js +0 -1
  855. package/assets/maxscript-CAN0xBDN.js +0 -1
  856. package/assets/mdx-D6NVpinB.js +0 -6
  857. package/assets/mel-CRG0vaFw.js +0 -1
  858. package/assets/mermaid-DTCIS1Vc.js +0 -1
  859. package/assets/mermaid-parser.core-9OWX7w7H.js +0 -129
  860. package/assets/min-pXLq1urb.js +0 -1
  861. package/assets/mindmap-definition-LNHGMQRG-DpNkhLNM.js +0 -95
  862. package/assets/mips-DcG9r2vI.js +0 -6
  863. package/assets/mizar-CTjbYK1-.js +0 -1
  864. package/assets/mongodb-Dwy0e7tV.js +0 -1
  865. package/assets/monkey-5vs-VaHV.js +0 -1
  866. package/assets/moonscript-fT7DerrW.js +0 -1
  867. package/assets/msdax-DN__iVzl.js +0 -6
  868. package/assets/mysql-05d2lfAy.js +0 -6
  869. package/assets/n1ql-CyDT-nbG.js +0 -1
  870. package/assets/n4js-Dmgj3bgd.js +0 -1
  871. package/assets/nand2tetris-hdl-BPfjS0pS.js +0 -1
  872. package/assets/naniscript-AIaG6VzF.js +0 -1
  873. package/assets/nasm-CtaUAK1B.js +0 -1
  874. package/assets/neon-BGH8Px8Z.js +0 -1
  875. package/assets/nevod-DKwg2dRw.js +0 -1
  876. package/assets/nginx-CUZ2OZRs.js +0 -1
  877. package/assets/nim-DYHpidb8.js +0 -1
  878. package/assets/nix-DJt2Qxmn.js +0 -1
  879. package/assets/nsis-Bp97AH1A.js +0 -1
  880. package/assets/objective-c-B_h_kxCB.js +0 -6
  881. package/assets/objectivec-DXwXxEEr.js +0 -1
  882. package/assets/ocaml-alwbEKNU.js +0 -1
  883. package/assets/opencl-2tlv9GXY.js +0 -1
  884. package/assets/openqasm-DQQ8Eb1t.js +0 -1
  885. package/assets/ordinal-Cboi1Yqb.js +0 -1
  886. package/assets/oz-CmR9PjHE.js +0 -1
  887. package/assets/packet-HUATNLJX-Df0K9_iv.js +0 -1
  888. package/assets/parigp-n8ycxTI2.js +0 -1
  889. package/assets/parser-Bcvfazvc.js +0 -1
  890. package/assets/pascal-Bc-8SB3K.js +0 -6
  891. package/assets/pascal-CFHsej71.js +0 -1
  892. package/assets/pascaligo-C8kSNPDA.js +0 -1
  893. package/assets/pascaligo-Dcwo06z5.js +0 -6
  894. package/assets/pcaxis-L1qB_TA8.js +0 -1
  895. package/assets/peoplecode-B3ZIbHRe.js +0 -1
  896. package/assets/perl-B4wSx8tF.js +0 -1
  897. package/assets/perl-BnGpdHsN.js +0 -6
  898. package/assets/pgsql-DfVleuq_.js +0 -6
  899. package/assets/php-CH5O-_gG.js +0 -6
  900. package/assets/php-Cp0BohX-.js +0 -1
  901. package/assets/php-extras-D_l2V9st.js +0 -1
  902. package/assets/php-iTdQntIy.js +0 -1
  903. package/assets/phpdoc-CK9N3DqC.js +0 -1
  904. package/assets/pie-WTHONI2E-D2V4EPkW.js +0 -1
  905. package/assets/pieDiagram-DBDJKBY4-CtSiPn-U.js +0 -30
  906. package/assets/pla-BUVXxyGx.js +0 -6
  907. package/assets/plsql-C1Z_R7C0.js +0 -1
  908. package/assets/postiats-DSt55phJ.js +0 -6
  909. package/assets/powerquery-2KNS9mh4.js +0 -6
  910. package/assets/powerquery-Cj9zzkL_.js +0 -1
  911. package/assets/powershell-BMCDkE8B.js +0 -1
  912. package/assets/powershell-CCS0rx-A.js +0 -6
  913. package/assets/processing-DOu9EyQL.js +0 -1
  914. package/assets/prolog-BDx-mKYw.js +0 -1
  915. package/assets/promql-CyuJUGgC.js +0 -1
  916. package/assets/properties-Cz9SwuSc.js +0 -1
  917. package/assets/protobuf-5lyCd6Ku.js +0 -7
  918. package/assets/protobuf-BCLdPaZg.js +0 -1
  919. package/assets/psl-BVzbXOmp.js +0 -1
  920. package/assets/pug-Dg4O54Js.js +0 -6
  921. package/assets/pug-PBVvhxsU.js +0 -1
  922. package/assets/puppet-Bp5J_Xf6.js +0 -1
  923. package/assets/pure-BEODe8Ty.js +0 -1
  924. package/assets/purebasic-g8QwRKk9.js +0 -1
  925. package/assets/purescript-UFsBai8q.js +0 -1
  926. package/assets/python-BEpwHjuW.js +0 -6
  927. package/assets/python-cW1cr4Xe.js +0 -1
  928. package/assets/q-CuXsyoDM.js +0 -1
  929. package/assets/qml-NgPknFa-.js +0 -1
  930. package/assets/qore-C0g-7ava.js +0 -1
  931. package/assets/qsharp-BHSA_OC9.js +0 -6
  932. package/assets/qsharp-BrQJYopz.js +0 -1
  933. package/assets/quadrantDiagram-YPSRARAO-fpN7laT8.js +0 -7
  934. package/assets/r-DBvxNhD8.js +0 -6
  935. package/assets/r-ivB35FJi.js +0 -1
  936. package/assets/racket-D6952iA-.js +0 -1
  937. package/assets/radar-NJJJXTRR-Bh0TcAtk.js +0 -1
  938. package/assets/razor-COaKzAih.js +0 -6
  939. package/assets/reason-BxyJj1Wv.js +0 -1
  940. package/assets/redis-mBNZiS5I.js +0 -6
  941. package/assets/redshift-gtd9hS2x.js +0 -6
  942. package/assets/reduce-CEguFi6x.js +0 -1
  943. package/assets/regex-UCZUa98R.js +0 -1
  944. package/assets/rego-D5bYSBEk.js +0 -1
  945. package/assets/renpy-DTdz45My.js +0 -1
  946. package/assets/requirementDiagram-EGVEC5DT-C2aVrzw7.js +0 -64
  947. package/assets/rest-BxrDSOtP.js +0 -1
  948. package/assets/restructuredtext-45Xf76JB.js +0 -6
  949. package/assets/rip-CvJDF04l.js +0 -1
  950. package/assets/roboconf-DpPdQtT6.js +0 -1
  951. package/assets/robotframework-CvzHhnGx.js +0 -1
  952. package/assets/roboto-cyrillic-400-normal-C5q4FMUG.woff +0 -0
  953. package/assets/roboto-cyrillic-400-normal-DAIM1_dR.woff2 +0 -0
  954. package/assets/roboto-cyrillic-ext-400-normal-5IDvadIC.woff +0 -0
  955. package/assets/roboto-cyrillic-ext-400-normal-DzMWdK87.woff2 +0 -0
  956. package/assets/roboto-greek-400-normal-DwVopRQH.woff +0 -0
  957. package/assets/roboto-greek-400-normal-jFM2czAU.woff2 +0 -0
  958. package/assets/roboto-latin-400-normal-BX2H0A0_.woff +0 -0
  959. package/assets/roboto-latin-400-normal-CNwBRw8h.woff2 +0 -0
  960. package/assets/roboto-latin-ext-400-normal-BG57dRWO.woff +0 -0
  961. package/assets/roboto-latin-ext-400-normal-ZYmyxeOy.woff2 +0 -0
  962. package/assets/roboto-math-400-normal-B3wgz80t.woff2 +0 -0
  963. package/assets/roboto-math-400-normal-BRMeFL5Z.woff +0 -0
  964. package/assets/roboto-symbols-400-normal-B2LMqLB2.woff +0 -0
  965. package/assets/roboto-symbols-400-normal-fF1SLJBj.woff2 +0 -0
  966. package/assets/roboto-vietnamese-400-normal-BYP5tVVv.woff +0 -0
  967. package/assets/roboto-vietnamese-400-normal-CDDxGrUb.woff2 +0 -0
  968. package/assets/ruby-BYts9dao.js +0 -1
  969. package/assets/ruby-CEgcCkh9.js +0 -6
  970. package/assets/ruby-DYsn9XfW.js +0 -1
  971. package/assets/rust-BChN5uNh.js +0 -6
  972. package/assets/rust-DhU6TFsm.js +0 -1
  973. package/assets/sankeyDiagram-HRAUVNP4-4oZDeCaD.js +0 -10
  974. package/assets/sas-ChhKHWGM.js +0 -1
  975. package/assets/sass-C57bJt_A.js +0 -1
  976. package/assets/sb-5vPrUWN-.js +0 -6
  977. package/assets/scala-BQOorN7X.js +0 -6
  978. package/assets/scala-Cg28kNry.js +0 -1
  979. package/assets/scheme-Bpk-KLc_.js +0 -1
  980. package/assets/scheme-Cscf027c.js +0 -1
  981. package/assets/scheme-DkJ87xtR.js +0 -6
  982. package/assets/scss-BeU7qozo.js +0 -1
  983. package/assets/scss-CpPOP9XS.js +0 -8
  984. package/assets/sequenceDiagram-WFGC7UMF-BS5S-iIx.js +0 -122
  985. package/assets/shell-BHhUv290.js +0 -6
  986. package/assets/shell-session-N4BUyO5b.js +0 -1
  987. package/assets/smali-OZwkp_pU.js +0 -1
  988. package/assets/smalltalk-Bgd8uXdt.js +0 -1
  989. package/assets/smarty-BbqdJT5w.js +0 -1
  990. package/assets/sml-DbDOAWsQ.js +0 -1
  991. package/assets/solidity-BFcLIl1x.js +0 -6
  992. package/assets/solidity-DkQCaL_X.js +0 -1
  993. package/assets/solution-file-DFlRPhIk.js +0 -1
  994. package/assets/sophia-z0tjJxhY.js +0 -6
  995. package/assets/soy-CqM5aRME.js +0 -1
  996. package/assets/sparql-B1GALy7V.js +0 -1
  997. package/assets/sparql-BTJymgeb.js +0 -6
  998. package/assets/splunk-spl-DrNqni3-.js +0 -1
  999. package/assets/sqf-BeBvdmXG.js +0 -1
  1000. package/assets/sql-BFyYaP5s.js +0 -6
  1001. package/assets/sql-CJATM1Qp.js +0 -1
  1002. package/assets/sql-CtDLgxfq.js +0 -1
  1003. package/assets/squirrel-COkcd8Tr.js +0 -1
  1004. package/assets/st-DZS1F9ME.js +0 -6
  1005. package/assets/stan-C1_hogQu.js +0 -1
  1006. package/assets/stateDiagram-UUKSUZ4H-Cb3qH3Cy.js +0 -1
  1007. package/assets/stateDiagram-v2-EYPG3UTE-BzEwA6K7.js +0 -1
  1008. package/assets/stylus-Dw8891LS.js +0 -1
  1009. package/assets/swift-B97O9HHR.js +0 -1
  1010. package/assets/swift-BwlyOzQq.js +0 -8
  1011. package/assets/systemd-CUtXAwEb.js +0 -2
  1012. package/assets/systemverilog-DJsb8r0W.js +0 -6
  1013. package/assets/t4-cs-CyYMVAUn.js +0 -1
  1014. package/assets/t4-templating-B5EzSFYT.js +0 -1
  1015. package/assets/t4-templating-Du1KIrkv.js +0 -1
  1016. package/assets/t4-vb-Pwd8zhQY.js +0 -1
  1017. package/assets/tap-C5-eahra.js +0 -1
  1018. package/assets/tcl-CQrWCRuJ.js +0 -1
  1019. package/assets/tcl-CjHYkh5E.js +0 -6
  1020. package/assets/textile-CyJk6SWo.js +0 -1
  1021. package/assets/timeline-definition-3HZDQTIS-DaBjiVZ7.js +0 -61
  1022. package/assets/toml-Cact8Vna.js +0 -1
  1023. package/assets/treemap-75Q7IDZK-BZoUJEBa.js +0 -1
  1024. package/assets/tremor-BBmidx_C.js +0 -1
  1025. package/assets/tsMode-DjkyL1AP.js +0 -16
  1026. package/assets/tsx-BFgSfn5D.js +0 -1
  1027. package/assets/tt2-CG-UIBmK.js +0 -1
  1028. package/assets/turtle-DigfRE97.js +0 -1
  1029. package/assets/turtle-Ro1R6Je7.js +0 -1
  1030. package/assets/twig-CmYTg8Iu.js +0 -6
  1031. package/assets/twig-PmY_cDoq.js +0 -1
  1032. package/assets/typescript-CVO-8GEc.js +0 -1
  1033. package/assets/typescript-Da47IE7f.js +0 -1
  1034. package/assets/typescript-DgKm9t07.js +0 -6
  1035. package/assets/typespec-Dwv00aWl.js +0 -6
  1036. package/assets/typoscript-CgZr5jEZ.js +0 -1
  1037. package/assets/unrealscript-BI_pn0rK.js +0 -1
  1038. package/assets/uorazor-C7IhUkD6.js +0 -1
  1039. package/assets/uri-BP2d8Ze2.js +0 -1
  1040. package/assets/v-B9O-tbsS.js +0 -1
  1041. package/assets/vala-CS5ZRPeA.js +0 -1
  1042. package/assets/vb-BjPEumh4.js +0 -6
  1043. package/assets/vbnet-B0hx3qRp.js +0 -1
  1044. package/assets/vbnet-BhrUc4aD.js +0 -1
  1045. package/assets/velocity-QemisC16.js +0 -1
  1046. package/assets/verilog-jjjMAm_Y.js +0 -1
  1047. package/assets/vhdl-B9EszVuj.js +0 -1
  1048. package/assets/vim-CxDlf-dr.js +0 -1
  1049. package/assets/visual-basic-CfhBm1gF.js +0 -1
  1050. package/assets/warpscript-DL5ToBao.js +0 -1
  1051. package/assets/wasm-C5WawCVZ.js +0 -1
  1052. package/assets/web-idl-DWKDo7hm.js +0 -1
  1053. package/assets/wgsl-Bp8RP3jd.js +0 -303
  1054. package/assets/wiki-BHpSxg4K.js +0 -1
  1055. package/assets/wolfram-C_oBzCJW.js +0 -1
  1056. package/assets/wren-CA1nFGqi.js +0 -1
  1057. package/assets/xeora-BtUuVarv.js +0 -1
  1058. package/assets/xml-BBqGkZMk.js +0 -6
  1059. package/assets/xml-doc-DhUg29aH.js +0 -1
  1060. package/assets/xojo-BmgifBv1.js +0 -1
  1061. package/assets/xquery-7FfNXUZg.js +0 -1
  1062. package/assets/xychartDiagram-FDP5SA34-DlWJl-YC.js +0 -7
  1063. package/assets/yaml-BOp0Lh0S.js +0 -1
  1064. package/assets/yaml-C8j_iwGJ.js +0 -6
  1065. package/assets/yaml-pHjxJgpq.js +0 -1
  1066. package/assets/yang-CLUWUZcf.js +0 -1
  1067. package/assets/zig-DdXASuyK.js +0 -1
  1068. package/branding/howler/favicon.svg +0 -38
  1069. package/branding/howler/name-dark.svg +0 -21
  1070. package/branding/howler/name-light.svg +0 -21
  1071. package/branding/howler/noswoosh-dark.svg +0 -24
  1072. package/branding/howler/noswoosh-light.svg +0 -28
  1073. package/branding/howler/swoosh-dark.svg +0 -41
  1074. package/branding/howler/swoosh-light.svg +0 -45
  1075. package/components/routes/help/markdown/en/actionIntroduction.md.js +0 -1
  1076. package/components/routes/help/markdown/en/authentication.md.js +0 -1
  1077. package/components/routes/help/markdown/en/bundles.md.js +0 -1
  1078. package/components/routes/help/markdown/en/client.md.js +0 -1
  1079. package/components/routes/help/markdown/en/links.md.js +0 -1
  1080. package/components/routes/help/markdown/en/notebook.md.js +0 -1
  1081. package/components/routes/help/markdown/en/retention.md.js +0 -1
  1082. package/components/routes/help/markdown/en/schema.md.js +0 -1
  1083. package/components/routes/help/markdown/en/templates.md.js +0 -1
  1084. package/components/routes/help/markdown/en/views.md.js +0 -1
  1085. package/components/routes/help/markdown/fr/actionIntroduction.md.js +0 -1
  1086. package/components/routes/help/markdown/fr/authentication.md.js +0 -1
  1087. package/components/routes/help/markdown/fr/bundles.md.js +0 -1
  1088. package/components/routes/help/markdown/fr/client.md.js +0 -1
  1089. package/components/routes/help/markdown/fr/links.md.js +0 -1
  1090. package/components/routes/help/markdown/fr/notebook.md.js +0 -1
  1091. package/components/routes/help/markdown/fr/retention.md.js +0 -1
  1092. package/components/routes/help/markdown/fr/schema.md.js +0 -1
  1093. package/components/routes/help/markdown/fr/templates.md.js +0 -1
  1094. package/components/routes/help/markdown/fr/views.md.js +0 -1
  1095. package/components/routes/overviews/template/en.md.js +0 -1
  1096. package/components/routes/overviews/template/fr.md.js +0 -1
  1097. package/images/doggie.png +0 -0
  1098. package/index.html +0 -24
  1099. package/manifest.json +0 -16
  1100. package/robots.txt +0 -3
  1101. package/scripts/background.js +0 -14
  1102. package/serve.json +0 -14
@@ -0,0 +1,268 @@
1
+ import { useMonaco } from '@monaco-editor/react';
2
+ import { Clear, Height, History, Search } from '@mui/icons-material';
3
+ import { Badge, Box, Card, Skeleton, Tooltip, alpha, useTheme } from '@mui/material';
4
+ import { ParameterContext } from 'components/app/providers/ParameterProvider';
5
+ import TuiIconButton from 'components/elements/addons/buttons/CustomIconButton';
6
+ import QueryEditor from 'components/routes/advanced/QueryEditor';
7
+ import type { IDisposable, editor } from 'monaco-editor';
8
+
9
+ import { HitSearchContext } from 'components/app/providers/HitSearchProvider';
10
+ import type { FC } from 'react';
11
+ import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
12
+ import { useTranslation } from 'react-i18next';
13
+ import { useLocation } from 'react-router-dom';
14
+ import { useContextSelector } from 'use-context-selector';
15
+ import { sanitizeMultilineLucene } from 'utils/stringUtils';
16
+
17
+ const DEFAULT_MULTILINE_HEIGHT = 250;
18
+ const PROMPT_CONTEXT =
19
+ 'isHitQuery && !suggestWidgetVisible && !renameInputVisible && !inSnippetMode && !quickFixWidgetVisible';
20
+
21
+ export type HitQueryProps = {
22
+ triggerSearch: (query: string) => void;
23
+ onChange?: (query: string, isDirty: boolean) => void;
24
+ searching?: boolean;
25
+ disabled?: boolean;
26
+ compact?: boolean;
27
+ };
28
+
29
+ const HitQuery: FC<HitQueryProps> = ({
30
+ searching = false,
31
+ disabled = false,
32
+ compact = false,
33
+ triggerSearch,
34
+ onChange
35
+ }) => {
36
+ const { t } = useTranslation();
37
+ const location = useLocation();
38
+ const theme = useTheme();
39
+ const monaco = useMonaco();
40
+
41
+ const savedQuery = useContextSelector(ParameterContext, ctx => ctx.query || 'howler.id:*');
42
+
43
+ const prevQuery = useRef<string | null>(null);
44
+
45
+ const [query, setQuery] = useState(new URLSearchParams(window.location.search).get('query') || 'howler.id:*');
46
+ const fzfSearch = useContextSelector(HitSearchContext, ctx => ctx?.fzfSearch ?? false);
47
+ const [loaded, setLoaded] = useState(false);
48
+ const [multiline, setMultiline] = useState(false);
49
+ const [y, setY] = useState(0);
50
+
51
+ const wrapper = useRef<HTMLDivElement>();
52
+
53
+ const search = useCallback(() => triggerSearch(sanitizeMultilineLucene(query)), [query, triggerSearch]);
54
+
55
+ const isDirty = useMemo(() => query !== savedQuery, [query, savedQuery]);
56
+
57
+ useEffect(() => {
58
+ onChange?.(query, isDirty);
59
+ }, [isDirty, onChange, query]);
60
+
61
+ useEffect(() => {
62
+ if (!monaco) {
63
+ return;
64
+ }
65
+
66
+ const executeDisposable = monaco.editor.addEditorAction({
67
+ id: 'execute-query',
68
+ label: t('route.advanced.execute.query'),
69
+ contextMenuGroupId: 'howler',
70
+ keybindings: [monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter],
71
+ run: search
72
+ });
73
+
74
+ return () => {
75
+ executeDisposable.dispose();
76
+ };
77
+ }, [monaco, t, search]);
78
+
79
+ useEffect(() => {
80
+ if (!monaco) {
81
+ return;
82
+ }
83
+
84
+ let disposable: IDisposable;
85
+ if (!multiline) {
86
+ disposable = monaco.editor.addKeybindingRule({
87
+ command: 'execute-query',
88
+ keybinding: monaco.KeyCode.Enter,
89
+ when: PROMPT_CONTEXT
90
+ });
91
+ } else {
92
+ disposable = monaco.editor.addKeybindingRule({
93
+ command: null,
94
+ keybinding: monaco.KeyCode.Enter,
95
+ when: PROMPT_CONTEXT
96
+ });
97
+ }
98
+
99
+ return () => {
100
+ disposable.dispose();
101
+ };
102
+ }, [monaco, multiline, search]);
103
+
104
+ const onMouseMove = useCallback((event: MouseEvent) => {
105
+ const wrapperRect = wrapper.current?.getBoundingClientRect();
106
+
107
+ const offset = event.clientY - (wrapperRect.top + DEFAULT_MULTILINE_HEIGHT);
108
+
109
+ setY(offset);
110
+ }, []);
111
+
112
+ useEffect(() => {
113
+ if (savedQuery && savedQuery !== prevQuery.current) {
114
+ prevQuery.current = savedQuery;
115
+ setQuery(prevQuery.current);
116
+ }
117
+ }, [savedQuery]);
118
+
119
+ const onMouseUp = useCallback(() => {
120
+ window.removeEventListener('mousemove', onMouseMove);
121
+ window.removeEventListener('mouseup', onMouseUp);
122
+ }, [onMouseMove]);
123
+
124
+ const onMouseDown = useCallback(() => {
125
+ window.addEventListener('mousemove', onMouseMove);
126
+ window.addEventListener('mouseup', onMouseUp);
127
+ }, [onMouseMove, onMouseUp]);
128
+
129
+ const onMount = useCallback((ed: editor.IStandaloneCodeEditor) => {
130
+ ed.createContextKey('isHitQuery', true);
131
+ setLoaded(true);
132
+ }, []);
133
+
134
+ const options: editor.IStandaloneEditorConstructionOptions = useMemo(
135
+ () => ({
136
+ fontSize: 17,
137
+ lineHeight: 19,
138
+ lineNumbers: multiline ? 'on' : 'off',
139
+ lineDecorationsWidth: multiline ? 8 : 0,
140
+ lineNumbersMinChars: multiline ? 2 : 0,
141
+ showFoldingControls: 'never',
142
+ scrollBeyondLastLine: !multiline,
143
+ glyphMargin: !multiline,
144
+ renderLineHighlight: multiline ? 'gutter' : 'none',
145
+ overviewRulerLanes: multiline ? 1 : 0
146
+ }),
147
+ [multiline]
148
+ );
149
+
150
+ const preppedQuery = useMemo(() => (multiline ? query : query.replaceAll('\n', ' ')), [multiline, query]);
151
+
152
+ return (
153
+ <Card
154
+ ref={wrapper}
155
+ variant="outlined"
156
+ sx={[
157
+ {
158
+ width: '100%',
159
+ height: multiline ? `${DEFAULT_MULTILINE_HEIGHT + y}px` : theme.spacing(7),
160
+ p: 1,
161
+ position: 'relative',
162
+ overflow: 'visible',
163
+ display: 'flex',
164
+ alignItems: 'center',
165
+ justifyContent: 'space-between',
166
+ '& .monaco-editor': {
167
+ position: 'absolute !important'
168
+ },
169
+ transition: theme.transitions.create('border-color')
170
+ },
171
+ isDirty &&
172
+ new URLSearchParams(location.search).has('query') && {
173
+ borderColor: 'warning.main'
174
+ },
175
+ compact && {
176
+ p: 0.5,
177
+ height: multiline ? `${DEFAULT_MULTILINE_HEIGHT + y}px` : theme.spacing(5)
178
+ }
179
+ ]}
180
+ onKeyDown={e => e.stopPropagation()}
181
+ >
182
+ <TuiIconButton
183
+ disabled={query.includes('\n#') || disabled}
184
+ sx={{ mr: 1, alignSelf: 'start' }}
185
+ onClick={() => setMultiline(!multiline)}
186
+ color={multiline ? 'primary' : theme.palette.text.primary}
187
+ transparent={!multiline}
188
+ size={compact ? 'small' : 'medium'}
189
+ >
190
+ <Height sx={{ fontSize: '20px' }} />
191
+ </TuiIconButton>
192
+ <QueryEditor
193
+ query={preppedQuery}
194
+ setQuery={setQuery}
195
+ language="lucene"
196
+ height={multiline ? `${DEFAULT_MULTILINE_HEIGHT - 30}px` : '20px'}
197
+ onMount={onMount}
198
+ editorOptions={options}
199
+ />
200
+ {fzfSearch && (
201
+ <Tooltip title={t('route.history')}>
202
+ <History />
203
+ </Tooltip>
204
+ )}
205
+ <TuiIconButton
206
+ disabled={searching || disabled}
207
+ onClick={() => setQuery('howler.id:*')}
208
+ sx={{ ml: 1, alignSelf: 'start', flexShrink: 0 }}
209
+ size={compact ? 'small' : 'medium'}
210
+ >
211
+ <Tooltip title={t('route.clear')}>
212
+ <Clear sx={{ fontSize: '20px' }} />
213
+ </Tooltip>
214
+ </TuiIconButton>
215
+
216
+ <TuiIconButton
217
+ disabled={searching || disabled}
218
+ onClick={search}
219
+ sx={{ ml: 1, alignSelf: 'start', flexShrink: 0 }}
220
+ size={compact ? 'small' : 'medium'}
221
+ >
222
+ <Tooltip title={t('route.search')}>
223
+ <Badge invisible={!isDirty} color="warning" variant="dot">
224
+ <Search sx={{ fontSize: '20px' }} />
225
+ </Badge>
226
+ </Tooltip>
227
+ </TuiIconButton>
228
+ {!loaded && (
229
+ <Skeleton
230
+ variant="rectangular"
231
+ sx={{ position: 'absolute', top: 0, left: 0, right: 0, bottom: 0 }}
232
+ height="100%"
233
+ />
234
+ )}
235
+ {multiline && (
236
+ <Box
237
+ sx={{
238
+ position: 'absolute',
239
+ left: 0,
240
+ right: 0,
241
+ bottom: 0,
242
+ height: '10px',
243
+ backgroundColor: theme.palette.divider,
244
+ cursor: 'row-resize',
245
+ zIndex: 1000
246
+ }}
247
+ onMouseDown={onMouseDown}
248
+ />
249
+ )}
250
+ {disabled && (
251
+ <Box
252
+ sx={{
253
+ position: 'absolute',
254
+ left: 0,
255
+ right: 0,
256
+ bottom: 0,
257
+ top: 0,
258
+ backgroundColor: alpha(theme.palette.background.paper, 0.65),
259
+ zIndex: 1000
260
+ }}
261
+ onMouseDown={onMouseDown}
262
+ />
263
+ )}
264
+ </Card>
265
+ );
266
+ };
267
+
268
+ export default memo(HitQuery);
@@ -0,0 +1,430 @@
1
+ import { Clear, Code, Comment, DataObject, History, LinkSharp, OpenInNew, QueryStats } from '@mui/icons-material';
2
+ import { Badge, Box, Divider, IconButton, Skeleton, Stack, Tab, Tabs, Tooltip, useTheme } from '@mui/material';
3
+ import TuiIconButton from 'components/elements/addons/buttons/CustomIconButton';
4
+
5
+ import { Icon } from '@iconify/react/dist/iconify.js';
6
+ import useMatchers from 'components/app/hooks/useMatchers';
7
+ import { HitContext } from 'components/app/providers/HitProvider';
8
+ import { ParameterContext } from 'components/app/providers/ParameterProvider';
9
+ import { SocketContext } from 'components/app/providers/SocketProvider';
10
+ import FlexOne from 'components/elements/addons/layout/FlexOne';
11
+ import VSBox from 'components/elements/addons/layout/vsbox/VSBox';
12
+ import VSBoxContent from 'components/elements/addons/layout/vsbox/VSBoxContent';
13
+ import VSBoxHeader from 'components/elements/addons/layout/vsbox/VSBoxHeader';
14
+ import Phrase from 'components/elements/addons/search/phrase/Phrase';
15
+ import BundleButton from 'components/elements/display/icons/BundleButton';
16
+ import SocketBadge from 'components/elements/display/icons/SocketBadge';
17
+ import JSONViewer from 'components/elements/display/json/JSONViewer';
18
+ import HitActions from 'components/elements/hit/HitActions';
19
+ import HitBanner from 'components/elements/hit/HitBanner';
20
+ import HitComments from 'components/elements/hit/HitComments';
21
+ import HitDetails from 'components/elements/hit/HitDetails';
22
+ import HitLabels from 'components/elements/hit/HitLabels';
23
+ import { HitLayout } from 'components/elements/hit/HitLayout';
24
+ import HitNotebooks from 'components/elements/hit/HitNotebooks';
25
+ import HitOutline from 'components/elements/hit/HitOutline';
26
+ import HitOverview from 'components/elements/hit/HitOverview';
27
+ import HitRelated from 'components/elements/hit/HitRelated';
28
+ import HitSummary from 'components/elements/hit/HitSummary';
29
+ import HitWorklog from 'components/elements/hit/HitWorklog';
30
+ import PivotLink from 'components/elements/hit/related/PivotLink';
31
+ import RelatedLink from 'components/elements/hit/related/RelatedLink';
32
+ import useMyUserList from 'components/hooks/useMyUserList';
33
+ import ErrorBoundary from 'components/routes/ErrorBoundary';
34
+ import { uniqBy } from 'lodash-es';
35
+ import type { Analytic } from 'models/entities/generated/Analytic';
36
+ import type { Dossier } from 'models/entities/generated/Dossier';
37
+ import howlerPluginStore from 'plugins/store';
38
+ import type { FC } from 'react';
39
+ import { useContext, useEffect, useMemo, useState } from 'react';
40
+ import { useTranslation } from 'react-i18next';
41
+ import { usePluginStore } from 'react-pluggable';
42
+ import { useLocation } from 'react-router-dom';
43
+ import { useContextSelector } from 'use-context-selector';
44
+ import { getUserList } from 'utils/hitFunctions';
45
+ import { validateRegex } from 'utils/stringUtils';
46
+ import { tryParse } from 'utils/utils';
47
+ import LeadRenderer from '../view/LeadRenderer';
48
+
49
+ const InformationPane: FC<{ onClose?: () => void }> = ({ onClose }) => {
50
+ const { t, i18n } = useTranslation();
51
+ const theme = useTheme();
52
+ const location = useLocation();
53
+ const { emit, isOpen } = useContext(SocketContext);
54
+ const { getMatchingOverview, getMatchingDossiers, getMatchingAnalytic } = useMatchers();
55
+ const selected = useContextSelector(ParameterContext, ctx => ctx.selected);
56
+ const pluginStore = usePluginStore();
57
+
58
+ const getHit = useContextSelector(HitContext, ctx => ctx.getHit);
59
+
60
+ const [userIds, setUserIds] = useState<Set<string>>(new Set());
61
+ const [analytic, setAnalytic] = useState<Analytic>();
62
+ const [hasOverview, setHasOverview] = useState(false);
63
+ const [tab, setTab] = useState<string>('overview');
64
+ const [loading, setLoading] = useState<boolean>(false);
65
+ const [filter, setFilter] = useState('');
66
+
67
+ // In order to properly check for dossiers, we split dossiers into two
68
+ const [_dossiers, setDossiers] = useState<Dossier[] | null>(null);
69
+ const dossiers: Dossier[] = useMemo(() => _dossiers ?? [], [_dossiers]);
70
+
71
+ const users = useMyUserList(userIds);
72
+
73
+ const hit = useContextSelector(HitContext, ctx => ctx.hits[selected]);
74
+
75
+ howlerPluginStore.plugins.forEach(plugin => {
76
+ pluginStore.executeFunction(`${plugin}.on`, 'viewing');
77
+ });
78
+
79
+ useEffect(() => {
80
+ if (!selected) {
81
+ return;
82
+ }
83
+
84
+ if (!hit?.howler.data) {
85
+ setLoading(true);
86
+ getHit(selected, true).finally(() => setLoading(false));
87
+ return;
88
+ }
89
+
90
+ setUserIds(getUserList(hit));
91
+
92
+ // eslint-disable-next-line react-hooks/exhaustive-deps
93
+ }, [getHit, selected]);
94
+
95
+ useEffect(() => {
96
+ if (hit && !analytic) {
97
+ getMatchingAnalytic(hit).then(setAnalytic);
98
+ }
99
+ }, [analytic, getMatchingAnalytic, hit]);
100
+
101
+ useEffect(() => {
102
+ if (hit && !_dossiers) {
103
+ getMatchingDossiers(hit).then(setDossiers);
104
+ }
105
+ }, [_dossiers, getMatchingDossiers, hit]);
106
+
107
+ useEffect(() => {
108
+ getMatchingOverview(hit).then(_overview => setHasOverview(!!_overview));
109
+ }, [getMatchingOverview, hit]);
110
+
111
+ useEffect(() => {
112
+ if (tab === 'hit_aggregate' && !hit?.howler.is_bundle) {
113
+ setTab('overview');
114
+ }
115
+ }, [hit?.howler.is_bundle, tab]);
116
+
117
+ useEffect(() => {
118
+ if (selected && isOpen()) {
119
+ emit({
120
+ broadcast: false,
121
+ action: 'viewing',
122
+ id: selected
123
+ });
124
+
125
+ return () =>
126
+ emit({
127
+ broadcast: false,
128
+ action: 'stop_viewing',
129
+ id: selected
130
+ });
131
+ }
132
+ }, [emit, selected, isOpen]);
133
+
134
+ useEffect(() => {
135
+ if (hasOverview && tab === 'details') {
136
+ setTab('overview');
137
+ } else if (!hasOverview && tab === 'overview') {
138
+ setTab('details');
139
+ }
140
+ // eslint-disable-next-line react-hooks/exhaustive-deps
141
+ }, [hasOverview]);
142
+
143
+ /**
144
+ * What to show as the header? If loading a skeleton, then it depends on bundle or not. Bundles don't
145
+ * show anything while normal hits do
146
+ */
147
+ const header = useMemo(() => {
148
+ if (loading && !hit?.howler?.is_bundle) {
149
+ return <Skeleton variant="rounded" height={152} />;
150
+ } else if (!!hit && !hit.howler.is_bundle) {
151
+ return <HitBanner layout={HitLayout.DENSE} hit={hit} />;
152
+ } else {
153
+ return null;
154
+ }
155
+ }, [hit, loading]);
156
+
157
+ const tabContent = useMemo(() => {
158
+ if (!tab) {
159
+ return;
160
+ }
161
+
162
+ return {
163
+ overview: () => <HitOverview hit={hit} />,
164
+ details: () => <HitDetails hit={hit} />,
165
+ hit_comments: () => <HitComments hit={hit} users={users} />,
166
+ hit_raw: () => <JSONViewer data={!loading && hit} hideSearch filter={filter} />,
167
+ hit_data: () => (
168
+ <JSONViewer
169
+ data={!loading && hit?.howler?.data?.map(entry => tryParse(entry))}
170
+ collapse={false}
171
+ hideSearch
172
+ filter={filter}
173
+ />
174
+ ),
175
+ hit_worklog: () => <HitWorklog hit={!loading && hit} users={users} />,
176
+ hit_aggregate: () => <HitSummary query={`howler.bundles:(${hit?.howler?.id})`} />,
177
+ hit_related: () => <HitRelated hit={hit} />,
178
+ ...Object.fromEntries(
179
+ (hit?.howler.dossier ?? []).map((lead, index) => [
180
+ 'lead:' + index,
181
+ () => <LeadRenderer lead={lead} hit={hit} />
182
+ ])
183
+ ),
184
+ ...Object.fromEntries(
185
+ dossiers.flatMap((_dossier, dossierIndex) =>
186
+ (_dossier.leads ?? []).map((_lead, leadIndex) => [
187
+ `external-lead:${dossierIndex}:${leadIndex}`,
188
+ () => <LeadRenderer lead={_lead} hit={hit} />
189
+ ])
190
+ )
191
+ )
192
+ }[tab]?.();
193
+ }, [dossiers, filter, hit, loading, tab, users]);
194
+
195
+ const hasError = useMemo(() => !validateRegex(filter), [filter]);
196
+
197
+ return (
198
+ <VSBox top={10} sx={{ height: '100%', flex: 1 }}>
199
+ <Stack direction="column" flex={1} sx={{ overflowY: 'auto', flexGrow: 1 }} position="relative" spacing={1} ml={2}>
200
+ <Stack
201
+ direction="row"
202
+ alignItems="center"
203
+ spacing={0.5}
204
+ flexShrink={0}
205
+ pr={2}
206
+ sx={[hit?.howler?.is_bundle && { position: 'absolute', top: 1, right: 0, zIndex: 1100 }]}
207
+ >
208
+ <FlexOne />
209
+ {onClose && !location.pathname.startsWith('/bundles') && (
210
+ <TuiIconButton size="small" onClick={onClose} tooltip={t('hit.panel.details.exit')}>
211
+ <Clear />
212
+ </TuiIconButton>
213
+ )}
214
+ <SocketBadge size="small" />
215
+ {analytic && (
216
+ <TuiIconButton
217
+ size="small"
218
+ tooltip={t('hit.panel.analytic.open')}
219
+ disabled={!analytic || loading}
220
+ route={`/analytics/${analytic.analytic_id}`}
221
+ >
222
+ <QueryStats />
223
+ </TuiIconButton>
224
+ )}
225
+ {hit?.howler.bundles?.length > 0 && <BundleButton ids={hit.howler.bundles} disabled={loading} />}
226
+ {!!hit && !hit.howler.is_bundle && (
227
+ <TuiIconButton
228
+ tooltip={t('hit.panel.open')}
229
+ href={`/hits/${selected}`}
230
+ disabled={!hit || loading}
231
+ size="small"
232
+ target="_blank"
233
+ >
234
+ <OpenInNew />
235
+ </TuiIconButton>
236
+ )}
237
+ </Stack>
238
+ <Box pr={2}>{header}</Box>
239
+ {!!hit &&
240
+ !hit.howler.is_bundle &&
241
+ (!loading ? (
242
+ <>
243
+ <HitOutline hit={hit} layout={HitLayout.DENSE} />
244
+ <HitLabels hit={hit} />
245
+ </>
246
+ ) : (
247
+ <Skeleton height={124} />
248
+ ))}
249
+ {(hit?.howler?.links?.length > 0 ||
250
+ analytic?.notebooks?.length > 0 ||
251
+ dossiers.filter(_dossier => _dossier.pivots?.length > 0).length > 0) && (
252
+ <Stack direction="row" spacing={1} pr={2}>
253
+ {analytic?.notebooks?.length > 0 && <HitNotebooks analytic={analytic} hit={hit} />}
254
+ {hit?.howler?.links?.length > 0 &&
255
+ uniqBy(hit.howler.links, 'href')
256
+ .slice(0, 3)
257
+ .map(l => <RelatedLink key={l.href} compact {...l} />)}
258
+ {dossiers.flatMap(_dossier =>
259
+ (_dossier.pivots ?? []).map((_pivot, index) => (
260
+ // eslint-disable-next-line react/no-array-index-key
261
+ <PivotLink key={_dossier.dossier_id + index} pivot={_pivot} hit={hit} compact />
262
+ ))
263
+ )}
264
+ </Stack>
265
+ )}
266
+ <VSBoxHeader ml={-1} mr={-1} pb={1} sx={{ top: '0px' }}>
267
+ <Tabs
268
+ value={tab === 'overview' && !hasOverview ? 'details' : tab}
269
+ sx={{
270
+ display: 'flex',
271
+ flexDirection: 'row',
272
+ pr: 2,
273
+ alignItems: 'center',
274
+ position: 'relative',
275
+ '& > .MuiTabScrollButton-root': {
276
+ position: 'absolute',
277
+ top: 0,
278
+ bottom: 0,
279
+ zIndex: 5,
280
+ backgroundColor: theme.palette.background.paper,
281
+ '&:not(.Mui-disabled)': {
282
+ opacity: 1
283
+ },
284
+ '&:first-of-type': {
285
+ left: 0
286
+ },
287
+ '&:last-of-type': {
288
+ right: 0
289
+ }
290
+ }
291
+ }}
292
+ variant="scrollable"
293
+ >
294
+ <Tab
295
+ sx={{ px: 2, minWidth: 0 }}
296
+ label={
297
+ <Tooltip title={t('hit.viewer.comments')}>
298
+ <Badge
299
+ sx={{
300
+ '& > .MuiBadge-badge': {
301
+ backgroundColor: theme.palette.divider,
302
+ zIndex: 1,
303
+ right: theme.spacing(-0.5)
304
+ },
305
+ '& > svg': { zIndex: 2 }
306
+ }}
307
+ badgeContent={hit?.howler.comment?.length ?? 0}
308
+ >
309
+ <Comment />
310
+ </Badge>
311
+ </Tooltip>
312
+ }
313
+ value="hit_comments"
314
+ onClick={() => setTab('hit_comments')}
315
+ />
316
+ {hit?.howler?.is_bundle && (
317
+ <Tab label={t('hit.viewer.aggregate')} value="hit_aggregate" onClick={() => setTab('hit_aggregate')} />
318
+ )}
319
+ {hasOverview && (
320
+ <Tab label={t('hit.viewer.overview')} value="overview" onClick={() => setTab('overview')} />
321
+ )}
322
+ <Tab label={t('hit.viewer.details')} value="details" onClick={() => setTab('details')} />
323
+ {hit?.howler.dossier?.map((lead, index) => (
324
+ <Tab
325
+ // eslint-disable-next-line react/no-array-index-key
326
+ key={'lead:' + index}
327
+ label={
328
+ <Stack direction="row" spacing={0.5}>
329
+ {lead.icon && <Icon icon={lead.icon} />}
330
+ <span>{i18n.language === 'en' ? lead.label.en : lead.label.fr}</span>
331
+ </Stack>
332
+ }
333
+ value={'lead:' + index}
334
+ onClick={() => setTab('lead:' + index)}
335
+ />
336
+ ))}
337
+ {dossiers.flatMap((_dossier, dossierIndex) =>
338
+ (_dossier.leads ?? []).map((_lead, leadIndex) => (
339
+ <Tab
340
+ // eslint-disable-next-line react/no-array-index-key
341
+ key={`external-lead:${dossierIndex}:${leadIndex}`}
342
+ label={
343
+ <Stack direction="row" spacing={0.5}>
344
+ {_lead.icon && <Icon icon={_lead.icon} />}
345
+ <span>{i18n.language === 'en' ? _lead.label.en : _lead.label.fr}</span>
346
+ </Stack>
347
+ }
348
+ value={`external-lead:${dossierIndex}:${leadIndex}`}
349
+ onClick={() => setTab(`external-lead:${dossierIndex}:${leadIndex}`)}
350
+ />
351
+ ))
352
+ )}
353
+ <FlexOne />
354
+ <Tab
355
+ sx={{ px: 2, minWidth: 0 }}
356
+ label={
357
+ <Tooltip title={t('hit.viewer.data')}>
358
+ <DataObject />
359
+ </Tooltip>
360
+ }
361
+ value="hit_data"
362
+ onClick={() => setTab('hit_data')}
363
+ disabled={!hit?.howler?.data}
364
+ />
365
+ <Tab
366
+ sx={{ px: 2, minWidth: 0 }}
367
+ label={
368
+ <Tooltip title={t('hit.viewer.json')}>
369
+ <Code />
370
+ </Tooltip>
371
+ }
372
+ value="hit_raw"
373
+ onClick={() => setTab('hit_raw')}
374
+ />
375
+ <Tab
376
+ sx={{ px: 2, minWidth: 0 }}
377
+ label={
378
+ <Tooltip title={t('hit.viewer.worklog')}>
379
+ <History />
380
+ </Tooltip>
381
+ }
382
+ value="hit_worklog"
383
+ onClick={() => setTab('hit_worklog')}
384
+ />
385
+ <Tab
386
+ sx={{ px: 2, minWidth: 0 }}
387
+ label={
388
+ <Tooltip title={t('hit.viewer.related')}>
389
+ <LinkSharp />
390
+ </Tooltip>
391
+ }
392
+ value="hit_related"
393
+ onClick={() => setTab('hit_related')}
394
+ />
395
+ </Tabs>
396
+ {['hit_raw', 'hit_data'].includes(tab) && (
397
+ <Phrase
398
+ sx={{ mt: 1, pr: 1 }}
399
+ value={filter}
400
+ onChange={setFilter}
401
+ error={hasError}
402
+ label={t('json.viewer.search.label')}
403
+ placeholder={t('json.viewer.search.prompt')}
404
+ endAdornment={
405
+ <IconButton onClick={() => setFilter('')}>
406
+ <Clear />
407
+ </IconButton>
408
+ }
409
+ />
410
+ )}
411
+ </VSBoxHeader>
412
+ <ErrorBoundary>
413
+ <VSBoxContent mr={-1} ml={-1} height="100%">
414
+ <Stack height="100%" flex={1}>
415
+ {tabContent}
416
+ </Stack>
417
+ </VSBoxContent>
418
+ </ErrorBoundary>
419
+ </Stack>
420
+ {!!hit && hit?.howler && (
421
+ <Box pr={2} bgcolor={theme.palette.background.default} position="relative">
422
+ <Divider orientation="horizontal" />
423
+ <HitActions hit={hit} />
424
+ </Box>
425
+ )}
426
+ </VSBox>
427
+ );
428
+ };
429
+
430
+ export default InformationPane;