@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,57 @@
1
+ import { Tooltip as MTooltip, } from "@mui/material";
2
+ import { detectOverflow } from "@popperjs/core";
3
+ import React, { useMemo, useState } from "react";
4
+ import { TooltipContent } from "./tooltip.styles";
5
+ const DEFAULT_FLIP_MODIFIER = {
6
+ enabled: true,
7
+ name: "flip",
8
+ options: {
9
+ fallbackPlacements: ["bottom", "right", "left"],
10
+ },
11
+ };
12
+ const DEFAULT_PREVENT_OVERFLOW_MODIFIER = {
13
+ enabled: true,
14
+ name: "preventOverflow",
15
+ options: {
16
+ padding: 16,
17
+ },
18
+ };
19
+ /**
20
+ * @deprecated - use Tooltip from "@databiosphere/findable-ui/lib/components/Table/components/TableCell/components/NTagCell/components/NTag/components/Tooltip/tooltip"
21
+ */
22
+ export const Tooltip = ({ children, className, title, ...props /* Spread props to allow for Mui Tooltip specific prop overrides. */ }) => {
23
+ const [maxHeight, setMaxHeight] = useState();
24
+ const modifiers = useMemo(() => [
25
+ {
26
+ enabled: true,
27
+ fn: ({ state }) => setMaxHeight(calculateMaxHeight(state)),
28
+ name: "maxHeight",
29
+ phase: "main",
30
+ requiresIfExists: ["offset"],
31
+ },
32
+ DEFAULT_FLIP_MODIFIER,
33
+ DEFAULT_PREVENT_OVERFLOW_MODIFIER,
34
+ ], []);
35
+ return (React.createElement(MTooltip, { arrow: true, className: className, onClose: () => setMaxHeight(undefined), slotProps: {
36
+ popper: { modifiers },
37
+ tooltip: { style: { display: "flex", maxHeight, padding: 0 } },
38
+ }, title: React.createElement(TooltipContent, null, title), ...props }, children));
39
+ };
40
+ /**
41
+ * Calculate the max height of the tooltip based on the current popper modifier state.
42
+ * @param state - Popper modifier state.
43
+ * @returns tooltip maximum height.
44
+ */
45
+ function calculateMaxHeight(state) {
46
+ const overflow = detectOverflow(state);
47
+ const { placement } = state;
48
+ if (placement === "left" || placement === "right") {
49
+ return window.innerHeight - 32;
50
+ }
51
+ if (placement === "top") {
52
+ return state.rects.popper.height - overflow.top - 24;
53
+ }
54
+ if (placement === "bottom") {
55
+ return state.rects.popper.height - overflow.bottom - 24;
56
+ }
57
+ }
@@ -0,0 +1,4 @@
1
+ export declare const TooltipContent: import("@emotion/styled").StyledComponent<{
2
+ theme?: import("@emotion/react").Theme;
3
+ as?: React.ElementType;
4
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
@@ -0,0 +1,10 @@
1
+ import styled from "@emotion/styled";
2
+ export const TooltipContent = styled.span `
3
+ overflow: scroll;
4
+ overscroll-behavior: none;
5
+ padding: 8px 12px;
6
+
7
+ &::-webkit-scrollbar {
8
+ display: none;
9
+ }
10
+ `;
@@ -0,0 +1,10 @@
1
+ import { ReactElement } from "react";
2
+ export interface NTagProps {
3
+ className?: string;
4
+ Tag: ReactElement;
5
+ TooltipTitle: ReactElement;
6
+ }
7
+ /**
8
+ * @deprecated - use NTag from "@databiosphere/findable-ui/lib/components/Table/components/TableCell/components/NTagCell/components/NTag/nTag"
9
+ */
10
+ export declare const NTag: ({ className, Tag, TooltipTitle, ...props }: NTagProps) => JSX.Element;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { Tooltip } from "./components/Tooltip/tooltip";
3
+ /**
4
+ * @deprecated - use NTag from "@databiosphere/findable-ui/lib/components/Table/components/TableCell/components/NTagCell/components/NTag/nTag"
5
+ */
6
+ export const NTag = ({ className, Tag, TooltipTitle, ...props /* Spread props to allow for Mui Tooltip specific prop overrides. */ }) => {
7
+ return (React.createElement(Tooltip, { className: className, title: TooltipTitle, ...props }, Tag));
8
+ };
@@ -0,0 +1,11 @@
1
+ import { TypographyProps } from "../../../common/Typography/common/entities";
2
+ export type MetadataValue = string;
3
+ export interface NTagCellProps {
4
+ label: string;
5
+ TypographyProps?: TypographyProps;
6
+ values: MetadataValue[];
7
+ }
8
+ /**
9
+ * @deprecated - use NTagCell from "@databiosphere/findable-ui/lib/components/Table/components/TableCell/components/NTagCell/nTagCell"
10
+ */
11
+ export declare const NTagCell: ({ label, TypographyProps, values, }: NTagCellProps) => JSX.Element;
@@ -0,0 +1,29 @@
1
+ import { Chip as MChip, Typography, } from "@mui/material";
2
+ import React, { forwardRef } from "react";
3
+ import { TEXT_BODY_SMALL_400 } from "../../../../theme/common/typography";
4
+ import { NTag } from "../NTag/nTag";
5
+ // Template constants
6
+ const MAX_DISPLAYABLE_VALUES = 1;
7
+ /**
8
+ * String-concatenates the specified list of metadata values to a string value, joined by a comma ",".
9
+ * @param metadataValues - List of metadata values.
10
+ * @returns the metadata values in a string, each value joined by a comma.
11
+ */
12
+ function stringifyMetadataValues(metadataValues) {
13
+ return metadataValues.join(", ");
14
+ }
15
+ /**
16
+ * Renders tag for NTag component.
17
+ * Tooltip children require forward ref.
18
+ */
19
+ const Tag = forwardRef(function Tag(props, ref) {
20
+ return React.createElement(MChip, { ref: ref, ...props });
21
+ });
22
+ /**
23
+ * @deprecated - use NTagCell from "@databiosphere/findable-ui/lib/components/Table/components/TableCell/components/NTagCell/nTagCell"
24
+ */
25
+ export const NTagCell = ({ label, TypographyProps, values, }) => {
26
+ const metadataCount = values.length;
27
+ const showNTag = metadataCount > MAX_DISPLAYABLE_VALUES;
28
+ return (React.createElement(React.Fragment, null, showNTag ? (React.createElement(NTag, { Tag: React.createElement(Tag, { label: `${metadataCount} ${label}`, variant: "ntag" }), TooltipTitle: React.createElement(Typography, { display: "block", variant: TEXT_BODY_SMALL_400 }, stringifyMetadataValues(values)) })) : (values.map((value, v) => (React.createElement(Typography, { key: `${value}${v}`, variant: "inherit", ...TypographyProps }, value))))));
29
+ };
@@ -0,0 +1,5 @@
1
+ import { ComponentMeta } from "@storybook/react";
2
+ import { NTagCell } from "./nTagCell";
3
+ declare const _default: ComponentMeta<typeof NTagCell>;
4
+ export default _default;
5
+ export declare const NTagCellStory: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./nTagCell").NTagCellProps>;
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import { NTagCell } from "./nTagCell";
3
+ export default {
4
+ argTypes: {
5
+ label: { control: "text" },
6
+ values: { control: "array" },
7
+ },
8
+ component: NTagCell,
9
+ title: "Components/Table/Cell/NTagCell",
10
+ };
11
+ const NTagCellTemplate = (args) => (React.createElement(NTagCell, { ...args }));
12
+ export const NTagCellStory = NTagCellTemplate.bind({});
13
+ NTagCellStory.args = {
14
+ label: "species",
15
+ values: ["Homo sapiens", "Mus musculus"],
16
+ };
@@ -0,0 +1,8 @@
1
+ import { EntityConfig } from "../../../../../config/entities";
2
+ import { Tab } from "../../../../common/Tabs/tabs";
3
+ /**
4
+ * Returns entity list tabs list for the tabs component.
5
+ * @param entities - Entities config.
6
+ * @returns tabs list.
7
+ */
8
+ export declare function getEntityListTabs(entities: EntityConfig[]): Tab[];
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Returns entity list tabs list for the tabs component.
3
+ * @param entities - Entities config.
4
+ * @returns tabs list.
5
+ */
6
+ export function getEntityListTabs(entities) {
7
+ return entities.reduce((acc, { annotation, label, listView: { enableTab = true } = {}, route, tabIcon: icon, tabIconPosition: iconPosition, }) => {
8
+ if (enableTab) {
9
+ acc.push({
10
+ annotation,
11
+ icon,
12
+ iconPosition,
13
+ label,
14
+ value: route,
15
+ });
16
+ }
17
+ return acc;
18
+ }, []);
19
+ }
@@ -0,0 +1 @@
1
+ export declare const Tabs: () => JSX.Element | null;
@@ -0,0 +1,20 @@
1
+ import Router from "next/router";
2
+ import React, { useCallback, useMemo } from "react";
3
+ import { useConfig } from "../../../../hooks/useConfig";
4
+ import { useExploreState } from "../../../../hooks/useExploreState";
5
+ import { Tabs as DXTabs } from "../../../common/Tabs/tabs";
6
+ import { getEntityListTabs } from "./common/utils";
7
+ export const Tabs = () => {
8
+ const { config } = useConfig();
9
+ const { exploreState } = useExploreState();
10
+ const { entities } = config;
11
+ const { tabValue } = exploreState;
12
+ const tabs = useMemo(() => getEntityListTabs(entities), [entities]);
13
+ // Callback fired when selected tab value changes.
14
+ const onTabChange = useCallback(async (tabValue) => {
15
+ await Router.push(`/${tabValue}`);
16
+ }, []);
17
+ if (tabs.length <= 1)
18
+ return null;
19
+ return React.createElement(DXTabs, { onTabChange: onTabChange, tabs: tabs, value: tabValue });
20
+ };
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from "react";
2
+ import { LinkProps } from "../../../Links/components/Link/link";
3
+ export interface TitleCellProps extends LinkProps {
4
+ title: ReactNode;
5
+ }
6
+ export declare const TitleCell: ({ title, ...props }: TitleCellProps) => JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { Typography } from "@mui/material";
2
+ import React from "react";
3
+ import { TEXT_BODY_400 } from "../../../../theme/common/typography";
4
+ import { Link } from "../../../Links/components/Link/link";
5
+ import { TitleCell as Cell } from "./titleCell.styles";
6
+ export const TitleCell = ({ title, ...props }) => {
7
+ return (React.createElement(Cell, { gridSx: { gap: 1 } },
8
+ typeof title === "string" ? (React.createElement(Typography, { variant: TEXT_BODY_400 }, title)) : (title),
9
+ React.createElement(Link, { ...props })));
10
+ };
@@ -0,0 +1,3 @@
1
+ export declare const TitleCell: import("@emotion/styled").StyledComponent<import("../../../common/Grid/grid").GridProps & {
2
+ theme?: import("@emotion/react").Theme;
3
+ }, {}, {}>;
@@ -0,0 +1,6 @@
1
+ import styled from "@emotion/styled";
2
+ import { textBodySmall400 } from "../../../../styles/common/mixins/fonts";
3
+ import { Grid } from "../../../common/Grid/grid";
4
+ export const TitleCell = styled(Grid) `
5
+ ${textBodySmall400};
6
+ `;
@@ -0,0 +1,6 @@
1
+ import { Meta, StoryObj } from "@storybook/react";
2
+ import { Index } from "./index";
3
+ declare const _default: Meta<typeof Index>;
4
+ export default _default;
5
+ type Story = StoryObj<typeof Index>;
6
+ export declare const IndexStory: Story;
@@ -0,0 +1,26 @@
1
+ import React from "react";
2
+ import { Summaries } from "./components/Hero/components/Summaries/summaries";
3
+ import { SummariesStory } from "./components/Hero/components/Summaries/summaries.stories";
4
+ import { Index } from "./index";
5
+ export default {
6
+ argTypes: {
7
+ Summaries: { table: { disable: true } },
8
+ Tabs: { table: { disable: true } },
9
+ list: { table: { disable: true } },
10
+ title: { table: { disable: true } },
11
+ },
12
+ component: Index,
13
+ parameters: {
14
+ layout: "fullscreen",
15
+ },
16
+ title: "Views/ExploreView",
17
+ };
18
+ export const IndexStory = {
19
+ args: {
20
+ Summaries: React.createElement(Summaries, { ...SummariesStory.args }),
21
+ Tabs: undefined,
22
+ chart: undefined,
23
+ list: undefined,
24
+ title: "Explore Data",
25
+ },
26
+ };
@@ -0,0 +1,6 @@
1
+ import { Meta, StoryObj } from "@storybook/react";
2
+ import { Index } from "../index";
3
+ declare const meta: Meta<typeof Index>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
@@ -0,0 +1,17 @@
1
+ import { composeStories } from "@storybook/react";
2
+ import React from "react";
3
+ import * as summaryStories from "../components/Hero/components/Summaries/stories/summaries.stories";
4
+ import { Index } from "../index";
5
+ const { Default: Summaries } = composeStories(summaryStories);
6
+ const meta = {
7
+ component: Index,
8
+ parameters: { layout: "fullscreen" },
9
+ };
10
+ export default meta;
11
+ export const Default = {
12
+ args: {
13
+ Summaries: React.createElement(Summaries, null),
14
+ Tabs: undefined,
15
+ title: "Explore Data",
16
+ },
17
+ };
@@ -0,0 +1,6 @@
1
+ import { Meta, StoryObj } from "@storybook/react";
2
+ import { BackPageHero } from "./backPageHero";
3
+ declare const _default: Meta<typeof BackPageHero>;
4
+ export default _default;
5
+ type Story = StoryObj<typeof BackPageHero>;
6
+ export declare const BackPageHeroStory: Story;
@@ -0,0 +1,10 @@
1
+ import { BackPageHero } from "./backPageHero";
2
+ export default {
3
+ component: BackPageHero,
4
+ title: "Components/Hero",
5
+ };
6
+ export const BackPageHeroStory = {
7
+ args: {
8
+ title: "A Single-Cell Transcriptomic Map of the Human and Mouse Pancreas Reveals Inter- and Intra-cell Population Structure",
9
+ },
10
+ };
@@ -0,0 +1,5 @@
1
+ import { Meta } from "@storybook/react";
2
+ import { AuthenticationMenu } from "./authenticationMenu";
3
+ declare const _default: Meta<typeof AuthenticationMenu>;
4
+ export default _default;
5
+ export declare const AuthenticationMenuStory: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./authenticationMenu").AuthenticationMenuProps>;
@@ -0,0 +1,29 @@
1
+ import React from "react";
2
+ import { AuthenticationMenu } from "./authenticationMenu";
3
+ export default {
4
+ argTypes: {
5
+ onLogout: {
6
+ description: "Callback to be called when 'Logout' button is clicked",
7
+ },
8
+ userProfile: {
9
+ description: "User profile with name and avatar",
10
+ },
11
+ },
12
+ component: AuthenticationMenu,
13
+ title: "Components/Navigation/AuthenticationMenu",
14
+ };
15
+ const AuthenticationMenuTemplate = (args) => React.createElement(AuthenticationMenu, { ...args });
16
+ export const AuthenticationMenuStory = AuthenticationMenuTemplate.bind({});
17
+ AuthenticationMenuStory.args = {
18
+ userProfile: {
19
+ email: "john@smith.com",
20
+ email_verified: true,
21
+ family_name: "Smith",
22
+ given_name: "John",
23
+ hd: "",
24
+ locale: "",
25
+ name: "john_smith",
26
+ picture: "https://i.pravatar.cc/200",
27
+ sub: "",
28
+ },
29
+ };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export interface RequestAuthenticationProps {
3
+ closeMenu: () => void;
4
+ requestAuthorization: () => void;
5
+ }
6
+ export declare const RequestAuthentication: ({ closeMenu, requestAuthorization, }: RequestAuthenticationProps) => JSX.Element;
@@ -0,0 +1,13 @@
1
+ import LoginRoundedIcon from "@mui/icons-material/LoginRounded";
2
+ import { IconButton as MIconButton } from "@mui/material";
3
+ import React from "react";
4
+ import { useBreakpoint } from "../../../../../../../../../../../../hooks/useBreakpoint";
5
+ import { Button } from "./requestAuthentication.styles";
6
+ export const RequestAuthentication = ({ closeMenu, requestAuthorization, }) => {
7
+ const { mdUp } = useBreakpoint();
8
+ return mdUp ? (React.createElement(Button, { onClick: requestAuthorization, startIcon: React.createElement(LoginRoundedIcon, null), variant: "nav" }, "Sign in")) : (React.createElement(MIconButton, { color: "ink", onClick: () => {
9
+ closeMenu();
10
+ requestAuthorization();
11
+ } },
12
+ React.createElement(LoginRoundedIcon, null)));
13
+ };
@@ -0,0 +1,36 @@
1
+ /// <reference types="react" />
2
+ export declare const Button: import("@emotion/styled").StyledComponent<{
3
+ children?: import("react").ReactNode;
4
+ classes?: Partial<import("@mui/material").ButtonClasses> | undefined;
5
+ color?: "inherit" | "primary" | "secondary" | "error" | "info" | "success" | "warning" | undefined;
6
+ disabled?: boolean | undefined;
7
+ disableElevation?: boolean | undefined;
8
+ disableFocusRipple?: boolean | undefined;
9
+ endIcon?: import("react").ReactNode;
10
+ fullWidth?: boolean | undefined;
11
+ href?: string | undefined;
12
+ size?: "large" | "medium" | "small" | undefined;
13
+ startIcon?: import("react").ReactNode;
14
+ sx?: import("@mui/material").SxProps<import("@mui/material").Theme> | undefined;
15
+ variant?: "nav" | "text" | "outlined" | "contained" | "activeNav" | "backNav" | undefined;
16
+ } & Omit<{
17
+ action?: import("react").Ref<import("@mui/material").ButtonBaseActions> | undefined;
18
+ centerRipple?: boolean | undefined;
19
+ children?: import("react").ReactNode;
20
+ classes?: Partial<import("@mui/material").ButtonBaseClasses> | undefined;
21
+ disabled?: boolean | undefined;
22
+ disableRipple?: boolean | undefined;
23
+ disableTouchRipple?: boolean | undefined;
24
+ focusRipple?: boolean | undefined;
25
+ focusVisibleClassName?: string | undefined;
26
+ LinkComponent?: import("react").ElementType<any> | undefined;
27
+ onFocusVisible?: import("react").FocusEventHandler<any> | undefined;
28
+ sx?: import("@mui/material").SxProps<import("@mui/material").Theme> | undefined;
29
+ tabIndex?: number | undefined;
30
+ TouchRippleProps?: Partial<import("@mui/material/ButtonBase/TouchRipple").TouchRippleProps> | undefined;
31
+ touchRippleRef?: import("react").Ref<import("@mui/material/ButtonBase/TouchRipple").TouchRippleActions> | undefined;
32
+ }, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
33
+ ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
34
+ }, keyof import("@mui/material/OverridableComponent").CommonProps | "tabIndex" | "color" | "children" | "sx" | "variant" | "href" | "disabled" | "action" | "size" | "fullWidth" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableElevation" | "disableFocusRipple" | "endIcon" | "startIcon"> & {
35
+ theme?: import("@emotion/react").Theme | undefined;
36
+ }, {}, {}>;
@@ -0,0 +1,9 @@
1
+ import styled from "@emotion/styled";
2
+ import { Button as MButton } from "@mui/material";
3
+ import { textBody500 } from "../../../../../../../../../../../../styles/common/mixins/fonts";
4
+ export const Button = styled(MButton) `
5
+ & {
6
+ ${textBody500};
7
+ padding: 6px 12px;
8
+ }
9
+ `;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export interface SearchProps {
3
+ openSearch: () => void;
4
+ }
5
+ export declare const SearchButton: ({ openSearch }: SearchProps) => JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { IconButton } from "@mui/material";
2
+ import React from "react";
3
+ import { useBreakpoint } from "../../../../../../../../../../../../hooks/useBreakpoint";
4
+ import { SearchIcon } from "../../../../../../../../../../../common/CustomIcon/components/SearchIcon/searchIcon";
5
+ import { Button } from "./searchButton.styles";
6
+ export const SearchButton = ({ openSearch }) => {
7
+ const { mdUp } = useBreakpoint();
8
+ return mdUp ? (React.createElement(Button, { onClick: openSearch, startIcon: React.createElement(SearchIcon, null), variant: "nav" }, "Search")) : (React.createElement(IconButton, { color: "ink", onClick: openSearch },
9
+ React.createElement(SearchIcon, { fontSize: "medium" })));
10
+ };
@@ -0,0 +1,36 @@
1
+ /// <reference types="react" />
2
+ export declare const Button: import("@emotion/styled").StyledComponent<{
3
+ children?: import("react").ReactNode;
4
+ classes?: Partial<import("@mui/material").ButtonClasses> | undefined;
5
+ color?: "inherit" | "primary" | "secondary" | "error" | "info" | "success" | "warning" | undefined;
6
+ disabled?: boolean | undefined;
7
+ disableElevation?: boolean | undefined;
8
+ disableFocusRipple?: boolean | undefined;
9
+ endIcon?: import("react").ReactNode;
10
+ fullWidth?: boolean | undefined;
11
+ href?: string | undefined;
12
+ size?: "large" | "medium" | "small" | undefined;
13
+ startIcon?: import("react").ReactNode;
14
+ sx?: import("@mui/material").SxProps<import("@mui/material").Theme> | undefined;
15
+ variant?: "nav" | "text" | "outlined" | "contained" | "activeNav" | "backNav" | undefined;
16
+ } & Omit<{
17
+ action?: import("react").Ref<import("@mui/material").ButtonBaseActions> | undefined;
18
+ centerRipple?: boolean | undefined;
19
+ children?: import("react").ReactNode;
20
+ classes?: Partial<import("@mui/material").ButtonBaseClasses> | undefined;
21
+ disabled?: boolean | undefined;
22
+ disableRipple?: boolean | undefined;
23
+ disableTouchRipple?: boolean | undefined;
24
+ focusRipple?: boolean | undefined;
25
+ focusVisibleClassName?: string | undefined;
26
+ LinkComponent?: import("react").ElementType<any> | undefined;
27
+ onFocusVisible?: import("react").FocusEventHandler<any> | undefined;
28
+ sx?: import("@mui/material").SxProps<import("@mui/material").Theme> | undefined;
29
+ tabIndex?: number | undefined;
30
+ TouchRippleProps?: Partial<import("@mui/material/ButtonBase/TouchRipple").TouchRippleProps> | undefined;
31
+ touchRippleRef?: import("react").Ref<import("@mui/material/ButtonBase/TouchRipple").TouchRippleActions> | undefined;
32
+ }, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
33
+ ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
34
+ }, keyof import("@mui/material/OverridableComponent").CommonProps | "tabIndex" | "color" | "children" | "sx" | "variant" | "href" | "disabled" | "action" | "size" | "fullWidth" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableElevation" | "disableFocusRipple" | "endIcon" | "startIcon"> & {
35
+ theme?: import("@emotion/react").Theme | undefined;
36
+ }, {}, {}>;
@@ -0,0 +1,9 @@
1
+ import styled from "@emotion/styled";
2
+ import { Button as MButton } from "@mui/material";
3
+ import { textBody500 } from "../../../../../../../../../../../../styles/common/mixins/fonts";
4
+ export const Button = styled(MButton) `
5
+ & {
6
+ ${textBody500};
7
+ padding: 6px 12px;
8
+ }
9
+ `;
@@ -0,0 +1,5 @@
1
+ import { RefObject } from "react";
2
+ export interface UseMeasureHeader {
3
+ headerRef: RefObject<HTMLElement>;
4
+ }
5
+ export declare const useMeasureHeader: () => UseMeasureHeader;
@@ -0,0 +1,19 @@
1
+ import { useEffect, useRef } from "react";
2
+ import { useLayoutState } from "../../../../../hooks/useLayoutState";
3
+ import { getBorderBoxSizeHeight, useResizeObserver, } from "../../../../../hooks/useResizeObserver";
4
+ import { LayoutActionKind } from "../../../../../providers/layoutState";
5
+ export const useMeasureHeader = () => {
6
+ const { layoutDispatch } = useLayoutState();
7
+ const headerRef = useRef(null);
8
+ const { height } = useResizeObserver(headerRef, getBorderBoxSizeHeight) || {};
9
+ // Updates layout state header height.
10
+ useEffect(() => {
11
+ if (!height)
12
+ return;
13
+ layoutDispatch({
14
+ payload: height,
15
+ type: LayoutActionKind.UpdateHeaderHeight,
16
+ });
17
+ }, [height, layoutDispatch]);
18
+ return { headerRef };
19
+ };
@@ -0,0 +1,2 @@
1
+ import { TabProps as MTabProps } from "@mui/material";
2
+ export declare const DEFAULT_TAB_VALUE: MTabProps["value"];
@@ -0,0 +1 @@
1
+ export const DEFAULT_TAB_VALUE = "";
@@ -82,7 +82,7 @@ function isValidJsonString(query) {
82
82
  JSON.parse(query);
83
83
  return true;
84
84
  }
