@cccsaurora/howler-ui 2.18.0-dev.766 → 2.18.0-dev.778

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 (298) hide show
  1. package/api/index.d.ts +0 -2
  2. package/api/index.js +2 -4
  3. package/api/search/facet/hit.d.ts +3 -1
  4. package/api/search/facet/index.d.ts +1 -3
  5. package/api/search/index.d.ts +1 -2
  6. package/api/search/index.js +1 -2
  7. package/commons/components/leftnav/LeftNavDrawer.js +1 -1
  8. package/components/app/App.js +8 -36
  9. package/components/app/hooks/useMatchers.d.ts +1 -1
  10. package/components/app/hooks/useMatchers.js +11 -23
  11. package/components/app/hooks/useMatchers.test.js +22 -22
  12. package/components/app/hooks/useTitle.js +3 -3
  13. package/components/app/providers/FavouritesProvider.js +2 -2
  14. package/components/app/providers/HitProvider.d.ts +22 -0
  15. package/components/app/providers/{RecordProvider.js → HitProvider.js} +41 -41
  16. package/components/app/providers/{RecordSearchProvider.d.ts → HitSearchProvider.d.ts} +6 -6
  17. package/components/app/providers/{RecordSearchProvider.js → HitSearchProvider.js} +17 -12
  18. package/components/app/providers/{RecordSearchProvider.test.js → HitSearchProvider.test.js} +71 -52
  19. package/components/app/providers/ModalProvider.d.ts +0 -1
  20. package/components/app/providers/ParameterProvider.d.ts +2 -9
  21. package/components/app/providers/ParameterProvider.js +240 -165
  22. package/components/app/providers/ParameterProvider.test.js +94 -346
  23. package/components/app/providers/UserListProvider.js +8 -28
  24. package/components/elements/PluginTypography.d.ts +1 -2
  25. package/components/elements/PluginTypography.js +2 -3
  26. package/components/elements/UserList.d.ts +2 -5
  27. package/components/elements/UserList.js +8 -18
  28. package/components/elements/addons/search/phrase/Phrase.js +1 -1
  29. package/components/elements/display/ChipPopper.d.ts +1 -1
  30. package/components/elements/display/HowlerCard.js +1 -1
  31. package/components/elements/display/Modal.js +0 -2
  32. package/components/elements/display/icons/BundleButton.d.ts +6 -0
  33. package/components/elements/display/icons/BundleButton.js +32 -0
  34. package/components/elements/hit/HitActions.js +4 -4
  35. package/components/elements/hit/HitBanner.d.ts +0 -1
  36. package/components/elements/hit/HitBanner.js +49 -29
  37. package/components/elements/hit/HitCard.d.ts +0 -2
  38. package/components/elements/hit/HitCard.js +7 -7
  39. package/components/elements/{record/RecordComments.d.ts → hit/HitComments.d.ts} +4 -5
  40. package/components/elements/{record/RecordComments.js → hit/HitComments.js} +28 -29
  41. package/components/elements/{ObjectDetails.js → hit/HitDetails.js} +17 -17
  42. package/components/elements/hit/HitLabels.js +2 -2
  43. package/components/elements/hit/HitLinks.js +1 -1
  44. package/components/elements/hit/HitOutline.d.ts +0 -1
  45. package/components/elements/hit/HitOutline.js +3 -3
  46. package/components/elements/hit/{HitPreview.d.ts → HitQuickSearch.d.ts} +3 -3
  47. package/components/elements/hit/{HitPreview.js → HitQuickSearch.js} +4 -10
  48. package/components/elements/hit/HitRelated.d.ts +6 -0
  49. package/components/elements/hit/HitRelated.js +7 -0
  50. package/components/elements/hit/HitSummary.d.ts +1 -2
  51. package/components/elements/hit/HitSummary.js +5 -6
  52. package/components/elements/{record/RecordWorklog.d.ts → hit/HitWorklog.d.ts} +3 -4
  53. package/components/elements/{record/RecordWorklog.js → hit/HitWorklog.js} +13 -15
  54. package/components/elements/hit/aggregate/HitGraph.js +8 -8
  55. package/components/elements/hit/outlines/DefaultOutline.js +1 -1
  56. package/components/elements/view/ViewTitle.d.ts +0 -1
  57. package/components/elements/view/ViewTitle.js +2 -9
  58. package/components/hooks/useHitActions.d.ts +1 -1
  59. package/components/hooks/useHitActions.js +4 -4
  60. package/components/hooks/{useRecordSelection.d.ts → useHitSelection.d.ts} +2 -2
  61. package/components/hooks/{useRecordSelection.js → useHitSelection.js} +33 -12
  62. package/components/hooks/useMyPreferences.js +1 -10
  63. package/components/hooks/useMySearch.js +2 -2
  64. package/components/hooks/useMySitemap.js +1 -4
  65. package/components/hooks/useMyTheme.js +2 -9
  66. package/components/routes/action/edit/ActionEditor.js +2 -2
  67. package/components/routes/action/useMyActionFunctions.js +22 -4
  68. package/components/routes/action/view/ActionSearch.js +1 -1
  69. package/components/routes/advanced/QueryBuilder.js +1 -1
  70. package/components/routes/advanced/QueryEditor.js +3 -3
  71. package/components/routes/advanced/historyCompletionProvider.js +3 -3
  72. package/components/routes/analytics/AnalyticDetails.js +2 -2
  73. package/components/routes/analytics/AnalyticSearch.js +1 -1
  74. package/components/routes/dossiers/DossierEditor.js +2 -2
  75. package/components/routes/dossiers/DossierEditor.test.js +1 -1
  76. package/components/routes/help/ApiDocumentation.js +1 -1
  77. package/components/routes/help/BundleDocumentation.d.ts +3 -0
  78. package/components/routes/help/BundleDocumentation.js +12 -0
  79. package/components/routes/help/HitBannerDocumentation.js +0 -1
  80. package/components/routes/help/HitDocumentation.js +3 -1
  81. package/components/routes/help/markdown/en/bundles.md.js +1 -0
  82. package/components/routes/help/markdown/fr/bundles.md.js +1 -0
  83. package/components/routes/hits/search/BundleParentMenu.d.ts +6 -0
  84. package/components/routes/hits/search/BundleParentMenu.js +32 -0
  85. package/components/routes/hits/search/BundleScroller.d.ts +2 -0
  86. package/components/routes/hits/search/BundleScroller.js +6 -0
  87. package/components/routes/hits/search/{RecordBrowser.js → HitBrowser.js} +9 -9
  88. package/components/{elements/record/RecordContextMenu.d.ts → routes/hits/search/HitContextMenu.d.ts} +3 -3
  89. package/components/routes/hits/search/HitContextMenu.js +227 -0
  90. package/components/{elements/record/RecordContextMenu.test.js → routes/hits/search/HitContextMenu.test.js} +39 -94
  91. package/components/routes/hits/search/{RecordQuery.d.ts → HitQuery.d.ts} +2 -2
  92. package/components/routes/hits/search/{RecordQuery.js → HitQuery.js} +6 -6
  93. package/components/routes/hits/search/InformationPane.d.ts +0 -1
  94. package/components/routes/hits/search/InformationPane.js +60 -47
  95. package/components/routes/hits/search/LayoutSettings.js +3 -3
  96. package/components/routes/hits/search/QuerySettings.js +1 -2
  97. package/components/routes/hits/search/QuerySettings.test.js +9 -14
  98. package/components/routes/hits/search/SearchPane.js +49 -26
  99. package/components/routes/hits/search/ViewLink.js +3 -3
  100. package/components/routes/hits/search/ViewLink.test.js +8 -8
  101. package/components/routes/hits/search/grid/AddColumnModal.js +4 -5
  102. package/components/routes/hits/search/grid/EnhancedCell.d.ts +1 -2
  103. package/components/routes/hits/search/grid/EnhancedCell.js +2 -2
  104. package/components/routes/hits/search/grid/HitGrid.js +18 -20
  105. package/components/routes/hits/search/grid/{RecordRow.d.ts → HitRow.d.ts} +2 -3
  106. package/components/routes/hits/search/grid/{RecordRow.js → HitRow.js} +8 -10
  107. package/components/routes/hits/view/HitViewer.js +13 -12
  108. package/components/routes/home/ViewCard.js +41 -47
  109. package/components/{elements/MarkdownEditor.js → routes/overviews/OverviewEditor.js} +3 -3
  110. package/components/routes/overviews/OverviewViewer.js +2 -2
  111. package/components/routes/views/ViewComposer.js +19 -46
  112. package/locales/en/translation.json +5 -109
  113. package/locales/fr/translation.json +5 -107
  114. package/models/WithMetadata.d.ts +1 -2
  115. package/models/entities/generated/{ThreatEnrichment.d.ts → Enrichment.d.ts} +1 -1
  116. package/models/entities/generated/Hit.d.ts +0 -1
  117. package/models/entities/generated/Howler.d.ts +4 -0
  118. package/models/entities/generated/Rule.d.ts +10 -2
  119. package/models/entities/generated/Threat.d.ts +2 -2
  120. package/models/entities/generated/View.d.ts +0 -1
  121. package/package.json +3 -21
  122. package/plugins/clue/components/ClueTypography.js +2 -2
  123. package/plugins/clue/utils.d.ts +1 -2
  124. package/tests/mocks.d.ts +1 -11
  125. package/tests/mocks.js +7 -12
  126. package/tests/server-handlers.js +1 -6
  127. package/tests/utils.d.ts +0 -4
  128. package/tests/utils.js +0 -20
  129. package/utils/constants.d.ts +3 -4
  130. package/utils/constants.js +0 -6
  131. package/utils/hitFunctions.d.ts +1 -2
  132. package/utils/hitFunctions.js +4 -4
  133. package/utils/viewUtils.js +0 -3
  134. package/api/search/case.d.ts +0 -4
  135. package/api/search/case.js +0 -8
  136. package/api/v2/case/index.d.ts +0 -8
  137. package/api/v2/case/index.js +0 -20
  138. package/api/v2/case/items.d.ts +0 -6
  139. package/api/v2/case/items.js +0 -18
  140. package/api/v2/index.d.ts +0 -4
  141. package/api/v2/index.js +0 -6
  142. package/api/v2/search/facet.d.ts +0 -3
  143. package/api/v2/search/facet.js +0 -12
  144. package/api/v2/search/index.d.ts +0 -5
  145. package/api/v2/search/index.js +0 -24
  146. package/components/app/providers/RecordProvider.d.ts +0 -23
  147. package/components/elements/ContextMenu.d.ts +0 -56
  148. package/components/elements/ContextMenu.js +0 -109
  149. package/components/elements/ContextMenu.test.js +0 -215
  150. package/components/elements/ObjectDetails.d.ts +0 -6
  151. package/components/elements/case/CaseCard.d.ts +0 -12
  152. package/components/elements/case/CaseCard.js +0 -42
  153. package/components/elements/case/CasePreview.d.ts +0 -6
  154. package/components/elements/case/CasePreview.js +0 -17
  155. package/components/elements/case/StatusIcon.d.ts +0 -5
  156. package/components/elements/case/StatusIcon.js +0 -13
  157. package/components/elements/hit/elements/AnalyticLink.d.ts +0 -9
  158. package/components/elements/hit/elements/AnalyticLink.js +0 -22
  159. package/components/elements/hit/related/RelatedRecords.js +0 -63
  160. package/components/elements/observable/ObservableCard.d.ts +0 -6
  161. package/components/elements/observable/ObservableCard.js +0 -22
  162. package/components/elements/observable/ObservablePreview.d.ts +0 -6
  163. package/components/elements/observable/ObservablePreview.js +0 -12
  164. package/components/elements/record/RecordContextMenu.js +0 -256
  165. package/components/elements/record/RecordContextMenu.test.d.ts +0 -1
  166. package/components/elements/record/RecordRelated.d.ts +0 -7
  167. package/components/elements/record/RecordRelated.js +0 -34
  168. package/components/hooks/useRelatedRecords.d.ts +0 -13
  169. package/components/hooks/useRelatedRecords.js +0 -32
  170. package/components/routes/cases/CaseViewer.d.ts +0 -2
  171. package/components/routes/cases/CaseViewer.js +0 -22
  172. package/components/routes/cases/Cases.d.ts +0 -2
  173. package/components/routes/cases/Cases.js +0 -148
  174. package/components/routes/cases/constants.d.ts +0 -6
  175. package/components/routes/cases/constants.js +0 -6
  176. package/components/routes/cases/detail/AlertPanel.d.ts +0 -6
  177. package/components/routes/cases/detail/AlertPanel.js +0 -33
  178. package/components/routes/cases/detail/CaseAssets.d.ts +0 -11
  179. package/components/routes/cases/detail/CaseAssets.js +0 -104
  180. package/components/routes/cases/detail/CaseAssets.test.d.ts +0 -1
  181. package/components/routes/cases/detail/CaseAssets.test.js +0 -167
  182. package/components/routes/cases/detail/CaseDashboard.d.ts +0 -7
  183. package/components/routes/cases/detail/CaseDashboard.js +0 -66
  184. package/components/routes/cases/detail/CaseDetails.d.ts +0 -6
  185. package/components/routes/cases/detail/CaseDetails.js +0 -61
  186. package/components/routes/cases/detail/CaseOverview.d.ts +0 -7
  187. package/components/routes/cases/detail/CaseOverview.js +0 -43
  188. package/components/routes/cases/detail/CaseSidebar.d.ts +0 -8
  189. package/components/routes/cases/detail/CaseSidebar.js +0 -107
  190. package/components/routes/cases/detail/CaseSidebar.test.d.ts +0 -1
  191. package/components/routes/cases/detail/CaseSidebar.test.js +0 -246
  192. package/components/routes/cases/detail/CaseTask.d.ts +0 -11
  193. package/components/routes/cases/detail/CaseTask.js +0 -57
  194. package/components/routes/cases/detail/CaseTimeline.d.ts +0 -12
  195. package/components/routes/cases/detail/CaseTimeline.js +0 -106
  196. package/components/routes/cases/detail/CaseTimeline.test.d.ts +0 -1
  197. package/components/routes/cases/detail/CaseTimeline.test.js +0 -320
  198. package/components/routes/cases/detail/ItemPage.d.ts +0 -6
  199. package/components/routes/cases/detail/ItemPage.js +0 -99
  200. package/components/routes/cases/detail/RelatedCasePanel.d.ts +0 -6
  201. package/components/routes/cases/detail/RelatedCasePanel.js +0 -34
  202. package/components/routes/cases/detail/TaskPanel.d.ts +0 -7
  203. package/components/routes/cases/detail/TaskPanel.js +0 -52
  204. package/components/routes/cases/detail/aggregates/CaseAggregate.d.ts +0 -11
  205. package/components/routes/cases/detail/aggregates/CaseAggregate.js +0 -24
  206. package/components/routes/cases/detail/aggregates/SourceAggregate.d.ts +0 -6
  207. package/components/routes/cases/detail/aggregates/SourceAggregate.js +0 -26
  208. package/components/routes/cases/detail/assets/Asset.d.ts +0 -14
  209. package/components/routes/cases/detail/assets/Asset.js +0 -12
  210. package/components/routes/cases/detail/assets/Asset.test.d.ts +0 -1
  211. package/components/routes/cases/detail/assets/Asset.test.js +0 -72
  212. package/components/routes/cases/detail/sidebar/CaseFolder.d.ts +0 -20
  213. package/components/routes/cases/detail/sidebar/CaseFolder.js +0 -83
  214. package/components/routes/cases/detail/sidebar/CaseFolder.test.d.ts +0 -1
  215. package/components/routes/cases/detail/sidebar/CaseFolder.test.js +0 -295
  216. package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.d.ts +0 -34
  217. package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.js +0 -103
  218. package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.test.d.ts +0 -1
  219. package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.test.js +0 -363
  220. package/components/routes/cases/detail/sidebar/FolderEntry.d.ts +0 -25
  221. package/components/routes/cases/detail/sidebar/FolderEntry.js +0 -88
  222. package/components/routes/cases/detail/sidebar/FolderEntry.test.d.ts +0 -1
  223. package/components/routes/cases/detail/sidebar/FolderEntry.test.js +0 -206
  224. package/components/routes/cases/detail/sidebar/RootDropZone.d.ts +0 -5
  225. package/components/routes/cases/detail/sidebar/RootDropZone.js +0 -33
  226. package/components/routes/cases/detail/sidebar/types.d.ts +0 -9
  227. package/components/routes/cases/detail/sidebar/utils.d.ts +0 -3
  228. package/components/routes/cases/detail/sidebar/utils.js +0 -29
  229. package/components/routes/cases/detail/sidebar/utils.test.d.ts +0 -1
  230. package/components/routes/cases/detail/sidebar/utils.test.js +0 -82
  231. package/components/routes/cases/hooks/useCase.d.ts +0 -13
  232. package/components/routes/cases/hooks/useCase.js +0 -51
  233. package/components/routes/cases/modals/AddToCaseModal.d.ts +0 -7
  234. package/components/routes/cases/modals/AddToCaseModal.js +0 -59
  235. package/components/routes/cases/modals/AddToCaseModal.test.d.ts +0 -1
  236. package/components/routes/cases/modals/AddToCaseModal.test.js +0 -313
  237. package/components/routes/cases/modals/CaseRecordRow.d.ts +0 -9
  238. package/components/routes/cases/modals/CaseRecordRow.js +0 -15
  239. package/components/routes/cases/modals/CreateCaseModal.d.ts +0 -7
  240. package/components/routes/cases/modals/CreateCaseModal.js +0 -55
  241. package/components/routes/cases/modals/CreateCaseModal.test.d.ts +0 -1
  242. package/components/routes/cases/modals/CreateCaseModal.test.js +0 -358
  243. package/components/routes/cases/modals/RenameItemModal.d.ts +0 -9
  244. package/components/routes/cases/modals/RenameItemModal.js +0 -48
  245. package/components/routes/cases/modals/ResolveModal.d.ts +0 -7
  246. package/components/routes/cases/modals/ResolveModal.js +0 -115
  247. package/components/routes/cases/modals/ResolveModal.test.d.ts +0 -1
  248. package/components/routes/cases/modals/ResolveModal.test.js +0 -384
  249. package/components/routes/cases/modals/hooks.d.ts +0 -7
  250. package/components/routes/cases/modals/hooks.js +0 -44
  251. package/components/routes/cases/modals/types.d.ts +0 -5
  252. package/components/routes/cases/search/CaseAssigneeFilter.d.ts +0 -6
  253. package/components/routes/cases/search/CaseAssigneeFilter.js +0 -33
  254. package/components/routes/cases/search/CaseAssigneeFilter.test.d.ts +0 -1
  255. package/components/routes/cases/search/CaseAssigneeFilter.test.js +0 -127
  256. package/components/routes/cases/search/CaseDateFilter.d.ts +0 -13
  257. package/components/routes/cases/search/CaseDateFilter.js +0 -26
  258. package/components/routes/cases/search/CaseDateFilter.test.d.ts +0 -1
  259. package/components/routes/cases/search/CaseDateFilter.test.js +0 -115
  260. package/components/routes/cases/search/CaseStatusFilter.d.ts +0 -6
  261. package/components/routes/cases/search/CaseStatusFilter.js +0 -13
  262. package/components/routes/cases/search/CaseStatusFilter.test.d.ts +0 -1
  263. package/components/routes/cases/search/CaseStatusFilter.test.js +0 -86
  264. package/components/routes/hits/search/shared/IndexPicker.d.ts +0 -2
  265. package/components/routes/hits/search/shared/IndexPicker.js +0 -20
  266. package/components/routes/observables/ObservableViewer.d.ts +0 -7
  267. package/components/routes/observables/ObservableViewer.js +0 -27
  268. package/models/entities/generated/AttachmentsFile.d.ts +0 -12
  269. package/models/entities/generated/Case.d.ts +0 -28
  270. package/models/entities/generated/DestinationOriginal.d.ts +0 -19
  271. package/models/entities/generated/EmailAttachment.d.ts +0 -8
  272. package/models/entities/generated/EmailParent.d.ts +0 -19
  273. package/models/entities/generated/Enrichments.d.ts +0 -7
  274. package/models/entities/generated/EnrichmentsIndicator.d.ts +0 -21
  275. package/models/entities/generated/HttpResponse.d.ts +0 -11
  276. package/models/entities/generated/Item.d.ts +0 -9
  277. package/models/entities/generated/Observable.d.ts +0 -85
  278. package/models/entities/generated/ObservableCloud.d.ts +0 -20
  279. package/models/entities/generated/ObservableDestination.d.ts +0 -23
  280. package/models/entities/generated/ObservableEmail.d.ts +0 -30
  281. package/models/entities/generated/ObservableFile.d.ts +0 -36
  282. package/models/entities/generated/ObservableHowler.d.ts +0 -43
  283. package/models/entities/generated/ObservableHttp.d.ts +0 -11
  284. package/models/entities/generated/ObservableObserver.d.ts +0 -21
  285. package/models/entities/generated/ObservableOrganization.d.ts +0 -7
  286. package/models/entities/generated/ObservableProcess.d.ts +0 -34
  287. package/models/entities/generated/ObservableSource.d.ts +0 -23
  288. package/models/entities/generated/ObservableThreat.d.ts +0 -21
  289. package/models/entities/generated/ObservableTls.d.ts +0 -12
  290. package/models/entities/generated/ObserverIngress.d.ts +0 -9
  291. package/models/entities/generated/Task.d.ts +0 -10
  292. package/utils/typeUtils.d.ts +0 -7
  293. package/utils/typeUtils.js +0 -27
  294. /package/components/app/providers/{RecordSearchProvider.test.d.ts → HitSearchProvider.test.d.ts} +0 -0
  295. /package/components/elements/hit/{related/RelatedRecords.d.ts → HitDetails.d.ts} +0 -0
  296. /package/components/routes/hits/search/{RecordBrowser.d.ts → HitBrowser.d.ts} +0 -0
  297. /package/components/{elements/ContextMenu.test.d.ts → routes/hits/search/HitContextMenu.test.d.ts} +0 -0
  298. /package/components/{elements/MarkdownEditor.d.ts → routes/overviews/OverviewEditor.d.ts} +0 -0
