@cccsaurora/howler-ui 2.19.0-dev.1181 → 2.19.0-dev.1260

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 (419) hide show
  1. package/api/analytic/index.d.ts +2 -3
  2. package/api/analytic/index.js +1 -2
  3. package/api/index.d.ts +4 -0
  4. package/api/index.js +10 -2
  5. package/api/search/case.d.ts +4 -0
  6. package/api/search/case.js +8 -0
  7. package/api/search/facet/hit.d.ts +1 -3
  8. package/api/search/facet/index.d.ts +3 -1
  9. package/api/search/index.d.ts +3 -1
  10. package/api/search/index.js +2 -1
  11. package/api/socket/index.d.ts +3 -0
  12. package/api/socket/index.js +6 -0
  13. package/api/socket/viewers.d.ts +2 -0
  14. package/api/socket/viewers.js +8 -0
  15. package/api/socket/viewers.test.js +44 -0
  16. package/api/v2/case/index.d.ts +9 -0
  17. package/api/v2/case/index.js +21 -0
  18. package/api/v2/case/items.d.ts +9 -0
  19. package/api/v2/case/items.js +19 -0
  20. package/api/v2/case/rules.d.ts +6 -0
  21. package/api/v2/case/rules.js +18 -0
  22. package/api/v2/fuzzy.d.ts +17 -0
  23. package/api/v2/fuzzy.js +11 -0
  24. package/api/v2/index.d.ts +5 -0
  25. package/api/v2/index.js +7 -0
  26. package/api/v2/search/facet.d.ts +3 -0
  27. package/api/v2/search/facet.js +12 -0
  28. package/api/v2/search/index.d.ts +6 -0
  29. package/api/v2/search/index.js +24 -0
  30. package/commons/components/leftnav/LeftNavDrawer.js +1 -1
  31. package/components/app/App.js +49 -11
  32. package/components/app/hooks/useMatchers.d.ts +1 -1
  33. package/components/app/hooks/useMatchers.js +23 -11
  34. package/components/app/hooks/useMatchers.test.js +22 -22
  35. package/components/app/hooks/useTitle.js +5 -5
  36. package/components/app/providers/FavouritesProvider.js +2 -2
  37. package/components/app/providers/GridColumnsProvider.js +2 -2
  38. package/components/app/providers/GridColumnsProvider.test.js +3 -3
  39. package/components/app/providers/ModalProvider.d.ts +1 -0
  40. package/components/app/providers/ParameterProvider.d.ts +25 -3
  41. package/components/app/providers/ParameterProvider.js +163 -226
  42. package/components/app/providers/ParameterProvider.test.js +358 -94
  43. package/components/app/providers/RecordProvider.d.ts +23 -0
  44. package/components/app/providers/{HitProvider.js → RecordProvider.js} +46 -42
  45. package/components/app/providers/{HitSearchProvider.d.ts → RecordSearchProvider.d.ts} +6 -6
  46. package/components/app/providers/{HitSearchProvider.js → RecordSearchProvider.js} +13 -19
  47. package/components/app/providers/{HitSearchProvider.test.js → RecordSearchProvider.test.js} +52 -71
  48. package/components/app/providers/SearchResponseProvider.d.ts +4 -4
  49. package/components/app/providers/SearchResponseProvider.js +1 -1
  50. package/components/app/providers/SocketProvider.d.ts +11 -2
  51. package/components/app/providers/SocketProvider.js +18 -5
  52. package/components/app/providers/UserListProvider.js +28 -8
  53. package/components/app/providers/UserListProvider.test.js +150 -0
  54. package/components/elements/ContextMenu.d.ts +56 -0
  55. package/components/elements/ContextMenu.js +109 -0
  56. package/components/elements/ContextMenu.test.d.ts +1 -0
  57. package/components/elements/ContextMenu.test.js +215 -0
  58. package/components/{routes/overviews/OverviewEditor.js → elements/MarkdownEditor.js} +3 -3
  59. package/components/elements/ObjectDetails.d.ts +6 -0
  60. package/components/elements/{hit/HitDetails.js → ObjectDetails.js} +17 -17
  61. package/components/elements/PluginChip.d.ts +1 -1
  62. package/components/elements/PluginChip.js +0 -1
  63. package/components/elements/PluginTypography.d.ts +2 -1
  64. package/components/elements/PluginTypography.js +3 -2
  65. package/components/elements/UserList.d.ts +5 -2
  66. package/components/elements/UserList.js +33 -16
  67. package/components/elements/UserList.test.d.ts +1 -0
  68. package/components/elements/UserList.test.js +122 -0
  69. package/components/elements/addons/lists/TuiListElement.d.ts +1 -1
  70. package/components/elements/addons/lists/TuiListElement.js +0 -1
  71. package/components/elements/addons/search/SearchTotal.js +1 -1
  72. package/components/elements/addons/search/SearchTotal.test.js +2 -2
  73. package/components/elements/addons/search/phrase/Phrase.js +1 -1
  74. package/components/elements/case/CaseCard.d.ts +12 -0
  75. package/components/elements/case/CaseCard.js +43 -0
  76. package/components/elements/case/CasePreview.d.ts +6 -0
  77. package/components/elements/case/CasePreview.js +17 -0
  78. package/components/elements/case/StatusIcon.d.ts +5 -0
  79. package/components/elements/case/StatusIcon.js +13 -0
  80. package/components/elements/display/ChipPopper.d.ts +1 -1
  81. package/components/elements/display/ChipPopper.js +6 -5
  82. package/components/elements/display/Classification.js +1 -1
  83. package/components/elements/display/ClassificationChip.d.ts +14 -0
  84. package/components/elements/display/ClassificationChip.js +36 -0
  85. package/components/elements/display/HowlerCard.js +1 -1
  86. package/components/elements/display/HowlerCard.test.js +5 -9
  87. package/components/elements/display/ItemManager.js +2 -2
  88. package/components/elements/display/Modal.js +2 -0
  89. package/components/elements/display/QueryResultText.d.ts +1 -0
  90. package/components/elements/display/QueryResultText.js +2 -2
  91. package/components/elements/event/EventCard.d.ts +6 -0
  92. package/components/elements/event/EventCard.js +22 -0
  93. package/components/elements/event/EventPreview.d.ts +6 -0
  94. package/components/elements/event/EventPreview.js +12 -0
  95. package/components/elements/hit/HitActions.js +4 -4
  96. package/components/elements/hit/HitBanner.d.ts +1 -0
  97. package/components/elements/hit/HitBanner.js +31 -49
  98. package/components/elements/hit/HitCard.d.ts +4 -0
  99. package/components/elements/hit/HitCard.js +7 -7
  100. package/components/elements/hit/HitLabels.js +2 -2
  101. package/components/elements/hit/HitLabels.test.js +2 -2
  102. package/components/elements/hit/HitOutline.d.ts +1 -0
  103. package/components/elements/hit/HitOutline.js +3 -3
  104. package/components/elements/hit/{HitQuickSearch.d.ts → HitPreview.d.ts} +3 -3
  105. package/components/elements/hit/{HitQuickSearch.js → HitPreview.js} +10 -4
  106. package/components/elements/hit/HitSummary.d.ts +2 -1
  107. package/components/elements/hit/HitSummary.js +6 -5
  108. package/components/elements/hit/aggregate/HitGraph.js +8 -8
  109. package/components/elements/hit/elements/AnalyticLink.d.ts +9 -0
  110. package/components/elements/hit/elements/AnalyticLink.js +22 -0
  111. package/components/elements/hit/elements/{HitUsers.d.ts → Assigned.d.ts} +3 -4
  112. package/components/elements/hit/elements/Assigned.js +36 -0
  113. package/components/elements/hit/elements/Assigned.test.d.ts +1 -0
  114. package/components/elements/hit/elements/Assigned.test.js +65 -0
  115. package/components/elements/hit/grid/AddColumnModal.js +5 -4
  116. package/components/elements/hit/grid/EnhancedCell.d.ts +2 -1
  117. package/components/elements/hit/grid/EnhancedCell.js +2 -2
  118. package/components/elements/hit/grid/{HitRow.d.ts → RecordRow.d.ts} +3 -2
  119. package/components/elements/hit/grid/{HitRow.js → RecordRow.js} +11 -9
  120. package/components/elements/hit/grid/{HitTable.d.ts → RecordTable.d.ts} +5 -4
  121. package/components/elements/hit/grid/{HitTable.js → RecordTable.js} +13 -11
  122. package/components/elements/hit/outlines/DefaultOutline.js +1 -1
  123. package/components/elements/hit/related/RelatedRecords.js +63 -0
  124. package/components/elements/{hit/HitComments.d.ts → record/RecordComments.d.ts} +5 -4
  125. package/components/elements/{hit/HitComments.js → record/RecordComments.js} +29 -28
  126. package/components/elements/{hit/HitContextMenu.d.ts → record/RecordContextMenu.d.ts} +3 -3
  127. package/components/elements/record/RecordContextMenu.js +268 -0
  128. package/components/elements/record/RecordContextMenu.test.d.ts +1 -0
  129. package/components/elements/{hit/HitContextMenu.test.js → record/RecordContextMenu.test.js} +98 -43
  130. package/components/elements/record/RecordRelated.d.ts +7 -0
  131. package/components/elements/record/RecordRelated.js +34 -0
  132. package/components/elements/{hit/HitWorklog.d.ts → record/RecordWorklog.d.ts} +4 -3
  133. package/components/elements/{hit/HitWorklog.js → record/RecordWorklog.js} +15 -13
  134. package/components/elements/search/FuzzySearchBar.d.ts +7 -0
  135. package/components/elements/search/FuzzySearchBar.js +33 -0
  136. package/components/elements/search/FuzzySearchBar.test.d.ts +1 -0
  137. package/components/elements/search/FuzzySearchBar.test.js +87 -0
  138. package/components/elements/view/ViewTitle.d.ts +1 -0
  139. package/components/elements/view/ViewTitle.js +9 -2
  140. package/components/hooks/useHitActions.d.ts +1 -1
  141. package/components/hooks/useHitActions.js +4 -4
  142. package/components/hooks/useMyPreferences.js +10 -1
  143. package/components/hooks/useMySearch.js +2 -2
  144. package/components/hooks/useMySitemap.js +4 -1
  145. package/components/hooks/useMyTheme.js +9 -2
  146. package/components/hooks/{useHitSelection.d.ts → useRecordSelection.d.ts} +2 -2
  147. package/components/hooks/{useHitSelection.js → useRecordSelection.js} +12 -33
  148. package/components/hooks/useRelatedRecords.d.ts +13 -0
  149. package/components/hooks/useRelatedRecords.js +32 -0
  150. package/components/routes/action/edit/ActionEditor.js +2 -2
  151. package/components/routes/action/view/ActionSearch.js +1 -1
  152. package/components/routes/advanced/QueryBuilder.js +4 -27
  153. package/components/routes/advanced/QueryEditor.js +3 -3
  154. package/components/routes/advanced/historyCompletionProvider.js +3 -3
  155. package/components/routes/analytics/AnalyticDetails.js +6 -54
  156. package/components/routes/analytics/AnalyticSearch.js +9 -18
  157. package/components/routes/cases/CaseViewer.d.ts +2 -0
  158. package/components/routes/cases/CaseViewer.js +44 -0
  159. package/components/routes/cases/CaseViewer.test.d.ts +1 -0
  160. package/components/routes/cases/CaseViewer.test.js +133 -0
  161. package/components/routes/cases/Cases.d.ts +2 -0
  162. package/components/routes/cases/Cases.js +140 -0
  163. package/components/routes/cases/constants.d.ts +6 -0
  164. package/components/routes/cases/constants.js +6 -0
  165. package/components/routes/cases/detail/AlertPanel.d.ts +6 -0
  166. package/components/routes/cases/detail/AlertPanel.js +33 -0
  167. package/components/routes/cases/detail/AlertPanel.test.d.ts +1 -0
  168. package/components/routes/cases/detail/AlertPanel.test.js +107 -0
  169. package/components/routes/cases/detail/CaseDashboard.d.ts +7 -0
  170. package/components/routes/cases/detail/CaseDashboard.js +66 -0
  171. package/components/routes/cases/detail/CaseDashboard.test.d.ts +1 -0
  172. package/components/routes/cases/detail/CaseDashboard.test.js +218 -0
  173. package/components/routes/cases/detail/CaseDetails.d.ts +6 -0
  174. package/components/routes/cases/detail/CaseDetails.js +79 -0
  175. package/components/routes/cases/detail/CaseDetails.test.d.ts +1 -0
  176. package/components/routes/cases/detail/CaseDetails.test.js +145 -0
  177. package/components/routes/cases/detail/CaseObservables.d.ts +6 -0
  178. package/components/routes/cases/detail/CaseObservables.js +142 -0
  179. package/components/routes/cases/detail/CaseObservables.test.d.ts +1 -0
  180. package/components/routes/cases/detail/CaseObservables.test.js +169 -0
  181. package/components/routes/cases/detail/CaseOverview.d.ts +7 -0
  182. package/components/routes/cases/detail/CaseOverview.js +43 -0
  183. package/components/routes/cases/detail/CaseRules.d.ts +7 -0
  184. package/components/routes/cases/detail/CaseRules.js +55 -0
  185. package/components/routes/cases/detail/CaseRules.test.d.ts +1 -0
  186. package/components/routes/cases/detail/CaseRules.test.js +238 -0
  187. package/components/routes/cases/detail/CaseSearch.d.ts +3 -0
  188. package/components/routes/cases/detail/CaseSearch.js +78 -0
  189. package/components/routes/cases/detail/CaseSearch.test.d.ts +1 -0
  190. package/components/routes/cases/detail/CaseSearch.test.js +154 -0
  191. package/components/routes/cases/detail/CaseSidebar.d.ts +8 -0
  192. package/components/routes/cases/detail/CaseSidebar.js +147 -0
  193. package/components/routes/cases/detail/CaseSidebar.test.d.ts +1 -0
  194. package/components/routes/cases/detail/CaseSidebar.test.js +155 -0
  195. package/components/routes/cases/detail/CaseTask.d.ts +14 -0
  196. package/components/routes/cases/detail/CaseTask.js +71 -0
  197. package/components/routes/cases/detail/CaseTask.test.d.ts +1 -0
  198. package/components/routes/cases/detail/CaseTask.test.js +143 -0
  199. package/components/routes/cases/detail/CaseTimeline.d.ts +12 -0
  200. package/components/routes/cases/detail/CaseTimeline.js +106 -0
  201. package/components/routes/cases/detail/CaseTimeline.test.d.ts +1 -0
  202. package/components/routes/cases/detail/CaseTimeline.test.js +320 -0
  203. package/components/routes/cases/detail/CreateRuleDialog.d.ts +9 -0
  204. package/components/routes/cases/detail/CreateRuleDialog.js +145 -0
  205. package/components/routes/cases/detail/CreateRuleDialog.test.d.ts +1 -0
  206. package/components/routes/cases/detail/CreateRuleDialog.test.js +284 -0
  207. package/components/routes/cases/detail/ItemPage.d.ts +6 -0
  208. package/components/routes/cases/detail/ItemPage.js +100 -0
  209. package/components/routes/cases/detail/ItemPage.test.d.ts +1 -0
  210. package/components/routes/cases/detail/ItemPage.test.js +238 -0
  211. package/components/routes/cases/detail/MarkdownPage.d.ts +8 -0
  212. package/components/routes/cases/detail/MarkdownPage.js +63 -0
  213. package/components/routes/cases/detail/MarkdownPage.test.d.ts +1 -0
  214. package/components/routes/cases/detail/MarkdownPage.test.js +116 -0
  215. package/components/routes/cases/detail/RelatedCasePanel.d.ts +6 -0
  216. package/components/routes/cases/detail/RelatedCasePanel.js +34 -0
  217. package/components/routes/cases/detail/RelatedCasePanel.test.d.ts +1 -0
  218. package/components/routes/cases/detail/RelatedCasePanel.test.js +115 -0
  219. package/components/routes/cases/detail/TaskPanel.d.ts +7 -0
  220. package/components/routes/cases/detail/TaskPanel.js +95 -0
  221. package/components/routes/cases/detail/TaskPanel.test.d.ts +1 -0
  222. package/components/routes/cases/detail/TaskPanel.test.js +145 -0
  223. package/components/routes/cases/detail/aggregates/CaseAggregate.d.ts +11 -0
  224. package/components/routes/cases/detail/aggregates/CaseAggregate.js +24 -0
  225. package/components/routes/cases/detail/aggregates/SourceAggregate.d.ts +6 -0
  226. package/components/routes/cases/detail/aggregates/SourceAggregate.js +26 -0
  227. package/components/routes/cases/detail/observables/Observable.d.ts +8 -0
  228. package/components/routes/cases/detail/observables/Observable.js +13 -0
  229. package/components/routes/cases/detail/observables/Observable.test.d.ts +1 -0
  230. package/components/routes/cases/detail/observables/Observable.test.js +72 -0
  231. package/components/routes/cases/detail/observables/ObservableTable.d.ts +7 -0
  232. package/components/routes/cases/detail/observables/ObservableTable.js +61 -0
  233. package/components/routes/cases/detail/observables/ObservableTable.test.d.ts +1 -0
  234. package/components/routes/cases/detail/observables/ObservableTable.test.js +85 -0
  235. package/components/routes/cases/detail/sidebar/CaseFolder.d.ts +22 -0
  236. package/components/routes/cases/detail/sidebar/CaseFolder.js +105 -0
  237. package/components/routes/cases/detail/sidebar/CaseFolder.test.d.ts +1 -0
  238. package/components/routes/cases/detail/sidebar/CaseFolder.test.js +98 -0
  239. package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.d.ts +32 -0
  240. package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.js +99 -0
  241. package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.test.d.ts +1 -0
  242. package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.test.js +117 -0
  243. package/components/routes/cases/detail/sidebar/FolderEntry.d.ts +25 -0
  244. package/components/routes/cases/detail/sidebar/FolderEntry.js +89 -0
  245. package/components/routes/cases/detail/sidebar/FolderEntry.test.d.ts +1 -0
  246. package/components/routes/cases/detail/sidebar/FolderEntry.test.js +81 -0
  247. package/components/routes/cases/detail/sidebar/RootDropZone.d.ts +5 -0
  248. package/components/routes/cases/detail/sidebar/RootDropZone.js +33 -0
  249. package/components/routes/cases/detail/sidebar/types.d.ts +9 -0
  250. package/components/routes/cases/detail/sidebar/utils.d.ts +10 -0
  251. package/components/routes/cases/detail/sidebar/utils.js +51 -0
  252. package/components/routes/cases/detail/sidebar/utils.test.d.ts +1 -0
  253. package/components/routes/cases/detail/sidebar/utils.test.js +82 -0
  254. package/components/routes/cases/detail/types.d.ts +24 -0
  255. package/components/routes/cases/detail/utils.d.ts +29 -0
  256. package/components/routes/cases/detail/utils.js +114 -0
  257. package/components/routes/cases/detail/utils.test.d.ts +1 -0
  258. package/components/routes/cases/detail/utils.test.js +144 -0
  259. package/components/routes/cases/hooks/useCase.d.ts +13 -0
  260. package/components/routes/cases/hooks/useCase.js +69 -0
  261. package/components/routes/cases/hooks/useCase.test.d.ts +1 -0
  262. package/components/routes/cases/hooks/useCase.test.js +141 -0
  263. package/components/routes/cases/modals/AddRecordToCaseModal.d.ts +7 -0
  264. package/components/routes/cases/modals/AddRecordToCaseModal.js +57 -0
  265. package/components/routes/cases/modals/AddRecordToCaseModal.test.d.ts +1 -0
  266. package/components/routes/cases/modals/AddRecordToCaseModal.test.js +309 -0
  267. package/components/routes/cases/modals/AddToCaseModal.d.ts +9 -0
  268. package/components/routes/cases/modals/AddToCaseModal.js +72 -0
  269. package/components/routes/cases/modals/CaseRecordRow.d.ts +9 -0
  270. package/components/routes/cases/modals/CaseRecordRow.js +14 -0
  271. package/components/routes/cases/modals/CreateCaseModal.d.ts +7 -0
  272. package/components/routes/cases/modals/CreateCaseModal.js +53 -0
  273. package/components/routes/cases/modals/CreateCaseModal.test.d.ts +1 -0
  274. package/components/routes/cases/modals/CreateCaseModal.test.js +319 -0
  275. package/components/routes/cases/modals/RenameItemModal.d.ts +9 -0
  276. package/components/routes/cases/modals/RenameItemModal.js +44 -0
  277. package/components/routes/cases/modals/ResolveModal.d.ts +7 -0
  278. package/components/routes/cases/modals/ResolveModal.js +120 -0
  279. package/components/routes/cases/modals/ResolveModal.test.d.ts +1 -0
  280. package/components/routes/cases/modals/ResolveModal.test.js +520 -0
  281. package/components/routes/cases/modals/hooks.d.ts +7 -0
  282. package/components/routes/cases/modals/hooks.js +40 -0
  283. package/components/routes/cases/modals/types.d.ts +13 -0
  284. package/components/routes/cases/search/CaseAssigneeFilter.d.ts +6 -0
  285. package/components/routes/cases/search/CaseAssigneeFilter.js +33 -0
  286. package/components/routes/cases/search/CaseAssigneeFilter.test.d.ts +1 -0
  287. package/components/routes/cases/search/CaseAssigneeFilter.test.js +127 -0
  288. package/components/routes/cases/search/CaseDateFilter.d.ts +13 -0
  289. package/components/routes/cases/search/CaseDateFilter.js +26 -0
  290. package/components/routes/cases/search/CaseDateFilter.test.d.ts +1 -0
  291. package/components/routes/cases/search/CaseDateFilter.test.js +115 -0
  292. package/components/routes/cases/search/CaseStatusFilter.d.ts +6 -0
  293. package/components/routes/cases/search/CaseStatusFilter.js +13 -0
  294. package/components/routes/cases/search/CaseStatusFilter.test.d.ts +1 -0
  295. package/components/routes/cases/search/CaseStatusFilter.test.js +86 -0
  296. package/components/routes/cases/utils.d.ts +3 -0
  297. package/components/routes/cases/utils.js +21 -0
  298. package/components/routes/dossiers/DossierEditor.js +2 -2
  299. package/components/routes/dossiers/DossierEditor.test.js +1 -1
  300. package/components/routes/events/EventViewer.d.ts +7 -0
  301. package/components/routes/events/EventViewer.js +24 -0
  302. package/components/routes/help/ApiDocumentation.js +1 -1
  303. package/components/routes/help/HitBannerDocumentation.js +1 -0
  304. package/components/routes/help/HitDocumentation.js +1 -3
  305. package/components/routes/help/OverviewDocumentation.d.ts +1 -1
  306. package/components/routes/help/OverviewDocumentation.js +0 -1
  307. package/components/routes/hits/search/InformationPane.d.ts +1 -0
  308. package/components/routes/hits/search/InformationPane.js +51 -64
  309. package/components/routes/hits/search/QuerySettings.js +2 -1
  310. package/components/routes/hits/search/QuerySettings.test.js +14 -9
  311. package/components/routes/hits/search/{HitBrowser.js → RecordBrowser.js} +11 -11
  312. package/components/routes/hits/search/{HitQuery.d.ts → RecordQuery.d.ts} +2 -2
  313. package/components/routes/hits/search/{HitQuery.js → RecordQuery.js} +6 -6
  314. package/components/routes/hits/search/SearchPane.js +24 -46
  315. package/components/routes/hits/search/ViewLink.js +4 -4
  316. package/components/routes/hits/search/ViewLink.test.js +8 -9
  317. package/components/routes/hits/search/grid/RecordGrid.d.ts +3 -0
  318. package/components/routes/hits/search/grid/{HitGrid.js → RecordGrid.js} +15 -15
  319. package/components/routes/hits/search/shared/CustomSpan.test.js +3 -4
  320. package/components/routes/hits/search/shared/IndexPicker.d.ts +8 -0
  321. package/components/routes/hits/search/shared/IndexPicker.js +21 -0
  322. package/components/routes/hits/search/shared/LayoutSettings.js +3 -3
  323. package/components/routes/hits/search/shared/SearchActionMenu.js +3 -9
  324. package/components/routes/hits/view/HitViewer.js +13 -14
  325. package/components/routes/home/ViewCard.js +47 -41
  326. package/components/routes/overviews/OverviewViewer.js +4 -4
  327. package/components/routes/views/ViewComposer.js +49 -23
  328. package/locales/en/translation.json +171 -27
  329. package/locales/fr/translation.json +169 -25
  330. package/models/WithMetadata.d.ts +2 -1
  331. package/models/entities/generated/Analytic.d.ts +0 -3
  332. package/models/entities/generated/ApiType.d.ts +3 -1
  333. package/models/entities/generated/AttachmentsFile.d.ts +12 -0
  334. package/models/entities/generated/Case.d.ts +29 -0
  335. package/models/entities/generated/DestinationOriginal.d.ts +19 -0
  336. package/models/entities/generated/ECSEvent.d.ts +31 -0
  337. package/models/entities/generated/EmailAttachment.d.ts +8 -0
  338. package/models/entities/generated/EmailParent.d.ts +19 -0
  339. package/models/entities/generated/Enrichments.d.ts +7 -0
  340. package/models/entities/generated/EnrichmentsIndicator.d.ts +21 -0
  341. package/models/entities/generated/Event.d.ts +80 -26
  342. package/models/entities/generated/EventCloud.d.ts +20 -0
  343. package/models/entities/generated/EventDestination.d.ts +23 -0
  344. package/models/entities/generated/EventEmail.d.ts +30 -0
  345. package/models/entities/generated/EventFile.d.ts +36 -0
  346. package/models/entities/generated/EventHowler.d.ts +42 -0
  347. package/models/entities/generated/EventHttp.d.ts +11 -0
  348. package/models/entities/generated/EventObserver.d.ts +21 -0
  349. package/models/entities/generated/EventOrganization.d.ts +7 -0
  350. package/models/entities/generated/EventProcess.d.ts +34 -0
  351. package/models/entities/generated/EventSource.d.ts +23 -0
  352. package/models/entities/generated/EventThreat.d.ts +21 -0
  353. package/models/entities/generated/EventTls.d.ts +12 -0
  354. package/models/entities/generated/Hit.d.ts +3 -2
  355. package/models/entities/generated/Howler.d.ts +0 -5
  356. package/models/entities/generated/HttpResponse.d.ts +11 -0
  357. package/models/entities/generated/Item.d.ts +12 -0
  358. package/models/entities/generated/ObserverIngress.d.ts +9 -0
  359. package/models/entities/generated/Rule.d.ts +8 -9
  360. package/models/entities/generated/Task.d.ts +10 -0
  361. package/models/entities/generated/Threat.d.ts +2 -2
  362. package/models/entities/generated/{Enrichment.d.ts → ThreatEnrichment.d.ts} +1 -1
  363. package/models/entities/generated/View.d.ts +1 -0
  364. package/models/socket/CaseUpdate.d.ts +5 -0
  365. package/models/socket/ViewersUpdate.d.ts +4 -0
  366. package/package.json +112 -91
  367. package/plugins/clue/components/ClueTypography.js +2 -2
  368. package/plugins/clue/index.d.ts +1 -1
  369. package/plugins/clue/index.js +0 -1
  370. package/plugins/clue/utils.d.ts +2 -1
  371. package/tests/mocks.d.ts +11 -1
  372. package/tests/mocks.js +12 -7
  373. package/tests/server-handlers.js +11 -1
  374. package/tests/utils.d.ts +4 -0
  375. package/tests/utils.js +21 -0
  376. package/utils/classificationParser.d.ts +195 -0
  377. package/utils/classificationParser.js +680 -0
  378. package/utils/constants.d.ts +4 -3
  379. package/utils/constants.js +6 -0
  380. package/utils/recordFunctions.d.ts +3 -0
  381. package/utils/recordFunctions.js +8 -0
  382. package/utils/recordFunctions.test.d.ts +1 -0
  383. package/utils/{hitFunctions.test.js → recordFunctions.test.js} +1 -1
  384. package/utils/socketUtils.d.ts +14 -0
  385. package/utils/socketUtils.js +17 -1
  386. package/utils/socketUtils.test.js +49 -16
  387. package/utils/typeUtils.d.ts +7 -0
  388. package/utils/typeUtils.js +27 -0
  389. package/utils/viewUtils.js +3 -0
  390. package/api/analytic/rules.d.ts +0 -4
  391. package/api/analytic/rules.js +0 -8
  392. package/components/app/providers/HitProvider.d.ts +0 -22
  393. package/components/elements/display/icons/BundleButton.d.ts +0 -6
  394. package/components/elements/display/icons/BundleButton.js +0 -32
  395. package/components/elements/hit/HitContextMenu.js +0 -239
  396. package/components/elements/hit/HitRelated.d.ts +0 -6
  397. package/components/elements/hit/HitRelated.js +0 -7
  398. package/components/elements/hit/elements/HitUsers.js +0 -33
  399. package/components/routes/advanced/RuleModal.d.ts +0 -7
  400. package/components/routes/advanced/RuleModal.js +0 -83
  401. package/components/routes/analytics/RuleView.d.ts +0 -8
  402. package/components/routes/analytics/RuleView.js +0 -48
  403. package/components/routes/help/BundleDocumentation.d.ts +0 -3
  404. package/components/routes/help/BundleDocumentation.js +0 -12
  405. package/components/routes/help/markdown/en/bundles.md.js +0 -1
  406. package/components/routes/help/markdown/fr/bundles.md.js +0 -1
  407. package/components/routes/hits/search/BundleScroller.d.ts +0 -2
  408. package/components/routes/hits/search/BundleScroller.js +0 -6
  409. package/components/routes/hits/search/grid/HitGrid.d.ts +0 -3
  410. package/components/routes/hits/search/shared/BundleParentMenu.d.ts +0 -6
  411. package/components/routes/hits/search/shared/BundleParentMenu.js +0 -32
  412. package/utils/hitFunctions.d.ts +0 -2
  413. package/utils/hitFunctions.js +0 -8
  414. /package/{components/app/providers/HitSearchProvider.test.d.ts → api/socket/viewers.test.d.ts} +0 -0
  415. /package/components/{elements/hit/HitContextMenu.test.d.ts → app/providers/RecordSearchProvider.test.d.ts} +0 -0
  416. /package/{utils/hitFunctions.test.d.ts → components/app/providers/UserListProvider.test.d.ts} +0 -0
  417. /package/components/{routes/overviews/OverviewEditor.d.ts → elements/MarkdownEditor.d.ts} +0 -0
  418. /package/components/elements/hit/{HitDetails.d.ts → related/RelatedRecords.d.ts} +0 -0
  419. /package/components/routes/hits/search/{HitBrowser.d.ts → RecordBrowser.d.ts} +0 -0
