@databiosphere/findable-ui 46.1.2 → 47.0.2

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 (288) hide show
  1. package/.eslintrc.json +2 -1
  2. package/.github/copilot-instructions.md +176 -0
  3. package/.github/workflows/release-please.yml +8 -4
  4. package/.github/workflows/run-checks.yml +2 -2
  5. package/.release-please-manifest.json +1 -1
  6. package/CHANGELOG.md +33 -0
  7. package/README.md +4 -10
  8. package/docs/TRUSTED_PUBLISHING.md +133 -0
  9. package/lib/common/utils.js +1 -1
  10. package/lib/components/DataDictionary/components/Table/columns/columnDef.d.ts +6 -0
  11. package/lib/components/DataDictionary/components/Table/columns/columnDef.js +33 -0
  12. package/lib/components/DataDictionary/components/Table/columns/columnIdentifier.d.ts +5 -0
  13. package/lib/components/DataDictionary/components/Table/columns/columnIdentifier.js +5 -0
  14. package/lib/components/DataDictionary/components/Table/columns/types.d.ts +2 -0
  15. package/lib/components/DataDictionary/components/Table/columns/types.js +1 -0
  16. package/lib/components/DataDictionary/components/Table/components/BasicCell/types.d.ts +4 -0
  17. package/lib/components/DataDictionary/components/Table/components/BasicCell/types.js +1 -0
  18. package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.d.ts +4 -0
  19. package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.js +23 -0
  20. package/lib/components/DataDictionary/hooks/UseDataDictionary/types.d.ts +8 -0
  21. package/lib/components/DataDictionary/hooks/UseDataDictionary/types.js +1 -0
  22. package/lib/components/DataDictionary/hooks/UseLayoutSpacing/hook.d.ts +2 -0
  23. package/lib/components/DataDictionary/hooks/UseLayoutSpacing/hook.js +10 -0
  24. package/lib/components/DataDictionary/hooks/UseLayoutSpacing/types.d.ts +7 -0
  25. package/lib/components/DataDictionary/hooks/UseLayoutSpacing/types.js +1 -0
  26. package/lib/components/Detail/components/Table/components/TableHead/tableHead.d.ts +8 -0
  27. package/lib/components/Detail/components/Table/components/TableHead/tableHead.js +36 -0
  28. package/lib/components/Filter/components/Filter/filter.stories.d.ts +25 -0
  29. package/lib/components/Filter/components/Filter/filter.stories.js +42 -0
  30. package/lib/components/Filter/components/FilterTag/filterTag.stories.d.ts +16 -0
  31. package/lib/components/Filter/components/FilterTag/filterTag.stories.js +17 -0
  32. package/lib/components/Filter/components/Filters/filters.stories.d.ts +6 -0
  33. package/lib/components/Filter/components/Filters/filters.stories.js +91 -0
  34. package/lib/components/Filter/components/SearchAllFilters/components/AutocompletePopper/autocompletePopper.styles.d.ts +3 -0
  35. package/lib/components/Filter/components/SearchAllFilters/components/AutocompletePopper/autocompletePopper.styles.js +15 -0
  36. package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.stories.d.ts +6 -0
  37. package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.stories.js +82 -0
  38. package/lib/components/Filter/components/SearchAllFiltersSearch/components/SearchCloseButton/searchCloseButton.d.ts +1 -0
  39. package/lib/components/Filter/components/SearchAllFiltersSearch/components/SearchCloseButton/searchCloseButton.js +14 -0
  40. package/lib/components/Filter/components/SearchAllFiltersSearch/searchAllFiltersSearch.d.ts +2 -0
  41. package/lib/components/Filter/components/SearchAllFiltersSearch/searchAllFiltersSearch.js +12 -0
  42. package/lib/components/Filter/components/SearchAllFiltersSearch/searchAllFiltersSearch.styles.d.ts +5 -0
  43. package/lib/components/Filter/components/SearchAllFiltersSearch/searchAllFiltersSearch.styles.js +34 -0
  44. package/lib/components/Index/components/Cell/cell.d.ts +7 -0
  45. package/lib/components/Index/components/Cell/cell.js +10 -0
  46. package/lib/components/Index/components/EntitiesView/components/ChartView/chartView.d.ts +2 -0
  47. package/lib/components/Index/components/EntitiesView/components/ChartView/chartView.js +20 -0
  48. package/lib/components/Index/components/EntitiesView/components/ChartView/chartView.styles.d.ts +13 -0
  49. package/lib/components/Index/components/EntitiesView/components/ChartView/chartView.styles.js +12 -0
  50. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/constants.d.ts +10 -0
  51. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/constants.js +10 -0
  52. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/plot.d.ts +3 -0
  53. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/plot.js +91 -0
  54. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/utils.d.ts +132 -0
  55. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/utils.js +230 -0
  56. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/chart.d.ts +2 -0
  57. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/chart.js +7 -0
  58. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/chart.styles.d.ts +3 -0
  59. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/chart.styles.js +29 -0
  60. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/constants.d.ts +1 -0
  61. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/constants.js +1 -0
  62. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/stories/args.d.ts +4 -0
  63. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/stories/args.js +70 -0
  64. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/stories/chart.stories.d.ts +7 -0
  65. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/stories/chart.stories.js +18 -0
  66. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/types.d.ts +6 -0
  67. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/types.js +1 -0
  68. package/lib/components/Index/components/EntitiesView/components/ChartView/constants.d.ts +1 -0
  69. package/lib/components/Index/components/EntitiesView/components/ChartView/constants.js +1 -0
  70. package/lib/components/Index/components/EntitiesView/components/ChartView/hooks/UseChartView/types.d.ts +7 -0
  71. package/lib/components/Index/components/EntitiesView/components/ChartView/hooks/UseChartView/types.js +1 -0
  72. package/lib/components/Index/components/EntitiesView/components/ChartView/hooks/UseChartView/useChartView.d.ts +3 -0
  73. package/lib/components/Index/components/EntitiesView/components/ChartView/hooks/UseChartView/useChartView.js +11 -0
  74. package/lib/components/Index/components/EntitiesView/components/ChartView/stories/args.d.ts +3 -0
  75. package/lib/components/Index/components/EntitiesView/components/ChartView/stories/args.js +97 -0
  76. package/lib/components/Index/components/EntitiesView/components/ChartView/stories/chartView.stories.d.ts +6 -0
  77. package/lib/components/Index/components/EntitiesView/components/ChartView/stories/chartView.stories.js +15 -0
  78. package/lib/components/Index/components/EntitiesView/components/ChartView/types.d.ts +8 -0
  79. package/lib/components/Index/components/EntitiesView/components/ChartView/types.js +1 -0
  80. package/lib/components/Index/components/EntitiesView/components/ChartView/utils.d.ts +14 -0
  81. package/lib/components/Index/components/EntitiesView/components/ChartView/utils.js +23 -0
  82. package/lib/components/Index/components/EntitiesView/components/EntityList/entityList.d.ts +3 -0
  83. package/lib/components/Index/components/EntitiesView/components/EntityList/entityList.js +14 -0
  84. package/lib/components/Index/components/EntitiesView/components/EntityList/types.d.ts +6 -0
  85. package/lib/components/Index/components/EntitiesView/components/EntityList/types.js +1 -0
  86. package/lib/components/Index/components/EntitiesView/constants.d.ts +1 -0
  87. package/lib/components/Index/components/EntitiesView/constants.js +1 -0
  88. package/lib/components/Index/components/EntitiesView/entitiesView.d.ts +2 -0
  89. package/lib/components/Index/components/EntitiesView/entitiesView.js +15 -0
  90. package/lib/components/Index/components/EntitiesView/entitiesView.styles.d.ts +3 -0
  91. package/lib/components/Index/components/EntitiesView/entitiesView.styles.js +20 -0
  92. package/lib/components/Index/components/EntitiesView/hooks/UseEntitiesView/hook.d.ts +2 -0
  93. package/lib/components/Index/components/EntitiesView/hooks/UseEntitiesView/hook.js +14 -0
  94. package/lib/components/Index/components/EntitiesView/hooks/UseEntitiesView/types.d.ts +13 -0
  95. package/lib/components/Index/components/EntitiesView/hooks/UseEntitiesView/types.js +5 -0
  96. package/lib/components/Index/components/EntitiesView/stories/entitiesView.stories.d.ts +8 -0
  97. package/lib/components/Index/components/EntitiesView/stories/entitiesView.stories.js +50 -0
  98. package/lib/components/Index/components/EntitiesView/types.d.ts +8 -0
  99. package/lib/components/Index/components/EntitiesView/types.js +1 -0
  100. package/lib/components/Index/components/Hero/components/ExportButton/exportButton.d.ts +1 -0
  101. package/lib/components/Index/components/Hero/components/ExportButton/exportButton.js +13 -0
  102. package/lib/components/Index/components/Hero/components/ExportButton/exportButton.styles.d.ts +3 -0
  103. package/lib/components/Index/components/Hero/components/ExportButton/exportButton.styles.js +13 -0
  104. package/lib/components/Index/components/Hero/components/Summaries/stories/summaries.stories.d.ts +6 -0
  105. package/lib/components/Index/components/Hero/components/Summaries/stories/summaries.stories.js +14 -0
  106. package/lib/components/Index/components/Hero/components/Summaries/summaries.d.ts +9 -0
  107. package/lib/components/Index/components/Hero/components/Summaries/summaries.js +12 -0
  108. package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.d.ts +13 -0
  109. package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.js +18 -0
  110. package/lib/components/Index/components/Hero/components/Summaries/summaries.styles.d.ts +7 -0
  111. package/lib/components/Index/components/Hero/components/Summaries/summaries.styles.js +26 -0
  112. package/lib/components/Index/components/Hero/hero.d.ts +11 -0
  113. package/lib/components/Index/components/Hero/hero.js +12 -0
  114. package/lib/components/Index/components/Hero/hero.stories.d.ts +23 -0
  115. package/lib/components/Index/components/Hero/hero.stories.js +22 -0
  116. package/lib/components/Index/components/Hero/hero.styles.d.ts +16 -0
  117. package/lib/components/Index/components/Hero/hero.styles.js +44 -0
  118. package/lib/components/Index/components/Hero/stories/hero.stories.d.ts +6 -0
  119. package/lib/components/Index/components/Hero/stories/hero.stories.js +16 -0
  120. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.d.ts +8 -0
  121. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.js +57 -0
  122. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.styles.d.ts +4 -0
  123. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.styles.js +10 -0
  124. package/lib/components/Index/components/NTag/nTag.d.ts +10 -0
  125. package/lib/components/Index/components/NTag/nTag.js +8 -0
  126. package/lib/components/Index/components/NTagCell/nTagCell.d.ts +11 -0
  127. package/lib/components/Index/components/NTagCell/nTagCell.js +29 -0
  128. package/lib/components/Index/components/NTagCell/nTagCell.stories.d.ts +5 -0
  129. package/lib/components/Index/components/NTagCell/nTagCell.stories.js +16 -0
  130. package/lib/components/Index/components/Tabs/common/utils.d.ts +8 -0
  131. package/lib/components/Index/components/Tabs/common/utils.js +19 -0
  132. package/lib/components/Index/components/Tabs/tabs.d.ts +1 -0
  133. package/lib/components/Index/components/Tabs/tabs.js +20 -0
  134. package/lib/components/Index/components/TitleCell/titleCell.d.ts +6 -0
  135. package/lib/components/Index/components/TitleCell/titleCell.js +10 -0
  136. package/lib/components/Index/components/TitleCell/titleCell.styles.d.ts +3 -0
  137. package/lib/components/Index/components/TitleCell/titleCell.styles.js +6 -0
  138. package/lib/components/Index/index.stories.d.ts +6 -0
  139. package/lib/components/Index/index.stories.js +26 -0
  140. package/lib/components/Index/stories/index.stories.d.ts +6 -0
  141. package/lib/components/Index/stories/index.stories.js +17 -0
  142. package/lib/components/Layout/components/BackPage/components/BackPageHero/backPageHero.stories.d.ts +6 -0
  143. package/lib/components/Layout/components/BackPage/components/BackPageHero/backPageHero.stories.js +10 -0
  144. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.d.ts +5 -0
  145. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.js +29 -0
  146. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.d.ts +6 -0
  147. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.js +13 -0
  148. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.styles.d.ts +36 -0
  149. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.styles.js +9 -0
  150. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.d.ts +5 -0
  151. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.js +10 -0
  152. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.styles.d.ts +36 -0
  153. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.styles.js +9 -0
  154. package/lib/components/Layout/components/Header/hooks/useMeasureHeader.d.ts +5 -0
  155. package/lib/components/Layout/components/Header/hooks/useMeasureHeader.js +19 -0
  156. package/lib/components/Layout/components/Outline/common/constants.d.ts +2 -0
  157. package/lib/components/Layout/components/Outline/common/constants.js +1 -0
  158. package/lib/components/Links/components/Link/components/ExploreViewLink/exploreViewLink.js +1 -1
  159. package/lib/components/Login/login.stories.d.ts +6 -0
  160. package/lib/components/Login/login.stories.js +31 -0
  161. package/lib/components/Redirect/redirect.js +6 -1
  162. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.d.ts +16 -0
  163. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.js +28 -0
  164. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.stories.d.ts +5 -0
  165. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.stories.js +46 -0
  166. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.styles.d.ts +3 -0
  167. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.styles.js +21 -0
  168. package/lib/components/Table/components/DownloadEntityResults/downloadEntityResults.d.ts +6 -0
  169. package/lib/components/Table/components/DownloadEntityResults/downloadEntityResults.js +17 -0
  170. package/lib/components/Table/components/EntityViewToggle/entityViewToggle.d.ts +2 -0
  171. package/lib/components/Table/components/EntityViewToggle/entityViewToggle.js +37 -0
  172. package/lib/components/Table/components/Pagination/pagination.d.ts +9 -0
  173. package/lib/components/Table/components/Pagination/pagination.js +19 -0
  174. package/lib/components/Table/components/Pagination/pagination.stories.d.ts +28 -0
  175. package/lib/components/Table/components/Pagination/pagination.stories.js +24 -0
  176. package/lib/components/Table/components/Pagination/pagination.styles.d.ts +4 -0
  177. package/lib/components/Table/components/Pagination/pagination.styles.js +15 -0
  178. package/lib/components/Table/components/TableBody/hooks/virtualizer/constants.d.ts +3 -0
  179. package/lib/components/Table/components/TableBody/hooks/virtualizer/constants.js +3 -0
  180. package/lib/components/Table/components/TableBody/hooks/virtualizer/hook.d.ts +8 -0
  181. package/lib/components/Table/components/TableBody/hooks/virtualizer/hook.js +18 -0
  182. package/lib/components/Table/components/TableBody/hooks/virtualizer/types.d.ts +4 -0
  183. package/lib/components/Table/components/TableBody/hooks/virtualizer/types.js +1 -0
  184. package/lib/components/Table/components/TableBody/utils.d.ts +12 -0
  185. package/lib/components/Table/components/TableBody/utils.js +17 -0
  186. package/lib/components/Table/components/TableCell/components/MarkdownCell/stories/types.d.ts +3 -0
  187. package/lib/components/Table/components/TableCell/components/MarkdownCell/stories/types.js +1 -0
  188. package/lib/components/Table/components/TableCell/components/MarkdownCell/types.d.ts +3 -0
  189. package/lib/components/Table/components/TableCell/components/MarkdownCell/types.js +1 -0
  190. package/lib/components/TableCreator/common/constants.d.ts +6 -0
  191. package/lib/components/TableCreator/common/constants.js +19 -0
  192. package/lib/components/TableCreator/common/entities.d.ts +5 -0
  193. package/lib/components/TableCreator/common/entities.js +1 -0
  194. package/lib/components/TableCreator/tableCreator.styles.d.ts +4 -0
  195. package/lib/components/TableCreator/tableCreator.styles.js +4 -0
  196. package/lib/components/common/Alert/alert.stories.d.ts +6 -0
  197. package/lib/components/common/Alert/alert.stories.js +36 -0
  198. package/lib/components/common/Alert/components/AlertText/alertText.styles.d.ts +4 -0
  199. package/lib/components/common/Alert/components/AlertText/alertText.styles.js +19 -0
  200. package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.d.ts +7 -0
  201. package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.js +5 -0
  202. package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.styles.d.ts +3 -0
  203. package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.styles.js +19 -0
  204. package/lib/components/common/Banner/components/DismissibleBanner/dismissibleBanner.d.ts +10 -0
  205. package/lib/components/common/Banner/components/DismissibleBanner/dismissibleBanner.js +16 -0
  206. package/lib/components/common/Banner/components/SessionTimeout/sessionTimeout.styles.d.ts +3 -0
  207. package/lib/components/common/Banner/components/SessionTimeout/sessionTimeout.styles.js +21 -0
  208. package/lib/components/common/Button/components/LoginButton/loginButton.d.ts +3 -0
  209. package/lib/components/common/Button/components/LoginButton/loginButton.js +6 -0
  210. package/lib/components/common/Button/components/LoginButton/loginButton.styles.d.ts +7 -0
  211. package/lib/components/common/Button/components/LoginButton/loginButton.styles.js +11 -0
  212. package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.d.ts +5 -0
  213. package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.js +10 -0
  214. package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.stories.d.ts +3 -0
  215. package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.stories.js +9 -0
  216. package/lib/components/common/ToggleButtonGroup/toggleButtonGroup.js +2 -1
  217. package/lib/hooks/useAuthentication/common/constants.d.ts +4 -0
  218. package/lib/hooks/useAuthentication/common/constants.js +19 -0
  219. package/lib/hooks/useAuthentication/common/entities.d.ts +25 -0
  220. package/lib/hooks/useAuthentication/common/entities.js +11 -0
  221. package/lib/hooks/useAuthentication/common/utils.d.ts +15 -0
  222. package/lib/hooks/useAuthentication/common/utils.js +25 -0
  223. package/lib/hooks/useAuthentication/useAuthentication.d.ts +6 -0
  224. package/lib/hooks/useAuthentication/useAuthentication.js +9 -0
  225. package/lib/hooks/useAuthentication/useAuthenticationComplete.d.ts +6 -0
  226. package/lib/hooks/useAuthentication/useAuthenticationComplete.js +55 -0
  227. package/lib/hooks/useAuthentication/useAuthenticationForm.d.ts +20 -0
  228. package/lib/hooks/useAuthentication/useAuthenticationForm.js +88 -0
  229. package/lib/hooks/useAuthentication/useAuthenticationNIHExpiry.d.ts +18 -0
  230. package/lib/hooks/useAuthentication/useAuthenticationNIHExpiry.js +50 -0
  231. package/lib/hooks/useAuthentication/useAuthenticationStatus.d.ts +20 -0
  232. package/lib/hooks/useAuthentication/useAuthenticationStatus.js +32 -0
  233. package/lib/hooks/useAuthentication/useFetchGoogleProfile.d.ts +21 -0
  234. package/lib/hooks/useAuthentication/useFetchGoogleProfile.js +41 -0
  235. package/lib/hooks/useAuthentication/useFetchTerraNIHProfile.d.ts +18 -0
  236. package/lib/hooks/useAuthentication/useFetchTerraNIHProfile.js +62 -0
  237. package/lib/hooks/useAuthentication/useFetchTerraProfile.d.ts +24 -0
  238. package/lib/hooks/useAuthentication/useFetchTerraProfile.js +62 -0
  239. package/lib/hooks/useAuthentication/useFetchTerraTermsOfService.d.ts +15 -0
  240. package/lib/hooks/useAuthentication/useFetchTerraTermsOfService.js +62 -0
  241. package/lib/hooks/useAuthentication/useTokenClient.d.ts +11 -0
  242. package/lib/hooks/useAuthentication/useTokenClient.js +29 -0
  243. package/lib/hooks/useAuthenticationConfig.d.ts +6 -0
  244. package/lib/hooks/useAuthenticationConfig.js +14 -0
  245. package/lib/hooks/useCategoryConfigs.d.ts +6 -0
  246. package/lib/hooks/useCategoryConfigs.js +17 -0
  247. package/lib/hooks/useEntityListRelatedView.d.ts +15 -0
  248. package/lib/hooks/useEntityListRelatedView.js +62 -0
  249. package/lib/hooks/useExploreMode.d.ts +14 -0
  250. package/lib/hooks/useExploreMode.js +20 -0
  251. package/lib/hooks/useFileLocation.js +1 -1
  252. package/lib/hooks/useFileManifest/common/buildFileManifestRequestURL.d.ts +15 -0
  253. package/lib/hooks/useFileManifest/common/buildFileManifestRequestURL.js +27 -0
  254. package/lib/hooks/useFileManifest/useFileManifestURL.d.ts +5 -0
  255. package/lib/hooks/useFileManifest/useFileManifestURL.js +11 -0
  256. package/lib/hooks/useFileManifest/useRequestFileManifest.d.ts +9 -0
  257. package/lib/hooks/useFileManifest/useRequestFileManifest.js +37 -0
  258. package/lib/hooks/useLayoutState.d.ts +6 -0
  259. package/lib/hooks/useLayoutState.js +9 -0
  260. package/lib/hooks/useMenu.d.ts +10 -0
  261. package/lib/hooks/useMenu.js +17 -0
  262. package/lib/hooks/useMenuWithPosition.d.ts +14 -0
  263. package/lib/hooks/useMenuWithPosition.js +33 -0
  264. package/lib/hooks/useScroll.d.ts +10 -0
  265. package/lib/hooks/useScroll.js +12 -0
  266. package/lib/hooks/useSessionTimeout.d.ts +11 -0
  267. package/lib/hooks/useSessionTimeout.js +28 -0
  268. package/lib/providers/authentication.d.ts +51 -0
  269. package/lib/providers/authentication.js +110 -0
  270. package/lib/providers/layoutState.d.ts +40 -0
  271. package/lib/providers/layoutState.js +47 -0
  272. package/lib/styles/common/mixins/colors.d.ts +25 -0
  273. package/lib/styles/common/mixins/colors.js +32 -0
  274. package/lib/styles/common/mixins/fonts.d.ts +16 -0
  275. package/lib/styles/common/mixins/fonts.js +30 -0
  276. package/lib/styles/common/mixins/shadows.d.ts +3 -0
  277. package/lib/styles/common/mixins/shadows.js +4 -0
  278. package/lib/styles/common/mui/palette.d.ts +47 -0
  279. package/lib/styles/common/mui/palette.js +47 -0
  280. package/lib/theme/common/entities.d.ts +6 -0
  281. package/lib/theme/common/entities.js +1 -0
  282. package/package.json +15 -13
  283. package/src/common/utils.ts +1 -1
  284. package/src/components/Links/components/Link/components/ExploreViewLink/exploreViewLink.tsx +1 -1
  285. package/src/components/Redirect/redirect.tsx +5 -1
  286. package/src/components/common/ToggleButtonGroup/toggleButtonGroup.tsx +1 -1
  287. package/src/hooks/useFileLocation.ts +1 -1
  288. package/types/data-explorer-ui.d.ts +7 -6
