@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.
- package/.eslintrc.json +2 -1
- package/.github/copilot-instructions.md +176 -0
- package/.github/workflows/release-please.yml +8 -4
- package/.github/workflows/run-checks.yml +2 -2
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +33 -0
- package/README.md +4 -10
- package/docs/TRUSTED_PUBLISHING.md +133 -0
- package/lib/common/utils.js +1 -1
- package/lib/components/DataDictionary/components/Table/columns/columnDef.d.ts +6 -0
- package/lib/components/DataDictionary/components/Table/columns/columnDef.js +33 -0
- package/lib/components/DataDictionary/components/Table/columns/columnIdentifier.d.ts +5 -0
- package/lib/components/DataDictionary/components/Table/columns/columnIdentifier.js +5 -0
- package/lib/components/DataDictionary/components/Table/columns/types.d.ts +2 -0
- package/lib/components/DataDictionary/components/Table/columns/types.js +1 -0
- package/lib/components/DataDictionary/components/Table/components/BasicCell/types.d.ts +4 -0
- package/lib/components/DataDictionary/components/Table/components/BasicCell/types.js +1 -0
- package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.d.ts +4 -0
- package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.js +23 -0
- package/lib/components/DataDictionary/hooks/UseDataDictionary/types.d.ts +8 -0
- package/lib/components/DataDictionary/hooks/UseDataDictionary/types.js +1 -0
- package/lib/components/DataDictionary/hooks/UseLayoutSpacing/hook.d.ts +2 -0
- package/lib/components/DataDictionary/hooks/UseLayoutSpacing/hook.js +10 -0
- package/lib/components/DataDictionary/hooks/UseLayoutSpacing/types.d.ts +7 -0
- package/lib/components/DataDictionary/hooks/UseLayoutSpacing/types.js +1 -0
- package/lib/components/Detail/components/Table/components/TableHead/tableHead.d.ts +8 -0
- package/lib/components/Detail/components/Table/components/TableHead/tableHead.js +36 -0
- package/lib/components/Filter/components/Filter/filter.stories.d.ts +25 -0
- package/lib/components/Filter/components/Filter/filter.stories.js +42 -0
- package/lib/components/Filter/components/FilterTag/filterTag.stories.d.ts +16 -0
- package/lib/components/Filter/components/FilterTag/filterTag.stories.js +17 -0
- package/lib/components/Filter/components/Filters/filters.stories.d.ts +6 -0
- package/lib/components/Filter/components/Filters/filters.stories.js +91 -0
- package/lib/components/Filter/components/SearchAllFilters/components/AutocompletePopper/autocompletePopper.styles.d.ts +3 -0
- package/lib/components/Filter/components/SearchAllFilters/components/AutocompletePopper/autocompletePopper.styles.js +15 -0
- package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.stories.d.ts +6 -0
- package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.stories.js +82 -0
- package/lib/components/Filter/components/SearchAllFiltersSearch/components/SearchCloseButton/searchCloseButton.d.ts +1 -0
- package/lib/components/Filter/components/SearchAllFiltersSearch/components/SearchCloseButton/searchCloseButton.js +14 -0
- package/lib/components/Filter/components/SearchAllFiltersSearch/searchAllFiltersSearch.d.ts +2 -0
- package/lib/components/Filter/components/SearchAllFiltersSearch/searchAllFiltersSearch.js +12 -0
- package/lib/components/Filter/components/SearchAllFiltersSearch/searchAllFiltersSearch.styles.d.ts +5 -0
- package/lib/components/Filter/components/SearchAllFiltersSearch/searchAllFiltersSearch.styles.js +34 -0
- package/lib/components/Index/components/Cell/cell.d.ts +7 -0
- package/lib/components/Index/components/Cell/cell.js +10 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/chartView.d.ts +2 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/chartView.js +20 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/chartView.styles.d.ts +13 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/chartView.styles.js +12 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/constants.d.ts +10 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/constants.js +10 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/plot.d.ts +3 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/plot.js +91 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/utils.d.ts +132 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/utils.js +230 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/chart.d.ts +2 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/chart.js +7 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/chart.styles.d.ts +3 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/chart.styles.js +29 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/constants.d.ts +1 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/constants.js +1 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/stories/args.d.ts +4 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/stories/args.js +70 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/stories/chart.stories.d.ts +7 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/stories/chart.stories.js +18 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/types.d.ts +6 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/types.js +1 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/constants.d.ts +1 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/constants.js +1 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/hooks/UseChartView/types.d.ts +7 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/hooks/UseChartView/types.js +1 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/hooks/UseChartView/useChartView.d.ts +3 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/hooks/UseChartView/useChartView.js +11 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/stories/args.d.ts +3 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/stories/args.js +97 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/stories/chartView.stories.d.ts +6 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/stories/chartView.stories.js +15 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/types.d.ts +8 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/types.js +1 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/utils.d.ts +14 -0
- package/lib/components/Index/components/EntitiesView/components/ChartView/utils.js +23 -0
- package/lib/components/Index/components/EntitiesView/components/EntityList/entityList.d.ts +3 -0
- package/lib/components/Index/components/EntitiesView/components/EntityList/entityList.js +14 -0
- package/lib/components/Index/components/EntitiesView/components/EntityList/types.d.ts +6 -0
- package/lib/components/Index/components/EntitiesView/components/EntityList/types.js +1 -0
- package/lib/components/Index/components/EntitiesView/constants.d.ts +1 -0
- package/lib/components/Index/components/EntitiesView/constants.js +1 -0
- package/lib/components/Index/components/EntitiesView/entitiesView.d.ts +2 -0
- package/lib/components/Index/components/EntitiesView/entitiesView.js +15 -0
- package/lib/components/Index/components/EntitiesView/entitiesView.styles.d.ts +3 -0
- package/lib/components/Index/components/EntitiesView/entitiesView.styles.js +20 -0
- package/lib/components/Index/components/EntitiesView/hooks/UseEntitiesView/hook.d.ts +2 -0
- package/lib/components/Index/components/EntitiesView/hooks/UseEntitiesView/hook.js +14 -0
- package/lib/components/Index/components/EntitiesView/hooks/UseEntitiesView/types.d.ts +13 -0
- package/lib/components/Index/components/EntitiesView/hooks/UseEntitiesView/types.js +5 -0
- package/lib/components/Index/components/EntitiesView/stories/entitiesView.stories.d.ts +8 -0
- package/lib/components/Index/components/EntitiesView/stories/entitiesView.stories.js +50 -0
- package/lib/components/Index/components/EntitiesView/types.d.ts +8 -0
- package/lib/components/Index/components/EntitiesView/types.js +1 -0
- package/lib/components/Index/components/Hero/components/ExportButton/exportButton.d.ts +1 -0
- package/lib/components/Index/components/Hero/components/ExportButton/exportButton.js +13 -0
- package/lib/components/Index/components/Hero/components/ExportButton/exportButton.styles.d.ts +3 -0
- package/lib/components/Index/components/Hero/components/ExportButton/exportButton.styles.js +13 -0
- package/lib/components/Index/components/Hero/components/Summaries/stories/summaries.stories.d.ts +6 -0
- package/lib/components/Index/components/Hero/components/Summaries/stories/summaries.stories.js +14 -0
- package/lib/components/Index/components/Hero/components/Summaries/summaries.d.ts +9 -0
- package/lib/components/Index/components/Hero/components/Summaries/summaries.js +12 -0
- package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.d.ts +13 -0
- package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.js +18 -0
- package/lib/components/Index/components/Hero/components/Summaries/summaries.styles.d.ts +7 -0
- package/lib/components/Index/components/Hero/components/Summaries/summaries.styles.js +26 -0
- package/lib/components/Index/components/Hero/hero.d.ts +11 -0
- package/lib/components/Index/components/Hero/hero.js +12 -0
- package/lib/components/Index/components/Hero/hero.stories.d.ts +23 -0
- package/lib/components/Index/components/Hero/hero.stories.js +22 -0
- package/lib/components/Index/components/Hero/hero.styles.d.ts +16 -0
- package/lib/components/Index/components/Hero/hero.styles.js +44 -0
- package/lib/components/Index/components/Hero/stories/hero.stories.d.ts +6 -0
- package/lib/components/Index/components/Hero/stories/hero.stories.js +16 -0
- package/lib/components/Index/components/NTag/components/Tooltip/tooltip.d.ts +8 -0
- package/lib/components/Index/components/NTag/components/Tooltip/tooltip.js +57 -0
- package/lib/components/Index/components/NTag/components/Tooltip/tooltip.styles.d.ts +4 -0
- package/lib/components/Index/components/NTag/components/Tooltip/tooltip.styles.js +10 -0
- package/lib/components/Index/components/NTag/nTag.d.ts +10 -0
- package/lib/components/Index/components/NTag/nTag.js +8 -0
- package/lib/components/Index/components/NTagCell/nTagCell.d.ts +11 -0
- package/lib/components/Index/components/NTagCell/nTagCell.js +29 -0
- package/lib/components/Index/components/NTagCell/nTagCell.stories.d.ts +5 -0
- package/lib/components/Index/components/NTagCell/nTagCell.stories.js +16 -0
- package/lib/components/Index/components/Tabs/common/utils.d.ts +8 -0
- package/lib/components/Index/components/Tabs/common/utils.js +19 -0
- package/lib/components/Index/components/Tabs/tabs.d.ts +1 -0
- package/lib/components/Index/components/Tabs/tabs.js +20 -0
- package/lib/components/Index/components/TitleCell/titleCell.d.ts +6 -0
- package/lib/components/Index/components/TitleCell/titleCell.js +10 -0
- package/lib/components/Index/components/TitleCell/titleCell.styles.d.ts +3 -0
- package/lib/components/Index/components/TitleCell/titleCell.styles.js +6 -0
- package/lib/components/Index/index.stories.d.ts +6 -0
- package/lib/components/Index/index.stories.js +26 -0
- package/lib/components/Index/stories/index.stories.d.ts +6 -0
- package/lib/components/Index/stories/index.stories.js +17 -0
- package/lib/components/Layout/components/BackPage/components/BackPageHero/backPageHero.stories.d.ts +6 -0
- package/lib/components/Layout/components/BackPage/components/BackPageHero/backPageHero.stories.js +10 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.d.ts +5 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.js +29 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.d.ts +6 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.js +13 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.styles.d.ts +36 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.styles.js +9 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.d.ts +5 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.js +10 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.styles.d.ts +36 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.styles.js +9 -0
- package/lib/components/Layout/components/Header/hooks/useMeasureHeader.d.ts +5 -0
- package/lib/components/Layout/components/Header/hooks/useMeasureHeader.js +19 -0
- package/lib/components/Layout/components/Outline/common/constants.d.ts +2 -0
- package/lib/components/Layout/components/Outline/common/constants.js +1 -0
- package/lib/components/Links/components/Link/components/ExploreViewLink/exploreViewLink.js +1 -1
- package/lib/components/Login/login.stories.d.ts +6 -0
- package/lib/components/Login/login.stories.js +31 -0
- package/lib/components/Redirect/redirect.js +6 -1
- package/lib/components/Table/components/CheckboxMenu/checkboxMenu.d.ts +16 -0
- package/lib/components/Table/components/CheckboxMenu/checkboxMenu.js +28 -0
- package/lib/components/Table/components/CheckboxMenu/checkboxMenu.stories.d.ts +5 -0
- package/lib/components/Table/components/CheckboxMenu/checkboxMenu.stories.js +46 -0
- package/lib/components/Table/components/CheckboxMenu/checkboxMenu.styles.d.ts +3 -0
- package/lib/components/Table/components/CheckboxMenu/checkboxMenu.styles.js +21 -0
- package/lib/components/Table/components/DownloadEntityResults/downloadEntityResults.d.ts +6 -0
- package/lib/components/Table/components/DownloadEntityResults/downloadEntityResults.js +17 -0
- package/lib/components/Table/components/EntityViewToggle/entityViewToggle.d.ts +2 -0
- package/lib/components/Table/components/EntityViewToggle/entityViewToggle.js +37 -0
- package/lib/components/Table/components/Pagination/pagination.d.ts +9 -0
- package/lib/components/Table/components/Pagination/pagination.js +19 -0
- package/lib/components/Table/components/Pagination/pagination.stories.d.ts +28 -0
- package/lib/components/Table/components/Pagination/pagination.stories.js +24 -0
- package/lib/components/Table/components/Pagination/pagination.styles.d.ts +4 -0
- package/lib/components/Table/components/Pagination/pagination.styles.js +15 -0
- package/lib/components/Table/components/TableBody/hooks/virtualizer/constants.d.ts +3 -0
- package/lib/components/Table/components/TableBody/hooks/virtualizer/constants.js +3 -0
- package/lib/components/Table/components/TableBody/hooks/virtualizer/hook.d.ts +8 -0
- package/lib/components/Table/components/TableBody/hooks/virtualizer/hook.js +18 -0
- package/lib/components/Table/components/TableBody/hooks/virtualizer/types.d.ts +4 -0
- package/lib/components/Table/components/TableBody/hooks/virtualizer/types.js +1 -0
- package/lib/components/Table/components/TableBody/utils.d.ts +12 -0
- package/lib/components/Table/components/TableBody/utils.js +17 -0
- package/lib/components/Table/components/TableCell/components/MarkdownCell/stories/types.d.ts +3 -0
- package/lib/components/Table/components/TableCell/components/MarkdownCell/stories/types.js +1 -0
- package/lib/components/Table/components/TableCell/components/MarkdownCell/types.d.ts +3 -0
- package/lib/components/Table/components/TableCell/components/MarkdownCell/types.js +1 -0
- package/lib/components/TableCreator/common/constants.d.ts +6 -0
- package/lib/components/TableCreator/common/constants.js +19 -0
- package/lib/components/TableCreator/common/entities.d.ts +5 -0
- package/lib/components/TableCreator/common/entities.js +1 -0
- package/lib/components/TableCreator/tableCreator.styles.d.ts +4 -0
- package/lib/components/TableCreator/tableCreator.styles.js +4 -0
- package/lib/components/common/Alert/alert.stories.d.ts +6 -0
- package/lib/components/common/Alert/alert.stories.js +36 -0
- package/lib/components/common/Alert/components/AlertText/alertText.styles.d.ts +4 -0
- package/lib/components/common/Alert/components/AlertText/alertText.styles.js +19 -0
- package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.d.ts +7 -0
- package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.js +5 -0
- package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.styles.d.ts +3 -0
- package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.styles.js +19 -0
- package/lib/components/common/Banner/components/DismissibleBanner/dismissibleBanner.d.ts +10 -0
- package/lib/components/common/Banner/components/DismissibleBanner/dismissibleBanner.js +16 -0
- package/lib/components/common/Banner/components/SessionTimeout/sessionTimeout.styles.d.ts +3 -0
- package/lib/components/common/Banner/components/SessionTimeout/sessionTimeout.styles.js +21 -0
- package/lib/components/common/Button/components/LoginButton/loginButton.d.ts +3 -0
- package/lib/components/common/Button/components/LoginButton/loginButton.js +6 -0
- package/lib/components/common/Button/components/LoginButton/loginButton.styles.d.ts +7 -0
- package/lib/components/common/Button/components/LoginButton/loginButton.styles.js +11 -0
- package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.d.ts +5 -0
- package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.js +10 -0
- package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.stories.d.ts +3 -0
- package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.stories.js +9 -0
- package/lib/components/common/ToggleButtonGroup/toggleButtonGroup.js +2 -1
- package/lib/hooks/useAuthentication/common/constants.d.ts +4 -0
- package/lib/hooks/useAuthentication/common/constants.js +19 -0
- package/lib/hooks/useAuthentication/common/entities.d.ts +25 -0
- package/lib/hooks/useAuthentication/common/entities.js +11 -0
- package/lib/hooks/useAuthentication/common/utils.d.ts +15 -0
- package/lib/hooks/useAuthentication/common/utils.js +25 -0
- package/lib/hooks/useAuthentication/useAuthentication.d.ts +6 -0
- package/lib/hooks/useAuthentication/useAuthentication.js +9 -0
- package/lib/hooks/useAuthentication/useAuthenticationComplete.d.ts +6 -0
- package/lib/hooks/useAuthentication/useAuthenticationComplete.js +55 -0
- package/lib/hooks/useAuthentication/useAuthenticationForm.d.ts +20 -0
- package/lib/hooks/useAuthentication/useAuthenticationForm.js +88 -0
- package/lib/hooks/useAuthentication/useAuthenticationNIHExpiry.d.ts +18 -0
- package/lib/hooks/useAuthentication/useAuthenticationNIHExpiry.js +50 -0
- package/lib/hooks/useAuthentication/useAuthenticationStatus.d.ts +20 -0
- package/lib/hooks/useAuthentication/useAuthenticationStatus.js +32 -0
- package/lib/hooks/useAuthentication/useFetchGoogleProfile.d.ts +21 -0
- package/lib/hooks/useAuthentication/useFetchGoogleProfile.js +41 -0
- package/lib/hooks/useAuthentication/useFetchTerraNIHProfile.d.ts +18 -0
- package/lib/hooks/useAuthentication/useFetchTerraNIHProfile.js +62 -0
- package/lib/hooks/useAuthentication/useFetchTerraProfile.d.ts +24 -0
- package/lib/hooks/useAuthentication/useFetchTerraProfile.js +62 -0
- package/lib/hooks/useAuthentication/useFetchTerraTermsOfService.d.ts +15 -0
- package/lib/hooks/useAuthentication/useFetchTerraTermsOfService.js +62 -0
- package/lib/hooks/useAuthentication/useTokenClient.d.ts +11 -0
- package/lib/hooks/useAuthentication/useTokenClient.js +29 -0
- package/lib/hooks/useAuthenticationConfig.d.ts +6 -0
- package/lib/hooks/useAuthenticationConfig.js +14 -0
- package/lib/hooks/useCategoryConfigs.d.ts +6 -0
- package/lib/hooks/useCategoryConfigs.js +17 -0
- package/lib/hooks/useEntityListRelatedView.d.ts +15 -0
- package/lib/hooks/useEntityListRelatedView.js +62 -0
- package/lib/hooks/useExploreMode.d.ts +14 -0
- package/lib/hooks/useExploreMode.js +20 -0
- package/lib/hooks/useFileLocation.js +1 -1
- package/lib/hooks/useFileManifest/common/buildFileManifestRequestURL.d.ts +15 -0
- package/lib/hooks/useFileManifest/common/buildFileManifestRequestURL.js +27 -0
- package/lib/hooks/useFileManifest/useFileManifestURL.d.ts +5 -0
- package/lib/hooks/useFileManifest/useFileManifestURL.js +11 -0
- package/lib/hooks/useFileManifest/useRequestFileManifest.d.ts +9 -0
- package/lib/hooks/useFileManifest/useRequestFileManifest.js +37 -0
- package/lib/hooks/useLayoutState.d.ts +6 -0
- package/lib/hooks/useLayoutState.js +9 -0
- package/lib/hooks/useMenu.d.ts +10 -0
- package/lib/hooks/useMenu.js +17 -0
- package/lib/hooks/useMenuWithPosition.d.ts +14 -0
- package/lib/hooks/useMenuWithPosition.js +33 -0
- package/lib/hooks/useScroll.d.ts +10 -0
- package/lib/hooks/useScroll.js +12 -0
- package/lib/hooks/useSessionTimeout.d.ts +11 -0
- package/lib/hooks/useSessionTimeout.js +28 -0
- package/lib/providers/authentication.d.ts +51 -0
- package/lib/providers/authentication.js +110 -0
- package/lib/providers/layoutState.d.ts +40 -0
- package/lib/providers/layoutState.js +47 -0
- package/lib/styles/common/mixins/colors.d.ts +25 -0
- package/lib/styles/common/mixins/colors.js +32 -0
- package/lib/styles/common/mixins/fonts.d.ts +16 -0
- package/lib/styles/common/mixins/fonts.js +30 -0
- package/lib/styles/common/mixins/shadows.d.ts +3 -0
- package/lib/styles/common/mixins/shadows.js +4 -0
- package/lib/styles/common/mui/palette.d.ts +47 -0
- package/lib/styles/common/mui/palette.js +47 -0
- package/lib/theme/common/entities.d.ts +6 -0
- package/lib/theme/common/entities.js +1 -0
- package/package.json +15 -13
- package/src/common/utils.ts +1 -1
- package/src/components/Links/components/Link/components/ExploreViewLink/exploreViewLink.tsx +1 -1
- package/src/components/Redirect/redirect.tsx +5 -1
- package/src/components/common/ToggleButtonGroup/toggleButtonGroup.tsx +1 -1
- package/src/hooks/useFileLocation.ts +1 -1
- 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,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 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@databiosphere/findable-ui",
|
|
3
|
-
"version": "
|
|
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
|
-
"@
|
|
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": "^
|
|
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.
|
|
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.
|
|
83
|
-
"next-auth": "4.24.
|
|
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": "
|
|
105
|
+
"node": "22.12.0"
|
|
104
106
|
}
|
|
105
107
|
}
|
package/src/common/utils.ts
CHANGED
|
@@ -13,7 +13,11 @@ export const Redirect = ({
|
|
|
13
13
|
const router = useRouter();
|
|
14
14
|
|
|
15
15
|
useEffect(() => {
|
|
16
|
-
|
|
16
|
+
if (replace) {
|
|
17
|
+
router.replace(destination);
|
|
18
|
+
} else {
|
|
19
|
+
router.push(destination);
|
|
20
|
+
}
|
|
17
21
|
}, [destination, replace, router]);
|
|
18
22
|
|
|
19
23
|
return <></>;
|
|
@@ -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
|
|
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-
|
|
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-
|
|
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
|
|
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-
|
|
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-
|
|
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
|
|