@@ -2,9 +2,9 @@
2
2
  import { has } from 'lodash-es';
3
3
  import { useCallback } from 'react';
4
4
  import { useContextSelector } from 'use-context-selector';
5
- import { HitContext } from '../providers/HitProvider';
6
- const useMatchers = () => {
7
- const getHit = useContextSelector(HitContext, ctx => ctx.getHit);
5
+ import { RecordContext } from '../providers/RecordProvider';
6
+ const useMatchers = (lazy = false) => {
7
+ const getRecord = useContextSelector(RecordContext, ctx => ctx.getRecord);
8
8
  const getMatchingTemplate = useCallback(async (hit) => {
9
9
  if (!hit) {
10
10
  return null;
@@ -12,15 +12,18 @@ const useMatchers = () => {
12
12
  if (has(hit, '__template')) {
13
13
  return hit.__template;
14
14
  }
15
+ if (lazy) {
16
+ return null;
17
+ }
15
18
  // This is a fallback in case metadata is not included. In most cases templates are shown, the template metadata
16
19
  // should also exist
17
20
  try {
18
- return (await getHit(hit.howler.id, true)).__template;
21
+ return (await getRecord(hit.howler.id, true)).__template;
19
22
  }
20
23
  catch (e) {
21
24
  return null;
22
25
  }
23
- }, [getHit]);
26
+ }, [getRecord, lazy]);
24
27
  const getMatchingOverview = useCallback(async (hit) => {
25
28
  if (!hit) {
26
29
  return null;
@@ -28,15 +31,18 @@ const useMatchers = () => {
28
31
  if (has(hit, '__overview')) {
29
32
  return hit.__overview;
30
33
  }
34
+ if (lazy) {
35
+ return null;
36
+ }
31
37
  // This is a fallback in case metadata is not included. In most cases templates are shown, the template metadata
32
38
  // should also exist
33
39
  try {
34
- return (await getHit(hit.howler.id, true)).__overview;
40
+ return (await getRecord(hit.howler.id, true)).__overview;
35
41
  }
36
42
  catch (e) {
37
43
  return null;
38
44
  }
39
- }, [getHit]);
45
+ }, [getRecord, lazy]);
40
46
  const getMatchingDossiers = useCallback(async (hit) => {
41
47
  if (!hit) {
42
48
  return null;
@@ -44,15 +50,18 @@ const useMatchers = () => {
44
50
  if (has(hit, '__dossiers')) {
45
51
  return hit.__dossiers;
46
52
  }
53
+ if (lazy) {
54
+ return null;
55
+ }
47
56
  // This is a fallback in case metadata is not included. In most cases templates are shown, the template metadata
48
57
  // should also exist
49
58
  try {
50
- return (await getHit(hit.howler.id, true)).__dossiers ?? [];
59
+ return (await getRecord(hit.howler.id, true)).__dossiers ?? [];
51
60
  }
52
61
  catch (e) {
53
62
  return [];
54
63
  }
55
- }, [getHit]);
64
+ }, [getRecord, lazy]);
56
65
  const getMatchingAnalytic = useCallback(async (hit) => {
57
66
  if (!hit) {
58
67
  return null;
@@ -60,14 +69,17 @@ const useMatchers = () => {
60
69
  if (has(hit, '__analytic')) {
61
70
  return hit.__analytic;
62
71
  }
72
+ if (lazy) {
73
+ return null;
74
+ }
63
75
  // This is a fallback in case metadata is not included.
64
76
  try {
65
- return (await getHit(hit.howler.id, true)).__analytic;
77
+ return (await getRecord(hit.howler.id, true)).__analytic;
66
78
  }
67
79
  catch (e) {
68
80
  return null;
69
81
  }
70
- }, [getHit]);
82
+ }, [getRecord, lazy]);
71
83
  return {
72
84
  getMatchingDossiers,
73
85
  getMatchingOverview,
@@ -1,7 +1,7 @@
1
1
  import { renderHook } from '@testing-library/react';
2
2
  import { useContextSelector } from 'use-context-selector';
3
3
  import { beforeEach, describe, expect, it, vi } from 'vitest';
4
- import { HitContext } from '../providers/HitProvider';
4
+ import { RecordContext } from '../providers/RecordProvider';
5
5
  import useMatchers from './useMatchers';
6
6
  // Mock the useContextSelector hook
7
7
  vi.mock('use-context-selector', () => ({
@@ -40,14 +40,14 @@ const mockHitWithMetadata = {
40
40
  __overview: mockOverview,
41
41
  __dossiers: mockDossiers
42
42
  };
43
- const mockGetHit = vi.fn();
43
+ const mockGetRecord = vi.fn();
44
44
  describe('useMatchers', () => {
45
45
  beforeEach(() => {
46
46
  vi.clearAllMocks();
47
47
  // Mock useContextSelector to return our mock getHit function
48
48
  useContextSelector.mockImplementation((context, selector) => {
49
- if (context === HitContext) {
50
- return selector({ getHit: mockGetHit });
49
+ if (context === RecordContext) {
50
+ return selector({ getRecord: mockGetRecord });
51
51
  }
52
52
  return null;
53
53
  });
@@ -69,25 +69,25 @@ describe('useMatchers', () => {
69
69
  const { result } = renderHook(() => useMatchers());
70
70
  const template = await result.current.getMatchingTemplate(mockHitWithMetadata);
71
71
  expect(template).toBe(mockTemplate);
72
- expect(mockGetHit).not.toHaveBeenCalled();
72
+ expect(mockGetRecord).not.toHaveBeenCalled();
73
73
  });
74
74
  it('should fetch hit with metadata when template is not present', async () => {
75
75
  const { has } = await import('lodash-es');
76
76
  has.mockReturnValue(false);
77
77
  const hitWithFetchedMetadata = { ...mockHit, __template: mockTemplate };
78
- mockGetHit.mockResolvedValue(hitWithFetchedMetadata);
78
+ mockGetRecord.mockResolvedValue(hitWithFetchedMetadata);
79
79
  const { result } = renderHook(() => useMatchers());
80
80
  const template = await result.current.getMatchingTemplate(mockHit);
81
81
  expect(template).toBe(mockTemplate);
82
- expect(mockGetHit).toHaveBeenCalledWith('test-hit-id', true);
82
+ expect(mockGetRecord).toHaveBeenCalledWith('test-hit-id', true);
83
83
  });
84
84
  it('should handle getHit rejection gracefully', async () => {
85
85
  const { has } = await import('lodash-es');
86
86
  has.mockReturnValue(false);
87
- mockGetHit.mockRejectedValue(new Error('Failed to fetch hit'));
87
+ mockGetRecord.mockRejectedValue(new Error('Failed to fetch hit'));
88
88
  const { result } = renderHook(() => useMatchers());
89
89
  await expect(result.current.getMatchingTemplate(mockHit)).resolves.toBeNull();
90
- expect(mockGetHit).toHaveBeenCalledWith('test-hit-id', true);
90
+ expect(mockGetRecord).toHaveBeenCalledWith('test-hit-id', true);
91
91
  });
92
92
  });
93
93
  describe('getMatchingOverview', () => {
@@ -107,25 +107,25 @@ describe('useMatchers', () => {
107
107
  const { result } = renderHook(() => useMatchers());
108
108
  const overview = await result.current.getMatchingOverview(mockHitWithMetadata);
109
109
  expect(overview).toBe(mockOverview);
110
- expect(mockGetHit).not.toHaveBeenCalled();
110
+ expect(mockGetRecord).not.toHaveBeenCalled();
111
111
  });
112
112
  it('should fetch hit with metadata when overview is not present', async () => {
113
113
  const { has } = await import('lodash-es');
114
114
  has.mockReturnValue(false);
115
115
  const hitWithFetchedMetadata = { ...mockHit, __overview: mockOverview };
116
- mockGetHit.mockResolvedValue(hitWithFetchedMetadata);
116
+ mockGetRecord.mockResolvedValue(hitWithFetchedMetadata);
117
117
  const { result } = renderHook(() => useMatchers());
118
118
  const overview = await result.current.getMatchingOverview(mockHit);
119
119
  expect(overview).toBe(mockOverview);
120
- expect(mockGetHit).toHaveBeenCalledWith('test-hit-id', true);
120
+ expect(mockGetRecord).toHaveBeenCalledWith('test-hit-id', true);
121
121
  });
122
122
  it('should handle getHit rejection gracefully', async () => {
123
123
  const { has } = await import('lodash-es');
124
124
  has.mockReturnValue(false);
125
- mockGetHit.mockRejectedValue(new Error('Failed to fetch hit'));
125
+ mockGetRecord.mockRejectedValue(new Error('Failed to fetch hit'));
126
126
  const { result } = renderHook(() => useMatchers());
127
127
  await expect(result.current.getMatchingOverview(mockHit)).resolves.toBeNull();
128
- expect(mockGetHit).toHaveBeenCalledWith('test-hit-id', true);
128
+ expect(mockGetRecord).toHaveBeenCalledWith('test-hit-id', true);
129
129
  });
130
130
  });
131
131
  describe('getMatchingDossiers', () => {
@@ -145,25 +145,25 @@ describe('useMatchers', () => {
145
145
  const { result } = renderHook(() => useMatchers());
146
146
  const dossiers = await result.current.getMatchingDossiers(mockHitWithMetadata);
147
147
  expect(dossiers).toBe(mockDossiers);
148
- expect(mockGetHit).not.toHaveBeenCalled();
148
+ expect(mockGetRecord).not.toHaveBeenCalled();
149
149
  });
150
150
  it('should fetch hit with metadata when dossiers are not present', async () => {
151
151
  const { has } = await import('lodash-es');
152
152
  has.mockReturnValue(false);
153
153
  const hitWithFetchedMetadata = { ...mockHit, __dossiers: mockDossiers };
154
- mockGetHit.mockResolvedValue(hitWithFetchedMetadata);
154
+ mockGetRecord.mockResolvedValue(hitWithFetchedMetadata);
155
155
  const { result } = renderHook(() => useMatchers());
156
156
  const dossiers = await result.current.getMatchingDossiers(mockHit);
157
157
  expect(dossiers).toBe(mockDossiers);
158
- expect(mockGetHit).toHaveBeenCalledWith('test-hit-id', true);
158
+ expect(mockGetRecord).toHaveBeenCalledWith('test-hit-id', true);
159
159
  });
160
160
  it('should handle getHit rejection gracefully', async () => {
161
161
  const { has } = await import('lodash-es');
162
162
  has.mockReturnValue(false);
163
- mockGetHit.mockRejectedValue(new Error('Failed to fetch hit'));
163
+ mockGetRecord.mockRejectedValue(new Error('Failed to fetch hit'));
164
164
  const { result } = renderHook(() => useMatchers());
165
165
  await expect(result.current.getMatchingDossiers(mockHit)).resolves.toEqual([]);
166
- expect(mockGetHit).toHaveBeenCalledWith('test-hit-id', true);
166
+ expect(mockGetRecord).toHaveBeenCalledWith('test-hit-id', true);
167
167
  });
168
168
  });
169
169
  describe('integration tests', () => {
@@ -177,7 +177,7 @@ describe('useMatchers', () => {
177
177
  ...mockHit,
178
178
  __template: mockTemplate
179
179
  };
180
- mockGetHit.mockResolvedValue({
180
+ mockGetRecord.mockResolvedValue({
181
181
  ...mockHit,
182
182
  __overview: mockOverview,
183
183
  __dossiers: mockDossiers
@@ -200,7 +200,7 @@ describe('useMatchers', () => {
200
200
  it('should handle empty or undefined metadata gracefully', async () => {
201
201
  const { has } = await import('lodash-es');
202
202
  has.mockReturnValue(false);
203
- mockGetHit.mockResolvedValue({
203
+ mockGetRecord.mockResolvedValue({
204
204
  ...mockHit,
205
205
  __template: undefined,
206
206
  __overview: null,
@@ -213,7 +213,7 @@ describe('useMatchers', () => {
213
213
  expect(template).toBeUndefined();
214
214
  expect(overview).toBeNull();
215
215
  expect(dossiers).toEqual([]);
216
- expect(mockGetHit).toHaveBeenCalledTimes(3);
216
+ expect(mockGetRecord).toHaveBeenCalledTimes(3);
217
217
  });
218
218
  it('should maintain referential equality of returned functions', () => {
219
219
  const { result, rerender } = renderHook(() => useMatchers());
@@ -5,23 +5,23 @@ import { useTranslation } from 'react-i18next';
5
5
  import { useLocation, useParams, useSearchParams } from 'react-router-dom';
6
6
  import { useContextSelector } from 'use-context-selector';
7
7
  import { AnalyticContext } from '../providers/AnalyticProvider';
8
- import { HitContext } from '../providers/HitProvider';
8
+ import { RecordContext } from '../providers/RecordProvider';
9
9
  const useTitle = () => {
10
10
  const { t } = useTranslation();
11
11
  const location = useLocation();
12
12
  const params = useParams();
13
13
  const searchParams = useSearchParams()[0];
14
14
  const sitemap = useMySitemap();
15
- const { getAnalyticFromId } = useContext(AnalyticContext);
16
- const hits = useContextSelector(HitContext, ctx => ctx.hits);
17
- const getHit = useContextSelector(HitContext, ctx => ctx.getHit);
15
+ const { getAnalyticFromId } = useContext(AnalyticContext) ?? {};
16
+ const hits = useContextSelector(RecordContext, ctx => ctx.records);
17
+ const getHit = useContextSelector(RecordContext, ctx => ctx.getRecord);
18
18
  const setTitle = useCallback((title) => {
19
19
  document.querySelector('title').innerHTML = title;
20
20
  }, []);
21
21
  const runChecks = useCallback(async () => {
22
22
  const searchType = location.pathname.replace(/^\/(\w+)(\/.+)?$/, '$1').replace(/s$/, '');
23
23
  if (searchType === 'analytic') {
24
- if (params.id) {
24
+ if (params.id && getAnalyticFromId) {
25
25
  const analytic = await getAnalyticFromId(params.id);
26
26
  if (analytic) {
27
27
  setTitle(`${t('route.analytics.view')} - ${analytic.name}`);
@@ -116,11 +116,11 @@ const FavouriteProvider = ({ children }) => {
116
116
  (async () => {
117
117
  const analyticElement = processAnalyticElement();
118
118
  if (analyticElement) {
119
- newElements.splice(1, 0, analyticElement);
119
+ newElements.splice(2, 0, analyticElement);
120
120
  }
121
121
  const viewElement = await processViewElement();
122
122
  if (viewElement) {
123
- newElements.splice(1, 0, viewElement);
123
+ newElements.splice(2, 0, viewElement);
124
124
  }
125
125
  leftNav.setElements(newElements);
126
126
  })();
@@ -5,8 +5,8 @@ import { useParams } from 'react-router-dom';
5
5
  import { useContextSelector } from 'use-context-selector';
6
6
  import { StorageKey } from '@cccsaurora/howler-ui/utils/constants';
7
7
  import { parsePixelSizeStringToInt } from '@cccsaurora/howler-ui/utils/stringUtils';
8
- import { HitSearchContext } from './HitSearchProvider';
9
8
  import { ParameterContext } from './ParameterProvider';
9
+ import { RecordSearchContext } from './RecordSearchProvider';
10
10
  import { ViewContext } from './ViewProvider';
11
11
  export const GridColumnsContext = createContext(null);
12
12
  /**
@@ -30,7 +30,7 @@ const GridColumnsProvider = ({ children, viewSource = 'params' }) => {
30
30
  const pathViewIds = useMemo(() => (routeParams.id ? [routeParams.id] : []), [routeParams.id]);
31
31
  const viewIds = viewSource === 'params' ? parameterViewIds : pathViewIds;
32
32
  const getCurrentViews = useContextSelector(ViewContext, ctx => ctx.getCurrentViews);
33
- const setDisplayType = useContextSelector(HitSearchContext, ctx => ctx.setDisplayType);
33
+ const setDisplayType = useContextSelector(RecordSearchContext, ctx => ctx.setDisplayType);
34
34
  // --- Local storage state (user's personal preferences) ---
35
35
  const [localStorageColumns, setLocalStorageColumns] = useMyLocalStorageItem(StorageKey.GRID_COLUMNS, [
36
36
  'howler.outline.threat',
@@ -4,8 +4,8 @@ import { useContext } from 'react';
4
4
  import { setupContextSelectorMock, setupLocalStorageMock, setupReactRouterMock } from '@cccsaurora/howler-ui/tests/mocks';
5
5
  import { StorageKey } from '@cccsaurora/howler-ui/utils/constants';
6
6
  import GridColumnsProvider, { GridColumnsContext } from './GridColumnsProvider';
7
- import { HitSearchContext } from './HitSearchProvider';
8
7
  import { ParameterContext } from './ParameterProvider';
8
+ import { RecordSearchContext } from './RecordSearchProvider';
9
9
  import { ViewContext } from './ViewProvider';
10
10
  setupContextSelectorMock();
11
11
  setupReactRouterMock();
@@ -17,7 +17,7 @@ const mockSetDisplayType = vi.fn();
17
17
  const mockViewsContext = {
18
18
  getCurrentViews: mockGetCurrentViews
19
19
  };
20
- const mockHitSearchContext = {
20
+ const mockRecordSearchContext = {
21
21
  setDisplayType: mockSetDisplayType
22
22
  };
23
23
  const makeWrapper = (parameterViewIds = [], routeId) => {
@@ -25,7 +25,7 @@ const makeWrapper = (parameterViewIds = [], routeId) => {
25
25
  const parameterContextValue = {
26
26
  views: parameterViewIds
27
27
  };
28
- const Wrapper = ({ children }) => (_jsx(ParameterContext.Provider, { value: parameterContextValue, children: _jsx(ViewContext.Provider, { value: mockViewsContext, children: _jsx(HitSearchContext.Provider, { value: mockHitSearchContext, children: _jsx(GridColumnsProvider, { viewSource: routeId ? 'path' : 'params', children: children }) }) }) }));
28
+ const Wrapper = ({ children }) => (_jsx(ParameterContext.Provider, { value: parameterContextValue, children: _jsx(ViewContext.Provider, { value: mockViewsContext, children: _jsx(RecordSearchContext.Provider, { value: mockRecordSearchContext, children: _jsx(GridColumnsProvider, { viewSource: routeId ? 'path' : 'params', children: children }) }) }) }));
29
29
  return Wrapper;
30
30
  };
31
31
  const _prefixStorageKey = (key) => `howler.ui.${key}`;
@@ -1,6 +1,7 @@
1
1
  import type { FC, PropsWithChildren, ReactNode } from 'react';
2
2
  export interface ModalOptions {
3
3
  disableClose?: boolean;
4
+ height?: number | string | null;
4
5
  maxWidth?: string;
5
6
  maxHeight?: string;
6
7
  }
@@ -1,3 +1,4 @@
1
+ import type { SearchIndex } from '@cccsaurora/howler-ui/api/v2/search';
1
2
  import type { FC, PropsWithChildren } from 'react';
2
3
  export interface ParameterContextType {
3
4
  selected?: string;
@@ -6,6 +7,7 @@ export interface ParameterContextType {
6
7
  trackTotalHits: boolean;
7
8
  sort?: string;
8
9
  span?: string;
10
+ indexes?: SearchIndex[];
9
11
  filters?: string[];
10
12
  startDate?: string;
11
13
  endDate?: string;
@@ -19,16 +21,36 @@ export interface ParameterContextType {
19
21
  addFilter: (filter: string) => void;
20
22
  removeFilter: (filter: string) => void;
21
23
  setFilter: (index: number, filter: string) => void;
22
- clearFilters: () => void;
24
+ resetFilters: () => void;
25
+ addIndex: (index: SearchIndex) => void;
26
+ removeIndex: (index: SearchIndex) => void;
27
+ setIndex: (position: number, index: SearchIndex) => void;
28
+ setIndexes: (indexes: SearchIndex[]) => void;
29
+ resetIndexes: () => void;
23
30
  addView: (view: string) => void;
24
31
  removeView: (view: string) => void;
25
32
  setView: (index: number, view: string) => void;
26
- clearViews: () => void;
33
+ resetViews: () => void;
34
+ }
35
+ interface SearchValues {
36
+ selected: string;
37
+ query: string;
38
+ sort: string;
39
+ span: string;
40
+ indexes: SearchIndex[];
41
+ filters: string[];
42
+ views: string[];
43
+ startDate: string;
44
+ endDate: string;
45
+ offset: number;
46
+ trackTotalHits: boolean;
27
47
  }
28
48
  export declare const ParameterContext: import("use-context-selector").Context<ParameterContextType>;
29
49
  /**
30
50
  * Context responsible for tracking updates to query operations in hit and view search.
31
51
  */
32
- declare const ParameterProvider: FC<PropsWithChildren>;
52
+ declare const ParameterProvider: FC<PropsWithChildren<{
53
+ defaults?: Partial<SearchValues>;
54
+ }>>;
33
55
  export declare const useParameterContextSelector: <Selected>(selector: (value: ParameterContextType) => Selected) => Selected;
34
56
  export default ParameterProvider;