@@ -0,0 +1,51 @@
1
+ import React, { ReactNode } from "react";
2
+ import { AUTHENTICATION_STATUS, LoginStatus } from "../hooks/useAuthentication/common/entities";
3
+ import { UserProfile } from "../hooks/useAuthentication/useFetchGoogleProfile";
4
+ import { TerraNIHResponse } from "../hooks/useAuthentication/useFetchTerraNIHProfile";
5
+ import { TerraResponse } from "../hooks/useAuthentication/useFetchTerraProfile";
6
+ import { TerraTermsOfServiceResponse } from "../hooks/useAuthentication/useFetchTerraTermsOfService";
7
+ export declare const ROUTE_LOGIN = "/login";
8
+ type AuthenticateUserFn = () => void;
9
+ type RequestAuthenticationFn = () => void;
10
+ /**
11
+ * Model of authentication context.
12
+ */
13
+ export interface AuthContextProps {
14
+ authenticateUser: AuthenticateUserFn;
15
+ authenticationStatus: AUTHENTICATION_STATUS;
16
+ isAuthenticated: boolean;
17
+ isEnabled: boolean;
18
+ requestAuthentication: RequestAuthenticationFn;
19
+ terraNIHProfileLoginStatus: LoginStatus<TerraNIHResponse>;
20
+ terraProfileLoginStatus: LoginStatus<TerraResponse>;
21
+ terraTOSLoginStatus: LoginStatus<TerraTermsOfServiceResponse>;
22
+ token?: string;
23
+ userProfile?: UserProfile;
24
+ }
25
+ /**
26
+ * Auth context for storing and using auth-related state.
27
+ */
28
+ export declare const AuthContext: React.Context<AuthContextProps>;
29
+ interface Props {
30
+ children: ReactNode | ReactNode[];
31
+ sessionTimeout?: number;
32
+ }
33
+ /**
34
+ * Auth provider for consuming components to subscribe to changes in auth-related state.
35
+ * @param props - Component inputs.
36
+ * @param props.children - Set of children components that can possibly consume the query provider.
37
+ * @param props.sessionTimeout - If provided, will set the value for a session timeout (in milliseconds).
38
+ * @returns Provider element to be used by consumers to both update authentication state and subscribe to changes in authentication state.
39
+ */
40
+ export declare function AuthProvider({ children, sessionTimeout }: Props): JSX.Element;
41
+ /**
42
+ * Token is released for the following conditions:
43
+ * - Terra endpoint is configured and the terms of service response is successful, or
44
+ * - Terra endpoint is not configured and the user profile response is successful.
45
+ * @param userProfileLoginStatus - User profile login status.
46
+ * @param terraProfileLoginStatus - Terra profile login status.
47
+ * @param terraTOSLoginStatus - Terra terms of service login status.
48
+ * @returns true if the token should be released.
49
+ */
50
+ export declare function shouldReleaseToken(userProfileLoginStatus: LoginStatus<UserProfile>, terraProfileLoginStatus: LoginStatus<TerraResponse>, terraTOSLoginStatus: LoginStatus<TerraTermsOfServiceResponse>): boolean;
51
+ export {};
@@ -0,0 +1,110 @@
1
+ import Router, { useRouter } from "next/router";
2
+ import React, { createContext, useCallback } from "react";
3
+ import { useIdleTimer } from "react-idle-timer";
4
+ import { LOGIN_STATUS_NOT_STARTED } from "../hooks/useAuthentication/common/constants";
5
+ import { AUTHENTICATION_STATUS, } from "../hooks/useAuthentication/common/entities";
6
+ import { useAuthenticationComplete } from "../hooks/useAuthentication/useAuthenticationComplete";
7
+ import { useAuthenticationStatus } from "../hooks/useAuthentication/useAuthenticationStatus";
8
+ import { useFetchGoogleProfile, } from "../hooks/useAuthentication/useFetchGoogleProfile";
9
+ import { useFetchTerraNIHProfile, } from "../hooks/useAuthentication/useFetchTerraNIHProfile";
10
+ import { useFetchTerraProfile, } from "../hooks/useAuthentication/useFetchTerraProfile";
11
+ import { useFetchTerraTermsOfService, } from "../hooks/useAuthentication/useFetchTerraTermsOfService";
12
+ import { useTokenClient } from "../hooks/useAuthentication/useTokenClient";
13
+ import { useConfig } from "../hooks/useConfig";
14
+ import { INACTIVITY_PARAM } from "../hooks/useSessionTimeout";
15
+ // Template constants
16
+ export const ROUTE_LOGIN = "/login";
17
+ /**
18
+ * Auth context for storing and using auth-related state.
19
+ */
20
+ export const AuthContext = createContext({
21
+ // eslint-disable-next-line @typescript-eslint/no-empty-function -- allow dummy function for default state.
22
+ authenticateUser: () => { },
23
+ authenticationStatus: AUTHENTICATION_STATUS.INCOMPLETE,
24
+ isAuthenticated: false,
25
+ isEnabled: false,
26
+ // eslint-disable-next-line @typescript-eslint/no-empty-function -- allow dummy function for default state.
27
+ requestAuthentication: () => { },
28
+ terraNIHProfileLoginStatus: LOGIN_STATUS_NOT_STARTED,
29
+ terraProfileLoginStatus: LOGIN_STATUS_NOT_STARTED,
30
+ terraTOSLoginStatus: LOGIN_STATUS_NOT_STARTED,
31
+ token: undefined,
32
+ userProfile: undefined,
33
+ });
34
+ /**
35
+ * Auth provider for consuming components to subscribe to changes in auth-related state.
36
+ * @param props - Component inputs.
37
+ * @param props.children - Set of children components that can possibly consume the query provider.
38
+ * @param props.sessionTimeout - If provided, will set the value for a session timeout (in milliseconds).
39
+ * @returns Provider element to be used by consumers to both update authentication state and subscribe to changes in authentication state.
40
+ */
41
+ export function AuthProvider({ children, sessionTimeout }) {
42
+ const { config } = useConfig();
43
+ const { authentication, redirectRootToPath } = config;
44
+ const { basePath } = useRouter();
45
+ const { token, tokenClient } = useTokenClient();
46
+ const terraNIHProfileLoginStatus = useFetchTerraNIHProfile(token);
47
+ const terraProfileLoginStatus = useFetchTerraProfile(token);
48
+ const terraTOSLoginStatus = useFetchTerraTermsOfService(token);
49
+ const userProfileLoginStatus = useFetchGoogleProfile(token);
50
+ const isEnabled = Boolean(authentication);
51
+ const isAuthenticated = userProfileLoginStatus.isSuccess;
52
+ const releaseToken = shouldReleaseToken(userProfileLoginStatus, terraProfileLoginStatus, terraTOSLoginStatus);
53
+ const authenticationStatus = useAuthenticationStatus(userProfileLoginStatus, terraProfileLoginStatus, terraTOSLoginStatus, terraNIHProfileLoginStatus);
54
+ // Handle completion of authentication process.
55
+ useAuthenticationComplete(authenticationStatus);
56
+ /**
57
+ * If sessionTimeout is set and user is authenticated, the app will reload and redirect to
58
+ * origin, including base path, root path, and query param.
59
+ */
60
+ useIdleTimer({
61
+ onIdle: () => isAuthenticated &&
62
+ sessionTimeout &&
63
+ (window.location.href =
64
+ window.location.origin +
65
+ basePath +
66
+ redirectRootToPath +
67
+ "?" +
68
+ `${INACTIVITY_PARAM}=true`),
69
+ timeout: sessionTimeout,
70
+ });
71
+ /**
72
+ * Requests access token and authenticates user.
73
+ */
74
+ const authenticateUser = useCallback(() => {
75
+ tokenClient.requestAccessToken();
76
+ }, [tokenClient]);
77
+ /**
78
+ * Navigates to login page.
79
+ */
80
+ const requestAuthentication = useCallback(() => {
81
+ Router.push(ROUTE_LOGIN);
82
+ }, []);
83
+ return (React.createElement(AuthContext.Provider, { value: {
84
+ authenticateUser,
85
+ authenticationStatus,
86
+ isAuthenticated,
87
+ isEnabled,
88
+ requestAuthentication,
89
+ terraNIHProfileLoginStatus,
90
+ terraProfileLoginStatus,
91
+ terraTOSLoginStatus,
92
+ token: releaseToken ? token : undefined,
93
+ userProfile: userProfileLoginStatus.response,
94
+ } }, children));
95
+ }
96
+ /**
97
+ * Token is released for the following conditions:
98
+ * - Terra endpoint is configured and the terms of service response is successful, or
99
+ * - Terra endpoint is not configured and the user profile response is successful.
100
+ * @param userProfileLoginStatus - User profile login status.
101
+ * @param terraProfileLoginStatus - Terra profile login status.
102
+ * @param terraTOSLoginStatus - Terra terms of service login status.
103
+ * @returns true if the token should be released.
104
+ */
105
+ export function shouldReleaseToken(userProfileLoginStatus, terraProfileLoginStatus, terraTOSLoginStatus) {
106
+ if (terraProfileLoginStatus.isSupported) {
107
+ return terraTOSLoginStatus.isSuccess;
108
+ }
109
+ return userProfileLoginStatus.isSuccess;
110
+ }
@@ -0,0 +1,40 @@
1
+ import React, { Dispatch, ReactNode } from "react";
2
+ export declare const DEFAULT_LAYOUT_STATE: {
3
+ headerHeight: number;
4
+ };
5
+ /**
6
+ * Layout state.
7
+ */
8
+ export type LayoutState = {
9
+ headerHeight: number;
10
+ };
11
+ /**
12
+ * Model of layout state context.
13
+ */
14
+ export type LayoutStateContextProps = {
15
+ layoutDispatch: Dispatch<LayoutAction>;
16
+ layoutState: LayoutState;
17
+ };
18
+ export declare const LayoutStateContext: React.Context<LayoutStateContextProps>;
19
+ export interface LayoutStateProps {
20
+ children: ReactNode | ReactNode[];
21
+ }
22
+ export declare function LayoutStateProvider({ children, }: LayoutStateProps): JSX.Element;
23
+ /**
24
+ * Layout action kind.
25
+ */
26
+ export declare enum LayoutActionKind {
27
+ UpdateHeaderHeight = "UPDATE_HEADER_HEIGHT"
28
+ }
29
+ /**
30
+ * Layout action.
31
+ */
32
+ export type LayoutAction = UpdateHeaderHeightAction;
33
+ /**
34
+ * Update header height action.
35
+ */
36
+ type UpdateHeaderHeightAction = {
37
+ payload?: number;
38
+ type: LayoutActionKind.UpdateHeaderHeight;
39
+ };
40
+ export {};
@@ -0,0 +1,47 @@
1
+ import React, { createContext, useReducer } from "react";
2
+ import { HEADER_HEIGHT } from "../components/Layout/components/Header/common/constants";
3
+ // Default layout state.
4
+ export const DEFAULT_LAYOUT_STATE = {
5
+ headerHeight: HEADER_HEIGHT + 1, // 1px for bottom border.
6
+ };
7
+ export const LayoutStateContext = createContext({
8
+ // eslint-disable-next-line @typescript-eslint/no-empty-function -- allow dummy function for default state.
9
+ layoutDispatch: () => { },
10
+ layoutState: DEFAULT_LAYOUT_STATE,
11
+ });
12
+ export function LayoutStateProvider({ children, }) {
13
+ // Layout state.
14
+ const [layoutState, layoutDispatch] = useReducer((s, a) => layoutReducer(s, a), DEFAULT_LAYOUT_STATE);
15
+ return (React.createElement(LayoutStateContext.Provider, { value: {
16
+ layoutDispatch,
17
+ layoutState,
18
+ } }, children));
19
+ }
20
+ /**
21
+ * Layout action kind.
22
+ */
23
+ export var LayoutActionKind;
24
+ (function (LayoutActionKind) {
25
+ LayoutActionKind["UpdateHeaderHeight"] = "UPDATE_HEADER_HEIGHT";
26
+ })(LayoutActionKind || (LayoutActionKind = {}));
27
+ /**
28
+ * Layout reducer.
29
+ * @param state - Layout state.
30
+ * @param action - Layout action.
31
+ * @returns layout state.
32
+ */
33
+ function layoutReducer(state, action) {
34
+ const { payload, type } = action;
35
+ // eslint-disable-next-line sonarjs/no-small-switch -- allow small switch.
36
+ switch (type) {
37
+ // Updates header height.
38
+ case LayoutActionKind.UpdateHeaderHeight: {
39
+ return {
40
+ ...state,
41
+ headerHeight: payload ?? state.headerHeight,
42
+ };
43
+ }
44
+ default:
45
+ return state;
46
+ }
47
+ }
@@ -0,0 +1,25 @@
1
+ import { CommonColors, PaletteColor } from "@mui/material/styles";
2
+ import { ThemeProps } from "../../../theme/theme";
3
+ export declare const alertLight: ({ theme }: ThemeProps) => PaletteColor["light"];
4
+ export declare const alertLightest: ({ theme, }: ThemeProps) => PaletteColor["lightest"];
5
+ export declare const alertMain: ({ theme }: ThemeProps) => PaletteColor["main"];
6
+ export declare const errorMain: ({ theme }: ThemeProps) => PaletteColor["main"];
7
+ export declare const infoLight: ({ theme }: ThemeProps) => PaletteColor["light"];
8
+ export declare const infoLightest: ({ theme }: ThemeProps) => PaletteColor["lightest"];
9
+ export declare const infoMain: ({ theme }: ThemeProps) => PaletteColor["main"];
10
+ export declare const inkLight: ({ theme }: ThemeProps) => PaletteColor["light"];
11
+ export declare const inkMain: ({ theme }: ThemeProps) => PaletteColor["main"];
12
+ export declare const primaryDark: ({ theme }: ThemeProps) => PaletteColor["dark"];
13
+ export declare const primaryLightest: ({ theme, }: ThemeProps) => PaletteColor["lightest"];
14
+ export declare const primaryMain: ({ theme }: ThemeProps) => PaletteColor["main"];
15
+ export declare const smokeDark: ({ theme }: ThemeProps) => PaletteColor["dark"];
16
+ export declare const smokeLight: ({ theme }: ThemeProps) => PaletteColor["light"];
17
+ export declare const smokeLightest: ({ theme, }: ThemeProps) => PaletteColor["lightest"];
18
+ export declare const smokeMain: ({ theme }: ThemeProps) => PaletteColor["main"];
19
+ export declare const successLight: ({ theme }: ThemeProps) => PaletteColor["light"];
20
+ export declare const successLightest: ({ theme, }: ThemeProps) => PaletteColor["lightest"];
21
+ export declare const successMain: ({ theme }: ThemeProps) => PaletteColor["main"];
22
+ export declare const warningLight: ({ theme }: ThemeProps) => PaletteColor["light"];
23
+ export declare const warningLightest: ({ theme, }: ThemeProps) => PaletteColor["lightest"];
24
+ export declare const warningMain: ({ theme }: ThemeProps) => PaletteColor["main"];
25
+ export declare const white: ({ theme }: ThemeProps) => CommonColors["white"];
@@ -0,0 +1,32 @@
1
+ // Alert
2
+ export const alertLight = ({ theme }) => theme.palette.alert.light;
3
+ export const alertLightest = ({ theme, }) => theme.palette.alert.lightest;
4
+ export const alertMain = ({ theme }) => theme.palette.alert.main;
5
+ // Error
6
+ export const errorMain = ({ theme }) => theme.palette.error.main;
7
+ // Info
8
+ export const infoLight = ({ theme }) => theme.palette.info.light;
9
+ export const infoLightest = ({ theme }) => theme.palette.info.lightest;
10
+ export const infoMain = ({ theme }) => theme.palette.info.main;
11
+ // Ink
12
+ export const inkLight = ({ theme }) => theme.palette.ink.light;
13
+ export const inkMain = ({ theme }) => theme.palette.ink.main;
14
+ // Primary
15
+ export const primaryDark = ({ theme }) => theme.palette.primary.dark;
16
+ export const primaryLightest = ({ theme, }) => theme.palette.primary.lightest;
17
+ export const primaryMain = ({ theme }) => theme.palette.primary.main;
18
+ // Smoke
19
+ export const smokeDark = ({ theme }) => theme.palette.smoke.dark;
20
+ export const smokeLight = ({ theme }) => theme.palette.smoke.light;
21
+ export const smokeLightest = ({ theme, }) => theme.palette.smoke.lightest;
22
+ export const smokeMain = ({ theme }) => theme.palette.smoke.main;
23
+ // Success
24
+ export const successLight = ({ theme }) => theme.palette.success.light;
25
+ export const successLightest = ({ theme, }) => theme.palette.success.lightest;
26
+ export const successMain = ({ theme }) => theme.palette.success.main;
27
+ // Warning
28
+ export const warningLight = ({ theme }) => theme.palette.warning.light;
29
+ export const warningLightest = ({ theme, }) => theme.palette.warning.lightest;
30
+ export const warningMain = ({ theme }) => theme.palette.warning.main;
31
+ // White
32
+ export const white = ({ theme }) => theme.palette.common.white;
@@ -0,0 +1,16 @@
1
+ import { SerializedStyles } from "@emotion/react";
2
+ export declare const textBody400: (props: any) => SerializedStyles;
3
+ export declare const textBody4002Lines: (props: any) => SerializedStyles;
4
+ export declare const textBody500: (props: any) => SerializedStyles;
5
+ export declare const textBody5002Lines: (props: any) => SerializedStyles;
6
+ export declare const textBodyLarge400: (props: any) => SerializedStyles;
7
+ export declare const textBodyLarge4002Lines: (props: any) => SerializedStyles;
8
+ export declare const textBodyLarge500: (props: any) => SerializedStyles;
9
+ export declare const textBodySmall400: (props: any) => SerializedStyles;
10
+ export declare const textBodySmall4002Lines: (props: any) => SerializedStyles;
11
+ export declare const textBodySmall500: (props: any) => SerializedStyles;
12
+ export declare const textHeading: (props: any) => SerializedStyles;
13
+ export declare const textHeadingLarge: (props: any) => SerializedStyles;
14
+ export declare const textHeadingSmall: (props: any) => SerializedStyles;
15
+ export declare const textHeadingXLarge: (props: any) => SerializedStyles;
16
+ export declare const textUppercase500: (props: any) => SerializedStyles;
@@ -0,0 +1,30 @@
1
+ import { css } from "@emotion/react";
2
+ import { TEXT_BODY_400, TEXT_BODY_400_2_LINES, TEXT_BODY_500, TEXT_BODY_500_2_LINES, TEXT_BODY_LARGE_400, TEXT_BODY_LARGE_400_2_LINES, TEXT_BODY_LARGE_500, TEXT_BODY_SMALL_400, TEXT_BODY_SMALL_400_2_LINES, TEXT_BODY_SMALL_500, TEXT_HEADING, TEXT_HEADING_LARGE, TEXT_HEADING_SMALL, TEXT_HEADING_XLARGE, TEXT_UPPERCASE_500, } from "../../../theme/common/typography";
3
+ /**
4
+ * Returns typography style for the specified typography variant.
5
+ * @param TYPOGRAPHY - Typography variant name.
6
+ * @returns typography styles for the variant.
7
+ */
8
+ function typographyToCSS(TYPOGRAPHY) {
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- TODO revisit any.
10
+ return (props) => {
11
+ return css `
12
+ ${props.theme.typography[TYPOGRAPHY]}
13
+ `;
14
+ };
15
+ }
16
+ export const textBody400 = typographyToCSS(TEXT_BODY_400);
17
+ export const textBody4002Lines = typographyToCSS(TEXT_BODY_400_2_LINES);
18
+ export const textBody500 = typographyToCSS(TEXT_BODY_500);
19
+ export const textBody5002Lines = typographyToCSS(TEXT_BODY_500_2_LINES);
20
+ export const textBodyLarge400 = typographyToCSS(TEXT_BODY_LARGE_400);
21
+ export const textBodyLarge4002Lines = typographyToCSS(TEXT_BODY_LARGE_400_2_LINES);
22
+ export const textBodyLarge500 = typographyToCSS(TEXT_BODY_LARGE_500);
23
+ export const textBodySmall400 = typographyToCSS(TEXT_BODY_SMALL_400);
24
+ export const textBodySmall4002Lines = typographyToCSS(TEXT_BODY_SMALL_400_2_LINES);
25
+ export const textBodySmall500 = typographyToCSS(TEXT_BODY_SMALL_500);
26
+ export const textHeading = typographyToCSS(TEXT_HEADING);
27
+ export const textHeadingLarge = typographyToCSS(TEXT_HEADING_LARGE);
28
+ export const textHeadingSmall = typographyToCSS(TEXT_HEADING_SMALL);
29
+ export const textHeadingXLarge = typographyToCSS(TEXT_HEADING_XLARGE);
30
+ export const textUppercase500 = typographyToCSS(TEXT_UPPERCASE_500);
@@ -0,0 +1,3 @@
1
+ import { ThemeProps } from "../../../theme/theme";
2
+ export declare const shadows01: ({ theme }: ThemeProps) => string;
3
+ export declare const shadows02: ({ theme }: ThemeProps) => string;
@@ -0,0 +1,4 @@
1
+ // Elevation 01
2
+ export const shadows01 = ({ theme }) => theme.shadows[1];
3
+ // Elevation 02
4
+ export const shadows02 = ({ theme }) => theme.shadows[2];
@@ -0,0 +1,47 @@
1
+ export declare const PALETTE: {
2
+ readonly ALERT_LIGHT: "var(--mui-palette-alert-light)";
3
+ readonly ALERT_LIGHTEST: "var(--mui-palette-alert-lightest)";
4
+ readonly ALERT_MAIN: "var(--mui-palette-alert-main)";
5
+ readonly BACKGROUND_DEFAULT: "var(--mui-palette-background-default)";
6
+ readonly BACKGROUND_PAPER: "var(--mui-palette-background-paper)";
7
+ readonly COMMON_BACKGROUND: "var(--mui-palette-common-background)";
8
+ readonly COMMON_BLACK: "var(--mui-palette-common-black)";
9
+ readonly COMMON_WHITE: "var(--mui-palette-common-white)";
10
+ readonly ERROR_CONTRAST_TEXT: "var(--mui-palette-error-contrastText)";
11
+ readonly ERROR_DARK: "var(--mui-palette-error-dark)";
12
+ readonly ERROR_LIGHT: "var(--mui-palette-error-light)";
13
+ readonly ERROR_MAIN: "var(--mui-palette-error-main)";
14
+ readonly INFO_CONTRAST_TEXT: "var(--mui-palette-info-contrastText)";
15
+ readonly INFO_DARK: "var(--mui-palette-info-dark)";
16
+ readonly INFO_LIGHT: "var(--mui-palette-info-light)";
17
+ readonly INFO_LIGHTEST: "var(--mui-palette-info-lightest)";
18
+ readonly INFO_MAIN: "var(--mui-palette-info-main)";
19
+ readonly INK_LIGHT: "var(--mui-palette-ink-light)";
20
+ readonly INK_MAIN: "var(--mui-palette-ink-main)";
21
+ readonly PRIMARY_CONTRAST_TEXT: "var(--mui-palette-primary-contrastText)";
22
+ readonly PRIMARY_DARK: "var(--mui-palette-primary-dark)";
23
+ readonly PRIMARY_LIGHT: "var(--mui-palette-primary-light)";
24
+ readonly PRIMARY_LIGHTEST: "var(--mui-palette-primary-lightest)";
25
+ readonly PRIMARY_MAIN: "var(--mui-palette-primary-main)";
26
+ readonly SECONDARY_CONTRAST_TEXT: "var(--mui-palette-secondary-contrastText)";
27
+ readonly SECONDARY_DARK: "var(--mui-palette-secondary-dark)";
28
+ readonly SECONDARY_LIGHT: "var(--mui-palette-secondary-light)";
29
+ readonly SECONDARY_MAIN: "var(--mui-palette-secondary-main)";
30
+ readonly SMOKE_DARK: "var(--mui-palette-smoke-dark)";
31
+ readonly SMOKE_LIGHT: "var(--mui-palette-smoke-light)";
32
+ readonly SMOKE_LIGHTEST: "var(--mui-palette-smoke-lightest)";
33
+ readonly SMOKE_MAIN: "var(--mui-palette-smoke-main)";
34
+ readonly SUCCESS_CONTRAST_TEXT: "var(--mui-palette-success-contrastText)";
35
+ readonly SUCCESS_DARK: "var(--mui-palette-success-dark)";
36
+ readonly SUCCESS_LIGHT: "var(--mui-palette-success-light)";
37
+ readonly SUCCESS_LIGHTEST: "var(--mui-palette-success-lightest)";
38
+ readonly SUCCESS_MAIN: "var(--mui-palette-success-main)";
39
+ readonly TEXT_DISABLED: "var(--mui-palette-text-disabled)";
40
+ readonly TEXT_PRIMARY: "var(--mui-palette-text-primary)";
41
+ readonly TEXT_SECONDARY: "var(--mui-palette-text-secondary)";
42
+ readonly WARNING_CONTRAST_TEXT: "var(--mui-palette-warning-contrastText)";
43
+ readonly WARNING_DARK: "var(--mui-palette-warning-dark)";
44
+ readonly WARNING_LIGHT: "var(--mui-palette-warning-light)";
45
+ readonly WARNING_LIGHTEST: "var(--mui-palette-warning-lightest)";
46
+ readonly WARNING_MAIN: "var(--mui-palette-warning-main)";
47
+ };
@@ -0,0 +1,47 @@
1
+ export const PALETTE = {
2
+ ALERT_LIGHT: `var(--mui-palette-alert-light)`,
3
+ ALERT_LIGHTEST: `var(--mui-palette-alert-lightest)`,
4
+ ALERT_MAIN: `var(--mui-palette-alert-main)`,
5
+ BACKGROUND_DEFAULT: `var(--mui-palette-background-default)`,
6
+ BACKGROUND_PAPER: `var(--mui-palette-background-paper)`,
7
+ COMMON_BACKGROUND: `var(--mui-palette-common-background)`,
8
+ COMMON_BLACK: `var(--mui-palette-common-black)`,
9
+ COMMON_WHITE: `var(--mui-palette-common-white)`,
10
+ ERROR_CONTRAST_TEXT: `var(--mui-palette-error-contrastText)`,
11
+ ERROR_DARK: `var(--mui-palette-error-dark)`,
12
+ ERROR_LIGHT: `var(--mui-palette-error-light)`,
13
+ ERROR_MAIN: `var(--mui-palette-error-main)`,
14
+ INFO_CONTRAST_TEXT: `var(--mui-palette-info-contrastText)`,
15
+ INFO_DARK: `var(--mui-palette-info-dark)`,
16
+ INFO_LIGHT: `var(--mui-palette-info-light)`,
17
+ INFO_LIGHTEST: `var(--mui-palette-info-lightest)`,
18
+ INFO_MAIN: `var(--mui-palette-info-main)`,
19
+ INK_LIGHT: `var(--mui-palette-ink-light)`,
20
+ INK_MAIN: `var(--mui-palette-ink-main)`,
21
+ PRIMARY_CONTRAST_TEXT: `var(--mui-palette-primary-contrastText)`,
22
+ PRIMARY_DARK: `var(--mui-palette-primary-dark)`,
23
+ PRIMARY_LIGHT: `var(--mui-palette-primary-light)`,
24
+ PRIMARY_LIGHTEST: `var(--mui-palette-primary-lightest)`,
25
+ PRIMARY_MAIN: `var(--mui-palette-primary-main)`,
26
+ SECONDARY_CONTRAST_TEXT: `var(--mui-palette-secondary-contrastText)`,
27
+ SECONDARY_DARK: `var(--mui-palette-secondary-dark)`,
28
+ SECONDARY_LIGHT: `var(--mui-palette-secondary-light)`,
29
+ SECONDARY_MAIN: `var(--mui-palette-secondary-main)`,
30
+ SMOKE_DARK: `var(--mui-palette-smoke-dark)`,
31
+ SMOKE_LIGHT: `var(--mui-palette-smoke-light)`,
32
+ SMOKE_LIGHTEST: `var(--mui-palette-smoke-lightest)`,
33
+ SMOKE_MAIN: `var(--mui-palette-smoke-main)`,
34
+ SUCCESS_CONTRAST_TEXT: `var(--mui-palette-success-contrastText)`,
35
+ SUCCESS_DARK: `var(--mui-palette-success-dark)`,
36
+ SUCCESS_LIGHT: `var(--mui-palette-success-light)`,
37
+ SUCCESS_LIGHTEST: `var(--mui-palette-success-lightest)`,
38
+ SUCCESS_MAIN: `var(--mui-palette-success-main)`,
39
+ TEXT_DISABLED: `var(--mui-palette-text-disabled)`,
40
+ TEXT_PRIMARY: `var(--mui-palette-text-primary)`,
41
+ TEXT_SECONDARY: `var(--mui-palette-text-secondary)`,
42
+ WARNING_CONTRAST_TEXT: `var(--mui-palette-warning-contrastText)`,
43
+ WARNING_DARK: `var(--mui-palette-warning-dark)`,
44
+ WARNING_LIGHT: `var(--mui-palette-warning-light)`,
45
+ WARNING_LIGHTEST: `var(--mui-palette-warning-lightest)`,
46
+ WARNING_MAIN: `var(--mui-palette-warning-main)`,
47
+ };
@@ -0,0 +1,6 @@
1
+ export interface BaseComponentProps {
2
+ className?: string;
3
+ }
4
+ export interface TrackingComponentProps {
5
+ trackingId?: string;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@databiosphere/findable-ui",
3
- "version": "46.1.2",
3
+ "version": "47.0.2",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
@@ -25,8 +25,7 @@
25
25
  "@commitlint/cli": "^17.4.2",
26
26
  "@commitlint/config-conventional": "^17.4.2",
27
27
  "@emotion/jest": "^11.13.0",
28
- "@mui/types": "^7.4.0",
29
- "@next/eslint-plugin-next": "^14.2.32",
28
+ "@next/eslint-plugin-next": "^14.2.33",
30
29
  "@storybook/addon-actions": "^8.6.4",
31
30
  "@storybook/addon-essentials": "^8.6.4",
32
31
  "@storybook/addon-interactions": "^8.6.4",
@@ -43,10 +42,10 @@
43
42
  "@types/react-dom": "^18.3.0",
44
43
  "@types/react-gtm-module": "^2.0.1",
45
44
  "@types/react-window": "^1.8.5",
46
- "@types/uuid": "8.3.4",
47
- "@typescript-eslint/eslint-plugin": "^7.18.0",
45
+ "@types/uuid": "^8.3.4",
46
+ "@typescript-eslint/eslint-plugin": "^8.49.0",
48
47
  "eslint": "^8.33.0",
49
- "eslint-config-next": "^14.2.32",
48
+ "eslint-config-next": "^14.2.33",
50
49
  "eslint-config-prettier": "^8.6.0",
51
50
  "eslint-plugin-eslint-comments": "^3.2.0",
52
51
  "eslint-plugin-jsdoc": "^48.1.0",
@@ -75,19 +74,19 @@
75
74
  "@tanstack/match-sorter-utils": "^8.19.4",
76
75
  "@tanstack/react-table": "^8.19.2",
77
76
  "@tanstack/react-virtual": "^3.13.12",
78
- "copy-to-clipboard": "3.3.1",
77
+ "copy-to-clipboard": "^3.3.1",
79
78
  "gray-matter": "^4.0.3",
80
79
  "isomorphic-dompurify": "^2.22.0",
81
80
  "ky": "^1.7.2",
82
- "next": "^14.2.32",
83
- "next-auth": "4.24.11",
81
+ "next": "^14.2.33",
82
+ "next-auth": "^4.24.13",
84
83
  "next-mdx-remote": "^4.4.1",
85
84
  "react": "^18.3.1",
86
85
  "react-dom": "^18.3.1",
87
86
  "react-dropzone": "^14.2.3",
88
- "react-gtm-module": "2.0.11",
87
+ "react-gtm-module": "^2.0.11",
89
88
  "react-idle-timer": "^5.7.2",
90
- "react-window": "1.8.9",
89
+ "react-window": "^1.8.9",
91
90
  "rehype-raw": "^7.0.0",
92
91
  "rehype-react": "^7.2.0",
93
92
  "rehype-sanitize": "^5.0.1",
@@ -96,10 +95,13 @@
96
95
  "remark-rehype": "^10.1.0",
97
96
  "slugify": "^1.6.6",
98
97
  "unified": "^10.1.2",
99
- "uuid": "8.3.2",
98
+ "uuid": "^8.3.2",
100
99
  "yup": "^1.6.1"
101
100
  },
