@weng-lab/visualization 1.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 (48) hide show
  1. package/dist/src/components/Graph/ControlPanel.d.ts +28 -0
  2. package/dist/src/components/Graph/ControlPanel.d.ts.map +1 -0
  3. package/dist/src/components/Graph/Graph.d.ts +5 -0
  4. package/dist/src/components/Graph/Graph.d.ts.map +1 -0
  5. package/dist/src/components/Graph/GraphButton.d.ts +9 -0
  6. package/dist/src/components/Graph/GraphButton.d.ts.map +1 -0
  7. package/dist/src/components/Graph/Legend.d.ts +21 -0
  8. package/dist/src/components/Graph/Legend.d.ts.map +1 -0
  9. package/dist/src/components/Graph/ScaleLegend.d.ts +9 -0
  10. package/dist/src/components/Graph/ScaleLegend.d.ts.map +1 -0
  11. package/dist/src/components/Graph/index.d.ts +4 -0
  12. package/dist/src/components/Graph/index.d.ts.map +1 -0
  13. package/dist/src/components/Graph/types.d.ts +41 -0
  14. package/dist/src/components/Graph/types.d.ts.map +1 -0
  15. package/dist/src/components/ScatterPlot/controls.d.ts +4 -0
  16. package/dist/src/components/ScatterPlot/controls.d.ts.map +1 -0
  17. package/dist/src/components/ScatterPlot/index.d.ts +4 -0
  18. package/dist/src/components/ScatterPlot/index.d.ts.map +1 -0
  19. package/dist/src/components/ScatterPlot/minimap.d.ts +4 -0
  20. package/dist/src/components/ScatterPlot/minimap.d.ts.map +1 -0
  21. package/dist/src/components/ScatterPlot/scatterplot.d.ts +4 -0
  22. package/dist/src/components/ScatterPlot/scatterplot.d.ts.map +1 -0
  23. package/dist/src/components/ScatterPlot/tooltip.d.ts +4 -0
  24. package/dist/src/components/ScatterPlot/tooltip.d.ts.map +1 -0
  25. package/dist/src/components/ScatterPlot/types.d.ts +247 -0
  26. package/dist/src/components/ScatterPlot/types.d.ts.map +1 -0
  27. package/dist/src/components/ViolinPlot/crossPlot.d.ts +4 -0
  28. package/dist/src/components/ViolinPlot/crossPlot.d.ts.map +1 -0
  29. package/dist/src/components/ViolinPlot/helpers.d.ts +18 -0
  30. package/dist/src/components/ViolinPlot/helpers.d.ts.map +1 -0
  31. package/dist/src/components/ViolinPlot/index.d.ts +4 -0
  32. package/dist/src/components/ViolinPlot/index.d.ts.map +1 -0
  33. package/dist/src/components/ViolinPlot/singleViolin.d.ts +4 -0
  34. package/dist/src/components/ViolinPlot/singleViolin.d.ts.map +1 -0
  35. package/dist/src/components/ViolinPlot/testData.d.ts +26 -0
  36. package/dist/src/components/ViolinPlot/testData.d.ts.map +1 -0
  37. package/dist/src/components/ViolinPlot/types.d.ts +101 -0
  38. package/dist/src/components/ViolinPlot/types.d.ts.map +1 -0
  39. package/dist/src/components/ViolinPlot/violinPlot.d.ts +4 -0
  40. package/dist/src/components/ViolinPlot/violinPlot.d.ts.map +1 -0
  41. package/dist/src/components/ViolinPlot/violinTooltip.d.ts +4 -0
  42. package/dist/src/components/ViolinPlot/violinTooltip.d.ts.map +1 -0
  43. package/dist/src/index.d.ts +7 -0
  44. package/dist/src/index.d.ts.map +1 -0
  45. package/dist/visualization.css +1 -0
  46. package/dist/visualization.es.js +45609 -0
  47. package/dist/visualization.es.js.map +1 -0
  48. package/package.json +51 -0