@@ -4,6 +4,8 @@
4
4
  "Unclassified//Official Use Only": "Non classé//Réservé à des fins officielles",
5
5
  "actions.running": "Action \"{{action}}\" s'exécute.",
6
6
  "actions.succeeded": "Action \"{{action}}\" achevé avec succès.",
7
+ "actions.skipped": "Action \"{{action}}\" a été ignorée: {{messages}}",
8
+ "actions.error": "Action \"{{action}}\" a rencontré une ou des erreur(s): {{messages}}",
7
9
  "add": "Ajouter",
8
10
  "adminmenu": "Menu d'administration",
9
11
  "adminmenu.config": "Configuration",
@@ -13,7 +15,6 @@
13
15
  "analytic.notebook.error.minFields": "Nom et lien requis.",
14
16
  "analytic.notebook.link": "Lien",
15
17
  "analytic.notebook.name": "Nom",
16
- "analytic.open": "Ouvrir l'analyse",
17
18
  "any": "Tous",
18
19
  "api.user.apikey.removed": "Clé API supprimée avec succès",
19
20
  "api.user.apikey.updated": "Nouvelle clé API ajoutée avec succès.",
@@ -82,8 +83,6 @@
82
83
  "comments.edit.stop": "Arrêter Modification",
83
84
  "comments.edited": "Modifié",
