react-pivottable-plus 1.0.16 → 1.0.20

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.
@@ -47,7 +47,12 @@ function usePivot(initialProps) {
47
47
  return engineRef.current.subscribe(onStoreChange);
48
48
  }, []), (0, _react.useCallback)(function () {
49
49
  return engineRef.current.getSnapshot();
50
- }, []));
50
+ }, []),
51
+ // getSnapshot
52
+ (0, _react.useCallback)(function () {
53
+ return engineRef.current.getSnapshot();
54
+ }, []) // getServerSnapshot
55
+ );
51
56
  return {
52
57
  props: snapshot.props,
53
58
  state: snapshot.state,
@@ -1 +1 @@
1
- {"version":3,"file":"usePivot.js","names":["_react","require","_PivotEngine","_FilterModule","_PaginationModule","_SortModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","usePivot","initialProps","engineRef","useRef","current","PivotEngine","modules","FilterModule","PaginationModule","SortModule","useEffect","sanitized","allKeys","_i","_allKeys","key","undefined","stateManager","updateConfig","_notifyStateChanged","data","rows","cols","rendererName","aggregatorName","page","pageSize","snapshot","useSyncExternalStore","useCallback","onStoreChange","subscribe","getSnapshot","props","state","actions","setProps","newProps","gridApi","updateProp","setRows","setCols","toggleFilter","attr","setValuesInFilter","values","setFilter","addValuesToFilter","removeValuesFromFilter","setUnusedOrder","order","columnApi","core"],"sources":["../../src/hooks/usePivot.js"],"sourcesContent":["import { useRef, useSyncExternalStore, useCallback, useEffect } from 'react';\nimport { PivotEngine } from '../core/PivotEngine';\nimport { FilterModule } from '../modules/FilterModule';\nimport { PaginationModule } from '../modules/PaginationModule';\nimport { SortModule } from '../modules/SortModule';\n\n/**\n * usePivot — Hook de backward compatibility.\n * Internamente delega al nuevo PivotEngine con módulos por defecto.\n * Mantiene la API original: { props, state, actions }\n */\nexport function usePivot(initialProps) {\n const engineRef = useRef(null);\n\n if (!engineRef.current) {\n engineRef.current = new PivotEngine({\n ...initialProps,\n modules: [FilterModule, PaginationModule, SortModule],\n });\n }\n\n // Sincronizar props externas clave\n useEffect(() => {\n const sanitized = {};\n const allKeys = Object.keys(initialProps);\n for (const key of allKeys) {\n if (initialProps[key] !== undefined) {\n sanitized[key] = initialProps[key];\n }\n }\n engineRef.current.stateManager.updateConfig(sanitized);\n engineRef.current._notifyStateChanged();\n }, [\n initialProps.data,\n initialProps.rows,\n initialProps.cols,\n initialProps.rendererName,\n initialProps.aggregatorName,\n initialProps.page,\n initialProps.pageSize,\n ]);\n\n // Suscribirse a cambios del engine\n const snapshot = useSyncExternalStore(\n useCallback((onStoreChange) => engineRef.current.subscribe(onStoreChange), []),\n useCallback(() => engineRef.current.getSnapshot(), [])\n );\n\n return {\n props: snapshot.props,\n state: snapshot.state,\n actions: {\n setProps: (newProps) => engineRef.current.gridApi.updateConfig(newProps),\n updateProp: (key, value) => {\n if (key === 'rows') {\n engineRef.current.gridApi.setRows(value);\n } else if (key === 'cols') {\n engineRef.current.gridApi.setCols(value);\n } else {\n engineRef.current.gridApi.updateConfig({ [key]: value });\n }\n },\n toggleFilter: (attr, value) => engineRef.current.gridApi.toggleFilter(attr, value),\n setValuesInFilter: (attr, values) => engineRef.current.gridApi.setFilter(attr, values),\n addValuesToFilter: (attr, values) => engineRef.current.gridApi.addValuesToFilter(attr, values),\n removeValuesFromFilter: (attr, values) => engineRef.current.gridApi.removeValuesFromFilter(attr, values),\n setUnusedOrder: (order) => engineRef.current.gridApi.setUnusedOrder(order),\n },\n // Nuevo: exponer gridApi y columnApi\n gridApi: engineRef.current.gridApi,\n columnApi: engineRef.current.columnApi,\n core: engineRef.current, // Backward compat\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"usePivot.js","names":["_react","require","_PivotEngine","_FilterModule","_PaginationModule","_SortModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","usePivot","initialProps","engineRef","useRef","current","PivotEngine","modules","FilterModule","PaginationModule","SortModule","useEffect","sanitized","allKeys","_i","_allKeys","key","undefined","stateManager","updateConfig","_notifyStateChanged","data","rows","cols","rendererName","aggregatorName","page","pageSize","snapshot","useSyncExternalStore","useCallback","onStoreChange","subscribe","getSnapshot","props","state","actions","setProps","newProps","gridApi","updateProp","setRows","setCols","toggleFilter","attr","setValuesInFilter","values","setFilter","addValuesToFilter","removeValuesFromFilter","setUnusedOrder","order","columnApi","core"],"sources":["../../src/hooks/usePivot.js"],"sourcesContent":["import { useRef, useSyncExternalStore, useCallback, useEffect } from 'react';\nimport { PivotEngine } from '../core/PivotEngine';\nimport { FilterModule } from '../modules/FilterModule';\nimport { PaginationModule } from '../modules/PaginationModule';\nimport { SortModule } from '../modules/SortModule';\n\n/**\n * usePivot — Hook de backward compatibility.\n * Internamente delega al nuevo PivotEngine con módulos por defecto.\n * Mantiene la API original: { props, state, actions }\n */\nexport function usePivot(initialProps) {\n const engineRef = useRef(null);\n\n if (!engineRef.current) {\n engineRef.current = new PivotEngine({\n ...initialProps,\n modules: [FilterModule, PaginationModule, SortModule],\n });\n }\n\n // Sincronizar props externas clave\n useEffect(() => {\n const sanitized = {};\n const allKeys = Object.keys(initialProps);\n for (const key of allKeys) {\n if (initialProps[key] !== undefined) {\n sanitized[key] = initialProps[key];\n }\n }\n engineRef.current.stateManager.updateConfig(sanitized);\n engineRef.current._notifyStateChanged();\n }, [\n initialProps.data,\n initialProps.rows,\n initialProps.cols,\n initialProps.rendererName,\n initialProps.aggregatorName,\n initialProps.page,\n initialProps.pageSize,\n ]);\n\n // Suscribirse a cambios del engine\n const snapshot = useSyncExternalStore(\n useCallback((onStoreChange) => engineRef.current.subscribe(onStoreChange), []),\n useCallback(() => engineRef.current.getSnapshot(), []), // getSnapshot\n useCallback(() => engineRef.current.getSnapshot(), []) // getServerSnapshot\n );\n\n return {\n props: snapshot.props,\n state: snapshot.state,\n actions: {\n setProps: (newProps) => engineRef.current.gridApi.updateConfig(newProps),\n updateProp: (key, value) => {\n if (key === 'rows') {\n engineRef.current.gridApi.setRows(value);\n } else if (key === 'cols') {\n engineRef.current.gridApi.setCols(value);\n } else {\n engineRef.current.gridApi.updateConfig({ [key]: value });\n }\n },\n toggleFilter: (attr, value) => engineRef.current.gridApi.toggleFilter(attr, value),\n setValuesInFilter: (attr, values) => engineRef.current.gridApi.setFilter(attr, values),\n addValuesToFilter: (attr, values) => engineRef.current.gridApi.addValuesToFilter(attr, values),\n removeValuesFromFilter: (attr, values) => engineRef.current.gridApi.removeValuesFromFilter(attr, values),\n setUnusedOrder: (order) => engineRef.current.gridApi.setUnusedOrder(order),\n },\n // Nuevo: exponer gridApi y columnApi\n gridApi: engineRef.current.gridApi,\n columnApi: engineRef.current.columnApi,\n core: engineRef.current, // Backward compat\n };\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-pivottable-plus",
3
- "version": "1.0.16",
3
+ "version": "1.0.20",
4
4
  "description": "A React-based pivot table with grouping and modern UI (Tailwind, Radix, Shadcn)",
5
5
  "main": "dist/PivotTableUI.js",
6
6
  "module": "dist/PivotTableUI.js",
@@ -17,7 +17,8 @@
17
17
  "./modules/*": "./dist/modules/*.js",
18
18
  "./react/*": "./dist/react/*.js",
19
19
  "./pivottable.css": "./pivottable.css",
20
- "./grouping.css": "./grouping.css"
20
+ "./grouping.css": "./grouping.css",
21
+ "./package.json": "./package.json"
21
22
  },
22
23
  "files": [
23
24
  "dist/",
@@ -77,8 +78,6 @@
77
78
  "class-variance-authority": "^0.7.1",
78
79
  "clsx": "^2.1.1",
79
80
  "lucide-react": "^0.575.0",
80
- "nextra": "^3.3.1",
81
- "nextra-theme-docs": "^3.3.1",
82
81
  "prop-types": "^15.8.1",
83
82
  "react-draggable": "^4.4.6",
84
83
  "react-sortablejs": "^6.1.4",
@@ -86,8 +85,8 @@
86
85
  "tailwind-merge": "^3.5.0"
87
86
  },
88
87
  "peerDependencies": {
89
- "react": ">=19.0.0",
90
- "react-dom": ">=19.0.0"
88
+ "react": ">=18.0.0",
89
+ "react-dom": ">=18.0.0"
91
90
  },
92
91
  "devDependencies": {
93
92
  "@babel/cli": "^7.28.6",
@@ -98,6 +97,8 @@
98
97
  "@vitejs/plugin-react": "^5.1.4",
99
98
  "autoprefixer": "^10.4.18",
100
99
  "babel-loader": "^9.1.3",
100
+ "nextra": "^3.3.1",
101
+ "nextra-theme-docs": "^3.3.1",
101
102
  "postcss": "^8.4.35",
102
103
  "prettier": "^3.2.5",
103
104
  "react": "^19.0.0",
package/pivottable.css CHANGED
@@ -494,4 +494,60 @@ table.pvtTable tr.pvtEmptyRow .pvtRowNumber {
494
494
  .pvt-size-lg table.pvtTable td {
495
495
  --pvt-font-size: 14px !important;
496
496
  --pvt-row-height: 42px !important;
497
+ }
498
+
499
+ /* ─── Column Resize ───────────────────────────────────── */
500
+
501
+ /* Las th de cabecera deben ser position: relative para anclar el handle */
502
+ table.pvtTable thead th {
503
+ position: relative;
504
+ }
505
+
506
+ /* El handle es una franja interactiva en el borde derecho del th */
507
+ .pvtResizeHandle {
508
+ position: absolute;
509
+ right: 0;
510
+ top: 0;
511
+ bottom: 0;
512
+ width: 8px;
513
+ /* Ampliado para que sea más fácil de clickear */
514
+ cursor: col-resize;
515
+ user-select: none;
516
+ z-index: 10;
517
+ display: flex;
518
+ align-items: center;
519
+ justify-content: center;
520
+ }
521
+
522
+ /* El 'cosito' que se pone entre las lineas */
523
+ .pvtResizeHandle::after {
524
+ content: "";
525
+ width: 2px;
526
+ height: 50%;
527
+ background-color: var(--pvt-border-color);
528
+ border-radius: 2px;
529
+ transition: all 0.2s ease;
530
+ opacity: 0.6;
531
+ }
532
+
533
+ /* Muestra un indicador visual interactivo al hover */
534
+ .pvtResizeHandle:hover::after,
535
+ .pvtResizeHandle:active::after {
536
+ background-color: #119dff;
537
+ opacity: 1;
538
+ height: 100%;
539
+ width: 3px;
540
+ }
541
+
542
+ /* Durante el resize activo (clase en la tabla entera) */
543
+ table.pvtTable.pvtResizable {
544
+ width: max-content;
545
+ min-width: 100%;
546
+ }
547
+
548
+ /* Forzar cursor de resize mientras arrastras */
549
+ body.pvt-is-resizing,
550
+ body.pvt-is-resizing * {
551
+ cursor: col-resize !important;
552
+ user-select: none !important;
497
553
  }