react-pivottable-plus 1.0.0 → 1.0.2
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/LICENSE +21 -21
- package/PivotTable.js.map +1 -1
- package/PivotTableUI.js +261 -191
- package/PivotTableUI.js.map +1 -1
- package/PlotlyRenderers.js.map +1 -1
- package/README.md +93 -94
- package/TableRenderers.js.map +1 -1
- package/Utilities.js +19 -13
- package/Utilities.js.map +1 -1
- package/grouping.css +111 -111
- package/hooks/usePivot.js +20 -15
- package/hooks/usePivot.js.map +1 -1
- package/package.json +105 -102
- package/pivottable.css +441 -441
- package/renderers/RadixUI.js.map +1 -1
- package/renderers/ShadcnDashboardUI.js.map +1 -1
- package/renderers/TailwindUI.js.map +1 -1
package/hooks/usePivot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePivot.js","names":["_react","require","_Utilities","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","n","l","iterator","u","f","next","done","isArray","usePivot","initialProps","initialPropsRef","useRef","useEffect","current","_useState","useState","data","rows","cols","vals","rowOrder","colOrder","aggregatorName","rendererName","valueFilter","sorters","derivedAttributes","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","pagination","pageSize","page","_useState2","props","setProps","_useState3","attrValues","materializedInput","unusedOrder","_useState4","state","setState","prev","recordsProcessed","PivotData","forEachRecord","record","_i","_Object$keys","attr","s","updateProp","useCallback","key","finalValue","v","trim","newProps","c","includes","setTimeout","onChange","toggleFilter","attribute","newValueFilter","setValuesInFilter","values","newFilter","reduce","actions","setUnusedOrder","order"],"sources":["../src/hooks/usePivot.js"],"sourcesContent":["import { useState, useMemo, useCallback, useEffect, useRef } from 'react';\r\nimport { PivotData } from '../Utilities';\r\n\r\nexport function usePivot(initialProps) {\r\n // Mantener una referencia a las props iniciales para evitar cierres de ámbito (closures) obsoletos\r\n const initialPropsRef = useRef(initialProps);\r\n useEffect(() => {\r\n initialPropsRef.current = initialProps;\r\n }, [initialProps]);\r\n\r\n const [props, setProps] = useState({\r\n data: [],\r\n rows: [],\r\n cols: [],\r\n vals: [],\r\n rowOrder: 'key_a_to_z',\r\n colOrder: 'key_a_to_z',\r\n aggregatorName: 'Count',\r\n rendererName: 'Table',\r\n valueFilter: {},\r\n sorters: {},\r\n derivedAttributes: {},\r\n hiddenAttributes: [],\r\n hiddenFromAggregators: [],\r\n hiddenFromDragDrop: [],\r\n pagination: false,\r\n pageSize: 20,\r\n page: 1,\r\n ...initialProps\r\n });\r\n\r\n const [state, setState] = useState({\r\n attrValues: {},\r\n materializedInput: [],\r\n unusedOrder: []\r\n });\r\n\r\n // Sincronizar props internas cuando cambian las externas, pero sin disparar onChange de vuelta\r\n useEffect(() => {\r\n setProps(prev => ({ ...prev, ...initialProps }));\r\n }, [initialProps.data, initialProps.rows, initialProps.cols, initialProps.rendererName, initialProps.aggregatorName, initialProps.page, initialProps.pageSize]);\r\n\r\n // Materializar la entrada\r\n useEffect(() => {\r\n const materializedInput = [];\r\n const attrValues = {};\r\n let recordsProcessed = 0;\r\n\r\n PivotData.forEachRecord(\r\n props.data,\r\n props.derivedAttributes,\r\n function(record) {\r\n materializedInput.push(record);\r\n for (const attr of Object.keys(record)) {\r\n if (!(attr in attrValues)) {\r\n attrValues[attr] = {};\r\n if (recordsProcessed > 0) {\r\n attrValues[attr].null = recordsProcessed;\r\n }\r\n }\r\n }\r\n for (const attr in attrValues) {\r\n const value = attr in record ? record[attr] : 'null';\r\n if (!(value in attrValues[attr])) {\r\n attrValues[attr][value] = 0;\r\n }\r\n attrValues[attr][value]++;\r\n }\r\n recordsProcessed++;\r\n }\r\n );\r\n\r\n setState(s => ({ ...s, attrValues, materializedInput }));\r\n }, [props.data, props.derivedAttributes]);\r\n\r\n const updateProp = useCallback((key, value) => {\r\n setProps(prev => {\r\n let finalValue = value;\r\n if (Array.isArray(value) && (key === 'rows' || key === 'cols' || key === 'vals')) {\r\n finalValue = value.filter(v => v && v.trim() !== '');\r\n }\r\n\r\n const newProps = { ...prev, [key]: finalValue };\r\n \r\n if (key === 'rows') {\r\n newProps.cols = prev.cols.filter(c => !finalValue.includes(c));\r\n } else if (key === 'cols') {\r\n newProps.rows = prev.rows.filter(r => !finalValue.includes(r));\r\n }\r\n\r\n // Programar el onChange en un microtask o después del renderizado para evitar el warning de Gallery\r\n setTimeout(() => {\r\n if (initialPropsRef.current.onChange) {\r\n initialPropsRef.current.onChange(newProps);\r\n }\r\n }, 0);\r\n\r\n return newProps;\r\n });\r\n }, []);\r\n\r\n const toggleFilter = useCallback((attribute, value) => {\r\n setProps(prev => {\r\n const filter = { ...prev.valueFilter[attribute] };\r\n if (value in filter) {\r\n delete filter[value];\r\n } else {\r\n filter[value] = true;\r\n }\r\n const newValueFilter = { ...prev.valueFilter, [attribute]: filter };\r\n const newProps = { ...prev, valueFilter: newValueFilter };\r\n \r\n setTimeout(() => {\r\n if (initialPropsRef.current.onChange) initialPropsRef.current.onChange(newProps);\r\n }, 0);\r\n\r\n return newProps;\r\n });\r\n }, []);\r\n\r\n const setValuesInFilter = useCallback((attribute, values) => {\r\n setProps(prev => {\r\n const newFilter = values.reduce((r, v) => {\r\n r[v] = true;\r\n return r;\r\n }, {});\r\n const newProps = { ...prev, valueFilter: { ...prev.valueFilter, [attribute]: newFilter } };\r\n \r\n setTimeout(() => {\r\n if (initialPropsRef.current.onChange) initialPropsRef.current.onChange(newProps);\r\n }, 0);\r\n\r\n return newProps;\r\n });\r\n }, []);\r\n\r\n return {\r\n props,\r\n state,\r\n actions: {\r\n setProps,\r\n updateProp,\r\n toggleFilter,\r\n setValuesInFilter,\r\n setUnusedOrder: (order) => setState(s => ({ ...s, unusedOrder: order }))\r\n }\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"usePivot.js","names":["_react","require","_Utilities","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","n","l","iterator","u","f","next","done","isArray","usePivot","initialProps","sanitizedInitialProps","reduce","acc","key","undefined","initialPropsRef","useRef","useEffect","current","_useState","useState","data","rows","cols","vals","rowOrder","colOrder","aggregatorName","rendererName","valueFilter","sorters","derivedAttributes","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","pagination","pageSize","page","_useState2","props","setProps","_useState3","attrValues","materializedInput","unusedOrder","_useState4","state","setState","sanitizedSync","prev","recordsProcessed","PivotData","forEachRecord","record","_i","_Object$keys","attr","s","updateProp","useCallback","finalValue","v","trim","newProps","c","includes","onChange","toggleFilter","attribute","newValueFilter","setValuesInFilter","values","newFilter","actions","setUnusedOrder","order"],"sources":["../src/hooks/usePivot.js"],"sourcesContent":["import { useState, useMemo, useCallback, useEffect, useRef } from 'react';\nimport { PivotData } from '../Utilities';\n\nexport function usePivot(initialProps) {\n const sanitizedInitialProps = Object.keys(initialProps).reduce((acc, key) => {\n if (initialProps[key] !== undefined) {\n acc[key] = initialProps[key];\n }\n return acc;\n }, {});\n\n // Mantener una referencia a las props iniciales para evitar cierres de ámbito (closures) obsoletos\n const initialPropsRef = useRef(initialProps);\n useEffect(() => {\n initialPropsRef.current = initialProps;\n }, [initialProps]);\n\n const [props, setProps] = useState({\n data: [],\n rows: [],\n cols: [],\n vals: [],\n rowOrder: 'key_a_to_z',\n colOrder: 'key_a_to_z',\n aggregatorName: 'Count',\n rendererName: 'Table',\n valueFilter: {},\n sorters: {},\n derivedAttributes: {},\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n pagination: false,\n pageSize: 20,\n page: 1,\n ...sanitizedInitialProps\n });\n\n const [state, setState] = useState({\n attrValues: {},\n materializedInput: [],\n unusedOrder: []\n });\n\n // Sincronizar props internas cuando cambian las externas, pero sin disparar onChange de vuelta\n useEffect(() => {\n const sanitizedSync = Object.keys(initialProps).reduce((acc, key) => {\n if (initialProps[key] !== undefined) {\n acc[key] = initialProps[key];\n }\n return acc;\n }, {});\n setProps(prev => ({ ...prev, ...sanitizedSync }));\n }, [initialProps.data, initialProps.rows, initialProps.cols, initialProps.rendererName, initialProps.aggregatorName, initialProps.page, initialProps.pageSize]);\n\n // Materializar la entrada\n useEffect(() => {\n const materializedInput = [];\n const attrValues = {};\n let recordsProcessed = 0;\n\n PivotData.forEachRecord(\n props.data,\n props.derivedAttributes,\n function(record) {\n materializedInput.push(record);\n for (const attr of Object.keys(record)) {\n if (!(attr in attrValues)) {\n attrValues[attr] = {};\n if (recordsProcessed > 0) {\n attrValues[attr].null = recordsProcessed;\n }\n }\n }\n for (const attr in attrValues) {\n const value = attr in record ? record[attr] : 'null';\n if (!(value in attrValues[attr])) {\n attrValues[attr][value] = 0;\n }\n attrValues[attr][value]++;\n }\n recordsProcessed++;\n }\n );\n\n setState(s => ({ ...s, attrValues, materializedInput }));\n }, [props.data, props.derivedAttributes]);\n\n const updateProp = useCallback((key, value) => {\n setProps(prev => {\n let finalValue = value;\n if (Array.isArray(value) && (key === 'rows' || key === 'cols' || key === 'vals')) {\n finalValue = value.filter(v => v && v.trim() !== '');\n }\n\n const newProps = { ...prev, [key]: finalValue };\n \n if (key === 'rows') {\n newProps.cols = prev.cols.filter(c => !finalValue.includes(c));\n } else if (key === 'cols') {\n newProps.rows = prev.rows.filter(r => !finalValue.includes(r));\n }\n\n if (initialPropsRef.current.onChange) {\n initialPropsRef.current.onChange(newProps);\n }\n\n return newProps;\n });\n }, []);\n\n const toggleFilter = useCallback((attribute, value) => {\n setProps(prev => {\n const filter = { ...prev.valueFilter[attribute] };\n if (value in filter) {\n delete filter[value];\n } else {\n filter[value] = true;\n }\n const newValueFilter = { ...prev.valueFilter, [attribute]: filter };\n const newProps = { ...prev, valueFilter: newValueFilter };\n \n if (initialPropsRef.current.onChange) initialPropsRef.current.onChange(newProps);\n\n return newProps;\n });\n }, []);\n\n const setValuesInFilter = useCallback((attribute, values) => {\n setProps(prev => {\n const newFilter = values.reduce((r, v) => {\n r[v] = true;\n return r;\n }, {});\n const newProps = { ...prev, valueFilter: { ...prev.valueFilter, [attribute]: newFilter } };\n \n if (initialPropsRef.current.onChange) initialPropsRef.current.onChange(newProps);\n\n return newProps;\n });\n }, []);\n\n return {\n props,\n state,\n actions: {\n setProps,\n updateProp,\n toggleFilter,\n setValuesInFilter,\n setUnusedOrder: (order) => setState(s => ({ ...s, unusedOrder: order }))\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,102 +1,105 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "react-pivottable-plus",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"type": "module",
|
|
5
|
-
"description": "A React-based pivot table with grouping and modern UI (Tailwind, Radix, Shadcn)",
|
|
6
|
-
"main": "PivotTableUI.js",
|
|
7
|
-
"files": [
|
|
8
|
-
"PivotTable.js",
|
|
9
|
-
"PivotTableUI.js",
|
|
10
|
-
"PlotlyRenderers.js",
|
|
11
|
-
"TableRenderers.js",
|
|
12
|
-
"SubtotalsRenderers.js",
|
|
13
|
-
"Utilities.js",
|
|
14
|
-
"renderers/",
|
|
15
|
-
"hooks/",
|
|
16
|
-
"PivotTable.js.map",
|
|
17
|
-
"PivotTableUI.js.map",
|
|
18
|
-
"PlotlyRenderers.js.map",
|
|
19
|
-
"TableRenderers.js.map",
|
|
20
|
-
"Utilities.js.map",
|
|
21
|
-
"pivottable.css",
|
|
22
|
-
"grouping.css"
|
|
23
|
-
],
|
|
24
|
-
"scripts": {
|
|
25
|
-
"dev": "vite",
|
|
26
|
-
"start": "npm run dev",
|
|
27
|
-
"test:eslint": "eslint src/*.js* && echo 'eslint: \\033[0;32m'PASS'\\033[0m'",
|
|
28
|
-
"test:eslint:fix": "eslint src/*.js* --fix",
|
|
29
|
-
"test:prettier": "prettier -l \"src/*.js*\" && echo 'prettier: \\033[0;32m'PASS'\\033[0m'",
|
|
30
|
-
"test:prettier:fix": "prettier --write \"src/*.js*\"",
|
|
31
|
-
"test:jest": "jest",
|
|
32
|
-
"test": "npm run test:eslint && npm run test:prettier && npm run test:jest",
|
|
33
|
-
"clean": "shx rm -rf __tests__ PivotTable.js* PivotTableUI.js* PlotlyRenderers.js* TableRenderers.js* Utilities.js* pivottable.css grouping.css",
|
|
34
|
-
"build": "npm run clean && shx cp src/pivottable.css . && shx cp src/grouping.css . && babel src --out-dir=. --source-maps --presets=@babel/preset-env,@babel/preset-react --plugins=babel-plugin-add-module-exports",
|
|
35
|
-
"build:examples": "vite build",
|
|
36
|
-
"doPublish": "npm run build && npm publish",
|
|
37
|
-
"postpublish": "npm run clean"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"react"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
"@
|
|
63
|
-
"@
|
|
64
|
-
"@
|
|
65
|
-
"@radix-ui/react-
|
|
66
|
-
"@radix-ui/react-
|
|
67
|
-
"@radix-ui/react-
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"react
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
"
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
"
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
"@babel/
|
|
87
|
-
"@
|
|
88
|
-
"@
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
|
|
102
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "react-pivottable-plus",
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "A React-based pivot table with grouping and modern UI (Tailwind, Radix, Shadcn)",
|
|
6
|
+
"main": "PivotTableUI.js",
|
|
7
|
+
"files": [
|
|
8
|
+
"PivotTable.js",
|
|
9
|
+
"PivotTableUI.js",
|
|
10
|
+
"PlotlyRenderers.js",
|
|
11
|
+
"TableRenderers.js",
|
|
12
|
+
"SubtotalsRenderers.js",
|
|
13
|
+
"Utilities.js",
|
|
14
|
+
"renderers/",
|
|
15
|
+
"hooks/",
|
|
16
|
+
"PivotTable.js.map",
|
|
17
|
+
"PivotTableUI.js.map",
|
|
18
|
+
"PlotlyRenderers.js.map",
|
|
19
|
+
"TableRenderers.js.map",
|
|
20
|
+
"Utilities.js.map",
|
|
21
|
+
"pivottable.css",
|
|
22
|
+
"grouping.css"
|
|
23
|
+
],
|
|
24
|
+
"scripts": {
|
|
25
|
+
"dev": "vite",
|
|
26
|
+
"start": "npm run dev",
|
|
27
|
+
"test:eslint": "eslint src/*.js* && echo 'eslint: \\033[0;32m'PASS'\\033[0m'",
|
|
28
|
+
"test:eslint:fix": "eslint src/*.js* --fix",
|
|
29
|
+
"test:prettier": "prettier -l \"src/*.js*\" && echo 'prettier: \\033[0;32m'PASS'\\033[0m'",
|
|
30
|
+
"test:prettier:fix": "prettier --write \"src/*.js*\"",
|
|
31
|
+
"test:jest": "jest",
|
|
32
|
+
"test": "npm run test:eslint && npm run test:prettier && npm run test:jest",
|
|
33
|
+
"clean": "shx rm -rf __tests__ PivotTable.js* PivotTableUI.js* PlotlyRenderers.js* TableRenderers.js* Utilities.js* pivottable.css grouping.css",
|
|
34
|
+
"build": "npm run clean && shx cp src/pivottable.css . && shx cp src/grouping.css . && babel src --out-dir=. --source-maps --presets=@babel/preset-env,@babel/preset-react --plugins=babel-plugin-add-module-exports",
|
|
35
|
+
"build:examples": "vite build",
|
|
36
|
+
"doPublish": "npm run build && npm publish",
|
|
37
|
+
"postpublish": "npm run clean",
|
|
38
|
+
"bump": "node scripts/bump-version.js patch",
|
|
39
|
+
"bump:minor": "node scripts/bump-version.js minor",
|
|
40
|
+
"bump:major": "node scripts/bump-version.js major"
|
|
41
|
+
},
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "git+https://github.com/jasp402/react-pivottable-plus.git"
|
|
45
|
+
},
|
|
46
|
+
"keywords": [
|
|
47
|
+
"react",
|
|
48
|
+
"pivottable",
|
|
49
|
+
"grouping",
|
|
50
|
+
"subtotals",
|
|
51
|
+
"tailwind",
|
|
52
|
+
"radix-ui",
|
|
53
|
+
"shadcn"
|
|
54
|
+
],
|
|
55
|
+
"author": "Jasp402 <https://github.com/jasp402>",
|
|
56
|
+
"license": "MIT",
|
|
57
|
+
"bugs": {
|
|
58
|
+
"url": "https://github.com/jasp402/react-pivottable-plus/issues"
|
|
59
|
+
},
|
|
60
|
+
"homepage": "https://github.com/jasp402/react-pivottable-plus#readme",
|
|
61
|
+
"dependencies": {
|
|
62
|
+
"@dnd-kit/core": "^6.3.1",
|
|
63
|
+
"@dnd-kit/sortable": "^10.0.0",
|
|
64
|
+
"@dnd-kit/utilities": "^3.2.2",
|
|
65
|
+
"@radix-ui/react-dialog": "^1.1.15",
|
|
66
|
+
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
67
|
+
"@radix-ui/react-label": "^2.1.8",
|
|
68
|
+
"@radix-ui/react-popover": "^1.1.15",
|
|
69
|
+
"@radix-ui/react-select": "^2.2.6",
|
|
70
|
+
"@radix-ui/react-slot": "^1.2.4",
|
|
71
|
+
"class-variance-authority": "^0.7.1",
|
|
72
|
+
"clsx": "^2.1.1",
|
|
73
|
+
"immutability-helper": "^2.3.1",
|
|
74
|
+
"lucide-react": "^0.575.0",
|
|
75
|
+
"prop-types": "^15.8.1",
|
|
76
|
+
"react-draggable": "^4.4.6",
|
|
77
|
+
"react-sortablejs": "^6.1.4",
|
|
78
|
+
"sortablejs": "^1.15.2",
|
|
79
|
+
"tailwind-merge": "^3.5.0"
|
|
80
|
+
},
|
|
81
|
+
"peerDependencies": {
|
|
82
|
+
"react": ">=19.0.0",
|
|
83
|
+
"react-dom": ">=19.0.0"
|
|
84
|
+
},
|
|
85
|
+
"devDependencies": {
|
|
86
|
+
"@babel/cli": "^7.28.6",
|
|
87
|
+
"@babel/core": "^7.24.0",
|
|
88
|
+
"@babel/preset-env": "^7.24.0",
|
|
89
|
+
"@babel/preset-react": "^7.24.0",
|
|
90
|
+
"@tailwindcss/vite": "^4.0.0",
|
|
91
|
+
"@vitejs/plugin-react": "^5.1.4",
|
|
92
|
+
"autoprefixer": "^10.4.18",
|
|
93
|
+
"babel-loader": "^9.1.3",
|
|
94
|
+
"babel-plugin-add-module-exports": "^1.0.4",
|
|
95
|
+
"postcss": "^8.4.35",
|
|
96
|
+
"prettier": "^3.2.5",
|
|
97
|
+
"react": "^19.0.0",
|
|
98
|
+
"react-dom": "^19.0.0",
|
|
99
|
+
"react-plotly.js": "^2.6.0",
|
|
100
|
+
"rimraf": "^6.1.3",
|
|
101
|
+
"shx": "^0.4.0",
|
|
102
|
+
"tailwindcss": "^4.0.0",
|
|
103
|
+
"vite": "^5.1.4"
|
|
104
|
+
}
|
|
105
|
+
}
|