84
85
  "comments.quote": "Citation Réponse",
85
- "complete": "Terminé",
86
- "crisis": "Crise",
87
86
  "custom": "Personnalisé",
88
87
  "date.range.1.day": "Dernier jour",
89
88
  "date.range.1.month": "Le dernier mois",
@@ -109,11 +108,8 @@
109
108
  "drawer.expand": "Ouvrir le Menu",
110
109
  "duplicates.omitted": "Certains doublons ont été omis.",
111
110
  "edit": "Modifier",
112
- "event.module": "Module d'événement",
113
- "event.type": "Type d'événement",
114
111
  "features.warning.description": "Cette fonctionnalité fait l'objet d'un développement actif et n'est pas encore achevée. Il est possible que vous rencontriez des problèmes ou de l'instabilité.",
115
112
  "features.warning.title": "Fonctionnalité en développement actif",
116
- "focus": "Focus principal",
117
113
  "global": "Global",
118
114
  "help.actions.introduction": "Introduction aux actions",
119
115
  "help.hit.banner.description": "Voir l'exemple d'en-tête de résultat ci-dessous pour connaître les clés de résultat nécessaires pour le remplir correctement. Si vous avez d'autres questions, posez-les dans le réseau d'assistance HOWLER.",
@@ -170,20 +166,16 @@
170
166
  "hit.header.assignment": "Affectation: {{user}}",
