@databiosphere/findable-ui 35.0.2 → 35.1.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 (161) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +14 -0
  3. package/lib/common/entities.d.ts +1 -0
  4. package/lib/components/DataDictionary/components/Table/hook.js +1 -0
  5. package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.js +15 -2
  6. package/lib/providers/exploreState/entities/state.js +12 -9
  7. package/package.json +1 -1
  8. package/src/common/entities.ts +1 -0
  9. package/src/components/DataDictionary/components/Table/hook.ts +1 -0
  10. package/src/components/DataDictionary/hooks/UseDataDictionary/hook.ts +17 -4
  11. package/src/providers/exploreState/entities/state.ts +13 -10
  12. package/lib/components/DataDictionary/components/Table/columns/columnDef.d.ts +0 -6
  13. package/lib/components/DataDictionary/components/Table/columns/columnDef.js +0 -33
  14. package/lib/components/DataDictionary/components/Table/columns/columnIdentifier.d.ts +0 -5
  15. package/lib/components/DataDictionary/components/Table/columns/columnIdentifier.js +0 -5
  16. package/lib/components/DataDictionary/components/Table/columns/types.d.ts +0 -2
  17. package/lib/components/DataDictionary/components/Table/columns/types.js +0 -1
  18. package/lib/components/DataDictionary/components/Table/components/BasicCell/types.d.ts +0 -4
  19. package/lib/components/DataDictionary/components/Table/components/BasicCell/types.js +0 -1
  20. package/lib/components/Detail/components/Table/components/TableHead/tableHead.d.ts +0 -8
  21. package/lib/components/Detail/components/Table/components/TableHead/tableHead.js +0 -36
  22. package/lib/components/Filter/components/Filter/filter.stories.d.ts +0 -25
  23. package/lib/components/Filter/components/Filter/filter.stories.js +0 -42
  24. package/lib/components/Filter/components/FilterTag/filterTag.stories.d.ts +0 -16
  25. package/lib/components/Filter/components/FilterTag/filterTag.stories.js +0 -17
  26. package/lib/components/Filter/components/Filters/filters.stories.d.ts +0 -6
  27. package/lib/components/Filter/components/Filters/filters.stories.js +0 -91
  28. package/lib/components/Index/components/Cell/cell.d.ts +0 -7
  29. package/lib/components/Index/components/Cell/cell.js +0 -10
  30. package/lib/components/Index/components/EntitiesView/constants.d.ts +0 -1
  31. package/lib/components/Index/components/EntitiesView/constants.js +0 -1
  32. package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.d.ts +0 -13
  33. package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.js +0 -18
  34. package/lib/components/Index/components/Hero/hero.stories.d.ts +0 -23
  35. package/lib/components/Index/components/Hero/hero.stories.js +0 -22
  36. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.d.ts +0 -8
  37. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.js +0 -57
  38. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.styles.d.ts +0 -4
  39. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.styles.js +0 -10
  40. package/lib/components/Index/components/NTag/nTag.d.ts +0 -10
  41. package/lib/components/Index/components/NTag/nTag.js +0 -8
  42. package/lib/components/Index/components/NTagCell/nTagCell.d.ts +0 -11
  43. package/lib/components/Index/components/NTagCell/nTagCell.js +0 -29
  44. package/lib/components/Index/components/NTagCell/nTagCell.stories.d.ts +0 -5
  45. package/lib/components/Index/components/NTagCell/nTagCell.stories.js +0 -16
  46. package/lib/components/Index/components/TitleCell/titleCell.d.ts +0 -6
  47. package/lib/components/Index/components/TitleCell/titleCell.js +0 -10
  48. package/lib/components/Index/components/TitleCell/titleCell.styles.d.ts +0 -3
  49. package/lib/components/Index/components/TitleCell/titleCell.styles.js +0 -6
  50. package/lib/components/Index/index.stories.d.ts +0 -6
  51. package/lib/components/Index/index.stories.js +0 -26
  52. package/lib/components/Layout/components/BackPage/components/BackPageHero/backPageHero.stories.d.ts +0 -6
  53. package/lib/components/Layout/components/BackPage/components/BackPageHero/backPageHero.stories.js +0 -10
  54. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.d.ts +0 -5
  55. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.js +0 -29
  56. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.d.ts +0 -6
  57. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.js +0 -13
  58. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.styles.d.ts +0 -36
  59. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.styles.js +0 -9
  60. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.d.ts +0 -5
  61. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.js +0 -10
  62. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.styles.d.ts +0 -36
  63. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.styles.js +0 -9
  64. package/lib/components/Layout/components/Header/hooks/useMeasureHeader.d.ts +0 -5
  65. package/lib/components/Layout/components/Header/hooks/useMeasureHeader.js +0 -19
  66. package/lib/components/Layout/components/Outline/common/constants.d.ts +0 -2
  67. package/lib/components/Layout/components/Outline/common/constants.js +0 -1
  68. package/lib/components/Login/login.stories.d.ts +0 -6
  69. package/lib/components/Login/login.stories.js +0 -31
  70. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.d.ts +0 -16
  71. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.js +0 -28
  72. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.stories.d.ts +0 -5
  73. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.stories.js +0 -46
  74. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.styles.d.ts +0 -3
  75. package/lib/components/Table/components/CheckboxMenu/checkboxMenu.styles.js +0 -21
  76. package/lib/components/Table/components/EntityViewToggle/entityViewToggle.d.ts +0 -2
  77. package/lib/components/Table/components/EntityViewToggle/entityViewToggle.js +0 -37
  78. package/lib/components/TableCreator/common/constants.d.ts +0 -6
  79. package/lib/components/TableCreator/common/constants.js +0 -19
  80. package/lib/components/TableCreator/common/entities.d.ts +0 -5
  81. package/lib/components/TableCreator/common/entities.js +0 -1
  82. package/lib/components/TableCreator/tableCreator.styles.d.ts +0 -4
  83. package/lib/components/TableCreator/tableCreator.styles.js +0 -4
  84. package/lib/components/common/Alert/alert.stories.d.ts +0 -6
  85. package/lib/components/common/Alert/alert.stories.js +0 -36
  86. package/lib/components/common/Alert/components/AlertText/alertText.styles.d.ts +0 -4
  87. package/lib/components/common/Alert/components/AlertText/alertText.styles.js +0 -19
  88. package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.d.ts +0 -7
  89. package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.js +0 -5
  90. package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.styles.d.ts +0 -3
  91. package/lib/components/common/Banner/components/BannerPrimary/bannerPrimary.styles.js +0 -19
  92. package/lib/components/common/Banner/components/DismissibleBanner/dismissibleBanner.d.ts +0 -10
  93. package/lib/components/common/Banner/components/DismissibleBanner/dismissibleBanner.js +0 -16
  94. package/lib/components/common/Banner/components/SessionTimeout/sessionTimeout.styles.d.ts +0 -3
  95. package/lib/components/common/Banner/components/SessionTimeout/sessionTimeout.styles.js +0 -21
  96. package/lib/components/common/Button/components/LoginButton/loginButton.d.ts +0 -3
  97. package/lib/components/common/Button/components/LoginButton/loginButton.js +0 -6
  98. package/lib/components/common/Button/components/LoginButton/loginButton.styles.d.ts +0 -7
  99. package/lib/components/common/Button/components/LoginButton/loginButton.styles.js +0 -11
  100. package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.d.ts +0 -5
  101. package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.js +0 -10
  102. package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.stories.d.ts +0 -3
  103. package/lib/components/common/IconButton/components/LoadingIconButton/loadingIconButton.stories.js +0 -9
  104. package/lib/hooks/useAuthentication/common/constants.d.ts +0 -4
  105. package/lib/hooks/useAuthentication/common/constants.js +0 -19
  106. package/lib/hooks/useAuthentication/common/entities.d.ts +0 -25
  107. package/lib/hooks/useAuthentication/common/entities.js +0 -11
  108. package/lib/hooks/useAuthentication/common/utils.d.ts +0 -15
  109. package/lib/hooks/useAuthentication/common/utils.js +0 -25
  110. package/lib/hooks/useAuthentication/useAuthentication.d.ts +0 -6
  111. package/lib/hooks/useAuthentication/useAuthentication.js +0 -9
  112. package/lib/hooks/useAuthentication/useAuthenticationComplete.d.ts +0 -6
  113. package/lib/hooks/useAuthentication/useAuthenticationComplete.js +0 -55
  114. package/lib/hooks/useAuthentication/useAuthenticationForm.d.ts +0 -20
  115. package/lib/hooks/useAuthentication/useAuthenticationForm.js +0 -88
  116. package/lib/hooks/useAuthentication/useAuthenticationNIHExpiry.d.ts +0 -18
  117. package/lib/hooks/useAuthentication/useAuthenticationNIHExpiry.js +0 -50
  118. package/lib/hooks/useAuthentication/useAuthenticationStatus.d.ts +0 -20
  119. package/lib/hooks/useAuthentication/useAuthenticationStatus.js +0 -32
  120. package/lib/hooks/useAuthentication/useFetchGoogleProfile.d.ts +0 -21
  121. package/lib/hooks/useAuthentication/useFetchGoogleProfile.js +0 -41
  122. package/lib/hooks/useAuthentication/useFetchTerraNIHProfile.d.ts +0 -18
  123. package/lib/hooks/useAuthentication/useFetchTerraNIHProfile.js +0 -62
  124. package/lib/hooks/useAuthentication/useFetchTerraProfile.d.ts +0 -24
  125. package/lib/hooks/useAuthentication/useFetchTerraProfile.js +0 -62
  126. package/lib/hooks/useAuthentication/useFetchTerraTermsOfService.d.ts +0 -15
  127. package/lib/hooks/useAuthentication/useFetchTerraTermsOfService.js +0 -62
  128. package/lib/hooks/useAuthentication/useTokenClient.d.ts +0 -11
  129. package/lib/hooks/useAuthentication/useTokenClient.js +0 -29
  130. package/lib/hooks/useAuthenticationConfig.d.ts +0 -6
  131. package/lib/hooks/useAuthenticationConfig.js +0 -14
  132. package/lib/hooks/useCategoryConfigs.d.ts +0 -6
  133. package/lib/hooks/useCategoryConfigs.js +0 -17
  134. package/lib/hooks/useEntityListRelatedView.d.ts +0 -15
  135. package/lib/hooks/useEntityListRelatedView.js +0 -62
  136. package/lib/hooks/useExploreMode.d.ts +0 -14
  137. package/lib/hooks/useExploreMode.js +0 -20
  138. package/lib/hooks/useFileManifest/common/buildFileManifestRequestURL.d.ts +0 -15
  139. package/lib/hooks/useFileManifest/common/buildFileManifestRequestURL.js +0 -27
  140. package/lib/hooks/useFileManifest/useFileManifestURL.d.ts +0 -5
  141. package/lib/hooks/useFileManifest/useFileManifestURL.js +0 -11
  142. package/lib/hooks/useFileManifest/useRequestFileManifest.d.ts +0 -9
  143. package/lib/hooks/useFileManifest/useRequestFileManifest.js +0 -37
  144. package/lib/hooks/useLayoutState.d.ts +0 -6
  145. package/lib/hooks/useLayoutState.js +0 -9
  146. package/lib/hooks/useMenu.d.ts +0 -10
  147. package/lib/hooks/useMenu.js +0 -17
  148. package/lib/hooks/useMenuWithPosition.d.ts +0 -14
  149. package/lib/hooks/useMenuWithPosition.js +0 -33
  150. package/lib/hooks/useSessionTimeout.d.ts +0 -11
  151. package/lib/hooks/useSessionTimeout.js +0 -28
  152. package/lib/providers/authentication.d.ts +0 -51
  153. package/lib/providers/authentication.js +0 -110
  154. package/lib/providers/layoutState.d.ts +0 -40
  155. package/lib/providers/layoutState.js +0 -47
  156. package/lib/styles/common/mixins/shadows.d.ts +0 -3
  157. package/lib/styles/common/mixins/shadows.js +0 -4
  158. package/lib/styles/common/mui/palette.d.ts +0 -47
  159. package/lib/styles/common/mui/palette.js +0 -47
  160. package/lib/theme/common/entities.d.ts +0 -6
  161. package/lib/theme/common/entities.js +0 -1
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "35.0.2"
2
+ ".": "35.1.0"
3
3
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [35.1.0](https://github.com/DataBiosphere/findable-ui/compare/v35.0.3...v35.1.0) (2025-06-05)
4
+
5
+
6
+ ### Features
7
+
8
+ * added handling of multiple dictionaries [#423](https://github.com/DataBiosphere/findable-ui/issues/423) ([#523](https://github.com/DataBiosphere/findable-ui/issues/523)) ([212d09a](https://github.com/DataBiosphere/findable-ui/commit/212d09a55f0699a19f5a9dd9c5f917bd46de7a14))
9
+
10
+ ## [35.0.3](https://github.com/DataBiosphere/findable-ui/compare/v35.0.2...v35.0.3) (2025-06-04)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * fix catalog and feature flag state in url on page refresh ([#520](https://github.com/DataBiosphere/findable-ui/issues/520)) ([#521](https://github.com/DataBiosphere/findable-ui/issues/521)) ([4f08211](https://github.com/DataBiosphere/findable-ui/commit/4f082111837530d8f045329867b276aaeb66d389))
16
+
3
17
  ## [35.0.2](https://github.com/DataBiosphere/findable-ui/compare/v35.0.1...v35.0.2) (2025-06-03)
4
18
 
5
19
 
@@ -65,6 +65,7 @@ export interface DataDictionary<T extends RowData = Attribute> {
65
65
  export interface DataDictionaryConfig<T extends RowData = Attribute> {
66
66
  columnDefs: ColumnDef<T, T[keyof T]>[];
67
67
  dataDictionary: DataDictionary<T>;
68
+ path: string;
68
69
  tableOptions?: Omit<TableOptions<T>, "columns" | "data" | "getCoreRowModel">;
69
70
  }
70
71
  /**
@@ -15,6 +15,7 @@ export const useTable = (classes, columnDefs, tableOptions) => {
15
15
  ...tableOptions,
16
16
  columns: columnDefs,
17
17
  data,
18
+ manualPagination: true,
18
19
  meta: { classMeta },
19
20
  });
20
21
  };
@@ -1,11 +1,24 @@
1
+ import { useRouter } from "next/router";
1
2
  import { useMemo } from "react";
2
3
  import { useConfig } from "../../../../hooks/useConfig";
3
4
  import { buildClassesOutline } from "../../components/Outline/utils";
4
5
  import { useTable } from "../../components/Table/hook";
5
6
  export const useDataDictionary = () => {
6
7
  const { config: { dataDictionaries: dataDictionaryConfigs }, } = useConfig();
7
- // Get dictionary config.
8
- const dataDictionaryConfig = dataDictionaryConfigs?.[0]; // TODO: Handle multiple data dictionaries
8
+ // Dynamic paths must be resolved at this point otherwise the initial settings
9
+ // passed to useTable on subsequent renders will be ignored (as the table will have
10
+ // already been initialized).
11
+ const router = useRouter();
12
+ const query = router.query;
13
+ const { dictionary } = query;
14
+ // Get dictionary config by matching the current path with the data dictionary path
15
+ const dataDictionaryConfig = useMemo(() => {
16
+ if (!dataDictionaryConfigs?.length)
17
+ return undefined;
18
+ // Find the data dictionary with a path that matches the current route
19
+ // We check if the current path starts with the dictionary path to handle nested routes
20
+ return dataDictionaryConfigs.find((config) => config.path === dictionary);
21
+ }, [dataDictionaryConfigs, dictionary]);
9
22
  // Get configured dictionary classes, column definitions and table options.
10
23
  const { classes, columnDefs, tableOptions, title } = useMemo(() => {
11
24
  return {
@@ -14,22 +14,25 @@ export function buildNextEntities(state, entityListType, nextEntityState) {
14
14
  for (const [entityPath, entity] of Object.entries(state.entities)) {
15
15
  // Grab the entity key for the entity.
16
16
  const entityKey = entity.entityKey;
17
- if (entityKey !== key) {
18
- // For entities that do not share the same key, leave the context unchanged.
19
- entities[entityPath] = entity;
20
- continue;
21
- }
22
17
  // Clone the entity context.
23
18
  const entityContext = { ...entity };
24
- // Update entity context with "shared" context (e.g. filterState).
25
- entityContext.query = buildQuery(entityPath, {
26
- ...nextEntityState,
19
+ // Build the params object.
20
+ // All entities share the same catalog and feature flag state.
21
+ // Filter state is default to an empty array and updated below,
22
+ // if the entity key matches the current entity key.
23
+ const params = {
27
24
  catalogState: state.catalogState,
28
25
  featureFlagState: state.featureFlagState,
29
- });
26
+ filterState: [],
27
+ };
28
+ // Update entity context with "shared" context (e.g. filterState).
29
+ if (entityKey === key) {
30
+ Object.assign(params, nextEntityState);
31
+ }
30
32
  // At some point, we may need to update the entity context with additional properties that
31
33
  // are not "shared" (e.g. column grouping).
32
34
  // For now, this is not needed and so we update entities with the updated entity context and continue.
35
+ entityContext.query = buildQuery(entityPath, params);
33
36
  entities[entityPath] = entityContext;
34
37
  }
35
38
  return entities;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@databiosphere/findable-ui",
3
- "version": "35.0.2",
3
+ "version": "35.1.0",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
@@ -74,6 +74,7 @@ export interface DataDictionary<T extends RowData = Attribute> {
74
74
  export interface DataDictionaryConfig<T extends RowData = Attribute> {
75
75
  columnDefs: ColumnDef<T, T[keyof T]>[];
76
76
  dataDictionary: DataDictionary<T>;
77
+ path: string; // Used as a key to find the dictionary to display
77
78
  tableOptions?: Omit<TableOptions<T>, "columns" | "data" | "getCoreRowModel">;
78
79
  }
79
80
 
@@ -30,6 +30,7 @@ export const useTable = <T extends RowData = Attribute>(
30
30
  ...tableOptions,
31
31
  columns: columnDefs,
32
32
  data,
33
+ manualPagination: true,
33
34
  meta: { classMeta },
34
35
  });
35
36
  };
@@ -1,4 +1,5 @@
1
1
  import { RowData } from "@tanstack/react-table";
2
+ import { useRouter } from "next/router";
2
3
  import { useMemo } from "react";
3
4
  import { Attribute, DataDictionaryConfig } from "../../../../common/entities";
4
5
  import { useConfig } from "../../../../hooks/useConfig";
@@ -12,11 +13,23 @@ export const useDataDictionary = <
12
13
  const {
13
14
  config: { dataDictionaries: dataDictionaryConfigs },
14
15
  } = useConfig();
16
+ // Dynamic paths must be resolved at this point otherwise the initial settings
17
+ // passed to useTable on subsequent renders will be ignored (as the table will have
18
+ // already been initialized).
19
+ const router = useRouter();
20
+ const query = router.query;
21
+ const { dictionary } = query;
15
22
 
16
- // Get dictionary config.
17
- const dataDictionaryConfig = dataDictionaryConfigs?.[0] as
18
- | DataDictionaryConfig<T>
19
- | undefined; // TODO: Handle multiple data dictionaries
23
+ // Get dictionary config by matching the current path with the data dictionary path
24
+ const dataDictionaryConfig = useMemo(() => {
25
+ if (!dataDictionaryConfigs?.length) return undefined;
26
+
27
+ // Find the data dictionary with a path that matches the current route
28
+ // We check if the current path starts with the dictionary path to handle nested routes
29
+ return dataDictionaryConfigs.find(
30
+ (config) => config.path === dictionary
31
+ ) as DataDictionaryConfig<T> | undefined;
32
+ }, [dataDictionaryConfigs, dictionary]);
20
33
 
21
34
  // Get configured dictionary classes, column definitions and table options.
22
35
  const { classes, columnDefs, tableOptions, title } = useMemo(() => {
@@ -24,25 +24,28 @@ export function buildNextEntities(
24
24
  // Grab the entity key for the entity.
25
25
  const entityKey = entity.entityKey;
26
26
 
27
- if (entityKey !== key) {
28
- // For entities that do not share the same key, leave the context unchanged.
29
- entities[entityPath] = entity;
30
- continue;
31
- }
32
-
33
27
  // Clone the entity context.
34
28
  const entityContext = { ...entity };
35
29
 
36
- // Update entity context with "shared" context (e.g. filterState).
37
- entityContext.query = buildQuery(entityPath, {
38
- ...nextEntityState,
30
+ // Build the params object.
31
+ // All entities share the same catalog and feature flag state.
32
+ // Filter state is default to an empty array and updated below,
33
+ // if the entity key matches the current entity key.
34
+ const params: EntityState = {
39
35
  catalogState: state.catalogState,
40
36
  featureFlagState: state.featureFlagState,
41
- });
37
+ filterState: [],
38
+ };
39
+
40
+ // Update entity context with "shared" context (e.g. filterState).
41
+ if (entityKey === key) {
42
+ Object.assign(params, nextEntityState);
43
+ }
42
44
 
43
45
  // At some point, we may need to update the entity context with additional properties that
44
46
  // are not "shared" (e.g. column grouping).
45
47
  // For now, this is not needed and so we update entities with the updated entity context and continue.
48
+ entityContext.query = buildQuery(entityPath, params);
46
49
  entities[entityPath] = entityContext;
47
50
  }
48
51
 
@@ -1,6 +0,0 @@
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>[];
@@ -1,33 +0,0 @@
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
- ];
@@ -1,5 +0,0 @@
1
- export declare const COLUMN_IDENTIFIER: {
2
- readonly DESCRIPTION: "description";
3
- readonly KEY: "key";
4
- readonly LABEL: "label";
5
- };
@@ -1,5 +0,0 @@
1
- export const COLUMN_IDENTIFIER = {
2
- DESCRIPTION: "description",
3
- KEY: "key",
4
- LABEL: "label",
5
- };
@@ -1,2 +0,0 @@
1
- import { Attribute } from "../../../../../common/entities";
2
- export type AttributeValue = Attribute[keyof Attribute];
@@ -1,4 +0,0 @@
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>;
@@ -1,8 +0,0 @@
1
- /// <reference types="react" />
2
- import { Table } from "@tanstack/react-table";
3
- import { ROW_DIRECTION } from "../../../../../Table/common/entities";
4
- export interface TableBodyProps<T> {
5
- rowDirection: ROW_DIRECTION;
6
- tableInstance: Table<T>;
7
- }
8
- export declare const TableHead: <T extends object>({ rowDirection, tableInstance, }: TableBodyProps<T>) => JSX.Element;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.TableHead = void 0;
27
- const material_1 = require("@mui/material");
28
- const react_table_1 = require("@tanstack/react-table");
29
- const react_1 = __importStar(require("react"));
30
- const entities_1 = require("../../../../../Table/common/entities");
31
- const TableHead = ({ rowDirection, tableInstance, }) => {
32
- return (react_1.default.createElement(react_1.Fragment, null, rowDirection === entities_1.ROW_DIRECTION.DEFAULT &&
33
- tableInstance.getHeaderGroups().map((headerGroup) => (react_1.default.createElement(material_1.TableHead, { key: headerGroup.id },
34
- react_1.default.createElement(material_1.TableRow, null, headerGroup.headers.map((header) => (react_1.default.createElement(material_1.TableCell, { key: header.id }, (0, react_table_1.flexRender)(header.column.columnDef.header, header.getContext()))))))))));
35
- };
36
- exports.TableHead = TableHead;
@@ -1,25 +0,0 @@
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,42 +0,0 @@
1
- import React from "react";
2
- import { Filter } from "./filter";
3
- const meta = {
4
- argTypes: {
5
- tags: { control: { disable: true } },
6
- },
7
- component: Filter,
8
- decorators: [
9
- (Story) => (React.createElement("div", { style: { padding: "8px 12px 8px 16px", width: 264 } },
10
- React.createElement(Story, null))),
11
- ],
12
- title: "Components/Filter/Filter",
13
- };
14
- export default meta;
15
- const onFilter = () => {
16
- // onFilter function
17
- };
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,
41
- },
42
- };
@@ -1,16 +0,0 @@
1
- import { StoryObj } from "@storybook/react";
2
- declare const meta: {
3
- argTypes: {
4
- label: {
5
- control: "text";
6
- };
7
- superseded: {
8
- control: "boolean";
9
- };
10
- };
11
- component: ({ label, onRemove, superseded, }: import("./filterTag").FilterTagProps) => JSX.Element;
12
- title: string;
13
- };
14
- export default meta;
15
- type Story = StoryObj<typeof meta>;
16
- export declare const FilterTagStory: Story;
@@ -1,17 +0,0 @@
1
- import { FilterTag } from "./filterTag";
2
- const meta = {
3
- argTypes: {
4
- label: { control: "text" },
5
- superseded: { control: "boolean" },
6
- },
7
- component: FilterTag,
8
- title: "Components/Filter/FilterTag",
9
- };
10
- export default meta;
11
- export const FilterTagStory = {
12
- args: {
13
- label: "Male",
14
- onRemove: () => { },
15
- superseded: false,
16
- },
17
- };
@@ -1,6 +0,0 @@
1
- import { Meta, StoryObj } from "@storybook/react";
2
- import { Filters } from "./filters";
3
- declare const _default: Meta<typeof Filters>;
4
- export default _default;
5
- type Story = StoryObj<typeof Filters>;
6
- export declare const FiltersStory: Story;
@@ -1,91 +0,0 @@
1
- import React from "react";
2
- import { FilterMenuStory } from "../FilterMenu/filterMenu.stories";
3
- import { Filters } from "./filters";
4
- export default {
5
- argTypes: {
6
- categories: { control: { disable: true } },
7
- onFilter: { control: { disable: true } },
8
- },
9
- component: Filters,
10
- decorators: [
11
- (Story) => (React.createElement("div", { style: { width: 264 } },
12
- React.createElement(Story, null))),
13
- ],
14
- title: "Components/Filter/Filters",
15
- };
16
- const onFilter = () => {
17
- // onFilter function
18
- };
19
- const defaultValues = [
20
- {
21
- count: 1,
22
- key: "item1",
23
- label: "Item 1",
24
- selected: false,
25
- },
26
- {
27
- count: 10,
28
- key: "item2",
29
- label: "Item 2",
30
- selected: false,
31
- },
32
- ];
33
- export const FiltersStory = {
34
- args: {
35
- categoryFilters: [
36
- {
37
- categoryViews: [
38
- {
39
- isDisabled: false,
40
- key: "genusSpecies",
41
- label: "Genus Species",
42
- values: [
43
- {
44
- count: 12,
45
- key: "homoSapiens",
46
- label: "Homo sapiens",
47
- selected: false,
48
- },
49
- {
50
- count: 6,
51
- key: "musMusculus",
52
- label: "Mus musculus",
53
- selected: false,
54
- },
55
- ],
56
- },
57
- ],
58
- },
59
- {
60
- categoryViews: [
61
- {
62
- isDisabled: false,
63
- key: "donorDisease",
64
- label: "Donor Disease",
65
- values: FilterMenuStory.args?.values || defaultValues,
66
- },
67
- {
68
- isDisabled: true,
69
- key: "anatomicalEntity",
70
- label: "Anatomical Entity",
71
- values: [
72
- {
73
- count: 12,
74
- key: "oralCavity",
75
- label: "oral cavity",
76
- selected: true,
77
- },
78
- {
79
- count: 6,
80
- key: "pancreas",
81
- label: "pancreas",
82
- selected: false,
83
- },
84
- ],
85
- },
86
- ],
87
- },
88
- ],
89
- onFilter: onFilter,
90
- },
91
- };
@@ -1,7 +0,0 @@
1
- export interface CellProps {
2
- value?: number | string | string[];
3
- }
4
- /**
5
- * @deprecated - use BasicCell from "@databiosphere/findable-ui/lib/components/Table/components/TableCell/components/BasicCell/basicCell"
6
- */
7
- export declare const Cell: ({ value }: CellProps) => JSX.Element;
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- /**
3
- * @deprecated - use BasicCell from "@databiosphere/findable-ui/lib/components/Table/components/TableCell/components/BasicCell/basicCell"
4
- */
5
- export const Cell = ({ value = "Unspecified" }) => {
6
- if (typeof value === "string" || typeof value === "number") {
7
- return React.createElement("div", null, value);
8
- }
9
- return (React.createElement(React.Fragment, null, value.map((v) => (React.createElement("div", { key: v }, v)))));
10
- };
@@ -1 +0,0 @@
1
- export declare const ENTITIES_VIEW_TEST_ID = "entities-view";
@@ -1 +0,0 @@
1
- export const ENTITIES_VIEW_TEST_ID = "entities-view";
@@ -1,13 +0,0 @@
1
- import { StoryObj } from "@storybook/react";
2
- declare const meta: {
3
- argTypes: {
4
- summaries: {
5
- control: "object";
6
- };
7
- };
8
- component: ({ summaries }: import("./summaries").SummariesProps) => JSX.Element;
9
- title: string;
10
- };
11
- export default meta;
12
- type Story = StoryObj<typeof meta>;
13
- export declare const SummariesStory: Story;
@@ -1,18 +0,0 @@
1
- import { Summaries } from "./summaries";
2
- const meta = {
3
- argTypes: {
4
- summaries: { control: "object" },
5
- },
6
- component: Summaries,
7
- title: "Components/Summary",
8
- };
9
- export default meta;
10
- export const SummariesStory = {
11
- args: {
12
- summaries: [
13
- { count: "1", label: "Species" },
14
- { count: "1.1k", label: "Donors" },
15
- { count: "508.5k", label: "Files" },
16
- ],
17
- },
18
- };
@@ -1,23 +0,0 @@
1
- import { StoryObj } from "@storybook/react";
2
- declare const meta: {
3
- argTypes: {
4
- Summaries: {
5
- table: {
6
- disable: true;
7
- };
8
- };
9
- title: {
10
- table: {
11
- disable: true;
12
- };
13
- };
14
- };
15
- component: ({ SideBarButton, Summaries, title, }: import("./hero").HeroProps) => JSX.Element;
16
- parameters: {
17
- layout: string;
18
- };
19
- title: string;
20
- };
21
- export default meta;
22
- type Story = StoryObj<typeof meta>;
23
- export declare const HeroStory: Story;
@@ -1,22 +0,0 @@
1
- import React from "react";
2
- import { Summaries } from "./components/Summaries/summaries";
3
- import { SummariesStory } from "./components/Summaries/summaries.stories";
4
- import { Hero } from "./hero";
5
- const meta = {
6
- argTypes: {
7
- Summaries: { table: { disable: true } },
8
- title: { table: { disable: true } },
9
- },
10
- component: Hero,
11
- parameters: {
12
- layout: "fullscreen",
13
- },
14
- title: "Components/Hero/ExploreView",
15
- };
16
- export default meta;
17
- export const HeroStory = {
18
- args: {
19
- Summaries: React.createElement(Summaries, { ...SummariesStory.args }),
20
- title: "Data Explorer",
21
- },
22
- };