@weng-lab/ui-components 1.0.3 → 1.0.5

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 (41) hide show
  1. package/dist/fp.esm-Dkdh137l.js +1669 -0
  2. package/dist/fp.esm-Dkdh137l.js.map +1 -0
  3. package/dist/get-context-DC_dlYos.js +78 -0
  4. package/dist/get-context-DC_dlYos.js.map +1 -0
  5. package/dist/index-qy6Vgc_9.js +49555 -0
  6. package/dist/index-qy6Vgc_9.js.map +1 -0
  7. package/dist/src/components/DataTable/datatable.d.ts +6 -0
  8. package/dist/src/components/DataTable/datatable.d.ts.map +1 -0
  9. package/dist/src/components/DataTable/index.d.ts +4 -0
  10. package/dist/src/components/DataTable/index.d.ts.map +1 -0
  11. package/dist/src/components/DataTable/reducer.d.ts +3 -0
  12. package/dist/src/components/DataTable/reducer.d.ts.map +1 -0
  13. package/dist/src/components/DataTable/types.d.ts +187 -0
  14. package/dist/src/components/DataTable/types.d.ts.map +1 -0
  15. package/dist/src/components/GenomeSearch/GenomeSearch.d.ts +4 -0
  16. package/dist/src/components/GenomeSearch/GenomeSearch.d.ts.map +1 -0
  17. package/dist/src/components/GenomeSearch/index.d.ts +5 -0
  18. package/dist/src/components/GenomeSearch/index.d.ts.map +1 -0
  19. package/dist/src/components/GenomeSearch/queries.d.ts +10 -0
  20. package/dist/src/components/GenomeSearch/queries.d.ts.map +1 -0
  21. package/dist/src/components/GenomeSearch/types.d.ts +68 -0
  22. package/dist/src/components/GenomeSearch/types.d.ts.map +1 -0
  23. package/dist/src/components/GenomeSearch/utils.d.ts +14 -0
  24. package/dist/src/components/GenomeSearch/utils.d.ts.map +1 -0
  25. package/dist/src/components/RangeSlider/RangeSlider.d.ts +15 -0
  26. package/dist/src/components/RangeSlider/RangeSlider.d.ts.map +1 -0
  27. package/dist/src/components/RangeSlider/index.d.ts +4 -0
  28. package/dist/src/components/RangeSlider/index.d.ts.map +1 -0
  29. package/dist/src/components/Table/EmptyFallback.d.ts +7 -0
  30. package/dist/src/components/Table/EmptyFallback.d.ts.map +1 -0
  31. package/dist/src/components/Table/Table.d.ts +4 -0
  32. package/dist/src/components/Table/Table.d.ts.map +1 -0
  33. package/dist/src/components/Table/index.d.ts +4 -0
  34. package/dist/src/components/Table/index.d.ts.map +1 -0
  35. package/dist/src/components/Table/types.d.ts +68 -0
  36. package/dist/src/components/Table/types.d.ts.map +1 -0
  37. package/dist/src/index.d.ts +9 -0
  38. package/dist/src/index.d.ts.map +1 -0
  39. package/dist/ui-components.es.js +8 -0
  40. package/dist/ui-components.es.js.map +1 -0
  41. package/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ import { DataTableProps } from './types';
