@page-speed/venn-diagram 0.0.1
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.
- package/README.md +0 -0
- package/dist/cjs/esm/components/VennDiagram.d.ts +4 -0
- package/dist/cjs/esm/components/VennDiagram.d.ts.map +1 -0
- package/dist/cjs/esm/components/VennDiagramContext.d.ts +3 -0
- package/dist/cjs/esm/components/VennDiagramContext.d.ts.map +1 -0
- package/dist/cjs/esm/components/VennDiagramSVG.d.ts +16 -0
- package/dist/cjs/esm/components/VennDiagramSVG.d.ts.map +1 -0
- package/dist/cjs/esm/components/index.d.ts +3 -0
- package/dist/cjs/esm/components/index.d.ts.map +1 -0
- package/dist/cjs/esm/examples/KeywordGapDashboard.d.ts +3 -0
- package/dist/cjs/esm/examples/KeywordGapDashboard.d.ts.map +1 -0
- package/dist/cjs/esm/hooks/index.d.ts +2 -0
- package/dist/cjs/esm/hooks/index.d.ts.map +1 -0
- package/dist/cjs/esm/hooks/useVennLayout.d.ts +13 -0
- package/dist/cjs/esm/hooks/useVennLayout.d.ts.map +1 -0
- package/dist/cjs/esm/index.d.ts +5 -0
- package/dist/cjs/esm/index.d.ts.map +1 -0
- package/dist/cjs/esm/types/venn.types.d.ts +68 -0
- package/dist/cjs/esm/types/venn.types.d.ts.map +1 -0
- package/dist/cjs/esm/utils/colorScheme.d.ts +3 -0
- package/dist/cjs/esm/utils/colorScheme.d.ts.map +1 -0
- package/dist/cjs/esm/utils/index.d.ts +2 -0
- package/dist/cjs/esm/utils/index.d.ts.map +1 -0
- package/dist/cjs/index.js +1796 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/styles/index.css +162 -0
- package/dist/cjs/styles/index.css.map +1 -0
- package/dist/esm/_virtual/jsx-runtime.js +4 -0
- package/dist/esm/_virtual/jsx-runtime.js.map +1 -0
- package/dist/esm/_virtual/react-jsx-runtime.development.js +4 -0
- package/dist/esm/_virtual/react-jsx-runtime.development.js.map +1 -0
- package/dist/esm/_virtual/react-jsx-runtime.production.min.js +4 -0
- package/dist/esm/_virtual/react-jsx-runtime.production.min.js.map +1 -0
- package/dist/esm/components/VennDiagram.d.ts +4 -0
- package/dist/esm/components/VennDiagram.d.ts.map +1 -0
- package/dist/esm/components/VennDiagram.js +137 -0
- package/dist/esm/components/VennDiagram.js.map +1 -0
- package/dist/esm/components/VennDiagramContext.d.ts +3 -0
- package/dist/esm/components/VennDiagramContext.d.ts.map +1 -0
- package/dist/esm/components/VennDiagramContext.js +7 -0
- package/dist/esm/components/VennDiagramContext.js.map +1 -0
- package/dist/esm/components/VennDiagramSVG.d.ts +16 -0
- package/dist/esm/components/VennDiagramSVG.d.ts.map +1 -0
- package/dist/esm/components/VennDiagramSVG.js +122 -0
- package/dist/esm/components/VennDiagramSVG.js.map +1 -0
- package/dist/esm/components/index.d.ts +3 -0
- package/dist/esm/components/index.d.ts.map +1 -0
- package/dist/esm/examples/KeywordGapDashboard.d.ts +3 -0
- package/dist/esm/examples/KeywordGapDashboard.d.ts.map +1 -0
- package/dist/esm/hooks/index.d.ts +2 -0
- package/dist/esm/hooks/index.d.ts.map +1 -0
- package/dist/esm/hooks/useVennLayout.d.ts +13 -0
- package/dist/esm/hooks/useVennLayout.d.ts.map +1 -0
- package/dist/esm/hooks/useVennLayout.js +110 -0
- package/dist/esm/hooks/useVennLayout.js.map +1 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js +1344 -0
- package/dist/esm/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js +25 -0
- package/dist/esm/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js +14 -0
- package/dist/esm/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js.map +1 -0
- package/dist/esm/styles/VennDiagram.module.css.js +4 -0
- package/dist/esm/styles/VennDiagram.module.css.js.map +1 -0
- package/dist/esm/styles/index.css +162 -0
- package/dist/esm/styles/index.css.map +1 -0
- package/dist/esm/types/venn.types.d.ts +68 -0
- package/dist/esm/types/venn.types.d.ts.map +1 -0
- package/dist/esm/utils/colorScheme.d.ts +3 -0
- package/dist/esm/utils/colorScheme.d.ts.map +1 -0
- package/dist/esm/utils/colorScheme.js +42 -0
- package/dist/esm/utils/colorScheme.js.map +1 -0
- package/dist/esm/utils/index.d.ts +2 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/package.json +101 -0
package/README.md
ADDED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VennDiagram.d.ts","sourceRoot":"","sources":["../../../src/components/VennDiagram.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAA0B,MAAM,qBAAqB,CAAC;AA6B/E,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8KlD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VennDiagramContext.d.ts","sourceRoot":"","sources":["../../../src/components/VennDiagramContext.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAO7D,eAAO,MAAM,kBAAkB,wDAE9B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CircleLayout } from "../types/venn.types";
|
|
3
|
+
interface VennDiagramSVGProps {
|
|
4
|
+
layout: CircleLayout[];
|
|
5
|
+
textPositions: Array<{
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
setNames: string[];
|
|
9
|
+
}>;
|
|
10
|
+
width: number;
|
|
11
|
+
height: number;
|
|
12
|
+
onClick?: (setNames: string[]) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const VennDiagramSVG: React.FC<VennDiagramSVGProps>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=VennDiagramSVG.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VennDiagramSVG.d.ts","sourceRoot":"","sources":["../../../src/components/VennDiagramSVG.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,UAAU,mBAAmB;IAC3B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,aAAa,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACxC;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA0KxD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeywordGapDashboard.d.ts","sourceRoot":"","sources":["../../../src/examples/KeywordGapDashboard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAQxC,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAkEvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { VennData, UseVennLayoutReturn } from "../types/venn.types";
|
|
2
|
+
interface UseVennLayoutOptions {
|
|
3
|
+
width?: number;
|
|
4
|
+
height?: number;
|
|
5
|
+
padding?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const useVennLayout: (data: VennData, options?: UseVennLayoutOptions) => UseVennLayoutReturn;
|
|
8
|
+
export declare const useResponsiveVennSize: (containerRef: React.RefObject<HTMLDivElement>, defaultWidth?: number, defaultHeight?: number) => {
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=useVennLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVennLayout.d.ts","sourceRoot":"","sources":["../../../src/hooks/useVennLayout.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EAER,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAE7B,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,eAAO,MAAM,aAAa,GACxB,MAAM,QAAQ,EACd,UAAS,oBAAyB,KACjC,mBAwFF,CAAC;AAKF,eAAO,MAAM,qBAAqB,GAChC,cAAc,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EAC7C,eAAc,MAAY,EAC1B,gBAAe,MAAY;;;CAiC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
export interface VennSet {
|
|
3
|
+
name: string;
|
|
4
|
+
label?: ReactNode;
|
|
5
|
+
color?: string;
|
|
6
|
+
size: number;
|
|
7
|
+
}
|
|
8
|
+
export interface VennIntersection {
|
|
9
|
+
sets: string[];
|
|
10
|
+
size: number;
|
|
11
|
+
label?: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export interface VennData {
|
|
14
|
+
sets: VennSet[];
|
|
15
|
+
intersections: VennIntersection[];
|
|
16
|
+
}
|
|
17
|
+
export interface CircleLayout {
|
|
18
|
+
x: number;
|
|
19
|
+
y: number;
|
|
20
|
+
radius: number;
|
|
21
|
+
set: string;
|
|
22
|
+
}
|
|
23
|
+
export interface VennDiagramConfig {
|
|
24
|
+
width?: number;
|
|
25
|
+
height?: number;
|
|
26
|
+
renderer?: "svg" | "canvas";
|
|
27
|
+
showLabels?: boolean;
|
|
28
|
+
showValues?: boolean;
|
|
29
|
+
showLegend?: boolean;
|
|
30
|
+
colorScheme?: string[];
|
|
31
|
+
animated?: boolean;
|
|
32
|
+
hoverOpacity?: number;
|
|
33
|
+
interactive?: boolean;
|
|
34
|
+
responsive?: boolean;
|
|
35
|
+
padding?: number;
|
|
36
|
+
textFill?: string;
|
|
37
|
+
strokeWidth?: number;
|
|
38
|
+
formatValue?: (value: number) => string;
|
|
39
|
+
formatLabel?: (label: string) => string;
|
|
40
|
+
}
|
|
41
|
+
export interface VennDiagramProps extends VennDiagramConfig {
|
|
42
|
+
data: VennData;
|
|
43
|
+
className?: string;
|
|
44
|
+
style?: React.CSSProperties;
|
|
45
|
+
onSetHover?: (setNames: string[] | null) => void;
|
|
46
|
+
onClick?: (setNames: string[]) => void;
|
|
47
|
+
testId?: string;
|
|
48
|
+
}
|
|
49
|
+
export interface UseVennLayoutReturn {
|
|
50
|
+
layout: CircleLayout[];
|
|
51
|
+
paths: string[];
|
|
52
|
+
textPositions: Array<{
|
|
53
|
+
x: number;
|
|
54
|
+
y: number;
|
|
55
|
+
setNames: string[];
|
|
56
|
+
}>;
|
|
57
|
+
error: Error | null;
|
|
58
|
+
isLoading: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface VennDiagramContextType {
|
|
61
|
+
data: VennData;
|
|
62
|
+
config: VennDiagramConfig;
|
|
63
|
+
hoveredSets: string[] | null;
|
|
64
|
+
setHoveredSets: (sets: string[] | null) => void;
|
|
65
|
+
selectedSets: string[] | null;
|
|
66
|
+
setSelectedSets: (sets: string[] | null) => void;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=venn.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"venn.types.d.ts","sourceRoot":"","sources":["../../../src/types/venn.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKlC,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAKD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAKD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,aAAa,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAKD,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAKD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC;AAKD,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACnE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAKD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;CAClD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorScheme.d.ts","sourceRoot":"","sources":["../../../src/utils/colorScheme.ts"],"names":[],"mappings":"AA+BA,eAAO,MAAM,cAAc,GACzB,aAAa,MAAM,EACnB,SAAQ,SAAS,GAAG,QAAQ,GAAG,MAAkB,KAChD,MAAM,EAQR,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,YAAY,MAAM,EAClB,YAAY,MAAM,KACjB,OAmCF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|