85
- catch (e) {
85
+ catch {
86
86
  return false;
87
87
  }
88
88
  }
@@ -0,0 +1,6 @@
1
+ import { Meta, StoryObj } from "@storybook/react";
2
+ import { Login } from "./login";
3
+ declare const _default: Meta<typeof Login>;
4
+ export default _default;
5
+ type Story = StoryObj<typeof Login>;
6
+ export declare const LoginStory: Story;
@@ -0,0 +1,31 @@
1
+ import React from "react";
2
+ import { HelpIconButton } from "../common/Button/components/HelpIconButton/helpIconButton";
3
+ import { Login } from "./login";
4
+ export default {
5
+ argTypes: {
6
+ isGoogle: { control: "boolean" },
7
+ termsOfService: { control: "object" },
8
+ text: { control: "object" },
9
+ title: { control: "text" },
10
+ warning: { control: "object" },
11
+ },
12
+ component: Login,
13
+ parameters: {
14
+ layout: "fullscreen",
15
+ },
16
+ title: "Components/Login",
17
+ };
18
+ export const LoginStory = {
19
+ args: {
20
+ isGoogle: true,
21
+ termsOfService: (React.createElement("p", null, "I have read and agree to privacy notice and terms of use")),
22
+ text: (React.createElement("p", null,
23
+ "Please sign in to your Data Explorer account",
24
+ " ",
25
+ React.createElement(HelpIconButton, { url: "https://www.google.com/" }))),
26
+ title: "Sign in to your account",
27
+ warning: (React.createElement("div", null,
28
+ React.createElement("p", null, "WARNING NOTICE"),
29
+ React.createElement("p", null, "This is a warning notice."))),
30
+ },
31
+ };
@@ -3,7 +3,12 @@ import React, { useEffect } from "react";
3
3
  export const Redirect = ({ destination, replace, }) => {
4
4
  const router = useRouter();
5
5
  useEffect(() => {
6
- replace ? router.replace(destination) : router.push(destination);
6
+ if (replace) {
7
+ router.replace(destination);
8
+ }
9
+ else {
10
+ router.push(destination);
11
+ }
7
12
  }, [destination, replace, router]);
8
13
  return React.createElement(React.Fragment, null);
9
14
  };
@@ -0,0 +1,16 @@
1
+ type MenuListItemOnChangeFn = (event: unknown) => void;
2
+ type onResetFn = () => void;
3
+ export interface CheckboxMenuListItem {
4
+ checked: boolean;
5
+ disabled?: boolean;
6
+ label: string;
7
+ onChange: MenuListItemOnChangeFn;
8
+ value: string;
9
+ }
10
+ export interface CheckboxMenuProps {
11
+ label: string;
12
+ onReset: onResetFn;
13
+ options: CheckboxMenuListItem[];
14
+ }
15
+ export declare const CheckboxMenu: ({ label: buttonLabel, onReset, options, }: CheckboxMenuProps) => JSX.Element;
16
+ export {};