react-pivottable-plus 1.0.14 → 1.0.18

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 (59) hide show
  1. package/README.md +2 -0
  2. package/dist/PivotTableUI.js +147 -213
  3. package/dist/PivotTableUI.js.map +1 -1
  4. package/dist/TableRenderers.js +273 -49
  5. package/dist/TableRenderers.js.map +1 -1
  6. package/dist/core/CellPipeline.js +167 -0
  7. package/dist/core/CellPipeline.js.map +1 -0
  8. package/dist/core/ColumnEngine.js +299 -0
  9. package/dist/core/ColumnEngine.js.map +1 -0
  10. package/dist/core/EventBus.js +109 -0
  11. package/dist/core/EventBus.js.map +1 -0
  12. package/dist/core/ModuleRegistry.js +140 -0
  13. package/dist/core/ModuleRegistry.js.map +1 -0
  14. package/dist/core/PivotCore.js +254 -0
  15. package/dist/core/PivotCore.js.map +1 -0
  16. package/dist/core/PivotEngine.js +151 -0
  17. package/dist/core/PivotEngine.js.map +1 -0
  18. package/dist/core/StateManager.js +142 -0
  19. package/dist/core/StateManager.js.map +1 -0
  20. package/dist/core/VirtualScroller.js +138 -0
  21. package/dist/core/VirtualScroller.js.map +1 -0
  22. package/dist/core/api/ColumnApi.js +162 -0
  23. package/dist/core/api/ColumnApi.js.map +1 -0
  24. package/dist/core/api/GridApi.js +208 -0
  25. package/dist/core/api/GridApi.js.map +1 -0
  26. package/dist/core/index.js +89 -0
  27. package/dist/core/index.js.map +1 -0
  28. package/dist/core/rowModels/ClientSideRowModel.js +177 -0
  29. package/dist/core/rowModels/ClientSideRowModel.js.map +1 -0
  30. package/dist/core/rowModels/index.js +13 -0
  31. package/dist/core/rowModels/index.js.map +1 -0
  32. package/dist/hooks/useColumnResize.js +112 -0
  33. package/dist/hooks/useColumnResize.js.map +1 -0
  34. package/dist/hooks/usePivot.js +68 -155
  35. package/dist/hooks/usePivot.js.map +1 -1
  36. package/dist/modules/FilterModule.js +156 -0
  37. package/dist/modules/FilterModule.js.map +1 -0
  38. package/dist/modules/PaginationModule.js +115 -0
  39. package/dist/modules/PaginationModule.js.map +1 -0
  40. package/dist/modules/SortModule.js +88 -0
  41. package/dist/modules/SortModule.js.map +1 -0
  42. package/dist/modules/ThemeModule.js +83 -0
  43. package/dist/modules/ThemeModule.js.map +1 -0
  44. package/dist/modules/VirtualizationModule.js +89 -0
  45. package/dist/modules/VirtualizationModule.js.map +1 -0
  46. package/dist/modules/index.js +41 -0
  47. package/dist/modules/index.js.map +1 -0
  48. package/dist/react/index.js +13 -0
  49. package/dist/react/index.js.map +1 -0
  50. package/dist/react/usePivotGrid.js +116 -0
  51. package/dist/react/usePivotGrid.js.map +1 -0
  52. package/dist/renderers/RadixUI.js +1 -1
  53. package/dist/renderers/RadixUI.js.map +1 -1
  54. package/dist/renderers/ShadcnDashboardUI.js +1 -1
  55. package/dist/renderers/ShadcnDashboardUI.js.map +1 -1
  56. package/dist/renderers/TailwindUI.js +1 -1
  57. package/dist/renderers/TailwindUI.js.map +1 -1
  58. package/package.json +8 -5
  59. package/pivottable.css +69 -12
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.VirtualizationModule = VirtualizationModule;
7
+ var _VirtualScroller = require("../core/VirtualScroller");
8
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
13
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
+ /**
15
+ * VirtualizationModule — Módulo de virtualización registrable.
16
+ *
17
+ * Expone en GridApi:
18
+ * - setRowHeight(height)
19
+ * - setColWidth(width)
20
+ * - setOverscan(rows, cols)
21
+ * - setContainerSize(height, width)
22
+ * - setVirtualizationEnabled(enabled)
23
+ * - getVirtualScroller()
24
+ */
25
+ function VirtualizationModule() {
26
+ var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
27
+ return {
28
+ id: 'virtualization',
29
+ _engine: null,
30
+ _scroller: null,
31
+ init: function init(engine) {
32
+ this._engine = engine;
33
+ this._scroller = new _VirtualScroller.VirtualScroller(config);
34
+ },
35
+ getApi: function getApi() {
36
+ var self = this;
37
+ return {
38
+ setRowHeight: function setRowHeight(height) {
39
+ self._scroller.updateConfig({
40
+ rowHeight: height
41
+ });
42
+ self._engine._notifyStateChanged();
43
+ },
44
+ setColWidth: function setColWidth(width) {
45
+ self._scroller.updateConfig({
46
+ colWidth: width
47
+ });
48
+ self._engine._notifyStateChanged();
49
+ },
50
+ setOverscan: function setOverscan(rows, cols) {
51
+ self._scroller.updateConfig(_objectSpread({
52
+ overscanRows: rows
53
+ }, cols !== undefined ? {
54
+ overscanCols: cols
55
+ } : {}));
56
+ self._engine._notifyStateChanged();
57
+ },
58
+ setContainerSize: function setContainerSize(height, width) {
59
+ self._scroller.updateConfig(_objectSpread({
60
+ containerHeight: height
61
+ }, width !== undefined ? {
62
+ containerWidth: width
63
+ } : {}));
64
+ self._engine._notifyStateChanged();
65
+ },
66
+ setVirtualizationEnabled: function setVirtualizationEnabled(enabled) {
67
+ self._scroller.updateConfig({
68
+ enabled: enabled
69
+ });
70
+ self._engine._notifyStateChanged();
71
+ },
72
+ setVirtualizationThreshold: function setVirtualizationThreshold(threshold) {
73
+ self._scroller.updateConfig({
74
+ threshold: threshold
75
+ });
76
+ self._engine._notifyStateChanged();
77
+ },
78
+ getVirtualScroller: function getVirtualScroller() {
79
+ return self._scroller;
80
+ }
81
+ };
82
+ },
83
+ destroy: function destroy() {
84
+ this._engine = null;
85
+ this._scroller = null;
86
+ }
87
+ };
88
+ }
89
+ //# sourceMappingURL=VirtualizationModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VirtualizationModule.js","names":["_VirtualScroller","require","_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","VirtualizationModule","config","undefined","id","_engine","_scroller","init","engine","VirtualScroller","getApi","self","setRowHeight","height","updateConfig","rowHeight","_notifyStateChanged","setColWidth","width","colWidth","setOverscan","rows","cols","overscanRows","overscanCols","setContainerSize","containerHeight","containerWidth","setVirtualizationEnabled","enabled","setVirtualizationThreshold","threshold","getVirtualScroller","destroy"],"sources":["../../src/modules/VirtualizationModule.js"],"sourcesContent":["import { VirtualScroller } from '../core/VirtualScroller';\n\n/**\n * VirtualizationModule — Módulo de virtualización registrable.\n *\n * Expone en GridApi:\n * - setRowHeight(height)\n * - setColWidth(width)\n * - setOverscan(rows, cols)\n * - setContainerSize(height, width)\n * - setVirtualizationEnabled(enabled)\n * - getVirtualScroller()\n */\nexport function VirtualizationModule(config = {}) {\n return {\n id: 'virtualization',\n _engine: null,\n _scroller: null,\n\n init(engine) {\n this._engine = engine;\n this._scroller = new VirtualScroller(config);\n },\n\n getApi() {\n const self = this;\n return {\n setRowHeight(height) {\n self._scroller.updateConfig({ rowHeight: height });\n self._engine._notifyStateChanged();\n },\n\n setColWidth(width) {\n self._scroller.updateConfig({ colWidth: width });\n self._engine._notifyStateChanged();\n },\n\n setOverscan(rows, cols) {\n self._scroller.updateConfig({\n overscanRows: rows,\n ...(cols !== undefined ? { overscanCols: cols } : {}),\n });\n self._engine._notifyStateChanged();\n },\n\n setContainerSize(height, width) {\n self._scroller.updateConfig({\n containerHeight: height,\n ...(width !== undefined ? { containerWidth: width } : {}),\n });\n self._engine._notifyStateChanged();\n },\n\n setVirtualizationEnabled(enabled) {\n self._scroller.updateConfig({ enabled });\n self._engine._notifyStateChanged();\n },\n\n setVirtualizationThreshold(threshold) {\n self._scroller.updateConfig({ threshold });\n self._engine._notifyStateChanged();\n },\n\n getVirtualScroller() {\n return self._scroller;\n },\n };\n },\n\n destroy() {\n this._engine = null;\n this._scroller = null;\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "FilterModule", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _FilterModule.FilterModule;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "PaginationModule", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _PaginationModule.PaginationModule;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "SortModule", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _SortModule.SortModule;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "ThemeModule", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _ThemeModule.ThemeModule;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "VirtualizationModule", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _VirtualizationModule.VirtualizationModule;
34
+ }
35
+ });
36
+ var _FilterModule = require("./FilterModule");
37
+ var _PaginationModule = require("./PaginationModule");
38
+ var _SortModule = require("./SortModule");
39
+ var _VirtualizationModule = require("./VirtualizationModule");
40
+ var _ThemeModule = require("./ThemeModule");
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_FilterModule","require","_PaginationModule","_SortModule","_VirtualizationModule","_ThemeModule"],"sources":["../../src/modules/index.js"],"sourcesContent":["export { FilterModule } from './FilterModule';\nexport { PaginationModule } from './PaginationModule';\nexport { SortModule } from './SortModule';\nexport { VirtualizationModule } from './VirtualizationModule';\nexport { ThemeModule } from './ThemeModule';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "usePivotGrid", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _usePivotGrid.usePivotGrid;
10
+ }
11
+ });
12
+ var _usePivotGrid = require("./usePivotGrid");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_usePivotGrid","require"],"sources":["../../src/react/index.js"],"sourcesContent":["export { usePivotGrid } from './usePivotGrid';\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.usePivotGrid = usePivotGrid;
8
+ var _react = require("react");
9
+ var _PivotEngine = require("../core/PivotEngine");
10
+ var _FilterModule = require("../modules/FilterModule");
11
+ var _PaginationModule = require("../modules/PaginationModule");
12
+ var _SortModule = require("../modules/SortModule");
13
+ var _excluded = ["modules"];
14
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
18
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
20
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
21
+ /**
22
+ * usePivotGrid — Hook principal para conectar PivotEngine con React.
23
+ *
24
+ * Uso:
25
+ * const { gridApi, columnApi, props, state } = usePivotGrid({
26
+ * data: [...],
27
+ * rows: ['Country'],
28
+ * cols: ['Year'],
29
+ * modules: [FilterModule, SortModule],
30
+ * });
31
+ *
32
+ * Si no se pasan modules, se incluyen FilterModule, PaginationModule, SortModule por defecto.
33
+ */
34
+ function usePivotGrid(config) {
35
+ var engineRef = (0, _react.useRef)(null);
36
+ if (!engineRef.current) {
37
+ var _config$modules = config.modules,
38
+ modules = _config$modules === void 0 ? [_FilterModule.FilterModule, _PaginationModule.PaginationModule, _SortModule.SortModule] : _config$modules,
39
+ restConfig = _objectWithoutProperties(config, _excluded);
40
+ engineRef.current = new _PivotEngine.PivotEngine(_objectSpread(_objectSpread({}, restConfig), {}, {
41
+ modules: modules
42
+ }));
43
+ }
44
+
45
+ // Sincronizar props externas cuando cambian
46
+ (0, _react.useEffect)(function () {
47
+ var sanitized = {};
48
+ var keysToSync = ['data', 'rows', 'cols', 'rendererName', 'aggregatorName', 'page', 'pageSize', 'vals'];
49
+ for (var _i = 0, _keysToSync = keysToSync; _i < _keysToSync.length; _i++) {
50
+ var key = _keysToSync[_i];
51
+ if (config[key] !== undefined) {
52
+ sanitized[key] = config[key];
53
+ }
54
+ }
55
+
56
+ // Pasar también renderers, aggregators, sorters si vienen
57
+ if (config.renderers) sanitized.renderers = config.renderers;
58
+ if (config.aggregators) sanitized.aggregators = config.aggregators;
59
+ if (config.sorters) sanitized.sorters = config.sorters;
60
+ if (config.onChange) sanitized.onChange = config.onChange;
61
+ if (config.pagination !== undefined) sanitized.pagination = config.pagination;
62
+ if (config.size) sanitized.size = config.size;
63
+ if (config.derivedAttributes) sanitized.derivedAttributes = config.derivedAttributes;
64
+ if (config.hiddenAttributes) sanitized.hiddenAttributes = config.hiddenAttributes;
65
+ if (config.hiddenFromAggregators) sanitized.hiddenFromAggregators = config.hiddenFromAggregators;
66
+ if (config.hiddenFromDragDrop) sanitized.hiddenFromDragDrop = config.hiddenFromDragDrop;
67
+ engineRef.current.stateManager.updateConfig(sanitized);
68
+ engineRef.current._notifyStateChanged();
69
+ }, [config.data, config.rows, config.cols, config.rendererName, config.aggregatorName, config.page, config.pageSize]);
70
+
71
+ // Suscribirse a cambios del engine via useSyncExternalStore
72
+ var snapshot = (0, _react.useSyncExternalStore)((0, _react.useCallback)(function (onStoreChange) {
73
+ return engineRef.current.subscribe(onStoreChange);
74
+ }, []), (0, _react.useCallback)(function () {
75
+ return engineRef.current.getSnapshot();
76
+ }, []));
77
+ return {
78
+ gridApi: engineRef.current.gridApi,
79
+ columnApi: engineRef.current.columnApi,
80
+ engine: engineRef.current,
81
+ // Backward-compatible shape:
82
+ props: snapshot.props,
83
+ state: snapshot.state,
84
+ // Convenience actions (delegates to gridApi, mantiene compatibilidad con usePivot)
85
+ actions: {
86
+ setProps: function setProps(newProps) {
87
+ return engineRef.current.gridApi.updateConfig(newProps);
88
+ },
89
+ updateProp: function updateProp(key, value) {
90
+ if (key === 'rows') {
91
+ engineRef.current.gridApi.setRows(value);
92
+ } else if (key === 'cols') {
93
+ engineRef.current.gridApi.setCols(value);
94
+ } else {
95
+ engineRef.current.gridApi.updateConfig(_defineProperty({}, key, value));
96
+ }
97
+ },
98
+ toggleFilter: function toggleFilter(attr, value) {
99
+ return engineRef.current.gridApi.toggleFilter(attr, value);
100
+ },
101
+ setValuesInFilter: function setValuesInFilter(attr, values) {
102
+ return engineRef.current.gridApi.setFilter(attr, values);
103
+ },
104
+ addValuesToFilter: function addValuesToFilter(attr, values) {
105
+ return engineRef.current.gridApi.addValuesToFilter(attr, values);
106
+ },
107
+ removeValuesFromFilter: function removeValuesFromFilter(attr, values) {
108
+ return engineRef.current.gridApi.removeValuesFromFilter(attr, values);
109
+ },
110
+ setUnusedOrder: function setUnusedOrder(order) {
111
+ return engineRef.current.gridApi.setUnusedOrder(order);
112
+ }
113
+ }
114
+ };
115
+ }
116
+ //# sourceMappingURL=usePivotGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePivotGrid.js","names":["_react","require","_PivotEngine","_FilterModule","_PaginationModule","_SortModule","_excluded","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","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","usePivotGrid","config","engineRef","useRef","current","_config$modules","modules","FilterModule","PaginationModule","SortModule","restConfig","PivotEngine","useEffect","sanitized","keysToSync","_i","_keysToSync","key","undefined","renderers","aggregators","sorters","onChange","pagination","size","derivedAttributes","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","stateManager","updateConfig","_notifyStateChanged","data","rows","cols","rendererName","aggregatorName","page","pageSize","snapshot","useSyncExternalStore","useCallback","onStoreChange","subscribe","getSnapshot","gridApi","columnApi","engine","props","state","actions","setProps","newProps","updateProp","setRows","setCols","toggleFilter","attr","setValuesInFilter","values","setFilter","addValuesToFilter","removeValuesFromFilter","setUnusedOrder","order"],"sources":["../../src/react/usePivotGrid.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 * usePivotGrid — Hook principal para conectar PivotEngine con React.\n *\n * Uso:\n * const { gridApi, columnApi, props, state } = usePivotGrid({\n * data: [...],\n * rows: ['Country'],\n * cols: ['Year'],\n * modules: [FilterModule, SortModule],\n * });\n *\n * Si no se pasan modules, se incluyen FilterModule, PaginationModule, SortModule por defecto.\n */\nexport function usePivotGrid(config) {\n const engineRef = useRef(null);\n\n if (!engineRef.current) {\n const {\n modules = [FilterModule, PaginationModule, SortModule],\n ...restConfig\n } = config;\n\n engineRef.current = new PivotEngine({\n ...restConfig,\n modules,\n });\n }\n\n // Sincronizar props externas cuando cambian\n useEffect(() => {\n const sanitized = {};\n const keysToSync = ['data', 'rows', 'cols', 'rendererName', 'aggregatorName', 'page', 'pageSize', 'vals'];\n for (const key of keysToSync) {\n if (config[key] !== undefined) {\n sanitized[key] = config[key];\n }\n }\n\n // Pasar también renderers, aggregators, sorters si vienen\n if (config.renderers) sanitized.renderers = config.renderers;\n if (config.aggregators) sanitized.aggregators = config.aggregators;\n if (config.sorters) sanitized.sorters = config.sorters;\n if (config.onChange) sanitized.onChange = config.onChange;\n if (config.pagination !== undefined) sanitized.pagination = config.pagination;\n if (config.size) sanitized.size = config.size;\n if (config.derivedAttributes) sanitized.derivedAttributes = config.derivedAttributes;\n if (config.hiddenAttributes) sanitized.hiddenAttributes = config.hiddenAttributes;\n if (config.hiddenFromAggregators) sanitized.hiddenFromAggregators = config.hiddenFromAggregators;\n if (config.hiddenFromDragDrop) sanitized.hiddenFromDragDrop = config.hiddenFromDragDrop;\n\n engineRef.current.stateManager.updateConfig(sanitized);\n engineRef.current._notifyStateChanged();\n }, [\n config.data,\n config.rows,\n config.cols,\n config.rendererName,\n config.aggregatorName,\n config.page,\n config.pageSize,\n ]);\n\n // Suscribirse a cambios del engine via useSyncExternalStore\n const snapshot = useSyncExternalStore(\n useCallback((onStoreChange) => engineRef.current.subscribe(onStoreChange), []),\n useCallback(() => engineRef.current.getSnapshot(), [])\n );\n\n return {\n gridApi: engineRef.current.gridApi,\n columnApi: engineRef.current.columnApi,\n engine: engineRef.current,\n // Backward-compatible shape:\n props: snapshot.props,\n state: snapshot.state,\n // Convenience actions (delegates to gridApi, mantiene compatibilidad con usePivot)\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 };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -295,7 +295,7 @@ function RadixUI(props) {
295
295
  },