171
167
  "hit.header.assignment.add": "Attribuer à un utilisateur",
172
168
  "hit.header.assignment.change": "Changer l'affectation",
169
+ "hit.header.bundlesize": "{{hits}} hits",
173
170
  "hit.header.escalation": "Niveau d'escalade: ",
174
171
  "hit.header.indicators": "Indicateurs",
175
172
  "hit.header.rationale": "Justification",
176
- "hit.header.related": "{{count}} documrents associés",
177
173
  "hit.header.scrutiny": "Examen minutieux: ",
178
174
  "hit.header.status": "Statut: ",
179
175
  "hit.header.summary": "Résumé",
180
176
  "hit.header.target": "Cible",
181
177
  "hit.header.threat": "Menace",
182
- "hit.header.view.case": "Voir le cas {{id}}",
183
- "hit.header.view.hit": "Voir l'alerte {{id}}",
184
- "hit.header.view.observable": "Voir l'observable {{id}}",
185
178
  "hit.header.votes": "Votes: ",
186
- "hit.howler.related": "{{count}} enregistrements associés",
187
179
  "hit.label": "Étiquettes",
188
180
  "hit.label.category.assignments": "Catégorie : Affectation - Indique quel analyste ou quelle équipe d'analystes est chargé(e) de trier cette réponse positive.",
189
181
  "hit.label.category.campaign": "Catégorie : Campagne - Identifie les campagnes en cours menées par des familles de logiciels malveillants ou des initiatives d'hameçonnage spécifiques. Elles ne doivent être considérées comme des attributions correctes que si le résultat positif est promu au rang de preuve.",
@@ -206,9 +198,9 @@
206
198
  "hit.notebook.goTo": "Aller a Jupyterhub",
207
199
  "hit.notebook.select": "Veuillez sélectionner un notebook",
208
200
  "hit.notebook.tooltip": "Ouvrir dans Jupyterhub",
209
- "hit.open": "Ouvrir hit",
210
201
  "hit.overview.missing": "Aucune vue d'ensemble n'a été créée pour ce hit. Pour créer une vue d'ensemble, cliquez sur le bouton pour ajouter à droite.",
211
202
  "hit.panel.aggregation.run": "Créer un sommaire",
203
+ "hit.panel.analytic.open": "Ouvrir l'analyse",
212
204
  "hit.panel.bundles.open": "Groupes parentaux",
213
205
  "hit.panel.bundles.open.prompt": "Ouvrir le groupe parent",
214
206
  "hit.panel.close": "Fermer",
@@ -221,12 +213,9 @@
221
213
  "hit.panel.exclude": "Exclure par",
222
214
  "hit.panel.hit.noselection": "Aucun résultat n'a été sélectionné",
223
215
  "hit.panel.include": "Inclure par",
216
+ "hit.panel.open": "Ouvrir hit",
224
217
  "hit.panel.view.layout": "Modifier le panneau d'affichage",
225
218
  "hit.quicksearch": "Recherche par affectation, analytique, détection ou état",
226
- "hit.related.tab.case": "Cas",
227
- "hit.related.tab.hit": "Alertes",
228
- "hit.related.tab.links": "Liens",
229
- "hit.related.tab.observable": "Observables",
230
219
  "hit.search.aggregate.button": "Créer un sommaire",
231
220
  "hit.search.button": "Effectuer une recherche",
232
221
  "hit.search.custom": "Triage personnalisé",
@@ -235,8 +224,6 @@
235
224
  "hit.search.filter.fields": "Paramètres",
236
225
  "hit.search.filter.label": "Filtres de recherche",
237
226
  "hit.search.filter.values": "Valeurs",
238
- "hit.search.index.hit": "Hits",
239
- "hit.search.index.observable": "Observables",
240
227
  "hit.search.invalid": "Requête invalide",
241
228
  "hit.search.keyboard": "Raccourcis clavier",
242
229
  "hit.search.keyboard.no_shortcuts": "Pas de raccourcis",
@@ -310,31 +297,6 @@
310
297
  "modal.action.empty": "Le nom de l'action ne peut pas être vide.",
311
298
  "modal.action.label": "Nom de l'action",
312
299
  "modal.action.title": "Enregistrer l'action",