101
+ "overrides": {
102
+ "glob": "^11.0.4"
103
+ },
102
104
  "engines": {
103
- "node": "20.10.0"
105
+ "node": "22.12.0"
104
106
  }
105
107
  }
@@ -6,7 +6,7 @@
6
6
  export function isValidUrl(testUrl: string): boolean {
7
7
  try {
8
8
  return Boolean(new URL(testUrl));
9
- } catch (e) {
9
+ } catch {
10
10
  return false;
11
11
  }
12
12
  }
@@ -132,7 +132,7 @@ function isValidJsonString(query: string): boolean {
132
132
  try {
133
133
  JSON.parse(query);
134
134
  return true;
135
- } catch (e) {
135
+ } catch {
136
136
  return false;
137
137
  }
138
138
  }
@@ -13,7 +13,11 @@ export const Redirect = ({
13
13
  const router = useRouter();
14
14
 
15
15
  useEffect(() => {
16
- replace ? router.replace(destination) : router.push(destination);
16
+ if (replace) {
17
+ router.replace(destination);
18
+ } else {
19
+ router.push(destination);
20
+ }
17
21
  }, [destination, replace, router]);
18
22
 
19
23
  return <></>;
@@ -60,7 +60,7 @@ export const ToggleButtonGroup = ({
60
60
  ): void => {
61
61
  if (newToggleValue) {
62
62
  setToggleValue(newToggleValue);
63
- onToggleFn && onToggleFn();
63
+ if (onToggleFn) onToggleFn();
64
64
  }
65
65
  };
66
66
 
@@ -31,7 +31,7 @@ export function buildFetchFileUrl(url?: string): string | undefined {
31
31
  "/fetch/"
32
32
  );
33
33
  return urlObj.href;
34
- } catch (e) {
34
+ } catch {
35
35
  throw new Error(`Invalid file URL: ${url}`);
36
36
  }
37
37
  }
@@ -245,7 +245,7 @@ declare module "@emotion/react" {
245
245
  }
246
246
 
247
247
  declare module "@tanstack/react-table" {
248
- // eslint-disable-next-line @typescript-eslint/no-unused-vars -- TData and TValue are unused variables.
248
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type, @typescript-eslint/no-unused-vars -- TData and TValue are unused generic parameters for interface extension.
249
249
  interface Column<TData extends RowData, TValue> extends CustomFeatureColumn {}
250
250
 
251
251
  // eslint-disable-next-line @typescript-eslint/no-unused-vars -- TData and TValue are unused variables.
@@ -263,13 +263,13 @@ declare module "@tanstack/react-table" {
263
263
  width?: GridTrackSize;
264
264
  }
265
265
 
266
- // eslint-disable-next-line @typescript-eslint/no-empty-interface -- empty interface is needed for extending.
266
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- empty interface is needed for extending.
267
267
  interface InitialTableState extends CustomFeatureInitialTableState {}
268
268
 
269
- // eslint-disable-next-line @typescript-eslint/no-empty-interface, @typescript-eslint/no-unused-vars -- empty interface is needed for extending, TData is an unused variable.
269
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type, @typescript-eslint/no-unused-vars -- empty interface is needed for extending, TData is an unused variable.
270
270
  interface Row<TData extends RowData> extends CustomFeatureRow {}
271
271
 
272
- // eslint-disable-next-line @typescript-eslint/no-unused-vars -- TData is an unused variables.
272
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- TData is an unused variable.
273
273
  interface SortingOptions<TData extends RowData> {
274
274
  /**
275
275
  * When false, sorting can still be applied programmatically (e.g., `getSortedRowModel`),
@@ -278,13 +278,14 @@ declare module "@tanstack/react-table" {
278
278
  enableSortingInteraction?: boolean;
279
279
  }
280
280
 
281
- // eslint-disable-next-line @typescript-eslint/no-empty-interface -- empty interface is needed for extending.
281
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- empty interface is needed for extending.
282
282
  interface Table<TData extends RowData> extends CustomFeatureInstance<TData> {}
283
283
 
284
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- empty interface is needed for extending.
284
285
  interface TableOptionsResolved<TData extends RowData>
285
286
  extends CustomFeatureOptions<TData> {}
286
287
 
287
- // eslint-disable-next-line @typescript-eslint/no-empty-interface -- empty interface is needed for extending.
288
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- empty interface is needed for extending.
288
289
  interface TableState extends CustomFeatureTableState {}
289
290
  }
290
291