@databiosphere/findable-ui 21.4.0 → 22.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.release-please-manifest.json +1 -1
- package/.storybook/main.ts +7 -1
- package/CHANGELOG.md +17 -0
- package/lib/components/DataDictionary/components/Entities/constants.d.ts +2 -0
- package/lib/components/DataDictionary/components/Entities/constants.js +6 -0
- package/lib/components/DataDictionary/components/Entities/entities.d.ts +2 -0
- package/lib/components/DataDictionary/components/Entities/entities.js +7 -0
- package/lib/components/DataDictionary/components/Entities/types.d.ts +4 -0
- package/lib/components/DataDictionary/components/Entities/types.js +1 -0
- package/lib/components/DataDictionary/components/Entity/constants.d.ts +2 -0
- package/lib/components/DataDictionary/components/Entity/constants.js +5 -0
- package/lib/components/DataDictionary/components/Entity/entity.d.ts +2 -0
- package/lib/components/DataDictionary/components/Entity/entity.js +14 -0
- package/lib/components/DataDictionary/components/Entity/types.d.ts +4 -0
- package/lib/components/DataDictionary/components/Entity/types.js +1 -0
- 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/basicCell.d.ts +2 -0
- package/lib/components/DataDictionary/components/Table/components/BasicCell/basicCell.js +6 -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/components/Table/hook.d.ts +3 -0
- package/lib/components/DataDictionary/components/Table/hook.js +11 -0
- package/lib/components/DataDictionary/components/Table/options/core/constants.d.ts +3 -0
- package/lib/components/DataDictionary/components/Table/options/core/constants.js +7 -0
- package/lib/components/DataDictionary/components/Table/options/hook.d.ts +3 -0
- package/lib/components/DataDictionary/components/Table/options/hook.js +8 -0
- package/lib/components/DataDictionary/components/Table/options/sorting/constants.d.ts +3 -0
- package/lib/components/DataDictionary/components/Table/options/sorting/constants.js +3 -0
- package/lib/components/DataDictionary/components/Table/table.d.ts +2 -0
- package/lib/components/DataDictionary/components/Table/table.js +17 -0
- package/lib/components/DataDictionary/components/Table/table.styles.d.ts +3 -0
- package/lib/components/DataDictionary/components/Table/table.styles.js +5 -0
- package/lib/components/DataDictionary/components/Table/types.d.ts +5 -0
- package/lib/components/DataDictionary/components/Table/types.js +1 -0
- package/lib/components/DataDictionary/dataDictionary.d.ts +2 -0
- package/lib/components/DataDictionary/dataDictionary.js +9 -0
- package/lib/components/DataDictionary/dataDictionary.styles.d.ts +1 -0
- package/lib/components/DataDictionary/dataDictionary.styles.js +7 -0
- package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.d.ts +2 -0
- package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.js +5 -0
- package/lib/components/DataDictionary/hooks/UseDataDictionary/types.d.ts +4 -0
- package/lib/components/DataDictionary/hooks/UseDataDictionary/types.js +1 -0
- package/lib/components/Detail/detail.stories.d.ts +36 -5
- package/lib/components/Detail/detail.stories.js +27 -18
- package/lib/components/Export/components/ExportMethod/exportMethod.stories.d.ts +22 -5
- package/lib/components/Export/components/ExportMethod/exportMethod.stories.js +9 -9
- package/lib/components/Filter/components/Filter/filter.stories.d.ts +25 -5
- package/lib/components/Filter/components/Filter/filter.stories.js +25 -24
- package/lib/components/Filter/components/FilterLabel/filterLabel.stories.d.ts +31 -5
- package/lib/components/Filter/components/FilterLabel/filterLabel.stories.js +10 -8
- package/lib/components/Filter/components/FilterMenu/filterMenu.stories.d.ts +38 -5
- package/lib/components/Filter/components/FilterMenu/filterMenu.stories.js +107 -104
- package/lib/components/Filter/components/FilterTag/filterTag.stories.d.ts +16 -5
- package/lib/components/Filter/components/FilterTag/filterTag.stories.js +8 -7
- package/lib/components/Filter/components/FilterTags/filterTags.stories.d.ts +18 -5
- package/lib/components/Filter/components/FilterTags/filterTags.stories.js +40 -39
- package/lib/components/Index/components/AzulFileDownload/azulFileDownload.stories.d.ts +8 -5
- package/lib/components/Index/components/AzulFileDownload/azulFileDownload.stories.js +9 -6
- package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.d.ts +13 -5
- package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.js +11 -11
- package/lib/components/Index/components/Hero/hero.stories.d.ts +23 -5
- package/lib/components/Index/components/Hero/hero.stories.js +8 -6
- package/lib/components/Index/components/NTagCell/nTagCell.stories.d.ts +16 -5
- package/lib/components/Index/components/NTagCell/nTagCell.stories.js +8 -8
- package/lib/components/Index/index.stories.js +2 -1
- package/lib/components/Layout/components/BackPage/backPageView.stories.d.ts +31 -5
- package/lib/components/Layout/components/BackPage/backPageView.stories.js +27 -18
- package/lib/components/Layout/components/Footer/footer.stories.d.ts +24 -3
- package/lib/components/Layout/components/Footer/footer.stories.js +4 -3
- package/lib/components/Layout/components/Header/header.stories.js +1 -1
- package/lib/components/Layout/components/Sidebar/components/SidebarLabel/sidebarLabel.stories.d.ts +13 -5
- package/lib/components/Layout/components/Sidebar/components/SidebarLabel/sidebarLabel.stories.js +6 -6
- package/lib/components/Layout/components/Sidebar/sidebar.stories.js +2 -0
- package/lib/components/Links/links.stories.d.ts +13 -5
- package/lib/components/Links/links.stories.js +14 -14
- package/lib/components/Loading/loading.stories.d.ts +34 -5
- package/lib/components/Loading/loading.stories.js +8 -6
- package/lib/components/Project/components/CollaboratingOrganizations/collaboratingOrganizations.stories.d.ts +13 -5
- package/lib/components/Project/components/CollaboratingOrganizations/collaboratingOrganizations.stories.js +20 -20
- package/lib/components/Project/components/Contacts/contacts.stories.d.ts +13 -5
- package/lib/components/Project/components/Contacts/contacts.stories.js +18 -18
- package/lib/components/Project/components/Contributors/contributors.stories.d.ts +8 -5
- package/lib/components/Project/components/Contributors/contributors.stories.js +27 -27
- package/lib/components/Project/components/DataCurators/dataCurators.stories.d.ts +13 -5
- package/lib/components/Project/components/DataCurators/dataCurators.stories.js +7 -7
- package/lib/components/Project/components/DataReleasePolicy/dataReleasePolicy.stories.d.ts +8 -5
- package/lib/components/Project/components/DataReleasePolicy/dataReleasePolicy.stories.js +3 -4
- package/lib/components/Project/components/Description/description.stories.d.ts +8 -5
- package/lib/components/Project/components/Description/description.stories.js +6 -6
- package/lib/components/Project/components/Details/details.stories.d.ts +16 -5
- package/lib/components/Project/components/Details/details.stories.js +7 -7
- package/lib/components/Project/components/Publications/publications.stories.d.ts +8 -5
- package/lib/components/Project/components/Publications/publications.stories.js +17 -17
- package/lib/components/Project/components/SupplementaryLinks/supplementaryLinks.stories.d.ts +8 -5
- package/lib/components/Project/components/SupplementaryLinks/supplementaryLinks.stories.js +18 -18
- package/lib/components/Support/components/SupportRequest/components/SupportRequestForm/common/constants.d.ts +16 -33
- package/lib/components/Support/components/SupportRequest/components/SupportRequestForm/common/constants.js +10 -9
- package/lib/components/Support/components/SupportRequest/components/SupportRequestForm/supportRequestForm.js +26 -14
- package/lib/components/Support/components/ViewSupport/types.d.ts +6 -0
- package/lib/components/Support/components/ViewSupport/types.js +1 -0
- package/lib/components/Support/components/ViewSupport/viewSupport.d.ts +2 -9
- package/lib/components/Support/components/ViewSupport/viewSupport.js +7 -3
- package/lib/components/Table/components/Pagination/pagination.stories.d.ts +28 -5
- package/lib/components/Table/components/Pagination/pagination.stories.js +11 -7
- package/lib/components/common/Accordion/accordion.stories.d.ts +6 -3
- package/lib/components/common/Accordion/accordion.stories.js +2 -1
- package/lib/components/common/Breadcrumbs/breadcrumbs.stories.d.ts +10 -7
- package/lib/components/common/Breadcrumbs/breadcrumbs.stories.js +42 -43
- package/lib/components/common/Button/components/CallToActionButton/callToActionButton.stories.d.ts +9 -6
- package/lib/components/common/Button/components/CallToActionButton/callToActionButton.stories.js +13 -15
- package/lib/components/common/Button/components/HelpIconButton/helpIconButton.stories.d.ts +19 -2
- package/lib/components/common/Button/components/HelpIconButton/helpIconButton.stories.js +2 -2
- package/lib/components/common/Card/card.stories.d.ts +6 -3
- package/lib/components/common/Card/card.stories.js +2 -1
- package/lib/components/common/Code/code.stories.d.ts +5 -3
- package/lib/components/common/CopyToClipboard/copyToClipboard.stories.d.ts +11 -3
- package/lib/components/common/CopyToClipboard/copyToClipboard.stories.js +2 -1
- package/lib/components/common/Section/components/SectionTitle/sectionTitle.stories.d.ts +13 -5
- package/lib/components/common/Section/components/SectionTitle/sectionTitle.stories.js +6 -6
- package/lib/components/common/Socials/socials.stories.d.ts +11 -3
- package/lib/components/common/Socials/socials.stories.js +2 -1
- package/lib/components/common/StaticImage/staticImage.stories.d.ts +22 -5
- package/lib/components/common/StaticImage/staticImage.stories.js +8 -8
- package/lib/components/common/StatusIcon/statusIcon.stories.d.ts +19 -5
- package/lib/components/common/StatusIcon/statusIcon.stories.js +7 -7
- package/lib/components/common/Tag/tag.stories.d.ts +15 -5
- package/lib/components/common/Tag/tag.stories.js +7 -5
- package/lib/components/common/ToggleButtonGroup/toggleButtonGroup.stories.d.ts +18 -5
- package/lib/components/common/ToggleButtonGroup/toggleButtonGroup.stories.js +19 -19
- package/lib/styles/common/mui/typography.js +1 -0
- package/lib/views/DataDictionaryView/dataDictionaryView.d.ts +2 -0
- package/lib/views/DataDictionaryView/dataDictionaryView.js +5 -0
- package/package.json +13 -13
- package/src/components/DataDictionary/components/Entities/constants.ts +8 -0
- package/src/components/DataDictionary/components/Entities/entities.tsx +15 -0
- package/src/components/DataDictionary/components/Entities/types.ts +5 -0
- package/src/components/DataDictionary/components/Entity/constants.ts +7 -0
- package/src/components/DataDictionary/components/Entity/entity.tsx +28 -0
- package/src/components/DataDictionary/components/Entity/types.ts +5 -0
- package/src/components/DataDictionary/components/Table/columns/columnDef.ts +47 -0
- package/src/components/DataDictionary/components/Table/columns/columnIdentifier.ts +5 -0
- package/src/components/DataDictionary/components/Table/columns/types.ts +3 -0
- package/src/components/DataDictionary/components/Table/components/BasicCell/basicCell.tsx +8 -0
- package/src/components/DataDictionary/components/Table/components/BasicCell/types.ts +5 -0
- package/src/components/DataDictionary/components/Table/hook.ts +13 -0
- package/src/components/DataDictionary/components/Table/options/core/constants.ts +12 -0
- package/src/components/DataDictionary/components/Table/options/hook.ts +14 -0
- package/src/components/DataDictionary/components/Table/options/sorting/constants.ts +9 -0
- package/src/components/DataDictionary/components/Table/table.styles.ts +6 -0
- package/src/components/DataDictionary/components/Table/table.tsx +35 -0
- package/src/components/DataDictionary/components/Table/types.ts +6 -0
- package/src/components/DataDictionary/dataDictionary.styles.ts +8 -0
- package/src/components/DataDictionary/dataDictionary.tsx +16 -0
- package/src/components/DataDictionary/hooks/UseDataDictionary/hook.ts +9 -0
- package/src/components/DataDictionary/hooks/UseDataDictionary/types.ts +5 -0
- package/src/components/Detail/detail.stories.tsx +41 -36
- package/src/components/Export/components/ExportMethod/exportMethod.stories.tsx +13 -13
- package/src/components/Filter/components/Filter/filter.stories.tsx +29 -28
- package/src/components/Filter/components/FilterLabel/filterLabel.stories.tsx +14 -12
- package/src/components/Filter/components/FilterMenu/filterMenu.stories.tsx +111 -108
- package/src/components/Filter/components/FilterTag/filterTag.stories.tsx +12 -11
- package/src/components/Filter/components/FilterTags/filterTags.stories.tsx +44 -43
- package/src/components/Index/components/AzulFileDownload/azulFileDownload.stories.tsx +13 -10
- package/src/components/Index/components/Hero/components/Summaries/summaries.stories.tsx +15 -15
- package/src/components/Index/components/Hero/hero.stories.tsx +12 -8
- package/src/components/Index/components/NTagCell/nTagCell.stories.tsx +12 -12
- package/src/components/Index/index.stories.tsx +2 -1
- package/src/components/Layout/components/BackPage/backPageView.stories.tsx +42 -36
- package/src/components/Layout/components/Footer/footer.stories.tsx +6 -4
- package/src/components/Layout/components/Header/header.stories.tsx +1 -1
- package/src/components/Layout/components/Sidebar/components/SidebarLabel/sidebarLabel.stories.tsx +10 -10
- package/src/components/Layout/components/Sidebar/sidebar.stories.tsx +2 -0
- package/src/components/Links/links.stories.tsx +18 -18
- package/src/components/Loading/loading.stories.tsx +12 -10
- package/src/components/Project/components/CollaboratingOrganizations/collaboratingOrganizations.stories.tsx +24 -25
- package/src/components/Project/components/Contacts/contacts.stories.tsx +22 -22
- package/src/components/Project/components/Contributors/contributors.stories.tsx +31 -31
- package/src/components/Project/components/DataCurators/dataCurators.stories.tsx +11 -11
- package/src/components/Project/components/DataReleasePolicy/dataReleasePolicy.stories.tsx +7 -8
- package/src/components/Project/components/Description/description.stories.tsx +11 -11
- package/src/components/Project/components/Details/details.stories.tsx +11 -11
- package/src/components/Project/components/Publications/publications.stories.tsx +23 -23
- package/src/components/Project/components/SupplementaryLinks/supplementaryLinks.stories.tsx +22 -22
- package/src/components/Support/components/SupportRequest/components/SupportRequestForm/common/constants.ts +10 -9
- package/src/components/Support/components/SupportRequest/components/SupportRequestForm/supportRequestForm.tsx +44 -15
- package/src/components/Support/components/ViewSupport/types.ts +9 -0
- package/src/components/Support/components/ViewSupport/viewSupport.tsx +6 -10
- package/src/components/Table/components/Pagination/pagination.stories.tsx +15 -11
- package/src/components/common/Accordion/accordion.stories.tsx +4 -2
- package/src/components/common/Breadcrumbs/breadcrumbs.stories.tsx +46 -47
- package/src/components/common/Button/components/CallToActionButton/callToActionButton.stories.tsx +17 -20
- package/src/components/common/Button/components/HelpIconButton/helpIconButton.stories.tsx +4 -4
- package/src/components/common/Card/card.stories.tsx +4 -2
- package/src/components/common/Code/code.stories.tsx +1 -1
- package/src/components/common/CopyToClipboard/copyToClipboard.stories.tsx +4 -2
- package/src/components/common/Section/components/SectionTitle/sectionTitle.stories.tsx +10 -10
- package/src/components/common/Socials/socials.stories.tsx +4 -2
- package/src/components/common/StaticImage/staticImage.stories.tsx +12 -12
- package/src/components/common/StatusIcon/statusIcon.stories.tsx +11 -11
- package/src/components/common/Tag/tag.stories.tsx +11 -9
- package/src/components/common/ToggleButtonGroup/toggleButtonGroup.stories.tsx +23 -23
- package/src/styles/common/mui/typography.ts +1 -0
- package/src/views/DataDictionaryView/dataDictionaryView.tsx +9 -0
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { StoryObj } from "@storybook/react";
|
|
2
|
+
declare const meta: {
|
|
3
|
+
argTypes: {
|
|
4
|
+
dataCurators: {
|
|
5
|
+
control: "object";
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
component: ({ dataCurators, }: import("./dataCurators").DataCuratorsProps) => JSX.Element;
|
|
9
|
+
title: string;
|
|
10
|
+
};
|
|
11
|
+
export default meta;
|
|
12
|
+
type Story = StoryObj<typeof meta>;
|
|
13
|
+
export declare const DataCuratorsStory: Story;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { DataCurators } from "./dataCurators";
|
|
3
|
-
|
|
2
|
+
const meta = {
|
|
4
3
|
argTypes: {
|
|
5
|
-
dataCurators: { control: "
|
|
4
|
+
dataCurators: { control: "object" },
|
|
6
5
|
},
|
|
7
6
|
component: DataCurators,
|
|
8
7
|
title: "Components/SectionContent/Content/Project",
|
|
9
8
|
};
|
|
10
|
-
|
|
11
|
-
export const DataCuratorsStory =
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
export default meta;
|
|
10
|
+
export const DataCuratorsStory = {
|
|
11
|
+
args: {
|
|
12
|
+
dataCurators: ["Schwartz Rachel", "William Sullivan", "Parisa Nejad"],
|
|
13
|
+
},
|
|
14
14
|
};
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { StoryObj } from "@storybook/react";
|
|
2
|
+
declare const meta: {
|
|
3
|
+
component: () => JSX.Element;
|
|
4
|
+
title: string;
|
|
5
|
+
};
|
|
6
|
+
export default meta;
|
|
7
|
+
type Story = StoryObj<typeof meta>;
|
|
8
|
+
export declare const DataReleasePolicyStory: Story;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { DataReleasePolicy } from "./dataReleasePolicy";
|
|
3
|
-
|
|
2
|
+
const meta = {
|
|
4
3
|
component: DataReleasePolicy,
|
|
5
4
|
title: "Components/SectionContent/Content/Project",
|
|
6
5
|
};
|
|
7
|
-
|
|
8
|
-
export const DataReleasePolicyStory =
|
|
6
|
+
export default meta;
|
|
7
|
+
export const DataReleasePolicyStory = {};
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { StoryObj } from "@storybook/react";
|
|
2
|
+
declare const meta: {
|
|
3
|
+
component: ({ projectDescription, }: import("./description").DescriptionProps) => JSX.Element;
|
|
4
|
+
title: string;
|
|
5
|
+
};
|
|
6
|
+
export default meta;
|
|
7
|
+
type Story = StoryObj<typeof meta>;
|
|
8
|
+
export declare const DescriptionStory: Story;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { Description } from "./description";
|
|
3
|
-
|
|
2
|
+
const meta = {
|
|
4
3
|
component: Description,
|
|
5
4
|
title: "Components/SectionContent/Content/Project",
|
|
6
5
|
};
|
|
7
|
-
|
|
8
|
-
export const DescriptionStory =
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
export default meta;
|
|
7
|
+
export const DescriptionStory = {
|
|
8
|
+
args: {
|
|
9
|
+
projectDescription: "Although the function of the mammalian pancreas hinges on complex interactions of distinct cell types, gene expression profiles have primarily been described with bulk mixtures. Here we implemented a droplet-based, single-cell RNA-seq method to determine the transcriptomes of over 12,000 individual pancreatic cells from four human donors and two mouse strains. Cells could be divided into 15 clusters that matched previously characterized cell types: all endocrine cell types, including rare epsilon-cells; exocrine cell types; vascular cells; Schwann cells; quiescent and activated stellate cells; and four types of immune cells. We detected subpopulations of ductal cells with distinct expression profiles and validated their existence with immuno-histochemistry stains. Moreover, among human beta- cells, we detected heterogeneity in the regulation of genes relating to functional maturation and levels of ER stress. Finally, we deconvolved bulk gene expression samples using the single-cell data to detect disease-associated differential expression. Our dataset provides a resource for the discovery of novel cell type-specific transcription factors, signaling receptors, and medically relevant genes.",
|
|
10
|
+
},
|
|
11
11
|
};
|
|
@@ -1,5 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { StoryObj } from "@storybook/react";
|
|
2
|
+
declare const meta: {
|
|
3
|
+
argTypes: {
|
|
4
|
+
keyValuePairs: {
|
|
5
|
+
control: "object";
|
|
6
|
+
};
|
|
7
|
+
title: {
|
|
8
|
+
control: "text";
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
component: ({ keyValuePairs, title, }: import("./details").DetailsProps) => JSX.Element;
|
|
12
|
+
title: string;
|
|
13
|
+
};
|
|
14
|
+
export default meta;
|
|
15
|
+
type Story = StoryObj<typeof meta>;
|
|
16
|
+
export declare const DetailsStory: Story;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { Details } from "./details";
|
|
3
2
|
// Template constants
|
|
4
3
|
const details = new Map([
|
|
@@ -7,7 +6,7 @@ const details = new Map([
|
|
|
7
6
|
["Sample Type", "specimens"],
|
|
8
7
|
["Anatomical Entity", "eye"],
|
|
9
8
|
]);
|
|
10
|
-
|
|
9
|
+
const meta = {
|
|
11
10
|
argTypes: {
|
|
12
11
|
keyValuePairs: { control: "object" },
|
|
13
12
|
title: { control: "text" },
|
|
@@ -15,9 +14,10 @@ export default {
|
|
|
15
14
|
component: Details,
|
|
16
15
|
title: "Components/SectionContent/Content/Project",
|
|
17
16
|
};
|
|
18
|
-
|
|
19
|
-
export const DetailsStory =
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
export default meta;
|
|
18
|
+
export const DetailsStory = {
|
|
19
|
+
args: {
|
|
20
|
+
keyValuePairs: details,
|
|
21
|
+
title: "",
|
|
22
|
+
},
|
|
23
23
|
};
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { StoryObj } from "@storybook/react";
|
|
2
|
+
declare const meta: {
|
|
3
|
+
component: ({ publications, }: import("./publications").PublicationsProps) => JSX.Element;
|
|
4
|
+
title: string;
|
|
5
|
+
};
|
|
6
|
+
export default meta;
|
|
7
|
+
type Story = StoryObj<typeof meta>;
|
|
8
|
+
export declare const PublicationsStory: Story;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { Publications } from "./publications";
|
|
3
|
-
|
|
2
|
+
const meta = {
|
|
4
3
|
component: Publications,
|
|
5
4
|
title: "Components/SectionContent/Content/Project",
|
|
6
5
|
};
|
|
7
|
-
|
|
8
|
-
export const PublicationsStory =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
6
|
+
export default meta;
|
|
7
|
+
export const PublicationsStory = {
|
|
8
|
+
args: {
|
|
9
|
+
publications: [
|
|
10
|
+
{
|
|
11
|
+
doi: "10.1126/science.aay3224",
|
|
12
|
+
officialHcaPublication: true,
|
|
13
|
+
publicationTitle: "A cell atlas of human thymic development defines T cell repertoire formation.",
|
|
14
|
+
publicationUrl: "https://www.science.org/doi/10.1126/science.aay3224",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
publicationTitle: "A revised airway epithelial hierarchy includes CFTR-expressing ionocytes.",
|
|
18
|
+
publicationUrl: "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6295155/",
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
22
|
};
|
package/lib/components/Project/components/SupplementaryLinks/supplementaryLinks.stories.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { StoryObj } from "@storybook/react";
|
|
2
|
+
declare const meta: {
|
|
3
|
+
component: ({ supplementaryLinks, }: import("./supplementaryLinks").SupplementaryLinksProps) => JSX.Element;
|
|
4
|
+
title: string;
|
|
5
|
+
};
|
|
6
|
+
export default meta;
|
|
7
|
+
type Story = StoryObj<typeof meta>;
|
|
8
|
+
export declare const SupplementaryLinksStory: Story;
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { SupplementaryLinks } from "./supplementaryLinks";
|
|
3
|
-
|
|
2
|
+
const meta = {
|
|
4
3
|
component: SupplementaryLinks,
|
|
5
4
|
title: "Components/SectionContent/Content/Project",
|
|
6
5
|
};
|
|
7
|
-
|
|
8
|
-
export const SupplementaryLinksStory =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
6
|
+
export default meta;
|
|
7
|
+
export const SupplementaryLinksStory = {
|
|
8
|
+
args: {
|
|
9
|
+
supplementaryLinks: [
|
|
10
|
+
"https://castelobranco.shinyapps.io/MSCtrl_CCA_18/",
|
|
11
|
+
"https://ki.se/en/mbb/oligointernode",
|
|
12
|
+
"https://cellxgene.cziscience.com/collections/c9706a92-0e5f-46c1-96d8-20e42467f287",
|
|
13
|
+
"https://github.com/DeprezM/HCA_analysis",
|
|
14
|
+
"https://tumor-toolbox.broadinstitute.org/",
|
|
15
|
+
"http://dx.doi.org/10.6019/PXD011655",
|
|
16
|
+
"https://github.com/agneantanaviciute/colonicepithelium",
|
|
17
|
+
"https://developmentcellatlas.ncl.ac.uk/datasets/HCA_thymus/",
|
|
18
|
+
"https://doi.org/10.5281/zenodo.3572421",
|
|
19
|
+
"https://www.gutcellatlas.org/",
|
|
20
|
+
"https://czi-pbmc-cite-seq.jax.org/",
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
23
|
};
|
|
@@ -1,37 +1,20 @@
|
|
|
1
|
+
import * as yup from "yup";
|
|
1
2
|
import { FormOption, FormState } from "./entities";
|
|
2
|
-
export declare const
|
|
3
|
-
attachmentToken:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
name: {
|
|
20
|
-
presence: {
|
|
21
|
-
allowEmpty: boolean;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
subject: {
|
|
25
|
-
presence: {
|
|
26
|
-
allowEmpty: boolean;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
type: {
|
|
30
|
-
presence: {
|
|
31
|
-
allowEmpty: boolean;
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
};
|
|
3
|
+
export declare const VALIDATION_SCHEMA: yup.ObjectSchema<{
|
|
4
|
+
attachmentToken: string;
|
|
5
|
+
description: string;
|
|
6
|
+
email: string;
|
|
7
|
+
name: string;
|
|
8
|
+
subject: string;
|
|
9
|
+
type: string;
|
|
10
|
+
}, yup.AnyObject, {
|
|
11
|
+
attachmentToken: undefined;
|
|
12
|
+
description: undefined;
|
|
13
|
+
email: undefined;
|
|
14
|
+
name: undefined;
|
|
15
|
+
subject: undefined;
|
|
16
|
+
type: undefined;
|
|
17
|
+
}, "">;
|
|
35
18
|
export declare const DEFAULT_FORM_STATE: FormState;
|
|
36
19
|
export declare const DRAGGING_STYLE: {
|
|
37
20
|
cursor: string;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import * as yup from "yup";
|
|
1
2
|
import { FORM_CONTROL_NAME } from "./entities";
|
|
2
|
-
// Validation
|
|
3
|
-
export const
|
|
4
|
-
[FORM_CONTROL_NAME.ATTACHMENT_TOKEN]:
|
|
5
|
-
[FORM_CONTROL_NAME.DESCRIPTION]:
|
|
6
|
-
[FORM_CONTROL_NAME.EMAIL]:
|
|
7
|
-
[FORM_CONTROL_NAME.NAME]:
|
|
8
|
-
[FORM_CONTROL_NAME.SUBJECT]:
|
|
9
|
-
[FORM_CONTROL_NAME.TYPE]:
|
|
10
|
-
};
|
|
3
|
+
// Validation schema
|
|
4
|
+
export const VALIDATION_SCHEMA = yup.object({
|
|
5
|
+
[FORM_CONTROL_NAME.ATTACHMENT_TOKEN]: yup.string().defined(),
|
|
6
|
+
[FORM_CONTROL_NAME.DESCRIPTION]: yup.string().required(),
|
|
7
|
+
[FORM_CONTROL_NAME.EMAIL]: yup.string().email().required(),
|
|
8
|
+
[FORM_CONTROL_NAME.NAME]: yup.string().required(),
|
|
9
|
+
[FORM_CONTROL_NAME.SUBJECT]: yup.string().required(),
|
|
10
|
+
[FORM_CONTROL_NAME.TYPE]: yup.string().required(),
|
|
11
|
+
});
|
|
11
12
|
// Default form state.
|
|
12
13
|
export const DEFAULT_FORM_STATE = {
|
|
13
14
|
attachmentName: "",
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { MenuItem, Typography } from "@mui/material";
|
|
2
2
|
import React, { useState, } from "react";
|
|
3
|
-
import validate from "validate.js";
|
|
4
3
|
import { TEXT_BODY_400 } from "../../../../../../theme/common/typography";
|
|
5
4
|
import { ButtonPrimary } from "../../../../../common/Button/components/ButtonPrimary/buttonPrimary";
|
|
6
5
|
import { Input } from "../../../../../common/Form/components/Input/input";
|
|
@@ -9,13 +8,28 @@ import { UploadFile } from "../../../../../common/Form/components/UploadFile/upl
|
|
|
9
8
|
import { GridPaper } from "../../../../../common/Paper/paper.styles";
|
|
10
9
|
import { SectionActions, SectionContent, } from "../../../../../common/Section/section.styles";
|
|
11
10
|
import Dropzone from "../Dropzone/dropzone";
|
|
12
|
-
import {
|
|
11
|
+
import { DEFAULT_FORM_STATE, DRAGGING_STYLE, MAX_ATTACHMENT_SIZE, OPTIONS, VALIDATION_SCHEMA, } from "./common/constants";
|
|
13
12
|
import { FORM_CONTROL_LABEL, FORM_CONTROL_NAME, } from "./common/entities";
|
|
14
13
|
import { createSupportRequest, uploadAttachment } from "./common/utils";
|
|
15
14
|
import { Section, Title } from "./supportRequestForm.styles";
|
|
16
15
|
export const SupportRequestForm = ({ setFormSubmitted, supportRequest, }) => {
|
|
17
16
|
const [formState, setFormState] = useState(DEFAULT_FORM_STATE);
|
|
18
|
-
const
|
|
17
|
+
const [errorFields, setErrorFields] = useState();
|
|
18
|
+
// Validate form state when it changes.
|
|
19
|
+
React.useEffect(() => {
|
|
20
|
+
VALIDATION_SCHEMA.validate(buildSupportRequest(formState), {
|
|
21
|
+
abortEarly: false,
|
|
22
|
+
})
|
|
23
|
+
.then(() => setErrorFields(undefined))
|
|
24
|
+
.catch((aggregateError) => {
|
|
25
|
+
const fields = new Set();
|
|
26
|
+
for (const error of aggregateError.inner) {
|
|
27
|
+
if (error.path)
|
|
28
|
+
fields.add(error.path);
|
|
29
|
+
}
|
|
30
|
+
setErrorFields(fields);
|
|
31
|
+
});
|
|
32
|
+
}, [formState]);
|
|
19
33
|
const { FIELD_ID, requestURL, uploadURL } = supportRequest;
|
|
20
34
|
// Delete attachment.
|
|
21
35
|
const onAttachmentDeleted = () => {
|
|
@@ -121,15 +135,15 @@ export const SupportRequestForm = ({ setFormSubmitted, supportRequest, }) => {
|
|
|
121
135
|
React.createElement(Title, null, "Contact Us"),
|
|
122
136
|
React.createElement(Typography, { color: "ink.light", variant: TEXT_BODY_400 }, "We\u2019re here to help and answer any questions you might have. We look forward to hearing from you!"))),
|
|
123
137
|
React.createElement(Section, null,
|
|
124
|
-
React.createElement(Input, { error: isFieldError(formState,
|
|
125
|
-
React.createElement(Input, { error: isFieldError(formState,
|
|
126
|
-
React.createElement(Select, { displayEmpty: true, error: isFieldError(formState,
|
|
127
|
-
React.createElement(Input, { error: isFieldError(formState,
|
|
128
|
-
React.createElement(Input, { error: isFieldError(formState,
|
|
138
|
+
React.createElement(Input, { error: isFieldError(formState, errorFields, FORM_CONTROL_NAME.NAME), isFilled: Boolean(formState[FORM_CONTROL_NAME.NAME]), label: FORM_CONTROL_LABEL.NAME, name: FORM_CONTROL_NAME.NAME, onBlur: onBlur, onChange: onInputChange }),
|
|
139
|
+
React.createElement(Input, { error: isFieldError(formState, errorFields, FORM_CONTROL_NAME.EMAIL), isFilled: Boolean(formState[FORM_CONTROL_NAME.EMAIL]), label: FORM_CONTROL_LABEL.EMAIL, name: FORM_CONTROL_NAME.EMAIL, onBlur: onBlur, onChange: onInputChange }),
|
|
140
|
+
React.createElement(Select, { displayEmpty: true, error: isFieldError(formState, errorFields, FORM_CONTROL_NAME.TYPE), isFilled: Boolean(formState[FORM_CONTROL_NAME.TYPE]), label: FORM_CONTROL_LABEL.TYPE, name: FORM_CONTROL_NAME.TYPE, onBlur: onBlur, onChange: onSelectChange, renderValue: renderSelectValue, value: formState[FORM_CONTROL_NAME.TYPE], variant: "outlined" }, OPTIONS.map(({ label, value }) => (React.createElement(MenuItem, { key: value, value: value }, label)))),
|
|
141
|
+
React.createElement(Input, { error: isFieldError(formState, errorFields, FORM_CONTROL_NAME.SUBJECT), isFilled: Boolean(formState[FORM_CONTROL_NAME.SUBJECT]), label: FORM_CONTROL_LABEL.SUBJECT, name: FORM_CONTROL_NAME.SUBJECT, onBlur: onBlur, onChange: onInputChange }),
|
|
142
|
+
React.createElement(Input, { error: isFieldError(formState, errorFields, FORM_CONTROL_NAME.DESCRIPTION), isFilled: Boolean(formState[FORM_CONTROL_NAME.DESCRIPTION]), label: FORM_CONTROL_LABEL.DESCRIPTION, multiline: true, name: FORM_CONTROL_NAME.DESCRIPTION, onBlur: onBlur, onChange: onInputChange, placeholder: "Enter a decription", rows: 2 }),
|
|
129
143
|
React.createElement(UploadFile, { isDragActive: isDragActive, label: FORM_CONTROL_LABEL.ATTACHMENT_TOKEN, onAttachmentDeleted: onAttachmentDeleted, open: open, ...formState })),
|
|
130
144
|
React.createElement(Section, null,
|
|
131
145
|
React.createElement(SectionActions, null,
|
|
132
|
-
React.createElement(ButtonPrimary, { disabled: Boolean(
|
|
146
|
+
React.createElement(ButtonPrimary, { disabled: Boolean(errorFields) || formState.submitting, fullWidth: true, onClick: onSupportRequestSubmitted, id: "button-support-request" }, "Send")))))));
|
|
133
147
|
};
|
|
134
148
|
/**
|
|
135
149
|
* Build support request model from form values.
|
|
@@ -150,14 +164,12 @@ function buildSupportRequest(formState) {
|
|
|
150
164
|
/**
|
|
151
165
|
* Returns true if the given field is touched and has an error.
|
|
152
166
|
* @param formState - Form state.
|
|
153
|
-
* @param
|
|
167
|
+
* @param errorFields - Set of names of fields that have errors.
|
|
154
168
|
* @param fieldName - Field name.
|
|
155
169
|
* @returns true if the given field has an error.
|
|
156
170
|
*/
|
|
157
|
-
function isFieldError(formState,
|
|
158
|
-
|
|
159
|
-
const isTouched = Boolean(formState.touched[fieldName]);
|
|
160
|
-
return isTouched && hasError;
|
|
171
|
+
function isFieldError(formState, errorFields, fieldName) {
|
|
172
|
+
return Boolean(formState.touched[fieldName] && errorFields?.has(fieldName));
|
|
161
173
|
}
|
|
162
174
|
/**
|
|
163
175
|
* Renders select value.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ANCHOR_TARGET } from "../../../Links/common/entities";
|
|
1
|
+
import { ViewSupportProps } from "./types";
|
|
3
2
|
/**
|
|
4
3
|
* View support button component.
|
|
5
4
|
* Navigates to support URL provided.
|
|
6
5
|
*/
|
|
7
|
-
export
|
|
8
|
-
className?: string;
|
|
9
|
-
Icon?: ElementType;
|
|
10
|
-
target?: ANCHOR_TARGET;
|
|
11
|
-
url: string;
|
|
12
|
-
}
|
|
13
|
-
export declare const ViewSupport: ({ className, Icon, target, url, }: ViewSupportProps) => JSX.Element;
|
|
6
|
+
export declare const ViewSupport: ({ className, Icon, rel, target, url, ...props }: ViewSupportProps) => JSX.Element;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { ContactSupportIcon } from "../../../common/CustomIcon/components/ContactSupportIcon/contactSupportIcon";
|
|
3
|
-
import { ANCHOR_TARGET } from "../../../Links/common/entities";
|
|
3
|
+
import { ANCHOR_TARGET, REL_ATTRIBUTE } from "../../../Links/common/entities";
|
|
4
4
|
import { Fab } from "./viewSupport.styles";
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* View support button component.
|
|
7
|
+
* Navigates to support URL provided.
|
|
8
|
+
*/
|
|
9
|
+
export const ViewSupport = ({ className, Icon = ContactSupportIcon, rel = REL_ATTRIBUTE.NO_OPENER_NO_REFERRER, target = ANCHOR_TARGET.BLANK, url, ...props /* AnchorHTMLAttributes<HTMLAnchorElement> */ }) => {
|
|
10
|
+
return (React.createElement(Fab, { className: className, href: url, rel: rel, target: target, ...props },
|
|
7
11
|
React.createElement(Icon, { fontSize: "inherit" })));
|
|
8
12
|
};
|
|
@@ -1,5 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { StoryObj } from "@storybook/react";
|
|
2
|
+
declare const meta: {
|
|
3
|
+
argTypes: {
|
|
4
|
+
canNextPage: {
|
|
5
|
+
control: "boolean";
|
|
6
|
+
};
|
|
7
|
+
canPreviousPage: {
|
|
8
|
+
control: "boolean";
|
|
9
|
+
};
|
|
10
|
+
currentPage: {
|
|
11
|
+
control: "number";
|
|
12
|
+
};
|
|
13
|
+
onNextPage: {
|
|
14
|
+
action: string;
|
|
15
|
+
};
|
|
16
|
+
onPreviousPage: {
|
|
17
|
+
action: string;
|
|
18
|
+
};
|
|
19
|
+
totalPage: {
|
|
20
|
+
control: "number";
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
component: ({ canNextPage, canPreviousPage, currentPage, onNextPage, onPreviousPage, totalPage, }: import("./pagination").PaginationProps) => JSX.Element;
|
|
24
|
+
title: string;
|
|
25
|
+
};
|
|
26
|
+
export default meta;
|
|
27
|
+
type Story = StoryObj<typeof meta>;
|
|
28
|
+
export declare const PaginationStory: Story;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { Pagination } from "./pagination";
|
|
3
|
-
|
|
2
|
+
const meta = {
|
|
4
3
|
argTypes: {
|
|
5
4
|
canNextPage: { control: "boolean" },
|
|
6
5
|
canPreviousPage: { control: "boolean" },
|
|
@@ -12,9 +11,14 @@ export default {
|
|
|
12
11
|
component: Pagination,
|
|
13
12
|
title: "Components/Table",
|
|
14
13
|
};
|
|
15
|
-
|
|
16
|
-
export const PaginationStory =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
export default meta;
|
|
15
|
+
export const PaginationStory = {
|
|
16
|
+
args: {
|
|
17
|
+
canNextPage: true,
|
|
18
|
+
canPreviousPage: false,
|
|
19
|
+
currentPage: 1,
|
|
20
|
+
onNextPage: () => { },
|
|
21
|
+
onPreviousPage: () => { },
|
|
22
|
+
totalPage: 25,
|
|
23
|
+
},
|
|
20
24
|
};
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StoryObj } from "@storybook/react";
|
|
2
2
|
import { Accordion } from "./accordion";
|
|
3
|
-
declare const
|
|
4
|
-
|
|
3
|
+
declare const meta: {
|
|
4
|
+
component: ({ children, collapseIcon, expanded, expandIcon, title, ...props }: import("./accordion").AccordionProps) => JSX.Element;
|
|
5
|
+
title: string;
|
|
6
|
+
};
|
|
7
|
+
export default meta;
|
|
5
8
|
type Story = StoryObj<typeof Accordion>;
|
|
6
9
|
export declare const AccordionStory: Story;
|
|
7
10
|
export declare const AccordionsStory: Story;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Box } from "@mui/material";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { Accordion } from "./accordion";
|
|
4
|
-
|
|
4
|
+
const meta = {
|
|
5
5
|
component: Accordion,
|
|
6
6
|
title: "Components/Common/Accordion",
|
|
7
7
|
};
|
|
8
|
+
export default meta;
|
|
8
9
|
export const AccordionStory = {
|
|
9
10
|
args: {
|
|
10
11
|
children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.",
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
|
|
1
|
+
import { StoryObj } from "@storybook/react";
|
|
2
|
+
declare const meta: {
|
|
3
|
+
component: ({ breadcrumbs, className, Separator, }: import("./breadcrumbs").BreadcrumbsProps) => JSX.Element;
|
|
4
|
+
title: string;
|
|
5
|
+
};
|
|
6
|
+
export default meta;
|
|
7
|
+
type Story = StoryObj<typeof meta>;
|
|
8
|
+
export declare const BreadcrumbDefaultStory: Story;
|
|
9
|
+
export declare const BreadcrumbCustomSeparatorStory: Story;
|
|
10
|
+
export declare const BreadcrumbWithLongerTitleStory: Story;
|