2
+ export declare function isNumeric(n: string): boolean;
3
+ export declare function genericSort(a: any, b: any): number;
4
+ declare const DataTable: <T extends object>(props: DataTableProps<T>) => import("react/jsx-runtime").JSX.Element;
5
+ export default DataTable;
6
+ //# sourceMappingURL=datatable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable.d.ts","sourceRoot":"","sources":["../../../../src/components/DataTable/datatable.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAmC,MAAM,SAAS,CAAC;AAiC1E,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAG5C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM,CAIlD;AA4DD,QAAA,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,EACjC,OAAO,cAAc,CAAC,CAAC,CAAC,4CA6gBzB,CAAC;AACF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { default as DataTable } from './datatable';
2
+ export { DataTable };
3
+ export type { DataTableColumn, DataTableProps, SortState } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/DataTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,CAAA;AACpB,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { DataTableAction, DataTableState } from './types';
2
+ export declare function reducer<T>(previousState: DataTableState<T>, action: DataTableAction<T>): DataTableState<T>;
3
+ //# sourceMappingURL=reducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../../../src/components/DataTable/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAEzD,wBAAgB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAwC1G"}
@@ -0,0 +1,187 @@
1
+ import { default as React } from 'react';
2
+ export interface DataTableColumn<T> {
3
+ tooltip?: React.ReactNode;
4
+ header: string;
5
+ /**
6
+ * Use to render React.ReactNode in column header. Used instead of ```header``` if specified
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * HeaderRender: () => <Typography>Header Here</Typography>
11
+ * }
12
+ * ```
13
+ *
14
+ */
15
+ HeaderRender?: () => React.ReactNode;
16
+ value: (row: T) => string | number;
17
+ search?: (row: T) => boolean;
18
+ unsearchable?: boolean;
19
+ /**
20
+ * Use to render React.ReactNode for a column. Can be string | number | whatever else react can render
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * (row: T) => {
25
+ * //You can use hooks here
26
+ * return (
27
+ * <CustomComponent>{row.whatever}</Typography>
28
+ * )
29
+ * }
30
+ *
31
+ * ```
32
+ */
33
+ render?: (row: T) => React.ReactNode;
34
+ /**
35
+ * @deprecated use render instead.
36
+ * @todo remove this prop when new component library is up
37
+ */
38
+ FunctionalRender?: ((row: T) => React.JSX.Element);
39
+ sort?: (a: T, b: T) => number;
40
+ unsortable?: boolean;
41
+ }
42
+ type RGB = `rgb(${number}, ${number}, ${number})` | `rgb(${number},${number},${number})`;
43
+ type RGBA = `rgba(${number}, ${number}, ${number}, ${number})` | `rgba(${number},${number},${number},${number})`;
44
+ type HEX = `#${string}` | `# ${string}`;
45
+ export interface DataTableProps<T> {
46
+ columns: DataTableColumn<T>[];
47
+ rows: T[];
48
+ /**
49
+ * Sets the number of items on each page.
50
+ * If one number specified, the rows per page selection is hidden.
51
+ * Specify an array to provide user-selectable options
52
+ *
53
+ * @default
54
+ * [5, 10, 25, 100]
55
+ *
56
+ */
57
+ itemsPerPage?: number | number[];
58
+ hidePageMenu?: boolean;
59
+ /**
60
+ * Allows passing all of the things React can render.
61
+ *
62
+ * @example
63
+ * ```
64
+ * "Title Here"
65
+ * ```
66
+ * or
67
+ * ```jsx
68
+ * <Typography onClick={handleClick}>Title Here</Typography>
69
+ * ```
70
+ *
71
+ * If passing a string will be wrapped as such:
72
+ * ```jsx
73
+ * <Typography
74
+ * variant="h5"
75
+ * noWrap
76
+ * component="div"
77
+ * sx={{
78
+ * display: { xs: 'none', sm: 'block' },
79
+ * fontWeight: 'normal',
80
+ * color: `${props.headerColor ? props.headerColor.textColor : 'inherit'}`,
81
+ * }}
82
+ * >
83
+ * {props.tableTitle}
84
+ * </Typography>
85
+ * ```
86
+ */
87
+ tableTitle?: React.ReactNode;
88
+ selectable?: boolean;
89
+ searchable?: boolean;
90
+ search?: string;
91
+ emptyText?: string;
92
+ sortColumn?: number;
93
+ sortDescending?: boolean;
94
+ downloadFileName?: string;
95
+ noOfDefaultColumns?: number;
96
+ showMoreColumns?: boolean;
97
+ defaultColumnsToShow?: string[];
98
+ page?: number;
99
+ hideHeader?: boolean;
100
+ titleHoverInfo?: React.ReactNode;
101
+ headerColor?: {
102
+ backgroundColor: RGB | RGBA | HEX;
103
+ textColor: RGB | RGBA | HEX | 'inherit';
104
+ };
105
+ /**
106
+ * Note: This currently does not account for the size of the title or pagination element,
107
+ * sets max-height of the table header and body.
108
+ */
109
+ maxHeight?: number | string;
110
+ /**
111
+ * Reduced the amount of padding on table cells to make the table more compact.
112
+ */
113
+ dense?: boolean;
114
+ /**
115
+ * Highlights the row(s) matching the provided object(s). Use this in conjunction with
116
+ * onRowClick() and a state variable containing the current row(s) to highlight.
117
+ * Importantly, currently this only supports highlighting rows with the same order
118
+ * of key/value pairs. Matching but out-of-order row objects will not be highlighted.
119
+ */
120
+ highlighted?: T | T[];
121
+ /**
122
+ * Callback triggered whenever the displayed rows are changed. Will trigger on first load of initial rows.
123
+ */
124
+ onDisplayedRowsChange?: (newPage: number, displayedRows: T[]) => void;
125
+ onRowClick?: (row: T, i: number) => void;
126
+ /**
127
+ * @param rowObject The object representing the row
128
+ * @param rowIndex The index of the row as it's currently displayed
129
+ */
130
+ onRowMouseEnter?: (rowObject: T, rowIndex: number) => void;
131
+ /**
132
+ * @param rowObject The object representing the row
133
+ * @param rowIndex The index of the row as it's currently displayed
134
+ */
135
+ onRowMouseLeave?: (rowObject: T, rowIndex: number) => void;
136
+ /**
137
+ * @param cellValue The value of the cell
138
+ * @param cellRowIndex The index of the cell's row as it's currently displayed
139
+ * @param cellColIndex The index of the cell's column as it's currently displayed
140
+ */
141
+ onCellMouseEnter?: (cellValue: string | number, cellRowIndex: number, cellColIndex: number) => void;
142
+ /**
143
+ * @param cellValue The value of the cell
144
+ * @param cellRowIndex The index of the cell's row as it's currently displayed
145
+ * @param cellColIndex The index of the cell's column as it's currently displayed
146
+ */
147
+ onCellMouseLeave?: (cellValue: string | number, cellRowIndex: number, cellColIndex: number) => void;
148
+ }
149
+ export type DataTableState<T> = {
150
+ page: number;
151
+ filter?: string;
152
+ sort: SortState;
153
+ columns: DataTableColumn<T>[];
154
+ showAddColumnsModal: boolean;
155
+ mousedOver?: number;
156
+ };
157
+ export type SortState = {
158
+ asc: boolean;
159
+ column: number;
160
+ };
161
+ export type SearchChangedAction = {
162
+ type: "searchChanged";
163
+ value: string;
164
+ };
165
+ export type PageChangedAction = {
166
+ type: "pageChanged";
167
+ page: number;
168
+ };
169
+ export type SortChangedAction = {
170
+ type: "sortChanged";
171
+ sortColumn: number;
172
+ };
173
+ export type ModalChangedAction = {
174
+ type: "modalChanged";
175
+ showAddColumnsModal: boolean;
176
+ };
177
+ export type ColumnsChangedAction<T> = {
178
+ type: "columnsChanged";
179
+ columns: DataTableColumn<T>[];
180
+ };
181
+ export type MousedOverAction = {
182
+ type: "mousedOver";
183
+ index?: number;
184
+ };
185
+ export type DataTableAction<T> = SearchChangedAction | PageChangedAction | SortChangedAction | ModalChangedAction | ColumnsChangedAction<T> | MousedOverAction;
186
+ export {};
187
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/DataTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IACrC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAA;IAClC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IACpC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,KAAK,GAAG,GAAG,OAAO,MAAM,KAAK,MAAM,KAAK,MAAM,GAAG,GAAG,OAAO,MAAM,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC;AACzF,KAAK,IAAI,GAAG,QAAQ,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,GAAG,GAAG,QAAQ,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC;AACjH,KAAK,GAAG,GAAG,IAAI,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE,CAAC;AAExC,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7B,IAAI,EAAE,CAAC,EAAE,CAAA;IAET;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAChC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE;QAAE,eAAe,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;QAAC,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,SAAS,CAAA;KAAE,CAAC;IAE7F;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAE3B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAA;IAErB;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,IAAI,CAAA;IAErE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAExC;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACxD;;;KAGC;IACH,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAE1D;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IAEnG;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;CACpG;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,OAAO,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,eAAe,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,cAAc,CAAA;IACpB,mBAAmB,EAAE,OAAO,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,CAAC,CAAC,CAAC,GACvB,gBAAgB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { GenomeSearchProps } from './types';
2
+ declare function GenomeSearch(props: GenomeSearchProps): import("react/jsx-runtime").JSX.Element;
3
+ export default GenomeSearch;
4
+ //# sourceMappingURL=GenomeSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenomeSearch.d.ts","sourceRoot":"","sources":["../../../../src/components/GenomeSearch/GenomeSearch.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAU,MAAM,SAAS,CAAC;AA+UpD,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAM7C;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { GenomeSearchProps, Result, Domain, ResultType } from './types';
2
+ import { default as GenomeSearch } from './GenomeSearch';
3
+ export { GenomeSearch };
4
+ export type { GenomeSearchProps, Result, Domain, ResultType };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/GenomeSearch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const SNP_AUTOCOMPLETE_QUERY = "\n query suggestions($assembly: String!, $snpid: String!) { \n snpAutocompleteQuery(assembly: $assembly, snpid: $snpid) {\n id\n coordinates {\n chromosome\n start\n end\n }\n }\n }\n";
2
+ export declare const GENE_AUTOCOMPLETE_QUERY = "\n query Genes(\n $id: [String]\n $name: [String]\n $strand: String\n $chromosome: String\n $start: Int\n $end: Int\n $gene_type: String\n $havana_id: String\n $name_prefix: [String!]\n $limit: Int\n $assembly: String!\n ) {\n gene(\n id: $id\n name: $name\n strand: $strand\n chromosome: $chromosome\n start: $start\n end: $end\n gene_type: $gene_type\n havana_id: $havana_id\n name_prefix: $name_prefix\n limit: $limit\n assembly: $assembly\n orderby: \"name\"\n ) {\n id\n name\n coordinates {\n chromosome\n start\n end\n }\n }\n }\n";
3
+ export declare const RESOLVE_QUERY = "\n query q(\n $id: String!\n $assembly: String!\n ) {\n resolve(\n id: $id\n assembly: $assembly\n ) {\n coordinates {\n chromosome\n start\n end\n }\n }\n }\n";
4
+ export declare const ICRE_AUTOCOMPLETE_QUERY = "\n query iCREQuery($accession_prefix: [String!], $limit: Int) {\n iCREQuery(accession_prefix: $accession_prefix, limit: $limit) {\n rdhs\n accession\n celltypes\n coordinates {\n start\n end\n chromosome\n }\n }\n }\n";
5
+ export declare const CCRE_AUTOCOMPLETE_QUERY = "\n query cCREAutocompleteQuery(\n $accession_prefix: [String!]\n $assembly: String!\n $includeiCREs: Boolean\n $limit: Int\n ) {\n cCREAutocompleteQuery(\n includeiCREs: $includeiCREs\n assembly: $assembly\n limit: $limit\n accession_prefix: $accession_prefix\n ) { \n accession\n isiCRE\n coordinates {\n chromosome\n start\n end\n }\n }\n }\n";
6
+ export declare const getICREs: (value: string, limit: number) => Promise<any>;
7
+ export declare const getCCREs: (value: string, assembly: string, limit: number, showiCREFlag: boolean) => Promise<any>;
8
+ export declare const getGenes: (value: string, assembly: string, limit: number, geneVersion: number) => Promise<any[]>;
9
+ export declare const getSNPs: (value: string, assembly: string, limit: number) => Promise<any>;
10
+ //# sourceMappingURL=queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/components/GenomeSearch/queries.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,0QAWlC,CAAC;AAEF,eAAO,MAAM,uBAAuB,8xBAqCnC,CAAC;AAEF,eAAO,MAAM,aAAa,2QAgBzB,CAAC;AAEF,eAAO,MAAM,uBAAuB,8TAanC,CAAC;AAEF,eAAO,MAAM,uBAAuB,qbAsBnC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAU,OAAO,MAAM,EAAE,OAAO,MAAM,iBAa1D,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,OAAO,MAAM,EACb,UAAU,MAAM,EAChB,OAAO,MAAM,EACb,cAAc,OAAO,iBAgBtB,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,OAAO,MAAM,EACb,UAAU,MAAM,EAChB,OAAO,MAAM,EACb,aAAa,MAAM,mBA0BpB,CAAC;AAkBF,eAAO,MAAM,OAAO,GAClB,OAAO,MAAM,EACb,UAAU,MAAM,EAChB,OAAO,MAAM,iBAed,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { AutocompleteProps, BoxProps, ButtonProps, TextFieldProps } from '@mui/material';
2
+ export type GenomeSearchProps = Partial<AutocompleteProps<Result, false, true, false, React.ElementType>> & {
3
+ assembly: "GRCh38" | "mm10";
4
+ onSearchSubmit: (result: Result) => void;
5
+ defaultResults?: Result[];
6
+ showiCREFlag?: boolean;
7
+ geneVersion?: number;
8
+ queries: ResultType[];
9
+ geneLimit?: number;
10
+ snpLimit?: number;
11
+ icreLimit?: number;
12
+ ccreLimit?: number;
13
+ slotProps?: {
14
+ input?: Partial<TextFieldProps>;
15
+ button?: Partial<ButtonProps>;
16
+ box?: Partial<BoxProps>;
17
+ };
18
+ slots?: {
19
+ input?: React.ReactElement<TextFieldProps>;
20
+ button?: React.ReactElement<ButtonProps>;
21
+ box?: React.ReactElement<BoxProps>;
22
+ };
23
+ };
24
+ export type Domain = {
25
+ chromosome: string;
26
+ start: number;
27
+ end: number;
28
+ };
29
+ export type ResultType = "Gene" | "SNP" | "Coordinate" | "iCRE" | "cCRE";
30
+ export type Result = {
31
+ title?: string;
32
+ description?: string;
33
+ type?: ResultType;
34
+ id?: string;
35
+ name?: string;
36
+ domain: Domain;
37
+ };
38
+ export interface SnpResponse {
39
+ id: string;
40
+ coordinates: {
41
+ chromosome: string;
42
+ start: number;
43
+ end: number;
44
+ };
45
+ }
46
+ export interface GeneResponse {
47
+ id: string;
48
+ name: string;
49
+ coordinates: {
50
+ chromosome: string;
51
+ start: number;
52
+ end: number;
53
+ };
54
+ description: string;
55
+ }
56
+ export interface ICREResponse {
57
+ accession: string;
58
+ coordinates: Domain;
59
+ celltypes: string[];
60
+ rdhs: string;
61
+ }
62
+ export interface CCREResponse {
63
+ accession: string;
64
+ coordinates: Domain;
65
+ celltypes: string[];
66
+ isiCRE: boolean;
67
+ }
68
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/GenomeSearch/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,cAAc,EACf,MAAM,eAAe,CAAC;AAGvB,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CACjE,GAAG;IACF,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC5B,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,SAAS,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9B,GAAG,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;KACzB,CAAC;IAGF,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACzC,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;KACpC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAGF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAGzE,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAGF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAGD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB"}
@@ -0,0 +1,14 @@
1
+ import { CCREResponse, GeneResponse, ICREResponse, Result, SnpResponse } from './types';
2
+ /**
3
+ * Get the coordinates from a string input.
4
+ * @param input - The input string to search for coordinates
5
+ * @param assembly - The assembly to search for coordinates
6
+ * @returns An array of results with the coordinates
7
+ */
8
+ export declare function getCoordinates(input: string, assembly: string): Result[];
9
+ export declare function snpResultList(results: SnpResponse[], limit: number): Result[];
10
+ export declare function geneResultList(results: GeneResponse[], limit: number): Result[];
11
+ export declare function icreResultList(results: ICREResponse[], limit: number): Result[];
12
+ export declare function ccreResultList(results: CCREResponse[], limit: number): Result[];
13
+ export declare function isDomain(input: string): boolean;
14
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/GenomeSearch/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,MAAM,EAEN,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAqCxE;AAiCD,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAO7E;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,EAAE,MAAM,GACZ,MAAM,EAAE,CAQV;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,EAAE,MAAM,GACZ,MAAM,EAAE,CAOV;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,EAAE,MAAM,GACZ,MAAM,EAAE,CASV;AA2DD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,WAOrC"}
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+ import { SliderProps as MuiSliderProps } from '@mui/material/Slider';
3
+ export type SliderProps = MuiSliderProps & {
4
+ title: string;
5
+ width: number | string;
6
+ defaultStart?: number;
7
+ defaultEnd?: number;
8
+ minDistance?: number;
9
+ onSliderChange?: (value: number[]) => void;
10
+ onSliderChangeCommitted?: (value: number[]) => void;
11
+ value?: number[];
12
+ };
13
+ declare const RangeSlider: React.FC<SliderProps>;
14
+ export default RangeSlider;
15
+ //# sourceMappingURL=RangeSlider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeSlider.d.ts","sourceRoot":"","sources":["../../../../src/components/RangeSlider/RangeSlider.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAoB,MAAM,OAAO,CAAC;AAIzC,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AASrE,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAMF,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA0MtC,CAAA;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { default as RangeSlider, SliderProps } from './RangeSlider';
2
+ export { RangeSlider };
3
+ export type { SliderProps };
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/RangeSlider/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,EAAE,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,7 @@
1
+ export type TableFallbackProps = {
2
+ message: string;
3
+ variant: "error" | "empty";
4
+ };
5
+ declare const TableFallback: ({ message, variant }: TableFallbackProps) => import("react/jsx-runtime").JSX.Element;
6
+ export default TableFallback;
7
+ //# sourceMappingURL=EmptyFallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyFallback.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/EmptyFallback.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;CAC5B,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,sBAAsB,kBAAkB,4CAO9D,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { TableProps } from './types';
2
+ declare const Table: (props: TableProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default Table;
4
+ //# sourceMappingURL=Table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Table.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,QAAA,MAAM,KAAK,GAAI,OAAO,UAAU,4CAuG/B,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { default as Table } from './Table';
2
+ export { Table };
3
+ export type * from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,CAAA;AAChB,mBAAmB,SAAS,CAAA"}
@@ -0,0 +1,68 @@
1
+ import { DataGridProProps } from '@mui/x-data-grid-pro';
2
+ import { ReactElement, ReactNode } from 'react';
3
+ export interface TableProps extends DataGridProProps {
4
+ /**
5
+ * Rows to be consumed in the table.
6
+ *
7
+ * ```undefined``` will be given default value of ```[]```
8
+ *
9
+ * Note: Rows without an 'id' property will be given id matching their index
10
+ */
11
+ rows: DataGridProProps["rows"];
12
+ /**
13
+ * @default true
14
+ * @note Overrides MUI default
15
+ */
16
+ disableRowSelectionOnClick?: DataGridProProps["disableRowSelectionOnClick"];
17
+ /**
18
+ * @default "compact"
19
+ * @note Overrides MUI default
20
+ */
21
+ density?: DataGridProProps["density"];
22
+ /**
23
+ * @default true
24
+ * @note Overrides MUI default
25
+ */
26
+ autosizeOnMount?: boolean;
27
+ /**
28
+ * @note Table assigns a default internal ID to each row if no ID is provided in the row data.
29
+ */
30
+ getRowId?: DataGridProProps["getRowId"];
31
+ /**
32
+ * Element to be rendered instead of `DataGridPro` when `rows` has a length of `0`.
33
+ * If a string is passed will use `TableFallback` component
34
+ */
35
+ emptyTableFallback?: string | ReactElement;
36
+ /**
37
+ * If true, the toolbar is displayed.
38
+ * @default true
39
+ */
40
+ showToolbar?: DataGridProProps["showToolbar"];
41
+ /**
42
+ * Configures the height properties of the wrapper `<div>`.
43
+ *
44
+ * By default it's wrapped with:
45
+ * ```jsx
46
+ * <div style={{ display: 'flex', flexDirection: 'column' }}>
47
+ * ```
48
+ *
49
+ * Additional height properties spread onto this `<div>`
50
+ */
51
+ divHeight?: {
52
+ height?: string;
53
+ minHeight?: string;
54
+ maxHeight?: string;
55
+ };
56
+ /**
57
+ * Used for failed fetches. If true will display error fallback
58
+ * @default false
59
+ */
60
+ error?: boolean;
61
+ }
62
+ export type TableToolbarProps = {
63
+ /**
64
+ * Optional ReactNode to be used in the table toolbar. Strings and numbers will be rendered as Typography variant h6.
65
+ */
66
+ title?: ReactNode;
67
+ };
68
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIhD,MAAM,WAAW,UAAW,SAAQ,gBAAgB;IAClD;;;;;;OAMG;IACH,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/B;;;OAGG;IACH,0BAA0B,CAAC,EAAE,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;IAC5E;;;OAGG;IACH,OAAO,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACtC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAC3C;;;OAGG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAC7C;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { RangeSlider } from './components/RangeSlider';
2
+ export type { SliderProps } from './components/RangeSlider';
3
+ export { DataTable } from './components/DataTable';
4
+ export type { DataTableProps, DataTableColumn } from './components/DataTable';
5
+ export { Table } from './components/Table';
6
+ export type * from './components/Table';
7
+ export { GenomeSearch } from './components/GenomeSearch';
8
+ export type { GenomeSearchProps, Result, Domain, ResultType } from './components/GenomeSearch';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,mBAAmB,oBAAoB,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { D as r, G as s, R as l, T as o } from "./index-qy6Vgc_9.js";
2
+ export {
3
+ r as DataTable,
4
+ s as GenomeSearch,
5
+ l as RangeSlider,
6
+ o as Table
7
+ };
8
+ //# sourceMappingURL=ui-components.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-components.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weng-lab/ui-components",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "React MUI components for the Weng/Moore Labs suite of genomics web resources",
5
5
  "type": "module",
6
6
  "module": "dist/ui-components.es.js",