313
- "modal.cases.add_to_case": "Ajouter au cas",
314
- "modal.cases.add_to_case.full_path": "Chemin complet : {{path}}",
315
- "modal.cases.add_to_case.items_section": "Placement des alertes",
316
- "modal.cases.add_to_case.path_invalid": "Le chemin ne doit pas commencer ou se terminer par un /",
317
- "modal.cases.add_to_case.select_case": "Rechercher des cas",
318
- "modal.cases.add_to_case.select_path": "Sélectionner le chemin du dossier",
319
- "modal.cases.add_to_case.title": "Titre de l'élément",
320
- "modal.cases.alerts.resolved": "Alertes résolues",
321
- "modal.cases.create_case": "Créer un cas",
322
- "modal.cases.create_case.escalation": "Escalade",
323
- "modal.cases.create_case.full_path": "Chemin complet : {{path}}",
324
- "modal.cases.create_case.item.path": "Chemin du dossier (optionnel)",
325
- "modal.cases.create_case.item.title": "Titre de l'élément",
326
- "modal.cases.create_case.items_section": "Placement des alertes",
327
- "modal.cases.create_case.overview": "Vue d'ensemble du cas (Markdown, optionnel)",
328
- "modal.cases.create_case.summary": "Résumé court du cas",
329
- "modal.cases.create_case.title": "Titre du cas",
330
- "modal.cases.rename_item": "Renommer l'élément",
331
- "modal.cases.rename_item.error.empty": "Le nom ne peut pas être vide",
332
- "modal.cases.rename_item.error.slash": "Le nom ne peut pas contenir '/'",
333
- "modal.cases.rename_item.error.taken": "Un élément existe déjà à ce chemin",
334
- "modal.cases.rename_item.folder_path": "Dossier : {{path}}",
335
- "modal.cases.rename_item.new_name": "Nouveau nom",
336
- "modal.cases.resolve": "Résoudre le cas",
337
- "modal.cases.resolve.description": "Lors de la résolution d'un cas, vous devez soit évaluer toutes les alertes ouvertes, soit ajouter une évaluation aux alertes.",
338
300
  "modal.confirm.delete.description": "Êtes-vous sûr de vouloir supprimer cet élément ?",
339
301
  "modal.confirm.delete.title": "Confirmer la suppression",
340
302
  "modal.rationale.description": "Fournissez une justification qui explique succinctement aux autres analystes les raisons pour lesquelles vous êtes confiant dans cette évaluation.",
@@ -356,8 +318,6 @@
356
318
  "modal.rule.title": "Créer une nouvelle règle",
357
319
  "no.data": "Aucune donnée",
358
320
  "none": "Rien",
359
- "normal": "Priorité normale",
360
- "observable.open": "Ouvrir observable",
361
321
  "on": "sur",
362
322
  "open": "Ouvert",
363
323
  "operations.add_label": "Ajouter un label",
@@ -377,49 +337,6 @@
377
337
  "owner": "Propriétaire",
378
338
  "page.404.description": "La page que vous recherchez est introuvable ...",
379
339
  "page.404.title": "404: Introuvable",
380
- "page.cases.assets": "Actifs",
381
- "page.cases.assets.empty": "Aucun actif trouvé.",
382
- "page.cases.assets.filter_by_type": "Filtrer par type :",
383
- "page.cases.assets.seen_in": "Vu dans",
384
- "page.cases.assets.type.hash": "Hachage",
385
- "page.cases.assets.type.hosts": "Hôte",
386
- "page.cases.assets.type.id": "Identifiant",
387
- "page.cases.assets.type.ids": "Identifiant",
388
- "page.cases.assets.type.ip": "IP",
389
- "page.cases.assets.type.signature": "Signature",
390
- "page.cases.assets.type.uri": "URI",
391
- "page.cases.assets.type.user": "Utilisateur",
392
- "page.cases.created": "Créé",
393
- "page.cases.dashboard": "Tableau de bord",
394
- "page.cases.dashboard.alerts": "Alertes",
395
- "page.cases.dashboard.cases": "Cas connexes",
396
- "page.cases.dashboard.duration": "Durée",
397
- "page.cases.dashboard.indicators": "Indicateurs",
398
- "page.cases.dashboard.target": "Cibles",
399
- "page.cases.dashboard.tasks": "Tâches",
400
- "page.cases.dashboard.threat": "Menaces",
401
- "page.cases.detail.participants": "Participants",
402
- "page.cases.detail.properties": "Propriétés",
403
- "page.cases.detail.status": "Statut",
404
- "page.cases.escalation": "Escalade",
405
- "page.cases.folder.drop.root": "Déposer ici pour déplacer à la racine",
406
- "page.cases.sidebar.folder.remove": "Supprimer le dossier",
407
- "page.cases.sidebar.item.open": "Ouvrir l'élément",
408
- "page.cases.sidebar.item.remove": "Supprimer l'élément",
409
- "page.cases.sidebar.item.rename": "Renommer l'élément",
410
- "page.cases.sources": "Sources",
411
- "page.cases.status.in-progress": "En cours",
412
- "page.cases.status.on-hold": "En attente",
413
- "page.cases.status.open": "Ouvert",
414
- "page.cases.status.resolved": "Résolu",
415
- "page.cases.timeline": "Chronologie",
416
- "page.cases.timeline.empty": "Aucun événement ne correspond aux filtres sélectionnés.",
417
- "page.cases.timeline.filter.escalation": "Escalade",
418
- "page.cases.timeline.filter.escalation.empty": "Aucun niveau d'escalade trouvé.",
419
- "page.cases.timeline.filter.label": "Afficher uniquement",
420
- "page.cases.timeline.filter.mitre": "MITRE ATT&CK",
421
- "page.cases.timeline.filter.mitre.empty": "Aucune tactique ou technique trouvée.",
422
- "page.cases.updated": "Mis à jour",
423
340
  "page.dashboard.settings.edit": "Modifier le tableau de bord",
424
341
  "page.dashboard.settings.refreshRate": "Fréquence de rafraîchissement",
425
342
  "page.dashboard.title": "Tableau de bord",
@@ -491,8 +408,6 @@
491
408
  "page.user.search.column.groups": "Groupes",
492
409
  "page.user.search.column.username": "Nom d'utilisateur",
493
410
  "page.user.search.prompt": "Rechercher par nom d'utilisateur, nom complet, e-mail ou groupe",
494
- "pages.cases.detail.participants": "Participants",
495
- "pages.cases.detail.status": "Statut",
496
411
  "password": "Nouveau mot de passe",
497
412
  "password.confirm": "Confirmer le mot de passe",
498
413
  "password.match": "Le mot de passe et le mot de passe de confirmation doivent correspondre",
@@ -525,7 +440,6 @@
525
440
  "route.actions.create": "Nouveau action",
526
441
  "route.actions.edit": "Modifier",
527
442
  "route.actions.execute": "Exécuter",
528
- "route.actions.manager": "Gestionnaire d'actions",
529
443
  "route.actions.name": "Nom de l'action",
530
444
  "route.actions.open": "Ouvrir la requête",
531
445
  "route.actions.operation.add": "Ajouter une nouvelle opération",
@@ -622,16 +536,6 @@
622
536
  "route.analytics.triage.title": "Paramètres de triage",
623
537
  "route.analytics.updated": "Analytic mis a jour!",
624
538
  "route.analytics.view": "Voir l'analyse",