296
296
  className: "flex flex-col gap-2 w-full min-h-[1.5rem]"
297
297
  }, rowList.map(renderAttribute))), /*#__PURE__*/_react["default"].createElement("div", {
298
- className: "pvtUi pvtSize-".concat(pivotProps.size || 'lg', " flex-1 w-full p-4 bg-slate-50/30 overflow-auto")
298
+ className: "pvtUi pvt-theme-".concat(pivotProps.theme || 'default', " pvt-size-").concat(pivotProps.size || 'lg', " flex-1 w-full p-4 bg-slate-50/30 overflow-auto")
299
299
  }, /*#__PURE__*/_react["default"].createElement(_PivotTable["default"], _extends({}, pivotProps, {
300
300
  data: pivotState.materializedInput
301
301
  })))), pivotProps.pagination && /*#__PURE__*/_react["default"].createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"RadixUI.js","names":["_react","_interopRequireWildcard","require","_usePivot2","Select","Popover","_lucideReact","_sortablejs","_interopRequireDefault","_PivotTable","_Utilities","_clsx","_tailwindMerge","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","iterator","isArray","cn","_len","inputs","_key","twMerge","clsx","DnDContainer","_ref","list","setList","className","children","el","useRef","setListRef","listRef","useEffect","current","sortable","_currentList","Sortable","create","group","ghostClass","animation","onEnd","evt","to","oldIndex","newIndex","item","itemId","getAttribute","remove","nextEl","insertBefore","appendChild","newOrder","splice","fromSortable","toSortable","_setList","sourceItems","id","targetItems","destroy","createElement","ref","style","listStyleType","padding","margin","minHeight","width","display","flexWrap","gap","React","Children","map","child","key","props","RadixSelect","_ref2","label","values","onChange","Root","onValueChange","Trigger","Value","Icon","ChevronDown","size","Portal","Content","Viewport","v","Item","ItemText","ItemIndicator","Check","RadixUI","_usePivot","usePivot","pivotProps","pivotState","state","actions","aggregatorName","rendererName","pivotData","PivotData","data","materializedInput","totalPivotRows","getRowKeys","totalRecords","totalPages","Math","ceil","pageSize","unusedList","attrValues","trim","rows","includes","cols","sort","sortAs","unusedOrder","colList","rowList","renderAttribute","attr","GripVertical","asChild","valueFilter","Filter","type","checked","toggleFilter","Arrow","renderers","updateProp","setUnusedOrder","aggregators","numInputs","vals","concat","pagination","disabled","page","onClick","ChevronsLeft","ChevronLeft","min","max","val","parseInt","target","ChevronRight","ChevronsRight"],"sources":["../../src/renderers/RadixUI.jsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport { usePivot } from '../hooks/usePivot';\nimport * as Select from '@radix-ui/react-select';\nimport * as Popover from '@radix-ui/react-popover';\nimport { ChevronDown, Filter, GripVertical, Check, Settings2, ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from 'lucide-react';\nimport Sortable from 'sortablejs';\nimport PivotTable from '../PivotTable';\nimport { PivotData, sortAs } from '../Utilities';\nimport clsx from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nfunction cn(...inputs) {\n return twMerge(clsx(inputs));\n}\n\nconst DnDContainer = ({ list, setList, className, children }) => {\n const el = useRef(null);\n const setListRef = useRef(setList);\n const listRef = useRef(list);\n\n useEffect(() => {\n setListRef.current = setList;\n }, [setList]);\n\n useEffect(() => {\n listRef.current = list;\n if (el.current && el.current.sortable) {\n el.current.sortable._currentList = list;\n }\n }, [list]);\n\n useEffect(() => {\n const sortable = Sortable.create(el.current, {\n group: 'shared',\n ghostClass: 'opacity-50',\n animation: 150,\n onEnd: (evt) => {\n const { from, to, oldIndex, newIndex, item } = evt;\n const itemId = item.getAttribute('data-id');\n\n // ── REVERSIÓN SÍNCRONA DEL DOM ──\n if (from !== to || oldIndex !== newIndex) {\n item.remove();\n const nextEl = from.children[oldIndex];\n if (nextEl) {\n from.insertBefore(item, nextEl);\n } else {\n from.appendChild(item);\n }\n }\n\n if (from === to) {\n // ── Reordenamiento interno ──\n const newOrder = [...listRef.current];\n newOrder.splice(oldIndex, 1);\n newOrder.splice(newIndex, 0, itemId);\n\n if (setListRef.current) {\n setListRef.current(newOrder);\n }\n } else {\n // ── Movimiento entre listas ──\n const fromSortable = from.sortable;\n const toSortable = to.sortable;\n\n if (fromSortable?._setList && toSortable?._setList) {\n const sourceItems = fromSortable._currentList.filter(id => id !== itemId);\n const targetItems = [...toSortable._currentList];\n targetItems.splice(newIndex, 0, itemId);\n\n fromSortable._setList(sourceItems);\n toSortable._setList(targetItems);\n }\n }\n },\n });\n\n el.current.sortable = sortable;\n sortable._setList = (newOrder) => {\n if (setListRef.current) {\n setListRef.current(newOrder);\n }\n };\n sortable._currentList = listRef.current;\n\n return () => sortable.destroy();\n }, []);\n\n return (\n <div className={className}>\n <ul\n ref={el}\n style={{\n listStyleType: 'none',\n padding: 0,\n margin: 0,\n minHeight: '1.5rem',\n width: '100%',\n display: 'flex',\n flexWrap: 'wrap',\n gap: '8px'\n }}\n >\n {React.Children.map(children, child => (\n <li key={child.key} data-id={child.props['data-id']}>\n {child}\n </li>\n ))}\n </ul>\n </div>\n );\n};\n\nconst RadixSelect = ({ label, value, values, onChange }) => (\n <div className=\"flex flex-col gap-1.5 min-w-[180px]\">\n <label className=\"text-[10px] font-black text-slate-400 uppercase tracking-widest\">{label}</label>\n <Select.Root value={value} onValueChange={onChange}>\n <Select.Trigger className=\"flex items-center justify-between w-full px-4 py-2 text-sm bg-white border border-slate-200 rounded-xl hover:border-blue-400 focus:ring-4 focus:ring-blue-500/10 outline-none transition-all shadow-sm\">\n <Select.Value />\n <Select.Icon><ChevronDown size={14} className=\"text-slate-400\" /></Select.Icon>\n </Select.Trigger>\n <Select.Portal>\n <Select.Content className=\"overflow-hidden bg-white rounded-2xl shadow-2xl border border-slate-100 z-[1000] animate-in fade-in zoom-in-95 duration-100\">\n <Select.Viewport className=\"p-2\">\n {values.map(v => (\n <Select.Item key={v} value={v} className=\"flex items-center gap-2 px-8 py-2.5 text-sm text-slate-700 rounded-lg cursor-default select-none hover:bg-blue-50 focus:bg-blue-50 outline-none relative transition-colors\">\n <Select.ItemText>{v}</Select.ItemText>\n <Select.ItemIndicator className=\"absolute left-2 flex items-center justify-center\"><Check size={14} className=\"text-blue-600\" /></Select.ItemIndicator>\n </Select.Item>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </div>\n);\n\nexport function RadixUI(props) {\n const { props: pivotProps, state: pivotState, actions } = usePivot(props);\n\n const aggregatorName = pivotProps.aggregatorName;\n const rendererName = pivotProps.rendererName;\n\n const pivotData = new PivotData({\n ...pivotProps,\n data: pivotState.materializedInput,\n });\n const totalPivotRows = pivotData.getRowKeys().length;\n const totalRecords = pivotState.materializedInput.length;\n const totalPages = Math.ceil(totalPivotRows / (pivotProps.pageSize || 20));\n\n const unusedList = Object.keys(pivotState.attrValues)\n .filter(e => e && e.trim() !== '' && !pivotProps.rows.includes(e) && !pivotProps.cols.includes(e))\n .sort(sortAs(pivotState.unusedOrder || []));\n\n const colList = pivotProps.cols.filter(e => e && e.trim() !== '');\n const rowList = pivotProps.rows.filter(e => e && e.trim() !== '');\n\n const renderAttribute = (attr) => (\n <div\n key={attr}\n className=\"inline-flex items-center gap-2 bg-white border border-slate-200 rounded-xl px-3 py-1.5 text-[13px] font-semibold text-slate-700 shadow-sm cursor-grab hover:bg-slate-50 transition-colors group\"\n data-id={attr}\n >\n <GripVertical size={14} className=\"text-slate-300 group-hover:text-slate-400 transition-colors\" />\n <span>{attr}</span>\n\n <Popover.Root>\n <Popover.Trigger asChild>\n <button className={cn(\"text-slate-400 hover:text-slate-600 focus:outline-none ml-1 flex items-center justify-center p-0.5 rounded-sm transition-colors\", pivotProps.valueFilter[attr] && \"text-blue-600\")}>\n <Filter size={14} />\n </button>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content className=\"w-72 p-6 bg-white rounded-3xl shadow-2xl border border-slate-100 z-[1000] outline-none\">\n <h4 className=\"font-black text-slate-900 text-xs uppercase tracking-widest mb-4\">Filtrar: {attr}</h4>\n <div className=\"max-h-60 overflow-y-auto space-y-2 mb-4 pr-2 custom-scrollbar\">\n {Object.keys(pivotState.attrValues[attr] || {}).map(v => (\n <div key={v} className=\"flex items-center gap-3 text-sm py-1.5 px-2 hover:bg-slate-50 rounded-lg transition-colors cursor-pointer\">\n <input type=\"checkbox\" checked={!(v in (pivotProps.valueFilter[attr] || {}))} onChange={() => actions.toggleFilter(attr, v)} className=\"rounded-md border-slate-300 text-blue-600 focus:ring-blue-500 w-4 h-4\" />\n <span className=\"text-slate-600 font-medium\">{v === 'null' ? <em>null</em> : v}</span>\n </div>\n ))}\n </div>\n <Popover.Arrow className=\"fill-white\" />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n </div>\n );\n\n return (\n <div className=\"flex flex-col bg-white border border-slate-200 rounded-lg overflow-hidden font-sans text-slate-800 text-sm shadow-sm\">\n {/* Row 1: Renderer Dropdown & Unused Attributes */}\n <div className=\"flex w-full border-b border-slate-200 min-h-[4rem]\">\n {/* Renderer */}\n <div className=\"w-[300px] p-4 border-r border-slate-200 bg-white flex flex-col justify-start flex-shrink-0\">\n <RadixSelect\n label=\"Visualización\"\n value={rendererName}\n values={Object.keys(pivotProps.renderers)}\n onChange={(v) => actions.updateProp('rendererName', v)}\n />\n </div>\n\n {/* Unused Attrs */}\n <div className=\"flex-1 p-4 bg-slate-50/80\">\n <DnDContainer\n list={unusedList}\n setList={(newOrder) => {\n actions.setUnusedOrder(newOrder);\n }}\n className=\"flex flex-wrap gap-2 w-full min-h-[1.5rem]\"\n >\n {unusedList.map(renderAttribute)}\n </DnDContainer>\n </div>\n </div>\n\n {/* Row 2: Aggregators & Column Attributes */}\n <div className=\"flex w-full border-b border-slate-200 min-h-[4rem]\">\n {/* Aggregators */}\n <div className=\"w-[300px] p-4 border-r border-slate-200 bg-slate-50/30 flex-shrink-0 flex items-start\">\n <div className=\"flex flex-col gap-2 w-full\">\n <div className=\"flex items-center gap-2\">\n <div className=\"flex-1\">\n <RadixSelect\n label=\"Agregador\"\n value={aggregatorName}\n values={Object.keys(pivotProps.aggregators)}\n onChange={(v) => actions.updateProp('aggregatorName', v)}\n />\n </div>\n\n <div className=\"flex items-center text-slate-600 gap-1.5 text-base leading-none\">\n <span className=\"cursor-pointer hover:text-slate-900 transition-colors\">↕</span>\n <span className=\"cursor-pointer hover:text-slate-900 transition-colors\">↔</span>\n </div>\n </div>\n\n {pivotProps.aggregators[aggregatorName]([])().numInputs > 0 && (\n <RadixSelect\n label=\"Atributo de Valor\"\n value={pivotProps.vals[0] || ''}\n values={Object.keys(pivotState.attrValues)}\n onChange={(v) => actions.updateProp('vals', [v])}\n />\n )}\n </div>\n </div>\n\n {/* Col Attrs */}\n <div className=\"flex-1 p-4 bg-white\">\n <DnDContainer\n list={colList}\n setList={(newOrder) => {\n actions.updateProp('cols', newOrder);\n }}\n className=\"flex flex-wrap gap-2 w-full min-h-[1.5rem]\"\n >\n {colList.map(renderAttribute)}\n </DnDContainer>\n </div>\n </div>\n\n {/* Row 3: Row Attributes & Table Data */}\n <div className=\"flex w-full min-h-[400px]\">\n {/* Row Attrs */}\n <div className=\"w-[300px] p-4 border-r border-slate-200 bg-white flex-shrink-0\">\n <DnDContainer\n list={rowList}\n setList={(newOrder) => {\n actions.updateProp('rows', newOrder);\n }}\n className=\"flex flex-col gap-2 w-full min-h-[1.5rem]\"\n >\n {rowList.map(renderAttribute)}\n </DnDContainer>\n </div>\n\n {/* Table Output */}\n <div className={`pvtUi pvtSize-${pivotProps.size || 'lg'} flex-1 w-full p-4 bg-slate-50/30 overflow-auto`}>\n <PivotTable {...pivotProps} data={pivotState.materializedInput} />\n </div>\n </div>\n\n {/* Footer: Totals and Pagination */}\n {pivotProps.pagination && (\n <div className=\"flex items-center justify-between px-6 py-3 border-t border-slate-200 bg-white text-slate-600\">\n <div className=\"text-[13px] font-medium\">\n Registros: <span className=\"text-slate-900\">{totalRecords}</span> | Filas: <span className=\"text-slate-900\">{totalPivotRows}</span>\n </div>\n\n <div className=\"flex items-center gap-6\">\n <div className=\"flex items-center gap-1.5\">\n <button\n className=\"p-1 rounded-md hover:bg-slate-100 disabled:opacity-30 disabled:cursor-not-allowed transition-colors\"\n disabled={pivotProps.page <= 1}\n onClick={() => actions.updateProp('page', 1)}\n >\n <ChevronsLeft size={18} />\n </button>\n <button\n className=\"p-1 rounded-md hover:bg-slate-100 disabled:opacity-30 disabled:cursor-not-allowed transition-colors\"\n disabled={pivotProps.page <= 1}\n onClick={() => actions.updateProp('page', pivotProps.page - 1)}\n >\n <ChevronLeft size={18} />\n </button>\n\n <div className=\"flex items-center gap-2 mx-1\">\n <span className=\"text-[13px] font-medium\">Página</span>\n <input\n type=\"number\"\n className=\"w-12 h-8 text-center border border-slate-300 rounded-md text-[13px] font-semibold text-slate-900 focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 outline-none\"\n value={pivotProps.page}\n min={1}\n max={totalPages}\n onChange={(e) => {\n const val = parseInt(e.target.value, 10);\n if (val > 0 && val <= totalPages) {\n actions.updateProp('page', val);\n }\n }}\n />\n <span className=\"text-[13px] font-medium text-slate-400\">de {totalPages}</span>\n </div>\n\n <button\n className=\"p-1 rounded-md hover:bg-slate-100 disabled:opacity-30 disabled:cursor-not-allowed transition-colors\"\n disabled={pivotProps.page >= totalPages}\n onClick={() => actions.updateProp('page', pivotProps.page + 1)}\n >\n <ChevronRight size={18} />\n </button>\n <button\n className=\"p-1 rounded-md hover:bg-slate-100 disabled:opacity-30 disabled:cursor-not-allowed transition-colors\"\n disabled={pivotProps.page >= totalPages}\n onClick={() => actions.updateProp('page', totalPages)}\n >\n <ChevronsRight size={18} />\n </button>\n </div>\n\n <div className=\"flex items-center gap-2 border-l border-slate-200 pl-6\">\n <span className=\"text-[13px] font-medium text-slate-400\">Mostrar</span>\n <select\n className=\"text-[13px] font-semibold border border-slate-300 rounded-md px-2 py-1 focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 outline-none hover:border-slate-400 bg-white text-slate-900\"\n value={pivotProps.pageSize}\n onChange={(e) => {\n actions.updateProp('pageSize', parseInt(e.target.value, 10));\n actions.updateProp('page', 1);\n }}\n >\n {[10, 20, 50, 100].map(n => (\n <option key={n} value={n}>\n {n}\n </option>\n ))}\n </select>\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"RadixUI.js","names":["_react","_interopRequireWildcard","require","_usePivot2","Select","Popover","_lucideReact","_sortablejs","_interopRequireDefault","_PivotTable","_Utilities","_clsx","_tailwindMerge","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","iterator","isArray","cn","_len","inputs","_key","twMerge","clsx","DnDContainer","_ref","list","setList","className","children","el","useRef","setListRef","listRef","useEffect","current","sortable","_currentList","Sortable","create","group","ghostClass","animation","onEnd","evt","to","oldIndex","newIndex","item","itemId","getAttribute","remove","nextEl","insertBefore","appendChild","newOrder","splice","fromSortable","toSortable","_setList","sourceItems","id","targetItems","destroy","createElement","ref","style","listStyleType","padding","margin","minHeight","width","display","flexWrap","gap","React","Children","map","child","key","props","RadixSelect","_ref2","label","values","onChange","Root","onValueChange","Trigger","Value","Icon","ChevronDown","size","Portal","Content","Viewport","v","Item","ItemText","ItemIndicator","Check","RadixUI","_usePivot","usePivot","pivotProps","pivotState","state","actions","aggregatorName","rendererName","pivotData","PivotData","data","materializedInput","totalPivotRows","getRowKeys","totalRecords","totalPages","Math","ceil","pageSize","unusedList","attrValues","trim","rows","includes","cols","sort","sortAs","unusedOrder","colList","rowList","renderAttribute","attr","GripVertical","asChild","valueFilter","Filter","type","checked","toggleFilter","Arrow","renderers","updateProp","setUnusedOrder","aggregators","numInputs","vals","concat","theme","pagination","disabled","page","onClick","ChevronsLeft","ChevronLeft","min","max","val","parseInt","target","ChevronRight","ChevronsRight"],"sources":["../../src/renderers/RadixUI.jsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport { usePivot } from '../hooks/usePivot';\nimport * as Select from '@radix-ui/react-select';\nimport * as Popover from '@radix-ui/react-popover';\nimport { ChevronDown, Filter, GripVertical, Check, Settings2, ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from 'lucide-react';\nimport Sortable from 'sortablejs';\nimport PivotTable from '../PivotTable';\nimport { PivotData, sortAs } from '../Utilities';\nimport clsx from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nfunction cn(...inputs) {\n return twMerge(clsx(inputs));\n}\n\nconst DnDContainer = ({ list, setList, className, children }) => {\n const el = useRef(null);\n const setListRef = useRef(setList);\n const listRef = useRef(list);\n\n useEffect(() => {\n setListRef.current = setList;\n }, [setList]);\n\n useEffect(() => {\n listRef.current = list;\n if (el.current && el.current.sortable) {\n el.current.sortable._currentList = list;\n }\n }, [list]);\n\n useEffect(() => {\n const sortable = Sortable.create(el.current, {\n group: 'shared',\n ghostClass: 'opacity-50',\n animation: 150,\n onEnd: (evt) => {\n const { from, to, oldIndex, newIndex, item } = evt;\n const itemId = item.getAttribute('data-id');\n\n // ── REVERSIÓN SÍNCRONA DEL DOM ──\n if (from !== to || oldIndex !== newIndex) {\n item.remove();\n const nextEl = from.children[oldIndex];\n if (nextEl) {\n from.insertBefore(item, nextEl);\n } else {\n from.appendChild(item);\n }\n }\n\n if (from === to) {\n // ── Reordenamiento interno ──\n const newOrder = [...listRef.current];\n newOrder.splice(oldIndex, 1);\n newOrder.splice(newIndex, 0, itemId);\n\n if (setListRef.current) {\n setListRef.current(newOrder);\n }\n } else {\n // ── Movimiento entre listas ──\n const fromSortable = from.sortable;\n const toSortable = to.sortable;\n\n if (fromSortable?._setList && toSortable?._setList) {\n const sourceItems = fromSortable._currentList.filter(id => id !== itemId);\n const targetItems = [...toSortable._currentList];\n targetItems.splice(newIndex, 0, itemId);\n\n fromSortable._setList(sourceItems);\n toSortable._setList(targetItems);\n }\n }\n },\n });\n\n el.current.sortable = sortable;\n sortable._setList = (newOrder) => {\n if (setListRef.current) {\n setListRef.current(newOrder);\n }\n };\n sortable._currentList = listRef.current;\n\n return () => sortable.destroy();\n }, []);\n\n return (\n <div className={className}>\n <ul\n ref={el}\n style={{\n listStyleType: 'none',\n padding: 0,\n margin: 0,\n minHeight: '1.5rem',\n width: '100%',\n display: 'flex',\n flexWrap: 'wrap',\n gap: '8px'\n }}\n >\n {React.Children.map(children, child => (\n <li key={child.key} data-id={child.props['data-id']}>\n {child}\n </li>\n ))}\n </ul>\n </div>\n );\n};\n\nconst RadixSelect = ({ label, value, values, onChange }) => (\n <div className=\"flex flex-col gap-1.5 min-w-[180px]\">\n <label className=\"text-[10px] font-black text-slate-400 uppercase tracking-widest\">{label}</label>\n <Select.Root value={value} onValueChange={onChange}>\n <Select.Trigger className=\"flex items-center justify-between w-full px-4 py-2 text-sm bg-white border border-slate-200 rounded-xl hover:border-blue-400 focus:ring-4 focus:ring-blue-500/10 outline-none transition-all shadow-sm\">\n <Select.Value />\n <Select.Icon><ChevronDown size={14} className=\"text-slate-400\" /></Select.Icon>\n </Select.Trigger>\n <Select.Portal>\n <Select.Content className=\"overflow-hidden bg-white rounded-2xl shadow-2xl border border-slate-100 z-[1000] animate-in fade-in zoom-in-95 duration-100\">\n <Select.Viewport className=\"p-2\">\n {values.map(v => (\n <Select.Item key={v} value={v} className=\"flex items-center gap-2 px-8 py-2.5 text-sm text-slate-700 rounded-lg cursor-default select-none hover:bg-blue-50 focus:bg-blue-50 outline-none relative transition-colors\">\n <Select.ItemText>{v}</Select.ItemText>\n <Select.ItemIndicator className=\"absolute left-2 flex items-center justify-center\"><Check size={14} className=\"text-blue-600\" /></Select.ItemIndicator>\n </Select.Item>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </div>\n);\n\nexport function RadixUI(props) {\n const { props: pivotProps, state: pivotState, actions } = usePivot(props);\n\n const aggregatorName = pivotProps.aggregatorName;\n const rendererName = pivotProps.rendererName;\n\n const pivotData = new PivotData({\n ...pivotProps,\n data: pivotState.materializedInput,\n });\n const totalPivotRows = pivotData.getRowKeys().length;\n const totalRecords = pivotState.materializedInput.length;\n const totalPages = Math.ceil(totalPivotRows / (pivotProps.pageSize || 20));\n\n const unusedList = Object.keys(pivotState.attrValues)\n .filter(e => e && e.trim() !== '' && !pivotProps.rows.includes(e) && !pivotProps.cols.includes(e))\n .sort(sortAs(pivotState.unusedOrder || []));\n\n const colList = pivotProps.cols.filter(e => e && e.trim() !== '');\n const rowList = pivotProps.rows.filter(e => e && e.trim() !== '');\n\n const renderAttribute = (attr) => (\n <div\n key={attr}\n className=\"inline-flex items-center gap-2 bg-white border border-slate-200 rounded-xl px-3 py-1.5 text-[13px] font-semibold text-slate-700 shadow-sm cursor-grab hover:bg-slate-50 transition-colors group\"\n data-id={attr}\n >\n <GripVertical size={14} className=\"text-slate-300 group-hover:text-slate-400 transition-colors\" />\n <span>{attr}</span>\n\n <Popover.Root>\n <Popover.Trigger asChild>\n <button className={cn(\"text-slate-400 hover:text-slate-600 focus:outline-none ml-1 flex items-center justify-center p-0.5 rounded-sm transition-colors\", pivotProps.valueFilter[attr] && \"text-blue-600\")}>\n <Filter size={14} />\n </button>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content className=\"w-72 p-6 bg-white rounded-3xl shadow-2xl border border-slate-100 z-[1000] outline-none\">\n <h4 className=\"font-black text-slate-900 text-xs uppercase tracking-widest mb-4\">Filtrar: {attr}</h4>\n <div className=\"max-h-60 overflow-y-auto space-y-2 mb-4 pr-2 custom-scrollbar\">\n {Object.keys(pivotState.attrValues[attr] || {}).map(v => (\n <div key={v} className=\"flex items-center gap-3 text-sm py-1.5 px-2 hover:bg-slate-50 rounded-lg transition-colors cursor-pointer\">\n <input type=\"checkbox\" checked={!(v in (pivotProps.valueFilter[attr] || {}))} onChange={() => actions.toggleFilter(attr, v)} className=\"rounded-md border-slate-300 text-blue-600 focus:ring-blue-500 w-4 h-4\" />\n <span className=\"text-slate-600 font-medium\">{v === 'null' ? <em>null</em> : v}</span>\n </div>\n ))}\n </div>\n <Popover.Arrow className=\"fill-white\" />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n </div>\n );\n\n return (\n <div className=\"flex flex-col bg-white border border-slate-200 rounded-lg overflow-hidden font-sans text-slate-800 text-sm shadow-sm\">\n {/* Row 1: Renderer Dropdown & Unused Attributes */}\n <div className=\"flex w-full border-b border-slate-200 min-h-[4rem]\">\n {/* Renderer */}\n <div className=\"w-[300px] p-4 border-r border-slate-200 bg-white flex flex-col justify-start flex-shrink-0\">\n <RadixSelect\n label=\"Visualización\"\n value={rendererName}\n values={Object.keys(pivotProps.renderers)}\n onChange={(v) => actions.updateProp('rendererName', v)}\n />\n </div>\n\n {/* Unused Attrs */}\n <div className=\"flex-1 p-4 bg-slate-50/80\">\n <DnDContainer\n list={unusedList}\n setList={(newOrder) => {\n actions.setUnusedOrder(newOrder);\n }}\n className=\"flex flex-wrap gap-2 w-full min-h-[1.5rem]\"\n >\n {unusedList.map(renderAttribute)}\n </DnDContainer>\n </div>\n </div>\n\n {/* Row 2: Aggregators & Column Attributes */}\n <div className=\"flex w-full border-b border-slate-200 min-h-[4rem]\">\n {/* Aggregators */}\n <div className=\"w-[300px] p-4 border-r border-slate-200 bg-slate-50/30 flex-shrink-0 flex items-start\">\n <div className=\"flex flex-col gap-2 w-full\">\n <div className=\"flex items-center gap-2\">\n <div className=\"flex-1\">\n <RadixSelect\n label=\"Agregador\"\n value={aggregatorName}\n values={Object.keys(pivotProps.aggregators)}\n onChange={(v) => actions.updateProp('aggregatorName', v)}\n />\n </div>\n\n <div className=\"flex items-center text-slate-600 gap-1.5 text-base leading-none\">\n <span className=\"cursor-pointer hover:text-slate-900 transition-colors\">↕</span>\n <span className=\"cursor-pointer hover:text-slate-900 transition-colors\">↔</span>\n </div>\n </div>\n\n {pivotProps.aggregators[aggregatorName]([])().numInputs > 0 && (\n <RadixSelect\n label=\"Atributo de Valor\"\n value={pivotProps.vals[0] || ''}\n values={Object.keys(pivotState.attrValues)}\n onChange={(v) => actions.updateProp('vals', [v])}\n />\n )}\n </div>\n </div>\n\n {/* Col Attrs */}\n <div className=\"flex-1 p-4 bg-white\">\n <DnDContainer\n list={colList}\n setList={(newOrder) => {\n actions.updateProp('cols', newOrder);\n }}\n className=\"flex flex-wrap gap-2 w-full min-h-[1.5rem]\"\n >\n {colList.map(renderAttribute)}\n </DnDContainer>\n </div>\n </div>\n\n {/* Row 3: Row Attributes & Table Data */}\n <div className=\"flex w-full min-h-[400px]\">\n {/* Row Attrs */}\n <div className=\"w-[300px] p-4 border-r border-slate-200 bg-white flex-shrink-0\">\n <DnDContainer\n list={rowList}\n setList={(newOrder) => {\n actions.updateProp('rows', newOrder);\n }}\n className=\"flex flex-col gap-2 w-full min-h-[1.5rem]\"\n >\n {rowList.map(renderAttribute)}\n </DnDContainer>\n </div>\n\n {/* Table Output */}\n <div className={`pvtUi pvt-theme-${pivotProps.theme || 'default'} pvt-size-${pivotProps.size || 'lg'} flex-1 w-full p-4 bg-slate-50/30 overflow-auto`}>\n <PivotTable {...pivotProps} data={pivotState.materializedInput} />\n </div>\n </div>\n\n {/* Footer: Totals and Pagination */}\n {pivotProps.pagination && (\n <div className=\"flex items-center justify-between px-6 py-3 border-t border-slate-200 bg-white text-slate-600\">\n <div className=\"text-[13px] font-medium\">\n Registros: <span className=\"text-slate-900\">{totalRecords}</span> | Filas: <span className=\"text-slate-900\">{totalPivotRows}</span>\n </div>\n\n <div className=\"flex items-center gap-6\">\n <div className=\"flex items-center gap-1.5\">\n <button\n className=\"p-1 rounded-md hover:bg-slate-100 disabled:opacity-30 disabled:cursor-not-allowed transition-colors\"\n disabled={pivotProps.page <= 1}\n onClick={() => actions.updateProp('page', 1)}\n >\n <ChevronsLeft size={18} />\n </button>\n <button\n className=\"p-1 rounded-md hover:bg-slate-100 disabled:opacity-30 disabled:cursor-not-allowed transition-colors\"\n disabled={pivotProps.page <= 1}\n onClick={() => actions.updateProp('page', pivotProps.page - 1)}\n >\n <ChevronLeft size={18} />\n </button>\n\n <div className=\"flex items-center gap-2 mx-1\">\n <span className=\"text-[13px] font-medium\">Página</span>\n <input\n type=\"number\"\n className=\"w-12 h-8 text-center border border-slate-300 rounded-md text-[13px] font-semibold text-slate-900 focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 outline-none\"\n value={pivotProps.page}\n min={1}\n max={totalPages}\n onChange={(e) => {\n const val = parseInt(e.target.value, 10);\n if (val > 0 && val <= totalPages) {\n actions.updateProp('page', val);\n }\n }}\n />\n <span className=\"text-[13px] font-medium text-slate-400\">de {totalPages}</span>\n </div>\n\n <button\n className=\"p-1 rounded-md hover:bg-slate-100 disabled:opacity-30 disabled:cursor-not-allowed transition-colors\"\n disabled={pivotProps.page >= totalPages}\n onClick={() => actions.updateProp('page', pivotProps.page + 1)}\n >\n <ChevronRight size={18} />\n </button>\n <button\n className=\"p-1 rounded-md hover:bg-slate-100 disabled:opacity-30 disabled:cursor-not-allowed transition-colors\"\n disabled={pivotProps.page >= totalPages}\n onClick={() => actions.updateProp('page', totalPages)}\n >\n <ChevronsRight size={18} />\n </button>\n </div>\n\n <div className=\"flex items-center gap-2 border-l border-slate-200 pl-6\">\n <span className=\"text-[13px] font-medium text-slate-400\">Mostrar</span>\n <select\n className=\"text-[13px] font-semibold border border-slate-300 rounded-md px-2 py-1 focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 outline-none hover:border-slate-400 bg-white text-slate-900\"\n value={pivotProps.pageSize}\n onChange={(e) => {\n actions.updateProp('pageSize', parseInt(e.target.value, 10));\n actions.updateProp('page', 1);\n }}\n >\n {[10, 20, 50, 100].map(n => (\n <option key={n} value={n}>\n {n}\n </option>\n ))}\n </select>\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -339,7 +339,7 @@ function ShadcnDashboardUI(props) {
339
339
  },
340
340
  className: "flex flex-col gap-2 w-full min-h-[1.5rem]"
341
341
  }, rowList.map(renderAttribute))), /*#__PURE__*/_react["default"].createElement("div", {
342
- className: "pvtUi pvtSize-".concat(pivotProps.size || 'lg', " flex-1 w-full p-4 bg-slate-50/30 overflow-auto")
342
+ className: "pvtUi pvt-theme-".concat(pivotProps.theme || 'default', " pvt-size-").concat(pivotProps.size || 'lg', " flex-1 w-full p-4 bg-slate-50/30 overflow-auto")
343
343
  }, /*#__PURE__*/_react["default"].createElement(_PivotTable["default"], _extends({}, pivotProps, {
344
344
  data: pivotState.materializedInput
345
345
  })))), pivotProps.pagination && /*#__PURE__*/_react["default"].createElement("div", {