@@ -0,0 +1,28 @@
1
+ import { default as React } from 'react';
2
+ import { Node, Edge } from './types';
3
+ interface ControlPanelProps {
4
+ toggles: {
5
+ [key: string]: boolean;
6
+ };
7
+ onToggle: (category: string) => void;
8
+ simpleCategories: string[];
9
+ edgeType: boolean;
10
+ colorFunc?: (node: Node | Edge) => string;
11
+ elements: Node[];
12
+ edges: Edge[];
13
+ scales: number[];
14
+ scaleWidth: (n: number) => number;
15
+ downloadScreenshot: () => void;
16
+ randomize: () => void;
17
+ organize: () => void;
18
+ toggleLabels: () => void;
19
+ labelsOn: boolean;
20
+ legendToggle?: (node: Node | Edge) => string;
21
+ legendNodeLabel?: string;
22
+ legendEdgeLabel?: string;
23
+ uniqueCat?: string[];
24
+ scaleLabel?: string;
25
+ }
26
+ declare const ControlPanel: React.FC<ControlPanelProps>;
27
+ export default ControlPanel;
28
+ //# sourceMappingURL=ControlPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/Graph/ControlPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAgBrC,UAAU,iBAAiB;IACzB,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC;IAC1C,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAClC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8J7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ import { GraphProps } from './types';
3
+ declare const Graph: React.FC<GraphProps>;
4
+ export default Graph;
5
+ //# sourceMappingURL=Graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../../src/components/Graph/Graph.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAK3D,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AAEjD,OAAO,yBAAyB,CAAC;AAsCjC,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAugB/B,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { default as React, CSSProperties } from 'react';
2
+ interface buttonProps {
3
+ text: string;
4
+ styles: CSSProperties;
5
+ func: () => any;
6
+ }
7
+ declare const GraphButton: React.FC<buttonProps>;
8
+ export default GraphButton;
9
+ //# sourceMappingURL=GraphButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphButton.d.ts","sourceRoot":"","sources":["../../../../src/components/Graph/GraphButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE7C,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,CAAC;CACjB;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAoBtC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { default as React } from 'react';
2
+ import { Node, Edge } from './types';
3
+ interface LegendProps {
4
+ toggles: {
5
+ [key: string]: boolean;
6
+ };
7
+ onToggle: (category: string) => void;
8
+ simpleCategories: string[];
9
+ edgeType: boolean;
10
+ colorFunc?: (node: Node | Edge) => string;
11
+ elements: Node[];
12
+ edges: Edge[];
13
+ legendToggle?: (node: Node | Edge) => string;
14
+ legendNodeLabel?: string;
15
+ legendEdgeLabel?: string;
16
+ order?: string[];
17
+ uniqueCat?: string[];
18
+ }
19
+ declare const Legend: React.FC<LegendProps>;
20
+ export default Legend;
21
+ //# sourceMappingURL=Legend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Legend.d.ts","sourceRoot":"","sources":["../../../../src/components/Graph/Legend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGrC,UAAU,WAAW;IACnB,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC;IAC1C,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAuNjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ interface ScaleProps {
3
+ scales: number[];
4
+ width: (n: number) => number;
5
+ scaleLabel?: string;
6
+ }
7
+ declare const ScaleLegend: React.FC<ScaleProps>;
8
+ export default ScaleLegend;
9
+ //# sourceMappingURL=ScaleLegend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScaleLegend.d.ts","sourceRoot":"","sources":["../../../../src/components/Graph/ScaleLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAK7C,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CA2JrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { default as Graph } from './Graph';
2
+ export { Graph };
3
+ export type { GraphProps } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Graph/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,41 @@
1
+ export interface Edge {
2
+ from: string;
3
+ to: string;
4
+ effectSize: number;
5
+ category?: string;
6
+ id: number;
7
+ }
8
+ export interface Node {
9
+ id: string;
10
+ category: string;
11
+ color?: string;
12
+ info?: {
13
+ [key: string]: any;
14
+ };
15
+ }
16
+ export interface GraphProps {
17
+ data: {
18
+ edge: Edge[];
19
+ node: Node[];
20
+ centered?: {
21
+ id: string;
22
+ };
23
+ };
24
+ id: number | string;
25
+ title?: string;
26
+ width?: string;
27
+ height?: string;
28
+ scale?: (n: number) => number;
29
+ getLabel?: (node: Node) => string;
30
+ getColor?: (node: Node | Edge) => string;
31
+ legendToggle?: (node: Node | Edge) => string;
32
+ legendNodeLabel?: string;
33
+ legendEdgeLabel?: string;
34
+ order?: string[];
35
+ fontFamily?: string;
36
+ onNodeClick?: (n: any) => any;
37
+ onEdgeClick?: () => any;
38
+ directional?: boolean;
39
+ scaleLabel?: string;
40
+ }
41
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Graph/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAC;QACL,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAClB,CAAC;CACF;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI,EAAE,CAAC;QAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE;YAAC,EAAE,EAAE,MAAM,CAAA;SAAC,CAAA;KACpD,CAAC;IACF,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC;IACzC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,4 @@
1
+ import { ControlButtonsProps } from './types';
2
+ declare const ControlButtons: ({ selectable, resetable, handleSelectionModeChange, selectMode, zoomIn, zoomOut, zoomReset, position, highlight }: ControlButtonsProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default ControlButtons;
4
+ //# sourceMappingURL=controls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../src/components/ScatterPlot/controls.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAI9C,QAAA,MAAM,cAAc,GAAI,mHAUrB,mBAAmB,4CA0ErB,CAAA;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { default as ScatterPlot } from './scatterplot';
2
+ export { ScatterPlot };
3
+ export type { MiniMapProps, ChartProps, Point } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ScatterPlot/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,CAAA;AACtB,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { MapProps } from './types';
2
+ declare const MiniMap: <T>({ miniMap, width, height, pointData, xScale, yScale, zoom }: MapProps<T>) => import("react/jsx-runtime").JSX.Element;
3
+ export default MiniMap;
4
+ //# sourceMappingURL=minimap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimap.d.ts","sourceRoot":"","sources":["../../../../src/components/ScatterPlot/minimap.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,QAAA,MAAM,OAAO,GAAI,CAAC,EAAG,6DAQlB,QAAQ,CAAC,CAAC,CAAC,4CAkGb,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { ChartProps } from './types';
2
+ declare const ScatterPlot: <T extends object, S extends boolean | undefined = undefined, Z extends boolean | undefined = undefined>(props: ChartProps<T, S, Z>) => import("react/jsx-runtime").JSX.Element;
3
+ export default ScatterPlot;
4
+ //# sourceMappingURL=scatterplot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scatterplot.d.ts","sourceRoot":"","sources":["../../../../src/components/ScatterPlot/scatterplot.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAgC,MAAM,SAAS,CAAC;AA6BnE,QAAA,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACvH,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,4CAypB7B,CAAA;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { TooltipProps } from './types';
2
+ declare const ScatterTooltip: <T>({ tooltipBody, tooltipData }: TooltipProps<T>) => import("react/jsx-runtime").JSX.Element;
3
+ export default ScatterTooltip;
4
+ //# sourceMappingURL=tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/ScatterPlot/tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,QAAA,MAAM,cAAc,GAAI,CAAC,EAAG,8BAGzB,YAAY,CAAC,CAAC,CAAC,4CAmBjB,CAAA;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,247 @@
1
+ import { ScaleLinear } from '@visx/vendor/d3-scale';
2
+ import { ProvidedZoom } from '@visx/zoom/lib/types';
3
+ import { ReactElement } from 'react';
4
+ /**
5
+ All information given to a point on the plot, including its coordinates(x and y), its radius, color, and opacity, and its metadata information
6
+ which can be any amount of strings used to display in the tooltip
7
+ */
8
+ export type Point<T> = {
9
+ /**
10
+ * X and Y coordinates of point on plot (required)
11
+ */
12
+ x: number;
13
+ y: number;
14
+ /**
15
+ * Shape of the point
16
+ * @default
17
+ * "circle"
18
+ *
19
+ */
20
+ shape?: "circle" | "triangle";
21
+ /**
22
+ * Radius of the point
23
+ * @default
24
+ * 3
25
+ * (5 if hovered)
26
+ */
27
+ r?: number;
28
+ /**
29
+ * Fill color of the point
30
+ * @default
31
+ * "black"
32
+ */
33
+ color?: string;
34
+ /**
35
+ * Transparency ofe the point
36
+ * @default
37
+ * 1 (opaque)
38
+ */
39
+ opacity?: number;
40
+ /**
41
+ * Any and all metadata the user wishes to include with the point.
42
+ * this will be used to display the tooltip on the hover of the point
43
+ * @example
44
+ * metaData: {
45
+ name: x.displayname,
46
+ accession: x.experimentAccession
47
+ }
48
+ */
49
+ metaData?: T;
50
+ };
51
+ /**
52
+ Positioning props given to the minimap in realtion to the container
53
+ @todo
54
+ remove the seperate type since position is now the only
55
+ prop in here
56
+ **/
57
+ export type MiniMapProps = {
58
+ position?: {
59
+ right: number;
60
+ bottom: number;
61
+ };
62
+ };
63
+ /**
64
+ * Initial state of the component controling the initial state variables on first load
65
+ */
66
+ export type InitialState<S, Z> = {
67
+ minimap?: {
68
+ /**
69
+ * Initial minimap state (open or closed)
70
+ */
71
+ open?: boolean;
72
+ };
73
+ controls?: {
74
+ /**
75
+ * Initial selection type
76
+ * Note: allowed types depends on zoom and selection availibility
77
+ */
78
+ selectionType?: S extends true ? "pan" | "select" : Z extends true ? "select" | "none" : "pan";
79
+ };
80
+ };
81
+ /**
82
+ Basic chart properties
83
+ */
84
+ export type ChartProps<T, S extends boolean | undefined, Z extends boolean | undefined> = {
85
+ /**
86
+ * Array of points being displayed on the plot
87
+ * if empty, nothing will be displayed
88
+ */
89
+ pointData: Point<T>[];
90
+ /**
91
+ * Boolean flag to indicate if any data is still loading,
92
+ * if true, loading state is displayed (Circular Progress)
93
+ */
94
+ loading: boolean;
95
+ /**
96
+ * If true, enables lasso selection of points, controllable with onSelectionChange
97
+ * Shows new select icon in controls section (pencil)
98
+ * @default
99
+ * false
100
+ */
101
+ selectable?: S;
102
+ /**
103
+ * If true, zooming and panning capabilities of the scatterplot
104
+ * Removes zooming control icons (Zoom in, zoom out, reset zoom)
105
+ *
106
+ * Note: if Zoom is disabled and selecting is enabled, No icons will appear,
107
+ * the selection type of the plot will only ever be select
108
+ *
109
+ * @default
110
+ * false
111
+ */
112
+ disableZoom?: Z;
113
+ /**
114
+ * If true, tooltip functionality is disabled.
115
+ * point hovering will not render anything but will still increase the size of the point
116
+ * @default
117
+ * false
118
+ */
119
+ disableTooltip?: boolean;
120
+ /**
121
+ * Determines the placement of any controls that are being shown at the time.
122
+ * Positions are fixed and cannot be moved, they are 10 pixels from the specified side of the container
123
+ * and situated in the center
124
+ *
125
+ * @default
126
+ * "left"
127
+ */
128
+ controlsPosition?: "left" | "bottom" | "right";
129
+ /**
130
+ * Can specify a certain color to display what controls are being selected
131
+ * (Pan/Select and Minimap open/closed)
132
+ *
133
+ * @default
134
+ * primary.main
135
+ */
136
+ controlsHighlight?: string;
137
+ /**
138
+ * Callback function triggered whenever the currently rendered points on the plot change
139
+ * ex. when panning or zooming in
140
+ *
141
+ * @returns
142
+ * Array of points currently rendered on the plot
143
+ * including all of its info and metadata
144
+ */
145
+ onDisplayedPointsChange?: (points: Point<T>[]) => void;
146
+ /**
147
+ * Callback function triggered when a lasso selection is made
148
+ *
149
+ * @returns
150
+ * Array of points inside the lasso
151
+ * Empty array if no points inside lasso
152
+ */
153
+ onSelectionChange?: (selectedPoints: Point<T>[]) => void;
154
+ /**
155
+ * Callback fucntion triggered when a point is clicked
156
+ *
157
+ * @returns
158
+ * Singular point including all info and metadata
159
+ */
160
+ onPointClicked?: (point: Point<T>) => void;
161
+ /**
162
+ * Optional key to specify if you want to group your points.
163
+ * Must be a key of type Point, or an existing key already in meta data
164
+ *
165
+ * If anchor is specified, all grouped points will increase in size on hover of any point in said group
166
+ */
167
+ groupPointsAnchor?: keyof Point<T> | keyof T;
168
+ /**
169
+ * Custom tooltip formatting
170
+ * can give JSX elements
171
+ *
172
+ * @example
173
+ * tooltipBody={(point) => {
174
+ return (
175
+ <Box sx={{ textAlign: "center", p: 1 }}>
176
+ <DNALogo ppm={formattedPWM} height={100} />
177
+ {point.metaData?.tooltipValues && (
178
+ <>
179
+ <Typography variant="body2">
180
+ <strong>Accession:</strong>{" "}
181
+ {point.metaData.tooltipValues.accession}
182
+ </Typography>
183
+ <Typography variant="body2">
184
+ <strong>DBD:</strong>{" "}
185
+ {point.metaData.tooltipValues.dbd}
186
+ </Typography>
187
+ <Typography variant="body2">
188
+ <strong>Factor:</strong>{" "}
189
+ {point.metaData.tooltipValues.factor}
190
+ </Typography>
191
+ </>
192
+ )}
193
+ </Box>
194
+ );
195
+ }}
196
+ */
197
+ tooltipBody?: (point: Point<T>) => ReactElement;
198
+ miniMap?: MiniMapProps;
199
+ leftAxisLabel?: string;
200
+ bottomAxisLabel?: string;
201
+ initialState?: InitialState<S, Z>;
202
+ };
203
+ export type Line = {
204
+ x: number;
205
+ y: number;
206
+ }[];
207
+ export type Lines = Line[];
208
+ export type MapProps<T> = {
209
+ miniMap: MiniMapProps;
210
+ width: number;
211
+ height: number;
212
+ pointData: Point<T>[];
213
+ xScale: ScaleLinear<number, number, never>;
214
+ yScale: ScaleLinear<number, number, never>;
215
+ zoom: ZoomType;
216
+ };
217
+ export type TooltipProps<T> = {
218
+ tooltipBody?: (point: Point<T>) => ReactElement;
219
+ tooltipData: Point<T>;
220
+ };
221
+ export type ControlButtonsProps = {
222
+ selectable: boolean;
223
+ resetable: boolean;
224
+ handleSelectionModeChange: (mode: "select" | "pan" | "none") => void;
225
+ selectMode: "select" | "pan" | "none";
226
+ zoomIn: () => void;
227
+ zoomOut: () => void;
228
+ zoomReset: () => void;
229
+ position?: "left" | "bottom" | "right";
230
+ highlight?: string;
231
+ };
232
+ interface TransformMatrix {
233
+ scaleX: number;
234
+ scaleY: number;
235
+ translateX: number;
236
+ translateY: number;
237
+ skewX: number;
238
+ skewY: number;
239
+ }
240
+ type ZoomState = {
241
+ initialTransformMatrix: TransformMatrix;
242
+ transformMatrix: TransformMatrix;
243
+ isDragging: boolean;
244
+ };
245
+ export type ZoomType = ProvidedZoom<React.ReactElement<unknown, string | React.JSXElementConstructor<unknown>>> & ZoomState;
246
+ export {};
247
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/ScatterPlot/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { CrossPlotProps } from './types';
2
+ declare const CrossPlot: <T>({ crossProps, left, top, median, firstQuartile, thirdQuartile, valueScale, medianWidth, tooltipData, handleMouseMove, handleCrossClick, disableViolinPlot, tooltip, horizontal }: CrossPlotProps<T>) => import("react/jsx-runtime").JSX.Element;
3
+ export default CrossPlot;
4
+ //# sourceMappingURL=crossPlot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crossPlot.d.ts","sourceRoot":"","sources":["../../../../src/components/ViolinPlot/crossPlot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIzC,QAAA,MAAM,SAAS,GAAI,CAAC,EAAG,kLAAkL,cAAc,CAAC,CAAC,CAAC,4CAgCzN,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ export declare const getTextHeight: (text: string, fontSize: number, fontFamily: string) => number;
2
+ export declare const calculateBoxStats: (data: number[], outlierType: string) => {
3
+ min: number;
4
+ max: number;
5
+ firstQuartile: number;
6
+ thirdQuartile: number;
7
+ median: number;
8
+ outliers: number[];
9
+ };
10
+ export declare function kernelDensityEstimator(kernel: (distance: number) => number, X: number[]): (data: number[]) => {
11
+ value: number;
12
+ count: number;
13
+ }[];
14
+ export declare function gaussian(bandwidth: number): (x: number) => number;
15
+ export declare function scottRule(data: number[]): number;
16
+ export declare function silvermanRule(data: number[]): number;
17
+ export declare function seededRandom(seed: string): number;
18
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/components/ViolinPlot/helpers.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,EAAE,YAAY,MAAM,KAAG,MAYlF,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,EAAE,aAAa,MAAM;;;;;;;CA2CpE,CAAC;AAEF,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,EACpC,CAAC,EAAE,MAAM,EAAE,GACZ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAOxD;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAGjE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAWrC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAkB7C;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQjD"}
@@ -0,0 +1,4 @@
1
+ import { default as ViolinPlot } from './violinPlot';
2
+ export { ViolinPlot };
3
+ export type { Distribution, ViolinPlotProps, ViolinPoint } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ViolinPlot/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,CAAA;AACrB,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { SingleViolinProps } from './types';
2
+ declare const SingleViolin: <T>({ distribution, distIndex, violinProps, crossProps, valueScale, labelScale, offset, labels, disableCrossPlot, disableViolinPlot, horizontal, pointTooltipBody, onViolinClicked, onPointClicked }: SingleViolinProps<T>) => import("react/jsx-runtime").JSX.Element;
3
+ export default SingleViolin;
4
+ //# sourceMappingURL=singleViolin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singleViolin.d.ts","sourceRoot":"","sources":["../../../../src/components/ViolinPlot/singleViolin.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAe,iBAAiB,EAAe,MAAM,SAAS,CAAC;AAItE,QAAA,MAAM,YAAY,GAAI,CAAC,EAAG,kMAevB,iBAAiB,CAAC,CAAC,CAAC,4CAmRtB,CAAA;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,26 @@
1
+ export declare const sp1AdiposeVisceral: number[];
2
+ export declare const sp1AdiposeSub: number[];
3
+ export declare const sp1KidneyMedulla: number[];
4
+ export declare const sp1EsophagusMucosa: number[];
5
+ export declare const wholeBlood: number[];
6
+ export declare const sp1Screen: ({
7
+ label: string;
8
+ data: {
9
+ value: number;
10
+ }[];
11
+ violinColor: string;
12
+ } | {
13
+ label: string;
14
+ data: {
15
+ value: number;
16
+ }[];
17
+ violinColor?: undefined;
18
+ })[];
19
+ export declare const testData: {
20
+ label: string;
21
+ data: {
22
+ value: number;
23
+ }[];
24
+ violinColor: string;
25
+ }[];
26
+ //# sourceMappingURL=testData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testData.d.ts","sourceRoot":"","sources":["../../../../src/components/ViolinPlot/testData.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,UA4kB5B,CAAA;AAED,eAAO,MAAM,aAAa,UA2sB3B,CAAA;AAED,eAAO,MAAM,gBAAgB,UAY5B,CAAA;AAED,eAAO,MAAM,kBAAkB,UAumB9B,CAAA;AAED,eAAO,MAAM,UAAU,UAoyBtB,CAAA;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;IAiCrB,CAAA;AAED,eAAO,MAAM,QAAQ;;;;;;GAKpB,CAAA"}
@@ -0,0 +1,101 @@
1
+ import { ScaleBand, ScaleLinear } from 'd3';
2
+ import { ReactElement } from 'react';
3
+ type Outliers = "all" | "top" | "bottom" | "none";
4
+ export type Datum = {
5
+ value: number;
6
+ count: number;
7
+ }[];
8
+ export type ViolinPoint<T> = {
9
+ value: number;
10
+ color?: string;
11
+ radius?: number;
12
+ opacity?: number;
13
+ metaData?: T;
14
+ };
15
+ export type Distribution<T> = {
16
+ data: ViolinPoint<T>[];
17
+ label?: string;
18
+ violinColor?: string;
19
+ opacity?: number;
20
+ };
21
+ export type ViolinProps = {
22
+ bandwidth?: number | "scott" | "silverman" | ((data: number[]) => number);
23
+ stroke?: number;
24
+ pointDisplayThreshold?: number;
25
+ showAllPoints?: boolean;
26
+ jitter?: number;
27
+ };
28
+ export type CrossProps = {
29
+ color?: string;
30
+ stroke?: number;
31
+ outliers?: Outliers;
32
+ medianColor?: string;
33
+ medianWidth?: number;
34
+ };
35
+ export type ViolinPlotProps<T> = {
36
+ distributions: Distribution<T>[];
37
+ loading: boolean;
38
+ axisLabel?: string;
39
+ disableCrossPlot?: boolean;
40
+ disableViolinPlot?: boolean;
41
+ crossProps?: CrossProps;
42
+ violinProps?: ViolinProps;
43
+ horizontal?: boolean;
44
+ labelOrientation?: "horizontal" | "vertical" | "leftDiagonal" | "rightDiagonal";
45
+ onViolinClicked?: (distribution: Distribution<T>) => void;
46
+ onPointClicked?: (point: ViolinPoint<T>) => void;
47
+ pointTooltipBody?: (point: ViolinPoint<T>) => ReactElement;
48
+ };
49
+ export interface CrossPlotProps<T> {
50
+ crossProps?: CrossProps;
51
+ left: number;
52
+ top: number;
53
+ median: number;
54
+ firstQuartile: number;
55
+ thirdQuartile: number;
56
+ valueScale: (value: number) => number;
57
+ medianWidth: number;
58
+ tooltipData: TooltipData<T>;
59
+ handleMouseMove: (event: React.MouseEvent<SVGPathElement>, data: TooltipData<T>) => void;
60
+ handleCrossClick: () => void;
61
+ disableViolinPlot: boolean;
62
+ tooltip: TooltipData<T>;
63
+ horizontal: boolean;
64
+ }
65
+ export interface TooltipData<T> {
66
+ point?: ViolinPoint<T>;
67
+ label?: string;
68
+ min?: string;
69
+ median?: string;
70
+ max?: string;
71
+ firstQuartile?: string;
72
+ thirdQuartile?: string;
73
+ outlier?: boolean;
74
+ sampleSize?: number;
75
+ value?: string;
76
+ }
77
+ export interface TooltipProps<T> {
78
+ left: number;
79
+ top: number;
80
+ data: TooltipData<T>;
81
+ open: boolean;
82
+ pointTooltipBody?: (point: ViolinPoint<T>) => ReactElement;
83
+ }
84
+ export interface SingleViolinProps<T> {
85
+ distribution: Distribution<T>;
86
+ distIndex: number;
87
+ violinProps: ViolinProps | undefined;
88
+ crossProps: CrossProps | undefined;
89
+ valueScale: ScaleLinear<number, number, never>;
90
+ labelScale: ScaleBand<string>;
91
+ offset: number;
92
+ labels: string[];
93
+ disableViolinPlot: boolean;
94
+ disableCrossPlot: boolean;
95
+ horizontal: boolean;
96
+ pointTooltipBody?: (point: ViolinPoint<T>) => ReactElement;
97
+ onViolinClicked?: (distribution: Distribution<T>) => void | undefined;
98
+ onPointClicked?: (point: ViolinPoint<T>) => void | undefined;
99
+ }
100
+ export {};
101
+ //# sourceMappingURL=types.d.ts.map