625
- "route.cases": "Cas",
626
- "route.cases.create": "Créer un cas",
627
- "route.cases.filter.assignee": "Assigné",
628
- "route.cases.filter.assignees": "Assignés",
629
- "route.cases.filter.date": "Plage de dates",
630
- "route.cases.filter.myself": "Moi-même",
631
- "route.cases.filter.status": "Statut",
632
- "route.cases.manager.search": "Rechercher des cas",
633
- "route.cases.search.prompt": "Rechercher des cas par titre, résumé, description, participants ou détails des tâches",
634
- "route.cases.view": "Voir le cas",
635
539
  "route.clear": "Effacer la requête",
636
540
  "route.dossiers": "Dossiers",
637
541
  "route.dossiers.create": "Nouveau dossier",
@@ -691,7 +595,6 @@
691
595
  "route.dossiers.search.prompt": "Recherche par titre, requête ou propriétaire.",
692
596
  "route.dossiers.view": "Voir le dossier",
693
597
  "route.help": "Aide",
694
- "route.help.actions": "Documentation sur les actions",
695
598
  "route.help.api": "Documentation de l'API",
696
599
  "route.help.auth": "Authentification",
697
600
  "route.help.bundles": "Groupes des hits",
@@ -755,7 +658,6 @@
755
658
  "route.overviews.theme.dark": "Prévoyez en mode sombre",
756
659
  "route.overviews.theme.light": "Prévoyez en mode clair",
757
660
  "route.overviews.view": "Voir la vue d'ensemble",
758
- "route.search": "Rechercher",
759
661
  "route.templates": "Modèles",
760
662
  "route.templates.analytic": "Choisir une analyse",
761
663
  "route.templates.builtin": "Intégré",
@@ -766,7 +668,6 @@
766
668
  "route.templates.detection": "Choisir une détection",
767
669
  "route.templates.global": "Général",
768
670
  "route.templates.manager.global": "Global",
769
- "route.templates.manager.open": "Ouvrir la vue",
770
671
  "route.templates.manager.personal": "Personnel",
771
672
  "route.templates.manager.readonly": "Intégré",
772
673
  "route.templates.manager.search": "Rechercher les modèles",
@@ -790,10 +691,8 @@
790
691
  "route.views.manager.personal": "Personnel",
791
692
  "route.views.manager.readonly": "Intégré",
792
693
  "route.views.manager.search": "Rechercher les vues",
793
- "route.views.name": "Nom de la vue",
794
694
  "route.views.save": "Enregistrer cette requête comme vue",
795
695
  "route.views.saved": "Vues épinglées",
796
- "route.views.search.prompt": "Rechercher par nom, requête ou propriétaire.",
797
696
  "route.views.show": "Voir les vues",
798
697
  "route.views.update.success": "Vue actualisée.",
799
698
  "rule.interval": "Intervalle d'exécution de la règle",
@@ -810,7 +709,6 @@
810
709
  "search.result.showing": "Affichage de {{offset}} à {{length}} sur {{total}} articles",
811
710
  "search.result.showing.single": "Aucun articles",
812
711
  "search.total": "Il y a un total de {{count}} résultats correspondant à cette requête.",
813
- "started": "Démarré",
814
712
  "templates.edit.analytic": "Modifier modèle pour cette analyse",
815
713
  "templates.edit.detection": "Modifier modèle pour cette détection",
816
714
  "to": "à",
@@ -4,10 +4,9 @@ import type { Overview } from './entities/generated/Overview';
4
4
  import type { Template } from './entities/generated/Template';
5
5
 
6
6
  export type WithMetadata<T> = T & {
7
- __index?: string;
8
-
9
7
  __analytic?: Analytic;
10
8
  __overview?: Overview;
11
9
  __template?: Template;
10
+
12
11
  __dossiers?: Dossier[];
13
12
  };
@@ -4,7 +4,7 @@ import type { Matched } from './Matched';
4
4
  /**
5
5
  * NOTE: This is an auto-generated file. Don't edit this manually.
6
6
  */
