@elliemae/ds-data-table 3.3.1 → 3.4.0-next.0
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/cjs/DataTableContext.js +2 -16
- package/dist/cjs/DataTableContext.js.map +2 -2
- package/dist/cjs/DataTableSchema.js +0 -2
- package/dist/cjs/DataTableSchema.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnAction/ColumnAction.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +69 -68
- package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +32 -35
- package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +13 -18
- package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
- package/dist/cjs/addons/Columns/index.js +1 -7
- package/dist/cjs/addons/Columns/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +1 -3
- package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js +1 -3
- package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +23 -3
- package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +55 -0
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +7 -0
- package/dist/cjs/addons/Filters/Components/SelectFilter/{utils.js → SingleCreatableFilter.js} +30 -16
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +7 -0
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +0 -1
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/index.js +2 -0
- package/dist/cjs/addons/Filters/Components/index.js.map +2 -2
- package/dist/cjs/configs/useRowFlattenization.js +4 -3
- package/dist/cjs/configs/useRowFlattenization.js.map +2 -2
- package/dist/cjs/configs/useTableColsWithAddons.js +18 -6
- package/dist/cjs/configs/useTableColsWithAddons.js.map +2 -2
- package/dist/cjs/exported-related/FilterTypes.js +2 -0
- package/dist/cjs/exported-related/FilterTypes.js.map +2 -2
- package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +2 -2
- package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
- package/dist/cjs/exported-related/RowRenderer/useRowStyle.js.map +2 -2
- package/dist/cjs/helpers/addCellData.js +7 -3
- package/dist/cjs/helpers/addCellData.js.map +2 -2
- package/dist/cjs/helpers/getIdFromUniqueRowAccessor.js.map +2 -2
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/parts/DropIndicator.js +11 -11
- package/dist/cjs/parts/DropIndicator.js.map +2 -2
- package/dist/cjs/parts/Filters/index.js +2 -0
- package/dist/cjs/parts/Filters/index.js.map +2 -2
- package/dist/cjs/parts/HoC/SortableItemContext.js +0 -8
- package/dist/cjs/parts/HoC/SortableItemContext.js.map +2 -2
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +2 -2
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
- package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js +2 -1
- package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
- package/dist/cjs/parts/RowVariants/types.js.map +1 -1
- package/dist/cjs/types/props.js +14 -0
- package/dist/cjs/types/props.js.map +2 -2
- package/dist/esm/DataTableContext.js +2 -16
- package/dist/esm/DataTableContext.js.map +2 -2
- package/dist/esm/DataTableSchema.js +0 -2
- package/dist/esm/DataTableSchema.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnAction/ColumnAction.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js +69 -68
- package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +32 -35
- package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +14 -19
- package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
- package/dist/esm/addons/Columns/index.js +1 -7
- package/dist/esm/addons/Columns/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +2 -4
- package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js +2 -4
- package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +24 -4
- package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +32 -0
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +7 -0
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +31 -0
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +7 -0
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +0 -1
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/index.js +2 -0
- package/dist/esm/addons/Filters/Components/index.js.map +2 -2
- package/dist/esm/configs/useRowFlattenization.js +4 -3
- package/dist/esm/configs/useRowFlattenization.js.map +2 -2
- package/dist/esm/configs/useTableColsWithAddons.js +18 -6
- package/dist/esm/configs/useTableColsWithAddons.js.map +2 -2
- package/dist/esm/exported-related/FilterTypes.js +2 -0
- package/dist/esm/exported-related/FilterTypes.js.map +2 -2
- package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +1 -1
- package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
- package/dist/esm/exported-related/RowRenderer/useRowStyle.js.map +1 -1
- package/dist/esm/helpers/addCellData.js +7 -3
- package/dist/esm/helpers/addCellData.js.map +2 -2
- package/dist/esm/helpers/getIdFromUniqueRowAccessor.js.map +2 -2
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/parts/DropIndicator.js +1 -1
- package/dist/esm/parts/DropIndicator.js.map +1 -1
- package/dist/esm/parts/Filters/index.js +5 -1
- package/dist/esm/parts/Filters/index.js.map +2 -2
- package/dist/esm/parts/HoC/SortableItemContext.js +0 -8
- package/dist/esm/parts/HoC/SortableItemContext.js.map +2 -2
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +1 -1
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +1 -1
- package/dist/esm/parts/HoC/withDnDSortableColumnContext.js +2 -1
- package/dist/esm/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
- package/dist/esm/types/props.js +10 -0
- package/dist/esm/types/props.js.map +3 -3
- package/package.json +18 -18
- package/dist/cjs/addons/Filters/Components/SelectFilter/components.js +0 -80
- package/dist/cjs/addons/Filters/Components/SelectFilter/components.js.map +0 -7
- package/dist/cjs/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +0 -86
- package/dist/cjs/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js.map +0 -7
- package/dist/cjs/addons/Filters/Components/SelectFilter/utils.js.map +0 -7
- package/dist/esm/addons/Filters/Components/SelectFilter/components.js +0 -57
- package/dist/esm/addons/Filters/Components/SelectFilter/components.js.map +0 -7
- package/dist/esm/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +0 -63
- package/dist/esm/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js.map +0 -7
- package/dist/esm/addons/Filters/Components/SelectFilter/utils.js +0 -17
- package/dist/esm/addons/Filters/Components/SelectFilter/utils.js.map +0 -7
|
@@ -8,7 +8,7 @@ const trueReturner = new Proxy({}, {
|
|
|
8
8
|
const flatten = (data, expandedRows, uniqueRowAccessor, maxDepth = 0) => {
|
|
9
9
|
const result = [];
|
|
10
10
|
const doit = (row, index = 0, parentId = null, parentIndex = null, depth = 0) => {
|
|
11
|
-
const id = (parentId ? `${parentId}.` : "") + index.toString();
|
|
11
|
+
const id = (parentId !== null ? `${parentId}.` : "") + index.toString();
|
|
12
12
|
const uid = getIdFromUniqueRowAccessor(uniqueRowAccessor, {
|
|
13
13
|
id,
|
|
14
14
|
original: row ?? {}
|
|
@@ -25,7 +25,8 @@ const flatten = (data, expandedRows, uniqueRowAccessor, maxDepth = 0) => {
|
|
|
25
25
|
isExpanded,
|
|
26
26
|
subRows: row?.subRows ?? [],
|
|
27
27
|
childrenCount: row?.subRows?.length ?? 0,
|
|
28
|
-
original: row ?? {}
|
|
28
|
+
original: row ?? {},
|
|
29
|
+
cells: []
|
|
29
30
|
};
|
|
30
31
|
result.push(rowToPush);
|
|
31
32
|
if (row?.subRows && expandedRows[uid] && depth <= maxDepth) {
|
|
@@ -37,7 +38,7 @@ const flatten = (data, expandedRows, uniqueRowAccessor, maxDepth = 0) => {
|
|
|
37
38
|
};
|
|
38
39
|
const useRowFlattenization = (props) => {
|
|
39
40
|
const { data } = props;
|
|
40
|
-
const expandedRows = props.isExpandable ? props.expandedRows : emptyObject;
|
|
41
|
+
const expandedRows = props.isExpandable ? props.expandedRows ?? emptyObject : emptyObject;
|
|
41
42
|
const flattenedData = useMemo(() => flatten(data, expandedRows, props.uniqueRowAccessor), [data, expandedRows, props.uniqueRowAccessor]);
|
|
42
43
|
const allDataFlattened = useMemo(() => flatten(data, trueReturner, props.uniqueRowAccessor, Infinity), [data, props.uniqueRowAccessor]);
|
|
43
44
|
return [flattenedData, allDataFlattened];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/configs/useRowFlattenization.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nimport { useMemo } from 'react';\nimport { getIdFromUniqueRowAccessor } from '../helpers/getIdFromUniqueRowAccessor';\nimport { TypescriptProps, TypescriptRow,
|
|
5
|
-
"mappings": "AAAA;ACCA;AACA;AAGA,MAAM,cAAc,CAAC;AAErB,MAAM,eAAe,IAAI,MACvB,CAAC,GACD;AAAA,EACE,KAAK,MAAM;AACb,CACF;AAEA,MAAM,UAAU,CACd,MACA,cACA,mBACA,WAAW,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nimport { useMemo } from 'react';\nimport { getIdFromUniqueRowAccessor } from '../helpers/getIdFromUniqueRowAccessor';\nimport { InternalTypescriptRow, TypescriptProps, TypescriptRow, UniqueRowAccessorType } from '../types/props';\n\nconst emptyObject = {};\n\nconst trueReturner = new Proxy(\n {},\n {\n get: () => true,\n },\n);\n\nconst flatten = (\n data: TypescriptRow[],\n expandedRows: Record<string, boolean>,\n uniqueRowAccessor: UniqueRowAccessorType,\n maxDepth = 0,\n): InternalTypescriptRow[] => {\n const result: InternalTypescriptRow[] = [];\n const doit = (\n row: TypescriptRow,\n index = 0,\n parentId: string | null = null,\n parentIndex: number | null = null,\n depth = 0,\n ) => {\n const id = (parentId !== null ? `${parentId}.` : '') + index.toString();\n\n const uid = getIdFromUniqueRowAccessor(uniqueRowAccessor, {\n id,\n original: row ?? {},\n });\n\n const isExpanded = expandedRows[uid];\n\n const rowToPush: InternalTypescriptRow = {\n id,\n uid,\n index,\n realIndex: result.length,\n parentId,\n parentIndex,\n depth,\n isExpanded,\n subRows: row?.subRows ?? [],\n childrenCount: row?.subRows?.length ?? 0,\n original: row ?? {},\n cells: [],\n };\n\n result.push(rowToPush);\n\n // If we have subrows and we are expanded\n if (row?.subRows && expandedRows[uid] && depth <= maxDepth) {\n row.subRows.forEach((subRow: TypescriptRow, i: number) => doit(subRow, i, uid, rowToPush.realIndex, depth + 1));\n }\n };\n\n data.forEach((row, i) => doit(row, i));\n return result;\n};\n\nexport const useRowFlattenization = (props: TypescriptProps): [InternalTypescriptRow[], InternalTypescriptRow[]] => {\n const { data } = props;\n\n const expandedRows = props.isExpandable ? props.expandedRows ?? emptyObject : emptyObject;\n\n const flattenedData = useMemo(\n () => flatten(data, expandedRows, props.uniqueRowAccessor),\n [data, expandedRows, props.uniqueRowAccessor],\n );\n\n const allDataFlattened = useMemo(\n () => flatten(data, trueReturner, props.uniqueRowAccessor, Infinity),\n [data, props.uniqueRowAccessor],\n );\n\n return [flattenedData, allDataFlattened];\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACCA;AACA;AAGA,MAAM,cAAc,CAAC;AAErB,MAAM,eAAe,IAAI,MACvB,CAAC,GACD;AAAA,EACE,KAAK,MAAM;AACb,CACF;AAEA,MAAM,UAAU,CACd,MACA,cACA,mBACA,WAAW,MACiB;AAC5B,QAAM,SAAkC,CAAC;AACzC,QAAM,OAAO,CACX,KACA,QAAQ,GACR,WAA0B,MAC1B,cAA6B,MAC7B,QAAQ,MACL;AACH,UAAM,KAAM,cAAa,OAAO,GAAG,cAAc,MAAM,MAAM,SAAS;AAEtE,UAAM,MAAM,2BAA2B,mBAAmB;AAAA,MACxD;AAAA,MACA,UAAU,OAAO,CAAC;AAAA,IACpB,CAAC;AAED,UAAM,aAAa,aAAa;AAEhC,UAAM,YAAmC;AAAA,MACvC;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW,OAAO;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,KAAK,WAAW,CAAC;AAAA,MAC1B,eAAe,KAAK,SAAS,UAAU;AAAA,MACvC,UAAU,OAAO,CAAC;AAAA,MAClB,OAAO,CAAC;AAAA,IACV;AAEA,WAAO,KAAK,SAAS;AAGrB,QAAI,KAAK,WAAW,aAAa,QAAQ,SAAS,UAAU;AAC1D,UAAI,QAAQ,QAAQ,CAAC,QAAuB,MAAc,KAAK,QAAQ,GAAG,KAAK,UAAU,WAAW,QAAQ,CAAC,CAAC;AAAA,IAChH;AAAA,EACF;AAEA,OAAK,QAAQ,CAAC,KAAK,MAAM,KAAK,KAAK,CAAC,CAAC;AACrC,SAAO;AACT;AAEO,MAAM,uBAAuB,CAAC,UAA+E;AAClH,QAAM,EAAE,SAAS;AAEjB,QAAM,eAAe,MAAM,eAAe,MAAM,gBAAgB,cAAc;AAE9E,QAAM,gBAAgB,QACpB,MAAM,QAAQ,MAAM,cAAc,MAAM,iBAAiB,GACzD,CAAC,MAAM,cAAc,MAAM,iBAAiB,CAC9C;AAEA,QAAM,mBAAmB,QACvB,MAAM,QAAQ,MAAM,cAAc,MAAM,mBAAmB,QAAQ,GACnE,CAAC,MAAM,MAAM,iBAAiB,CAChC;AAEA,SAAO,CAAC,eAAe,gBAAgB;AACzC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -26,6 +26,7 @@ const augmentColumns = (columns) => {
|
|
|
26
26
|
};
|
|
27
27
|
return columns.map((col, index) => augmentColumn(col, index));
|
|
28
28
|
};
|
|
29
|
+
const isColumnInArrayOfColumns = (columns, col) => columns.some((column) => column.id === col.id);
|
|
29
30
|
const useTableColsWithAddons = ({
|
|
30
31
|
columns,
|
|
31
32
|
renderRowActions,
|
|
@@ -36,17 +37,28 @@ const useTableColsWithAddons = ({
|
|
|
36
37
|
noSelectionColumn
|
|
37
38
|
}) => useMemo(() => {
|
|
38
39
|
const columnsWithAddons = [...augmentColumns(columns)];
|
|
40
|
+
const colsToPrepend = [];
|
|
39
41
|
if (isExpandable)
|
|
40
|
-
|
|
41
|
-
if (selection && !noSelectionColumn)
|
|
42
|
+
colsToPrepend.push(expandRowColumn);
|
|
43
|
+
if (selection && !noSelectionColumn) {
|
|
42
44
|
if (selectSingle)
|
|
43
|
-
|
|
45
|
+
colsToPrepend.push(singleSelectColumn);
|
|
44
46
|
else
|
|
45
|
-
|
|
47
|
+
colsToPrepend.push(multiSelectColumn);
|
|
48
|
+
}
|
|
46
49
|
if (dragAndDropRows)
|
|
47
|
-
|
|
50
|
+
colsToPrepend.push(dragHandleColumn);
|
|
51
|
+
const colsToAppend = [];
|
|
48
52
|
if (renderRowActions)
|
|
49
|
-
|
|
53
|
+
colsToPrepend.push(actionColumn(renderRowActions));
|
|
54
|
+
colsToPrepend.forEach((col) => {
|
|
55
|
+
if (!isColumnInArrayOfColumns(columnsWithAddons, col))
|
|
56
|
+
columnsWithAddons.unshift(col);
|
|
57
|
+
});
|
|
58
|
+
colsToAppend.forEach((col) => {
|
|
59
|
+
if (!isColumnInArrayOfColumns(columnsWithAddons, col))
|
|
60
|
+
columnsWithAddons.push(col);
|
|
61
|
+
});
|
|
50
62
|
return columnsWithAddons;
|
|
51
63
|
}, [columns, isExpandable, selection, noSelectionColumn, selectSingle, dragAndDropRows, renderRowActions]);
|
|
52
64
|
var useTableColsWithAddons_default = useTableColsWithAddons;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/configs/useTableColsWithAddons.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nimport { createRef, useMemo } from 'react';\nimport { TypescriptColumn, TypescriptProps } from '../types/props';\n\nimport {\n dragHandleColumn,\n expandRowColumn,\n actionColumn,\n singleSelectColumn,\n multiSelectColumn,\n} from '../addons/Columns';\n\ntype useTableColsWithAddonsType = (config: TypescriptProps) => TypescriptColumn[];\n\nconst augmentColumns = (columns: TypescriptColumn[]): TypescriptColumn[] => {\n const augmentColumn = (column: TypescriptColumn, index: number, parentId = null, depth = 0) => {\n let id = `column${index}`;\n if (typeof column.Header === 'string') id = column.Header;\n if (typeof column.accessor === 'string') id = column.accessor;\n if (column.columns) column.columns = column.columns.map((col, i) => augmentColumn(col, i, id, depth + 1));\n return {\n id,\n parentId,\n depth,\n ...column,\n ref: createRef<HTMLTableColElement>(),\n };\n };\n return columns.map((col, index) => augmentColumn(col, index));\n};\n\nconst useTableColsWithAddons: useTableColsWithAddonsType = ({\n columns,\n renderRowActions,\n isExpandable,\n selectSingle,\n selection,\n dragAndDropRows,\n noSelectionColumn,\n}) =>\n useMemo(() => {\n const columnsWithAddons = [...augmentColumns(columns)];\n\n if (isExpandable)
|
|
5
|
-
"mappings": "AAAA;ACCA;AAGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,MAAM,iBAAiB,CAAC,YAAoD;AAC1E,QAAM,gBAAgB,CAAC,QAA0B,OAAe,WAAW,MAAM,QAAQ,MAAM;AAC7F,QAAI,KAAK,SAAS;AAClB,QAAI,OAAO,OAAO,WAAW;AAAU,WAAK,OAAO;AACnD,QAAI,OAAO,OAAO,aAAa;AAAU,WAAK,OAAO;AACrD,QAAI,OAAO;AAAS,aAAO,UAAU,OAAO,QAAQ,IAAI,CAAC,KAAK,MAAM,cAAc,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC;AACxG,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,MACH,KAAK,UAA+B;AAAA,IACtC;AAAA,EACF;AACA,SAAO,QAAQ,IAAI,CAAC,KAAK,UAAU,cAAc,KAAK,KAAK,CAAC;AAC9D;AAEA,MAAM,yBAAqD,CAAC;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MAEA,QAAQ,MAAM;AACZ,QAAM,oBAAoB,CAAC,GAAG,eAAe,OAAO,CAAC;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nimport { createRef, useMemo } from 'react';\nimport { TypescriptColumn, TypescriptProps } from '../types/props';\n\nimport {\n dragHandleColumn,\n expandRowColumn,\n actionColumn,\n singleSelectColumn,\n multiSelectColumn,\n} from '../addons/Columns';\n\ntype useTableColsWithAddonsType = (config: TypescriptProps) => TypescriptColumn[];\n\nconst augmentColumns = (columns: TypescriptColumn[]): TypescriptColumn[] => {\n const augmentColumn = (column: TypescriptColumn, index: number, parentId = null, depth = 0) => {\n let id = `column${index}`;\n if (typeof column.Header === 'string') id = column.Header;\n if (typeof column.accessor === 'string') id = column.accessor;\n if (column.columns) column.columns = column.columns.map((col, i) => augmentColumn(col, i, id, depth + 1));\n return {\n id,\n parentId,\n depth,\n ...column,\n ref: createRef<HTMLTableColElement>(),\n };\n };\n return columns.map((col, index) => augmentColumn(col, index));\n};\n\nconst isColumnInArrayOfColumns = (columns: TypescriptColumn[], col: TypescriptColumn) =>\n columns.some((column) => column.id === col.id);\n\nconst useTableColsWithAddons: useTableColsWithAddonsType = ({\n columns,\n renderRowActions,\n isExpandable,\n selectSingle,\n selection,\n dragAndDropRows,\n noSelectionColumn,\n}) =>\n useMemo(() => {\n const columnsWithAddons = [...augmentColumns(columns)];\n\n // Columns to be prepended\n const colsToPrepend: TypescriptColumn[] = [];\n\n if (isExpandable) colsToPrepend.push(expandRowColumn);\n if (selection && !noSelectionColumn) {\n if (selectSingle) colsToPrepend.push(singleSelectColumn);\n else colsToPrepend.push(multiSelectColumn);\n }\n if (dragAndDropRows) colsToPrepend.push(dragHandleColumn);\n\n // Columns to be appended\n const colsToAppend: TypescriptColumn[] = [];\n\n if (renderRowActions) colsToPrepend.push(actionColumn(renderRowActions));\n\n // Prepend or append all the columns that were not extended by the user\n colsToPrepend.forEach((col) => {\n if (!isColumnInArrayOfColumns(columnsWithAddons, col)) columnsWithAddons.unshift(col);\n });\n colsToAppend.forEach((col) => {\n if (!isColumnInArrayOfColumns(columnsWithAddons, col)) columnsWithAddons.push(col);\n });\n\n return columnsWithAddons;\n }, [columns, isExpandable, selection, noSelectionColumn, selectSingle, dragAndDropRows, renderRowActions]);\n\nexport { useTableColsWithAddons };\nexport default useTableColsWithAddons;\n"],
|
|
5
|
+
"mappings": "AAAA;ACCA;AAGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,MAAM,iBAAiB,CAAC,YAAoD;AAC1E,QAAM,gBAAgB,CAAC,QAA0B,OAAe,WAAW,MAAM,QAAQ,MAAM;AAC7F,QAAI,KAAK,SAAS;AAClB,QAAI,OAAO,OAAO,WAAW;AAAU,WAAK,OAAO;AACnD,QAAI,OAAO,OAAO,aAAa;AAAU,WAAK,OAAO;AACrD,QAAI,OAAO;AAAS,aAAO,UAAU,OAAO,QAAQ,IAAI,CAAC,KAAK,MAAM,cAAc,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC;AACxG,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,MACH,KAAK,UAA+B;AAAA,IACtC;AAAA,EACF;AACA,SAAO,QAAQ,IAAI,CAAC,KAAK,UAAU,cAAc,KAAK,KAAK,CAAC;AAC9D;AAEA,MAAM,2BAA2B,CAAC,SAA6B,QAC7D,QAAQ,KAAK,CAAC,WAAW,OAAO,OAAO,IAAI,EAAE;AAE/C,MAAM,yBAAqD,CAAC;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MAEA,QAAQ,MAAM;AACZ,QAAM,oBAAoB,CAAC,GAAG,eAAe,OAAO,CAAC;AAGrD,QAAM,gBAAoC,CAAC;AAE3C,MAAI;AAAc,kBAAc,KAAK,eAAe;AACpD,MAAI,aAAa,CAAC,mBAAmB;AACnC,QAAI;AAAc,oBAAc,KAAK,kBAAkB;AAAA;AAClD,oBAAc,KAAK,iBAAiB;AAAA,EAC3C;AACA,MAAI;AAAiB,kBAAc,KAAK,gBAAgB;AAGxD,QAAM,eAAmC,CAAC;AAE1C,MAAI;AAAkB,kBAAc,KAAK,aAAa,gBAAgB,CAAC;AAGvE,gBAAc,QAAQ,CAAC,QAAQ;AAC7B,QAAI,CAAC,yBAAyB,mBAAmB,GAAG;AAAG,wBAAkB,QAAQ,GAAG;AAAA,EACtF,CAAC;AACD,eAAa,QAAQ,CAAC,QAAQ;AAC5B,QAAI,CAAC,yBAAyB,mBAAmB,GAAG;AAAG,wBAAkB,KAAK,GAAG;AAAA,EACnF,CAAC;AAED,SAAO;AACT,GAAG,CAAC,SAAS,cAAc,WAAW,mBAAmB,cAAc,iBAAiB,gBAAgB,CAAC;AAG3G,IAAO,iCAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
const FILTER_TYPES = {
|
|
3
3
|
SELECT: "ds-filter-select",
|
|
4
|
+
CREATABLE_SELECT: "ds-filter-creatable-select",
|
|
4
5
|
MULTI_SELECT: "ds-filter-multi-select",
|
|
6
|
+
CREATABLE_MULTI_SELECT: "ds-filter-multi-creatable-select",
|
|
5
7
|
SINGLE_DATE: "ds-filter-single-date",
|
|
6
8
|
DATE_RANGE: "ds-filter-date-range",
|
|
7
9
|
DATE_SWITCHER: "ds-filter-date-switcher",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/exported-related/FilterTypes.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const FILTER_TYPES = {\n SELECT: 'ds-filter-select',\n MULTI_SELECT: 'ds-filter-multi-select',\n SINGLE_DATE: 'ds-filter-single-date',\n DATE_RANGE: 'ds-filter-date-range',\n DATE_SWITCHER: 'ds-filter-date-switcher',\n NUMBER_RANGE: 'ds-filter-number-range',\n CURRENCY_RANGE: 'ds-filter-currency-range',\n};\n"],
|
|
5
|
-
"mappings": "AAAA;ACAO,MAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,cAAc;AAAA,EACd,gBAAgB;AAClB;",
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const FILTER_TYPES = {\n SELECT: 'ds-filter-select',\n CREATABLE_SELECT: 'ds-filter-creatable-select',\n MULTI_SELECT: 'ds-filter-multi-select',\n CREATABLE_MULTI_SELECT: 'ds-filter-multi-creatable-select',\n SINGLE_DATE: 'ds-filter-single-date',\n DATE_RANGE: 'ds-filter-date-range',\n DATE_SWITCHER: 'ds-filter-date-switcher',\n NUMBER_RANGE: 'ds-filter-number-range',\n CURRENCY_RANGE: 'ds-filter-currency-range',\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACAO,MAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,wBAAwB;AAAA,EACxB,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,cAAc;AAAA,EACd,gBAAgB;AAClB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -3,8 +3,8 @@ import React2, { useMemo, useCallback, useLayoutEffect, useRef } from "react";
|
|
|
3
3
|
import { INTERNAL_COLUMNS } from "../../addons/Columns";
|
|
4
4
|
import { DATA_TESTID } from "../../configs/constants";
|
|
5
5
|
import { Cells } from "../../parts/Cells";
|
|
6
|
-
import { DropIndicatorPosition } from "../../parts/HoC/SortableItemContext";
|
|
7
6
|
import { StyledCellContainer } from "../../styled";
|
|
7
|
+
import { DropIndicatorPosition } from "../../types/props";
|
|
8
8
|
const DetailsWrapper = (props) => /* @__PURE__ */ React2.createElement("div", {
|
|
9
9
|
"data-role": "detail-view",
|
|
10
10
|
style: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/RowRenderer/DefaultRowContentRenderer.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport React, { useMemo, useCallback, useLayoutEffect, useRef } from 'react';\nimport { INTERNAL_COLUMNS } from '../../addons/Columns';\nimport { DATA_TESTID } from '../../configs/constants';\nimport { Cells } from '../../parts/Cells';\nimport {
|
|
5
|
-
"mappings": "AAAA;ACEA;AACA;AACA;AACA;AACA;AAEA
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport React, { useMemo, useCallback, useLayoutEffect, useRef } from 'react';\nimport { INTERNAL_COLUMNS } from '../../addons/Columns';\nimport { DATA_TESTID } from '../../configs/constants';\nimport { Cells } from '../../parts/Cells';\nimport { RowVariantProps } from '../../parts/RowVariants/types';\nimport { StyledCellContainer } from '../../styled';\nimport { DropIndicatorPosition, TypescriptRow } from '../../types/props';\n\nconst DetailsWrapper = (props) => (\n // This can be further customized\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n data-role=\"detail-view\"\n style={{\n borderTop: '1px solid #EBEDF0',\n borderBottom: '1px solid #EBEDF0',\n }}\n onClick={(e) => e.stopPropagation()}\n onKeyDown={(e) => e.stopPropagation()}\n >\n {props.children}\n </div>\n);\n\nconst ariaLabelMessage = (row: TypescriptRow, selected: boolean) =>\n `Row number ${row.realIndex + 1}${row.parentIndex !== null ? `, child of row number ${row.parentIndex + 1}` : ''}. ${\n selected ? 'Selected. ' : ''\n }To interact with the cells press enter`;\n\nexport const DefaultRowContentRenderer: React.ComponentType<RowVariantProps> = (props) => {\n const {\n row,\n ctx: {\n tableProps: { isExpandable, colsLayoutStyle, selection, noSelectionColumn, expandedRows, disabledRows },\n layoutHelpers: { gridLayout },\n visibleColumns,\n },\n draggableProps,\n isDragOverlay,\n backgroundColor = 'white',\n dropIndicatorPosition,\n focusedRowId,\n drilldownRowId,\n compact,\n } = props;\n\n const rowRef = useRef<HTMLDivElement>(null);\n const isDndActive = draggableProps && draggableProps.active;\n const isDragging = draggableProps && draggableProps.isDragging;\n\n useLayoutEffect(() => {\n if (row.uid === focusedRowId) {\n rowRef.current?.focus();\n }\n }, [focusedRowId, row.uid]);\n\n const gridTemplateColProps = useMemo(\n () => ({\n cols: isDragOverlay ? ['24px', 'auto'] : gridLayout,\n isExpandable,\n colLayoutStyle: colsLayoutStyle,\n }),\n [isDragOverlay, gridLayout, colsLayoutStyle, isExpandable],\n );\n\n const detailsIndent = useMemo(() => {\n let padding = 0;\n for (let i = 0; i < visibleColumns.length; i += 1) {\n if (INTERNAL_COLUMNS.includes(visibleColumns[i].id)) {\n padding += visibleColumns[i].width;\n } else {\n padding += row.depth * 32 + 15;\n break;\n }\n }\n return padding;\n }, [row.depth, visibleColumns]);\n\n const handleSelectDisableRow = useCallback(\n (e) => {\n if (disabledRows[row.uid]) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n [disabledRows, row.uid],\n );\n const PureRowContent = useMemo(() => {\n const DetailsView = row.original.tableRowDetails;\n return (\n <>\n <StyledCellContainer\n ref={rowRef}\n key={row.uid}\n tabIndex={disabledRows[row.uid] ? -1 : 0}\n role=\"row\"\n aria-rowindex={row.realIndex + 1}\n aria-label={ariaLabelMessage(row, selection?.[row.uid] === true)}\n aria-selected={selection?.[row.uid] === true}\n aria-expanded={isExpandable ? expandedRows[row.uid] === true : undefined}\n aria-disabled={disabledRows[row.uid]}\n {...gridTemplateColProps}\n backgroundColor={backgroundColor}\n height={compact ? '24px' : 'auto'}\n minHeight={compact ? '24px' : '36px'}\n isDropIndicatorPositionInside={dropIndicatorPosition === DropIndicatorPosition.Inside}\n shouldDisplayHover={!isDndActive && !isDragging && !isDragOverlay}\n isDragOverlay={isDragOverlay}\n isDragging={isDragging}\n selected={noSelectionColumn && selection?.[row.uid] === true}\n disabled={disabledRows[row.uid]}\n data-testid={DATA_TESTID.DATA_TABLE_ROW_CONTENT}\n onMouseDown={handleSelectDisableRow}\n >\n <Cells row={row} isRowSelected={drilldownRowId === row.uid} isDragOverlay={isDragOverlay} key={row.uid} />\n </StyledCellContainer>\n {!isDragOverlay && isExpandable && row.isExpanded && DetailsView && (\n <DetailsWrapper>\n <DetailsView row={row} detailsIndent={detailsIndent} />\n </DetailsWrapper>\n )}\n </>\n );\n }, [\n row,\n disabledRows,\n selection,\n isExpandable,\n expandedRows,\n gridTemplateColProps,\n backgroundColor,\n compact,\n dropIndicatorPosition,\n isDndActive,\n isDragging,\n isDragOverlay,\n noSelectionColumn,\n handleSelectDisableRow,\n drilldownRowId,\n detailsIndent,\n ]);\n\n return PureRowContent;\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACEA;AACA;AACA;AACA;AAEA;AACA;AAEA,MAAM,iBAAiB,CAAC,UAGtB,qCAAC;AAAA,EACC,aAAU;AAAA,EACV,OAAO;AAAA,IACL,WAAW;AAAA,IACX,cAAc;AAAA,EAChB;AAAA,EACA,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,EAClC,WAAW,CAAC,MAAM,EAAE,gBAAgB;AAAA,GAEnC,MAAM,QACT;AAGF,MAAM,mBAAmB,CAAC,KAAoB,aAC5C,cAAc,IAAI,YAAY,IAAI,IAAI,gBAAgB,OAAO,yBAAyB,IAAI,cAAc,MAAM,OAC5G,WAAW,eAAe;AAGvB,MAAM,4BAAkE,CAAC,UAAU;AACxF,QAAM;AAAA,IACJ;AAAA,IACA,KAAK;AAAA,MACH,YAAY,EAAE,cAAc,iBAAiB,WAAW,mBAAmB,cAAc;AAAA,MACzF,eAAe,EAAE;AAAA,MACjB;AAAA;AAAA,IAEF;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,SAAS,OAAuB,IAAI;AAC1C,QAAM,cAAc,kBAAkB,eAAe;AACrD,QAAM,aAAa,kBAAkB,eAAe;AAEpD,kBAAgB,MAAM;AACpB,QAAI,IAAI,QAAQ,cAAc;AAC5B,aAAO,SAAS,MAAM;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC;AAE1B,QAAM,uBAAuB,QAC3B,MAAO;AAAA,IACL,MAAM,gBAAgB,CAAC,QAAQ,MAAM,IAAI;AAAA,IACzC;AAAA,IACA,gBAAgB;AAAA,EAClB,IACA,CAAC,eAAe,YAAY,iBAAiB,YAAY,CAC3D;AAEA,QAAM,gBAAgB,QAAQ,MAAM;AAClC,QAAI,UAAU;AACd,aAAS,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK,GAAG;AACjD,UAAI,iBAAiB,SAAS,eAAe,GAAG,EAAE,GAAG;AACnD,mBAAW,eAAe,GAAG;AAAA,MAC/B,OAAO;AACL,mBAAW,IAAI,QAAQ,KAAK;AAC5B;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT,GAAG,CAAC,IAAI,OAAO,cAAc,CAAC;AAE9B,QAAM,yBAAyB,YAC7B,CAAC,MAAM;AACL,QAAI,aAAa,IAAI,MAAM;AACzB,QAAE,eAAe;AACjB,QAAE,gBAAgB;AAAA,IACpB;AAAA,EACF,GACA,CAAC,cAAc,IAAI,GAAG,CACxB;AACA,QAAM,iBAAiB,QAAQ,MAAM;AACnC,UAAM,cAAc,IAAI,SAAS;AACjC,WACE,4DACE,qCAAC;AAAA,MACC,KAAK;AAAA,MACL,KAAK,IAAI;AAAA,MACT,UAAU,aAAa,IAAI,OAAO,KAAK;AAAA,MACvC,MAAK;AAAA,MACL,iBAAe,IAAI,YAAY;AAAA,MAC/B,cAAY,iBAAiB,KAAK,YAAY,IAAI,SAAS,IAAI;AAAA,MAC/D,iBAAe,YAAY,IAAI,SAAS;AAAA,MACxC,iBAAe,eAAe,aAAa,IAAI,SAAS,OAAO;AAAA,MAC/D,iBAAe,aAAa,IAAI;AAAA,MAC/B,GAAG;AAAA,MACJ;AAAA,MACA,QAAQ,UAAU,SAAS;AAAA,MAC3B,WAAW,UAAU,SAAS;AAAA,MAC9B,+BAA+B,0BAA0B,sBAAsB;AAAA,MAC/E,oBAAoB,CAAC,eAAe,CAAC,cAAc,CAAC;AAAA,MACpD;AAAA,MACA;AAAA,MACA,UAAU,qBAAqB,YAAY,IAAI,SAAS;AAAA,MACxD,UAAU,aAAa,IAAI;AAAA,MAC3B,eAAa,YAAY;AAAA,MACzB,aAAa;AAAA,OAEb,qCAAC;AAAA,MAAM;AAAA,MAAU,eAAe,mBAAmB,IAAI;AAAA,MAAK;AAAA,MAA8B,KAAK,IAAI;AAAA,KAAK,CAC1G,GACC,CAAC,iBAAiB,gBAAgB,IAAI,cAAc,eACnD,qCAAC,sBACC,qCAAC;AAAA,MAAY;AAAA,MAAU;AAAA,KAA8B,CACvD,CAEJ;AAAA,EAEJ,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/RowRenderer/useRowStyle.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useContext, useMemo } from 'react';\nimport DataTableContext from '../../DataTableContext';\nimport { SortableItemContext
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useContext, useMemo } from 'react';\nimport DataTableContext from '../../DataTableContext';\nimport { SortableItemContext } from '../../parts/HoC/SortableItemContext';\nimport { TypescriptRow, DropIndicatorPosition } from '../../types/props';\n\nexport const useRowStyle = (\n row: TypescriptRow,\n): {\n rowStyle: Record<string, unknown>;\n shouldAppendDottedBorder: boolean;\n dropIndicatorPosition: DropIndicatorPosition;\n} => {\n const { flattenedData } = useContext(DataTableContext);\n\n const { draggableProps } = useContext(SortableItemContext);\n\n // ---------------------------------------------------------------------------\n // Border calculation\n // ---------------------------------------------------------------------------\n const [borderTop, borderBottom, shouldAppendDottedBorder]: [string, string, boolean] = useMemo(() => {\n if (row.original.dimsumHeaderValue) {\n return ['none', 'none', false];\n }\n if (row.isExpanded && row.original.subRows && row.depth === 0) {\n return ['1px solid #EBEDF0', 'none', true];\n }\n\n if (row.depth >= 1) {\n if (row.realIndex < flattenedData.length - 1 && flattenedData[row.realIndex + 1].depth === 0) {\n return ['none', '2px solid #EBEDF0', false];\n }\n return ['none', 'none', true];\n }\n\n return ['none', '1px solid #EBEDF0', false];\n }, [row, flattenedData]);\n\n const rowStyle = useMemo(() => ({ borderTop, borderBottom }), [borderTop, borderBottom]);\n\n const dropIndicatorPosition =\n draggableProps && draggableProps.shouldShowDropIndicatorPosition && draggableProps.dropIndicatorPosition;\n\n return {\n rowStyle,\n shouldAppendDottedBorder,\n dropIndicatorPosition,\n };\n};\n"],
|
|
5
5
|
"mappings": "AAAA;ACAA;AACA;AACA;AAGO,MAAM,cAAc,CACzB,QAKG;AACH,QAAM,EAAE,kBAAkB,WAAW,gBAAgB;AAErD,QAAM,EAAE,mBAAmB,WAAW,mBAAmB;AAKzD,QAAM,CAAC,WAAW,cAAc,4BAAuD,QAAQ,MAAM;AACnG,QAAI,IAAI,SAAS,mBAAmB;AAClC,aAAO,CAAC,QAAQ,QAAQ,KAAK;AAAA,IAC/B;AACA,QAAI,IAAI,cAAc,IAAI,SAAS,WAAW,IAAI,UAAU,GAAG;AAC7D,aAAO,CAAC,qBAAqB,QAAQ,IAAI;AAAA,IAC3C;AAEA,QAAI,IAAI,SAAS,GAAG;AAClB,UAAI,IAAI,YAAY,cAAc,SAAS,KAAK,cAAc,IAAI,YAAY,GAAG,UAAU,GAAG;AAC5F,eAAO,CAAC,QAAQ,qBAAqB,KAAK;AAAA,MAC5C;AACA,aAAO,CAAC,QAAQ,QAAQ,IAAI;AAAA,IAC9B;AAEA,WAAO,CAAC,QAAQ,qBAAqB,KAAK;AAAA,EAC5C,GAAG,CAAC,KAAK,aAAa,CAAC;AAEvB,QAAM,WAAW,QAAQ,MAAO,GAAE,WAAW,aAAa,IAAI,CAAC,WAAW,YAAY,CAAC;AAEvF,QAAM,wBACJ,kBAAkB,eAAe,mCAAmC,eAAe;AAErF,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import React2 from "react";
|
|
3
|
-
const BasicCell =
|
|
4
|
-
const getCellValue = (row, accessor) =>
|
|
3
|
+
const BasicCell = ({ cell }) => cell.value;
|
|
4
|
+
const getCellValue = (row, accessor) => {
|
|
5
|
+
if (accessor === void 0)
|
|
6
|
+
return null;
|
|
7
|
+
return row.original[accessor] ?? null;
|
|
8
|
+
};
|
|
5
9
|
const addColumnData = (datum, column) => {
|
|
6
10
|
datum.cells.push({
|
|
7
11
|
column,
|
|
8
12
|
value: getCellValue(datum, column.accessor),
|
|
9
|
-
render: column.Cell
|
|
13
|
+
render: column.Cell ?? BasicCell,
|
|
10
14
|
row: datum,
|
|
11
15
|
ref: React2.createRef(),
|
|
12
16
|
id: `${datum.uid}__${column.id}`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/helpers/addCellData.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "
|
|
5
|
-
"mappings": "AAAA;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport React from 'react';\nimport { InternalTypescriptRow, TypescriptCell, TypescriptColumn } from '../types/props';\n\nconst BasicCell: React.ComponentType<{ cell: TypescriptCell }> = ({ cell }) => cell.value;\n\nconst getCellValue = (row: InternalTypescriptRow, accessor: string | undefined): any => {\n if (accessor === undefined) return null;\n return row.original[accessor] ?? null;\n};\n\nconst addColumnData = (datum: InternalTypescriptRow, column: TypescriptColumn) => {\n datum.cells.push({\n column,\n value: getCellValue(datum, column.accessor),\n render: column.Cell ?? BasicCell,\n row: datum,\n ref: React.createRef(),\n id: `${datum.uid}__${column.id}`,\n });\n};\n\nexport const addCellData = (datum: InternalTypescriptRow, columns: TypescriptColumn[]): void => {\n datum.cells = [];\n columns.forEach((column) => {\n if (column.columns) column.columns.forEach((col) => addColumnData(datum, col));\n else addColumnData(datum, column);\n });\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACEA;AAGA,MAAM,YAA2D,CAAC,EAAE,WAAW,KAAK;AAEpF,MAAM,eAAe,CAAC,KAA4B,aAAsC;AACtF,MAAI,aAAa;AAAW,WAAO;AACnC,SAAO,IAAI,SAAS,aAAa;AACnC;AAEA,MAAM,gBAAgB,CAAC,OAA8B,WAA6B;AAChF,QAAM,MAAM,KAAK;AAAA,IACf;AAAA,IACA,OAAO,aAAa,OAAO,OAAO,QAAQ;AAAA,IAC1C,QAAQ,OAAO,QAAQ;AAAA,IACvB,KAAK;AAAA,IACL,KAAK,OAAM,UAAU;AAAA,IACrB,IAAI,GAAG,MAAM,QAAQ,OAAO;AAAA,EAC9B,CAAC;AACH;AAEO,MAAM,cAAc,CAAC,OAA8B,YAAsC;AAC9F,QAAM,QAAQ,CAAC;AACf,UAAQ,QAAQ,CAAC,WAAW;AAC1B,QAAI,OAAO;AAAS,aAAO,QAAQ,QAAQ,CAAC,QAAQ,cAAc,OAAO,GAAG,CAAC;AAAA;AACxE,oBAAc,OAAO,MAAM;AAAA,EAClC,CAAC;AACH;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/helpers/getIdFromUniqueRowAccessor.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "
|
|
5
|
-
"mappings": "AAAA;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { InternalTypescriptRow, UniqueRowAccessorType } from '../types/props';\n\nexport const getIdFromUniqueRowAccessor = (\n uniqueRowAccessor: UniqueRowAccessorType,\n row: Pick<InternalTypescriptRow, 'id' | 'original'>,\n): string => {\n if (uniqueRowAccessor === undefined) {\n // user did not defined an unique row accesor, use the one generated by react-table\n return row.id.toString();\n }\n\n if (typeof uniqueRowAccessor === 'string') {\n // user specified a field as an unique row accessor\n return row.original[uniqueRowAccessor].toString();\n }\n\n if (Array.isArray(uniqueRowAccessor)) {\n // user specified combination of fields as unique row accessor\n return uniqueRowAccessor.map((key) => row.original[key].toString()).join('__');\n }\n\n // let the user decide on their end what to do\n return uniqueRowAccessor(row.original);\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACKO,MAAM,6BAA6B,CACxC,mBACA,QACW;AACX,MAAI,sBAAsB,QAAW;AAEnC,WAAO,IAAI,GAAG,SAAS;AAAA,EACzB;AAEA,MAAI,OAAO,sBAAsB,UAAU;AAEzC,WAAO,IAAI,SAAS,mBAAmB,SAAS;AAAA,EAClD;AAEA,MAAI,MAAM,QAAQ,iBAAiB,GAAG;AAEpC,WAAO,kBAAkB,IAAI,CAAC,QAAQ,IAAI,SAAS,KAAK,SAAS,CAAC,EAAE,KAAK,IAAI;AAAA,EAC/E;AAGA,SAAO,kBAAkB,IAAI,QAAQ;AACvC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './DataTable';\n\nexport * from './exported-related';\n"],
|
|
5
|
-
"mappings": "AAAA;ACAA;AAEA;",
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './DataTable';\n\nexport * from './exported-related';\n\nexport * from './addons/Columns';\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAEA;AAEA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,7 +2,7 @@ import * as React from "react";
|
|
|
2
2
|
import React2 from "react";
|
|
3
3
|
import { styled } from "@elliemae/ds-system";
|
|
4
4
|
import { ZIndexDataTable } from "../configs/zIndexInternalConfig";
|
|
5
|
-
import { DropIndicatorPosition } from "
|
|
5
|
+
import { DropIndicatorPosition } from "../types/props";
|
|
6
6
|
const getPositionStyles = ({ dropIndicatorPosition, vertical }) => {
|
|
7
7
|
if (vertical) {
|
|
8
8
|
return `
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/DropIndicator.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { ZIndexDataTable } from '../configs/zIndexInternalConfig';\nimport { DropIndicatorPosition } from '
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { ZIndexDataTable } from '../configs/zIndexInternalConfig';\nimport { DropIndicatorPosition } from '../types/props';\n\ninterface DropIndicatorProps {\n vertical: boolean;\n dropIndicatorPosition: DropIndicatorPosition;\n isLast?: boolean;\n}\n\nconst getPositionStyles = ({ dropIndicatorPosition, vertical }: DropIndicatorProps) => {\n if (vertical) {\n return `\n left: ${dropIndicatorPosition === DropIndicatorPosition.Before ? '0' : 'unset'};\n right: ${dropIndicatorPosition === DropIndicatorPosition.After ? '0' : 'unset'};\n `;\n }\n return `\n top: ${dropIndicatorPosition === DropIndicatorPosition.Before ? '0' : 'unset'};\n bottom: ${dropIndicatorPosition === DropIndicatorPosition.After ? '0' : 'unset'};\n `;\n};\n\nconst getCircleStyles = ({ dropIndicatorPosition, vertical }: DropIndicatorProps) => ({\n position: 'absolute',\n zIndex: ZIndexDataTable.DROP_INDICATOR,\n top: vertical || dropIndicatorPosition === DropIndicatorPosition.After ? 'unset' : '-2px',\n bottom: vertical || dropIndicatorPosition === DropIndicatorPosition.Before ? 'unset' : '-2px',\n left: !vertical || dropIndicatorPosition === DropIndicatorPosition.After ? 'unset' : '-2px',\n right: !vertical || dropIndicatorPosition === DropIndicatorPosition.Before ? 'unset' : '-2px',\n opacity: 1,\n});\n\nconst StyledIndicator = styled.div<DropIndicatorProps>`\n position: absolute;\n ${getPositionStyles}\n box-sizing: border-box;\n width: ${(props) => (props.vertical ? '2px' : '100%')};\n height: ${(props) => (props.vertical ? '100%' : '2px')};\n background-color: ${(props) => props.theme.colors.brand[600]};\n z-index: ${ZIndexDataTable.DROP_INDICATOR};\n`;\n\nconst CircleIndicator = (style: Record<string, unknown>) => (\n <svg height=\"6\" width=\"6\" style={style}>\n <circle cx=\"3\" cy=\"3\" r=\"3\" strokeWidth=\"0\" fill=\"#1E79C2\" />\n </svg>\n);\n\nconst DropIndicator = ({ vertical, dropIndicatorPosition, isLast }: DropIndicatorProps): JSX.Element => {\n if (![DropIndicatorPosition.After, DropIndicatorPosition.Before].includes(dropIndicatorPosition)) return null;\n\n const safeDropIndicatorPosition = isLast ? DropIndicatorPosition.Before : dropIndicatorPosition;\n\n return (\n <>\n {CircleIndicator(getCircleStyles({ vertical, dropIndicatorPosition: safeDropIndicatorPosition }))}\n <StyledIndicator vertical={vertical} dropIndicatorPosition={safeDropIndicatorPosition} />\n </>\n );\n};\n\nexport { DropIndicator };\nexport default DropIndicator;\n"],
|
|
5
5
|
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AAQA,MAAM,oBAAoB,CAAC,EAAE,uBAAuB,eAAmC;AACrF,MAAI,UAAU;AACZ,WAAO;AAAA,cACG,0BAA0B,sBAAsB,SAAS,MAAM;AAAA,eAC9D,0BAA0B,sBAAsB,QAAQ,MAAM;AAAA;AAAA,EAE3E;AACA,SAAO;AAAA,aACI,0BAA0B,sBAAsB,SAAS,MAAM;AAAA,gBAC5D,0BAA0B,sBAAsB,QAAQ,MAAM;AAAA;AAE9E;AAEA,MAAM,kBAAkB,CAAC,EAAE,uBAAuB,eAAoC;AAAA,EACpF,UAAU;AAAA,EACV,QAAQ,gBAAgB;AAAA,EACxB,KAAK,YAAY,0BAA0B,sBAAsB,QAAQ,UAAU;AAAA,EACnF,QAAQ,YAAY,0BAA0B,sBAAsB,SAAS,UAAU;AAAA,EACvF,MAAM,CAAC,YAAY,0BAA0B,sBAAsB,QAAQ,UAAU;AAAA,EACrF,OAAO,CAAC,YAAY,0BAA0B,sBAAsB,SAAS,UAAU;AAAA,EACvF,SAAS;AACX;AAEA,MAAM,kBAAkB,OAAO;AAAA;AAAA,IAE3B;AAAA;AAAA,WAEO,CAAC,UAAW,MAAM,WAAW,QAAQ;AAAA,YACpC,CAAC,UAAW,MAAM,WAAW,SAAS;AAAA,sBAC5B,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM;AAAA,aAC7C,gBAAgB;AAAA;AAG7B,MAAM,kBAAkB,CAAC,UACvB,qCAAC;AAAA,EAAI,QAAO;AAAA,EAAI,OAAM;AAAA,EAAI;AAAA,GACxB,qCAAC;AAAA,EAAO,IAAG;AAAA,EAAI,IAAG;AAAA,EAAI,GAAE;AAAA,EAAI,aAAY;AAAA,EAAI,MAAK;AAAA,CAAU,CAC7D;AAGF,MAAM,gBAAgB,CAAC,EAAE,UAAU,uBAAuB,aAA8C;AACtG,MAAI,CAAC,CAAC,sBAAsB,OAAO,sBAAsB,MAAM,EAAE,SAAS,qBAAqB;AAAG,WAAO;AAEzG,QAAM,4BAA4B,SAAS,sBAAsB,SAAS;AAE1E,SACE,4DACG,gBAAgB,gBAAgB,EAAE,UAAU,uBAAuB,0BAA0B,CAAC,CAAC,GAChG,qCAAC;AAAA,IAAgB;AAAA,IAAoB,uBAAuB;AAAA,GAA2B,CACzF;AAEJ;AAGA,IAAO,wBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,8 +4,10 @@ import {
|
|
|
4
4
|
DateRangeFilter,
|
|
5
5
|
DateSwitcherFilter,
|
|
6
6
|
NumberRangeFilter,
|
|
7
|
-
MultiSelectFilter,
|
|
8
7
|
SingleSelectFilter,
|
|
8
|
+
SingleCreatableFilter,
|
|
9
|
+
MultiSelectFilter,
|
|
10
|
+
MultiCreatableFilter,
|
|
9
11
|
SingleDateFilter,
|
|
10
12
|
CurrencyRangeFilter
|
|
11
13
|
} from "../../addons/Filters";
|
|
@@ -13,7 +15,9 @@ import { FILTER_TYPES } from "../../exported-related";
|
|
|
13
15
|
import DataTableContext from "../../DataTableContext";
|
|
14
16
|
const FilterMapper = {
|
|
15
17
|
[FILTER_TYPES.SELECT]: SingleSelectFilter,
|
|
18
|
+
[FILTER_TYPES.CREATABLE_SELECT]: SingleCreatableFilter,
|
|
16
19
|
[FILTER_TYPES.MULTI_SELECT]: MultiSelectFilter,
|
|
20
|
+
[FILTER_TYPES.CREATABLE_MULTI_SELECT]: MultiCreatableFilter,
|
|
17
21
|
[FILTER_TYPES.SINGLE_DATE]: SingleDateFilter,
|
|
18
22
|
[FILTER_TYPES.DATE_RANGE]: DateRangeFilter,
|
|
19
23
|
[FILTER_TYPES.DATE_SWITCHER]: DateSwitcherFilter,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Filters/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/indent */\nimport React, { useCallback, useContext } from 'react';\nimport {\n DateRangeFilter,\n DateSwitcherFilter,\n NumberRangeFilter,\n MultiSelectFilter,\n
|
|
5
|
-
"mappings": "AAAA;ACCA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/indent */\nimport React, { useCallback, useContext } from 'react';\nimport {\n DateRangeFilter,\n DateSwitcherFilter,\n NumberRangeFilter,\n SingleSelectFilter,\n SingleCreatableFilter,\n MultiSelectFilter,\n MultiCreatableFilter,\n SingleDateFilter,\n CurrencyRangeFilter,\n} from '../../addons/Filters';\nimport { FILTER_TYPES } from '../../exported-related';\nimport DataTableContext from '../../DataTableContext';\nimport { FilterProps } from '../../types/props';\n\nconst FilterMapper: Record<string, React.ComponentType<FilterProps>> = {\n [FILTER_TYPES.SELECT]: SingleSelectFilter,\n [FILTER_TYPES.CREATABLE_SELECT]: SingleCreatableFilter,\n [FILTER_TYPES.MULTI_SELECT]: MultiSelectFilter,\n [FILTER_TYPES.CREATABLE_MULTI_SELECT]: MultiCreatableFilter,\n [FILTER_TYPES.SINGLE_DATE]: SingleDateFilter,\n [FILTER_TYPES.DATE_RANGE]: DateRangeFilter,\n [FILTER_TYPES.DATE_SWITCHER]: DateSwitcherFilter,\n [FILTER_TYPES.NUMBER_RANGE]: NumberRangeFilter,\n [FILTER_TYPES.CURRENCY_RANGE]: CurrencyRangeFilter,\n};\nexport const FilterMapItem: React.ComponentType<\n Omit<FilterProps, 'patchHeaderFilterButtonAndMenu' | 'patchHeader' | 'onValueChange'>\n> = (props) => {\n const { column, filterValue: filters, onFiltersChange } = props;\n\n const { patchHeaderFilterButtonAndMenu, patchHeader } = useContext(DataTableContext);\n\n const filterValue = filters.find((filter) => filter.id === column.id);\n\n const onValueChange = useCallback(\n (type: string, newValue: any) => {\n const filterIndex = filters.findIndex((filter) => filter.id === column.id);\n if (newValue === undefined) {\n const newFilters = filters.filter((filter) => filter.id !== column.id);\n onFiltersChange(newFilters);\n } else if (filterIndex === -1) {\n onFiltersChange([...filters, { id: column.id, type, value: newValue }]);\n } else {\n const newFilters = [...filters];\n newFilters[filterIndex].type = type;\n newFilters[filterIndex].value = newValue;\n onFiltersChange(newFilters);\n }\n },\n [column.id, filters, onFiltersChange],\n );\n\n const filterProps = {\n ...props,\n filterValue: filterValue?.value,\n onValueChange,\n patchHeader,\n patchHeaderFilterButtonAndMenu,\n };\n\n if (typeof column.filter === 'string') {\n if (!(column.filter in FilterMapper)) {\n throw new Error(`column.filter must be a supported out-of-the-box filter in ${column}`);\n }\n const FilterComp = FilterMapper[column.filter];\n return <FilterComp {...filterProps} />;\n }\n\n if (column.Filter) {\n if (typeof column.Filter !== 'function') {\n throw new Error(`column.Filter must be a component`);\n }\n const FilterComp = column.Filter;\n return <FilterComp {...filterProps} />;\n }\n\n // Column doesn't have any filters\n return null;\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACCA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWA;AACA;AAGA,MAAM,eAAiE;AAAA,EACrE,CAAC,aAAa,SAAS;AAAA,EACvB,CAAC,aAAa,mBAAmB;AAAA,EACjC,CAAC,aAAa,eAAe;AAAA,EAC7B,CAAC,aAAa,yBAAyB;AAAA,EACvC,CAAC,aAAa,cAAc;AAAA,EAC5B,CAAC,aAAa,aAAa;AAAA,EAC3B,CAAC,aAAa,gBAAgB;AAAA,EAC9B,CAAC,aAAa,eAAe;AAAA,EAC7B,CAAC,aAAa,iBAAiB;AACjC;AACO,MAAM,gBAET,CAAC,UAAU;AACb,QAAM,EAAE,QAAQ,aAAa,SAAS,oBAAoB;AAE1D,QAAM,EAAE,gCAAgC,gBAAgB,WAAW,gBAAgB;AAEnF,QAAM,cAAc,QAAQ,KAAK,CAAC,WAAW,OAAO,OAAO,OAAO,EAAE;AAEpE,QAAM,gBAAgB,YACpB,CAAC,MAAc,aAAkB;AAC/B,UAAM,cAAc,QAAQ,UAAU,CAAC,WAAW,OAAO,OAAO,OAAO,EAAE;AACzE,QAAI,aAAa,QAAW;AAC1B,YAAM,aAAa,QAAQ,OAAO,CAAC,WAAW,OAAO,OAAO,OAAO,EAAE;AACrE,sBAAgB,UAAU;AAAA,IAC5B,WAAW,gBAAgB,IAAI;AAC7B,sBAAgB,CAAC,GAAG,SAAS,EAAE,IAAI,OAAO,IAAI,MAAM,OAAO,SAAS,CAAC,CAAC;AAAA,IACxE,OAAO;AACL,YAAM,aAAa,CAAC,GAAG,OAAO;AAC9B,iBAAW,aAAa,OAAO;AAC/B,iBAAW,aAAa,QAAQ;AAChC,sBAAgB,UAAU;AAAA,IAC5B;AAAA,EACF,GACA,CAAC,OAAO,IAAI,SAAS,eAAe,CACtC;AAEA,QAAM,cAAc;AAAA,IAClB,GAAG;AAAA,IACH,aAAa,aAAa;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,MAAI,OAAO,OAAO,WAAW,UAAU;AACrC,QAAI,CAAE,QAAO,UAAU,eAAe;AACpC,YAAM,IAAI,MAAM,8DAA8D,QAAQ;AAAA,IACxF;AACA,UAAM,aAAa,aAAa,OAAO;AACvC,WAAO,qCAAC;AAAA,MAAY,GAAG;AAAA,KAAa;AAAA,EACtC;AAEA,MAAI,OAAO,QAAQ;AACjB,QAAI,OAAO,OAAO,WAAW,YAAY;AACvC,YAAM,IAAI,MAAM,mCAAmC;AAAA,IACrD;AACA,UAAM,aAAa,OAAO;AAC1B,WAAO,qCAAC;AAAA,MAAY,GAAG;AAAA,KAAa;AAAA,EACtC;AAGA,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { createContext } from "react";
|
|
3
|
-
var DropIndicatorPosition = /* @__PURE__ */ ((DropIndicatorPosition2) => {
|
|
4
|
-
DropIndicatorPosition2[DropIndicatorPosition2["None"] = 0] = "None";
|
|
5
|
-
DropIndicatorPosition2[DropIndicatorPosition2["Before"] = 1] = "Before";
|
|
6
|
-
DropIndicatorPosition2[DropIndicatorPosition2["After"] = 2] = "After";
|
|
7
|
-
DropIndicatorPosition2[DropIndicatorPosition2["Inside"] = 3] = "Inside";
|
|
8
|
-
return DropIndicatorPosition2;
|
|
9
|
-
})(DropIndicatorPosition || {});
|
|
10
3
|
const SortableItemContext = createContext({
|
|
11
4
|
draggableProps: false
|
|
12
5
|
});
|
|
13
6
|
export {
|
|
14
|
-
DropIndicatorPosition,
|
|
15
7
|
SortableItemContext
|
|
16
8
|
};
|
|
17
9
|
//# sourceMappingURL=SortableItemContext.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/HoC/SortableItemContext.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import {
|
|
5
|
-
"mappings": "AAAA;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { createContext } from 'react';\nimport { DraggablePropsT } from 'types/props';\n\nexport type SortableItemContextType = { draggableProps: DraggablePropsT };\n\n/** Context for cross component communication */\nexport const SortableItemContext = createContext<SortableItemContextType>({\n draggableProps: false,\n});\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAMO,MAAM,sBAAsB,cAAuC;AAAA,EACxE,gBAAgB;AAClB,CAAC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,9 +2,9 @@ import * as React from "react";
|
|
|
2
2
|
import React2, { createContext, useCallback } from "react";
|
|
3
3
|
import { DataTableContext } from "../../DataTableContext";
|
|
4
4
|
import { DndContext, DragOverlay, SortableContext, useTreeDndkitConfig } from "@elliemae/ds-drag-and-drop";
|
|
5
|
-
import { DropIndicatorPosition } from "./SortableItemContext";
|
|
6
5
|
import { Row } from "../Row";
|
|
7
6
|
import { createPortal } from "react-dom";
|
|
7
|
+
import { DropIndicatorPosition } from "../../types/props";
|
|
8
8
|
const DnDTreeContext = createContext({
|
|
9
9
|
depth: void 0,
|
|
10
10
|
activeIndex: void 0,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/HoC/withConditionalDnDRowContext.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { createContext, useCallback } from 'react';\nimport { DataTableContext } from '../../DataTableContext';\nimport { FunctionalHOC } from '../../types/FunctionalHoC';\nimport { DndContext, DragOverlay, SortableContext, useTreeDndkitConfig } from '@elliemae/ds-drag-and-drop';\nimport { Item } from '../../helpers/dndkit/tree/types';\nimport {
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { createContext, useCallback } from 'react';\nimport { DataTableContext } from '../../DataTableContext';\nimport { FunctionalHOC } from '../../types/FunctionalHoC';\nimport { DndContext, DragOverlay, SortableContext, useTreeDndkitConfig } from '@elliemae/ds-drag-and-drop';\nimport { Item } from '../../helpers/dndkit/tree/types';\nimport { Row } from '../Row';\nimport { createPortal } from 'react-dom';\nimport { DropIndicatorPosition } from '../../types/props';\n\ntype DnDTreeContextType = {\n depth: number;\n activeIndex: number;\n visibleItems: unknown[];\n dropIndicatorPosition: DropIndicatorPosition;\n lastActiveId: string;\n setLastActiveId: React.Dispatch<React.SetStateAction<string>>;\n};\n\nexport const DnDTreeContext = createContext<DnDTreeContextType>({\n depth: undefined,\n activeIndex: undefined,\n visibleItems: undefined,\n dropIndicatorPosition: DropIndicatorPosition.None,\n lastActiveId: undefined,\n setLastActiveId: undefined,\n});\n\n// only wraps in \"DnDContext\" and \"DnDTreeContext\" if any Drag and Drop functionality is requested\nexport const withConditionalDnDRowContext: FunctionalHOC = (Component) => (props) => {\n const {\n tableProps: { dragAndDropRows, isExpandable, onRowsReorder, maxDragAndDropLevel },\n flattenedData,\n allDataFlattened,\n } = React.useContext(DataTableContext);\n\n const [lastActiveId, setLastActiveId] = React.useState<string>(null);\n\n const onReorder = useCallback(\n (newData: Item[], indexes: { targetIndex: number; fromIndex: number }, considerExpanding: string) => {\n // Pull the row's original data into an object\n const nodes = {};\n newData.forEach((row) => {\n delete row.original.subRows;\n nodes[row.uid] = row.original;\n });\n const newUserData = [];\n newData.forEach((row) => {\n // If row has parent, insert it to it's subrows\n // otherwise append it to the new user data\n if (row.parentId) {\n const parentNode = nodes[row.parentId];\n if (parentNode?.subRows) parentNode.subRows.push(row.original);\n else parentNode.subRows = [row.original];\n } else newUserData.push(row.original);\n });\n // Tell the user that the order has change, he can chose to commit it or not\n onRowsReorder(newUserData, indexes, considerExpanding);\n },\n [onRowsReorder],\n );\n\n const { dndContextProps, sortableContextProps, activeId, activeIndex, depth, dropIndicatorPosition, visibleItems } =\n useTreeDndkitConfig({\n flattenedItems: allDataFlattened,\n visibleItems: flattenedData,\n isHorizontalDnD: false,\n isExpandable,\n onReorder,\n maxDragAndDropLevel,\n });\n\n if (lastActiveId !== activeId && activeId) setLastActiveId(activeId);\n\n if (dragAndDropRows)\n return (\n <DndContext {...dndContextProps}>\n <SortableContext {...sortableContextProps}>\n <DnDTreeContext.Provider\n value={{\n activeIndex,\n depth,\n visibleItems,\n dropIndicatorPosition,\n lastActiveId,\n setLastActiveId,\n }}\n >\n <Component {...props} />\n </DnDTreeContext.Provider>\n </SortableContext>\n {createPortal(\n <DragOverlay style={{ width: 'auto' }}>\n {activeId ? <Row row={flattenedData.find((row) => row.uid === activeId)} isDragOverlay /> : null}\n </DragOverlay>,\n document.body,\n )}\n </DndContext>\n );\n return <Component {...props} />;\n};\n"],
|
|
5
5
|
"mappings": "AAAA;ACAA;AACA;AAEA;AAEA;AACA;AACA;AAWO,MAAM,iBAAiB,cAAkC;AAAA,EAC9D,OAAO;AAAA,EACP,aAAa;AAAA,EACb,cAAc;AAAA,EACd,uBAAuB,sBAAsB;AAAA,EAC7C,cAAc;AAAA,EACd,iBAAiB;AACnB,CAAC;AAGM,MAAM,+BAA8C,CAAC,cAAc,CAAC,UAAU;AACnF,QAAM;AAAA,IACJ,YAAY,EAAE,iBAAiB,cAAc,eAAe;AAAA,IAC5D;AAAA,IACA;AAAA,MACE,OAAM,WAAW,gBAAgB;AAErC,QAAM,CAAC,cAAc,mBAAmB,OAAM,SAAiB,IAAI;AAEnE,QAAM,YAAY,YAChB,CAAC,SAAiB,SAAqD,sBAA8B;AAEnG,UAAM,QAAQ,CAAC;AACf,YAAQ,QAAQ,CAAC,QAAQ;AACvB,aAAO,IAAI,SAAS;AACpB,YAAM,IAAI,OAAO,IAAI;AAAA,IACvB,CAAC;AACD,UAAM,cAAc,CAAC;AACrB,YAAQ,QAAQ,CAAC,QAAQ;AAGvB,UAAI,IAAI,UAAU;AAChB,cAAM,aAAa,MAAM,IAAI;AAC7B,YAAI,YAAY;AAAS,qBAAW,QAAQ,KAAK,IAAI,QAAQ;AAAA;AACxD,qBAAW,UAAU,CAAC,IAAI,QAAQ;AAAA,MACzC;AAAO,oBAAY,KAAK,IAAI,QAAQ;AAAA,IACtC,CAAC;AAED,kBAAc,aAAa,SAAS,iBAAiB;AAAA,EACvD,GACA,CAAC,aAAa,CAChB;AAEA,QAAM,EAAE,iBAAiB,sBAAsB,UAAU,aAAa,OAAO,uBAAuB,iBAClG,oBAAoB;AAAA,IAClB,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAEH,MAAI,iBAAiB,YAAY;AAAU,oBAAgB,QAAQ;AAEnE,MAAI;AACF,WACE,qCAAC;AAAA,MAAY,GAAG;AAAA,OACd,qCAAC;AAAA,MAAiB,GAAG;AAAA,OACnB,qCAAC,eAAe,UAAf;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,OAEA,qCAAC;AAAA,MAAW,GAAG;AAAA,KAAO,CACxB,CACF,GACC,aACC,qCAAC;AAAA,MAAY,OAAO,EAAE,OAAO,OAAO;AAAA,OACjC,WAAW,qCAAC;AAAA,MAAI,KAAK,cAAc,KAAK,CAAC,QAAQ,IAAI,QAAQ,QAAQ;AAAA,MAAG,eAAa;AAAA,KAAC,IAAK,IAC9F,GACA,SAAS,IACX,CACF;AAEJ,SAAO,qCAAC;AAAA,IAAW,GAAG;AAAA,GAAO;AAC/B;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,8 +2,9 @@ import * as React from "react";
|
|
|
2
2
|
import React2, { useContext, useMemo } from "react";
|
|
3
3
|
import { useSortable } from "@elliemae/ds-drag-and-drop";
|
|
4
4
|
import { DataTableContext } from "../../DataTableContext";
|
|
5
|
+
import { DropIndicatorPosition } from "../../types/props";
|
|
5
6
|
import { DnDGroupContext } from "./withConditionalDnDColumnContext";
|
|
6
|
-
import { SortableItemContext
|
|
7
|
+
import { SortableItemContext } from "./SortableItemContext";
|
|
7
8
|
const withDnDSortableColumnContext = (Component) => (props) => {
|
|
8
9
|
const {
|
|
9
10
|
tableProps: { dragAndDropColumns }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/HoC/withDnDSortableColumnContext.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useMemo } from 'react';\nimport { useSortable } from '@elliemae/ds-drag-and-drop';\nimport { DataTableContext } from '../../DataTableContext';\nimport { FunctionalHOC } from '../../types/FunctionalHoC';\nimport { DnDGroupContext } from './withConditionalDnDColumnContext';\nimport { SortableItemContext,
|
|
5
|
-
"mappings": "AAAA;ACAA;AACA;AACA;AAEA;AACA;AAEO,MAAM,+BAA8C,CAAC,cAAc,CAAC,UAAe;AACxF,QAAM;AAAA,IACJ,YAAY,EAAE;AAAA,MACZ,WAAW,gBAAgB;AAC/B,QAAM,EAAE,gBAAgB,WAAW,eAAe;AAGlD,QAAM,mBAAmB,QACvB,MAAO;AAAA,IACL,IAAI,MAAM,OAAO;AAAA,EACnB,IACA,CAAC,MAAM,OAAO,EAAE,CAClB;AAEA,QAAM,qBAAqB,YAAY,gBAAgB;AAGvD,QAAM,iBAAiB,QAAQ,MAAM;AACnC,QAAI,CAAC;AAAoB,aAAO;AAEhC,UAAM,EAAE,OAAO,cAAc;AAE7B,WAAO;AAAA,MACL,GAAG;AAAA,MACH,iCAAiC,cAAc,SAAS,cAAc;AAAA,MACtE,uBAAuB,QAAQ,cAAc,sBAAsB,QAAQ,sBAAsB;AAAA,IACnG;AAAA,EACF,GAAG,CAAC,oBAAoB,oBAAoB,WAAW,CAAC;AAIxD,QAAM,MAA+B,QACnC,MAAO;AAAA,IACL;AAAA,EACF,IACA,CAAC,cAAc,CACjB;AAEA,SACE,qCAAC,oBAAoB,UAApB;AAAA,IAA6B,OAAO;AAAA,KACnC,qCAAC;AAAA,IAAW,GAAG;AAAA,GAAO,CACxB;AAEJ;",
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useMemo } from 'react';\nimport { useSortable } from '@elliemae/ds-drag-and-drop';\nimport { DataTableContext } from '../../DataTableContext';\nimport { FunctionalHOC } from '../../types/FunctionalHoC';\nimport { DropIndicatorPosition } from '../../types/props';\nimport { DnDGroupContext } from './withConditionalDnDColumnContext';\nimport { SortableItemContext, SortableItemContextType } from './SortableItemContext';\n\nexport const withDnDSortableColumnContext: FunctionalHOC = (Component) => (props: any) => {\n const {\n tableProps: { dragAndDropColumns },\n } = useContext(DataTableContext);\n const { activeIndex } = useContext(DnDGroupContext);\n\n // onMount generate unique options, so everyting is only ran once\n const draggableOptions = useMemo(\n () => ({\n id: props.header.id,\n }),\n [props.header.id],\n );\n\n const useSortableHelpers = useSortable(draggableOptions);\n\n // calculate all the \"useSortable\" values as per required\n const draggableProps = useMemo(() => {\n if (!dragAndDropColumns) return false;\n\n const { index, overIndex } = useSortableHelpers;\n\n return {\n ...useSortableHelpers,\n shouldShowDropIndicatorPosition: overIndex === index && overIndex !== -1,\n dropIndicatorPosition: index > activeIndex ? DropIndicatorPosition.After : DropIndicatorPosition.Before,\n };\n }, [useSortableHelpers, dragAndDropColumns, activeIndex]);\n // we use a context so we can easly access information wherever without bubbling down\n // this context is all Memoized so as long as component is not re-mounted,\n // the context won't trigger un-required renders per-se...\n const ctx: SortableItemContextType = useMemo(\n () => ({\n draggableProps,\n }),\n [draggableProps],\n );\n // we always add the context, if draggableProps===false we don't have the DnD enabled.\n return (\n <SortableItemContext.Provider value={ctx}>\n <Component {...props} />\n </SortableItemContext.Provider>\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AAEA;AACA;AACA;AAEO,MAAM,+BAA8C,CAAC,cAAc,CAAC,UAAe;AACxF,QAAM;AAAA,IACJ,YAAY,EAAE;AAAA,MACZ,WAAW,gBAAgB;AAC/B,QAAM,EAAE,gBAAgB,WAAW,eAAe;AAGlD,QAAM,mBAAmB,QACvB,MAAO;AAAA,IACL,IAAI,MAAM,OAAO;AAAA,EACnB,IACA,CAAC,MAAM,OAAO,EAAE,CAClB;AAEA,QAAM,qBAAqB,YAAY,gBAAgB;AAGvD,QAAM,iBAAiB,QAAQ,MAAM;AACnC,QAAI,CAAC;AAAoB,aAAO;AAEhC,UAAM,EAAE,OAAO,cAAc;AAE7B,WAAO;AAAA,MACL,GAAG;AAAA,MACH,iCAAiC,cAAc,SAAS,cAAc;AAAA,MACtE,uBAAuB,QAAQ,cAAc,sBAAsB,QAAQ,sBAAsB;AAAA,IACnG;AAAA,EACF,GAAG,CAAC,oBAAoB,oBAAoB,WAAW,CAAC;AAIxD,QAAM,MAA+B,QACnC,MAAO;AAAA,IACL;AAAA,EACF,IACA,CAAC,cAAc,CACjB;AAEA,SACE,qCAAC,oBAAoB,UAApB;AAAA,IAA6B,OAAO;AAAA,KACnC,qCAAC;AAAA,IAAW,GAAG;AAAA,GAAO,CACxB;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/types/props.js
CHANGED
|
@@ -1,2 +1,12 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
var DropIndicatorPosition = /* @__PURE__ */ ((DropIndicatorPosition2) => {
|
|
3
|
+
DropIndicatorPosition2[DropIndicatorPosition2["None"] = 0] = "None";
|
|
4
|
+
DropIndicatorPosition2[DropIndicatorPosition2["Before"] = 1] = "Before";
|
|
5
|
+
DropIndicatorPosition2[DropIndicatorPosition2["After"] = 2] = "After";
|
|
6
|
+
DropIndicatorPosition2[DropIndicatorPosition2["Inside"] = 3] = "Inside";
|
|
7
|
+
return DropIndicatorPosition2;
|
|
8
|
+
})(DropIndicatorPosition || {});
|
|
9
|
+
export {
|
|
10
|
+
DropIndicatorPosition
|
|
11
|
+
};
|
|
2
12
|
//# sourceMappingURL=props.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "AAAA;",
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/types/props.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { MutableRefObject } from 'react';\nimport { useVirtual } from 'react-virtual/types';\nimport { useSortable } from '@elliemae/ds-drag-and-drop';\nimport { ColsLayoutStyle } from '../configs/constants';\n\nexport type TypescriptGenericFunc = (...args: unknown[]) => unknown;\ninterface FilterOptionT {\n dsId: string;\n type: string;\n value: string;\n label: string;\n}\n\ninterface HeaderComponentProps {\n ctx: TypescriptContext;\n}\n\nexport type DraggablePropsT =\n | false\n | (ReturnType<typeof useSortable> & {\n dropIndicatorPosition: DropIndicatorPosition;\n shouldShowDropIndicatorPosition: boolean;\n lastActiveId?: string;\n setLastActiveId?: React.Dispatch<React.SetStateAction<string>>;\n });\n\ninterface CellComponentProps<T = HTMLElement> {\n ctx: TypescriptContext;\n isRowSelected: boolean;\n row: InternalTypescriptRow;\n cell: TypescriptCell<T>;\n draggableProps: DraggablePropsT;\n isDragOverlay: boolean;\n}\n\nexport enum DropIndicatorPosition {\n None = 0,\n Before = 1,\n After = 2,\n Inside = 3,\n}\n\nexport interface TypescriptColumn<T extends HTMLElement = HTMLElement> {\n id?: string;\n Header: string | React.ComponentType<HeaderComponentProps>;\n accessor?: string;\n filter?: string;\n filterOptions?: FilterOptionT[] | (() => FilterOptionT[]);\n filterMinWidth?: number | string;\n Filter?: React.ComponentType<FilterProps>;\n Cell?: React.ComponentType<CellComponentProps<T>>;\n editable?: string | TypescriptGenericFunc;\n disableDnD?: boolean;\n width?: number;\n minWidth?: number;\n maxWidth?: number;\n padding?: number;\n columns?: TypescriptColumn[];\n canSort?: boolean;\n isSortedDesc?: boolean;\n canResize?: boolean;\n isFocuseable?: boolean;\n textWrap?: 'wrap' | 'wrap-all' | 'truncate';\n ref?: React.MutableRefObject<HTMLTableColElement>;\n required?: boolean;\n alwaysDisplayEditIcon?: boolean;\n}\n\nexport interface TypescriptCell<T = HTMLElement> {\n column: TypescriptColumn;\n value: any;\n render: React.ComponentType<CellComponentProps>;\n row: InternalTypescriptRow;\n ref: React.RefObject<T>;\n id: string;\n}\n\nexport interface TypescriptRow {\n [key: string]: any;\n subRows: TypescriptRow[];\n tableRowDetails: React.ComponentType<any>;\n dimsumHeaderValue: string;\n}\n\nexport interface InternalTypescriptRow {\n id: string;\n uid: string;\n index: number;\n realIndex: number;\n parentId: string | null;\n parentIndex: number | null;\n depth: number;\n isExpanded: boolean;\n subRows: TypescriptRow[];\n childrenCount: number;\n original: TypescriptRow;\n cells: TypescriptCell[];\n}\n\nexport type RowVariant = 'ds-header-group-row' | 'ds-primary-row' | 'ds-secondary-row';\n\nexport type TypescriptRenderRowActionsConfig = {\n columnWidth: number;\n renderer: (...args: any[]) => JSX.Element;\n};\n\nexport type TypescriptRenderRowActions = false | TypescriptRenderRowActionsConfig;\n\nexport type TypescriptAppliedFilter = {\n id: string;\n type: string;\n value: any;\n};\n\nexport type TypescriptPagination = {\n page?: any[];\n pageIndex?: number;\n canPreviousPage?: boolean;\n canNextPage?: boolean;\n pageSize?: number;\n dataIsPage?: boolean;\n showPerPageSelector?: boolean;\n perPageOptions?: number[];\n perPageStep?: number;\n minPerPage?: number;\n maxPerPage?: number;\n onPageSizeChange?: (pageSize: number) => void;\n onPreviousPage?: () => void;\n onNextPage?: () => void;\n onPageChange?: (page: number) => void;\n pageCount?: number;\n pageDetails?: string[];\n pageDetailsTitle?: string;\n};\n\nexport type TypescriptSortBy = {\n id: string;\n desc: boolean;\n};\n\nexport type TypescriptSelectionItem = boolean | 'mixed';\n\nexport type TypescriptSelection = Record<string | number, TypescriptSelectionItem>;\n\nexport type UniqueRowAccessorType = string | string[] | ((row: TypescriptRow) => string) | undefined;\n\nexport interface ReduxHeader {\n hideFilterMenu: boolean;\n hideFilterButton: boolean;\n showDnDHandle: boolean;\n withTabStops: boolean;\n}\n\ninterface DataTableFilter {\n id: string;\n type: string;\n value: any;\n}\n\ninterface PropsWithDefault {\n height: string;\n width: string;\n renderRowActions: boolean;\n getRowVariant: (\n row: TypescriptRow,\n defaultCellRenderer: React.ComponentType<any>,\n ) => RowVariant | React.ComponentType<any>;\n withFilterBar: boolean;\n isExpandable: boolean;\n expandedRows: Record<string, boolean>;\n disabledRows: Record<string, boolean>;\n isResizeable: boolean;\n isLoading: boolean;\n pagination: false | TypescriptPagination;\n filters: DataTableFilter[];\n colsLayoutStyle: ColsLayoutStyle;\n hiddenColumns: string[];\n noResultsMessage: string;\n dragAndDropRows: boolean;\n maxDragAndDropLevel: number;\n onRowsReorder: (\n newData: TypescriptRow[],\n indexes: { targetIndex: number; fromIndex: number },\n considerExpanding: string,\n ) => void;\n dragAndDropColumns: boolean;\n onColumnsReorder: (newData: TypescriptColumn[], indexes: { targetIndex: number; fromIndex: number }) => void;\n onColumnResize: (headerId: string, width: number) => void;\n onRowClick: TypescriptGenericFunc;\n onRowFocus: TypescriptGenericFunc;\n noSelectionColumn: boolean;\n selectSingle: boolean;\n onSelectionChange: (newSelection: TypescriptSelection, selectedControl: string, event: React.ChangeEvent) => void;\n textWrap: 'wrap' | 'wrap-all' | 'truncate';\n onCellValueChange: (cellChange: { value: any; property: any; rowIndex: number }) => void;\n onFiltersChange: TypescriptGenericFunc;\n onPageChanged: TypescriptGenericFunc;\n onRowExpand: (expandedRows: Record<string, boolean>, toggledRow: string) => void;\n onColumnSortChange: (newSortRequest: { column: any; direction: any }) => void;\n}\n\ninterface PropsRequired {\n columns: TypescriptColumn[];\n data: TypescriptRow[];\n}\n\ninterface PropsOptional {\n uniqueRowAccessor?: UniqueRowAccessorType;\n cellRendererProps?: Record<string, any>;\n selection?: TypescriptSelection;\n groupedRowsRenderHeader?: TypescriptGenericFunc | string;\n filterBarProps?: {\n filterBarAddonRenderer?: React.ComponentType<any>;\n customPillRenderer?: React.ComponentType<any>;\n extraOptions?: { type: string; id: string; label: string; onClick?: TypescriptGenericFunc }[];\n };\n actionRef?: React.RefObject<any>;\n noResultsSecondaryMessage?: string;\n noResultsButtonLabel?: string;\n noResultsPlaceholder?: TypescriptGenericFunc;\n onNoResultsButtonClick?: TypescriptGenericFunc;\n}\n\nexport interface TypescriptProps extends Partial<PropsWithDefault>, PropsRequired, PropsOptional {}\nexport interface InternalTypescriptProps extends PropsWithDefault, PropsRequired, PropsOptional {}\n\nexport interface FilterProps {\n column: TypescriptColumn;\n ctx: TypescriptContext;\n onFiltersChange?: (filters: DataTableFilter[]) => void;\n onValueChange: (type: string, value: any) => void;\n patchHeaderFilterButtonAndMenu: (headerId: string, newState: any) => void;\n patchHeader: (headerId: string, newHeader: any) => void;\n filterValue?: any;\n reduxHeader?: any;\n innerRef: MutableRefObject<HTMLDivElement>;\n}\n\nexport type TypescriptContext = {\n tableProps: InternalTypescriptProps;\n virtualListRef: React.RefObject<HTMLDivElement>;\n columnHeaderRef: React.RefObject<HTMLDivElement>;\n flattenedData: InternalTypescriptRow[];\n allDataFlattened: InternalTypescriptRow[];\n visibleColumns: TypescriptColumn[];\n virtualListHelpers?: ReturnType<typeof useVirtual>;\n layoutHelpers: {\n totalColumnsWidth?: number | string;\n gridLayout?: string[];\n setGridLayout?: React.Dispatch<React.SetStateAction<string[]>>;\n };\n paginationHelpers: TypescriptPagination;\n drilldownRowId: string | null;\n setDrilldownRowId: React.Dispatch<React.SetStateAction<string | null>>;\n focusedRowId: string | null;\n setFocusedRowId: React.Dispatch<React.SetStateAction<string | null>>;\n reduxHeaders: Record<string, ReduxHeader>;\n patchHeader: (headerId: string, newHeader: ReduxHeader) => void;\n patchHeaderFilterButtonAndMenu: (headerId: string, value: boolean) => void;\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACoCO,IAAK,wBAAL,kBAAK,2BAAL;AACL,0DAAO,KAAP;AACA,4DAAS,KAAT;AACA,2DAAQ,KAAR;AACA,4DAAS,KAAT;AAJU;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-data-table",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.0-next.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Data Table",
|
|
6
6
|
"files": [
|
|
@@ -571,23 +571,23 @@
|
|
|
571
571
|
"indent": 4
|
|
572
572
|
},
|
|
573
573
|
"dependencies": {
|
|
574
|
-
"@elliemae/ds-button": "3.
|
|
575
|
-
"@elliemae/ds-circular-progress-indicator": "3.
|
|
576
|
-
"@elliemae/ds-controlled-form": "3.
|
|
577
|
-
"@elliemae/ds-drag-and-drop": "3.
|
|
578
|
-
"@elliemae/ds-dropdownmenu": "3.
|
|
579
|
-
"@elliemae/ds-form": "3.
|
|
580
|
-
"@elliemae/ds-form-layout-blocks": "3.
|
|
581
|
-
"@elliemae/ds-grid": "3.
|
|
582
|
-
"@elliemae/ds-icons": "3.
|
|
583
|
-
"@elliemae/ds-pagination": "3.
|
|
584
|
-
"@elliemae/ds-pills": "3.
|
|
585
|
-
"@elliemae/ds-popperjs": "3.
|
|
586
|
-
"@elliemae/ds-skeleton": "3.
|
|
587
|
-
"@elliemae/ds-system": "3.
|
|
588
|
-
"@elliemae/ds-toolbar": "3.
|
|
589
|
-
"@elliemae/ds-truncated-tooltip-text": "3.
|
|
590
|
-
"@elliemae/ds-utilities": "3.
|
|
574
|
+
"@elliemae/ds-button": "3.4.0-next.0",
|
|
575
|
+
"@elliemae/ds-circular-progress-indicator": "3.4.0-next.0",
|
|
576
|
+
"@elliemae/ds-controlled-form": "3.4.0-next.0",
|
|
577
|
+
"@elliemae/ds-drag-and-drop": "3.4.0-next.0",
|
|
578
|
+
"@elliemae/ds-dropdownmenu": "3.4.0-next.0",
|
|
579
|
+
"@elliemae/ds-form": "3.4.0-next.0",
|
|
580
|
+
"@elliemae/ds-form-layout-blocks": "3.4.0-next.0",
|
|
581
|
+
"@elliemae/ds-grid": "3.4.0-next.0",
|
|
582
|
+
"@elliemae/ds-icons": "3.4.0-next.0",
|
|
583
|
+
"@elliemae/ds-pagination": "3.4.0-next.0",
|
|
584
|
+
"@elliemae/ds-pills": "3.4.0-next.0",
|
|
585
|
+
"@elliemae/ds-popperjs": "3.4.0-next.0",
|
|
586
|
+
"@elliemae/ds-skeleton": "3.4.0-next.0",
|
|
587
|
+
"@elliemae/ds-system": "3.4.0-next.0",
|
|
588
|
+
"@elliemae/ds-toolbar": "3.4.0-next.0",
|
|
589
|
+
"@elliemae/ds-truncated-tooltip-text": "3.4.0-next.0",
|
|
590
|
+
"@elliemae/ds-utilities": "3.4.0-next.0",
|
|
591
591
|
"react-virtual": "~2.10.4",
|
|
592
592
|
"uid": "~2.0.0"
|
|
593
593
|
},
|