@databiosphere/findable-ui 18.0.0 → 20.0.0

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 (536) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +22 -0
  3. package/lib/components/Authentication/components/SessionController/components/GoogleSessionController/SessionController.d.ts +2 -0
  4. package/lib/components/Authentication/components/SessionController/components/GoogleSessionController/SessionController.js +29 -0
  5. package/lib/components/Authentication/components/SessionController/components/GoogleSessionController/types.d.ts +6 -0
  6. package/lib/components/Authentication/components/SessionController/components/NextSessionController/SessionController.d.ts +2 -0
  7. package/lib/components/Authentication/components/SessionController/components/NextSessionController/SessionController.js +17 -0
  8. package/lib/components/Authentication/components/SessionController/components/NextSessionController/constants.d.ts +5 -0
  9. package/lib/components/Authentication/components/SessionController/components/NextSessionController/constants.js +12 -0
  10. package/lib/components/Authentication/components/SessionController/components/NextSessionController/types.d.ts +4 -0
  11. package/lib/components/Authentication/components/SessionController/components/NextSessionController/types.js +1 -0
  12. package/lib/components/Authentication/components/SessionController/components/NextSessionController/utils.d.ts +15 -0
  13. package/lib/components/Authentication/components/SessionController/components/NextSessionController/utils.js +53 -0
  14. package/lib/components/ComponentCreator/ComponentCreator.js +2 -3
  15. package/lib/components/Detail/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.js +2 -0
  16. package/lib/components/Detail/components/Table/components/TableRows/tableRows.js +1 -15
  17. package/lib/components/Export/components/ExportForm/components/ExportFileSummaryForm/exportFileSummaryForm.js +9 -10
  18. package/lib/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/FormStep/components/AcceptTerraTOS/acceptTerraTOS.js +2 -2
  19. package/lib/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/NIHAccountExpiryWarning/nihAccountExpiryWarning.js +1 -1
  20. package/lib/components/Export/components/ExportToTerra/components/TerraSetUpForm/terraSetUpForm.js +8 -3
  21. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/authentication.d.ts +2 -1
  22. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/authentication.js +17 -14
  23. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.d.ts +3 -4
  24. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.js +15 -24
  25. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.styles.d.ts +1 -1
  26. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.styles.js +2 -2
  27. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/constants.d.ts +2 -0
  28. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/constants.js +14 -0
  29. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/Button/button.styles.js +3 -2
  30. package/lib/components/Layout/components/Header/header.js +1 -1
  31. package/lib/components/Links/components/Link/components/ExploreViewLink/exploreViewLink.js +23 -12
  32. package/lib/components/Login/components/Button/button.d.ts +2 -0
  33. package/lib/components/Login/components/Button/button.js +6 -0
  34. package/lib/components/Login/components/Button/button.styles.d.ts +5 -0
  35. package/lib/components/Login/components/Button/button.styles.js +11 -0
  36. package/lib/components/Login/components/Button/constants.d.ts +2 -0
  37. package/lib/components/Login/components/Button/constants.js +6 -0
  38. package/lib/components/Login/components/Button/types.d.ts +3 -0
  39. package/lib/components/Login/components/Button/types.js +1 -0
  40. package/lib/components/Login/login.d.ts +2 -9
  41. package/lib/components/Login/login.js +9 -10
  42. package/lib/components/Login/types.d.ts +10 -0
  43. package/lib/components/Login/types.js +1 -0
  44. package/lib/components/Table/common/columnDef.js +1 -0
  45. package/lib/components/Table/common/gridTable.styles.js +5 -11
  46. package/lib/components/Table/common/utils.d.ts +3 -29
  47. package/lib/components/Table/common/utils.js +25 -60
  48. package/lib/components/Table/components/TableBody/hooks/virtualizer/constants.d.ts +3 -0
  49. package/lib/components/Table/components/TableBody/hooks/virtualizer/constants.js +3 -0
  50. package/lib/components/Table/components/TableBody/hooks/virtualizer/hook.d.ts +8 -0
  51. package/lib/components/Table/components/TableBody/hooks/virtualizer/hook.js +18 -0
  52. package/lib/components/Table/components/TableBody/hooks/virtualizer/types.d.ts +4 -0
  53. package/lib/components/Table/components/TableBody/hooks/virtualizer/types.js +1 -0
  54. package/lib/components/Table/components/TableBody/tableBody.d.ts +3 -2
  55. package/lib/components/Table/components/TableBody/tableBody.js +7 -28
  56. package/lib/components/Table/components/TableBody/utils.d.ts +12 -0
  57. package/lib/components/Table/components/TableBody/utils.js +17 -0
  58. package/lib/components/Table/components/TableCell/components/CollapsableCell/collapsableCell.d.ts +3 -1
  59. package/lib/components/Table/components/TableCell/components/CollapsableCell/collapsableCell.js +6 -14
  60. package/lib/components/Table/components/TableFeatures/ColumnGrouping/utils.d.ts +28 -0
  61. package/lib/components/Table/components/TableFeatures/ColumnGrouping/utils.js +52 -0
  62. package/lib/components/Table/components/TableFeatures/ColumnVisibility/utils.d.ts +21 -0
  63. package/lib/components/Table/components/TableFeatures/ColumnVisibility/utils.js +37 -0
  64. package/lib/components/Table/components/TableFeatures/RowSorting/utils.d.ts +29 -0
  65. package/lib/components/Table/components/TableFeatures/RowSorting/utils.js +68 -0
  66. package/lib/components/Table/components/TableHead/tableHead.d.ts +2 -6
  67. package/lib/components/Table/components/TableHead/tableHead.js +6 -4
  68. package/lib/components/Table/components/TableHead/types.d.ts +6 -0
  69. package/lib/components/Table/components/TableHead/types.js +1 -0
  70. package/lib/components/Table/components/TableHead/utils.d.ts +19 -0
  71. package/lib/components/Table/components/TableHead/utils.js +34 -0
  72. package/lib/components/Table/components/TableRow/tableRow.styles.d.ts +1 -0
  73. package/lib/components/Table/components/TableRow/tableRow.styles.js +14 -2
  74. package/lib/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.d.ts +3 -2
  75. package/lib/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.js +8 -4
  76. package/lib/components/Table/components/TableRows/components/CollapsableRows/hook.d.ts +9 -0
  77. package/lib/components/Table/components/TableRows/components/CollapsableRows/hook.js +17 -0
  78. package/lib/components/Table/components/TableRows/tableRows.d.ts +3 -3
  79. package/lib/components/Table/components/TableRows/tableRows.js +9 -5
  80. package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/columnGrouping.d.ts +3 -0
  81. package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/columnGrouping.js +26 -0
  82. package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/columnGrouping.styles.d.ts +2 -0
  83. package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/columnGrouping.styles.js +16 -0
  84. package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/menuItems.d.ts +3 -0
  85. package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/menuItems.js +12 -0
  86. package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/types.d.ts +7 -0
  87. package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/types.js +1 -0
  88. package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/constants.d.ts +4 -0
  89. package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/constants.js +13 -0
  90. package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/types.d.ts +4 -0
  91. package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/types.js +1 -0
  92. package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/utils.d.ts +17 -0
  93. package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/utils.js +36 -0
  94. package/lib/components/Table/components/TableToolbar/components/RowSelection/components/DropdownMenu/dropdownMenu.d.ts +2 -3
  95. package/lib/components/Table/components/TableToolbar/components/RowSelection/components/DropdownMenu/dropdownMenu.js +3 -11
  96. package/lib/components/Table/components/TableToolbar/tableToolbar.js +4 -2
  97. package/lib/components/Table/features/RowPosition/constants.js +2 -2
  98. package/lib/components/Table/features/RowPosition/utils.d.ts +2 -2
  99. package/lib/components/Table/features/RowPosition/utils.js +12 -5
  100. package/lib/components/Table/options/updater.d.ts +10 -0
  101. package/lib/components/Table/options/updater.js +24 -0
  102. package/lib/components/Table/table.js +22 -17
  103. package/lib/components/TableCreator/common/constants.d.ts +2 -2
  104. package/lib/components/TableCreator/common/constants.js +2 -1
  105. package/lib/components/TableCreator/common/utils.d.ts +5 -2
  106. package/lib/components/TableCreator/common/utils.js +11 -4
  107. package/lib/components/TableCreator/options/expanded/constants.d.ts +2 -0
  108. package/lib/components/TableCreator/options/expanded/constants.js +6 -0
  109. package/lib/components/TableCreator/options/expanded/hook.d.ts +2 -0
  110. package/lib/components/TableCreator/options/expanded/hook.js +4 -0
  111. package/lib/components/TableCreator/options/grouping/constants.d.ts +2 -0
  112. package/lib/components/TableCreator/options/grouping/constants.js +5 -0
  113. package/lib/components/TableCreator/options/grouping/hook.d.ts +2 -0
  114. package/lib/components/TableCreator/options/grouping/hook.js +9 -0
  115. package/lib/components/TableCreator/options/hook.d.ts +2 -0
  116. package/lib/components/TableCreator/options/hook.js +25 -0
  117. package/lib/components/TableCreator/options/rowSelection/constants.d.ts +2 -0
  118. package/lib/components/TableCreator/options/rowSelection/constants.js +5 -0
  119. package/lib/components/TableCreator/options/rowSelection/hook.d.ts +2 -0
  120. package/lib/components/TableCreator/options/rowSelection/hook.js +4 -0
  121. package/lib/components/TableCreator/options/sorting/constants.d.ts +2 -0
  122. package/lib/components/TableCreator/options/sorting/constants.js +5 -0
  123. package/lib/components/TableCreator/options/sorting/hook.d.ts +2 -0
  124. package/lib/components/TableCreator/options/sorting/hook.js +4 -0
  125. package/lib/components/TableCreator/tableCreator.d.ts +3 -5
  126. package/lib/components/TableCreator/tableCreator.js +4 -2
  127. package/lib/components/common/Banner/components/SessionTimeout/sessionTimeout.js +1 -1
  128. package/lib/components/common/CustomIcon/common/entities.d.ts +1 -4
  129. package/lib/components/common/CustomIcon/components/GoogleIcon/googleIcon.d.ts +2 -2
  130. package/lib/components/common/CustomIcon/components/GoogleIcon/googleIcon.js +1 -1
  131. package/lib/components/common/DropdownMenu/dropdownMenu.d.ts +2 -3
  132. package/lib/components/common/DropdownMenu/dropdownMenu.js +7 -7
  133. package/lib/components/common/DropdownMenu/dropdownMenu.styles.d.ts +1 -1
  134. package/lib/components/common/DropdownMenu/dropdownMenu.styles.js +1 -1
  135. package/lib/components/common/Menu/hooks/useMenu.d.ts +5 -6
  136. package/lib/config/entities.d.ts +28 -29
  137. package/lib/config/utils.d.ts +0 -7
  138. package/lib/config/utils.js +0 -12
  139. package/lib/hooks/authentication/auth/useAuthReducer.d.ts +2 -0
  140. package/lib/hooks/authentication/auth/useAuthReducer.js +8 -0
  141. package/lib/hooks/authentication/authentication/useAuthenticationReducer.d.ts +2 -0
  142. package/lib/hooks/authentication/authentication/useAuthenticationReducer.js +8 -0
  143. package/lib/hooks/authentication/config/useAuthenticationConfig.d.ts +6 -0
  144. package/lib/hooks/authentication/config/useAuthenticationConfig.js +9 -0
  145. package/lib/hooks/authentication/credentials/useCredentialsReducer.d.ts +2 -0
  146. package/lib/hooks/authentication/credentials/useCredentialsReducer.js +7 -0
  147. package/lib/hooks/authentication/profile/types.d.ts +5 -0
  148. package/lib/hooks/authentication/profile/types.js +1 -0
  149. package/lib/hooks/authentication/profile/useProfile.d.ts +6 -0
  150. package/lib/hooks/authentication/profile/useProfile.js +15 -0
  151. package/lib/hooks/authentication/providers/types.d.ts +6 -0
  152. package/lib/hooks/authentication/providers/types.js +1 -0
  153. package/lib/hooks/authentication/providers/useProviders.d.ts +6 -0
  154. package/lib/hooks/authentication/providers/useProviders.js +14 -0
  155. package/lib/hooks/authentication/session/useSessionActive.d.ts +12 -0
  156. package/lib/hooks/authentication/session/useSessionActive.js +36 -0
  157. package/lib/hooks/authentication/session/useSessionCallbackUrl.d.ts +4 -0
  158. package/lib/hooks/authentication/session/useSessionCallbackUrl.js +20 -0
  159. package/lib/hooks/authentication/session/useSessionIdleTimer.d.ts +6 -0
  160. package/lib/hooks/authentication/session/useSessionIdleTimer.js +8 -0
  161. package/lib/hooks/{useSessionTimeout.js → authentication/session/useSessionTimeout.js} +2 -2
  162. package/lib/hooks/{useAuthentication → authentication/terra}/useAuthenticationForm.d.ts +0 -1
  163. package/lib/hooks/{useAuthentication → authentication/terra}/useAuthenticationForm.js +6 -9
  164. package/lib/hooks/{useAuthentication → authentication/terra}/useAuthenticationNIHExpiry.js +3 -4
  165. package/lib/hooks/authentication/token/types.d.ts +4 -0
  166. package/lib/hooks/authentication/token/types.js +1 -0
  167. package/lib/hooks/authentication/token/useToken.d.ts +2 -0
  168. package/lib/hooks/authentication/token/useToken.js +5 -0
  169. package/lib/hooks/authentication/token/useTokenReducer.d.ts +7 -0
  170. package/lib/hooks/authentication/token/useTokenReducer.js +12 -0
  171. package/lib/hooks/useEntityList.js +2 -2
  172. package/lib/hooks/useFetchEntity.js +4 -3
  173. package/lib/hooks/useFileManifest/useFetchFilesFacets.js +2 -3
  174. package/lib/hooks/useFileManifest/useFetchSummary.js +2 -3
  175. package/lib/hooks/useRequestFileLocation.js +2 -3
  176. package/lib/hooks/useRouteHistory.d.ts +14 -0
  177. package/lib/hooks/useRouteHistory.js +40 -0
  178. package/lib/hooks/useRouteRoot.d.ts +1 -0
  179. package/lib/hooks/useRouteRoot.js +8 -0
  180. package/lib/hooks/useSummary.js +3 -3
  181. package/lib/providers/authentication/auth/actions.d.ts +8 -0
  182. package/lib/providers/authentication/auth/actions.js +12 -0
  183. package/lib/providers/authentication/auth/constants.d.ts +2 -0
  184. package/lib/providers/authentication/auth/constants.js +5 -0
  185. package/lib/providers/authentication/auth/context.d.ts +2 -0
  186. package/lib/providers/authentication/auth/context.js +7 -0
  187. package/lib/providers/authentication/auth/dispatch.d.ts +23 -0
  188. package/lib/providers/authentication/auth/dispatch.js +43 -0
  189. package/lib/providers/authentication/auth/hook.d.ts +6 -0
  190. package/lib/providers/authentication/auth/hook.js +9 -0
  191. package/lib/providers/authentication/auth/reducer.d.ts +8 -0
  192. package/lib/providers/authentication/auth/reducer.js +24 -0
  193. package/lib/providers/authentication/auth/types.d.ts +48 -0
  194. package/lib/providers/authentication/auth/types.js +11 -0
  195. package/lib/providers/authentication/authentication/actions.d.ts +8 -0
  196. package/lib/providers/authentication/authentication/actions.js +12 -0
  197. package/lib/providers/authentication/authentication/constants.d.ts +2 -0
  198. package/lib/providers/authentication/authentication/constants.js +5 -0
  199. package/lib/providers/authentication/authentication/context.d.ts +2 -0
  200. package/lib/providers/authentication/authentication/context.js +6 -0
  201. package/lib/providers/authentication/authentication/dispatch.d.ts +22 -0
  202. package/lib/providers/authentication/authentication/dispatch.js +42 -0
  203. package/lib/providers/authentication/authentication/hook.d.ts +6 -0
  204. package/lib/providers/authentication/authentication/hook.js +9 -0
  205. package/lib/providers/authentication/authentication/reducer.d.ts +9 -0
  206. package/lib/providers/authentication/authentication/reducer.js +25 -0
  207. package/lib/providers/authentication/authentication/types.d.ts +47 -0
  208. package/lib/providers/authentication/authentication/types.js +11 -0
  209. package/lib/providers/authentication/authentication/utils.d.ts +12 -0
  210. package/lib/providers/authentication/authentication/utils.js +18 -0
  211. package/lib/providers/authentication/common/types.d.ts +1 -0
  212. package/lib/providers/authentication/common/types.js +1 -0
  213. package/lib/providers/authentication/common/utils.d.ts +6 -0
  214. package/lib/providers/authentication/common/utils.js +11 -0
  215. package/lib/providers/authentication/credentials/actions.d.ts +8 -0
  216. package/lib/providers/authentication/credentials/actions.js +12 -0
  217. package/lib/providers/authentication/credentials/constants.d.ts +2 -0
  218. package/lib/providers/authentication/credentials/constants.js +3 -0
  219. package/lib/providers/authentication/credentials/context.d.ts +2 -0
  220. package/lib/providers/authentication/credentials/context.js +6 -0
  221. package/lib/providers/authentication/credentials/dispatch.d.ts +12 -0
  222. package/lib/providers/authentication/credentials/dispatch.js +22 -0
  223. package/lib/providers/authentication/credentials/hook.d.ts +6 -0
  224. package/lib/providers/authentication/credentials/hook.js +9 -0
  225. package/lib/providers/authentication/credentials/reducer.d.ts +8 -0
  226. package/lib/providers/authentication/credentials/reducer.js +22 -0
  227. package/lib/providers/authentication/credentials/types.d.ts +24 -0
  228. package/lib/providers/authentication/credentials/types.js +5 -0
  229. package/lib/providers/authentication/terra/context.d.ts +2 -0
  230. package/lib/providers/authentication/terra/context.js +7 -0
  231. package/lib/providers/authentication/terra/hook.d.ts +6 -0
  232. package/lib/providers/authentication/terra/hook.js +9 -0
  233. package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/constants.d.ts +2 -0
  234. package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/constants.js +7 -0
  235. package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/entities.d.ts +3 -7
  236. package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/entities.js +1 -5
  237. package/lib/providers/authentication/terra/hooks/useFetchProfiles.d.ts +13 -0
  238. package/lib/providers/authentication/terra/hooks/useFetchProfiles.js +31 -0
  239. package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraNIHProfile.js +11 -6
  240. package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraProfile.js +11 -6
  241. package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraTermsOfService.js +11 -6
  242. package/lib/providers/authentication/terra/hooks/utils.d.ts +16 -0
  243. package/lib/providers/authentication/terra/hooks/utils.js +19 -0
  244. package/lib/providers/authentication/terra/provider.d.ts +2 -0
  245. package/lib/providers/authentication/terra/provider.js +42 -0
  246. package/lib/providers/authentication/terra/types.d.ts +20 -0
  247. package/lib/providers/authentication/terra/types.js +6 -0
  248. package/lib/providers/authentication/terra/utils.d.ts +19 -0
  249. package/lib/providers/authentication/terra/utils.js +36 -0
  250. package/lib/providers/authentication/token/constants.d.ts +2 -0
  251. package/lib/providers/authentication/token/constants.js +4 -0
  252. package/lib/providers/authentication/token/dispatch.d.ts +12 -0
  253. package/lib/providers/authentication/token/dispatch.js +22 -0
  254. package/lib/providers/authentication/token/reducer.d.ts +8 -0
  255. package/lib/providers/authentication/token/reducer.js +22 -0
  256. package/lib/providers/authentication/token/types.d.ts +28 -0
  257. package/lib/providers/authentication/token/types.js +5 -0
  258. package/lib/providers/exploreState/actions/updateGrouping/action.d.ts +10 -0
  259. package/lib/providers/exploreState/actions/updateGrouping/action.js +16 -0
  260. package/lib/providers/exploreState/actions/updateGrouping/dispatch.d.ts +7 -0
  261. package/lib/providers/exploreState/actions/updateGrouping/dispatch.js +12 -0
  262. package/lib/providers/exploreState/actions/updateGrouping/types.d.ts +9 -0
  263. package/lib/providers/exploreState/actions/updateGrouping/types.js +1 -0
  264. package/lib/providers/exploreState/actions/updateGrouping/utils.d.ts +10 -0
  265. package/lib/providers/exploreState/actions/updateGrouping/utils.js +26 -0
  266. package/lib/providers/exploreState/entities.d.ts +3 -4
  267. package/lib/providers/exploreState/initializer/utils.js +41 -8
  268. package/lib/providers/exploreState/payloads/entities.d.ts +2 -1
  269. package/lib/providers/exploreState/utils.d.ts +6 -4
  270. package/lib/providers/exploreState/utils.js +7 -4
  271. package/lib/providers/exploreState.d.ts +3 -1
  272. package/lib/providers/exploreState.js +18 -10
  273. package/lib/providers/googleSignInAuthentication/common/types.d.ts +17 -0
  274. package/lib/providers/googleSignInAuthentication/common/types.js +1 -0
  275. package/lib/providers/googleSignInAuthentication/constants.d.ts +4 -0
  276. package/lib/providers/googleSignInAuthentication/constants.js +12 -0
  277. package/lib/providers/googleSignInAuthentication/hooks/useGoogleSignInService.d.ts +3 -0
  278. package/lib/providers/googleSignInAuthentication/hooks/useGoogleSignInService.js +36 -0
  279. package/lib/providers/googleSignInAuthentication/profile/types.d.ts +14 -0
  280. package/lib/providers/googleSignInAuthentication/profile/types.js +1 -0
  281. package/lib/providers/googleSignInAuthentication/profile/utils.d.ts +8 -0
  282. package/lib/providers/googleSignInAuthentication/profile/utils.js +25 -0
  283. package/lib/providers/googleSignInAuthentication/provider.d.ts +2 -0
  284. package/lib/providers/googleSignInAuthentication/provider.js +40 -0
  285. package/lib/providers/googleSignInAuthentication/service/constants.d.ts +4 -0
  286. package/lib/providers/googleSignInAuthentication/service/constants.js +9 -0
  287. package/lib/providers/googleSignInAuthentication/service/service.d.ts +6 -0
  288. package/lib/providers/googleSignInAuthentication/service/service.js +43 -0
  289. package/lib/providers/googleSignInAuthentication/types.d.ts +6 -0
  290. package/lib/providers/googleSignInAuthentication/types.js +1 -0
  291. package/lib/providers/nextAuthAuthentication/hooks/useNextAuthService.d.ts +2 -0
  292. package/lib/providers/nextAuthAuthentication/hooks/useNextAuthService.js +14 -0
  293. package/lib/providers/nextAuthAuthentication/provider.d.ts +2 -0
  294. package/lib/providers/nextAuthAuthentication/provider.js +30 -0
  295. package/lib/providers/nextAuthAuthentication/service/service.d.ts +6 -0
  296. package/lib/providers/nextAuthAuthentication/service/service.js +12 -0
  297. package/lib/providers/nextAuthAuthentication/types.d.ts +8 -0
  298. package/lib/providers/nextAuthAuthentication/types.js +1 -0
  299. package/lib/routes/constants.d.ts +3 -0
  300. package/lib/routes/constants.js +3 -0
  301. package/lib/styles/common/mui/button.d.ts +3 -0
  302. package/lib/styles/common/mui/button.js +17 -0
  303. package/lib/styles/common/mui/paper.d.ts +2 -0
  304. package/lib/styles/common/mui/paper.js +9 -0
  305. package/lib/styles/common/mui/popover.d.ts +3 -0
  306. package/lib/styles/common/mui/popover.js +10 -0
  307. package/lib/theme/common/entities.d.ts +6 -0
  308. package/lib/theme/common/entities.js +1 -0
  309. package/lib/views/ExploreView/exploreView.js +2 -2
  310. package/lib/views/LoginView/loginView.d.ts +5 -1
  311. package/lib/views/LoginView/loginView.js +6 -4
  312. package/package.json +3 -2
  313. package/src/components/Authentication/components/SessionController/components/GoogleSessionController/SessionController.tsx +38 -0
  314. package/src/components/Authentication/components/SessionController/components/GoogleSessionController/types.ts +7 -0
  315. package/src/components/Authentication/components/SessionController/components/NextSessionController/SessionController.tsx +23 -0
  316. package/src/components/Authentication/components/SessionController/components/NextSessionController/constants.ts +21 -0
  317. package/src/components/Authentication/components/SessionController/components/NextSessionController/types.ts +5 -0
  318. package/src/components/Authentication/components/SessionController/components/NextSessionController/utils.ts +74 -0
  319. package/src/components/ComponentCreator/ComponentCreator.tsx +4 -3
  320. package/src/components/Detail/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.tsx +2 -0
  321. package/src/components/Detail/components/Table/components/TableRows/tableRows.tsx +3 -18
  322. package/src/components/Export/components/ExportForm/components/ExportFileSummaryForm/exportFileSummaryForm.tsx +28 -32
  323. package/src/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/FormStep/components/AcceptTerraTOS/acceptTerraTOS.tsx +4 -4
  324. package/src/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/NIHAccountExpiryWarning/nihAccountExpiryWarning.tsx +1 -1
  325. package/src/components/Export/components/ExportToTerra/components/TerraSetUpForm/terraSetUpForm.tsx +9 -6
  326. package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/authentication.tsx +27 -25
  327. package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.styles.ts +2 -2
  328. package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.tsx +18 -42
  329. package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/constants.ts +19 -0
  330. package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/Button/button.styles.ts +3 -2
  331. package/src/components/Layout/components/Header/header.tsx +1 -1
  332. package/src/components/Links/components/Link/components/ExploreViewLink/exploreViewLink.tsx +27 -13
  333. package/src/components/Login/components/Button/button.styles.ts +12 -0
  334. package/src/components/Login/components/Button/button.tsx +8 -0
  335. package/src/components/Login/components/Button/constants.ts +8 -0
  336. package/src/components/Login/components/Button/types.ts +4 -0
  337. package/src/components/Login/login.tsx +28 -28
  338. package/src/components/Login/types.ts +11 -0
  339. package/src/components/Table/common/columnDef.ts +1 -0
  340. package/src/components/Table/common/gridTable.styles.ts +5 -11
  341. package/src/components/Table/common/utils.ts +44 -107
  342. package/src/components/Table/components/TableBody/hooks/virtualizer/constants.ts +3 -0
  343. package/src/components/Table/components/TableBody/hooks/virtualizer/hook.ts +23 -0
  344. package/src/components/Table/components/TableBody/hooks/virtualizer/types.ts +5 -0
  345. package/src/components/Table/components/TableBody/tableBody.tsx +14 -30
  346. package/src/components/Table/components/TableBody/utils.ts +21 -0
  347. package/src/components/Table/components/TableCell/components/CollapsableCell/collapsableCell.tsx +14 -15
  348. package/src/components/Table/components/TableFeatures/ColumnGrouping/utils.ts +70 -0
  349. package/src/components/Table/components/TableFeatures/ColumnVisibility/utils.ts +52 -0
  350. package/src/components/Table/components/TableFeatures/RowSorting/utils.ts +87 -0
  351. package/src/components/Table/components/TableHead/tableHead.tsx +21 -29
  352. package/src/components/Table/components/TableHead/types.ts +7 -0
  353. package/src/components/Table/components/TableHead/utils.ts +42 -0
  354. package/src/components/Table/components/TableRow/tableRow.styles.ts +19 -2
  355. package/src/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.tsx +8 -2
  356. package/src/components/Table/components/TableRows/components/CollapsableRows/hook.ts +20 -0
  357. package/src/components/Table/components/TableRows/tableRows.tsx +18 -15
  358. package/src/components/Table/components/TableToolbar/components/ColumnGrouping/columnGrouping.styles.ts +17 -0
  359. package/src/components/Table/components/TableToolbar/components/ColumnGrouping/columnGrouping.tsx +54 -0
  360. package/src/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/menuItems.tsx +28 -0
  361. package/src/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/types.ts +8 -0
  362. package/src/components/Table/components/TableToolbar/components/ColumnGrouping/constants.ts +17 -0
  363. package/src/components/Table/components/TableToolbar/components/ColumnGrouping/types.ts +5 -0
  364. package/src/components/Table/components/TableToolbar/components/ColumnGrouping/utils.ts +45 -0
  365. package/src/components/Table/components/TableToolbar/components/RowSelection/components/DropdownMenu/dropdownMenu.tsx +7 -20
  366. package/src/components/Table/components/TableToolbar/tableToolbar.tsx +8 -2
  367. package/src/components/Table/features/RowPosition/constants.ts +2 -2
  368. package/src/components/Table/features/RowPosition/utils.ts +10 -5
  369. package/src/components/Table/options/updater.ts +29 -0
  370. package/src/components/Table/table.tsx +43 -25
  371. package/src/components/TableCreator/common/constants.ts +4 -6
  372. package/src/components/TableCreator/common/utils.ts +14 -7
  373. package/src/components/TableCreator/options/expanded/constants.ts +14 -0
  374. package/src/components/TableCreator/options/expanded/hook.ts +6 -0
  375. package/src/components/TableCreator/options/grouping/constants.ts +6 -0
  376. package/src/components/TableCreator/options/grouping/hook.ts +17 -0
  377. package/src/components/TableCreator/options/hook.ts +31 -0
  378. package/src/components/TableCreator/options/rowSelection/constants.ts +10 -0
  379. package/src/components/TableCreator/options/rowSelection/hook.ts +8 -0
  380. package/src/components/TableCreator/options/sorting/constants.ts +10 -0
  381. package/src/components/TableCreator/options/sorting/hook.ts +6 -0
  382. package/src/components/TableCreator/tableCreator.tsx +4 -11
  383. package/src/components/common/Banner/components/SessionTimeout/sessionTimeout.tsx +1 -1
  384. package/src/components/common/CustomIcon/common/entities.ts +1 -4
  385. package/src/components/common/CustomIcon/components/GoogleIcon/googleIcon.tsx +3 -4
  386. package/src/components/common/DropdownMenu/dropdownMenu.styles.ts +1 -1
  387. package/src/components/common/DropdownMenu/dropdownMenu.tsx +19 -17
  388. package/src/components/common/Menu/hooks/useMenu.ts +8 -9
  389. package/src/config/entities.ts +30 -34
  390. package/src/config/utils.ts +0 -14
  391. package/src/hooks/authentication/auth/useAuthReducer.ts +16 -0
  392. package/src/hooks/authentication/authentication/useAuthenticationReducer.ts +16 -0
  393. package/src/hooks/authentication/config/useAuthenticationConfig.ts +13 -0
  394. package/src/hooks/authentication/credentials/useCredentialsReducer.ts +13 -0
  395. package/src/hooks/authentication/profile/types.ts +9 -0
  396. package/src/hooks/authentication/profile/useProfile.ts +21 -0
  397. package/src/hooks/authentication/providers/types.ts +7 -0
  398. package/src/hooks/authentication/providers/useProviders.ts +23 -0
  399. package/src/hooks/authentication/session/useSessionActive.ts +51 -0
  400. package/src/hooks/authentication/session/useSessionCallbackUrl.ts +25 -0
  401. package/src/hooks/authentication/session/useSessionIdleTimer.ts +10 -0
  402. package/src/hooks/{useSessionTimeout.ts → authentication/session/useSessionTimeout.ts} +2 -2
  403. package/src/hooks/{useAuthentication → authentication/terra}/useAuthenticationForm.ts +8 -13
  404. package/src/hooks/{useAuthentication → authentication/terra}/useAuthenticationNIHExpiry.ts +3 -4
  405. package/src/hooks/authentication/token/types.ts +5 -0
  406. package/src/hooks/authentication/token/useToken.ts +9 -0
  407. package/src/hooks/authentication/token/useTokenReducer.ts +19 -0
  408. package/src/hooks/useEntityList.ts +2 -2
  409. package/src/hooks/useFetchEntity.tsx +3 -3
  410. package/src/hooks/useFileManifest/useFetchFilesFacets.ts +2 -3
  411. package/src/hooks/useFileManifest/useFetchSummary.ts +2 -3
  412. package/src/hooks/useRequestFileLocation.ts +2 -3
  413. package/src/hooks/useRouteHistory.ts +65 -0
  414. package/src/hooks/useRouteRoot.ts +11 -0
  415. package/src/hooks/useSummary.ts +3 -3
  416. package/src/providers/authentication/auth/actions.ts +17 -0
  417. package/src/providers/authentication/auth/constants.ts +6 -0
  418. package/src/providers/authentication/auth/context.ts +9 -0
  419. package/src/providers/authentication/auth/dispatch.ts +58 -0
  420. package/src/providers/authentication/auth/hook.ts +11 -0
  421. package/src/providers/authentication/auth/reducer.ts +25 -0
  422. package/src/providers/authentication/auth/types.ts +63 -0
  423. package/src/providers/authentication/authentication/actions.ts +17 -0
  424. package/src/providers/authentication/authentication/constants.ts +6 -0
  425. package/src/providers/authentication/authentication/context.ts +8 -0
  426. package/src/providers/authentication/authentication/dispatch.ts +55 -0
  427. package/src/providers/authentication/authentication/hook.ts +11 -0
  428. package/src/providers/authentication/authentication/reducer.ts +34 -0
  429. package/src/providers/authentication/authentication/types.ts +64 -0
  430. package/src/providers/authentication/authentication/utils.ts +25 -0
  431. package/src/providers/authentication/common/types.ts +1 -0
  432. package/src/providers/authentication/common/utils.ts +11 -0
  433. package/src/providers/authentication/credentials/actions.ts +17 -0
  434. package/src/providers/authentication/credentials/constants.ts +5 -0
  435. package/src/providers/authentication/credentials/context.ts +8 -0
  436. package/src/providers/authentication/credentials/dispatch.ts +31 -0
  437. package/src/providers/authentication/credentials/hook.ts +11 -0
  438. package/src/providers/authentication/credentials/reducer.ts +30 -0
  439. package/src/providers/authentication/credentials/types.ts +33 -0
  440. package/src/providers/authentication/terra/context.ts +16 -0
  441. package/src/providers/authentication/terra/hook.ts +11 -0
  442. package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/constants.ts +9 -0
  443. package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/entities.ts +1 -7
  444. package/src/providers/authentication/terra/hooks/useFetchProfiles.ts +61 -0
  445. package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraNIHProfile.ts +18 -7
  446. package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraProfile.ts +18 -7
  447. package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraTermsOfService.ts +18 -7
  448. package/src/providers/authentication/terra/hooks/utils.ts +29 -0
  449. package/src/providers/authentication/terra/provider.tsx +60 -0
  450. package/src/providers/authentication/terra/types.ts +23 -0
  451. package/src/providers/authentication/terra/utils.ts +49 -0
  452. package/src/providers/authentication/token/constants.ts +6 -0
  453. package/src/providers/authentication/token/dispatch.ts +29 -0
  454. package/src/providers/authentication/token/reducer.ts +26 -0
  455. package/src/providers/authentication/token/types.ts +36 -0
  456. package/src/providers/exploreState/actions/updateGrouping/action.ts +26 -0
  457. package/src/providers/exploreState/actions/updateGrouping/dispatch.ts +16 -0
  458. package/src/providers/exploreState/actions/updateGrouping/types.ts +11 -0
  459. package/src/providers/exploreState/actions/updateGrouping/utils.ts +33 -0
  460. package/src/providers/exploreState/entities.ts +3 -3
  461. package/src/providers/exploreState/initializer/utils.ts +58 -10
  462. package/src/providers/exploreState/payloads/entities.ts +2 -0
  463. package/src/providers/exploreState/utils.ts +10 -7
  464. package/src/providers/exploreState.tsx +32 -10
  465. package/src/providers/googleSignInAuthentication/common/types.ts +28 -0
  466. package/src/providers/googleSignInAuthentication/constants.ts +17 -0
  467. package/src/providers/googleSignInAuthentication/hooks/useGoogleSignInService.ts +53 -0
  468. package/src/providers/googleSignInAuthentication/profile/types.ts +15 -0
  469. package/src/providers/googleSignInAuthentication/profile/utils.ts +29 -0
  470. package/src/providers/googleSignInAuthentication/provider.tsx +53 -0
  471. package/src/providers/googleSignInAuthentication/service/constants.ts +16 -0
  472. package/src/providers/googleSignInAuthentication/service/service.ts +68 -0
  473. package/src/providers/googleSignInAuthentication/types.ts +7 -0
  474. package/src/providers/nextAuthAuthentication/hooks/useNextAuthService.ts +26 -0
  475. package/src/providers/nextAuthAuthentication/provider.tsx +42 -0
  476. package/src/providers/nextAuthAuthentication/service/service.ts +14 -0
  477. package/src/providers/nextAuthAuthentication/types.ts +9 -0
  478. package/src/routes/constants.ts +3 -0
  479. package/src/styles/common/mui/button.ts +20 -0
  480. package/src/styles/common/mui/paper.ts +11 -0
  481. package/src/styles/common/mui/popover.ts +19 -0
  482. package/src/theme/common/entities.ts +7 -0
  483. package/src/views/ExploreView/exploreView.tsx +1 -3
  484. package/src/views/LoginView/loginView.tsx +15 -9
  485. package/tests/getProfileStatus.test.ts +290 -0
  486. package/tests/terraProfileProvider.test.tsx +121 -0
  487. package/tests/transformRoute.test.ts +21 -0
  488. package/tests/useRouteHistory.test.ts +97 -0
  489. package/tests/useSessionActive.test.ts +107 -0
  490. package/types/data-explorer-ui.d.ts +8 -1
  491. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.d.ts +0 -5
  492. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.js +0 -29
  493. package/lib/components/Login/login.stories.d.ts +0 -6
  494. package/lib/components/Login/login.stories.js +0 -31
  495. package/lib/components/TableCreator/common/entities.d.ts +0 -5
  496. package/lib/components/common/Button/components/LoginButton/loginButton.d.ts +0 -3
  497. package/lib/components/common/Button/components/LoginButton/loginButton.js +0 -6
  498. package/lib/components/common/Button/components/LoginButton/loginButton.styles.d.ts +0 -7
  499. package/lib/components/common/Button/components/LoginButton/loginButton.styles.js +0 -11
  500. package/lib/hooks/useAuthentication/useAuthentication.d.ts +0 -6
  501. package/lib/hooks/useAuthentication/useAuthentication.js +0 -9
  502. package/lib/hooks/useAuthentication/useAuthenticationComplete.d.ts +0 -6
  503. package/lib/hooks/useAuthentication/useAuthenticationComplete.js +0 -55
  504. package/lib/hooks/useAuthentication/useAuthenticationStatus.d.ts +0 -20
  505. package/lib/hooks/useAuthentication/useAuthenticationStatus.js +0 -32
  506. package/lib/hooks/useAuthentication/useFetchGoogleProfile.d.ts +0 -21
  507. package/lib/hooks/useAuthentication/useFetchGoogleProfile.js +0 -41
  508. package/lib/hooks/useAuthentication/useTokenClient.d.ts +0 -11
  509. package/lib/hooks/useAuthentication/useTokenClient.js +0 -29
  510. package/lib/hooks/useAuthenticationConfig.d.ts +0 -6
  511. package/lib/hooks/useAuthenticationConfig.js +0 -14
  512. package/lib/providers/authentication.d.ts +0 -51
  513. package/lib/providers/authentication.js +0 -110
  514. package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.tsx +0 -35
  515. package/src/components/Login/login.stories.tsx +0 -43
  516. package/src/components/TableCreator/common/entities.ts +0 -6
  517. package/src/components/common/Button/components/LoginButton/loginButton.styles.ts +0 -13
  518. package/src/components/common/Button/components/LoginButton/loginButton.tsx +0 -16
  519. package/src/hooks/useAuthentication/useAuthentication.tsx +0 -10
  520. package/src/hooks/useAuthentication/useAuthenticationComplete.ts +0 -66
  521. package/src/hooks/useAuthentication/useAuthenticationStatus.ts +0 -49
  522. package/src/hooks/useAuthentication/useFetchGoogleProfile.ts +0 -68
  523. package/src/hooks/useAuthentication/useTokenClient.ts +0 -54
  524. package/src/hooks/useAuthenticationConfig.ts +0 -18
  525. package/src/providers/authentication.tsx +0 -181
  526. package/tests/authentication.test.ts +0 -142
  527. package/tests/useAuthenticationStatus.test.ts +0 -155
  528. /package/lib/components/{TableCreator/common/entities.js → Authentication/components/SessionController/components/GoogleSessionController/types.js} +0 -0
  529. /package/lib/hooks/{useSessionTimeout.d.ts → authentication/session/useSessionTimeout.d.ts} +0 -0
  530. /package/lib/hooks/{useAuthentication → authentication/terra}/useAuthenticationNIHExpiry.d.ts +0 -0
  531. /package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/utils.d.ts +0 -0
  532. /package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/utils.js +0 -0
  533. /package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraNIHProfile.d.ts +0 -0
  534. /package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraProfile.d.ts +0 -0
  535. /package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraTermsOfService.d.ts +0 -0
  536. /package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/utils.ts +0 -0
