@apia/table 0.3.2 → 0.3.4
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/index.d.ts +12 -3
- package/dist/index.js +55 -32
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ import * as _reduxjs_toolkit from '@reduxjs/toolkit';
|
|
|
8
8
|
import { PayloadAction } from '@reduxjs/toolkit';
|
|
9
9
|
import * as immer_dist_internal from 'immer/dist/internal';
|
|
10
10
|
import * as react_redux from 'react-redux';
|
|
11
|
+
import * as _reduxjs_toolkit_dist_configureStore from '@reduxjs/toolkit/dist/configureStore';
|
|
12
|
+
import * as redux_thunk from 'redux-thunk';
|
|
11
13
|
import * as redux from 'redux';
|
|
12
14
|
|
|
13
15
|
type TAccordionCellRendererProps<CellProps = Record<string, unknown>> = {
|
|
@@ -113,6 +115,10 @@ type TResponsiveTableRowRendererProps<RendererPropsType extends Partial<Record<k
|
|
|
113
115
|
} & React__default.AllHTMLAttributes<HTMLTableRowElement>;
|
|
114
116
|
type TResponsiveTableRowRenderer<RendererPropsType extends Partial<Record<keyof RendererPropsType, unknown>> = Record<string, unknown>> = React__default.FunctionComponent<TResponsiveTableRowRendererProps<RendererPropsType>>;
|
|
115
117
|
type TResponsiveTableRow<RendererPropsType extends Partial<Record<keyof RendererPropsType, unknown>> = Record<string, unknown>> = TBasicRow & TColoredElement & {
|
|
118
|
+
accordionButtonProps?: {
|
|
119
|
+
rightButtons?: React__default.ReactNode;
|
|
120
|
+
onUserPressEnter?: (ev: React__default.KeyboardEvent) => unknown;
|
|
121
|
+
};
|
|
116
122
|
cells: TResponsiveTableCell[];
|
|
117
123
|
/**
|
|
118
124
|
* Si se pasa en true, la fila se mostrará como un separador
|
|
@@ -483,11 +489,14 @@ interface ISelectableState<ColumnType extends IBasicColumn = IBasicColumn, Filte
|
|
|
483
489
|
|
|
484
490
|
declare const ResponsiveTable: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<BoxProps & React__default.RefAttributes<HTMLDivElement>>>;
|
|
485
491
|
|
|
492
|
+
declare function useResponsiveTableContext(): TResponsiveTableContext;
|
|
486
493
|
declare const ResponsiveTableContext: React__default.MemoExoticComponent<({ allowEdition, allowRowsKeyboardSorting, allowSelection, allowSorting, avoidReparseSelectionOnRowChange, children, className, currentBreakPoint, customLabels, columns, filters, rows, label, isMultiple, name, onChangeSelection, onFilterBlur, onFilterChange, onFilterPressEnter, onSelectRows, onSortChange, reserveColumnsForStates, variant, }: TResponsiveTableContextProps) => React__default.JSX.Element>;
|
|
487
494
|
|
|
488
|
-
declare const responsiveTableStore:
|
|
495
|
+
declare const responsiveTableStore: _reduxjs_toolkit_dist_configureStore.ToolkitStore<{
|
|
489
496
|
responsiveTableSlice: TResponsiveTableSlice;
|
|
490
|
-
}
|
|
497
|
+
}, redux.AnyAction, [redux_thunk.ThunkMiddleware<{
|
|
498
|
+
responsiveTableSlice: TResponsiveTableSlice;
|
|
499
|
+
}, redux.AnyAction, undefined>]>;
|
|
491
500
|
declare const useResponsiveTable: <TSelected>(selector: (state: {
|
|
492
501
|
responsiveTableSlice: TResponsiveTableSlice;
|
|
493
502
|
}) => TSelected, equalityFn?: react_redux.EqualityFn<TSelected> | undefined) => TSelected;
|
|
@@ -616,4 +625,4 @@ declare const StatusRenderer: TResponsiveTableCellRenderer<{
|
|
|
616
625
|
|
|
617
626
|
declare const TableRenderer: React__default.MemoExoticComponent<() => React__default.JSX.Element>;
|
|
618
627
|
|
|
619
|
-
export { AccordionCell, AccordionDocNameCellRenderer, AccordionElement, AccordionHTMLCellRenderer, AccordionRenderer, AdditionalColumnDefaultRenderer, DefaultCellRenderer, DefaultRowRenderer, DocNameCellRenderer, HTMLCellRenderer, IAccordionElement, IsLoadingRenderer, NoRegistersRenderer, PriorityAccordionRenderer, PriorityRenderer, ResponsiveTable, ResponsiveTableContext, RowStatesRenderer, StatusAccordionRenderer, StatusRenderer, TAccordionCellRenderer, TAccordionCellRendererProps, TColoredElement, TDocNameCellRenderer, TDocNameCellRendererProps, TResponsiveTableCell, TResponsiveTableCellRenderer, TResponsiveTableCellRendererProps, TResponsiveTableColumn, TResponsiveTableContext, TResponsiveTableContextProps, TResponsiveTableRow, TResponsiveTableRowRenderer, TResponsiveTableRowRendererProps, TResponsiveTableRowState, TResponsiveTableRowsSelectionEvent, TResponsiveTableSortChangeEvent, TResponsiveTableSortValue, TResponsiveTableStoreProps, TResponsiveTableWithRendererElement, TableRenderer, defaultLabels, getPriorityHandler, getStatusRendererClassName, makeAccordionAsyncRenderer, makeAsyncRenderer, responsiveTableActions, responsiveTableStore, useResponsiveTable };
|
|
628
|
+
export { AccordionCell, AccordionDocNameCellRenderer, AccordionElement, AccordionHTMLCellRenderer, AccordionRenderer, AdditionalColumnDefaultRenderer, DefaultCellRenderer, DefaultRowRenderer, DocNameCellRenderer, HTMLCellRenderer, IAccordionElement, IsLoadingRenderer, NoRegistersRenderer, PriorityAccordionRenderer, PriorityRenderer, ResponsiveTable, ResponsiveTableContext, RowStatesRenderer, StatusAccordionRenderer, StatusRenderer, TAccordionCellRenderer, TAccordionCellRendererProps, TColoredElement, TDocNameCellRenderer, TDocNameCellRendererProps, TResponsiveTableCell, TResponsiveTableCellRenderer, TResponsiveTableCellRendererProps, TResponsiveTableColumn, TResponsiveTableContext, TResponsiveTableContextProps, TResponsiveTableRow, TResponsiveTableRowRenderer, TResponsiveTableRowRendererProps, TResponsiveTableRowState, TResponsiveTableRowsSelectionEvent, TResponsiveTableSortChangeEvent, TResponsiveTableSortValue, TResponsiveTableStoreProps, TResponsiveTableWithRendererElement, TableRenderer, defaultLabels, getPriorityHandler, getStatusRendererClassName, makeAccordionAsyncRenderer, makeAsyncRenderer, responsiveTableActions, responsiveTableStore, useResponsiveTable, useResponsiveTableContext };
|
package/dist/index.js
CHANGED
|
@@ -2454,17 +2454,17 @@ const NoMemoTableRenderer = () => {
|
|
|
2454
2454
|
const TableRenderer = React.memo(NoMemoTableRenderer);
|
|
2455
2455
|
|
|
2456
2456
|
const NoMemoAccordionCell = ({ cell, column }) => {
|
|
2457
|
-
var _a;
|
|
2457
|
+
var _a, _b;
|
|
2458
2458
|
return /* @__PURE__ */ jsxs(
|
|
2459
2459
|
Box,
|
|
2460
2460
|
{
|
|
2461
|
-
className:
|
|
2461
|
+
className: `responsiveTable__accordionElement__column ${(_a = cell.className) != null ? _a : ""}`,
|
|
2462
2462
|
children: [
|
|
2463
2463
|
/* @__PURE__ */ jsxs(Box, { as: "strong", children: [
|
|
2464
|
-
(
|
|
2464
|
+
(_b = column.label) != null ? _b : column.name,
|
|
2465
2465
|
": "
|
|
2466
2466
|
] }),
|
|
2467
|
-
/* @__PURE__ */ jsx(Box, { as: "span", children: cell == null ? void 0 : cell.children })
|
|
2467
|
+
/* @__PURE__ */ jsx(Box, { as: "span", sx: { color: cell.color, background: cell.background }, children: cell == null ? void 0 : cell.children })
|
|
2468
2468
|
]
|
|
2469
2469
|
},
|
|
2470
2470
|
column.name
|
|
@@ -2473,6 +2473,7 @@ const NoMemoAccordionCell = ({ cell, column }) => {
|
|
|
2473
2473
|
const AccordionCell = NoMemoAccordionCell;
|
|
2474
2474
|
|
|
2475
2475
|
const NoMemoAccordionElement = ({ row, rowIndex }) => {
|
|
2476
|
+
var _a, _b;
|
|
2476
2477
|
const { name } = useResponsiveTableContext();
|
|
2477
2478
|
const indexColumns = useResponsiveTable((global) => {
|
|
2478
2479
|
const tableState = global.responsiveTableSlice[name];
|
|
@@ -2483,7 +2484,7 @@ const NoMemoAccordionElement = ({ row, rowIndex }) => {
|
|
|
2483
2484
|
return tableState == null ? void 0 : tableState.columns;
|
|
2484
2485
|
}, shallowEqual);
|
|
2485
2486
|
const title = React.useMemo(() => {
|
|
2486
|
-
var
|
|
2487
|
+
var _a2;
|
|
2487
2488
|
if (row.title)
|
|
2488
2489
|
return row.title;
|
|
2489
2490
|
if (Array.isArray(indexColumns))
|
|
@@ -2493,7 +2494,7 @@ const NoMemoAccordionElement = ({ row, rowIndex }) => {
|
|
|
2493
2494
|
row.cells[current.index].title || row.cells[current.index].children
|
|
2494
2495
|
)
|
|
2495
2496
|
).join(" | ");
|
|
2496
|
-
return (
|
|
2497
|
+
return (_a2 = row.cells[0].title) != null ? _a2 : row.cells[0].children;
|
|
2497
2498
|
}, [indexColumns, row.cells, row.title]);
|
|
2498
2499
|
const isSelected = useResponsiveTable(
|
|
2499
2500
|
(global) => global.responsiveTableSlice[name].allowSelection !== false ? global.responsiveTableSlice[name].selectedRows.includes(rowIndex) : void 0
|
|
@@ -2502,34 +2503,56 @@ const NoMemoAccordionElement = ({ row, rowIndex }) => {
|
|
|
2502
2503
|
(global) => global.responsiveTableSlice[name].focusedRow === rowIndex
|
|
2503
2504
|
);
|
|
2504
2505
|
const buttonProps = useMemo(
|
|
2505
|
-
() =>
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2506
|
+
() => {
|
|
2507
|
+
var _a2, _b2;
|
|
2508
|
+
return {
|
|
2509
|
+
title,
|
|
2510
|
+
ariaLabel: title,
|
|
2511
|
+
label: title,
|
|
2512
|
+
checked: isSelected,
|
|
2513
|
+
onChange: (isChecked) => {
|
|
2514
|
+
const isMultiple = responsiveTableStore.getState().responsiveTableSlice[name].isMultiple;
|
|
2515
|
+
responsiveTableStore.dispatch(
|
|
2516
|
+
responsiveTableActions.update({
|
|
2517
|
+
tableName: name,
|
|
2518
|
+
selectedRows: isMultiple ? isChecked ? [
|
|
2519
|
+
...responsiveTableStore.getState().responsiveTableSlice[name].selectedRows,
|
|
2520
|
+
rowIndex
|
|
2521
|
+
] : responsiveTableStore.getState().responsiveTableSlice[name].selectedRows.filter(
|
|
2522
|
+
(current) => current !== rowIndex
|
|
2523
|
+
) : [rowIndex]
|
|
2524
|
+
})
|
|
2525
|
+
);
|
|
2526
|
+
},
|
|
2527
|
+
tabIndex: isFocused ? 0 : -1,
|
|
2528
|
+
rightButtons: (_a2 = row.accordionButtonProps) == null ? void 0 : _a2.rightButtons,
|
|
2529
|
+
onUserPressEnter: (_b2 = row.accordionButtonProps) == null ? void 0 : _b2.onUserPressEnter,
|
|
2530
|
+
domButtonProps: {
|
|
2531
|
+
buttonSx: {
|
|
2532
|
+
"&.accordion__item__button .accordion__item__button__label": {
|
|
2533
|
+
color: row.color
|
|
2534
|
+
}
|
|
2535
|
+
}
|
|
2536
|
+
}
|
|
2537
|
+
};
|
|
2538
|
+
},
|
|
2539
|
+
[
|
|
2540
|
+
isFocused,
|
|
2541
|
+
isSelected,
|
|
2542
|
+
name,
|
|
2543
|
+
(_a = row.accordionButtonProps) == null ? void 0 : _a.onUserPressEnter,
|
|
2544
|
+
(_b = row.accordionButtonProps) == null ? void 0 : _b.rightButtons,
|
|
2545
|
+
row.color,
|
|
2546
|
+
rowIndex,
|
|
2547
|
+
title
|
|
2548
|
+
]
|
|
2526
2549
|
);
|
|
2527
2550
|
if (!Array.isArray(indexColumns) || !columns)
|
|
2528
2551
|
return null;
|
|
2529
2552
|
return /* @__PURE__ */ jsxs(AccordionItem, { id: row.id, buttonProps, children: [
|
|
2530
2553
|
columns.map((currentColumn, columnIndex) => {
|
|
2531
|
-
var
|
|
2532
|
-
const Renderer = (
|
|
2554
|
+
var _a2, _b2;
|
|
2555
|
+
const Renderer = (_b2 = (_a2 = row.cells[columnIndex].AccordionRenderer) != null ? _a2 : currentColumn.AccordionRenderer) != null ? _b2 : AccordionCell;
|
|
2533
2556
|
return currentColumn.hideFromAccordion || currentColumn.showAsAdditional ? null : /* @__PURE__ */ jsx(
|
|
2534
2557
|
Renderer,
|
|
2535
2558
|
{
|
|
@@ -2543,8 +2566,8 @@ const NoMemoAccordionElement = ({ row, rowIndex }) => {
|
|
|
2543
2566
|
);
|
|
2544
2567
|
}),
|
|
2545
2568
|
columns.filter((current) => !!current.showAsAdditional).map((currentColumn, columnIndex) => {
|
|
2546
|
-
var
|
|
2547
|
-
const Renderer = (
|
|
2569
|
+
var _a2, _b2;
|
|
2570
|
+
const Renderer = (_b2 = (_a2 = row.cells[columnIndex].AccordionRenderer) != null ? _a2 : currentColumn.AccordionRenderer) != null ? _b2 : AccordionCell;
|
|
2548
2571
|
return currentColumn.hideFromAccordion ? null : /* @__PURE__ */ jsx(
|
|
2549
2572
|
Renderer,
|
|
2550
2573
|
{
|
|
@@ -3237,4 +3260,4 @@ const NoMemoStatusAccordionRenderer = React.forwardRef(({ cell, column }, curren
|
|
|
3237
3260
|
NoMemoStatusAccordionRenderer.displayName = "StatusAccordionRenderer";
|
|
3238
3261
|
const StatusAccordionRenderer = NoMemoStatusAccordionRenderer;
|
|
3239
3262
|
|
|
3240
|
-
export { AccordionCell, AccordionDocNameCellRenderer, AccordionElement, AccordionHTMLCellRenderer, AccordionRenderer, AdditionalColumnDefaultRenderer, DefaultCellRenderer, DefaultRowRenderer, DocNameCellRenderer, HTMLCellRenderer, IsLoadingRenderer, NoRegistersRenderer, PriorityAccordionRenderer, PriorityRenderer, ResponsiveTable, ResponsiveTableContext, RowStatesRenderer, StatusAccordionRenderer, StatusRenderer, TableRenderer, defaultLabels, getPriorityHandler, getStatusRendererClassName, makeAccordionAsyncRenderer, makeAsyncRenderer, responsiveTableActions, responsiveTableStore, useResponsiveTable };
|
|
3263
|
+
export { AccordionCell, AccordionDocNameCellRenderer, AccordionElement, AccordionHTMLCellRenderer, AccordionRenderer, AdditionalColumnDefaultRenderer, DefaultCellRenderer, DefaultRowRenderer, DocNameCellRenderer, HTMLCellRenderer, IsLoadingRenderer, NoRegistersRenderer, PriorityAccordionRenderer, PriorityRenderer, ResponsiveTable, ResponsiveTableContext, RowStatesRenderer, StatusAccordionRenderer, StatusRenderer, TableRenderer, defaultLabels, getPriorityHandler, getStatusRendererClassName, makeAccordionAsyncRenderer, makeAsyncRenderer, responsiveTableActions, responsiveTableStore, useResponsiveTable, useResponsiveTableContext };
|