@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.
Files changed (208) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/.storybook/main.ts +7 -1
  3. package/CHANGELOG.md +17 -0
  4. package/lib/components/DataDictionary/components/Entities/constants.d.ts +2 -0
  5. package/lib/components/DataDictionary/components/Entities/constants.js +6 -0
  6. package/lib/components/DataDictionary/components/Entities/entities.d.ts +2 -0
  7. package/lib/components/DataDictionary/components/Entities/entities.js +7 -0
  8. package/lib/components/DataDictionary/components/Entities/types.d.ts +4 -0
  9. package/lib/components/DataDictionary/components/Entities/types.js +1 -0
  10. package/lib/components/DataDictionary/components/Entity/constants.d.ts +2 -0
  11. package/lib/components/DataDictionary/components/Entity/constants.js +5 -0
  12. package/lib/components/DataDictionary/components/Entity/entity.d.ts +2 -0
  13. package/lib/components/DataDictionary/components/Entity/entity.js +14 -0
  14. package/lib/components/DataDictionary/components/Entity/types.d.ts +4 -0
  15. package/lib/components/DataDictionary/components/Entity/types.js +1 -0
  16. package/lib/components/DataDictionary/components/Table/columns/columnDef.d.ts +6 -0
  17. package/lib/components/DataDictionary/components/Table/columns/columnDef.js +33 -0
  18. package/lib/components/DataDictionary/components/Table/columns/columnIdentifier.d.ts +5 -0
  19. package/lib/components/DataDictionary/components/Table/columns/columnIdentifier.js +5 -0
  20. package/lib/components/DataDictionary/components/Table/columns/types.d.ts +2 -0
  21. package/lib/components/DataDictionary/components/Table/columns/types.js +1 -0
  22. package/lib/components/DataDictionary/components/Table/components/BasicCell/basicCell.d.ts +2 -0
  23. package/lib/components/DataDictionary/components/Table/components/BasicCell/basicCell.js +6 -0
  24. package/lib/components/DataDictionary/components/Table/components/BasicCell/types.d.ts +4 -0
  25. package/lib/components/DataDictionary/components/Table/components/BasicCell/types.js +1 -0
  26. package/lib/components/DataDictionary/components/Table/hook.d.ts +3 -0
  27. package/lib/components/DataDictionary/components/Table/hook.js +11 -0
  28. package/lib/components/DataDictionary/components/Table/options/core/constants.d.ts +3 -0
  29. package/lib/components/DataDictionary/components/Table/options/core/constants.js +7 -0
  30. package/lib/components/DataDictionary/components/Table/options/hook.d.ts +3 -0
  31. package/lib/components/DataDictionary/components/Table/options/hook.js +8 -0
  32. package/lib/components/DataDictionary/components/Table/options/sorting/constants.d.ts +3 -0
  33. package/lib/components/DataDictionary/components/Table/options/sorting/constants.js +3 -0
  34. package/lib/components/DataDictionary/components/Table/table.d.ts +2 -0
  35. package/lib/components/DataDictionary/components/Table/table.js +17 -0
  36. package/lib/components/DataDictionary/components/Table/table.styles.d.ts +3 -0
  37. package/lib/components/DataDictionary/components/Table/table.styles.js +5 -0
  38. package/lib/components/DataDictionary/components/Table/types.d.ts +5 -0
  39. package/lib/components/DataDictionary/components/Table/types.js +1 -0
  40. package/lib/components/DataDictionary/dataDictionary.d.ts +2 -0
  41. package/lib/components/DataDictionary/dataDictionary.js +9 -0
  42. package/lib/components/DataDictionary/dataDictionary.styles.d.ts +1 -0
  43. package/lib/components/DataDictionary/dataDictionary.styles.js +7 -0
  44. package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.d.ts +2 -0
  45. package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.js +5 -0
  46. package/lib/components/DataDictionary/hooks/UseDataDictionary/types.d.ts +4 -0
  47. package/lib/components/DataDictionary/hooks/UseDataDictionary/types.js +1 -0
  48. package/lib/components/Detail/detail.stories.d.ts +36 -5
  49. package/lib/components/Detail/detail.stories.js +27 -18
  50. package/lib/components/Export/components/ExportMethod/exportMethod.stories.d.ts +22 -5
  51. package/lib/components/Export/components/ExportMethod/exportMethod.stories.js +9 -9
  52. package/lib/components/Filter/components/Filter/filter.stories.d.ts +25 -5
  53. package/lib/components/Filter/components/Filter/filter.stories.js +25 -24
  54. package/lib/components/Filter/components/FilterLabel/filterLabel.stories.d.ts +31 -5
  55. package/lib/components/Filter/components/FilterLabel/filterLabel.stories.js +10 -8
  56. package/lib/components/Filter/components/FilterMenu/filterMenu.stories.d.ts +38 -5
  57. package/lib/components/Filter/components/FilterMenu/filterMenu.stories.js +107 -104
  58. package/lib/components/Filter/components/FilterTag/filterTag.stories.d.ts +16 -5
  59. package/lib/components/Filter/components/FilterTag/filterTag.stories.js +8 -7
  60. package/lib/components/Filter/components/FilterTags/filterTags.stories.d.ts +18 -5
  61. package/lib/components/Filter/components/FilterTags/filterTags.stories.js +40 -39
  62. package/lib/components/Index/components/AzulFileDownload/azulFileDownload.stories.d.ts +8 -5
  63. package/lib/components/Index/components/AzulFileDownload/azulFileDownload.stories.js +9 -6
  64. package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.d.ts +13 -5
  65. package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.js +11 -11
  66. package/lib/components/Index/components/Hero/hero.stories.d.ts +23 -5
  67. package/lib/components/Index/components/Hero/hero.stories.js +8 -6
  68. package/lib/components/Index/components/NTagCell/nTagCell.stories.d.ts +16 -5
  69. package/lib/components/Index/components/NTagCell/nTagCell.stories.js +8 -8
  70. package/lib/components/Index/index.stories.js +2 -1
  71. package/lib/components/Layout/components/BackPage/backPageView.stories.d.ts +31 -5
  72. package/lib/components/Layout/components/BackPage/backPageView.stories.js +27 -18
  73. package/lib/components/Layout/components/Footer/footer.stories.d.ts +24 -3
  74. package/lib/components/Layout/components/Footer/footer.stories.js +4 -3
  75. package/lib/components/Layout/components/Header/header.stories.js +1 -1
  76. package/lib/components/Layout/components/Sidebar/components/SidebarLabel/sidebarLabel.stories.d.ts +13 -5
  77. package/lib/components/Layout/components/Sidebar/components/SidebarLabel/sidebarLabel.stories.js +6 -6
  78. package/lib/components/Layout/components/Sidebar/sidebar.stories.js +2 -0
  79. package/lib/components/Links/links.stories.d.ts +13 -5
  80. package/lib/components/Links/links.stories.js +14 -14
  81. package/lib/components/Loading/loading.stories.d.ts +34 -5
  82. package/lib/components/Loading/loading.stories.js +8 -6
  83. package/lib/components/Project/components/CollaboratingOrganizations/collaboratingOrganizations.stories.d.ts +13 -5
  84. package/lib/components/Project/components/CollaboratingOrganizations/collaboratingOrganizations.stories.js +20 -20
  85. package/lib/components/Project/components/Contacts/contacts.stories.d.ts +13 -5
  86. package/lib/components/Project/components/Contacts/contacts.stories.js +18 -18
  87. package/lib/components/Project/components/Contributors/contributors.stories.d.ts +8 -5
  88. package/lib/components/Project/components/Contributors/contributors.stories.js +27 -27
  89. package/lib/components/Project/components/DataCurators/dataCurators.stories.d.ts +13 -5
  90. package/lib/components/Project/components/DataCurators/dataCurators.stories.js +7 -7
  91. package/lib/components/Project/components/DataReleasePolicy/dataReleasePolicy.stories.d.ts +8 -5
  92. package/lib/components/Project/components/DataReleasePolicy/dataReleasePolicy.stories.js +3 -4
  93. package/lib/components/Project/components/Description/description.stories.d.ts +8 -5
  94. package/lib/components/Project/components/Description/description.stories.js +6 -6
  95. package/lib/components/Project/components/Details/details.stories.d.ts +16 -5
  96. package/lib/components/Project/components/Details/details.stories.js +7 -7
  97. package/lib/components/Project/components/Publications/publications.stories.d.ts +8 -5
  98. package/lib/components/Project/components/Publications/publications.stories.js +17 -17
  99. package/lib/components/Project/components/SupplementaryLinks/supplementaryLinks.stories.d.ts +8 -5
  100. package/lib/components/Project/components/SupplementaryLinks/supplementaryLinks.stories.js +18 -18
  101. package/lib/components/Support/components/SupportRequest/components/SupportRequestForm/common/constants.d.ts +16 -33
  102. package/lib/components/Support/components/SupportRequest/components/SupportRequestForm/common/constants.js +10 -9
  103. package/lib/components/Support/components/SupportRequest/components/SupportRequestForm/supportRequestForm.js +26 -14
  104. package/lib/components/Support/components/ViewSupport/types.d.ts +6 -0
  105. package/lib/components/Support/components/ViewSupport/types.js +1 -0
  106. package/lib/components/Support/components/ViewSupport/viewSupport.d.ts +2 -9
  107. package/lib/components/Support/components/ViewSupport/viewSupport.js +7 -3
  108. package/lib/components/Table/components/Pagination/pagination.stories.d.ts +28 -5
  109. package/lib/components/Table/components/Pagination/pagination.stories.js +11 -7
  110. package/lib/components/common/Accordion/accordion.stories.d.ts +6 -3
  111. package/lib/components/common/Accordion/accordion.stories.js +2 -1
  112. package/lib/components/common/Breadcrumbs/breadcrumbs.stories.d.ts +10 -7
  113. package/lib/components/common/Breadcrumbs/breadcrumbs.stories.js +42 -43
  114. package/lib/components/common/Button/components/CallToActionButton/callToActionButton.stories.d.ts +9 -6
  115. package/lib/components/common/Button/components/CallToActionButton/callToActionButton.stories.js +13 -15
  116. package/lib/components/common/Button/components/HelpIconButton/helpIconButton.stories.d.ts +19 -2
  117. package/lib/components/common/Button/components/HelpIconButton/helpIconButton.stories.js +2 -2
  118. package/lib/components/common/Card/card.stories.d.ts +6 -3
  119. package/lib/components/common/Card/card.stories.js +2 -1
  120. package/lib/components/common/Code/code.stories.d.ts +5 -3
  121. package/lib/components/common/CopyToClipboard/copyToClipboard.stories.d.ts +11 -3
  122. package/lib/components/common/CopyToClipboard/copyToClipboard.stories.js +2 -1
  123. package/lib/components/common/Section/components/SectionTitle/sectionTitle.stories.d.ts +13 -5
  124. package/lib/components/common/Section/components/SectionTitle/sectionTitle.stories.js +6 -6
  125. package/lib/components/common/Socials/socials.stories.d.ts +11 -3
  126. package/lib/components/common/Socials/socials.stories.js +2 -1
  127. package/lib/components/common/StaticImage/staticImage.stories.d.ts +22 -5
  128. package/lib/components/common/StaticImage/staticImage.stories.js +8 -8
  129. package/lib/components/common/StatusIcon/statusIcon.stories.d.ts +19 -5
  130. package/lib/components/common/StatusIcon/statusIcon.stories.js +7 -7
  131. package/lib/components/common/Tag/tag.stories.d.ts +15 -5
  132. package/lib/components/common/Tag/tag.stories.js +7 -5
  133. package/lib/components/common/ToggleButtonGroup/toggleButtonGroup.stories.d.ts +18 -5
  134. package/lib/components/common/ToggleButtonGroup/toggleButtonGroup.stories.js +19 -19
  135. package/lib/styles/common/mui/typography.js +1 -0
  136. package/lib/views/DataDictionaryView/dataDictionaryView.d.ts +2 -0
  137. package/lib/views/DataDictionaryView/dataDictionaryView.js +5 -0
  138. package/package.json +13 -13
  139. package/src/components/DataDictionary/components/Entities/constants.ts +8 -0
  140. package/src/components/DataDictionary/components/Entities/entities.tsx +15 -0
  141. package/src/components/DataDictionary/components/Entities/types.ts +5 -0
  142. package/src/components/DataDictionary/components/Entity/constants.ts +7 -0
  143. package/src/components/DataDictionary/components/Entity/entity.tsx +28 -0
  144. package/src/components/DataDictionary/components/Entity/types.ts +5 -0
  145. package/src/components/DataDictionary/components/Table/columns/columnDef.ts +47 -0
  146. package/src/components/DataDictionary/components/Table/columns/columnIdentifier.ts +5 -0
  147. package/src/components/DataDictionary/components/Table/columns/types.ts +3 -0
  148. package/src/components/DataDictionary/components/Table/components/BasicCell/basicCell.tsx +8 -0
  149. package/src/components/DataDictionary/components/Table/components/BasicCell/types.ts +5 -0
  150. package/src/components/DataDictionary/components/Table/hook.ts +13 -0
  151. package/src/components/DataDictionary/components/Table/options/core/constants.ts +12 -0
  152. package/src/components/DataDictionary/components/Table/options/hook.ts +14 -0
  153. package/src/components/DataDictionary/components/Table/options/sorting/constants.ts +9 -0
  154. package/src/components/DataDictionary/components/Table/table.styles.ts +6 -0
  155. package/src/components/DataDictionary/components/Table/table.tsx +35 -0
  156. package/src/components/DataDictionary/components/Table/types.ts +6 -0
  157. package/src/components/DataDictionary/dataDictionary.styles.ts +8 -0
  158. package/src/components/DataDictionary/dataDictionary.tsx +16 -0
  159. package/src/components/DataDictionary/hooks/UseDataDictionary/hook.ts +9 -0
  160. package/src/components/DataDictionary/hooks/UseDataDictionary/types.ts +5 -0
  161. package/src/components/Detail/detail.stories.tsx +41 -36
  162. package/src/components/Export/components/ExportMethod/exportMethod.stories.tsx +13 -13
  163. package/src/components/Filter/components/Filter/filter.stories.tsx +29 -28
  164. package/src/components/Filter/components/FilterLabel/filterLabel.stories.tsx +14 -12
  165. package/src/components/Filter/components/FilterMenu/filterMenu.stories.tsx +111 -108
  166. package/src/components/Filter/components/FilterTag/filterTag.stories.tsx +12 -11
  167. package/src/components/Filter/components/FilterTags/filterTags.stories.tsx +44 -43
  168. package/src/components/Index/components/AzulFileDownload/azulFileDownload.stories.tsx +13 -10
  169. package/src/components/Index/components/Hero/components/Summaries/summaries.stories.tsx +15 -15
  170. package/src/components/Index/components/Hero/hero.stories.tsx +12 -8
  171. package/src/components/Index/components/NTagCell/nTagCell.stories.tsx +12 -12
  172. package/src/components/Index/index.stories.tsx +2 -1
  173. package/src/components/Layout/components/BackPage/backPageView.stories.tsx +42 -36
  174. package/src/components/Layout/components/Footer/footer.stories.tsx +6 -4
  175. package/src/components/Layout/components/Header/header.stories.tsx +1 -1
  176. package/src/components/Layout/components/Sidebar/components/SidebarLabel/sidebarLabel.stories.tsx +10 -10
  177. package/src/components/Layout/components/Sidebar/sidebar.stories.tsx +2 -0
  178. package/src/components/Links/links.stories.tsx +18 -18
  179. package/src/components/Loading/loading.stories.tsx +12 -10
  180. package/src/components/Project/components/CollaboratingOrganizations/collaboratingOrganizations.stories.tsx +24 -25
  181. package/src/components/Project/components/Contacts/contacts.stories.tsx +22 -22
  182. package/src/components/Project/components/Contributors/contributors.stories.tsx +31 -31
  183. package/src/components/Project/components/DataCurators/dataCurators.stories.tsx +11 -11
  184. package/src/components/Project/components/DataReleasePolicy/dataReleasePolicy.stories.tsx +7 -8
  185. package/src/components/Project/components/Description/description.stories.tsx +11 -11
  186. package/src/components/Project/components/Details/details.stories.tsx +11 -11
  187. package/src/components/Project/components/Publications/publications.stories.tsx +23 -23
  188. package/src/components/Project/components/SupplementaryLinks/supplementaryLinks.stories.tsx +22 -22
  189. package/src/components/Support/components/SupportRequest/components/SupportRequestForm/common/constants.ts +10 -9
  190. package/src/components/Support/components/SupportRequest/components/SupportRequestForm/supportRequestForm.tsx +44 -15
  191. package/src/components/Support/components/ViewSupport/types.ts +9 -0
  192. package/src/components/Support/components/ViewSupport/viewSupport.tsx +6 -10
  193. package/src/components/Table/components/Pagination/pagination.stories.tsx +15 -11
  194. package/src/components/common/Accordion/accordion.stories.tsx +4 -2
  195. package/src/components/common/Breadcrumbs/breadcrumbs.stories.tsx +46 -47
  196. package/src/components/common/Button/components/CallToActionButton/callToActionButton.stories.tsx +17 -20
  197. package/src/components/common/Button/components/HelpIconButton/helpIconButton.stories.tsx +4 -4
  198. package/src/components/common/Card/card.stories.tsx +4 -2
  199. package/src/components/common/Code/code.stories.tsx +1 -1
  200. package/src/components/common/CopyToClipboard/copyToClipboard.stories.tsx +4 -2
  201. package/src/components/common/Section/components/SectionTitle/sectionTitle.stories.tsx +10 -10
  202. package/src/components/common/Socials/socials.stories.tsx +4 -2
  203. package/src/components/common/StaticImage/staticImage.stories.tsx +12 -12
  204. package/src/components/common/StatusIcon/statusIcon.stories.tsx +11 -11
  205. package/src/components/common/Tag/tag.stories.tsx +11 -9
  206. package/src/components/common/ToggleButtonGroup/toggleButtonGroup.stories.tsx +23 -23
  207. package/src/styles/common/mui/typography.ts +1 -0
  208. package/src/views/DataDictionaryView/dataDictionaryView.tsx +9 -0
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "21.4.0"
2
+ ".": "22.0.0"
3
3
  }
