@page-speed/venn-diagram 0.0.5 → 0.0.7
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/dist/cjs/esm/components/VennDiagram.d.ts.map +1 -1
- package/dist/cjs/esm/hooks/useVennLayout.d.ts.map +1 -1
- package/dist/cjs/index.js +65 -50
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/styles/index.css +8 -5
- package/dist/cjs/styles/index.css.map +1 -1
- package/dist/esm/components/VennDiagram.d.ts.map +1 -1
- package/dist/esm/components/VennDiagram.js +17 -14
- package/dist/esm/components/VennDiagram.js.map +1 -1
- package/dist/esm/hooks/useVennLayout.d.ts.map +1 -1
- package/dist/esm/hooks/useVennLayout.js +48 -36
- package/dist/esm/hooks/useVennLayout.js.map +1 -1
- package/dist/esm/styles/VennDiagram.module.css.js +1 -1
- package/dist/esm/styles/index.css +8 -5
- package/dist/esm/styles/index.css.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
.VennDiagram-
|
|
1
|
+
.VennDiagram-module_vennRoot__iCmDV {
|
|
2
2
|
position: relative;
|
|
3
|
-
display: flex;
|
|
4
|
-
flex-direction: column;
|
|
5
3
|
width: 100%;
|
|
6
|
-
height: 100%;
|
|
7
|
-
min-height: 300px;
|
|
8
4
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
|
|
9
5
|
"Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
|
|
10
6
|
sans-serif;
|
|
@@ -12,6 +8,13 @@
|
|
|
12
8
|
-moz-osx-font-smoothing: grayscale;
|
|
13
9
|
}
|
|
14
10
|
|
|
11
|
+
.VennDiagram-module_vennContainer__zE5Q4 {
|
|
12
|
+
position: relative;
|
|
13
|
+
width: 100%;
|
|
14
|
+
height: 100%;
|
|
15
|
+
min-height: 300px;
|
|
16
|
+
}
|
|
17
|
+
|
|
15
18
|
.VennDiagram-module_svg__8SEMM {
|
|
16
19
|
flex: 1;
|
|
17
20
|
max-width: 100%;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["VennDiagram.module.css"],"names":[],"mappings":"AAAA;EACE,kBAAkB;EAClB,
|
|
1
|
+
{"version":3,"sources":["VennDiagram.module.css"],"names":[],"mappings":"AAAA;EACE,kBAAkB;EAClB,WAAW;EACX;;cAEY;EACZ,mCAAmC;EACnC,kCAAkC;AACpC;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,iBAAiB;AACnB;;AAEA;EACE,OAAO;EACP,eAAe;EACf,gBAAgB;AAClB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,0EAA0E;EAC1E,aAAa;AACf;;AAEA;EACE,iBAAiB;EACjB,eAAe;AACjB;;AAEA;EACE,+BAA+B;EAC/B,mBAAmB;AACrB;;AAEA;EACE,eAAe;EACf,yCAAyC;AAC3C;;AAEA;EACE,oBAAoB;EACpB,iBAAiB;AACnB;;AAEA;EACE,gBAAgB;EAChB,eAAe;AACjB;;AAEA;EACE,eAAe;EACf,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,QAAQ;EACR,gBAAgB;EAChB,aAAa;EACb,qCAAqC;EACrC,kBAAkB;AACpB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,8BAA8B;EAC9B,iBAAiB;EACjB,sBAAsB;EACtB,kBAAkB;AACpB;;AAEA;EACE,eAAe;EACf,gBAAgB;AAClB;;AAEA;EACE,eAAe;EACf,gBAAgB;EAChB,yBAAyB;AAC3B;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,aAAa;EACb,cAAc;EACd,eAAe;EACf,kBAAkB;EAClB,yCAAyC;EACzC,kBAAkB;AACpB;;AAEA;EACE,cAAc;EACd,eAAe;EACf,YAAY;EACZ,qCAAqC;EACrC,kBAAkB;EAClB,wDAAwD;EACxD,eAAe;EACf,qBAAqB;AACvB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,yBAAyB;EACzB,eAAe;AACjB;;AAEA;EACE;;IAEE,gBAAgB;EAClB;AACF;;AAEA;EACE;IACE,iBAAiB;EACnB;;EAEA;IACE,gBAAgB;IAChB,aAAa;IACb,QAAQ;EACV;;EAEA;IACE,iBAAiB;EACnB;;EAEA;;IAEE,eAAe;EACjB;;EAEA;IACE,eAAe;EACjB;;EAEA;IACE,eAAe;EACjB;AACF","file":"styles/index.css","sourcesContent":[".vennRoot {\n position: relative;\n width: 100%;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.vennContainer {\n position: relative;\n width: 100%;\n height: 100%;\n min-height: 300px;\n}\n\n.svg {\n flex: 1;\n max-width: 100%;\n max-height: 100%;\n}\n\n.circleGroup {\n outline: none;\n}\n\n.circle {\n transition: fill-opacity 300ms ease-in-out, stroke-width 300ms ease-in-out;\n outline: none;\n}\n\n.circle:hover {\n fill-opacity: 0.6;\n stroke-width: 3;\n}\n\n.circle:focus {\n outline: 2px solid currentColor;\n outline-offset: 2px;\n}\n\n.circle.selected {\n stroke-width: 3;\n filter: drop-shadow(0 0 3px currentColor);\n}\n\n.labelGroup {\n pointer-events: none;\n user-select: none;\n}\n\n.value {\n font-weight: 600;\n font-size: 16px;\n}\n\n.label {\n font-size: 14px;\n font-weight: 500;\n}\n\n.legend {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 16px;\n padding: 12px;\n background-color: rgba(0, 0, 0, 0.02);\n border-radius: 8px;\n}\n\n.legendItem {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 12px;\n border-left: 4px solid;\n border-radius: 4px;\n}\n\n.legendLabel {\n font-size: 14px;\n font-weight: 500;\n}\n\n.legendValue {\n font-size: 14px;\n font-weight: 600;\n color: rgba(0, 0, 0, 0.6);\n}\n\n.error {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n padding: 20px;\n color: #dc2626;\n font-size: 14px;\n text-align: center;\n background-color: rgba(220, 38, 38, 0.05);\n border-radius: 8px;\n}\n\n.error code {\n display: block;\n margin-top: 8px;\n padding: 8px;\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 4px;\n font-family: \"Monaco\", \"Menlo\", \"Ubuntu Mono\", monospace;\n font-size: 12px;\n word-break: break-all;\n}\n\n.loading {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n color: rgba(0, 0, 0, 0.6);\n font-size: 14px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .circle,\n .labelGroup {\n transition: none;\n }\n}\n\n@media (max-width: 600px) {\n .vennContainer {\n min-height: 250px;\n }\n\n .legend {\n margin-top: 12px;\n padding: 10px;\n gap: 6px;\n }\n\n .legendItem {\n padding: 6px 10px;\n }\n\n .legendLabel,\n .legendValue {\n font-size: 12px;\n }\n\n .value {\n font-size: 14px;\n }\n\n .label {\n font-size: 12px;\n }\n}\n"]}
|
|
@@ -1 +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,
|
|
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,CAkLlD,CAAC"}
|
|
@@ -33,7 +33,7 @@ const VennDiagram = ({
|
|
|
33
33
|
const containerRef = useRef(null);
|
|
34
34
|
const [hoveredSets, setHoveredSets] = useState(null);
|
|
35
35
|
const [selectedSets, setSelectedSets] = useState(null);
|
|
36
|
-
const dimensions = useResponsiveVennSize(containerRef, width,
|
|
36
|
+
const dimensions = useResponsiveVennSize(containerRef, width, height);
|
|
37
37
|
const finalWidth = responsive ? dimensions.width : width;
|
|
38
38
|
const finalHeight = responsive ? dimensions.height : height;
|
|
39
39
|
const {
|
|
@@ -98,20 +98,23 @@ const VennDiagram = ({
|
|
|
98
98
|
return jsxRuntimeExports.jsx(VennDiagramContext.Provider, {
|
|
99
99
|
value: contextValue,
|
|
100
100
|
children: jsxRuntimeExports.jsxs("div", {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
style: {
|
|
104
|
-
width: responsive ? "100%" : finalWidth,
|
|
105
|
-
height: responsive ? "100%" : finalHeight,
|
|
106
|
-
...style
|
|
107
|
-
},
|
|
101
|
+
className: `${styles.vennRoot} ${className || ""}`,
|
|
102
|
+
style: style,
|
|
108
103
|
"data-testid": testId,
|
|
109
|
-
children: [
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
104
|
+
children: [jsxRuntimeExports.jsx("div", {
|
|
105
|
+
ref: containerRef,
|
|
106
|
+
className: styles.vennContainer,
|
|
107
|
+
style: {
|
|
108
|
+
width: responsive ? "100%" : finalWidth,
|
|
109
|
+
height: responsive ? "100%" : finalHeight
|
|
110
|
+
},
|
|
111
|
+
children: renderer === "svg" && jsxRuntimeExports.jsx(VennDiagramSVG, {
|
|
112
|
+
layout: layout,
|
|
113
|
+
textPositions: textPositions,
|
|
114
|
+
width: finalWidth,
|
|
115
|
+
height: finalHeight,
|
|
116
|
+
onClick: onClick
|
|
117
|
+
})
|
|
115
118
|
}), showLegend && jsxRuntimeExports.jsx("div", {
|
|
116
119
|
className: styles.legend,
|
|
117
120
|
children: data.sets.map((set, idx) => jsxRuntimeExports.jsxs("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VennDiagram.js","sources":["../../../../src/components/VennDiagram.tsx"],"sourcesContent":[null],"names":["VennDiagram","data","width","height","renderer","showLabels","showValues","showLegend","colorScheme","customColorScheme","animated","hoverOpacity","interactive","responsive","padding","textFill","strokeWidth","formatValue","formatLabel","className","style","onSetHover","onClick","testId","containerRef","useRef","hoveredSets","setHoveredSets","useState","selectedSets","setSelectedSets","dimensions","useResponsiveVennSize","
|
|
1
|
+
{"version":3,"file":"VennDiagram.js","sources":["../../../../src/components/VennDiagram.tsx"],"sourcesContent":[null],"names":["VennDiagram","data","width","height","renderer","showLabels","showValues","showLegend","colorScheme","customColorScheme","animated","hoverOpacity","interactive","responsive","padding","textFill","strokeWidth","formatValue","formatLabel","className","style","onSetHover","onClick","testId","containerRef","useRef","hoveredSets","setHoveredSets","useState","selectedSets","setSelectedSets","dimensions","useResponsiveVennSize","finalWidth","finalHeight","layout","textPositions","error","isLoading","useVennLayout","useMemo","getColorScheme","sets","length","contextValue","config","_jsxs","styles","role","undefined","children","_jsx","message","loading","VennDiagramContext","Provider","value","vennRoot","ref","vennContainer","VennDiagramSVG","legend","map","set","idx","legendItem","borderLeftColor","legendLabel","label","name","legendValue","size","displayName"],"mappings":"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"}
|
|
@@ -1 +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,
|
|
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,mBA2FF,CAAC;AAKF,eAAO,MAAM,qBAAqB,GAChC,cAAc,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EAC7C,eAAc,MAAY,EAC1B,gBAAe,MAAY;;;CAiC5B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useMemo, useState, useEffect } from 'react';
|
|
2
2
|
import { layout } from '../node_modules/.pnpm/@upsetjs_venn.js@2.0.0/node_modules/@upsetjs/venn.js/build/venn.esm.js';
|
|
3
3
|
|
|
4
4
|
const useVennLayout = (data, options = {}) => {
|
|
@@ -7,8 +7,6 @@ const useVennLayout = (data, options = {}) => {
|
|
|
7
7
|
height = 400,
|
|
8
8
|
padding = 40
|
|
9
9
|
} = options;
|
|
10
|
-
const [error, setError] = useState(null);
|
|
11
|
-
const [isLoading, setIsLoading] = useState(false);
|
|
12
10
|
const vennData = useMemo(() => {
|
|
13
11
|
const sets = data.sets.map(set => ({
|
|
14
12
|
sets: [set.name],
|
|
@@ -19,31 +17,60 @@ const useVennLayout = (data, options = {}) => {
|
|
|
19
17
|
size: intersection.size
|
|
20
18
|
}));
|
|
21
19
|
return [...sets, ...intersections];
|
|
22
|
-
}, [data]);
|
|
23
|
-
const
|
|
20
|
+
}, [data.sets, data.intersections]);
|
|
21
|
+
const {
|
|
22
|
+
layout: layout$1,
|
|
23
|
+
textPositions,
|
|
24
|
+
error
|
|
25
|
+
} = useMemo(() => {
|
|
24
26
|
try {
|
|
25
|
-
setIsLoading(true);
|
|
26
|
-
setError(null);
|
|
27
27
|
const computed = layout(vennData, {
|
|
28
|
-
width
|
|
29
|
-
height
|
|
28
|
+
width,
|
|
29
|
+
height,
|
|
30
|
+
padding
|
|
31
|
+
});
|
|
32
|
+
const circleLookup = new Map();
|
|
33
|
+
computed.forEach(entry => {
|
|
34
|
+
const sets = entry?.data?.sets;
|
|
35
|
+
const circles = entry?.circles;
|
|
36
|
+
if (Array.isArray(sets) && sets.length === 1 && Array.isArray(circles) && circles[0]) {
|
|
37
|
+
const circle = circles[0];
|
|
38
|
+
circleLookup.set(sets[0], {
|
|
39
|
+
x: circle.x ?? 0,
|
|
40
|
+
y: circle.y ?? 0,
|
|
41
|
+
radius: circle.radius ?? 0,
|
|
42
|
+
set: sets[0]
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
const circles = data.sets.map(set => {
|
|
47
|
+
return circleLookup.get(set.name) ?? {
|
|
48
|
+
x: 0,
|
|
49
|
+
y: 0,
|
|
50
|
+
radius: 0,
|
|
51
|
+
set: set.name
|
|
52
|
+
};
|
|
30
53
|
});
|
|
31
|
-
const
|
|
32
|
-
x:
|
|
33
|
-
y:
|
|
34
|
-
|
|
35
|
-
set: d.sets[0]
|
|
54
|
+
const positions = computed.filter(entry => entry?.text && entry?.data?.sets).map(entry => ({
|
|
55
|
+
x: entry.text?.x ?? 0,
|
|
56
|
+
y: entry.text?.y ?? 0,
|
|
57
|
+
setNames: Array.isArray(entry.data?.sets) ? entry.data.sets : []
|
|
36
58
|
}));
|
|
37
|
-
return
|
|
59
|
+
return {
|
|
60
|
+
layout: circles,
|
|
61
|
+
textPositions: positions,
|
|
62
|
+
error: null
|
|
63
|
+
};
|
|
38
64
|
} catch (err) {
|
|
39
65
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
40
|
-
setError(error);
|
|
41
66
|
console.error("Venn diagram layout error:", error);
|
|
42
|
-
return
|
|
43
|
-
|
|
44
|
-
|
|
67
|
+
return {
|
|
68
|
+
layout: [],
|
|
69
|
+
textPositions: [],
|
|
70
|
+
error
|
|
71
|
+
};
|
|
45
72
|
}
|
|
46
|
-
}, [vennData, width, height, padding]);
|
|
73
|
+
}, [vennData, width, height, padding, data.sets]);
|
|
47
74
|
const paths = useMemo(() => {
|
|
48
75
|
return layout$1.map(circle => {
|
|
49
76
|
const {
|
|
@@ -54,27 +81,12 @@ const useVennLayout = (data, options = {}) => {
|
|
|
54
81
|
return `M ${x - radius} ${y} A ${radius} ${radius} 0 1 0 ${x + radius} ${y} A ${radius} ${radius} 0 1 0 ${x - radius} ${y}`;
|
|
55
82
|
});
|
|
56
83
|
}, [layout$1]);
|
|
57
|
-
const textPositions = useMemo(() => {
|
|
58
|
-
try {
|
|
59
|
-
const computed = layout(vennData, {
|
|
60
|
-
width: width - padding * 2,
|
|
61
|
-
height: height - padding * 2
|
|
62
|
-
});
|
|
63
|
-
return computed.map(d => ({
|
|
64
|
-
x: padding + (d.x || 0) + (width - padding * 2) / 2,
|
|
65
|
-
y: padding + (d.y || 0) + (height - padding * 2) / 2,
|
|
66
|
-
setNames: d.sets
|
|
67
|
-
}));
|
|
68
|
-
} catch {
|
|
69
|
-
return [];
|
|
70
|
-
}
|
|
71
|
-
}, [vennData, width, height, padding]);
|
|
72
84
|
return {
|
|
73
85
|
layout: layout$1,
|
|
74
86
|
paths,
|
|
75
87
|
textPositions,
|
|
76
88
|
error,
|
|
77
|
-
isLoading
|
|
89
|
+
isLoading: false
|
|
78
90
|
};
|
|
79
91
|
};
|
|
80
92
|
const useResponsiveVennSize = (containerRef, defaultWidth = 600, defaultHeight = 400) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVennLayout.js","sources":["../../../../src/hooks/useVennLayout.ts"],"sourcesContent":[null],"names":["useVennLayout","data","options","width","height","padding","
|
|
1
|
+
{"version":3,"file":"useVennLayout.js","sources":["../../../../src/hooks/useVennLayout.ts"],"sourcesContent":[null],"names":["useVennLayout","data","options","width","height","padding","vennData","useMemo","sets","map","set","name","size","intersections","intersection","layout","textPositions","error","computed","venn","circleLookup","Map","forEach","entry","circles","Array","isArray","length","circle","x","y","radius","get","positions","filter","text","setNames","err","Error","String","console","paths","isLoading","useResponsiveVennSize","containerRef","defaultWidth","defaultHeight","dimensions","setDimensions","useState","useEffect","handleResize","current","offsetWidth","offsetHeight","resizeObserver","ResizeObserver","observe","disconnect"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var styles = {"vennContainer":"VennDiagram-module_vennContainer__zE5Q4","svg":"VennDiagram-module_svg__8SEMM","circleGroup":"VennDiagram-module_circleGroup__9MTB2","circle":"VennDiagram-module_circle__sXeUM","selected":"VennDiagram-module_selected__U2SLC","labelGroup":"VennDiagram-module_labelGroup__bbeK2","value":"VennDiagram-module_value__0wKIt","label":"VennDiagram-module_label__fsN9f","legend":"VennDiagram-module_legend__ZOQL5","legendItem":"VennDiagram-module_legendItem__G3upl","legendLabel":"VennDiagram-module_legendLabel__yK6aP","legendValue":"VennDiagram-module_legendValue__cuwMv","error":"VennDiagram-module_error__czgBP","loading":"VennDiagram-module_loading__8lTBq"};
|
|
1
|
+
var styles = {"vennRoot":"VennDiagram-module_vennRoot__iCmDV","vennContainer":"VennDiagram-module_vennContainer__zE5Q4","svg":"VennDiagram-module_svg__8SEMM","circleGroup":"VennDiagram-module_circleGroup__9MTB2","circle":"VennDiagram-module_circle__sXeUM","selected":"VennDiagram-module_selected__U2SLC","labelGroup":"VennDiagram-module_labelGroup__bbeK2","value":"VennDiagram-module_value__0wKIt","label":"VennDiagram-module_label__fsN9f","legend":"VennDiagram-module_legend__ZOQL5","legendItem":"VennDiagram-module_legendItem__G3upl","legendLabel":"VennDiagram-module_legendLabel__yK6aP","legendValue":"VennDiagram-module_legendValue__cuwMv","error":"VennDiagram-module_error__czgBP","loading":"VennDiagram-module_loading__8lTBq"};
|
|
2
2
|
|
|
3
3
|
export { styles as default };
|
|
4
4
|
//# sourceMappingURL=VennDiagram.module.css.js.map
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
.VennDiagram-
|
|
1
|
+
.VennDiagram-module_vennRoot__iCmDV {
|
|
2
2
|
position: relative;
|
|
3
|
-
display: flex;
|
|
4
|
-
flex-direction: column;
|
|
5
3
|
width: 100%;
|
|
6
|
-
height: 100%;
|
|
7
|
-
min-height: 300px;
|
|
8
4
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
|
|
9
5
|
"Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
|
|
10
6
|
sans-serif;
|
|
@@ -12,6 +8,13 @@
|
|
|
12
8
|
-moz-osx-font-smoothing: grayscale;
|
|
13
9
|
}
|
|
14
10
|
|
|
11
|
+
.VennDiagram-module_vennContainer__zE5Q4 {
|
|
12
|
+
position: relative;
|
|
13
|
+
width: 100%;
|
|
14
|
+
height: 100%;
|
|
15
|
+
min-height: 300px;
|
|
16
|
+
}
|
|
17
|
+
|
|
15
18
|
.VennDiagram-module_svg__8SEMM {
|
|
16
19
|
flex: 1;
|
|
17
20
|
max-width: 100%;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["VennDiagram.module.css"],"names":[],"mappings":"AAAA;EACE,kBAAkB;EAClB,
|
|
1
|
+
{"version":3,"sources":["VennDiagram.module.css"],"names":[],"mappings":"AAAA;EACE,kBAAkB;EAClB,WAAW;EACX;;cAEY;EACZ,mCAAmC;EACnC,kCAAkC;AACpC;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,iBAAiB;AACnB;;AAEA;EACE,OAAO;EACP,eAAe;EACf,gBAAgB;AAClB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,0EAA0E;EAC1E,aAAa;AACf;;AAEA;EACE,iBAAiB;EACjB,eAAe;AACjB;;AAEA;EACE,+BAA+B;EAC/B,mBAAmB;AACrB;;AAEA;EACE,eAAe;EACf,yCAAyC;AAC3C;;AAEA;EACE,oBAAoB;EACpB,iBAAiB;AACnB;;AAEA;EACE,gBAAgB;EAChB,eAAe;AACjB;;AAEA;EACE,eAAe;EACf,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,QAAQ;EACR,gBAAgB;EAChB,aAAa;EACb,qCAAqC;EACrC,kBAAkB;AACpB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,8BAA8B;EAC9B,iBAAiB;EACjB,sBAAsB;EACtB,kBAAkB;AACpB;;AAEA;EACE,eAAe;EACf,gBAAgB;AAClB;;AAEA;EACE,eAAe;EACf,gBAAgB;EAChB,yBAAyB;AAC3B;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,aAAa;EACb,cAAc;EACd,eAAe;EACf,kBAAkB;EAClB,yCAAyC;EACzC,kBAAkB;AACpB;;AAEA;EACE,cAAc;EACd,eAAe;EACf,YAAY;EACZ,qCAAqC;EACrC,kBAAkB;EAClB,wDAAwD;EACxD,eAAe;EACf,qBAAqB;AACvB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,yBAAyB;EACzB,eAAe;AACjB;;AAEA;EACE;;IAEE,gBAAgB;EAClB;AACF;;AAEA;EACE;IACE,iBAAiB;EACnB;;EAEA;IACE,gBAAgB;IAChB,aAAa;IACb,QAAQ;EACV;;EAEA;IACE,iBAAiB;EACnB;;EAEA;;IAEE,eAAe;EACjB;;EAEA;IACE,eAAe;EACjB;;EAEA;IACE,eAAe;EACjB;AACF","file":"styles/index.css","sourcesContent":[".vennRoot {\n position: relative;\n width: 100%;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.vennContainer {\n position: relative;\n width: 100%;\n height: 100%;\n min-height: 300px;\n}\n\n.svg {\n flex: 1;\n max-width: 100%;\n max-height: 100%;\n}\n\n.circleGroup {\n outline: none;\n}\n\n.circle {\n transition: fill-opacity 300ms ease-in-out, stroke-width 300ms ease-in-out;\n outline: none;\n}\n\n.circle:hover {\n fill-opacity: 0.6;\n stroke-width: 3;\n}\n\n.circle:focus {\n outline: 2px solid currentColor;\n outline-offset: 2px;\n}\n\n.circle.selected {\n stroke-width: 3;\n filter: drop-shadow(0 0 3px currentColor);\n}\n\n.labelGroup {\n pointer-events: none;\n user-select: none;\n}\n\n.value {\n font-weight: 600;\n font-size: 16px;\n}\n\n.label {\n font-size: 14px;\n font-weight: 500;\n}\n\n.legend {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 16px;\n padding: 12px;\n background-color: rgba(0, 0, 0, 0.02);\n border-radius: 8px;\n}\n\n.legendItem {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 12px;\n border-left: 4px solid;\n border-radius: 4px;\n}\n\n.legendLabel {\n font-size: 14px;\n font-weight: 500;\n}\n\n.legendValue {\n font-size: 14px;\n font-weight: 600;\n color: rgba(0, 0, 0, 0.6);\n}\n\n.error {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n padding: 20px;\n color: #dc2626;\n font-size: 14px;\n text-align: center;\n background-color: rgba(220, 38, 38, 0.05);\n border-radius: 8px;\n}\n\n.error code {\n display: block;\n margin-top: 8px;\n padding: 8px;\n background-color: rgba(0, 0, 0, 0.05);\n border-radius: 4px;\n font-family: \"Monaco\", \"Menlo\", \"Ubuntu Mono\", monospace;\n font-size: 12px;\n word-break: break-all;\n}\n\n.loading {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n color: rgba(0, 0, 0, 0.6);\n font-size: 14px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .circle,\n .labelGroup {\n transition: none;\n }\n}\n\n@media (max-width: 600px) {\n .vennContainer {\n min-height: 250px;\n }\n\n .legend {\n margin-top: 12px;\n padding: 10px;\n gap: 6px;\n }\n\n .legendItem {\n padding: 6px 10px;\n }\n\n .legendLabel,\n .legendValue {\n font-size: 12px;\n }\n\n .value {\n font-size: 14px;\n }\n\n .label {\n font-size: 12px;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@page-speed/venn-diagram",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"description": "Dynamic, data-driven Venn diagram component for React. Renders area-proportional Venn and Euler diagrams with interactive hover/click events.",
|
|
5
5
|
"author": "DashTrack Team",
|
|
6
6
|
"license": "MIT",
|