@databiosphere/findable-ui 42.1.0 → 44.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 (160) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +27 -0
  3. package/lib/common/categories/config/range/typeGuards.d.ts +8 -0
  4. package/lib/common/categories/config/range/typeGuards.js +9 -0
  5. package/lib/common/filters/sort/config/types.d.ts +13 -0
  6. package/lib/common/filters/sort/config/types.js +8 -0
  7. package/lib/common/filters/sort/config/utils.d.ts +8 -0
  8. package/lib/common/filters/sort/config/utils.js +9 -0
  9. package/lib/common/filters/sort/models/utils.d.ts +23 -0
  10. package/lib/common/filters/sort/models/utils.js +41 -0
  11. package/lib/components/Filter/components/SearchAllFilters/common/constants.d.ts +3 -13
  12. package/lib/components/Filter/components/SearchAllFilters/common/constants.js +12 -36
  13. package/lib/components/Filter/components/SearchAllFilters/components/OutlinedInput/constants.d.ts +2 -0
  14. package/lib/components/Filter/components/SearchAllFilters/components/OutlinedInput/constants.js +7 -0
  15. package/lib/components/Filter/components/SearchAllFilters/components/OutlinedInput/outlinedInput.d.ts +2 -0
  16. package/lib/components/Filter/components/SearchAllFilters/components/OutlinedInput/outlinedInput.js +13 -0
  17. package/lib/components/Filter/components/SearchAllFilters/components/OutlinedInput/utils.d.ts +11 -0
  18. package/lib/components/Filter/components/SearchAllFilters/components/OutlinedInput/utils.js +17 -0
  19. package/lib/components/Filter/components/SearchAllFilters/components/VariableSizeList/VariableSizeList.d.ts +2 -0
  20. package/lib/components/Filter/components/SearchAllFilters/components/VariableSizeList/VariableSizeList.js +9 -10
  21. package/lib/components/Filter/components/SearchAllFilters/context/context.d.ts +2 -0
  22. package/lib/components/Filter/components/SearchAllFilters/context/context.js +10 -0
  23. package/lib/components/Filter/components/SearchAllFilters/context/hook.d.ts +6 -0
  24. package/lib/components/Filter/components/SearchAllFilters/context/hook.js +9 -0
  25. package/lib/components/Filter/components/SearchAllFilters/context/types.d.ts +11 -0
  26. package/lib/components/Filter/components/SearchAllFilters/context/types.js +1 -0
  27. package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.d.ts +2 -19
  28. package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.js +37 -74
  29. package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.styles.d.ts +2 -2
  30. package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.styles.js +7 -8
  31. package/lib/components/Filter/components/SearchAllFilters/stories/args.d.ts +3 -0
  32. package/lib/components/Filter/components/SearchAllFilters/stories/args.js +8 -0
  33. package/lib/components/Filter/components/SearchAllFilters/stories/searchAllFilters.stories.d.ts +6 -0
  34. package/lib/components/Filter/components/SearchAllFilters/stories/searchAllFilters.stories.js +19 -0
  35. package/lib/components/Filter/components/SearchAllFilters/types.d.ts +10 -0
  36. package/lib/components/Filter/components/SearchAllFilters/types.js +1 -0
  37. package/lib/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/columnFiltersAdapter.js +16 -2
  38. package/lib/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/hooks/UseUpdateFilterSort/hook.d.ts +3 -0
  39. package/lib/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/hooks/UseUpdateFilterSort/hook.js +8 -0
  40. package/lib/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/hooks/UseUpdateFilterSort/types.d.ts +6 -0
  41. package/lib/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/hooks/UseUpdateFilterSort/types.js +1 -0
  42. package/lib/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/hooks/UseUpdateFilterSort/utils.d.ts +14 -0
  43. package/lib/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/hooks/UseUpdateFilterSort/utils.js +23 -0
  44. package/lib/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/types.d.ts +7 -1
  45. package/lib/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/utils.d.ts +3 -1
  46. package/lib/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/utils.js +122 -19
  47. package/lib/components/Filter/components/controls/Controls/components/FilterSort/constants.d.ts +5 -0
  48. package/lib/components/Filter/components/controls/Controls/components/FilterSort/constants.js +17 -0
  49. package/lib/components/Filter/components/controls/Controls/components/FilterSort/filterSort.d.ts +2 -0
  50. package/lib/components/Filter/components/controls/Controls/components/FilterSort/filterSort.js +28 -0
  51. package/lib/components/Filter/components/controls/Controls/components/FilterSort/filterSort.styles.d.ts +9 -0
  52. package/lib/components/Filter/components/controls/Controls/components/FilterSort/filterSort.styles.js +25 -0
  53. package/lib/components/Filter/components/controls/Controls/components/FilterSort/stories/filterSort.stories.d.ts +6 -0
  54. package/lib/components/Filter/components/controls/Controls/components/FilterSort/stories/filterSort.stories.js +9 -0
  55. package/lib/components/Filter/components/controls/Controls/components/FilterSort/types.d.ts +6 -0
  56. package/lib/components/Filter/components/controls/Controls/components/FilterSort/types.js +1 -0
  57. package/lib/components/Filter/components/controls/Controls/controls.d.ts +2 -3
  58. package/lib/components/Filter/components/controls/Controls/controls.js +4 -2
  59. package/lib/components/Filter/components/controls/Controls/controls.styles.js +2 -1
  60. package/lib/components/Filter/components/controls/Controls/types.d.ts +6 -0
  61. package/lib/components/Filter/components/controls/Controls/types.js +1 -0
  62. package/lib/components/Filter/components/surfaces/popper/Popper/popper.styles.d.ts +6 -0
  63. package/lib/components/Filter/components/surfaces/popper/Popper/popper.styles.js +18 -0
  64. package/lib/components/Filter/components/surfaces/types.d.ts +6 -2
  65. package/lib/components/Filter/components/surfaces/types.js +2 -0
  66. package/lib/components/Index/components/EntityView/components/views/ChartView/components/Chart/hooks/UsePlotOptions/hook.js +2 -2
  67. package/lib/components/Index/components/EntityView/components/views/ChartView/components/Chart/utils.d.ts +0 -7
  68. package/lib/components/Index/components/EntityView/components/views/ChartView/components/Chart/utils.js +0 -11
  69. package/lib/config/entities.d.ts +2 -0
  70. package/lib/hooks/useCategoryFilter.d.ts +4 -9
  71. package/lib/hooks/useCategoryFilter.js +5 -15
  72. package/lib/providers/exploreState/actions/updateFilterSort/action.d.ts +10 -0
  73. package/lib/providers/exploreState/actions/updateFilterSort/action.js +21 -0
  74. package/lib/providers/exploreState/actions/updateFilterSort/dispatch.d.ts +7 -0
  75. package/lib/providers/exploreState/actions/updateFilterSort/dispatch.js +12 -0
  76. package/lib/providers/exploreState/actions/updateFilterSort/types.d.ts +7 -0
  77. package/lib/providers/exploreState/actions/updateFilterSort/types.js +1 -0
  78. package/lib/providers/exploreState/actions/updateFilterSort/utils.d.ts +10 -0
  79. package/lib/providers/exploreState/actions/updateFilterSort/utils.js +22 -0
  80. package/lib/providers/exploreState/initializer/constants.js +2 -0
  81. package/lib/providers/exploreState/initializer/utils.js +2 -0
  82. package/lib/providers/exploreState.d.ts +5 -1
  83. package/lib/providers/exploreState.js +9 -1
  84. package/lib/styles/common/mui/textField.d.ts +11 -0
  85. package/lib/styles/common/mui/textField.js +22 -0
  86. package/lib/tests/testIds.d.ts +2 -0
  87. package/lib/tests/testIds.js +2 -0
  88. package/lib/views/ExploreView/exploreView.js +8 -2
  89. package/lib/views/ExploreView/hooks/UseUpdateFilterSort/hook.d.ts +2 -0
  90. package/lib/views/ExploreView/hooks/UseUpdateFilterSort/hook.js +12 -0
  91. package/lib/views/ExploreView/hooks/UseUpdateFilterSort/types.d.ts +6 -0
  92. package/lib/views/ExploreView/hooks/UseUpdateFilterSort/types.js +1 -0
  93. package/package.json +1 -1
  94. package/src/common/categories/config/range/typeGuards.ts +14 -0
  95. package/src/common/filters/sort/config/types.ts +14 -0
  96. package/src/common/filters/sort/config/utils.ts +11 -0
  97. package/src/common/filters/sort/models/utils.ts +57 -0
  98. package/src/components/Filter/components/SearchAllFilters/common/constants.ts +24 -37
  99. package/src/components/Filter/components/SearchAllFilters/components/OutlinedInput/constants.ts +9 -0
  100. package/src/components/Filter/components/SearchAllFilters/components/OutlinedInput/outlinedInput.tsx +31 -0
  101. package/src/components/Filter/components/SearchAllFilters/components/OutlinedInput/utils.ts +22 -0
  102. package/src/components/Filter/components/SearchAllFilters/components/VariableSizeList/VariableSizeList.tsx +12 -13
  103. package/src/components/Filter/components/SearchAllFilters/context/context.ts +12 -0
  104. package/src/components/Filter/components/SearchAllFilters/context/hook.ts +11 -0
  105. package/src/components/Filter/components/SearchAllFilters/context/types.ts +12 -0
  106. package/src/components/Filter/components/SearchAllFilters/searchAllFilters.styles.ts +8 -9
  107. package/src/components/Filter/components/SearchAllFilters/searchAllFilters.tsx +70 -132
  108. package/src/components/Filter/components/SearchAllFilters/stories/args.ts +15 -0
  109. package/src/components/Filter/components/SearchAllFilters/stories/searchAllFilters.stories.tsx +29 -0
  110. package/src/components/Filter/components/SearchAllFilters/types.ts +16 -0
  111. package/src/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/columnFiltersAdapter.tsx +23 -2
  112. package/src/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/hooks/UseUpdateFilterSort/hook.ts +22 -0
  113. package/src/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/hooks/UseUpdateFilterSort/types.ts +7 -0
  114. package/src/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/hooks/UseUpdateFilterSort/utils.ts +33 -0
  115. package/src/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/types.ts +12 -1
  116. package/src/components/Filter/components/adapters/tanstack/ColumnFiltersAdapter/utils.ts +179 -21
  117. package/src/components/Filter/components/controls/Controls/components/FilterSort/constants.ts +22 -0
  118. package/src/components/Filter/components/controls/Controls/components/FilterSort/filterSort.styles.ts +34 -0
  119. package/src/components/Filter/components/controls/Controls/components/FilterSort/filterSort.tsx +73 -0
  120. package/src/components/Filter/components/controls/Controls/components/FilterSort/stories/filterSort.stories.tsx +15 -0
  121. package/src/components/Filter/components/controls/Controls/components/FilterSort/types.ts +7 -0
  122. package/src/components/Filter/components/controls/Controls/controls.styles.ts +2 -1
  123. package/src/components/Filter/components/controls/Controls/controls.tsx +11 -3
  124. package/src/components/Filter/components/controls/Controls/types.ts +10 -0
  125. package/src/components/Filter/components/surfaces/popper/Popper/popper.styles.ts +20 -0
  126. package/src/components/Filter/components/surfaces/types.ts +5 -1
  127. package/src/components/Index/components/EntityView/components/views/ChartView/components/Chart/hooks/UsePlotOptions/hook.ts +2 -2
  128. package/src/components/Index/components/EntityView/components/views/ChartView/components/Chart/utils.ts +0 -15
  129. package/src/config/entities.ts +2 -0
  130. package/src/hooks/useCategoryFilter.ts +8 -19
  131. package/src/providers/exploreState/actions/updateFilterSort/action.ts +30 -0
  132. package/src/providers/exploreState/actions/updateFilterSort/dispatch.ts +16 -0
  133. package/src/providers/exploreState/actions/updateFilterSort/types.ts +9 -0
  134. package/src/providers/exploreState/actions/updateFilterSort/utils.ts +30 -0
  135. package/src/providers/exploreState/initializer/constants.ts +2 -0
  136. package/src/providers/exploreState/initializer/utils.ts +2 -0
  137. package/src/providers/exploreState.tsx +14 -1
  138. package/src/styles/common/mui/textField.ts +33 -0
  139. package/src/tests/testIds.ts +2 -0
  140. package/src/views/ExploreView/exploreView.tsx +19 -1
  141. package/src/views/ExploreView/hooks/UseUpdateFilterSort/hook.ts +20 -0
  142. package/src/views/ExploreView/hooks/UseUpdateFilterSort/types.ts +7 -0
  143. package/tests/buildCategoryViews.test.ts +282 -0
  144. package/tests/filterSortUtils.test.ts +180 -0
  145. package/tests/getFilterSortType.test.ts +45 -0
  146. package/lib/components/Filter/components/SearchAllFilters/components/AutocompletePopper/autocompletePopper.styles.d.ts +0 -3
  147. package/lib/components/Filter/components/SearchAllFilters/components/AutocompletePopper/autocompletePopper.styles.js +0 -15
  148. package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.stories.d.ts +0 -6
  149. package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.stories.js +0 -82
  150. package/lib/components/Filter/components/SearchAllFiltersSearch/components/SearchCloseButton/searchCloseButton.d.ts +0 -1
  151. package/lib/components/Filter/components/SearchAllFiltersSearch/components/SearchCloseButton/searchCloseButton.js +0 -13
  152. package/lib/components/Filter/components/SearchAllFiltersSearch/searchAllFiltersSearch.d.ts +0 -2
  153. package/lib/components/Filter/components/SearchAllFiltersSearch/searchAllFiltersSearch.js +0 -12
  154. package/lib/components/Filter/components/SearchAllFiltersSearch/searchAllFiltersSearch.styles.d.ts +0 -5
  155. package/lib/components/Filter/components/SearchAllFiltersSearch/searchAllFiltersSearch.styles.js +0 -34
  156. package/src/components/Filter/components/SearchAllFilters/components/AutocompletePopper/autocompletePopper.styles.ts +0 -16
  157. package/src/components/Filter/components/SearchAllFilters/searchAllFilters.stories.tsx +0 -92
  158. package/src/components/Filter/components/SearchAllFiltersSearch/components/SearchCloseButton/searchCloseButton.tsx +0 -25
  159. package/src/components/Filter/components/SearchAllFiltersSearch/searchAllFiltersSearch.styles.ts +0 -35
  160. package/src/components/Filter/components/SearchAllFiltersSearch/searchAllFiltersSearch.tsx +0 -29