@@ -1,8 +1,12 @@
1
+ import { StorybookConfig } from "@storybook/nextjs";
1
2
  import * as path from "path";
2
3
 
3
4
  const toPath = (filePath: string) => path.join(process.cwd(), filePath);
4
5
 
5
- export default {
6
+ const config: StorybookConfig = {
7
+ core: {
8
+ disableTelemetry: true,
9
+ },
6
10
  stories: ["../src/**/*.stories.mdx", "../src/**/*.stories.@(js|jsx|ts|tsx)"],
7
11
  addons: [
8
12
  "@storybook/addon-links",
@@ -44,3 +48,5 @@ export default {
44
48
  autodocs: true,
45
49
  },
46
50
  };
51
+
52
+ export default config;
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## [22.0.0](https://github.com/DataBiosphere/findable-ui/compare/v21.4.0...v22.0.0) (2025-03-14)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * upgrade dependencies to resolve vulnerabilities ([#326](https://github.com/DataBiosphere/findable-ui/issues/326)) (#327)
9
+
10
+ ### Features
11
+
12
+ * create data dictionary table component ([#334](https://github.com/DataBiosphere/findable-ui/issues/334)) ([#335](https://github.com/DataBiosphere/findable-ui/issues/335)) ([b5c99a6](https://github.com/DataBiosphere/findable-ui/commit/b5c99a63ce016ba7f1a26275652f1460fe022e9b))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * add 'rel' attribute to viewsupport component props ([#328](https://github.com/DataBiosphere/findable-ui/issues/328)) ([#329](https://github.com/DataBiosphere/findable-ui/issues/329)) ([98ccf03](https://github.com/DataBiosphere/findable-ui/commit/98ccf03037e7a14f95dc290025e2ed64adcc060d))
18
+ * upgrade dependencies to resolve vulnerabilities ([#326](https://github.com/DataBiosphere/findable-ui/issues/326)) ([#327](https://github.com/DataBiosphere/findable-ui/issues/327)) ([196ee53](https://github.com/DataBiosphere/findable-ui/commit/196ee53d40c1dd9180f8eee92951c23ed135257e))
19
+
3
20
  ## [21.4.0](https://github.com/DataBiosphere/findable-ui/compare/v21.3.0...v21.4.0) (2025-02-28)
4
21
 
5
22
 
@@ -0,0 +1,2 @@
1
+ import { Grid2Props } from "@mui/material";
2
+ export declare const GRID2_PROPS: Grid2Props;
@@ -0,0 +1,6 @@
1
+ export const GRID2_PROPS = {
2
+ container: true,
3
+ direction: "column",
4
+ flexWrap: "nowrap",
5
+ rowGap: 8,
6
+ };
@@ -0,0 +1,2 @@
1
+ import { ClassesProps } from "./types";
2
+ export declare const Entities: ({ classes }: ClassesProps) => JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { Grid2 } from "@mui/material";
2
+ import React from "react";
3
+ import { Entity } from "../Entity/entity";
4
+ import { GRID2_PROPS } from "./constants";
5
+ export const Entities = ({ classes }) => {
6
+ return (React.createElement(Grid2, { ...GRID2_PROPS }, classes.map((classData) => (React.createElement(Entity, { key: classData.key, class: classData })))));
7
+ };
@@ -0,0 +1,4 @@
1
+ import { Class } from "../../../../common/entities";
2
+ export interface ClassesProps {
3
+ classes: Class[];
4
+ }
@@ -0,0 +1,2 @@
1
+ import { Grid2Props } from "@mui/material";
2
+ export declare const GRID2_PROPS: Grid2Props;
@@ -0,0 +1,5 @@
1
+ export const GRID2_PROPS = {
2
+ container: true,
3
+ direction: "column",
4
+ flexWrap: "nowrap",
5
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityProps } from "./types";
2
+ export declare const Entity: ({ class: classData }: EntityProps) => JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { Grid2, Typography } from "@mui/material";
2
+ import React from "react";
3
+ import { COLOR, VARIANT } from "../../../../styles/common/mui/typography";
4
+ import { useTable } from "../Table/hook";
5
+ import { Table } from "../Table/table";
6
+ import { GRID2_PROPS } from "./constants";
7
+ export const Entity = ({ class: classData }) => {
8
+ const table = useTable(classData.attributes);
9
+ return (React.createElement(Grid2, { ...GRID2_PROPS, rowGap: 4 },
10
+ React.createElement(Grid2, { ...GRID2_PROPS, rowGap: 1 },
11
+ React.createElement(Typography, { component: "h3", variant: VARIANT.TEXT_HEADING_SMALL }, classData.label),
12
+ React.createElement(Typography, { color: COLOR.INK_LIGHT, component: "div", variant: VARIANT.TEXT_BODY_400_2_LINES }, classData.description)),
13
+ React.createElement(Table, { table: table })));
14
+ };
@@ -0,0 +1,4 @@
1
+ import { Class } from "../../../../common/entities";
2
+ export interface EntityProps {
3
+ class: Class;
4
+ }
@@ -0,0 +1,6 @@
1
+ import { ColumnDef } from "@tanstack/react-table";
2
+ import { Attribute } from "../../../../../common/entities";
3
+ import { COLUMN_IDENTIFIER } from "./columnIdentifier";
4
+ import { AttributeValue } from "./types";
5
+ export declare const COLUMN_DEF: Record<keyof typeof COLUMN_IDENTIFIER, ColumnDef<Attribute, AttributeValue>>;
6
+ export declare const COLUMN_DEFS: ColumnDef<Attribute, AttributeValue>[];
@@ -0,0 +1,33 @@
1
+ import { BasicCell } from "../components/BasicCell/basicCell";
2
+ import { COLUMN_IDENTIFIER } from "./columnIdentifier";
3
+ const COLUMN_DEF_DESCRIPTION = {
4
+ accessorFn: (row) => row.description,
5
+ cell: (props) => BasicCell({ ...props }),
6
+ header: "Description",
7
+ id: COLUMN_IDENTIFIER.DESCRIPTION,
8
+ meta: { width: { max: "2fr", min: "480px" } },
9
+ };
10
+ const COLUMN_DEF_KEY = {
11
+ accessorFn: (row) => row.key,
12
+ cell: (props) => BasicCell({ ...props }),
13
+ header: "Key",
14
+ id: COLUMN_IDENTIFIER.KEY,
15
+ meta: { width: { max: "1fr", min: "180px" } },
16
+ };
17
+ const COLUMN_DEF_LABEL = {
18
+ accessorFn: (row) => row.label,
19
+ cell: (props) => BasicCell({ ...props }),
20
+ header: "Label",
21
+ id: COLUMN_IDENTIFIER.LABEL,
22
+ meta: { width: { max: "1fr", min: "200px" } },
23
+ };
24
+ export const COLUMN_DEF = {
25
+ DESCRIPTION: COLUMN_DEF_DESCRIPTION,
26
+ KEY: COLUMN_DEF_KEY,
27
+ LABEL: COLUMN_DEF_LABEL,
28
+ };
29
+ export const COLUMN_DEFS = [
30
+ COLUMN_DEF.LABEL,
31
+ COLUMN_DEF.KEY,
32
+ COLUMN_DEF.DESCRIPTION,
33
+ ];
@@ -0,0 +1,5 @@
1
+ export declare const COLUMN_IDENTIFIER: {
2
+ readonly DESCRIPTION: "description";
3
+ readonly KEY: "key";
4
+ readonly LABEL: "label";
5
+ };
@@ -0,0 +1,5 @@
1
+ export const COLUMN_IDENTIFIER = {
2
+ DESCRIPTION: "description",
3
+ KEY: "key",
4
+ LABEL: "label",
5
+ };
@@ -0,0 +1,2 @@
1
+ import { Attribute } from "../../../../../common/entities";
2
+ export type AttributeValue = Attribute[keyof Attribute];
@@ -0,0 +1,2 @@
1
+ import { BasicCellProps } from "./types";
2
+ export declare const BasicCell: ({ getValue }: BasicCellProps) => JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { Typography } from "@mui/material";
2
+ import React from "react";
3
+ import { VARIANT } from "../../../../../../styles/common/mui/typography";
4
+ export const BasicCell = ({ getValue }) => {
5
+ return React.createElement(Typography, { variant: VARIANT.INHERIT }, getValue());
6
+ };
@@ -0,0 +1,4 @@
1
+ import { CellContext } from "@tanstack/react-table";
2
+ import { Attribute } from "../../../../../../common/entities";
3
+ import { AttributeValue } from "../../columns/types";
4
+ export type BasicCellProps = CellContext<Attribute, AttributeValue>;
@@ -0,0 +1,3 @@
1
+ import { Table } from "@tanstack/react-table";
2
+ import { Attribute } from "../../../../common/entities";
3
+ export declare const useTable: (data: Attribute[]) => Table<Attribute>;
@@ -0,0 +1,11 @@
1
+ import { useReactTable } from "@tanstack/react-table";
2
+ import { COLUMN_DEFS } from "./columns/columnDef";
3
+ import { useTableOptions } from "./options/hook";
4
+ export const useTable = (data) => {
5
+ const tableOptions = useTableOptions();
6
+ return useReactTable({
7
+ ...tableOptions,
8
+ columns: COLUMN_DEFS,
9
+ data,
10
+ });
11
+ };
@@ -0,0 +1,3 @@
1
+ import { CoreOptions } from "@tanstack/react-table";
2
+ import { Attribute } from "../../../../../../common/entities";
3
+ export declare const CORE_OPTIONS: Pick<CoreOptions<Attribute>, "_features" | "getCoreRowModel">;
@@ -0,0 +1,7 @@
1
+ import { getCoreRowModel } from "@tanstack/react-table";
2
+ import { ROW_POSITION } from "../../../../../Table/features/RowPosition/constants";
3
+ import { ROW_PREVIEW } from "../../../../../Table/features/RowPreview/constants";
4
+ export const CORE_OPTIONS = {
5
+ _features: [ROW_POSITION, ROW_PREVIEW],
6
+ getCoreRowModel: getCoreRowModel(),
7
+ };
@@ -0,0 +1,3 @@
1
+ import { TableOptions } from "@tanstack/react-table";
2
+ import { Attribute } from "../../../../../common/entities";
3
+ export declare const useTableOptions: () => Omit<TableOptions<Attribute>, "columns" | "data">;
@@ -0,0 +1,8 @@
1
+ import { CORE_OPTIONS } from "./core/constants";
2
+ import { SORTING_OPTIONS } from "./sorting/constants";
3
+ export const useTableOptions = () => {
4
+ return {
5
+ ...CORE_OPTIONS,
6
+ ...SORTING_OPTIONS,
7
+ };
8
+ };
@@ -0,0 +1,3 @@
1
+ import { SortingOptions } from "@tanstack/react-table";
2
+ import { Attribute } from "../../../../../../common/entities";
3
+ export declare const SORTING_OPTIONS: Pick<SortingOptions<Attribute>, "enableSorting">;
@@ -0,0 +1,3 @@
1
+ export const SORTING_OPTIONS = {
2
+ enableSorting: false,
3
+ };
@@ -0,0 +1,2 @@
1
+ import { TableProps } from "./types";
2
+ export declare const Table: ({ table }: TableProps) => JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { TableContainer } from "@mui/material";
2
+ import React from "react";
3
+ import { TableBody } from "../../../Detail/components/Table/components/TableBody/tableBody";
4
+ import { ROW_DIRECTION } from "../../../Table/common/entities";
5
+ import { TableHead } from "../../../Table/components/TableHead/tableHead";
6
+ import { GridTable } from "../../../Table/table.styles";
7
+ import { getColumnTrackSizing } from "../../../TableCreator/options/columnTrackSizing/utils";
8
+ import { GridPaper } from "../../../common/Paper/paper.styles";
9
+ import { StyledRoundedPaper } from "./table.styles";
10
+ export const Table = ({ table }) => {
11
+ return (React.createElement(StyledRoundedPaper, { variant: "table" },
12
+ React.createElement(GridPaper, null,
13
+ React.createElement(TableContainer, null,
14
+ React.createElement(GridTable, { gridTemplateColumns: getColumnTrackSizing(table.getVisibleFlatColumns()) },
15
+ React.createElement(TableHead, { rowDirection: ROW_DIRECTION.DEFAULT, tableInstance: table }),
16
+ React.createElement(TableBody, { rowDirection: ROW_DIRECTION.DEFAULT, tableInstance: table }))))));
17
+ };
@@ -0,0 +1,3 @@
1
+ export declare const StyledRoundedPaper: import("@emotion/styled").StyledComponent<import("../../../common/Paper/paper").PaperProps & import("react").RefAttributes<HTMLDivElement> & {
2
+ theme?: import("@emotion/react").Theme;
3
+ }, {}, {}>;
@@ -0,0 +1,5 @@
1
+ import styled from "@emotion/styled";
2
+ import { RoundedPaper } from "../../../common/Paper/paper.styles";
3
+ export const StyledRoundedPaper = styled(RoundedPaper) `
4
+ box-shadow: none;
5
+ `;
@@ -0,0 +1,5 @@
1
+ import { Table } from "@tanstack/react-table";
2
+ import { Attribute } from "../../../../common/entities";
3
+ export interface TableProps {
4
+ table: Table<Attribute>;
5
+ }
@@ -0,0 +1,2 @@
1
+ import { BaseComponentProps } from "../types";
2
+ export declare const DataDictionary: ({ className, }: BaseComponentProps) => JSX.Element;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { Entities } from "./components/Entities/entities";
3
+ import { View } from "./dataDictionary.styles";
4
+ import { useDataDictionary } from "./hooks/UseDataDictionary/hook";
5
+ export const DataDictionary = ({ className, }) => {
6
+ const { classes } = useDataDictionary();
7
+ return (React.createElement(View, { className: className },
8
+ React.createElement(Entities, { classes: classes })));
9
+ };
@@ -0,0 +1 @@
1
+ export declare const View: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1,7 @@
1
+ import { styled } from "@mui/material";
2
+ export const View = styled("div") `
3
+ flex: 1;
4
+ margin: 0 auto;
5
+ max-width: calc(100vw - 48px);
6
+ padding: 24px 0;
7
+ `;
@@ -0,0 +1,2 @@
1
+ import { UseDataDictionary } from "./types";
2
+ export declare const useDataDictionary: () => UseDataDictionary;
@@ -0,0 +1,5 @@
1
+ import { useConfig } from "../../../../hooks/useConfig";
2
+ export const useDataDictionary = () => {
3
+ const { config: { dataDictionary: { classes = [] } = {} }, } = useConfig();
4
+ return { classes };
5
+ };
@@ -0,0 +1,4 @@
1
+ import { Class } from "../../../../common/entities";
2
+ export interface UseDataDictionary {
3
+ classes: Class[];
4
+ }
@@ -1,5 +1,36 @@
1
- import { ComponentMeta } from "@storybook/react";
2
- import { Detail } from "./detail";
3
- declare const _default: ComponentMeta<typeof Detail>;
4
- export default _default;
5
- export declare const DetailStory: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./detail").DetailProps>;
1
+ import { StoryObj } from "@storybook/react";
2
+ declare const meta: {
3
+ argTypes: {
4
+ Tabs: {
5
+ table: {
6
+ disable: true;
7
+ };
8
+ };
9
+ isDetailOverview: {
10
+ control: "boolean";
11
+ };
12
+ mainColumn: {
13
+ table: {
14
+ disable: true;
15
+ };
16
+ };
17
+ sideColumn: {
18
+ table: {
19
+ disable: true;
20
+ };
21
+ };
22
+ top: {
23
+ table: {
24
+ disable: true;
25
+ };
26
+ };
27
+ };
28
+ component: ({ isDetailOverview, mainColumn, sideColumn, Tabs, top, }: import("./detail").DetailProps) => JSX.Element;
29
+ parameters: {
30
+ layout: string;
31
+ };
32
+ title: string;
33
+ };
34
+ export default meta;
35
+ type Story = StoryObj<typeof meta>;
36
+ export declare const DetailStory: Story;
@@ -1,15 +1,23 @@
1
1
  import React from "react";
2
+ import { CollaboratingOrganizations } from "../Project/components/CollaboratingOrganizations/collaboratingOrganizations";
2
3
  import { CollaboratingOrganizationsStory } from "../Project/components/CollaboratingOrganizations/collaboratingOrganizations.stories";
4
+ import { Contacts } from "../Project/components/Contacts/contacts";
3
5
  import { ContactsStory } from "../Project/components/Contacts/contacts.stories";
6
+ import { Contributors } from "../Project/components/Contributors/contributors";
4
7
  import { ContributorsStory } from "../Project/components/Contributors/contributors.stories";
8
+ import { DataCurators } from "../Project/components/DataCurators/dataCurators";
5
9
  import { DataCuratorsStory } from "../Project/components/DataCurators/dataCurators.stories";
6
- import { DataReleasePolicyStory } from "../Project/components/DataReleasePolicy/dataReleasePolicy.stories";
10
+ import { DataReleasePolicy } from "../Project/components/DataReleasePolicy/dataReleasePolicy";
11
+ import { Description } from "../Project/components/Description/description";
7
12
  import { DescriptionStory } from "../Project/components/Description/description.stories";
13
+ import { Details } from "../Project/components/Details/details";
8
14
  import { DetailsStory } from "../Project/components/Details/details.stories";
15
+ import { Publications } from "../Project/components/Publications/publications";
9
16
  import { PublicationsStory } from "../Project/components/Publications/publications.stories";
17
+ import { SupplementaryLinks } from "../Project/components/SupplementaryLinks/supplementaryLinks";
10
18
  import { SupplementaryLinksStory } from "../Project/components/SupplementaryLinks/supplementaryLinks.stories";
11
19
  import { Detail } from "./detail";
12
- export default {
20
+ const meta = {
13
21
  argTypes: {
14
22
  Tabs: { table: { disable: true } },
15
23
  isDetailOverview: { control: "boolean" },
@@ -23,20 +31,21 @@ export default {
23
31
  },
24
32
  title: "Views/EntityDetailView",
25
33
  };
26
- const DetailTemplate = (args) => (React.createElement(Detail, { ...args }));
27
- export const DetailStory = DetailTemplate.bind({});
28
- DetailStory.args = {
29
- isDetailOverview: true,
30
- mainColumn: (React.createElement(React.Fragment, null,
31
- React.createElement(DescriptionStory, { projectDescription: DescriptionStory.args?.projectDescription || "None" }),
32
- React.createElement(ContactsStory, { ...ContactsStory.args }),
33
- React.createElement(PublicationsStory, { ...PublicationsStory.args }),
34
- React.createElement(ContributorsStory, { ...ContributorsStory.args }),
35
- React.createElement(CollaboratingOrganizationsStory, { ...CollaboratingOrganizationsStory.args }),
36
- React.createElement(DataCuratorsStory, { ...DataCuratorsStory.args }),
37
- React.createElement(SupplementaryLinksStory, { ...SupplementaryLinksStory.args }),
38
- React.createElement(DataReleasePolicyStory, null))),
39
- sideColumn: (React.createElement(React.Fragment, null,
40
- React.createElement(DetailsStory, { keyValuePairs: DetailsStory.args?.keyValuePairs, title: DetailsStory.args?.title ?? "" }))),
41
- top: React.createElement(React.Fragment, null),
34
+ export default meta;
35
+ export const DetailStory = {
36
+ args: {
37
+ isDetailOverview: true,
38
+ mainColumn: (React.createElement(React.Fragment, null,
39
+ React.createElement(Description, { projectDescription: DescriptionStory.args.projectDescription || "None" }),
40
+ React.createElement(Contacts, { ...ContactsStory.args }),
41
+ React.createElement(Publications, { ...PublicationsStory.args }),
42
+ React.createElement(Contributors, { ...ContributorsStory.args }),
43
+ React.createElement(CollaboratingOrganizations, { ...CollaboratingOrganizationsStory.args }),
44
+ React.createElement(DataCurators, { ...DataCuratorsStory.args }),
45
+ React.createElement(SupplementaryLinks, { ...SupplementaryLinksStory.args }),
46
+ React.createElement(DataReleasePolicy, null))),
47
+ sideColumn: (React.createElement(React.Fragment, null,
48
+ React.createElement(Details, { ...DetailsStory.args }))),
49
+ top: React.createElement(React.Fragment, null),
50
+ },
42
51
  };
@@ -1,5 +1,22 @@
1
- import { ComponentMeta } from "@storybook/react";
2
- import { ExportMethod } from "./exportMethod";
3
- declare const _default: ComponentMeta<typeof ExportMethod>;
4
- export default _default;
5
- export declare const ExportMethodStory: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./exportMethod").ExportMethodProps>;
1
+ import { StoryObj } from "@storybook/react";
2
+ declare const meta: {
3
+ argTypes: {
4
+ buttonLabel: {
5
+ control: "text";
6
+ };
7
+ description: {
8
+ control: "text";
9
+ };
10
+ route: {
11
+ control: "text";
12
+ };
13
+ title: {
14
+ control: "text";
15
+ };
16
+ };
17
+ component: ({ buttonLabel, description, footnote, isAccessible, route, title, trackingId, }: import("./exportMethod").ExportMethodProps) => JSX.Element;
18
+ title: string;
19
+ };
20
+ export default meta;
21
+ type Story = StoryObj<typeof meta>;
22
+ export declare const ExportMethodStory: Story;
@@ -1,6 +1,5 @@
1
- import React from "react";
2
1
  import { ExportMethod } from "./exportMethod";
3
- export default {
2
+ const meta = {
4
3
  argTypes: {
5
4
  buttonLabel: { control: "text" },
6
5
  description: { control: "text" },
@@ -10,11 +9,12 @@ export default {
10
9
  component: ExportMethod,
11
10
  title: "Components/Section/Export/ExportMethod",
12
11
  };
13
- const ExportMethodTemplate = (args) => (React.createElement(ExportMethod, { ...args }));
14
- export const ExportMethodStory = ExportMethodTemplate.bind({});
15
- ExportMethodStory.args = {
16
- buttonLabel: "Request curl Command",
17
- description: "Obtain a curl command for downloading the selected data.",
18
- route: "/request-curl-command",
19
- title: "Download Study Data and Metadata (Curl Command)",
12
+ export default meta;
13
+ export const ExportMethodStory = {
14
+ args: {
15
+ buttonLabel: "Request curl Command",
16
+ description: "Obtain a curl command for downloading the selected data.",
17
+ route: "/request-curl-command",
18
+ title: "Download Study Data and Metadata (Curl Command)",
19
+ },
20
20
  };
@@ -1,5 +1,25 @@
1
- import { ComponentMeta } from "@storybook/react";
2
- import { Filter } from "./filter";
3
- declare const _default: ComponentMeta<typeof Filter>;
4
- export default _default;
5
- export declare const FilterStory: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./filter").FilterProps>;
1
+ import { StoryObj } from "@storybook/react";
2
+ import React from "react";
3
+ declare const meta: {
4
+ argTypes: {
5
+ tags: {
6
+ control: {
7
+ disable: true;
8
+ };
9
+ };
10
+ };
11
+ component: ({ categorySection, categoryView, closeAncestor, isFilterDrawer, onFilter, tags, trackFilterOpened, }: import("./filter").FilterProps) => JSX.Element;
12
+ decorators: ((Story: import("@storybook/core/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
13
+ categorySection?: string | undefined;
14
+ categoryView: import("../../../../common/entities").SelectCategoryView;
15
+ closeAncestor?: (() => void) | undefined;
16
+ isFilterDrawer: boolean;
17
+ onFilter: import("../../../../hooks/useCategoryFilter").OnFilterFn;
18
+ tags?: React.ReactNode;
19
+ trackFilterOpened?: import("../../../../config/entities").TrackFilterOpenedFunction | undefined;
20
+ }>) => JSX.Element)[];
21
+ title: string;
22
+ };
23
+ export default meta;
24
+ type Story = StoryObj<typeof meta>;
25
+ export declare const FilterStory: Story;
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { Filter } from "./filter";
3
- export default {
3
+ const meta = {
4
4
  argTypes: {
5
5
  tags: { control: { disable: true } },
6
6
  },
@@ -11,31 +11,32 @@ export default {
11
11
  ],
12
12
  title: "Components/Filter/Filter",
13
13
  };
14
- const FilterTemplate = (args) => (React.createElement(Filter, { ...args }));
14
+ export default meta;
15
15
  const onFilter = () => {
16
16
  // onFilter function
17
17
  };
18
- export const FilterStory = FilterTemplate.bind({});
19
- FilterStory.args = {
20
- categoryView: {
21
- isDisabled: false,
22
- key: "genusSpecies",
23
- label: "Genus Species",
24
- values: [
25
- {
26
- count: 12,
27
- key: "homoSapiens",
28
- label: "Homo sapiens",
29
- selected: false,
30
- },
31
- {
32
- count: 6,
33
- key: "musMusculus",
34
- label: "Mus musculus",
35
- selected: false,
36
- },
37
- ],
18
+ export const FilterStory = {
19
+ args: {
20
+ categoryView: {
21
+ isDisabled: false,
22
+ key: "genusSpecies",
23
+ label: "Genus Species",
24
+ values: [
25
+ {
26
+ count: 12,
27
+ key: "homoSapiens",
28
+ label: "Homo sapiens",
29
+ selected: false,
30
+ },
31
+ {
32
+ count: 6,
33
+ key: "musMusculus",
34
+ label: "Mus musculus",
35
+ selected: false,
36
+ },
37
+ ],
38
+ },
39
+ isFilterDrawer: false,
40
+ onFilter,
38
41
  },
39
- isFilterDrawer: false,
40
- onFilter,
41
42
  };