7
- export interface ThreatEnrichment {
7
+ export interface Enrichment {
8
8
  indicator?: Indicator;
9
9
  matched?: Matched;
10
10
  }
@@ -40,7 +40,6 @@ import type { Vulnerability } from './Vulnerability';
40
40
  * NOTE: This is an auto-generated file. Don't edit this manually.
41
41
  */
42
42
  export interface Hit {
43
- __index: 'hit';
44
43
  agent?: Agent;
45
44
  assemblyline?: Assemblyline;
46
45
  aws?: Aws;
@@ -14,6 +14,8 @@ export interface Howler {
14
14
  analytic: string;
15
15
  assessment?: string;
16
16
  assignment: string;
17
+ bundle_size?: number;
18
+ bundles?: string[];
17
19
  comment?: HowlerComment[];
18
20
  confidence?: number;
19
21
  data?: string[];
@@ -22,8 +24,10 @@ export interface Howler {
22
24
  escalation?: string;
23
25
  expiry?: string;
24
26
  hash: string;
27
+ hits?: string[];
25
28
  id: string;
26
29
  incidents?: Incident[];
30
+ is_bundle?: boolean;
27
31
  labels?: Labels;
28
32
  links?: Link[];
29
33
  log?: Log[];
@@ -2,6 +2,14 @@
2
2
  * NOTE: This is an auto-generated file. Don't edit this manually.
3
3
  */
4
4
  export interface Rule {
5
- destination?: string;
6
- query?: string;
5
+ author?: string;
6
+ category?: string;
7
+ description?: string;
8
+ id?: string;
9
+ license?: string;
10
+ name?: string;
11
+ reference?: string;
12
+ ruleset?: string;
13
+ uuid?: string;
14
+ version?: string;
7
15
  }
@@ -1,6 +1,6 @@
1
+ import type { Enrichment } from './Enrichment';
1
2
  import type { Feed } from './Feed';
2
3
  import type { Software } from './Software';
3
- import type { ThreatEnrichment } from './ThreatEnrichment';
4
4
  import type { ThreatGroup } from './ThreatGroup';
5
5
  import type { ThreatIndicator } from './ThreatIndicator';
6
6
  import type { ThreatTactic } from './ThreatTactic';
@@ -10,7 +10,7 @@ import type { ThreatTechnique } from './ThreatTechnique';
10
10
  * NOTE: This is an auto-generated file. Don't edit this manually.
11
11
  */
12
12
  export interface Threat {
13
- enrichments?: ThreatEnrichment[];
13
+ enrichments?: Enrichment[];
14
14
  feed?: Feed;
15
15
  framework?: string;
16
16
  group?: ThreatGroup;
@@ -12,5 +12,4 @@ export interface View {
12
12
  title?: string;
13
13
  type?: string;
14
14
  view_id?: string;
15
- indexes?: string[];
16
15
  }
package/package.json CHANGED
@@ -24,7 +24,7 @@
24
24
  "@jsonforms/core": "^3.7.0",
25
25
  "@jsonforms/material-renderers": "^3.7.0",
26
26
  "@jsonforms/react": "^3.7.0",
27
- "@microlink/react-json-view": "^1.31.17",
27
+ "@microlink/react-json-view": "^1.31.18",
28
28
  "@monaco-editor/react": "^4.7.0",
29
29
  "ajv": "^8.18.0",
30
30
  "ajv-i18n": "^4.2.0",
@@ -34,7 +34,7 @@
34
34
  "chartjs-adapter-dayjs-4": "^1.0.4",
35
35
  "chartjs-plugin-zoom": "^2.2.0",
36
36
  "dayjs": "^1.11.20",
37
- "dompurify": "^3.3.3",
37
+ "dompurify": "^3.4.0",
38
38
  "flat": "^6.0.1",
39
39
  "fuse.js": "^7.3.0",
40
40
  "handlebars": "^4.7.9",
@@ -101,7 +101,7 @@
101
101
  "internal-slot": "1.0.7"
102
102
  },
103
103
  "type": "module",
104
- "version": "2.18.0-dev.766",
104
+ "version": "2.18.0-dev.778",
105
105
  "exports": {
106
106
  "./i18n": "./i18n.js",
107
107
  "./index.css": "./index.css",
@@ -148,11 +148,9 @@
148
148
  "./components/routes/home": "./components/routes/home/index.js",
149
149
  "./components/routes/dossiers/*": "./components/routes/dossiers/*.js",
150
150
  "./components/routes/help/*": "./components/routes/help/*.js",
151
- "./components/routes/observables/*": "./components/routes/observables/*.js",
152
151
  "./components/routes/admin/*": "./components/routes/admin/*.js",
153
152
  "./components/routes/action/*": "./components/routes/action/*.js",
154
153
  "./components/routes/settings/*": "./components/routes/settings/*.js",
155
- "./components/routes/cases/*": "./components/routes/cases/*.js",
156
154
  "./components/routes/views/*": "./components/routes/views/*.js",
157
155
  "./components/routes/overviews/*": "./components/routes/overviews/*.js",
158
156
  "./components/routes/analytics/*": "./components/routes/analytics/*.js",
@@ -170,22 +168,12 @@
170
168
  "./components/routes/action/shared/*": "./components/routes/action/shared/*.js",
171
169
  "./components/routes/action/view/*": "./components/routes/action/view/*.js",
172
170
  "./components/routes/action/view/markdown/*.md": "./components/routes/action/view/markdown/*.md.js",
173
- "./components/routes/cases/modals/*": "./components/routes/cases/modals/*.js",
174
- "./components/routes/cases/detail/*": "./components/routes/cases/detail/*.js",
175
- "./components/routes/cases/search/*": "./components/routes/cases/search/*.js",
176
- "./components/routes/cases/hooks/*": "./components/routes/cases/hooks/*.js",
177
- "./components/routes/cases/detail/assets/*": "./components/routes/cases/detail/assets/*.js",
178
- "./components/routes/cases/detail/sidebar/*": "./components/routes/cases/detail/sidebar/*.js",
179
- "./components/routes/cases/detail/aggregates/*": "./components/routes/cases/detail/aggregates/*.js",
180
171
  "./components/routes/overviews/template/*": "./components/routes/overviews/template/*.js",
181
172
  "./components/routes/analytics/widgets/*": "./components/routes/analytics/widgets/*.js",
182
173
  "./components/logins/auth/*": "./components/logins/auth/*.js",
183
174
  "./components/logins/hooks/*": "./components/logins/hooks/*.js",
184
175
  "./components/elements/hit/*": "./components/elements/hit/*.js",
185
176
  "./components/elements/addons/*": "./components/elements/addons/*.js",
186
- "./components/elements/record/*": "./components/elements/record/*.js",
187
- "./components/elements/observable/*": "./components/elements/observable/*.js",
188
- "./components/elements/case/*": "./components/elements/case/*.js",
189
177
  "./components/elements/view/*": "./components/elements/view/*.js",
190
178
  "./components/elements/display/*": "./components/elements/display/*.js",
191
179
  "./components/elements/hit/aggregate/*": "./components/elements/hit/aggregate/*.js",
@@ -236,8 +224,6 @@
236
224
  "./api/template": "./api/template/index.js",
237
225
  "./api/analytic/*": "./api/analytic/*.js",
238
226
  "./api/analytic": "./api/analytic/index.js",
239
- "./api/v2/*": "./api/v2/*.js",
240
- "./api/v2": "./api/v2/index.js",
241
227
  "./api/auth/*": "./api/auth/*.js",
242
228
  "./api/auth": "./api/auth/index.js",
243
229
  "./api/user/*": "./api/user/*.js",
@@ -258,10 +244,6 @@
258
244
  "./api/analytic/comments": "./api/analytic/comments/index.js",
259
245
  "./api/analytic/notebooks/*": "./api/analytic/notebooks/*.js",
260
246
  "./api/analytic/notebooks": "./api/analytic/notebooks/index.js",
261
- "./api/v2/case/*": "./api/v2/case/*.js",
262
- "./api/v2/case": "./api/v2/case/index.js",
263
- "./api/v2/search/*": "./api/v2/search/*.js",
264
- "./api/v2/search": "./api/v2/search/index.js",
265
247
  "./api/user/avatar/*": "./api/user/avatar/*.js",
266
248
  "./api/user/avatar": "./api/user/avatar/index.js",
267
249
  "./api/search/count/*": "./api/search/count/*.js",
@@ -3,8 +3,8 @@ import EnrichedTypography from '@cccsaurora/clue-ui/components/EnrichedTypograph
3
3
  import { Typography } from '@mui/material';
4
4
  import { memo } from 'react';
5
5
  import { useType } from '../utils';
6
- const ClueTypography = ({ children, value, context, field, obj, ...props }) => {
7
- const type = useType(obj, field, value);
6
+ const ClueTypography = ({ children, value, context, field, hit, ...props }) => {
7
+ const type = useType(hit, field, value);
8
8
  if (!type) {
9
9
  return _jsx(Typography, { ...props, children: children ?? value });
10
10
  }
@@ -1,3 +1,2 @@
1
1
  import type { Hit } from '@cccsaurora/howler-ui/models/entities/generated/Hit';
2
- import type { Observable } from '@cccsaurora/howler-ui/models/entities/generated/Observable';
3
- export declare const useType: (hit?: Hit | Observable, field?: string, value?: string) => any;
2
+ export declare const useType: (hit?: Hit, field?: string, value?: string) => any;
package/tests/mocks.d.ts CHANGED
@@ -7,17 +7,7 @@ export declare const setupContextSelectorMock: () => void;
7
7
  * Sets up a mock for react-router-dom with common defaults
8
8
  * @param options - Override specific router behavior
9
9
  */
10
- export declare const setupReactRouterMock: () => {
11
- mockSearchParams: URLSearchParams;
12
- mockSetParams: import("vitest").Mock<(...args: any[]) => any>;
13
- mockLocation: {
14
- pathname: string;
15
- search: string;
16
- };
17
- mockParams: {
18
- id: any;
19
- };
20
- };
10
+ export declare const setupReactRouterMock: () => void;
21
11
  /**
22
12
  * Sets up a mock localStorage instance
23
13
  */
package/tests/mocks.js CHANGED
@@ -31,20 +31,15 @@ export const setupReactRouterMock = () => {
31
31
  const mockSearchParams = vi.hoisted(() => new URLSearchParams());
32
32
  const mockSetParams = vi.hoisted(() => vi.fn());
33
33
  beforeAll(() => {
34
- vi.mock('react-router-dom', async () => {
35
- const actual = await vi.importActual('react-router-dom');
36
- return {
37
- ...actual,
38
- Link: forwardRef(({ to, children, ...props }, ref) => (_jsx("a", { ref: ref, href: to, ...props, children: children }))),
39
- useLocation: vi.fn(() => mockLocation),
40
- useParams: vi.fn(() => mockParams),
41
- useSearchParams: vi.fn(() => [mockSearchParams, mockSetParams]),
42
- useNavigate: () => vi.fn()
43
- };
44
- });
34
+ vi.mock('react-router-dom', () => ({
35
+ Link: forwardRef(({ to, children, ...props }, ref) => (_jsx("a", { ref: ref, href: to, ...props, children: children }))),
36
+ useLocation: vi.fn(() => mockLocation),
37
+ useParams: vi.fn(() => mockParams),
38
+ useSearchParams: vi.fn(() => [mockSearchParams, mockSetParams]),
39
+ useNavigate: () => vi.fn()
40
+ }));
45
41
  });
46
42
  afterAll(() => vi.resetModules());
47
- return { mockSearchParams, mockSetParams, mockLocation, mockParams };
48
43
  };
49
44
  /**
50
45
  * Sets up a mock localStorage instance
@@ -30,12 +30,7 @@ export const MOCK_RESPONSES = {
30
30
  total: 1,
31
31
  rows: 1
32
32
  },
33
- '/api/v1/analytic': [createMockAnalytic()],
34
- '/api/v2/search/hit,observable': {
35
- items: [],
36
- total: 0,
37
- rows: 0
38
- }
33
+ '/api/v1/analytic': [createMockAnalytic()]
39
34
  };
40
35
  const handlers = [
41
36
  ...Object.entries(MOCK_RESPONSES).map(([path, data]) => http.all(path, async () => HttpResponse.json({ api_response: data }))),
package/tests/utils.d.ts CHANGED
@@ -1,20 +1,16 @@
1
1
  import type { Action } from '@cccsaurora/howler-ui/models/entities/generated/Action';
2
2
  import type { Analytic } from '@cccsaurora/howler-ui/models/entities/generated/Analytic';
3
- import type { Case } from '@cccsaurora/howler-ui/models/entities/generated/Case';
4
3
  import type { Dossier } from '@cccsaurora/howler-ui/models/entities/generated/Dossier';
5
4
  import type { Hit } from '@cccsaurora/howler-ui/models/entities/generated/Hit';
6
- import type { Observable } from '@cccsaurora/howler-ui/models/entities/generated/Observable';
7
5
  import type { Template } from '@cccsaurora/howler-ui/models/entities/generated/Template';
8
6
  import type { View } from '@cccsaurora/howler-ui/models/entities/generated/View';
9
7
  type RecursivePartial<T> = {
10
8
  [P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends object | undefined ? RecursivePartial<T[P]> : T[P];
11
9
  };
12
10
  export declare const createMockHit: (overrides?: RecursivePartial<Hit>) => Hit;
13
- export declare const createMockObservable: (overrides?: RecursivePartial<Observable>) => Observable;
14
11
  export declare const createMockAnalytic: (overrides?: Partial<Analytic>) => Analytic;
15
12
  export declare const createMockTemplate: (overrides?: Partial<Template>) => Template;
16
13
  export declare const createMockAction: (overrides?: Partial<Action>) => Action;
17
14
  export declare const createMockView: (overrides?: Partial<View>) => View;
18
- export declare const createMockCase: (overrides?: Partial<Case>) => Case;
19
15
  export declare const createMockDossier: (overrides?: Partial<Dossier>) => Dossier;
20
16
  export {};
package/tests/utils.js CHANGED
@@ -1,7 +1,5 @@
1
1
  // Mock data factories
2
2
  export const createMockHit = (overrides) => ({
3
- ...overrides,
4
- __index: 'hit',
5
3
  howler: {
6
4
  id: 'test-hit-1',
7
5
  analytic: 'test-analytic',
@@ -16,17 +14,6 @@ export const createMockHit = (overrides) => ({
16
14
  ...overrides?.event
17
15
  }
18
16
  });
19
- export const createMockObservable = (overrides) => ({
20
- ...overrides,
21
- __index: 'observable',
22
- howler: {
23
- id: 'test-observable-1',
24
- analytic: 'test-analytic',
25
- detection: 'Test Detection',
26
- hash: '',
27
- ...overrides?.howler
28
- }
29
- });
30
17
  export const createMockAnalytic = (overrides) => ({
31
18
  analytic_id: 'test-analytic-id',
32
19
  name: 'test-analytic',
@@ -65,13 +52,6 @@ export const createMockView = (overrides) => ({
65
52
  },
66
53
  ...overrides
67
54
  });
68
- export const createMockCase = (overrides) => ({
69
- case_id: 'test-case-id',
70
- title: 'Test Case',
71
- summary: 'Test case summary',
72
- items: [],
73
- ...overrides
74
- });
75
55
  // Helper function to create mock dossiers
76
56
  export const createMockDossier = (overrides) => ({
77
57
  dossier_id: 'test-dossier-id',
@@ -5,9 +5,9 @@ export declare const VERSION: any;
5
5
  export declare const MY_LOCAL_STORAGE_PREFIX = "howler.ui";
6
6
  export declare const MY_SESSION_STORAGE_PREFIX = "howler.ui.cache";
7
7
  export declare const ESCALATION_COLORS: {
8
- alert: "warning";
9
- evidence: "error";
10
- hit: "primary";
8
+ alert: string;
9
+ evidence: string;
10
+ hit: string;
11
11
  };
12
12
  export declare const STATUS_COLORS: {
13
13
  open: string;
@@ -74,7 +74,6 @@ export declare const RULE_INTERVALS: {
74
74
  crontab: string;
75
75
  }[];
76
76
  export declare const DATE_RANGES: string[];
77
- export declare const DATE_RANGE_LUCENE: Partial<Record<(typeof DATE_RANGES)[number], string>>;
78
77
  interface LabelData {
79
78
  icon?: ReactElement;
80
79
  color?: string;
@@ -104,12 +104,6 @@ export const DATE_RANGES = [
104
104
  'date.range.all',
105
105
  'date.range.custom'
106
106
  ];
107
- export const DATE_RANGE_LUCENE = {
108
- 'date.range.1.day': 'now-1d/d',
109
- 'date.range.3.day': 'now-3d/d',
110
- 'date.range.1.week': 'now-7d/d',
111
- 'date.range.1.month': 'now-1M/M'
112
- };
113
107
  export const LABEL_TYPES = {
114
108
  insight: { icon: _jsx(PsychologyAlt, { fontSize: "small" }), color: '#FFFFFF' }, //brain icon
115
109
  mitigation: { icon: _jsx(LocalPolice, { fontSize: "small" }), color: blue[600] }, //police badge
@@ -1,3 +1,2 @@
1
1
  import type { Hit } from '@cccsaurora/howler-ui/models/entities/generated/Hit';
2
- import type { Observable } from '@cccsaurora/howler-ui/models/entities/generated/Observable';
3
- export declare const getUserList: (record: Hit | Observable) => Set<string>;
2
+ export declare const getUserList: (hit: Hit) => Set<string>;
@@ -1,8 +1,8 @@
1
- export const getUserList = (record) => {
1
+ export const getUserList = (hit) => {
2
2
  const ids = new Set();
3
- if (record) {
4
- record.howler?.log?.forEach(l => ids.add(l.user));
5
- record.howler?.comment?.forEach(c => ids.add(c.user), ids);
3
+ if (hit) {
4
+ hit.howler?.log?.forEach(l => ids.add(l.user));
5
+ hit.howler?.comment?.forEach(c => ids.add(c.user), ids);
6
6
  }
7
7
  return ids;
8
8
  };