@@ -1,34 +0,0 @@
1
- import styled from "@emotion/styled";
2
- import { TextField } from "@mui/material";
3
- import { PALETTE } from "../../../../styles/common/constants/palette";
4
- export const InputField = styled(TextField) `
5
- && {
6
- display: flex;
7
- flex-direction: column;
8
- gap: 8px;
9
-
10
- .MuiInputBase-root {
11
- & ::placeholder {
12
- color: ${PALETTE.INK_LIGHT};
13
- opacity: 0.8;
14
- }
15
-
16
- &.Mui-focused {
17
- & ::placeholder {
18
- opacity: 0;
19
- }
20
- }
21
- }
22
-
23
- .MuiOutlinedInput-root {
24
- &.MuiInputBase-sizeSmall {
25
- padding: 0 0 0 12px;
26
-
27
- .MuiAutocomplete-input {
28
- color: ${PALETTE.INK_MAIN};
29
- padding: 10px 14px 10px 0;
30
- }
31
- }
32
- }
33
- }
34
- `;
@@ -1,16 +0,0 @@
1
- import styled from "@emotion/styled";
2
- import { Popper as MPopper } from "@mui/material";
3
- import { PALETTE } from "../../../../../../styles/common/constants/palette";
4
- import { bpDownMd } from "../../../../../../styles/common/mixins/breakpoints";
5
-
6
- export const AutocompletePopper = styled(MPopper)`
7
- ${bpDownMd} {
8
- .MuiPaper-root {
9
- background-color: ${PALETTE.SMOKE_LIGHT};
10
-
11
- .MuiList-root {
12
- margin: 0;
13
- }
14
- }
15
- }
16
- `;
@@ -1,92 +0,0 @@
1
- import { Meta, StoryObj } from "@storybook/react";
2
- import React from "react";
3
- import { FilterMenuStory } from "../FilterMenu/filterMenu.stories";
4
- import { SearchAllFilters } from "./searchAllFilters";
5
-
6
- export default {
7
- argTypes: {
8
- onFilter: { control: { disable: true } },
9
- },
10
- component: SearchAllFilters,
11
- decorators: [
12
- (Story): JSX.Element => (
13
- <div style={{ width: 264 }}>
14
- <Story />
15
- </div>
16
- ),
17
- ],
18
- title: "Components/Filter/SearchAllFilters",
19
- } as Meta<typeof SearchAllFilters>;
20
-
21
- type Story = StoryObj<typeof SearchAllFilters>;
22
-
23
- const onFilter = (): void => {
24
- // onFilter function
25
- };
26
-
27
- const defaultValues = [
28
- {
29
- count: 1,
30
- key: "item1",
31
- label: "Item 1",
32
- selected: false,
33
- },
34
- {
35
- count: 10,
36
- key: "item2",
37
- label: "Item 2",
38
- selected: false,
39
- },
40
- ];
41
-
42
- export const SearchAllFiltersStory: Story = {
43
- args: {
44
- categoryViews: [
45
- {
46
- isDisabled: false,
47
- key: "genusSpecies",
48
- label: "Genus Species",
49
- values: [
50
- {
51
- count: 12,
52
- key: "homoSapiens",
53
- label: "Homo sapiens",
54
- selected: false,
55
- },
56
- {
57
- count: 6,
58
- key: "musMusculus",
59
- label: "Mus musculus",
60
- selected: false,
61
- },
62
- ],
63
- },
64
- {
65
- isDisabled: false,
66
- key: "donorDisease",
67
- label: "Donor Disease",
68
- values: FilterMenuStory.args?.values || defaultValues,
69
- },
70
- {
71
- isDisabled: true,
72
- key: "anatomicalEntity",
73
- label: "Anatomical Entity",
74
- values: [
75
- {
76
- count: 12,
77
- key: "oralCavity",
78
- label: "oral cavity",
79
- selected: true,
80
- },
81
- {
82
- count: 6,
83
- key: "pancreas",
84
- label: "pancreas",
85
- selected: false,
86
- },
87
- ],
88
- },
89
- ],
90
- onFilter: onFilter,
91
- },
92
- };
@@ -1,25 +0,0 @@
1
- import { CloseRounded } from "@mui/icons-material";
2
- import { IconButton } from "@mui/material";
3
- import React, { Fragment, useContext } from "react";
4
- import {
5
- BREAKPOINT_FN_NAME,
6
- useBreakpointHelper,
7
- } from "../../../../../../hooks/useBreakpointHelper";
8
- import { ListboxContext } from "../../../SearchAllFilters/searchAllFilters";
9
-
10
- export const SearchCloseButton = (): JSX.Element => {
11
- const bpDownMd = useBreakpointHelper(BREAKPOINT_FN_NAME.DOWN, "md");
12
- const { onClearSearch, onCloseSearch, open, searchTerm } =
13
- useContext(ListboxContext);
14
- const showButton = open && (bpDownMd || searchTerm);
15
- const onClickFn = bpDownMd ? onCloseSearch : onClearSearch;
16
- return (
17
- <Fragment>
18
- {showButton && (
19
- <IconButton onClick={onClickFn} size="large">
20
- <CloseRounded fontSize="small" />
21
- </IconButton>
22
- )}
23
- </Fragment>
24
- );
25
- };
@@ -1,35 +0,0 @@
1
- import styled from "@emotion/styled";
2
- import { TextField } from "@mui/material";
3
- import { PALETTE } from "../../../../styles/common/constants/palette";
4
-
5
- export const InputField = styled(TextField)`
6
- && {
7
- display: flex;
8
- flex-direction: column;
9
- gap: 8px;
10
-
11
- .MuiInputBase-root {
12
- & ::placeholder {
13
- color: ${PALETTE.INK_LIGHT};
14
- opacity: 0.8;
15
- }
16
-
17
- &.Mui-focused {
18
- & ::placeholder {
19
- opacity: 0;
20
- }
21
- }
22
- }
23
-
24
- .MuiOutlinedInput-root {
25
- &.MuiInputBase-sizeSmall {
26
- padding: 0 0 0 12px;
27
-
28
- .MuiAutocomplete-input {
29
- color: ${PALETTE.INK_MAIN};
30
- padding: 10px 14px 10px 0;
31
- }
32
- }
33
- }
34
- }
35
- `;
@@ -1,29 +0,0 @@
1
- import { TextFieldProps } from "@mui/material";
2
- import React, { useContext } from "react";
3
- import { SearchIcon } from "../../../common/CustomIcon/components/SearchIcon/searchIcon";
4
- import { ListboxContext } from "../SearchAllFilters/searchAllFilters";
5
- import { InputField } from "./searchAllFiltersSearch.styles";
6
-
7
- export const SearchAllFiltersSearch = ({
8
- inputProps,
9
- InputProps,
10
- ...props
11
- }: TextFieldProps): JSX.Element => {
12
- const { searchTerm } = useContext(ListboxContext);
13
- delete inputProps?.value; // Control input value from the search term.
14
- return (
15
- <InputField
16
- {...props}
17
- fullWidth
18
- InputProps={{
19
- ...(InputProps || {}),
20
- startAdornment: <SearchIcon fontSize="small" />,
21
- }}
22
- inputProps={{ ...(inputProps || {}), spellCheck: false }}
23
- placeholder="Search all filters..."
24
- size="small"
25
- value={searchTerm}
26
- variant="outlined"
27
- />
28
- );
29
- };