@@ -1,16 +1,15 @@
1
- import { PopperProps as MPopperProps } from "@mui/material";
2
1
  import { MouseEvent } from "react";
3
- export interface UseMenu {
4
- anchorEl: MPopperProps["anchorEl"];
2
+ export interface UseMenu<E extends HTMLElement> {
3
+ anchorEl: E | null;
5
4
  onClose: () => void;
6
5
  onDisableScrollLock: () => void;
7
6
  onEnableScrollLock: () => void;
8
- onOpen: (event: MouseEvent<HTMLElement>) => void;
9
- onToggleOpen: (event: MouseEvent<HTMLElement>) => void;
7
+ onOpen: (event: MouseEvent<E>) => void;
8
+ onToggleOpen: (event: MouseEvent<E>) => void;
10
9
  open: boolean;
11
10
  }
12
11
  /**
13
12
  * Menu functionality for menu dropdown, with menu position.
14
13
  * @returns menu functionality.
15
14
  */
16
- export declare const useMenu: () => UseMenu;
15
+ export declare const useMenu: <E extends HTMLElement>() => UseMenu<E>;
@@ -1,12 +1,14 @@
1
1
  import { TabProps as MTabProps, Theme, ThemeOptions } from "@mui/material";
2
- import { CellContext, ColumnMeta, ColumnSort, RowData, Table, TableOptions } from "@tanstack/react-table";
2
+ import { CellContext, ColumnDef, ColumnMeta, ColumnSort, GroupingState, RowData, Table, TableOptions } from "@tanstack/react-table";
3
3
  import { JSXElementConstructor, ReactNode } from "react";
4
4
  import { SelectCategoryValueView, SelectedFilter } from "../common/entities";
5
5
  import { HeroTitle } from "../components/common/Title/title";
6
6
  import { FooterProps } from "../components/Layout/components/Footer/footer";
7
7
  import { HeaderProps } from "../components/Layout/components/Header/header";
8
8
  import { ExploreMode } from "../hooks/useExploreMode";
9
- import { AuthContextProps } from "../providers/authentication";
9
+ import { AuthState } from "../providers/authentication/auth/types";
10
+ import { UserProfile } from "../providers/authentication/authentication/types";
11
+ import { ProviderId } from "../providers/authentication/common/types";
10
12
  import { ExploreState } from "../providers/exploreState";
11
13
  import { FileManifestState } from "../providers/fileManifestState";
12
14
  import { SystemStatus, SystemStatusResponse } from "../providers/systemStatus";
@@ -22,13 +24,17 @@ export interface AnalyticsConfig {
22
24
  * Interface to define the authentication configuration for a given site.
23
25
  */
24
26
  export interface AuthenticationConfig {
25
- googleGISAuthConfig?: GoogleGISAuthConfig;
27
+ providers?: OAuthProvider[];
28
+ services?: AuthService[];
26
29
  termsOfService?: ReactNode;
27
- terraAuthConfig?: TerraAuthConfig;
28
30
  text?: ReactNode;
29
31
  title: string;
30
32
  warning?: ReactNode;
31
33
  }
34
+ export interface AuthService {
35
+ endpoint: Record<string, string>;
36
+ id: string;
37
+ }
32
38
  /**
33
39
  * Interface to define the set of components that will be used for the back page.
34
40
  */
@@ -70,19 +76,19 @@ export interface CategoryConfig {
70
76
  }
71
77
  /**
72
78
  * Column configuration.
79
+ * TanStack ColumnDef properties not currently supported include:
80
+ * - `enableMultiSort` - Note, table multi-sort is managed via table options.
73
81
  */
74
- export interface ColumnConfig<T = any, C extends keyof JSX.IntrinsicElements | JSXElementConstructor<any> = any> {
82
+ export type ColumnConfig<T extends RowData, TValue = unknown, C extends keyof JSX.IntrinsicElements | JSXElementConstructor<any> = any> = Omit<ColumnDef<T, TValue>, "enableMultiSort"> & {
75
83
  columnPinned?: boolean;
76
84
  columnVisible?: boolean;
77
85
  componentConfig: ComponentConfig<C, T>;
78
86
  disableHiding?: boolean;
79
- disableSorting?: boolean;
80
87
  header: string;
81
88
  id: string;
82
89
  meta?: ColumnMeta<T, unknown>;
83
- tooltip?: string;
84
90
  width: GridTrackSize;
85
- }
91
+ };
86
92
  /**
87
93
  * Interface used to define the configuration of a component.
88
94
  * This will be used by @see ComponentCreator to create a React component with the given props and
@@ -169,14 +175,6 @@ export type GetIdFunction<T> = (detail: T) => string;
169
175
  * Get title function.
170
176
  */
171
177
  export type GetTitleFunction<T> = (detail?: T) => string | undefined;
172
- /**
173
- * Google GIS authentication configuration.
174
- */
175
- export interface GoogleGISAuthConfig {
176
- clientId: string;
177
- googleProfileEndpoint: string;
178
- scope: string;
179
- }
180
178
  /**
181
179
  * Grid track configuration.
182
180
  */
@@ -213,19 +211,24 @@ export interface ListViewConfig {
213
211
  disablePagination?: boolean;
214
212
  enableDownload?: boolean;
215
213
  enableRowPreview?: boolean;
216
- enableRowSelection?: boolean;
217
214
  enableTab?: boolean;
218
215
  listHero?: ComponentsConfig;
219
216
  rowPreviewView?: ComponentsConfig;
220
217
  rowSelectionView?: ComponentsConfig;
221
218
  subTitleHero?: ComponentsConfig;
222
219
  }
223
- /**
224
- * Interface to define the authentication login notice component.
225
- */
226
- export interface LoginNotice {
227
- conditionsUrl: string;
228
- privacyUrl: string;
220
+ export interface OAuthProvider<P = any> {
221
+ authorization: {
222
+ params: {
223
+ scope: string;
224
+ };
225
+ };
226
+ clientId: string;
227
+ icon: ReactNode;
228
+ id: ProviderId;
229
+ name: string;
230
+ profile: (profile: P) => UserProfile;
231
+ userinfo: string;
229
232
  }
230
233
  /**
231
234
  * Option Method.
@@ -250,6 +253,7 @@ export interface Override {
250
253
  }
251
254
  export interface SavedFilter {
252
255
  filters: SelectedFilter[];
256
+ grouping?: GroupingState;
253
257
  sorting?: ColumnSort[];
254
258
  title: string;
255
259
  }
@@ -345,11 +349,6 @@ export interface TabConfig {
345
349
  tabIconPosition?: MTabProps["iconPosition"];
346
350
  tabName?: string;
347
351
  }
348
- export interface TerraAuthConfig {
349
- termsOfServiceEndpoint: string;
350
- terraNIHProfileEndpoint?: string;
351
- terraProfileEndpoint: string;
352
- }
353
352
  /**
354
353
  * Theme options function.
355
354
  * Defines theme options, and provides a reference to the specified theme.
@@ -359,7 +358,7 @@ export type ThemeOptionsFn = (theme: Theme) => ThemeOptions;
359
358
  * View context.
360
359
  */
361
360
  export interface ViewContext<T extends RowData, TData = unknown> {
362
- authState: Pick<AuthContextProps, "authenticationStatus" | "isAuthenticated">;
361
+ authState: Pick<AuthState, "isAuthenticated">;
363
362
  cellContext?: CellContext<T, TData>;
364
363
  entityConfig: EntityConfig;
365
364
  exploreState: ExploreState;
@@ -1,4 +1,3 @@
1
- import { ColumnSort } from "@tanstack/react-table";
2
1
  import { EntityConfig, SiteConfig } from "./entities";
3
2
  /**
4
3
  * Returns context default config for config provider.
@@ -10,12 +9,6 @@ export declare function getDefaultConfig(): SiteConfig;
10
9
  * @returns context default entity config for config provider.
11
10
  */
12
11
  export declare function getDefaultEntityConfig(): EntityConfig;
13
- /**
14
- * Returns the initial table sorting state for the specified entity list configuration.
15
- * @param entityConfig - Entity configuration.
16
- * @returns initial sorting state.
17
- */
18
- export declare function getDefaultSorting(entityConfig: EntityConfig): ColumnSort[];
19
12
  /**
20
13
  * Returns the entity config for the given entity list type.
21
14
  * @param entities - Entities config.
@@ -46,18 +46,6 @@ export function getDefaultEntityConfig() {
46
46
  route: "",
47
47
  };
48
48
  }
49
- /**
50
- * Returns the initial table sorting state for the specified entity list configuration.
51
- * @param entityConfig - Entity configuration.
52
- * @returns initial sorting state.
53
- */
54
- export function getDefaultSorting(entityConfig) {
55
- const columnSort = entityConfig.list.defaultSort;
56
- if (!columnSort) {
57
- return [];
58
- }
59
- return [columnSort];
60
- }
61
49
  /**
62
50
  * Returns the entity config for the given entity list type.
63
51
  * @param entities - Entities config.
@@ -0,0 +1,2 @@
1
+ import { AuthContextProps } from "../../../providers/authentication/auth/types";
2
+ export declare const useAuthReducer: (initialState?: import("../../../providers/authentication/auth/types").AuthState) => Omit<AuthContextProps, "service">;
@@ -0,0 +1,8 @@
1
+ import { useReducer } from "react";
2
+ import { DEFAULT_AUTH_STATE } from "../../../providers/authentication/auth/constants";
3
+ import { authReducer } from "../../../providers/authentication/auth/reducer";
4
+ import { initializer } from "../../../providers/authentication/common/utils";
5
+ export const useAuthReducer = (initialState = DEFAULT_AUTH_STATE) => {
6
+ const [authState, authDispatch] = useReducer(authReducer, initialState, initializer);
7
+ return { authDispatch, authState };
8
+ };
@@ -0,0 +1,2 @@
1
+ import { AuthenticationContextProps } from "../../../providers/authentication/authentication/types";
2
+ export declare const useAuthenticationReducer: (initialState?: import("../../../providers/authentication/authentication/types").AuthenticationState) => AuthenticationContextProps;
@@ -0,0 +1,8 @@
1
+ import { useReducer } from "react";
2
+ import { DEFAULT_AUTHENTICATION_STATE } from "../../../providers/authentication/authentication/constants";
3
+ import { authenticationReducer } from "../../../providers/authentication/authentication/reducer";
4
+ import { initializer } from "../../../providers/authentication/common/utils";
5
+ export const useAuthenticationReducer = (initialState = DEFAULT_AUTHENTICATION_STATE) => {
6
+ const [authenticationState, authenticationDispatch] = useReducer(authenticationReducer, initialState, initializer);
7
+ return { authenticationDispatch, authenticationState };
8
+ };
@@ -0,0 +1,6 @@
1
+ import { AuthenticationConfig } from "../../../config/entities";
2
+ /**
3
+ * Returns the authentication configuration.
4
+ * @returns authentication configuration.
5
+ */
6
+ export declare const useAuthenticationConfig: () => AuthenticationConfig | undefined;
@@ -0,0 +1,9 @@
1
+ import { useConfig } from "../../useConfig";
2
+ /**
3
+ * Returns the authentication configuration.
4
+ * @returns authentication configuration.
5
+ */
6
+ export const useAuthenticationConfig = () => {
7
+ const { config: { authentication }, } = useConfig();
8
+ return authentication;
9
+ };
@@ -0,0 +1,2 @@
1
+ import { CredentialsContextProps } from "../../../providers/authentication/credentials/types";
2
+ export declare const useCredentialsReducer: () => CredentialsContextProps;
@@ -0,0 +1,7 @@
1
+ import { useReducer } from "react";
2
+ import { DEFAULT_CREDENTIALS_STATE } from "../../../providers/authentication/credentials/constants";
3
+ import { credentialsReducer } from "../../../providers/authentication/credentials/reducer";
4
+ export const useCredentialsReducer = () => {
5
+ const [credentialsState, credentialsDispatch] = useReducer(credentialsReducer, undefined, () => DEFAULT_CREDENTIALS_STATE);
6
+ return { credentialsDispatch, credentialsState };
7
+ };
@@ -0,0 +1,5 @@
1
+ import { Profile, UserProfile } from "../../../providers/authentication/authentication/types";
2
+ export interface UseProfile {
3
+ isLoading: boolean;
4
+ profile: Profile<UserProfile>;
5
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { UseProfile } from "./types";
2
+ /**
3
+ * Profile hook - returns user profile.
4
+ * @returns user profile.
5
+ */
6
+ export declare const useProfile: () => UseProfile;
@@ -0,0 +1,15 @@
1
+ import { useAuth } from "../../../providers/authentication/auth/hook";
2
+ import { AUTH_STATUS } from "../../../providers/authentication/auth/types";
3
+ import { useAuthentication } from "../../../providers/authentication/authentication/hook";
4
+ /**
5
+ * Profile hook - returns user profile.
6
+ * @returns user profile.
7
+ */
8
+ export const useProfile = () => {
9
+ const { authState: { status }, } = useAuth();
10
+ const { authenticationState: { profile }, } = useAuthentication();
11
+ return {
12
+ isLoading: status === AUTH_STATUS.PENDING,
13
+ profile: profile,
14
+ };
15
+ };
@@ -0,0 +1,6 @@
1
+ import { OAuthProvider } from "../../../config/entities";
2
+ import { ProviderId } from "../../../providers/authentication/common/types";
3
+ export interface UseProviders {
4
+ findProvider: (providerId: ProviderId) => OAuthProvider | undefined;
5
+ providers: OAuthProvider[] | undefined;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { UseProviders } from "./types";
2
+ /**
3
+ * Hook to facilitate the retrieval of authentication providers.
4
+ * @returns authentication providers and a function to find a provider by id.
5
+ */
6
+ export declare const useProviders: () => UseProviders;
@@ -0,0 +1,14 @@
1
+ import { useCallback } from "react";
2
+ import { useConfig } from "../../useConfig";
3
+ /**
4
+ * Hook to facilitate the retrieval of authentication providers.
5
+ * @returns authentication providers and a function to find a provider by id.
6
+ */
7
+ export const useProviders = () => {
8
+ const { config } = useConfig();
9
+ const providers = config.authentication?.providers;
10
+ const findProvider = useCallback((providerId) => {
11
+ return providers?.find(({ id }) => id === providerId);
12
+ }, [providers]);
13
+ return { findProvider, providers };
14
+ };
@@ -0,0 +1,12 @@
1
+ import { AuthState } from "../../../providers/authentication/auth/types";
2
+ import { AuthenticationState } from "../../../providers/authentication/authentication/types";
3
+ export declare const useSessionActive: (authState: AuthState, authenticationState: AuthenticationState) => void;
4
+ /**
5
+ * Finds the most recent route in the history that is not the login route and removes the inactivity timeout query parameter.
6
+ * The inactivity timeout query parameter is appended to a URL to indicate that a session has expired. This function iterates
7
+ * through the history of routes in reverse order, skipping any routes that lead to the login page, and returns the first route
8
+ * that isn't the login route with the inactivity timeout parameter removed.
9
+ * @param routes - An array of routes representing the navigation history, in order of navigation.
10
+ * @returns The most recent valid route without the inactivity timeout parameter, or `undefined` if no such route is found.
11
+ */
12
+ export declare function transformRoute(routes: string[]): string | undefined;
@@ -0,0 +1,36 @@
1
+ import Router from "next/router";
2
+ import { useEffect } from "react";
3
+ import { escapeRegExp } from "../../../common/utils";
4
+ import { AUTH_STATUS, } from "../../../providers/authentication/auth/types";
5
+ import { AUTHENTICATION_STATUS, } from "../../../providers/authentication/authentication/types";
6
+ import { ROUTE } from "../../../routes/constants";
7
+ import { useRouteHistory } from "../../useRouteHistory";
8
+ import { INACTIVITY_PARAM } from "./useSessionTimeout";
9
+ export const useSessionActive = (authState, authenticationState) => {
10
+ const { status: authStatus } = authState;
11
+ const { status: authenticationStatus } = authenticationState;
12
+ const { callbackUrl } = useRouteHistory(2);
13
+ const isReady = authenticationStatus === AUTHENTICATION_STATUS.SETTLED &&
14
+ authStatus === AUTH_STATUS.SETTLED;
15
+ useEffect(() => {
16
+ if (!isReady)
17
+ return;
18
+ Router.push(callbackUrl(transformRoute));
19
+ }, [callbackUrl, isReady]);
20
+ };
21
+ /**
22
+ * Finds the most recent route in the history that is not the login route and removes the inactivity timeout query parameter.
23
+ * The inactivity timeout query parameter is appended to a URL to indicate that a session has expired. This function iterates
24
+ * through the history of routes in reverse order, skipping any routes that lead to the login page, and returns the first route
25
+ * that isn't the login route with the inactivity timeout parameter removed.
26
+ * @param routes - An array of routes representing the navigation history, in order of navigation.
27
+ * @returns The most recent valid route without the inactivity timeout parameter, or `undefined` if no such route is found.
28
+ */
29
+ export function transformRoute(routes) {
30
+ for (const route of routes) {
31
+ if (route === ROUTE.LOGIN) {
32
+ continue;
33
+ }
34
+ return route?.replace(new RegExp(`\\?${escapeRegExp(INACTIVITY_PARAM)}(?:$|[=&].*)`), "");
35
+ }
36
+ }
@@ -0,0 +1,4 @@
1
+ export interface UseSessionCallbackUrl {
2
+ callbackUrl: string | undefined;
3
+ }
4
+ export declare const useSessionCallbackUrl: () => UseSessionCallbackUrl;
@@ -0,0 +1,20 @@
1
+ import { useMemo } from "react";
2
+ import { useRouteRoot } from "../../useRouteRoot";
3
+ import { INACTIVITY_PARAM } from "./useSessionTimeout";
4
+ export const useSessionCallbackUrl = () => {
5
+ const route = useRouteRoot();
6
+ const callbackUrl = useMemo(() => getUrl(route), [route]);
7
+ return { callbackUrl };
8
+ };
9
+ /**
10
+ * Returns the URL with the inactivity query parameter set to true.
11
+ * @param url - URL.
12
+ * @returns URL.
13
+ */
14
+ function getUrl(url) {
15
+ if (typeof window === "undefined")
16
+ return;
17
+ const urlObj = new URL(url, window.location.origin);
18
+ urlObj.searchParams.set(INACTIVITY_PARAM, "true");
19
+ return urlObj.href;
20
+ }
@@ -0,0 +1,6 @@
1
+ import { IIdleTimerProps } from "react-idle-timer/dist/types/IIdleTimerProps";
2
+ /**
3
+ * Sets a session timeout that triggers when the user has been idle for the specified duration.
4
+ * @param idleTimerProps - The parameters for the session timeout.
5
+ */
6
+ export declare const useSessionIdleTimer: (idleTimerProps: IIdleTimerProps) => void;
@@ -0,0 +1,8 @@
1
+ import { useIdleTimer } from "react-idle-timer";
2
+ /**
3
+ * Sets a session timeout that triggers when the user has been idle for the specified duration.
4
+ * @param idleTimerProps - The parameters for the session timeout.
5
+ */
6
+ export const useSessionIdleTimer = (idleTimerProps) => {
7
+ useIdleTimer(idleTimerProps);
8
+ };
@@ -1,7 +1,7 @@
1
1
  import Router from "next/router";
2
2
  import { useCallback, useEffect, useState } from "react";
3
- import { useConfig } from "./useConfig";
4
- import { useLocation } from "./useLocation";
3
+ import { useConfig } from "../../useConfig";
4
+ import { useLocation } from "../../useLocation";
5
5
  export const INACTIVITY_PARAM = "inactivityTimeout";
6
6
  /**
7
7
  * Session timeout hook.
@@ -9,7 +9,6 @@ export declare enum ONBOARDING_STEP {
9
9
  }
10
10
  interface UseAuthenticationForm {
11
11
  isComplete: boolean;
12
- isReady: boolean;
13
12
  onboardingStatusByStep: Map<ONBOARDING_STEP, OnboardingStatus>;
14
13
  }
15
14
  /**
@@ -1,5 +1,4 @@
1
- import { AUTHENTICATION_STATUS, } from "./common/entities";
2
- import { useAuthentication } from "./useAuthentication";
1
+ import { useTerraProfile } from "../../../providers/authentication/terra/hook";
3
2
  export var ONBOARDING_STEP;
4
3
  (function (ONBOARDING_STEP) {
5
4
  ONBOARDING_STEP[ONBOARDING_STEP["NIH_ACCOUNT"] = 3] = "NIH_ACCOUNT";
@@ -11,14 +10,12 @@ export var ONBOARDING_STEP;
11
10
  * @returns onboarding steps and corresponding status.
12
11
  */
13
12
  export const useAuthenticationForm = () => {
14
- const authentication = useAuthentication();
15
- const isReady = authentication.authenticationStatus === AUTHENTICATION_STATUS.COMPLETED;
16
- const loginStatuses = concatLoginStatuses(authentication).filter(filterLoginStatus);
13
+ const terraProfile = useTerraProfile();
14
+ const loginStatuses = concatLoginStatuses(terraProfile).filter(filterLoginStatus);
17
15
  const onboardingStatusByStep = getOnboardingStatusByStep(loginStatuses);
18
16
  const isComplete = isAuthenticationComplete(onboardingStatusByStep);
19
17
  return {
20
18
  isComplete,
21
- isReady,
22
19
  onboardingStatusByStep,
23
20
  };
24
21
  };
@@ -37,11 +34,11 @@ function isAuthenticationComplete(onboardingStatusByStep) {
37
34
  }
38
35
  /**
39
36
  * Returns all login statuses, ordered by onboarding step.
40
- * @param authentication - Authentication.
37
+ * @param terraProfile - Terra profile.
41
38
  * @returns login statuses.
42
39
  */
43
- function concatLoginStatuses(authentication) {
44
- const { terraNIHProfileLoginStatus, terraProfileLoginStatus, terraTOSLoginStatus, } = authentication;
40
+ function concatLoginStatuses(terraProfile) {
41
+ const { terraNIHProfileLoginStatus, terraProfileLoginStatus, terraTOSLoginStatus, } = terraProfile;
45
42
  return [
46
43
  terraProfileLoginStatus,
47
44
  terraTOSLoginStatus,
@@ -1,13 +1,12 @@
1
- import { REQUEST_STATUS } from "./common/entities";
2
- import { useAuthentication } from "./useAuthentication";
1
+ import { useTerraProfile } from "../../../providers/authentication/terra/hook";
2
+ import { REQUEST_STATUS } from "../../../providers/authentication/terra/hooks/common/entities";
3
3
  const WARNING_WINDOW_SECONDS = 60 * 60 * 24 * 5; // 5 days.
4
4
  /**
5
5
  * Handles authentication NIH expiry.
6
6
  * @returns NIH expiry status.
7
7
  */
8
8
  export const useAuthenticationNIHExpiry = () => {
9
- const authentication = useAuthentication();
10
- const { terraNIHProfileLoginStatus } = authentication;
9
+ const { terraNIHProfileLoginStatus } = useTerraProfile();
11
10
  const { requestStatus, response } = terraNIHProfileLoginStatus;
12
11
  const { linkExpireTime } = response || {};
13
12
  const isReady = requestStatus === REQUEST_STATUS.COMPLETED;
@@ -0,0 +1,4 @@
1
+ import { Credentials } from "../../../providers/authentication/credentials/types";
2
+ export interface UseToken {
3
+ token: Credentials;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { UseToken } from "./types";
2
+ export declare const useToken: () => UseToken;
@@ -0,0 +1,5 @@
1
+ import { useCredentials } from "../../../providers/authentication/credentials/hook";
2
+ export const useToken = () => {
3
+ const { credentialsState: { credentials: token }, } = useCredentials();
4
+ return { token };
5
+ };
@@ -0,0 +1,7 @@
1
+ import { TokenContextProps } from "../../../providers/authentication/token/types";
2
+ /**
3
+ * Token reducer: Manages the internal state of the token within the OAuth provider.
4
+ * This reducer handles the token locally until certain conditions are met.
5
+ * For releasing the token to the rest of the app, use the credentials reducer.
6
+ */
7
+ export declare const useTokenReducer: () => TokenContextProps;
@@ -0,0 +1,12 @@
1
+ import { useReducer } from "react";
2
+ import { DEFAULT_TOKEN_STATE } from "../../../providers/authentication/token/constants";
3
+ import { tokenReducer } from "../../../providers/authentication/token/reducer";
4
+ /**
5
+ * Token reducer: Manages the internal state of the token within the OAuth provider.
6
+ * This reducer handles the token locally until certain conditions are met.
7
+ * For releasing the token to the rest of the app, use the credentials reducer.
8
+ */
9
+ export const useTokenReducer = () => {
10
+ const [tokenState, tokenDispatch] = useReducer(tokenReducer, undefined, () => DEFAULT_TOKEN_STATE);
11
+ return { tokenDispatch, tokenState };
12
+ };
@@ -3,8 +3,8 @@ import { transformAzulPagination, transformFilters, transformTermFacets, } from
3
3
  import { getEntityConfig } from "../config/utils";
4
4
  import { ExploreActionKind } from "../providers/exploreState";
5
5
  import { DEFAULT_PAGINATION_STATE } from "../providers/exploreState/initializer/constants";
6
+ import { useToken } from "./authentication/token/useToken";
6
7
  import { useAsync } from "./useAsync";
7
- import { useAuthentication } from "./useAuthentication/useAuthentication";
8
8
  import { useConfig } from "./useConfig";
9
9
  import { useEntityService } from "./useEntityService";
10
10
  import { EXPLORE_MODE, useExploreMode } from "./useExploreMode";
@@ -18,7 +18,7 @@ import { useURLFilterParams } from "./useURLFilterParams";
18
18
  */
19
19
  export const useEntityList = (staticResponse) => {
20
20
  const { data: staticData, entityListType } = staticResponse;
21
- const { token } = useAuthentication();
21
+ const { token } = useToken();
22
22
  const { config } = useConfig();
23
23
  const { apiPath } = getEntityConfig(config.entities, entityListType);
24
24
  const exploreMode = useExploreMode();
@@ -1,8 +1,8 @@
1
1
  import { useRouter } from "next/router";
2
2
  import { useEffect, useMemo } from "react";
3
3
  import { PARAMS_INDEX_UUID } from "../common/constants";
4
+ import { useToken } from "./authentication/token/useToken";
4
5
  import { useAsync } from "./useAsync";
5
- import { useAuthentication } from "./useAuthentication/useAuthentication";
6
6
  import { useEntityService } from "./useEntityService";
7
7
  import { EXPLORE_MODE, useExploreMode } from "./useExploreMode";
8
8
  import { useExploreState } from "./useExploreState";
@@ -14,7 +14,7 @@ import { useExploreState } from "./useExploreState";
14
14
  */
15
15
  export const useFetchEntity = (detailViewProps) => {
16
16
  const { data: staticData, entityListType } = detailViewProps || {};
17
- const { token } = useAuthentication();
17
+ const { token } = useToken();
18
18
  const exploreMode = useExploreMode();
19
19
  const { exploreState } = useExploreState();
20
20
  const { catalogState } = exploreState;
@@ -24,7 +24,8 @@ export const useFetchEntity = (detailViewProps) => {
24
24
  const uuid = params?.[PARAMS_INDEX_UUID];
25
25
  const { data: response, isIdle, isLoading, run } = useAsync();
26
26
  const entityResponse = response || staticData;
27
- const shouldFetchEntity = useMemo(() => isFetchRequired(exploreMode !== EXPLORE_MODE.CS_FETCH_CS_FILTERING, Boolean(token), Boolean(catalogState), Boolean(entityResponse)), [catalogState, entityResponse, exploreMode, token]);
27
+ const shouldFetchEntity = useMemo(() => isFetchRequired(exploreMode !== EXPLORE_MODE.CS_FETCH_CS_FILTERING, Boolean(token), // TODO(cc), note a fetch is required if the token is true, but is unable to re-fetch on logout when token is undefined! Page is required to reload!
28
+ Boolean(catalogState), Boolean(entityResponse)), [catalogState, entityResponse, exploreMode, token]);
28
29
  const isResponseLoading = shouldFetchEntity ? isIdle || isLoading : false;
29
30
  useEffect(() => {
30
31
  // Fetch entity if entity data originates from a request, and has not yet been requested.
@@ -2,8 +2,8 @@ import { useEffect, useMemo } from "react";
2
2
  import { APIEndpoints, } from "../../apis/azul/common/entities";
3
3
  import { fetchEntitiesFromURL } from "../../entity/common/service";
4
4
  import { fetchQueryParams } from "../../utils/fetchQueryParams";
5
+ import { useToken } from "../authentication/token/useToken";
5
6
  import { useAsync } from "../useAsync";
6
- import { useAuthentication } from "../useAuthentication/useAuthentication";
7
7
  import { useFetchRequestURL } from "../useFetchRequestURL";
8
8
  import { bindEntitySearchResultsResponse } from "./common/utils";
9
9
  /**
@@ -15,8 +15,7 @@ import { bindEntitySearchResultsResponse } from "./common/utils";
15
15
  * @returns files facets.
16
16
  */
17
17
  export const useFetchFilesFacets = (filters, catalog, searchParams, isEnabled) => {
18
- // Grab token from authentication.
19
- const { token } = useAuthentication();
18
+ const { token } = useToken();
20
19
  // Build request params.
21
20
  const requestParams = fetchQueryParams(filters, catalog, searchParams);
22
21
  // Build request URL.
@@ -2,8 +2,8 @@ import { useEffect } from "react";
2
2
  import { APIEndpoints, } from "../../apis/azul/common/entities";
3
3
  import { fetchSummaryFromURL } from "../../entity/api/service";
4
4
  import { fetchQueryParams } from "../../utils/fetchQueryParams";
5
+ import { useToken } from "../authentication/token/useToken";
5
6
  import { useAsync } from "../useAsync";
6
- import { useAuthentication } from "../useAuthentication/useAuthentication";
7
7
  import { useFetchRequestURL } from "../useFetchRequestURL";
8
8
  /**
9
9
  * Fetch file summary from summary endpoint, to populate summary in download flows.
@@ -13,8 +13,7 @@ import { useFetchRequestURL } from "../useFetchRequestURL";
13
13
  * @returns file summaries.
14
14
  */
15
15
  export const useFetchSummary = (filters, catalog, isEnabled) => {
16
- // Grab token from authentication.
17
- const { token } = useAuthentication();
16
+ const { token } = useToken();
18
17
  // Build request params.
19
18
  const requestParams = fetchQueryParams(filters, catalog, undefined);
20
19
  // Build request URL.