@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.
Files changed (78) hide show
  1. package/README.md +0 -0
  2. package/dist/cjs/esm/components/VennDiagram.d.ts +4 -0
  3. package/dist/cjs/esm/components/VennDiagram.d.ts.map +1 -0
  4. package/dist/cjs/esm/components/VennDiagramContext.d.ts +3 -0
  5. package/dist/cjs/esm/components/VennDiagramContext.d.ts.map +1 -0
  6. package/dist/cjs/esm/components/VennDiagramSVG.d.ts +16 -0
  7. package/dist/cjs/esm/components/VennDiagramSVG.d.ts.map +1 -0
  8. package/dist/cjs/esm/components/index.d.ts +3 -0
  9. package/dist/cjs/esm/components/index.d.ts.map +1 -0
  10. package/dist/cjs/esm/examples/KeywordGapDashboard.d.ts +3 -0
  11. package/dist/cjs/esm/examples/KeywordGapDashboard.d.ts.map +1 -0
  12. package/dist/cjs/esm/hooks/index.d.ts +2 -0
  13. package/dist/cjs/esm/hooks/index.d.ts.map +1 -0
  14. package/dist/cjs/esm/hooks/useVennLayout.d.ts +13 -0
  15. package/dist/cjs/esm/hooks/useVennLayout.d.ts.map +1 -0
  16. package/dist/cjs/esm/index.d.ts +5 -0
  17. package/dist/cjs/esm/index.d.ts.map +1 -0
  18. package/dist/cjs/esm/types/venn.types.d.ts +68 -0
  19. package/dist/cjs/esm/types/venn.types.d.ts.map +1 -0
  20. package/dist/cjs/esm/utils/colorScheme.d.ts +3 -0
  21. package/dist/cjs/esm/utils/colorScheme.d.ts.map +1 -0
  22. package/dist/cjs/esm/utils/index.d.ts +2 -0
  23. package/dist/cjs/esm/utils/index.d.ts.map +1 -0
  24. package/dist/cjs/index.js +1796 -0
  25. package/dist/cjs/index.js.map +1 -0
  26. package/dist/cjs/styles/index.css +162 -0
  27. package/dist/cjs/styles/index.css.map +1 -0
  28. package/dist/esm/_virtual/jsx-runtime.js +4 -0
  29. package/dist/esm/_virtual/jsx-runtime.js.map +1 -0
  30. package/dist/esm/_virtual/react-jsx-runtime.development.js +4 -0
  31. package/dist/esm/_virtual/react-jsx-runtime.development.js.map +1 -0
  32. package/dist/esm/_virtual/react-jsx-runtime.production.min.js +4 -0
  33. package/dist/esm/_virtual/react-jsx-runtime.production.min.js.map +1 -0
  34. package/dist/esm/components/VennDiagram.d.ts +4 -0
  35. package/dist/esm/components/VennDiagram.d.ts.map +1 -0
  36. package/dist/esm/components/VennDiagram.js +137 -0
  37. package/dist/esm/components/VennDiagram.js.map +1 -0
  38. package/dist/esm/components/VennDiagramContext.d.ts +3 -0
  39. package/dist/esm/components/VennDiagramContext.d.ts.map +1 -0
  40. package/dist/esm/components/VennDiagramContext.js +7 -0
  41. package/dist/esm/components/VennDiagramContext.js.map +1 -0
  42. package/dist/esm/components/VennDiagramSVG.d.ts +16 -0
  43. package/dist/esm/components/VennDiagramSVG.d.ts.map +1 -0
  44. package/dist/esm/components/VennDiagramSVG.js +122 -0
  45. package/dist/esm/components/VennDiagramSVG.js.map +1 -0
  46. package/dist/esm/components/index.d.ts +3 -0
  47. package/dist/esm/components/index.d.ts.map +1 -0
  48. package/dist/esm/examples/KeywordGapDashboard.d.ts +3 -0
  49. package/dist/esm/examples/KeywordGapDashboard.d.ts.map +1 -0
  50. package/dist/esm/hooks/index.d.ts +2 -0
  51. package/dist/esm/hooks/index.d.ts.map +1 -0
  52. package/dist/esm/hooks/useVennLayout.d.ts +13 -0
  53. package/dist/esm/hooks/useVennLayout.d.ts.map +1 -0
  54. package/dist/esm/hooks/useVennLayout.js +110 -0
  55. package/dist/esm/hooks/useVennLayout.js.map +1 -0
  56. package/dist/esm/index.d.ts +5 -0
  57. package/dist/esm/index.d.ts.map +1 -0
  58. package/dist/esm/index.js +5 -0
  59. package/dist/esm/index.js.map +1 -0
  60. package/dist/esm/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js +1344 -0
  61. package/dist/esm/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -0
  62. package/dist/esm/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js +25 -0
  63. package/dist/esm/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +1 -0
  64. package/dist/esm/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js +14 -0
  65. package/dist/esm/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js.map +1 -0
  66. package/dist/esm/styles/VennDiagram.module.css.js +4 -0
  67. package/dist/esm/styles/VennDiagram.module.css.js.map +1 -0
  68. package/dist/esm/styles/index.css +162 -0
  69. package/dist/esm/styles/index.css.map +1 -0
  70. package/dist/esm/types/venn.types.d.ts +68 -0
  71. package/dist/esm/types/venn.types.d.ts.map +1 -0
  72. package/dist/esm/utils/colorScheme.d.ts +3 -0
  73. package/dist/esm/utils/colorScheme.d.ts.map +1 -0
  74. package/dist/esm/utils/colorScheme.js +42 -0
  75. package/dist/esm/utils/colorScheme.js.map +1 -0
  76. package/dist/esm/utils/index.d.ts +2 -0
  77. package/dist/esm/utils/index.d.ts.map +1 -0
  78. package/package.json +101 -0
package/README.md ADDED
Binary file
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { VennDiagramProps } from "../types/venn.types";
3
+ export declare const VennDiagram: React.FC<VennDiagramProps>;
4
+ //# sourceMappingURL=VennDiagram.d.ts.map
@@ -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,3 @@
1
+ import { VennDiagramContextType } from "../types/venn.types";
2
+ export declare const VennDiagramContext: import("react").Context<VennDiagramContextType | null>;
3
+ //# sourceMappingURL=VennDiagramContext.d.ts.map
@@ -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,3 @@
1
+ export * from "./VennDiagram";
2
+ export * from "./VennDiagramSVG";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ import React from "react";
2
+ export declare const KeywordGapDashboard: React.FC;
3
+ //# sourceMappingURL=KeywordGapDashboard.d.ts.map
@@ -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,2 @@
1
+ export * from "./useVennLayout";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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,5 @@
1
+ export * from "./components";
2
+ export * from "./hooks";
3
+ export * from "./types/venn.types";
4
+ export * from "./utils";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ export declare const getColorScheme: (circleCount: number, scheme?: "default" | "pastel" | "dark") => string[];
2
+ export declare const isAccessibleContrast: (foreground: string, background: string) => boolean;
3
+ //# sourceMappingURL=colorScheme.d.ts.map
@@ -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,2 @@
1
+ export * from "./colorScheme";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}