react-pivottable-plus 1.0.13 → 1.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PivotTableUI.js +133 -210
- package/dist/PivotTableUI.js.map +1 -1
- package/dist/TableRenderers.js +193 -28
- package/dist/TableRenderers.js.map +1 -1
- package/dist/core/CellPipeline.js +167 -0
- package/dist/core/CellPipeline.js.map +1 -0
- package/dist/core/ColumnEngine.js +299 -0
- package/dist/core/ColumnEngine.js.map +1 -0
- package/dist/core/EventBus.js +109 -0
- package/dist/core/EventBus.js.map +1 -0
- package/dist/core/ModuleRegistry.js +140 -0
- package/dist/core/ModuleRegistry.js.map +1 -0
- package/dist/core/PivotCore.js +254 -0
- package/dist/core/PivotCore.js.map +1 -0
- package/dist/core/PivotEngine.js +151 -0
- package/dist/core/PivotEngine.js.map +1 -0
- package/dist/core/StateManager.js +142 -0
- package/dist/core/StateManager.js.map +1 -0
- package/dist/core/VirtualScroller.js +138 -0
- package/dist/core/VirtualScroller.js.map +1 -0
- package/dist/core/api/ColumnApi.js +162 -0
- package/dist/core/api/ColumnApi.js.map +1 -0
- package/dist/core/api/GridApi.js +208 -0
- package/dist/core/api/GridApi.js.map +1 -0
- package/dist/core/index.js +89 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/rowModels/ClientSideRowModel.js +177 -0
- package/dist/core/rowModels/ClientSideRowModel.js.map +1 -0
- package/dist/core/rowModels/index.js +13 -0
- package/dist/core/rowModels/index.js.map +1 -0
- package/dist/hooks/usePivot.js +63 -155
- package/dist/hooks/usePivot.js.map +1 -1
- package/dist/modules/FilterModule.js +156 -0
- package/dist/modules/FilterModule.js.map +1 -0
- package/dist/modules/PaginationModule.js +115 -0
- package/dist/modules/PaginationModule.js.map +1 -0
- package/dist/modules/SortModule.js +88 -0
- package/dist/modules/SortModule.js.map +1 -0
- package/dist/modules/ThemeModule.js +83 -0
- package/dist/modules/ThemeModule.js.map +1 -0
- package/dist/modules/VirtualizationModule.js +89 -0
- package/dist/modules/VirtualizationModule.js.map +1 -0
- package/dist/modules/index.js +41 -0
- package/dist/modules/index.js.map +1 -0
- package/dist/react/index.js +13 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/usePivotGrid.js +116 -0
- package/dist/react/usePivotGrid.js.map +1 -0
- package/dist/renderers/RadixUI.js +1 -1
- package/dist/renderers/RadixUI.js.map +1 -1
- package/dist/renderers/ShadcnDashboardUI.js +1 -1
- package/dist/renderers/ShadcnDashboardUI.js.map +1 -1
- package/dist/renderers/TailwindUI.js +1 -1
- package/dist/renderers/TailwindUI.js.map +1 -1
- package/package.json +4 -2
- package/pivottable.css +56 -0
|
@@ -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","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=\"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: "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", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShadcnDashboardUI.js","names":["_react","_interopRequireWildcard","require","_usePivot2","_sortablejs","_interopRequireDefault","_PivotTable","_Utilities","_lucideReact","_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","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","l","iterator","u","a","next","done","Array","isArray","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","constructor","name","from","test","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","ShadcnDashboardUI","_usePivot","usePivot","pivotProps","pivotState","state","actions","_useState","useState","_useState2","openDropdown","setOpenDropdown","aggregatorName","rendererName","pivotData","PivotData","data","materializedInput","totalPivotRows","getRowKeys","totalRecords","totalPages","Math","ceil","pageSize","unusedList","attrValues","trim","rows","includes","cols","sort","sortAs","unusedOrder","colList","rowList","AttributeItem","_ref2","attr","values","valueFilter","_useState3","_useState4","filterText","setFilterText","filteredValues","v","toLowerCase","GripVertical","size","onClick","stopPropagation","currentTarget","closest","Filter","type","placeholder","onChange","target","setValuesInFilter","checked","toggleFilter","renderAttribute","updateProp","renderers","setUnusedOrder","aggregators","numInputs","vals","pagination","disabled","page","ChevronsLeft","ChevronLeft","min","max","val","parseInt","ChevronRight","ChevronsRight"],"sources":["../../src/renderers/ShadcnDashboardUI.jsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport { usePivot } from '../hooks/usePivot';\nimport Sortable from 'sortablejs';\nimport PivotTable from '../PivotTable';\nimport { PivotData, sortAs } from '../Utilities';\nimport { GripVertical, Filter, ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from 'lucide-react';\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 // Muy importante: eliminamos el item de su posición actual (to)\n // y lo devolvemos a la original (from) para que React lo encuentre.\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\nexport function ShadcnDashboardUI(props) {\n const { props: pivotProps, state: pivotState, actions } = usePivot(props);\n const [openDropdown, setOpenDropdown] = useState(null);\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 AttributeItem = ({ attr, pivotState, pivotProps, actions, openDropdown, setOpenDropdown }) => {\n const values = Object.keys(pivotState.attrValues[attr] || {});\n const valueFilter = pivotProps.valueFilter[attr] || {};\n const [filterText, setFilterText] = useState('');\n \n const filteredValues = values.filter(v => \n v.toString().toLowerCase().includes(filterText.toLowerCase())\n ).sort();\n\n return (\n <div\n className=\"relative 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 <button\n onClick={(e) => {\n e.stopPropagation();\n // Si el elemento se está moviendo (clase de sortable activa), no abrir\n if (e.currentTarget.closest('.sortable-chosen')) return;\n setOpenDropdown(openDropdown === attr ? null : attr);\n }}\n className={cn(\n \"text-slate-400 hover:text-slate-600 focus:outline-none ml-1 flex items-center justify-center p-0.5 rounded-sm transition-colors\",\n Object.keys(valueFilter).length > 0 && \"text-blue-600\"\n )}\n >\n <Filter size={14} />\n </button>\n\n {openDropdown === attr && (\n <div \n className=\"absolute top-full left-0 mt-2 w-64 bg-white border border-slate-200 rounded-2xl shadow-2xl z-[1000] p-4 cursor-default\"\n onClick={e => e.stopPropagation()}\n >\n <div className=\"flex items-center justify-between mb-3\">\n <h4 className=\"text-[11px] font-black text-slate-400 uppercase tracking-widest\">Filtrar: {attr}</h4>\n <button onClick={() => setOpenDropdown(null)} className=\"text-slate-400 hover:text-slate-600 font-bold text-lg\">×</button>\n </div>\n\n <input\n type=\"text\"\n placeholder=\"Buscar valores...\"\n className=\"w-full px-3 py-2 text-xs border border-slate-200 rounded-lg mb-3 focus:outline-none focus:ring-2 focus:ring-blue-500/20\"\n value={filterText}\n onChange={e => setFilterText(e.target.value)}\n />\n\n <div className=\"flex gap-2 mb-3\">\n <button\n onClick={() => actions.setValuesInFilter(attr, [])}\n className=\"text-[10px] font-bold text-blue-600 hover:text-blue-700 uppercase\"\n >\n Seleccionar Todo\n </button>\n <button\n onClick={() => actions.setValuesInFilter(attr, values)}\n className=\"text-[10px] font-bold text-slate-400 hover:text-slate-500 uppercase\"\n >\n Limpiar\n </button>\n </div>\n\n <div className=\"max-h-48 overflow-y-auto custom-scrollbar space-y-1\">\n {filteredValues.map(v => (\n <label key={v} className=\"flex items-center gap-2 px-2 py-1.5 hover:bg-slate-50 rounded-lg cursor-pointer transition-colors\">\n <input\n type=\"checkbox\"\n checked={!(v in valueFilter)}\n onChange={() => actions.toggleFilter(attr, v)}\n className=\"w-3.5 h-3.5 rounded border-slate-300 text-blue-600 focus:ring-blue-500/20\"\n />\n <span className=\"text-xs text-slate-600 font-medium truncate\">\n {v === 'null' ? <em className=\"text-slate-400\">null</em> : v}\n </span>\n </label>\n ))}\n </div>\n </div>\n )}\n </div>\n );\n };\n\n const renderAttribute = (attr) => (\n <AttributeItem\n key={attr}\n attr={attr}\n data-id={attr}\n pivotState={pivotState}\n pivotProps={pivotProps}\n actions={actions}\n openDropdown={openDropdown}\n setOpenDropdown={setOpenDropdown}\n />\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 <select\n className=\"w-full text-xs font-medium border border-slate-300 rounded px-3 py-1.5 focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 outline-none hover:border-slate-400 bg-white text-slate-700\"\n value={rendererName}\n onChange={(e) => actions.updateProp('rendererName', e.target.value)}\n >\n {Object.keys(pivotProps.renderers).map(r => <option key={r} value={r}>{r}</option>)}\n </select>\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 <select\n className=\"flex-1 text-xs font-medium border border-slate-300 rounded px-3 py-1.5 focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 outline-none hover:border-slate-400 bg-white text-slate-700\"\n value={aggregatorName}\n onChange={(e) => actions.updateProp('aggregatorName', e.target.value)}\n >\n {Object.keys(pivotProps.aggregators).map(r => <option key={r} value={r}>{r}</option>)}\n </select>\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[pivotProps.aggregatorName]([])().numInputs > 0 && (\n <select\n className=\"w-full text-xs font-medium border border-slate-300 rounded px-3 py-1.5 focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 outline-none hover:border-slate-400 bg-white text-slate-700\"\n value={pivotProps.vals[0] || ''}\n onChange={(e) => actions.updateProp('vals', [e.target.value])}\n >\n {Object.keys(pivotState.attrValues).map(r => <option key={r} value={r}>{r}</option>)}\n </select>\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 {/* Table Output */}\n <div className=\"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":"ShadcnDashboardUI.js","names":["_react","_interopRequireWildcard","require","_usePivot2","_sortablejs","_interopRequireDefault","_PivotTable","_Utilities","_lucideReact","_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","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","l","iterator","u","a","next","done","Array","isArray","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","constructor","name","from","test","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","ShadcnDashboardUI","_usePivot","usePivot","pivotProps","pivotState","state","actions","_useState","useState","_useState2","openDropdown","setOpenDropdown","aggregatorName","rendererName","pivotData","PivotData","data","materializedInput","totalPivotRows","getRowKeys","totalRecords","totalPages","Math","ceil","pageSize","unusedList","attrValues","trim","rows","includes","cols","sort","sortAs","unusedOrder","colList","rowList","AttributeItem","_ref2","attr","values","valueFilter","_useState3","_useState4","filterText","setFilterText","filteredValues","v","toLowerCase","GripVertical","size","onClick","stopPropagation","currentTarget","closest","Filter","type","placeholder","onChange","target","setValuesInFilter","checked","toggleFilter","renderAttribute","updateProp","renderers","setUnusedOrder","aggregators","numInputs","vals","concat","theme","pagination","disabled","page","ChevronsLeft","ChevronLeft","min","max","val","parseInt","ChevronRight","ChevronsRight"],"sources":["../../src/renderers/ShadcnDashboardUI.jsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport { usePivot } from '../hooks/usePivot';\nimport Sortable from 'sortablejs';\nimport PivotTable from '../PivotTable';\nimport { PivotData, sortAs } from '../Utilities';\nimport { GripVertical, Filter, ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from 'lucide-react';\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 // Muy importante: eliminamos el item de su posición actual (to)\n // y lo devolvemos a la original (from) para que React lo encuentre.\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\nexport function ShadcnDashboardUI(props) {\n const { props: pivotProps, state: pivotState, actions } = usePivot(props);\n const [openDropdown, setOpenDropdown] = useState(null);\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 AttributeItem = ({ attr, pivotState, pivotProps, actions, openDropdown, setOpenDropdown }) => {\n const values = Object.keys(pivotState.attrValues[attr] || {});\n const valueFilter = pivotProps.valueFilter[attr] || {};\n const [filterText, setFilterText] = useState('');\n\n const filteredValues = values.filter(v =>\n v.toString().toLowerCase().includes(filterText.toLowerCase())\n ).sort();\n\n return (\n <div\n className=\"relative 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 <button\n onClick={(e) => {\n e.stopPropagation();\n // Si el elemento se está moviendo (clase de sortable activa), no abrir\n if (e.currentTarget.closest('.sortable-chosen')) return;\n setOpenDropdown(openDropdown === attr ? null : attr);\n }}\n className={cn(\n \"text-slate-400 hover:text-slate-600 focus:outline-none ml-1 flex items-center justify-center p-0.5 rounded-sm transition-colors\",\n Object.keys(valueFilter).length > 0 && \"text-blue-600\"\n )}\n >\n <Filter size={14} />\n </button>\n\n {openDropdown === attr && (\n <div\n className=\"absolute top-full left-0 mt-2 w-64 bg-white border border-slate-200 rounded-2xl shadow-2xl z-[1000] p-4 cursor-default\"\n onClick={e => e.stopPropagation()}\n >\n <div className=\"flex items-center justify-between mb-3\">\n <h4 className=\"text-[11px] font-black text-slate-400 uppercase tracking-widest\">Filtrar: {attr}</h4>\n <button onClick={() => setOpenDropdown(null)} className=\"text-slate-400 hover:text-slate-600 font-bold text-lg\">×</button>\n </div>\n\n <input\n type=\"text\"\n placeholder=\"Buscar valores...\"\n className=\"w-full px-3 py-2 text-xs border border-slate-200 rounded-lg mb-3 focus:outline-none focus:ring-2 focus:ring-blue-500/20\"\n value={filterText}\n onChange={e => setFilterText(e.target.value)}\n />\n\n <div className=\"flex gap-2 mb-3\">\n <button\n onClick={() => actions.setValuesInFilter(attr, [])}\n className=\"text-[10px] font-bold text-blue-600 hover:text-blue-700 uppercase\"\n >\n Seleccionar Todo\n </button>\n <button\n onClick={() => actions.setValuesInFilter(attr, values)}\n className=\"text-[10px] font-bold text-slate-400 hover:text-slate-500 uppercase\"\n >\n Limpiar\n </button>\n </div>\n\n <div className=\"max-h-48 overflow-y-auto custom-scrollbar space-y-1\">\n {filteredValues.map(v => (\n <label key={v} className=\"flex items-center gap-2 px-2 py-1.5 hover:bg-slate-50 rounded-lg cursor-pointer transition-colors\">\n <input\n type=\"checkbox\"\n checked={!(v in valueFilter)}\n onChange={() => actions.toggleFilter(attr, v)}\n className=\"w-3.5 h-3.5 rounded border-slate-300 text-blue-600 focus:ring-blue-500/20\"\n />\n <span className=\"text-xs text-slate-600 font-medium truncate\">\n {v === 'null' ? <em className=\"text-slate-400\">null</em> : v}\n </span>\n </label>\n ))}\n </div>\n </div>\n )}\n </div>\n );\n };\n\n const renderAttribute = (attr) => (\n <AttributeItem\n key={attr}\n attr={attr}\n data-id={attr}\n pivotState={pivotState}\n pivotProps={pivotProps}\n actions={actions}\n openDropdown={openDropdown}\n setOpenDropdown={setOpenDropdown}\n />\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 <select\n className=\"w-full text-xs font-medium border border-slate-300 rounded px-3 py-1.5 focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 outline-none hover:border-slate-400 bg-white text-slate-700\"\n value={rendererName}\n onChange={(e) => actions.updateProp('rendererName', e.target.value)}\n >\n {Object.keys(pivotProps.renderers).map(r => <option key={r} value={r}>{r}</option>)}\n </select>\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 <select\n className=\"flex-1 text-xs font-medium border border-slate-300 rounded px-3 py-1.5 focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 outline-none hover:border-slate-400 bg-white text-slate-700\"\n value={aggregatorName}\n onChange={(e) => actions.updateProp('aggregatorName', e.target.value)}\n >\n {Object.keys(pivotProps.aggregators).map(r => <option key={r} value={r}>{r}</option>)}\n </select>\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[pivotProps.aggregatorName]([])().numInputs > 0 && (\n <select\n className=\"w-full text-xs font-medium border border-slate-300 rounded px-3 py-1.5 focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 outline-none hover:border-slate-400 bg-white text-slate-700\"\n value={pivotProps.vals[0] || ''}\n onChange={(e) => actions.updateProp('vals', [e.target.value])}\n >\n {Object.keys(pivotState.attrValues).map(r => <option key={r} value={r}>{r}</option>)}\n </select>\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 {/* 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 TailwindUI(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: "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", {
|