@ackplus/react-tanstack-data-table 1.0.19-beta-0.12 → 1.0.19-beta-0.14

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ackplus/react-tanstack-data-table",
3
3
  "type": "commonjs",
4
- "version": "1.0.19-beta-0.12",
4
+ "version": "1.0.19-beta-0.14",
5
5
  "description": "A powerful React data table component built with MUI and TanStack Table",
6
6
  "keywords": [
7
7
  "react",
@@ -7,6 +7,7 @@ interface DraggableHeaderProps<T> {
7
7
  onColumnReorder?: (draggedColumnId: string, targetColumnId: string) => void;
8
8
  slots?: Record<string, any>;
9
9
  slotProps?: Record<string, any>;
10
+ alignment?: 'left' | 'center' | 'right';
10
11
  }
11
- export declare function DraggableHeader<T>({ header, enableSorting, draggable, onColumnReorder, slots, slotProps, }: DraggableHeaderProps<T>): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode>> | import("react/jsx-runtime").JSX.Element;
12
+ export declare function DraggableHeader<T>({ header, enableSorting, draggable, onColumnReorder, slots, slotProps, alignment, }: DraggableHeaderProps<T>): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode>> | import("react/jsx-runtime").JSX.Element;
12
13
  export {};
@@ -7,7 +7,7 @@ const material_1 = require("@mui/material");
7
7
  const react_table_1 = require("@tanstack/react-table");
8
8
  const react_1 = require("react");
9
9
  const slot_helpers_1 = require("../../utils/slot-helpers");
10
- function DraggableHeader({ header, enableSorting = true, draggable = false, onColumnReorder, slots, slotProps, }) {
10
+ function DraggableHeader({ header, enableSorting = true, draggable = false, onColumnReorder, slots, slotProps, alignment, }) {
11
11
  const [isDragging, setIsDragging] = (0, react_1.useState)(false);
12
12
  const [dragOver, setDragOver] = (0, react_1.useState)(false);
13
13
  const autoScrollIntervalRef = (0, react_1.useRef)(null);
@@ -18,6 +18,9 @@ function DraggableHeader({ header, enableSorting = true, draggable = false, onCo
18
18
  const AUTO_SCROLL_THRESHOLD = 50;
19
19
  const AUTO_SCROLL_SPEED = 10;
20
20
  const AUTO_SCROLL_INTERVAL = 16;
21
+ const justifyContent = (0, react_1.useMemo)(() => {
22
+ return alignment === 'left' ? 'flex-start' : alignment === 'right' ? 'flex-end' : 'center';
23
+ }, [alignment]);
21
24
  const findScrollableContainer = (0, react_1.useCallback)((element) => {
22
25
  let searchElement = element;
23
26
  if (!searchElement) {
@@ -191,6 +194,7 @@ function DraggableHeader({ header, enableSorting = true, draggable = false, onCo
191
194
  return ((0, jsx_runtime_1.jsx)(material_1.Box, { ref: headerElementRef, sx: {
192
195
  display: 'flex',
193
196
  alignItems: 'center',
197
+ justifyContent: justifyContent,
194
198
  gap: 1,
195
199
  cursor: getCursor(),
196
200
  userSelect: 'none',
@@ -203,10 +207,8 @@ function DraggableHeader({ header, enableSorting = true, draggable = false, onCo
203
207
  '&:active': {
204
208
  cursor: draggable ? 'grabbing' : 'pointer',
205
209
  },
206
- }, draggable: draggable, onDragStart: handleDragStart, onDrag: handleDrag, onDragEnd: handleDragEnd, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, onClick: enableSorting ? handleSort : undefined, children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
207
- flex: 1,
208
- display: 'flex',
209
- alignItems: 'center',
210
+ }, draggable: draggable, onDragStart: handleDragStart, onDrag: handleDrag, onDragEnd: handleDragEnd, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, onClick: enableSorting ? handleSort : undefined, children: (0, jsx_runtime_1.jsxs)(material_1.Box, { component: "span", sx: {
211
+ display: 'inline-flex',
210
212
  gap: 1,
211
213
  }, children: [(0, react_table_1.flexRender)(header.column.columnDef.header, header.getContext()), getSortIcon()] }) }));
212
214
  }
@@ -28,7 +28,7 @@ function TableHeader({ draggable = false, enableColumnResizing = false, enableSt
28
28
  pinnedRightPosition,
29
29
  zIndex: isPinned ? 10 : 1,
30
30
  disableStickyHeader: enableStickyHeader,
31
- })) }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.headerCell, { children: [(0, jsx_runtime_1.jsx)(draggable_header_1.DraggableHeader, { header: header, enableSorting: enableSorting, draggable: !!(draggable && !isPinned), onColumnReorder: onColumnReorder, slots: slots, slotProps: slotProps }), enableColumnResizing && header.column.getCanResize() ? ((0, jsx_runtime_1.jsx)(material_1.Box, { onMouseDown: header.getResizeHandler(), onTouchStart: header.getResizeHandler(), sx: {
31
+ })) }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.headerCell, { children: [(0, jsx_runtime_1.jsx)(draggable_header_1.DraggableHeader, { header: header, enableSorting: enableSorting, draggable: !!(draggable && !isPinned), onColumnReorder: onColumnReorder, slots: slots, slotProps: slotProps, alignment: alignment }), enableColumnResizing && header.column.getCanResize() ? ((0, jsx_runtime_1.jsx)(material_1.Box, { onMouseDown: header.getResizeHandler(), onTouchStart: header.getResizeHandler(), sx: {
32
32
  position: 'absolute',
33
33
  right: 0,
34
34
  top: '25%',