@navikt/ds-react 8.10.2 → 8.10.3
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/cjs/data/table/column-header/DataTableColumnHeader.js +3 -1
- package/cjs/data/table/column-header/DataTableColumnHeader.js.map +1 -1
- package/cjs/data/table/column-header/useTableColumnResize.d.ts +24 -2
- package/cjs/data/table/column-header/useTableColumnResize.js +31 -15
- package/cjs/data/table/column-header/useTableColumnResize.js.map +1 -1
- package/cjs/data/table/helpers/collectTableRowEntries.d.ts +10 -2
- package/cjs/data/table/helpers/collectTableRowEntries.js +25 -17
- package/cjs/data/table/helpers/collectTableRowEntries.js.map +1 -1
- package/cjs/data/table/helpers/selection/SelectionSubtreeHelper.d.ts +46 -0
- package/cjs/data/table/helpers/selection/SelectionSubtreeHelper.js +112 -0
- package/cjs/data/table/helpers/selection/SelectionSubtreeHelper.js.map +1 -0
- package/cjs/data/table/helpers/selection/getMultipleSelectProps.d.ts +3 -2
- package/cjs/data/table/helpers/selection/getMultipleSelectProps.js +43 -19
- package/cjs/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -1
- package/cjs/data/table/helpers/selection/selection.types.d.ts +1 -0
- package/cjs/data/table/helpers/table-keyboard.d.ts +1 -2
- package/cjs/data/table/helpers/table-keyboard.js +1 -2
- package/cjs/data/table/helpers/table-keyboard.js.map +1 -1
- package/cjs/data/table/hooks/useTableExpansion.d.ts +1 -3
- package/cjs/data/table/hooks/useTableExpansion.js +7 -1
- package/cjs/data/table/hooks/useTableExpansion.js.map +1 -1
- package/cjs/data/table/hooks/useTableItems.d.ts +7 -3
- package/cjs/data/table/hooks/useTableItems.js +18 -7
- package/cjs/data/table/hooks/useTableItems.js.map +1 -1
- package/cjs/data/table/hooks/useTableSelection.d.ts +3 -2
- package/cjs/data/table/hooks/useTableSelection.js +5 -4
- package/cjs/data/table/hooks/useTableSelection.js.map +1 -1
- package/cjs/data/table/root/DataTable.types.d.ts +5 -4
- package/cjs/data/table/root/DataTableAuto.d.ts +9 -1
- package/cjs/data/table/root/DataTableAuto.js +50 -50
- package/cjs/data/table/root/DataTableAuto.js.map +1 -1
- package/cjs/data/table/root/DataTableRoot.js +2 -3
- package/cjs/data/table/root/DataTableRoot.js.map +1 -1
- package/cjs/form/checkbox/Checkbox.js +1 -0
- package/cjs/form/checkbox/Checkbox.js.map +1 -1
- package/cjs/form/radio/Radio.js +7 -1
- package/cjs/form/radio/Radio.js.map +1 -1
- package/cjs/modal/types.d.ts +8 -4
- package/esm/data/table/column-header/DataTableColumnHeader.js +3 -1
- package/esm/data/table/column-header/DataTableColumnHeader.js.map +1 -1
- package/esm/data/table/column-header/useTableColumnResize.d.ts +24 -2
- package/esm/data/table/column-header/useTableColumnResize.js +32 -16
- package/esm/data/table/column-header/useTableColumnResize.js.map +1 -1
- package/esm/data/table/helpers/collectTableRowEntries.d.ts +10 -2
- package/esm/data/table/helpers/collectTableRowEntries.js +25 -17
- package/esm/data/table/helpers/collectTableRowEntries.js.map +1 -1
- package/esm/data/table/helpers/selection/SelectionSubtreeHelper.d.ts +46 -0
- package/esm/data/table/helpers/selection/SelectionSubtreeHelper.js +109 -0
- package/esm/data/table/helpers/selection/SelectionSubtreeHelper.js.map +1 -0
- package/esm/data/table/helpers/selection/getMultipleSelectProps.d.ts +3 -2
- package/esm/data/table/helpers/selection/getMultipleSelectProps.js +43 -19
- package/esm/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -1
- package/esm/data/table/helpers/selection/selection.types.d.ts +1 -0
- package/esm/data/table/helpers/table-keyboard.d.ts +1 -2
- package/esm/data/table/helpers/table-keyboard.js +1 -2
- package/esm/data/table/helpers/table-keyboard.js.map +1 -1
- package/esm/data/table/hooks/useTableExpansion.d.ts +1 -3
- package/esm/data/table/hooks/useTableExpansion.js +7 -1
- package/esm/data/table/hooks/useTableExpansion.js.map +1 -1
- package/esm/data/table/hooks/useTableItems.d.ts +7 -3
- package/esm/data/table/hooks/useTableItems.js +18 -7
- package/esm/data/table/hooks/useTableItems.js.map +1 -1
- package/esm/data/table/hooks/useTableSelection.d.ts +3 -2
- package/esm/data/table/hooks/useTableSelection.js +5 -4
- package/esm/data/table/hooks/useTableSelection.js.map +1 -1
- package/esm/data/table/root/DataTable.types.d.ts +5 -4
- package/esm/data/table/root/DataTableAuto.d.ts +9 -1
- package/esm/data/table/root/DataTableAuto.js +51 -51
- package/esm/data/table/root/DataTableAuto.js.map +1 -1
- package/esm/data/table/root/DataTableRoot.js +3 -4
- package/esm/data/table/root/DataTableRoot.js.map +1 -1
- package/esm/form/checkbox/Checkbox.js +1 -0
- package/esm/form/checkbox/Checkbox.js.map +1 -1
- package/esm/form/radio/Radio.js +7 -1
- package/esm/form/radio/Radio.js.map +1 -1
- package/esm/modal/types.d.ts +8 -4
- package/package.json +3 -3
- package/src/data/table/column-header/DataTableColumnHeader.tsx +5 -1
- package/src/data/table/column-header/useTableColumnResize.ts +73 -17
- package/src/data/table/helpers/collectTableRowEntries.ts +57 -25
- package/src/data/table/helpers/selection/SelectionSubtreeHelper.test.ts +66 -0
- package/src/data/table/helpers/selection/SelectionSubtreeHelper.ts +162 -0
- package/src/data/table/helpers/selection/getMultipleSelectProps.ts +57 -20
- package/src/data/table/helpers/selection/selection.types.ts +1 -0
- package/src/data/table/helpers/table-keyboard.ts +1 -2
- package/src/data/table/hooks/__tests__/useTableItems.test.ts +14 -0
- package/src/data/table/hooks/__tests__/useTableSelection.test.ts +132 -21
- package/src/data/table/hooks/useTableExpansion.tsx +8 -3
- package/src/data/table/hooks/useTableItems.ts +50 -27
- package/src/data/table/hooks/useTableSelection.ts +10 -6
- package/src/data/table/root/DataTable.types.ts +5 -4
- package/src/data/table/root/DataTableAuto.test.tsx +128 -2
- package/src/data/table/root/DataTableAuto.tsx +144 -135
- package/src/data/table/root/DataTableRoot.tsx +6 -7
- package/src/form/checkbox/Checkbox.tsx +1 -0
- package/src/form/radio/Radio.tsx +7 -1
- package/src/modal/types.ts +8 -4
- package/src/data/table/hooks/__tests__/useTableExpansion.test.tsx +0 -115
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMultipleSelectProps.js","sourceRoot":"","sources":["../../../../../src/data/table/helpers/selection/getMultipleSelectProps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getMultipleSelectProps.js","sourceRoot":"","sources":["../../../../../src/data/table/helpers/selection/getMultipleSelectProps.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ type SelectionProps = {
|
|
|
8
8
|
* When set to "single", only one row can be selected at a time (renders radio buttons).
|
|
9
9
|
*
|
|
10
10
|
* When set to "multiple", multiple rows can be selected (renders checkboxes).
|
|
11
|
+
* Nested rows use cascading selection, so selecting a parent toggles its descendants too.
|
|
11
12
|
*
|
|
12
13
|
* @default "none"
|
|
13
14
|
*/
|
|
@@ -16,8 +16,7 @@ type NavigationAction = {
|
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
18
|
* Maps keyboard events to navigation actions.
|
|
19
|
-
* Supports arrow keys, Home/End (row navigation), Ctrl/Cmd+Home/End (table navigation)
|
|
20
|
-
* and PageUp/PageDown (multi-row navigation).
|
|
19
|
+
* Supports arrow keys, Home/End (row navigation), Ctrl/Cmd+Home/End (table navigation).
|
|
21
20
|
*/
|
|
22
21
|
declare function getNavigationAction(event: KeyboardEvent): NavigationAction | null;
|
|
23
22
|
/**
|
|
@@ -6,8 +6,7 @@ const keyToCoord = {
|
|
|
6
6
|
};
|
|
7
7
|
/**
|
|
8
8
|
* Maps keyboard events to navigation actions.
|
|
9
|
-
* Supports arrow keys, Home/End (row navigation), Ctrl/Cmd+Home/End (table navigation)
|
|
10
|
-
* and PageUp/PageDown (multi-row navigation).
|
|
9
|
+
* Supports arrow keys, Home/End (row navigation), Ctrl/Cmd+Home/End (table navigation).
|
|
11
10
|
*/
|
|
12
11
|
function getNavigationAction(event) {
|
|
13
12
|
const key = event.key;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-keyboard.js","sourceRoot":"","sources":["../../../../src/data/table/helpers/table-keyboard.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACxB,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IACzB,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IAC1B,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;CAClB,CAAC;AAWX
|
|
1
|
+
{"version":3,"file":"table-keyboard.js","sourceRoot":"","sources":["../../../../src/data/table/helpers/table-keyboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type { ItemDetail } from "./useTableItems.js";
|
|
3
2
|
type DataTableExpansionContextT = {
|
|
4
3
|
isExpanded: (id: string | number) => boolean;
|
|
5
4
|
isDetailsPanelExpandable: (id: string | number) => boolean;
|
|
@@ -16,14 +15,13 @@ type TableExpansionOptions<T> = {
|
|
|
16
15
|
detailsPanelRowIds?: (string | number)[];
|
|
17
16
|
defaultDetailsPanelRowIds?: (string | number)[];
|
|
18
17
|
onDetailsPanelChange?: (ids: (string | number)[]) => void;
|
|
19
|
-
itemDetails: Map<T, ItemDetail<T>>;
|
|
20
18
|
getDetailsPanelContent?: (row: T) => React.ReactNode;
|
|
21
19
|
isDetailsPanelExpandable?: (rowData: T) => boolean;
|
|
22
20
|
getDetailsPanelHeight?: (row: T) => number | "auto";
|
|
23
21
|
showExpandAll?: boolean;
|
|
24
22
|
};
|
|
25
23
|
declare function getDataTableExpansionId(tableId: string, rowId: string | number): string;
|
|
26
|
-
declare function DataTableExpansionProvider<T>({ children, detailsPanelRowIds, defaultDetailsPanelRowIds, onDetailsPanelChange,
|
|
24
|
+
declare function DataTableExpansionProvider<T>({ children, detailsPanelRowIds, defaultDetailsPanelRowIds, onDetailsPanelChange, getDetailsPanelContent, isDetailsPanelExpandable, getDetailsPanelHeight, showExpandAll, }: TableExpansionOptions<T> & {
|
|
27
25
|
children: React.ReactNode;
|
|
28
26
|
}): React.JSX.Element;
|
|
29
27
|
export { DataTableExpansionProvider, getDataTableExpansionId, useDataTableExpansion, };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useCallback } from "react";
|
|
2
2
|
import { createStrictContext } from "../../../utils/helpers/index.js";
|
|
3
3
|
import { useControllableState } from "../../../utils/hooks/index.js";
|
|
4
|
+
import { useTableItemsContext } from "./useTableItems.js";
|
|
4
5
|
const { Provider: DataTableExpansionContextProvider, useContext: useDataTableExpansion, } = createStrictContext({
|
|
5
6
|
name: "DataTableExpansionContext",
|
|
6
7
|
errorMessage: "useDataTableExpansion must be used within a DataTableExpansionProvider.",
|
|
@@ -8,12 +9,17 @@ const { Provider: DataTableExpansionContextProvider, useContext: useDataTableExp
|
|
|
8
9
|
function getDataTableExpansionId(tableId, rowId) {
|
|
9
10
|
return `${tableId}-expansion-${rowId}`;
|
|
10
11
|
}
|
|
11
|
-
function DataTableExpansionProvider({ children, detailsPanelRowIds, defaultDetailsPanelRowIds = [], onDetailsPanelChange,
|
|
12
|
+
function DataTableExpansionProvider({ children, detailsPanelRowIds, defaultDetailsPanelRowIds = [], onDetailsPanelChange, getDetailsPanelContent, isDetailsPanelExpandable, getDetailsPanelHeight, showExpandAll = false, }) {
|
|
12
13
|
const [expandedIds, setExpandedIds] = useControllableState({
|
|
13
14
|
value: detailsPanelRowIds,
|
|
14
15
|
defaultValue: defaultDetailsPanelRowIds,
|
|
15
16
|
onChange: onDetailsPanelChange,
|
|
16
17
|
});
|
|
18
|
+
/* TODO: False is just fallback until auto and root is merged */
|
|
19
|
+
const tableItemsContext = useTableItemsContext(false);
|
|
20
|
+
const { itemDetails } = tableItemsContext !== null && tableItemsContext !== void 0 ? tableItemsContext : {
|
|
21
|
+
itemDetails: new Map(),
|
|
22
|
+
};
|
|
17
23
|
const expandableIds = React.useMemo(() => {
|
|
18
24
|
if (!getDetailsPanelContent) {
|
|
19
25
|
return new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableExpansion.js","sourceRoot":"","sources":["../../../../src/data/table/hooks/useTableExpansion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"useTableExpansion.js","sourceRoot":"","sources":["../../../../src/data/table/hooks/useTableExpansion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAcvD,MAAM,EACJ,QAAQ,EAAE,iCAAiC,EAC3C,UAAU,EAAE,qBAAqB,GAClC,GAAG,mBAAmB,CAA6B;IAClD,IAAI,EAAE,2BAA2B;IACjC,YAAY,EACV,yEAAyE;CAC5E,CAAC,CAAC;AAYH,SAAS,uBAAuB,CAAC,OAAe,EAAE,KAAsB;IACtE,OAAO,GAAG,OAAO,cAAc,KAAK,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,0BAA0B,CAAI,EACrC,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,GAAG,EAAE,EAC9B,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,GAAG,KAAK,GACoC;IACzD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,oBAAoB,CAAC;QACzD,KAAK,EAAE,kBAAkB;QACzB,YAAY,EAAE,yBAAyB;QACvC,QAAQ,EAAE,oBAAoB;KAC/B,CAAC,CAAC;IAEH,gEAAgE;IAChE,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,EAAE,WAAW,EAAE,GAAG,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI;QAC3C,WAAW,EAAE,IAAI,GAAG,EAAE;KACvB,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,OAAO,IAAI,GAAG,EAAmB,CAAC;QACpC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmB,CAAC;QAEvC,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,8DAA8D;YAC9D,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,SAAS;YACX,CAAC;YAED,IAAI,CAAC,wBAAwB,IAAI,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,WAAW,CAAC,CAAC,CAAC;IAEpE,MAAM,4BAA4B,GAAG,WAAW,CAC9C,CAAC,EAAmB,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAC9C,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,EAAmB,EAAE,EAAE,CACtB,4BAA4B,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,EAC9D,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAC5C,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,EAAmB,EAAE,EAAE;QACtB,IAAI,CAAC,4BAA4B,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,cAAc,CAAC,CAAC,kBAAkB,EAAE,EAAE,CACpC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC;YAC9D,CAAC,CAAC,CAAC,GAAG,kBAAkB,EAAE,EAAE,CAAC,CAChC,CAAC;IACJ,CAAC,EACD,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAC/C,CAAC;IAEF,MAAM,aAAa,GACjB,aAAa,CAAC,IAAI,GAAG,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAEtE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACjE,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;IAEnD,OAAO,CACL,oBAAC,iCAAiC,IAChC,UAAU,EAAE,UAAU,EACtB,wBAAwB,EAAE,4BAA4B,EACtD,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EACpB,sBAEa,EAEf,qBAAqB,EACnB,qBAAwE,EAE1E,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,CAAC,CAAC,sBAAsB,IAE3C,QAAQ,CACyB,CACrC,CAAC;AACJ,CAAC;AAED,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,GACtB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ItemDetail } from "../helpers/collectTableRowEntries.js";
|
|
1
|
+
import { type ItemDetail, type TableRowEntryId } from "../helpers/collectTableRowEntries.js";
|
|
2
2
|
type UseTableItemsArgs<T> = {
|
|
3
3
|
items: T[];
|
|
4
4
|
getRowId?: (rowData: T, index: number) => string | number;
|
|
@@ -17,13 +17,17 @@ type UseTableItemsArgs<T> = {
|
|
|
17
17
|
type useTableItemsReturn<T> = {
|
|
18
18
|
items: T[];
|
|
19
19
|
itemDetails: Map<T, ItemDetail<T>>;
|
|
20
|
+
/** Row ids for the rows currently rendered in the table body. */
|
|
21
|
+
visibleRowIds: TableRowEntryId[];
|
|
22
|
+
/** Direct child ids for each row, used to traverse selection groups lazily. */
|
|
23
|
+
childRowIdsById: Map<TableRowEntryId, TableRowEntryId[]>;
|
|
20
24
|
onExpandedSubRowIdsChange: (id: string | number) => void;
|
|
21
25
|
isSubRowExpanded: (id: string | number) => boolean;
|
|
22
26
|
};
|
|
23
27
|
declare function useTableItems<T>(args: UseTableItemsArgs<T>): useTableItemsReturn<T>;
|
|
24
|
-
declare const TableItemsProvider: import("react").FC<useTableItemsReturn<any> & {
|
|
28
|
+
declare const TableItemsProvider: import("react").FC<Omit<useTableItemsReturn<any>, "visibleRowIds" | "childRowIdsById"> & {
|
|
25
29
|
children: React.ReactNode;
|
|
26
30
|
ref?: never;
|
|
27
|
-
}>, useTableItemsContext: <S extends boolean = true>(strict?: S | undefined) => S extends true ? useTableItemsReturn<any> : useTableItemsReturn<any> | undefined;
|
|
31
|
+
}>, useTableItemsContext: <S extends boolean = true>(strict?: S | undefined) => S extends true ? Omit<useTableItemsReturn<any>, "visibleRowIds" | "childRowIdsById"> : Omit<useTableItemsReturn<any>, "visibleRowIds" | "childRowIdsById"> | undefined;
|
|
28
32
|
export { useTableItems, TableItemsProvider, useTableItemsContext };
|
|
29
33
|
export type { ItemDetail };
|
|
@@ -10,29 +10,38 @@ function useTableItems(args) {
|
|
|
10
10
|
onChange: onExpandedSubRowIdsChange,
|
|
11
11
|
});
|
|
12
12
|
const expandedIdsSet = useMemo(() => new Set(nestedSubRowsExpandedIds), [nestedSubRowsExpandedIds]);
|
|
13
|
-
const { itemDetails, visibleItems } = useMemo(() => {
|
|
14
|
-
const rowEntriesMap = collectTableRowEntries({
|
|
13
|
+
const { itemDetails, visibleItems, visibleRowIds, childRowIdsById } = useMemo(() => {
|
|
14
|
+
const { itemDetails: rowEntriesMap, childRowIdsById: _childRowIdsById } = collectTableRowEntries({
|
|
15
15
|
items,
|
|
16
16
|
getRowId,
|
|
17
17
|
getSubRows,
|
|
18
18
|
isSubRowExpandable,
|
|
19
19
|
});
|
|
20
20
|
const localVisibleItems = [];
|
|
21
|
+
const localVisibleRowIds = [];
|
|
21
22
|
const addVisibleRows = (rowData) => {
|
|
22
|
-
localVisibleItems.push(rowData);
|
|
23
23
|
const details = rowEntriesMap.get(rowData);
|
|
24
|
-
if (!details
|
|
25
|
-
return;
|
|
24
|
+
if (!details) {
|
|
25
|
+
return [];
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
localVisibleItems.push(rowData);
|
|
28
|
+
localVisibleRowIds.push(details.id);
|
|
29
|
+
const visibleDescendantRowIds = [];
|
|
30
|
+
if (expandedIdsSet.has(details.id)) {
|
|
31
|
+
for (const childRow of details.children) {
|
|
32
|
+
const childVisibleRowIds = addVisibleRows(childRow);
|
|
33
|
+
visibleDescendantRowIds.push(...childVisibleRowIds);
|
|
34
|
+
}
|
|
29
35
|
}
|
|
36
|
+
return [details.id, ...visibleDescendantRowIds];
|
|
30
37
|
};
|
|
31
38
|
for (const rowData of items) {
|
|
32
39
|
addVisibleRows(rowData);
|
|
33
40
|
}
|
|
34
41
|
return {
|
|
35
42
|
visibleItems: localVisibleItems,
|
|
43
|
+
visibleRowIds: localVisibleRowIds,
|
|
44
|
+
childRowIdsById: _childRowIdsById,
|
|
36
45
|
itemDetails: rowEntriesMap,
|
|
37
46
|
};
|
|
38
47
|
}, [getSubRows, items, getRowId, isSubRowExpandable, expandedIdsSet]);
|
|
@@ -44,6 +53,8 @@ function useTableItems(args) {
|
|
|
44
53
|
return {
|
|
45
54
|
items: visibleItems,
|
|
46
55
|
itemDetails,
|
|
56
|
+
visibleRowIds,
|
|
57
|
+
childRowIdsById,
|
|
47
58
|
onExpandedSubRowIdsChange: handleExpandedSubRowIdChange,
|
|
48
59
|
isSubRowExpanded: (id) => expandedIdsSet.has(id),
|
|
49
60
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableItems.js","sourceRoot":"","sources":["../../../../src/data/table/hooks/useTableItems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"useTableItems.js","sourceRoot":"","sources":["../../../../src/data/table/hooks/useTableItems.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { SelectionProps, TableSelection } from "../helpers/selection/selection.types.js";
|
|
2
2
|
type UseTableSelectionArgs = SelectionProps & {
|
|
3
|
-
|
|
3
|
+
visibleRowIds: (string | number)[];
|
|
4
|
+
childRowIdsById?: Map<string | number, (string | number)[]>;
|
|
4
5
|
};
|
|
5
6
|
type UseTableSelectionReturn = {
|
|
6
7
|
selection: TableSelection;
|
|
7
8
|
renderSelection: boolean;
|
|
8
9
|
};
|
|
9
|
-
declare function useTableSelection({ selectionMode, defaultSelectedKeys, selectedKeys: selectedKeysProp, onSelectionChange, disabledSelectionKeys,
|
|
10
|
+
declare function useTableSelection({ selectionMode, defaultSelectedKeys, selectedKeys: selectedKeysProp, onSelectionChange, disabledSelectionKeys, visibleRowIds, childRowIdsById, }: UseTableSelectionArgs): UseTableSelectionReturn;
|
|
10
11
|
/**
|
|
11
12
|
* TODO: Only temp needed to keep Root happy
|
|
12
13
|
*/
|
|
@@ -3,7 +3,7 @@ import { useId } from "../../../utils-external/index.js";
|
|
|
3
3
|
import { useControllableState } from "../../../utils/hooks/index.js";
|
|
4
4
|
import { getMultipleSelectProps } from "../helpers/selection/getMultipleSelectProps.js";
|
|
5
5
|
import { getSingleSelectProps } from "../helpers/selection/getSingleSelectProps.js";
|
|
6
|
-
function useTableSelection({ selectionMode = "none", defaultSelectedKeys, selectedKeys: selectedKeysProp, onSelectionChange, disabledSelectionKeys = [],
|
|
6
|
+
function useTableSelection({ selectionMode = "none", defaultSelectedKeys, selectedKeys: selectedKeysProp, onSelectionChange, disabledSelectionKeys = [], visibleRowIds = [], childRowIdsById, }) {
|
|
7
7
|
const radioGroupName = useId();
|
|
8
8
|
const [selectedKeys, setSelectedKeys] = useControllableState({
|
|
9
9
|
value: selectionMode !== "none" ? selectedKeysProp : undefined,
|
|
@@ -28,7 +28,7 @@ function useTableSelection({ selectionMode = "none", defaultSelectedKeys, select
|
|
|
28
28
|
disabledKeysSet,
|
|
29
29
|
name: radioGroupName,
|
|
30
30
|
})),
|
|
31
|
-
renderSelection:
|
|
31
|
+
renderSelection: visibleRowIds.length !== 0,
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
return {
|
|
@@ -37,9 +37,10 @@ function useTableSelection({ selectionMode = "none", defaultSelectedKeys, select
|
|
|
37
37
|
selectedKeys,
|
|
38
38
|
setSelectedKeys,
|
|
39
39
|
disabledKeysSet,
|
|
40
|
-
|
|
40
|
+
visibleRowIds,
|
|
41
|
+
childRowIdsById,
|
|
41
42
|
})),
|
|
42
|
-
renderSelection:
|
|
43
|
+
renderSelection: visibleRowIds.length !== 0,
|
|
43
44
|
};
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableSelection.js","sourceRoot":"","sources":["../../../../src/data/table/hooks/useTableSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"useTableSelection.js","sourceRoot":"","sources":["../../../../src/data/table/hooks/useTableSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAmBjF,SAAS,iBAAiB,CAAC,EACzB,aAAa,GAAG,MAAM,EACtB,mBAAmB,EACnB,YAAY,EAAE,gBAAgB,EAC9B,iBAAiB,EACjB,qBAAqB,GAAG,EAAE,EAC1B,aAAa,GAAG,EAAE,EAClB,eAAe,GACO;IACtB,MAAM,cAAc,GAAG,KAAK,EAAE,CAAC;IAE/B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,oBAAoB,CAAgB;QAC1E,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;QAC9D,YAAY,EAAE,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,EAAE;QACvC,QAAQ,EAAE,iBAAiB;KAC5B,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAE7E,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,qBAAqB,CAAC,EACpC,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,KAAsB,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EACtD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,aAAa,GAAG,EAAE,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,CAAC;IAE7E,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO;YACL,SAAS,gCACP,aAAa,IACV,aAAa,KAChB,YAAY,EAAE,EAAE,GACjB;YACD,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO;YACL,SAAS,gCACP,aAAa,IACV,aAAa,GACb,oBAAoB,CAAC;gBACtB,eAAe;gBACf,eAAe;gBACf,eAAe;gBACf,IAAI,EAAE,cAAc;aACrB,CAAC,CACH;YACD,eAAe,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;SAC5C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,gCACP,aAAa,IACV,aAAa,GACb,sBAAsB,CAAC;YACxB,eAAe;YACf,YAAY;YACZ,eAAe;YACf,eAAe;YACf,aAAa;YACb,eAAe;SAChB,CAAC,CACH;QACD,eAAe,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,gBAAgB,GAA4B;IAChD,SAAS,EAAE;QACT,aAAa,EAAE,MAAM;QACrB,YAAY,EAAE,EAAE;QAChB,qBAAqB,EAAE,EAAE;QACzB,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;KAC3B;IACD,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -11,11 +11,12 @@ type ColumnDefinition<T> = {
|
|
|
11
11
|
minWidth?: number | string;
|
|
12
12
|
maxWidth?: number | string;
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
14
|
+
* Text alignment for cells in this column.
|
|
15
|
+
*
|
|
16
|
+
*
|
|
17
|
+
* @default "left"
|
|
17
18
|
*/
|
|
18
|
-
|
|
19
|
+
align?: "left" | "right" | "center";
|
|
19
20
|
/**
|
|
20
21
|
* Assigned to the cell's `th` element instead of `td` if true.
|
|
21
22
|
*
|
|
@@ -3,7 +3,7 @@ import React from "react";
|
|
|
3
3
|
import { type SelectionProps } from "../hooks/useTableSelection.js";
|
|
4
4
|
import { type TableSortOptions } from "../hooks/useTableSort.js";
|
|
5
5
|
import type { ColumnDefinitions } from "./DataTable.types.js";
|
|
6
|
-
interface DataTableProps<T> extends React.HTMLAttributes<HTMLTableElement>,
|
|
6
|
+
interface DataTableProps<T> extends React.HTMLAttributes<HTMLTableElement>, TableSortOptions {
|
|
7
7
|
children?: never;
|
|
8
8
|
/**
|
|
9
9
|
* Controls vertical cell padding.
|
|
@@ -161,12 +161,20 @@ interface DataTableProps<T> extends React.HTMLAttributes<HTMLTableElement>, Sele
|
|
|
161
161
|
/**
|
|
162
162
|
* Function to get sub-rows for a given row, used for nested rows.
|
|
163
163
|
* When provided, an expand toggle column is added automatically.
|
|
164
|
+
*
|
|
165
|
+
*
|
|
166
|
+
* TODO:
|
|
167
|
+
* - Table might need to be implemented with role="treegrid" for a11y when having nested rows.
|
|
164
168
|
*/
|
|
165
169
|
getSubRows?: (rowData: T) => T[];
|
|
166
170
|
expandedSubRowIds?: (string | number)[];
|
|
167
171
|
defaultExpandedSubRowIds?: (string | number)[];
|
|
168
172
|
isSubRowExpandable?: (rowData: T) => boolean;
|
|
169
173
|
onExpandedSubRowIdsChange?: (ids: (string | number)[]) => void;
|
|
174
|
+
/**
|
|
175
|
+
* Props for row selection functionality.
|
|
176
|
+
*/
|
|
177
|
+
selection?: SelectionProps;
|
|
170
178
|
}
|
|
171
179
|
declare const DataTableAuto: <T>(props: DataTableProps<T> & React.RefAttributes<HTMLTableElement>) => React.ReactElement | null;
|
|
172
180
|
export { DataTableAuto };
|
|
@@ -10,7 +10,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
/** biome-ignore-all lint/correctness/useHookAtTopLevel: False positive because of the way forwardRef() is added */
|
|
13
|
-
import React, { forwardRef
|
|
13
|
+
import React, { forwardRef } from "react";
|
|
14
14
|
import { ChevronDownIcon, ChevronRightIcon } from "@navikt/aksel-icons";
|
|
15
15
|
import { Button } from "../../../button/index.js";
|
|
16
16
|
import { Skeleton } from "../../../skeleton/index.js";
|
|
@@ -32,7 +32,7 @@ import { DataTableThead } from "../thead/DataTableThead.js";
|
|
|
32
32
|
import { DataTableTr } from "../tr/DataTableTr.js";
|
|
33
33
|
import { DataTableContextProvider, useDataTableContext, } from "./DataTableRoot.context.js";
|
|
34
34
|
function DataTableAutoInner(_a, forwardedRef) {
|
|
35
|
-
var { className, id, rowDensity = "normal", withKeyboardNav = false, zebraStripes = false, truncateContent = true, shouldBlockNavigation, layout = "fixed",
|
|
35
|
+
var { className, id, rowDensity = "normal", withKeyboardNav = false, zebraStripes = false, truncateContent = true, shouldBlockNavigation, layout = "fixed", selection, data, columnDefinitions, getRowId, stickyColumns, stickyHeader = false, sort: sortProp, defaultSort = [], onSortChange, onRowClick, emptyState, isLoading = false, loadingState, loadingRows, loadingLabel = "Laster innhold", getDetailsPanelContent, isDetailsPanelExpandable, getDetailsPanelHeight, showExpandAll = false, detailsPanelRowIds, defaultDetailsPanelRowIds, onDetailsPanelChange, getSubRows, expandedSubRowIds, defaultExpandedSubRowIds, isSubRowExpandable, onExpandedSubRowIdsChange } = _a, rest = __rest(_a, ["className", "id", "rowDensity", "withKeyboardNav", "zebraStripes", "truncateContent", "shouldBlockNavigation", "layout", "selection", "data", "columnDefinitions", "getRowId", "stickyColumns", "stickyHeader", "sort", "defaultSort", "onSortChange", "onRowClick", "emptyState", "isLoading", "loadingState", "loadingRows", "loadingLabel", "getDetailsPanelContent", "isDetailsPanelExpandable", "getDetailsPanelHeight", "showExpandAll", "detailsPanelRowIds", "defaultDetailsPanelRowIds", "onDetailsPanelChange", "getSubRows", "expandedSubRowIds", "defaultExpandedSubRowIds", "isSubRowExpandable", "onExpandedSubRowIdsChange"]);
|
|
36
36
|
const { tabIndex, setTableRef } = useTableKeyboardNav({
|
|
37
37
|
enabled: withKeyboardNav,
|
|
38
38
|
shouldBlockNavigation,
|
|
@@ -52,20 +52,15 @@ function DataTableAutoInner(_a, forwardedRef) {
|
|
|
52
52
|
isSubRowExpandable,
|
|
53
53
|
onExpandedSubRowIdsChange,
|
|
54
54
|
});
|
|
55
|
-
const
|
|
56
|
-
const rowKeys = [];
|
|
57
|
-
for (const details of tableItems.itemDetails.values()) {
|
|
58
|
-
rowKeys.push(details.id);
|
|
59
|
-
}
|
|
60
|
-
return rowKeys;
|
|
61
|
-
}, [tableItems.itemDetails]);
|
|
55
|
+
const { selectionMode: selectionModeProp = "none", selectedKeys, defaultSelectedKeys, onSelectionChange, disabledSelectionKeys = [], disableRowSelectionOnClick = false, } = selection || {};
|
|
62
56
|
const tableSelectionState = useTableSelection({
|
|
63
57
|
selectionMode: selectionModeProp,
|
|
64
58
|
selectedKeys,
|
|
65
59
|
defaultSelectedKeys,
|
|
66
60
|
onSelectionChange,
|
|
67
61
|
disabledSelectionKeys,
|
|
68
|
-
|
|
62
|
+
visibleRowIds: tableItems.visibleRowIds,
|
|
63
|
+
childRowIdsById: tableItems.childRowIdsById,
|
|
69
64
|
});
|
|
70
65
|
const { columns, stickySelection } = useColumnOptions(columnDefinitions, {
|
|
71
66
|
stickyColumns,
|
|
@@ -77,18 +72,18 @@ function DataTableAutoInner(_a, forwardedRef) {
|
|
|
77
72
|
(getDetailsPanelContent ? 1 : 0);
|
|
78
73
|
const tableId = useId(id);
|
|
79
74
|
return (React.createElement(DataTableContextProvider, { layout: layout, withKeyboardNav: withKeyboardNav, selectionState: tableSelectionState, stickySelection: stickySelection, stickyHeader: stickyHeader, tableId: tableId, showLoadingSkeletons: isLoading && loadingState == null, onRowClick: onRowClick, disableRowSelectionOnClick: disableRowSelectionOnClick, isLoading: isLoading, showLoadingOverlay: isLoading && !loadingState && !loadingRows, columns: columns },
|
|
80
|
-
React.createElement(
|
|
81
|
-
React.createElement(
|
|
82
|
-
React.createElement("div", { className: "aksel-data-
|
|
83
|
-
React.createElement("
|
|
84
|
-
React.createElement(
|
|
85
|
-
React.createElement(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
75
|
+
React.createElement(TableItemsProvider, { itemDetails: tableItems.itemDetails, items: tableItems.items, onExpandedSubRowIdsChange: tableItems.onExpandedSubRowIdsChange, isSubRowExpanded: tableItems.isSubRowExpanded },
|
|
76
|
+
React.createElement(DataTableExpansionProvider, { detailsPanelRowIds: detailsPanelRowIds, defaultDetailsPanelRowIds: defaultDetailsPanelRowIds, onDetailsPanelChange: onDetailsPanelChange, getDetailsPanelContent: getDetailsPanelContent, isDetailsPanelExpandable: isDetailsPanelExpandable, getDetailsPanelHeight: getDetailsPanelHeight, showExpandAll: showExpandAll },
|
|
77
|
+
React.createElement("div", { className: "aksel-data-table__border-wrapper" },
|
|
78
|
+
React.createElement("div", { className: "aksel-data-table__scroll-wrapper" },
|
|
79
|
+
React.createElement("table", Object.assign({}, rest, { ref: mergedRef, className: cl("aksel-data-table", className), "data-zebra-stripes": zebraStripes, "data-truncate-content": truncateContent, "data-density": rowDensity, "data-layout": layout, "data-loading": isLoading || undefined, tabIndex: tabIndex, "aria-busy": isLoading || undefined }),
|
|
80
|
+
React.createElement(DataTableThead, null,
|
|
81
|
+
React.createElement(DataTableTr, null, columns.map(({ isSticky, colDef }) => {
|
|
82
|
+
var _a, _b, _c;
|
|
83
|
+
const sortEntry = sortState.find((s) => s.columnId === colDef.id);
|
|
84
|
+
const sortDirection = (_a = sortEntry === null || sortEntry === void 0 ? void 0 : sortEntry.direction) !== null && _a !== void 0 ? _a : "none";
|
|
85
|
+
return (React.createElement(DataTableColumnHeader, { maxWidth: colDef.maxWidth, minWidth: colDef.minWidth, width: colDef.width, defaultWidth: (_b = colDef.defaultWidth) !== null && _b !== void 0 ? _b : "100%", textAlign: (_c = colDef.align) !== null && _c !== void 0 ? _c : "left", key: colDef.id, isSticky: isSticky, sortable: colDef.sortable, sortDirection: sortDirection, onSortClick: (event) => onSortClick(colDef.id, event) }, colDef.header));
|
|
86
|
+
}))),
|
|
92
87
|
React.createElement(DataTableTbody, null,
|
|
93
88
|
React.createElement(DataTableAutoTBodyContent, { loadingState: loadingState, loadingRows: loadingRows, loadingLabel: loadingLabel, emptyState: emptyState, fullWidthColSpan: fullWidthColSpan })))))))));
|
|
94
89
|
}
|
|
@@ -102,39 +97,40 @@ function DataTableAutoTBodyContent({ loadingState, loadingRows, loadingLabel, em
|
|
|
102
97
|
return (React.createElement(React.Fragment, null,
|
|
103
98
|
React.createElement("tr", null,
|
|
104
99
|
React.createElement("td", { colSpan: fullWidthColSpan, className: "aksel-sr-only" }, loadingLabel)),
|
|
105
|
-
Array.from({ length: loadingRows }, (_, rowIndex) => (React.createElement(DataTableTr, { key: `skeleton-row-${rowIndex}`, "aria-hidden": true }, columns.map(({ isSticky, colDef }, colDefIndex) =>
|
|
106
|
-
|
|
100
|
+
Array.from({ length: loadingRows }, (_, rowIndex) => (React.createElement(DataTableTr, { key: `skeleton-row-${rowIndex}`, "aria-hidden": true }, columns.map(({ isSticky, colDef }, colDefIndex) => {
|
|
101
|
+
var _a;
|
|
102
|
+
return (React.createElement(DataTableBaseCell, { textAlign: (_a = colDef.align) !== null && _a !== void 0 ? _a : "left", key: colDef.id || colDefIndex, as: colDef.isRowHeader ? "th" : "td", isSticky: isSticky },
|
|
103
|
+
React.createElement(Skeleton, { variant: "text" })));
|
|
104
|
+
}))))));
|
|
107
105
|
}
|
|
108
106
|
if (items.length === 0 && emptyState !== undefined) {
|
|
109
107
|
return (React.createElement(DataTableEmptyState, { colSpan: fullWidthColSpan }, emptyState));
|
|
110
108
|
}
|
|
111
109
|
const renderLoadingAnnouncement = isLoading && !loadingState && !loadingRows;
|
|
112
|
-
return
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
React.createElement(
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
React.createElement(DataTableExpandedRow, { rowId: details.id, rowData: rowData, fullWidthColSpan: fullWidthColSpan })));
|
|
137
|
-
});
|
|
110
|
+
return (React.createElement(React.Fragment, null,
|
|
111
|
+
renderLoadingAnnouncement && (React.createElement("tr", null,
|
|
112
|
+
React.createElement("td", { colSpan: fullWidthColSpan, className: "aksel-sr-only" }, loadingLabel))),
|
|
113
|
+
items.map((rowData) => {
|
|
114
|
+
const details = itemDetails.get(rowData);
|
|
115
|
+
/* Should in theory be impossible. Look about typing this? */
|
|
116
|
+
if (!details) {
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
const hasSubRows = details.children.length > 0;
|
|
120
|
+
return (React.createElement(React.Fragment, { key: details.id },
|
|
121
|
+
React.createElement(DataTableTr, { rowId: details.id }, columns.map(({ isSticky, colDef }, colDefIndex) => {
|
|
122
|
+
var _a;
|
|
123
|
+
const renderNestedToggle = colDefIndex === 0 && hasSubRows;
|
|
124
|
+
const renderNestedIndent = colDefIndex === 0 && (details.level > 0 || hasSubRows);
|
|
125
|
+
const style = {
|
|
126
|
+
"--__axc-data-table-nested-depth": details.level,
|
|
127
|
+
};
|
|
128
|
+
return (React.createElement(DataTableBaseCell, { textAlign: (_a = colDef.align) !== null && _a !== void 0 ? _a : "left", key: colDef.id || colDefIndex, as: colDef.isRowHeader ? "th" : "td", isSticky: isSticky, "data-nested": renderNestedIndent || undefined, style: style },
|
|
129
|
+
renderNestedToggle && (React.createElement(NestedRowToggle, { details: details })),
|
|
130
|
+
colDef.cell(rowData)));
|
|
131
|
+
})),
|
|
132
|
+
React.createElement(DataTableExpandedRow, { rowId: details.id, rowData: rowData, fullWidthColSpan: fullWidthColSpan })));
|
|
133
|
+
})));
|
|
138
134
|
}
|
|
139
135
|
function NestedRowToggle({ details }) {
|
|
140
136
|
const { isSubRowExpanded, onExpandedSubRowIdsChange } = useTableItemsContext();
|
|
@@ -160,9 +156,13 @@ function DataTableExpandedRow({ rowId, rowData, fullWidthColSpan, }) {
|
|
|
160
156
|
if (!content) {
|
|
161
157
|
return null;
|
|
162
158
|
}
|
|
159
|
+
const panelHeight = getDetailsPanelHeight === null || getDetailsPanelHeight === void 0 ? void 0 : getDetailsPanelHeight(rowData);
|
|
160
|
+
const style = panelHeight
|
|
161
|
+
? { height: panelHeight, overflow: "auto" }
|
|
162
|
+
: { height: "auto" };
|
|
163
163
|
return (React.createElement("tr", null,
|
|
164
164
|
React.createElement("td", { id: expansionId, colSpan: fullWidthColSpan },
|
|
165
|
-
React.createElement("div", { style:
|
|
165
|
+
React.createElement("div", { style: style }, content))));
|
|
166
166
|
}
|
|
167
167
|
const DataTableAuto = forwardRef(DataTableAutoInner);
|
|
168
168
|
export { DataTableAuto };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableAuto.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableAuto.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,mHAAmH;AACnH,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"DataTableAuto.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableAuto.tsx"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ import { DataTableCaption, } from "../caption/DataTableCaption.js";
|
|
|
17
17
|
import { DataTableEmptyState, } from "../empty-state/DataTableEmptyState.js";
|
|
18
18
|
import { DataTableExpansionProvider } from "../hooks/useTableExpansion.js";
|
|
19
19
|
import { useTableKeyboardNav } from "../hooks/useTableKeyboardNav.js";
|
|
20
|
-
import { noSelectionState } from "../hooks/useTableSelection.js";
|
|
20
|
+
import { noSelectionState, } from "../hooks/useTableSelection.js";
|
|
21
21
|
import { DataTableLoadingState, } from "../loading-state/DataTableLoadingState.js";
|
|
22
22
|
import { DataTableTbody, } from "../tbody/DataTableTbody.js";
|
|
23
23
|
import { DataTableTd } from "../td/DataTableTd.js";
|
|
@@ -26,7 +26,6 @@ import { DataTableTh } from "../th/DataTableTh.js";
|
|
|
26
26
|
import { DataTableThead, } from "../thead/DataTableThead.js";
|
|
27
27
|
import { DataTableTr } from "../tr/DataTableTr.js";
|
|
28
28
|
import { DataTableContextProvider } from "./DataTableRoot.context.js";
|
|
29
|
-
const EMPTY_ITEM_DETAILS = new Map();
|
|
30
29
|
/**
|
|
31
30
|
* TODO Component description etc.
|
|
32
31
|
*
|
|
@@ -40,8 +39,8 @@ const DataTable = forwardRef((_a, forwardedRef) => {
|
|
|
40
39
|
shouldBlockNavigation,
|
|
41
40
|
});
|
|
42
41
|
const mergedRef = useMergeRefs(forwardedRef, setTableRef);
|
|
43
|
-
return (React.createElement(DataTableContextProvider, { layout: layout, withKeyboardNav: withKeyboardNav, selectionState: noSelectionState, stickySelection: false, stickyHeader:
|
|
44
|
-
React.createElement(DataTableExpansionProvider,
|
|
42
|
+
return (React.createElement(DataTableContextProvider, { layout: layout, withKeyboardNav: withKeyboardNav, selectionState: noSelectionState, stickySelection: false, stickyHeader: true, tableId: useId(), showLoadingSkeletons: false, onRowClick: undefined, disableRowSelectionOnClick: false, showLoadingOverlay: false, columns: [] },
|
|
43
|
+
React.createElement(DataTableExpansionProvider, null,
|
|
45
44
|
React.createElement("div", { className: "aksel-data-table__border-wrapper" },
|
|
46
45
|
React.createElement("div", { className: "aksel-data-table__scroll-wrapper" },
|
|
47
46
|
React.createElement("table", Object.assign({}, rest, { ref: mergedRef, className: cl("aksel-data-table", className), "data-zebra-stripes": zebraStripes, "data-truncate-content": truncateContent, "data-density": rowDensity, "data-layout": layout, tabIndex: tabIndex })))))));
|