@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,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,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,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,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,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
|
+
};
|
package/lib/components/Layout/components/BackPage/components/BackPageHero/backPageHero.stories.d.ts
ADDED
|
@@ -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;
|
package/lib/components/Layout/components/BackPage/components/BackPageHero/backPageHero.stories.js
ADDED
|
@@ -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,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,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 @@
|
|
|
1
|
+
export const DEFAULT_TAB_VALUE = "";
|
|
@@ -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
|
-
|
|
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 {};
|