@navikt/ds-react 8.10.4 → 8.10.6
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/data-grid/index.d.ts +2 -0
- package/cjs/data/data-grid/index.js +7 -0
- package/cjs/data/data-grid/index.js.map +1 -0
- package/cjs/data/data-grid/root/DataGridRoot.context.d.ts +11 -0
- package/cjs/data/data-grid/root/DataGridRoot.context.js +11 -0
- package/cjs/data/data-grid/root/DataGridRoot.context.js.map +1 -0
- package/cjs/data/data-grid/root/DataGridRoot.d.ts +38 -0
- package/cjs/data/data-grid/root/DataGridRoot.js +68 -0
- package/cjs/data/data-grid/root/DataGridRoot.js.map +1 -0
- package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +11 -13
- package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -1
- package/cjs/data/drag-and-drop/root/DragAndDrop.context.d.ts +4 -2
- package/cjs/data/drag-and-drop/root/DragAndDrop.context.js.map +1 -1
- package/cjs/data/drag-and-drop/root/DragAndDropRoot.js +44 -46
- package/cjs/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -1
- package/cjs/data/drag-and-drop/types.d.ts +0 -4
- package/cjs/data/stories/Data.test-data.d.ts +2 -5
- package/cjs/data/stories/Data.test-data.js +30 -39
- package/cjs/data/stories/Data.test-data.js.map +1 -1
- package/cjs/data/table/base-cell/DataTableBaseCell.d.ts +15 -15
- package/cjs/data/table/base-cell/DataTableBaseCell.js +4 -8
- package/cjs/data/table/base-cell/DataTableBaseCell.js.map +1 -1
- package/cjs/data/table/column-header/DataTableColumnHeader.d.ts +24 -6
- package/cjs/data/table/column-header/DataTableColumnHeader.js +22 -27
- package/cjs/data/table/column-header/DataTableColumnHeader.js.map +1 -1
- package/cjs/data/table/column-header/useTableColumnResize.d.ts +19 -29
- package/cjs/data/table/column-header/useTableColumnResize.js +24 -22
- package/cjs/data/table/column-header/useTableColumnResize.js.map +1 -1
- package/cjs/data/table/details-panel-row/DataTableDetailsPanelRow.d.ts +1 -1
- package/cjs/data/table/details-panel-row/DataTableDetailsPanelRow.js +2 -2
- package/cjs/data/table/details-panel-row/DataTableDetailsPanelRow.js.map +1 -1
- package/cjs/data/table/helpers/collectTableRowEntries.d.ts +9 -7
- package/cjs/data/table/helpers/collectTableRowEntries.js +18 -10
- package/cjs/data/table/helpers/collectTableRowEntries.js.map +1 -1
- package/cjs/data/table/helpers/selection/getMultipleSelectProps.d.ts +13 -11
- package/cjs/data/table/helpers/selection/getMultipleSelectProps.js +43 -53
- package/cjs/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -1
- package/cjs/data/table/helpers/selection/getSingleSelectProps.d.ts +9 -8
- package/cjs/data/table/helpers/selection/getSingleSelectProps.js +23 -10
- package/cjs/data/table/helpers/selection/getSingleSelectProps.js.map +1 -1
- package/cjs/data/table/helpers/selection/selection.types.d.ts +19 -19
- package/cjs/data/table/helpers/selection/selection.utils.d.ts +21 -0
- package/cjs/data/table/helpers/selection/selection.utils.js +46 -0
- package/cjs/data/table/helpers/selection/selection.utils.js.map +1 -0
- package/cjs/data/table/helpers/table-focus.d.ts +0 -3
- package/cjs/data/table/helpers/table-focus.js +38 -8
- package/cjs/data/table/helpers/table-focus.js.map +1 -1
- package/cjs/data/table/hooks/useColumnOptions.d.ts +16 -5
- package/cjs/data/table/hooks/useColumnOptions.js +26 -8
- package/cjs/data/table/hooks/useColumnOptions.js.map +1 -1
- package/cjs/data/table/hooks/useGridCache.js +2 -2
- package/cjs/data/table/hooks/useGridCache.js.map +1 -1
- package/cjs/data/table/hooks/useTableDetailsPanel.d.ts +10 -13
- package/cjs/data/table/hooks/useTableDetailsPanel.js +7 -6
- package/cjs/data/table/hooks/useTableDetailsPanel.js.map +1 -1
- package/cjs/data/table/hooks/useTableItems.d.ts +31 -17
- package/cjs/data/table/hooks/useTableItems.js +10 -20
- package/cjs/data/table/hooks/useTableItems.js.map +1 -1
- package/cjs/data/table/hooks/useTableKeyboardNav.d.ts +1 -6
- package/cjs/data/table/hooks/useTableKeyboardNav.js +6 -5
- package/cjs/data/table/hooks/useTableKeyboardNav.js.map +1 -1
- package/cjs/data/table/hooks/useTableSelection.d.ts +6 -6
- package/cjs/data/table/hooks/useTableSelection.js +13 -13
- package/cjs/data/table/hooks/useTableSelection.js.map +1 -1
- package/cjs/data/table/hooks/useTableSort.d.ts +2 -2
- package/cjs/data/table/hooks/useTableSort.js +4 -5
- package/cjs/data/table/hooks/useTableSort.js.map +1 -1
- package/cjs/data/table/root/DataTable.types.d.ts +22 -13
- package/cjs/data/table/root/DataTableRoot.context.d.ts +13 -7
- package/cjs/data/table/root/DataTableRoot.context.js.map +1 -1
- package/cjs/data/table/root/DataTableRoot.d.ts +49 -72
- package/cjs/data/table/root/DataTableRoot.js +56 -72
- package/cjs/data/table/root/DataTableRoot.js.map +1 -1
- package/cjs/data/table/root/DataTableRoot.legacy.d.ts +2 -7
- package/cjs/data/table/root/DataTableRoot.legacy.js +17 -3
- package/cjs/data/table/root/DataTableRoot.legacy.js.map +1 -1
- package/cjs/data/table/sub-row-toggle/DataTableSubRowToggle.js +4 -4
- package/cjs/data/table/sub-row-toggle/DataTableSubRowToggle.js.map +1 -1
- package/cjs/data/table/tbody/DataTableTbody.js +4 -2
- package/cjs/data/table/tbody/DataTableTbody.js.map +1 -1
- package/cjs/data/table/tr/DataTableTr.d.ts +5 -3
- package/cjs/data/table/tr/DataTableTr.js +36 -23
- package/cjs/data/table/tr/DataTableTr.js.map +1 -1
- package/cjs/table/ColumnHeader.js +2 -1
- package/cjs/table/ColumnHeader.js.map +1 -1
- package/esm/data/data-grid/index.d.ts +2 -0
- package/esm/data/data-grid/index.js +3 -0
- package/esm/data/data-grid/index.js.map +1 -0
- package/esm/data/data-grid/root/DataGridRoot.context.d.ts +11 -0
- package/esm/data/data-grid/root/DataGridRoot.context.js +7 -0
- package/esm/data/data-grid/root/DataGridRoot.context.js.map +1 -0
- package/esm/data/data-grid/root/DataGridRoot.d.ts +38 -0
- package/esm/data/data-grid/root/DataGridRoot.js +32 -0
- package/esm/data/data-grid/root/DataGridRoot.js.map +1 -0
- package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +11 -13
- package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -1
- package/esm/data/drag-and-drop/root/DragAndDrop.context.d.ts +4 -2
- package/esm/data/drag-and-drop/root/DragAndDrop.context.js.map +1 -1
- package/esm/data/drag-and-drop/root/DragAndDropRoot.js +44 -46
- package/esm/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -1
- package/esm/data/drag-and-drop/types.d.ts +0 -4
- package/esm/data/stories/Data.test-data.d.ts +2 -5
- package/esm/data/stories/Data.test-data.js +30 -39
- package/esm/data/stories/Data.test-data.js.map +1 -1
- package/esm/data/table/base-cell/DataTableBaseCell.d.ts +15 -15
- package/esm/data/table/base-cell/DataTableBaseCell.js +4 -8
- package/esm/data/table/base-cell/DataTableBaseCell.js.map +1 -1
- package/esm/data/table/column-header/DataTableColumnHeader.d.ts +24 -6
- package/esm/data/table/column-header/DataTableColumnHeader.js +23 -28
- package/esm/data/table/column-header/DataTableColumnHeader.js.map +1 -1
- package/esm/data/table/column-header/useTableColumnResize.d.ts +19 -29
- package/esm/data/table/column-header/useTableColumnResize.js +24 -22
- package/esm/data/table/column-header/useTableColumnResize.js.map +1 -1
- package/esm/data/table/details-panel-row/DataTableDetailsPanelRow.d.ts +1 -1
- package/esm/data/table/details-panel-row/DataTableDetailsPanelRow.js +2 -2
- package/esm/data/table/details-panel-row/DataTableDetailsPanelRow.js.map +1 -1
- package/esm/data/table/helpers/collectTableRowEntries.d.ts +9 -7
- package/esm/data/table/helpers/collectTableRowEntries.js +18 -10
- package/esm/data/table/helpers/collectTableRowEntries.js.map +1 -1
- package/esm/data/table/helpers/selection/getMultipleSelectProps.d.ts +13 -11
- package/esm/data/table/helpers/selection/getMultipleSelectProps.js +43 -53
- package/esm/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -1
- package/esm/data/table/helpers/selection/getSingleSelectProps.d.ts +9 -8
- package/esm/data/table/helpers/selection/getSingleSelectProps.js +23 -10
- package/esm/data/table/helpers/selection/getSingleSelectProps.js.map +1 -1
- package/esm/data/table/helpers/selection/selection.types.d.ts +19 -19
- package/esm/data/table/helpers/selection/selection.utils.d.ts +21 -0
- package/esm/data/table/helpers/selection/selection.utils.js +43 -0
- package/esm/data/table/helpers/selection/selection.utils.js.map +1 -0
- package/esm/data/table/helpers/table-focus.d.ts +0 -3
- package/esm/data/table/helpers/table-focus.js +38 -8
- package/esm/data/table/helpers/table-focus.js.map +1 -1
- package/esm/data/table/hooks/useColumnOptions.d.ts +16 -5
- package/esm/data/table/hooks/useColumnOptions.js +26 -8
- package/esm/data/table/hooks/useColumnOptions.js.map +1 -1
- package/esm/data/table/hooks/useGridCache.js +2 -2
- package/esm/data/table/hooks/useGridCache.js.map +1 -1
- package/esm/data/table/hooks/useTableDetailsPanel.d.ts +10 -13
- package/esm/data/table/hooks/useTableDetailsPanel.js +7 -6
- package/esm/data/table/hooks/useTableDetailsPanel.js.map +1 -1
- package/esm/data/table/hooks/useTableItems.d.ts +31 -17
- package/esm/data/table/hooks/useTableItems.js +11 -18
- package/esm/data/table/hooks/useTableItems.js.map +1 -1
- package/esm/data/table/hooks/useTableKeyboardNav.d.ts +1 -6
- package/esm/data/table/hooks/useTableKeyboardNav.js +7 -6
- package/esm/data/table/hooks/useTableKeyboardNav.js.map +1 -1
- package/esm/data/table/hooks/useTableSelection.d.ts +6 -6
- package/esm/data/table/hooks/useTableSelection.js +13 -13
- package/esm/data/table/hooks/useTableSelection.js.map +1 -1
- package/esm/data/table/hooks/useTableSort.d.ts +2 -2
- package/esm/data/table/hooks/useTableSort.js +4 -5
- package/esm/data/table/hooks/useTableSort.js.map +1 -1
- package/esm/data/table/root/DataTable.types.d.ts +22 -13
- package/esm/data/table/root/DataTableRoot.context.d.ts +13 -7
- package/esm/data/table/root/DataTableRoot.context.js.map +1 -1
- package/esm/data/table/root/DataTableRoot.d.ts +49 -72
- package/esm/data/table/root/DataTableRoot.js +58 -74
- package/esm/data/table/root/DataTableRoot.js.map +1 -1
- package/esm/data/table/root/DataTableRoot.legacy.d.ts +2 -7
- package/esm/data/table/root/DataTableRoot.legacy.js +17 -3
- package/esm/data/table/root/DataTableRoot.legacy.js.map +1 -1
- package/esm/data/table/sub-row-toggle/DataTableSubRowToggle.js +4 -4
- package/esm/data/table/sub-row-toggle/DataTableSubRowToggle.js.map +1 -1
- package/esm/data/table/tbody/DataTableTbody.js +4 -2
- package/esm/data/table/tbody/DataTableTbody.js.map +1 -1
- package/esm/data/table/tr/DataTableTr.d.ts +5 -3
- package/esm/data/table/tr/DataTableTr.js +35 -23
- package/esm/data/table/tr/DataTableTr.js.map +1 -1
- package/esm/table/ColumnHeader.js +2 -1
- package/esm/table/ColumnHeader.js.map +1 -1
- package/package.json +8 -7
- package/src/data/data-grid/index.ts +3 -0
- package/src/data/data-grid/root/DataGridRoot.context.ts +16 -0
- package/src/data/data-grid/root/DataGridRoot.tsx +71 -0
- package/src/data/drag-and-drop/drag-handler/DragAndDropDragHandler.tsx +11 -17
- package/src/data/drag-and-drop/root/DragAndDrop.context.tsx +4 -2
- package/src/data/drag-and-drop/root/DragAndDropRoot.tsx +63 -52
- package/src/data/drag-and-drop/types.ts +0 -5
- package/src/data/stories/Data.test-data.tsx +52 -44
- package/src/data/table/agent-component-review.md +175 -0
- package/src/data/table/base-cell/DataTableBaseCell.tsx +31 -21
- package/src/data/table/column-header/DataTableColumnHeader.tsx +63 -58
- package/src/data/table/column-header/useTableColumnResize.ts +55 -71
- package/src/data/table/details-panel-row/DataTableDetailsPanelRow.tsx +7 -3
- package/src/data/table/helpers/collectTableRowEntries.ts +32 -19
- package/src/data/table/helpers/selection/getMultipleSelectProps.ts +65 -85
- package/src/data/table/helpers/selection/getSingleSelectProps.ts +35 -17
- package/src/data/table/helpers/selection/selection.types.ts +19 -19
- package/src/data/table/helpers/selection/selection.utils.test.ts +161 -0
- package/src/data/table/helpers/selection/selection.utils.ts +73 -0
- package/src/data/table/helpers/table-focus.ts +63 -9
- package/src/data/table/hooks/__tests__/useTableItems.test.ts +48 -8
- package/src/data/table/hooks/useColumnOptions.ts +48 -14
- package/src/data/table/hooks/useGridCache.ts +3 -2
- package/src/data/table/hooks/useTableDetailsPanel.tsx +25 -25
- package/src/data/table/hooks/useTableItems.ts +51 -42
- package/src/data/table/hooks/useTableKeyboardNav.ts +7 -15
- package/src/data/table/hooks/useTableSelection.ts +26 -31
- package/src/data/table/hooks/useTableSort.ts +10 -9
- package/src/data/table/root/DataTable.types.ts +30 -25
- package/src/data/table/root/DataTableRoot.context.ts +19 -7
- package/src/data/table/root/DataTableRoot.legacy.tsx +22 -14
- package/src/data/table/root/DataTableRoot.tsx +271 -320
- package/src/data/table/sub-row-toggle/DataTableSubRowToggle.tsx +5 -4
- package/src/data/table/tbody/DataTableTbody.tsx +6 -2
- package/src/data/table/tr/DataTableTr.tsx +98 -35
- package/src/table/ColumnHeader.tsx +2 -1
- package/cjs/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.d.ts +0 -22
- package/cjs/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js +0 -35
- package/cjs/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js.map +0 -1
- package/cjs/data/drag-and-drop-old/item/DataDragAndDropItem.d.ts +0 -27
- package/cjs/data/drag-and-drop-old/item/DataDragAndDropItem.js +0 -86
- package/cjs/data/drag-and-drop-old/item/DataDragAndDropItem.js.map +0 -1
- package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.d.ts +0 -5
- package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.js +0 -6
- package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.js.map +0 -1
- package/cjs/data/drag-and-drop-old/root/DataDragAndDropRoot.d.ts +0 -24
- package/cjs/data/drag-and-drop-old/root/DataDragAndDropRoot.js +0 -108
- package/cjs/data/drag-and-drop-old/root/DataDragAndDropRoot.js.map +0 -1
- package/cjs/data/table/helpers/selection/SelectionSubtreeHelper.d.ts +0 -46
- package/cjs/data/table/helpers/selection/SelectionSubtreeHelper.js +0 -112
- package/cjs/data/table/helpers/selection/SelectionSubtreeHelper.js.map +0 -1
- package/esm/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.d.ts +0 -22
- package/esm/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js +0 -29
- package/esm/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js.map +0 -1
- package/esm/data/drag-and-drop-old/item/DataDragAndDropItem.d.ts +0 -27
- package/esm/data/drag-and-drop-old/item/DataDragAndDropItem.js +0 -50
- package/esm/data/drag-and-drop-old/item/DataDragAndDropItem.js.map +0 -1
- package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.d.ts +0 -5
- package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.js +0 -3
- package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.js.map +0 -1
- package/esm/data/drag-and-drop-old/root/DataDragAndDropRoot.d.ts +0 -24
- package/esm/data/drag-and-drop-old/root/DataDragAndDropRoot.js +0 -68
- package/esm/data/drag-and-drop-old/root/DataDragAndDropRoot.js.map +0 -1
- package/esm/data/table/helpers/selection/SelectionSubtreeHelper.d.ts +0 -46
- package/esm/data/table/helpers/selection/SelectionSubtreeHelper.js +0 -109
- package/esm/data/table/helpers/selection/SelectionSubtreeHelper.js.map +0 -1
- package/src/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.tsx +0 -104
- package/src/data/drag-and-drop-old/item/DataDragAndDropItem.tsx +0 -74
- package/src/data/drag-and-drop-old/root/DataDragAndDrop.context.tsx +0 -11
- package/src/data/drag-and-drop-old/root/DataDragAndDropRoot.tsx +0 -96
- package/src/data/table/helpers/selection/SelectionSubtreeHelper.test.ts +0 -66
- package/src/data/table/helpers/selection/SelectionSubtreeHelper.ts +0 -162
- package/src/data/table/hooks/__tests__/useTableSelection.test.ts +0 -488
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.DataGrid = void 0;
|
|
5
|
+
var DataGridRoot_1 = require("./root/DataGridRoot");
|
|
6
|
+
Object.defineProperty(exports, "DataGrid", { enumerable: true, get: function () { return DataGridRoot_1.DataGridRoot; } });
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/data-grid/index.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;AACb,oDAA+D;AAAtD,wGAAA,YAAY,OAAY"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ColumnDefinitions } from "../../table/root/DataTable.types";
|
|
2
|
+
type DataGridContextValue<RowDef = unknown> = {
|
|
3
|
+
data: RowDef[];
|
|
4
|
+
columnDefinitions: ColumnDefinitions<RowDef>;
|
|
5
|
+
getRowId?: (rowData: RowDef) => string;
|
|
6
|
+
};
|
|
7
|
+
declare const DataGridContextProvider: import("react").FC<DataGridContextValue<unknown> & {
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
ref?: never;
|
|
10
|
+
}>, useDataGridContext: <S extends boolean = true>(strict?: S | undefined) => S extends true ? DataGridContextValue<unknown> : DataGridContextValue<unknown> | undefined;
|
|
11
|
+
export { DataGridContextProvider, useDataGridContext };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useDataGridContext = exports.DataGridContextProvider = void 0;
|
|
4
|
+
const helpers_1 = require("../../../utils/helpers");
|
|
5
|
+
const { Provider: DataGridContextProvider, useContext: useDataGridContext } = (0, helpers_1.createStrictContext)({
|
|
6
|
+
name: "DataGridContext",
|
|
7
|
+
errorMessage: "DataGrid hooks must be used within a <DataGrid />",
|
|
8
|
+
});
|
|
9
|
+
exports.DataGridContextProvider = DataGridContextProvider;
|
|
10
|
+
exports.useDataGridContext = useDataGridContext;
|
|
11
|
+
//# sourceMappingURL=DataGridRoot.context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGridRoot.context.js","sourceRoot":"","sources":["../../../../src/data/data-grid/root/DataGridRoot.context.ts"],"names":[],"mappings":";;;AAAA,oDAA6D;AAS7D,MAAM,EAAE,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,kBAAkB,EAAE,GACzE,IAAA,6BAAmB,EAAuB;IACxC,IAAI,EAAE,iBAAiB;IACvB,YAAY,EAAE,mDAAmD;CAClE,CAAC,CAAC;AAEI,0DAAuB;AAAE,gDAAkB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React, { HTMLAttributes } from "react";
|
|
2
|
+
import type { ColumnDefinitions } from "../../table/root/DataTable.types";
|
|
3
|
+
type RowTId = string;
|
|
4
|
+
export interface DataGridProps<RowT> extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
/**
|
|
7
|
+
* Definitions of the columns to display in the data grid.
|
|
8
|
+
*
|
|
9
|
+
* Each column definition should have a unique `id` and a `cell`-renderer function that takes the row data as argument and returns a React node.
|
|
10
|
+
*/
|
|
11
|
+
columnDefinitions: ColumnDefinitions<RowT>;
|
|
12
|
+
/**
|
|
13
|
+
* The data to display.
|
|
14
|
+
*
|
|
15
|
+
* Each object in the array represents a row, and the properties of the object are used to render the cells based on the `columnDefinitions`.
|
|
16
|
+
*/
|
|
17
|
+
data: RowT[];
|
|
18
|
+
/**
|
|
19
|
+
* Function to get unique row id from row data.
|
|
20
|
+
*
|
|
21
|
+
* If not provided, the row index will be used as id. This can cause issues if your data changes dynamically, so it's recommended to provide a stable id if possible.
|
|
22
|
+
*/
|
|
23
|
+
getRowId?: (rowData: RowT) => RowTId;
|
|
24
|
+
}
|
|
25
|
+
type DataGridRootComponent = <RowT>(props: DataGridProps<RowT> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
|
|
26
|
+
/**
|
|
27
|
+
* @see [📝 Documentation](https://aksel.nav.no/komponenter/core/data-grid)
|
|
28
|
+
* @see 🏷️ {@link DataGridProps}
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```jsx
|
|
32
|
+
* <DataGrid columnDefinitions={columnDefs} data={rowData} getRowId={(row) => row.id}>
|
|
33
|
+
* <DataTable />
|
|
34
|
+
* </DataGrid>
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare const DataGridRoot: DataGridRootComponent;
|
|
38
|
+
export default DataGridRoot;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
36
|
+
var t = {};
|
|
37
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
38
|
+
t[p] = s[p];
|
|
39
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
40
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
41
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
42
|
+
t[p[i]] = s[p[i]];
|
|
43
|
+
}
|
|
44
|
+
return t;
|
|
45
|
+
};
|
|
46
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
+
exports.DataGridRoot = void 0;
|
|
48
|
+
const react_1 = __importStar(require("react"));
|
|
49
|
+
const helpers_1 = require("../../../utils/helpers");
|
|
50
|
+
const DataGridRoot_context_1 = require("./DataGridRoot.context");
|
|
51
|
+
/**
|
|
52
|
+
* @see [📝 Documentation](https://aksel.nav.no/komponenter/core/data-grid)
|
|
53
|
+
* @see 🏷️ {@link DataGridProps}
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```jsx
|
|
57
|
+
* <DataGrid columnDefinitions={columnDefs} data={rowData} getRowId={(row) => row.id}>
|
|
58
|
+
* <DataTable />
|
|
59
|
+
* </DataGrid>
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
exports.DataGridRoot = (0, react_1.forwardRef)((_a, ref) => {
|
|
63
|
+
var { children, className, columnDefinitions, data, getRowId } = _a, rest = __rest(_a, ["children", "className", "columnDefinitions", "data", "getRowId"]);
|
|
64
|
+
return (react_1.default.createElement("div", Object.assign({}, rest, { ref: ref, className: (0, helpers_1.cl)("aksel-data-grid", className) }),
|
|
65
|
+
react_1.default.createElement(DataGridRoot_context_1.DataGridContextProvider, { columnDefinitions: columnDefinitions, data: data, getRowId: getRowId }, children)));
|
|
66
|
+
});
|
|
67
|
+
exports.default = exports.DataGridRoot;
|
|
68
|
+
//# sourceMappingURL=DataGridRoot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGridRoot.js","sourceRoot":"","sources":["../../../../src/data/data-grid/root/DataGridRoot.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0D;AAC1D,oDAA4C;AAE5C,iEAAiE;AA8BjE;;;;;;;;;;GAUG;AACU,QAAA,YAAY,GAAG,IAAA,kBAAU,EACpC,CACE,EAOyB,EACzB,GAAG,EACH,EAAE;QATF,EACE,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,IAAI,EACJ,QAAQ,OAEe,EADpB,IAAI,cANT,kEAOC,CADQ;IAIT,OAAO,CACL,uDAAS,IAAI,IAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAA,YAAE,EAAC,iBAAiB,EAAE,SAAS,CAAC;QAClE,8BAAC,8CAAuB,IACtB,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,IAEjB,QAAQ,CACe,CACtB,CACP,CAAC;AACJ,CAAC,CACuB,CAAC;AAE3B,kBAAe,oBAAY,CAAC"}
|
|
@@ -25,54 +25,52 @@ exports.DragAndDropDragHandler = react_1.default.forwardRef(({ item, itemRef, is
|
|
|
25
25
|
react_1.default.createElement(aksel_icons_1.DragVerticalIcon, { fontSize: "1.5rem" })));
|
|
26
26
|
}
|
|
27
27
|
return (react_1.default.createElement("div", { className: "aksel-data-drag-and-drop__drag-handler", ref: forwardedRef },
|
|
28
|
-
active && (react_1.default.createElement("button", { className: "aksel-data-drag-and-drop__drag-handler__arrow", "data-direction": "up", onClick: () => context === null || context === void 0 ? void 0 : context.onKeyboardDragEnd(-1), onMouseDown: (e) => e.preventDefault(), disabled: ((_b = context === null || context === void 0 ? void 0 : context.dragHandlerActive) === null || _b === void 0 ? void 0 : _b.index) === 0, type: "button" },
|
|
28
|
+
active && (react_1.default.createElement("button", { className: "aksel-data-drag-and-drop__drag-handler__arrow", "data-direction": "up", onClick: () => context === null || context === void 0 ? void 0 : context.onKeyboardDragEnd(-1, itemLabel), onMouseDown: (e) => e.preventDefault(), disabled: ((_b = context === null || context === void 0 ? void 0 : context.dragHandlerActive) === null || _b === void 0 ? void 0 : _b.index) === 0, type: "button" },
|
|
29
29
|
react_1.default.createElement(aksel_icons_1.CaretUpCircleFillIcon, { "aria-hidden": true, fontSize: "1.8rem" }))),
|
|
30
|
-
react_1.default.createElement("button", { "aria-label": active
|
|
31
|
-
? `Flytt element ${itemLabel || item.index + 1}. Bruk piltastene for å flytte elementet.`
|
|
32
|
-
: `Flytt element ${itemLabel || item.index + 1}. Trykk Enter eller Mellomrom for å aktivere flytting.`, "aria-pressed": Boolean(active), "aria-roledescription": "draggable", type: "button", className: "aksel-data-drag-and-drop__drag-handler__button", "data-drag-handler-active": active, onPointerDown: (event) => {
|
|
30
|
+
react_1.default.createElement("button", { "aria-label": `${itemLabel}. Plass ${item.index + 1}.`, "aria-pressed": Boolean(active), "aria-roledescription": "draggable", type: "button", className: "aksel-data-drag-and-drop__drag-handler__button", "data-drag-handler-active": active, onPointerDown: (event) => {
|
|
33
31
|
if (active)
|
|
34
32
|
return;
|
|
35
33
|
event.stopPropagation();
|
|
36
34
|
context === null || context === void 0 ? void 0 : context.startPendingDrag(event, item, (itemRef === null || itemRef === void 0 ? void 0 : itemRef.current) || null);
|
|
37
35
|
}, onClick: (event) => {
|
|
38
36
|
if (!active) {
|
|
39
|
-
context === null || context === void 0 ? void 0 : context.
|
|
37
|
+
context === null || context === void 0 ? void 0 : context.onKeyboardDragStart(item);
|
|
40
38
|
event.currentTarget.focus();
|
|
41
39
|
}
|
|
42
40
|
else {
|
|
43
|
-
context === null || context === void 0 ? void 0 : context.
|
|
41
|
+
context === null || context === void 0 ? void 0 : context.onKeyboardDragStart(null);
|
|
44
42
|
}
|
|
45
|
-
}, onBlur: () => context === null || context === void 0 ? void 0 : context.
|
|
43
|
+
}, onBlur: () => context === null || context === void 0 ? void 0 : context.cancelDrag(), onKeyDown: (event) => {
|
|
46
44
|
if (event.key === "Enter" || event.key === " ") {
|
|
47
45
|
// Enter or space, currently active item - end keyboard dragging
|
|
48
46
|
event.preventDefault();
|
|
49
|
-
context === null || context === void 0 ? void 0 : context.
|
|
47
|
+
context === null || context === void 0 ? void 0 : context.onKeyboardDragStart(active ? null : item);
|
|
50
48
|
return;
|
|
51
49
|
}
|
|
52
50
|
if (!active)
|
|
53
51
|
return;
|
|
54
52
|
if (event.key === "Escape") {
|
|
55
53
|
// Cancel dragging
|
|
56
|
-
// TODO Handle reset
|
|
57
54
|
event.preventDefault();
|
|
58
|
-
context === null || context === void 0 ? void 0 : context.
|
|
55
|
+
context === null || context === void 0 ? void 0 : context.setAnnouncer(`Flytting av ${itemLabel} avbrutt.`);
|
|
56
|
+
context === null || context === void 0 ? void 0 : context.cancelDrag(true);
|
|
59
57
|
return;
|
|
60
58
|
}
|
|
61
59
|
else if (event.key === "ArrowUp") {
|
|
62
60
|
// Move item up
|
|
63
61
|
event.preventDefault();
|
|
64
|
-
context === null || context === void 0 ? void 0 : context.onKeyboardDragEnd(-1);
|
|
62
|
+
context === null || context === void 0 ? void 0 : context.onKeyboardDragEnd(-1, itemLabel);
|
|
65
63
|
return;
|
|
66
64
|
}
|
|
67
65
|
else if (event.key === "ArrowDown") {
|
|
68
66
|
// Move item down
|
|
69
67
|
event.preventDefault();
|
|
70
|
-
context === null || context === void 0 ? void 0 : context.onKeyboardDragEnd(1);
|
|
68
|
+
context === null || context === void 0 ? void 0 : context.onKeyboardDragEnd(1, itemLabel);
|
|
71
69
|
return;
|
|
72
70
|
}
|
|
73
71
|
} },
|
|
74
72
|
react_1.default.createElement(aksel_icons_1.DragVerticalIcon, { "aria-hidden": true, fontSize: "1.5rem" })),
|
|
75
|
-
active && (react_1.default.createElement("button", { className: "aksel-data-drag-and-drop__drag-handler__arrow", "data-direction": "down", type: "button", onClick: () => context === null || context === void 0 ? void 0 : context.onKeyboardDragEnd(1), onMouseDown: (e) => e.preventDefault(), disabled: ((_c = context === null || context === void 0 ? void 0 : context.dragHandlerActive) === null || _c === void 0 ? void 0 : _c.index) === (context === null || context === void 0 ? void 0 : context.itemAmount) - 1 },
|
|
73
|
+
active && (react_1.default.createElement("button", { className: "aksel-data-drag-and-drop__drag-handler__arrow", "data-direction": "down", type: "button", onClick: () => context === null || context === void 0 ? void 0 : context.onKeyboardDragEnd(1, itemLabel), onMouseDown: (e) => e.preventDefault(), disabled: ((_c = context === null || context === void 0 ? void 0 : context.dragHandlerActive) === null || _c === void 0 ? void 0 : _c.index) === (context === null || context === void 0 ? void 0 : context.itemAmount) - 1 },
|
|
76
74
|
react_1.default.createElement(aksel_icons_1.CaretDownCircleFillIcon, { "aria-hidden": true, fontSize: "1.8rem" })))));
|
|
77
75
|
});
|
|
78
76
|
//# sourceMappingURL=DragAndDropDragHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DragAndDropDragHandler.js","sourceRoot":"","sources":["../../../../src/data/drag-and-drop/drag-handler/DragAndDropDragHandler.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,qDAI6B;AAC7B,qEAAoE;AAUpE;;;;;GAKG;AACU,QAAA,sBAAsB,GAAG,eAAK,CAAC,UAAU,CAGpD,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE;;IAC1D,MAAM,OAAO,GAAG,IAAA,2CAAqB,GAAE,CAAC;IACxC,MAAM,MAAM,GACV,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB;QAC1B,IAAI;QACJ,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,0CAAE,EAAE,MAAK,IAAI,CAAC,EAAE,CAAC;IAE7C,IAAI,SAAS,EAAE,CAAC;QACd,gHAAgH;QAChH,OAAO,CACL,uCACE,SAAS,EAAC,wCAAwC,EAClD,GAAG,EAAE,YAAY;YAGjB,8BAAC,8BAAgB,IAAC,QAAQ,EAAC,QAAQ,GAAG,CAClC,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,uCAAK,SAAS,EAAC,wCAAwC,EAAC,GAAG,EAAE,YAAY;QACtE,MAAM,IAAI,CACT,0CACE,SAAS,EAAC,+CAA+C,oBAC1C,IAAI,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"DragAndDropDragHandler.js","sourceRoot":"","sources":["../../../../src/data/drag-and-drop/drag-handler/DragAndDropDragHandler.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,12 @@ interface DragAndDropContextType {
|
|
|
5
5
|
dropTarget: DragAndDropElement | null;
|
|
6
6
|
setDropTarget: (id: DragAndDropElement | null) => void;
|
|
7
7
|
dragHandlerActive: DragAndDropElement | null;
|
|
8
|
-
|
|
9
|
-
onKeyboardDragEnd: (diff: number) => void;
|
|
8
|
+
onKeyboardDragStart: (active: DragAndDropElement | null) => void;
|
|
9
|
+
onKeyboardDragEnd: (diff: number, label: string) => void;
|
|
10
10
|
startPendingDrag: (event: React.PointerEvent, item: DragAndDropElement, element?: HTMLElement | null) => void;
|
|
11
11
|
itemAmount: number;
|
|
12
|
+
cancelDrag: (resetOrder?: boolean) => void;
|
|
13
|
+
setAnnouncer: (message: string) => void;
|
|
12
14
|
}
|
|
13
15
|
export declare const DragAndDropProvider: import("react").FC<DragAndDropContextType & {
|
|
14
16
|
children: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DragAndDrop.context.js","sourceRoot":"","sources":["../../../../src/data/drag-and-drop/root/DragAndDrop.context.tsx"],"names":[],"mappings":";;;;AAAA,oDAA6D;
|
|
1
|
+
{"version":3,"file":"DragAndDrop.context.js","sourceRoot":"","sources":["../../../../src/data/drag-and-drop/root/DragAndDrop.context.tsx"],"names":[],"mappings":";;;;AAAA,oDAA6D;AAqBhD,KAGT,IAAA,6BAAmB,EAAqC;IAC1D,YAAY,EACV,iEAAiE;IACnE,IAAI,EAAE,oBAAoB;CAC3B,CAAC,EANU,2BAAmB,gBACjB,6BAAqB,iBAKhC"}
|
|
@@ -44,39 +44,22 @@ const DragAndDropItem_1 = __importDefault(require("../item/DragAndDropItem"));
|
|
|
44
44
|
exports.DragAndDropItem = DragAndDropItem_1.default;
|
|
45
45
|
const DragAndDrop_context_1 = require("./DragAndDrop.context");
|
|
46
46
|
/**
|
|
47
|
-
* TODO
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* [
|
|
51
|
-
* [
|
|
52
|
-
* [x] Keyboard navigation
|
|
53
|
-
* [ ] UU - announce on drag start, item moved, drag end
|
|
54
|
-
* [x] Make overlay same width as the OG item, currently jumps to content width
|
|
55
|
-
* [x] Look into adding a cancel listener event
|
|
56
|
-
* [x] Make onClick work on drag handler button, currently blocked by pointer down/up listeners
|
|
57
|
-
* [x] Talk to design about what should happen on ESC key press, currently just cancels dragging, should it also reset position?
|
|
58
|
-
* [x] Make arrow icons into buttons that react to keyboard events, currently just decorative
|
|
59
|
-
* [x] Keep handler focus after clicking arrows for dragging
|
|
60
|
-
* [x] Look into data-based API vs component-based API
|
|
61
|
-
* [ ] Should we have hidden instructions for screen readers on how to use the drag and drop, and should we announce the position of the item while dragging?
|
|
62
|
-
* [x] Discuss if this component should be generic for drag and drop, or if it should be specifically for tables - just for table for now
|
|
63
|
-
* [x] Discuss items type
|
|
64
|
-
* [ ] Discuss how to implement label best
|
|
65
|
-
* [ ] Quick nav (< > samtidig) - få piltastene til å fungere
|
|
66
|
-
* [x] Implement new type for items - ColumnDefinitions<T>
|
|
67
|
-
* [ ] Remove announcer div and use a live region component instead
|
|
68
|
-
* [ ] Make ESC reset position, not just cancel dragging
|
|
69
|
-
* [ ] Make instructions for keyboard users (visible?)
|
|
70
|
-
* [ ] Ask design about visible keyboard instructions
|
|
47
|
+
* TODO:
|
|
48
|
+
*
|
|
49
|
+
* Backlog:
|
|
50
|
+
* [ ] Quick nav (< > samtidig) - få piltastene til å fungere - ignore?
|
|
51
|
+
* [ ] Look at instructions text
|
|
71
52
|
*
|
|
72
53
|
*/
|
|
73
54
|
const DRAG_THRESHOLD = 4; // Minimum movement in pixels to start dragging
|
|
55
|
+
const SR_INSTRUCTIONS_ID = "drag-and-drop-instructions-id";
|
|
74
56
|
function DragAndDropInner({ items, setItems, renderItem }, forwardedRef) {
|
|
75
57
|
const [activeItem, setActiveItem] = (0, react_1.useState)(null);
|
|
76
58
|
const [dropTarget, setDropTarget] = (0, react_1.useState)(null);
|
|
77
59
|
const [dragHandlerActive, setDragHandlerActive] = (0, react_1.useState)(null);
|
|
78
60
|
const [overlayWidth, setOverlayWidth] = (0, react_1.useState)(null);
|
|
79
|
-
const [
|
|
61
|
+
const [announcer, setAnnouncer] = (0, react_1.useState)("");
|
|
62
|
+
const initialItemsRef = (0, react_1.useRef)(null);
|
|
80
63
|
const activeData = items.find((item) => item.id === (activeItem === null || activeItem === void 0 ? void 0 : activeItem.id));
|
|
81
64
|
const activeItemRef = (0, react_1.useRef)(null);
|
|
82
65
|
const dropTargetRef = (0, react_1.useRef)(null);
|
|
@@ -84,6 +67,18 @@ function DragAndDropInner({ items, setItems, renderItem }, forwardedRef) {
|
|
|
84
67
|
getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, x: 0, y: 0 }),
|
|
85
68
|
});
|
|
86
69
|
const pendingDragStartRef = (0, react_1.useRef)(null);
|
|
70
|
+
const saveInitialItems = (0, react_1.useCallback)(() => {
|
|
71
|
+
initialItemsRef.current = items;
|
|
72
|
+
}, [items]);
|
|
73
|
+
const keyboardDragStart = (item) => {
|
|
74
|
+
if (item) {
|
|
75
|
+
saveInitialItems();
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
initialItemsRef.current = null;
|
|
79
|
+
}
|
|
80
|
+
setDragHandlerActive(item);
|
|
81
|
+
};
|
|
87
82
|
const startPendingDrag = (event, item, element) => {
|
|
88
83
|
pendingDragStartRef.current = {
|
|
89
84
|
item,
|
|
@@ -109,6 +104,17 @@ function DragAndDropInner({ items, setItems, renderItem }, forwardedRef) {
|
|
|
109
104
|
return newItems;
|
|
110
105
|
});
|
|
111
106
|
}, [setItems]);
|
|
107
|
+
const cancelDrag = (0, react_1.useCallback)((resetOrder = false) => {
|
|
108
|
+
if (resetOrder && initialItemsRef.current) {
|
|
109
|
+
setItems(initialItemsRef.current);
|
|
110
|
+
}
|
|
111
|
+
setOverlayWidth(null);
|
|
112
|
+
setDragHandlerActive(null);
|
|
113
|
+
setCombinedActiveItem(null);
|
|
114
|
+
setCombinedDropTarget(null);
|
|
115
|
+
pendingDragStartRef.current = null;
|
|
116
|
+
initialItemsRef.current = null;
|
|
117
|
+
}, [setItems, setCombinedActiveItem, setCombinedDropTarget]);
|
|
112
118
|
(0, react_1.useEffect)(() => {
|
|
113
119
|
/* This useEffect is used to toggle a class on the html element when dragging,
|
|
114
120
|
to prevent cursor issues when dragging over interactive elements,
|
|
@@ -140,6 +146,7 @@ function DragAndDropInner({ items, setItems, renderItem }, forwardedRef) {
|
|
|
140
146
|
element.setPointerCapture(pendingStart.pointerId);
|
|
141
147
|
}
|
|
142
148
|
setOverlayWidth((_a = element === null || element === void 0 ? void 0 : element.getBoundingClientRect().width) !== null && _a !== void 0 ? _a : null);
|
|
149
|
+
saveInitialItems();
|
|
143
150
|
setCombinedActiveItem(pendingStart.item);
|
|
144
151
|
setCombinedDropTarget(pendingStart.item);
|
|
145
152
|
pendingDragStartRef.current = null;
|
|
@@ -185,21 +192,10 @@ function DragAndDropInner({ items, setItems, renderItem }, forwardedRef) {
|
|
|
185
192
|
const target = dropTargetRef.current;
|
|
186
193
|
if (active && target && active.id !== target.id) {
|
|
187
194
|
reorderItems(active.index, target.index);
|
|
188
|
-
setAnnouncement(`Element flyttet til posisjon ${(target === null || target === void 0 ? void 0 : target.index) + 1} av ${items.length}`); // TODO - Bedre formulering?
|
|
189
195
|
}
|
|
190
|
-
|
|
191
|
-
setDragHandlerActive(null);
|
|
192
|
-
setCombinedActiveItem(null);
|
|
193
|
-
setCombinedDropTarget(null);
|
|
194
|
-
pendingDragStartRef.current = null;
|
|
195
|
-
};
|
|
196
|
-
const handlePointerCancel = () => {
|
|
197
|
-
setOverlayWidth(null);
|
|
198
|
-
setDragHandlerActive(null);
|
|
199
|
-
setCombinedActiveItem(null);
|
|
200
|
-
setCombinedDropTarget(null);
|
|
201
|
-
pendingDragStartRef.current = null;
|
|
196
|
+
cancelDrag();
|
|
202
197
|
};
|
|
198
|
+
const handlePointerCancel = () => cancelDrag(true);
|
|
203
199
|
window.addEventListener("pointermove", handlePointerMove);
|
|
204
200
|
window.addEventListener("pointerup", handlePointerUp);
|
|
205
201
|
window.addEventListener("pointercancel", handlePointerCancel);
|
|
@@ -212,33 +208,35 @@ function DragAndDropInner({ items, setItems, renderItem }, forwardedRef) {
|
|
|
212
208
|
setCombinedDropTarget,
|
|
213
209
|
setCombinedActiveItem,
|
|
214
210
|
reorderItems,
|
|
215
|
-
|
|
211
|
+
saveInitialItems,
|
|
212
|
+
cancelDrag,
|
|
216
213
|
]);
|
|
217
|
-
const onKeyboardDragEnd = (diff) => {
|
|
214
|
+
const onKeyboardDragEnd = (diff, label) => {
|
|
218
215
|
if (!dragHandlerActive)
|
|
219
216
|
return;
|
|
220
217
|
const targetIndex = dragHandlerActive.index + diff;
|
|
221
218
|
if (targetIndex < 0 || targetIndex >= items.length) {
|
|
222
219
|
return;
|
|
223
220
|
}
|
|
221
|
+
setAnnouncer(`${label}. Plass ${targetIndex + 1} av ${items.length}.`);
|
|
224
222
|
reorderItems(dragHandlerActive.index, targetIndex);
|
|
225
223
|
setDragHandlerActive(Object.assign(Object.assign({}, dragHandlerActive), { index: targetIndex }));
|
|
226
|
-
setAnnouncement(`Element flyttet til posisjon ${targetIndex + 1} av ${items.length}`); // TODO - Bedre formulering?
|
|
227
224
|
};
|
|
228
|
-
return (react_1.default.createElement(DragAndDrop_context_1.DragAndDropProvider, { activeItem: activeItem, setActiveItem: setCombinedActiveItem, dropTarget: dropTarget, setDropTarget: setCombinedDropTarget, dragHandlerActive: dragHandlerActive,
|
|
229
|
-
react_1.default.createElement("
|
|
225
|
+
return (react_1.default.createElement(DragAndDrop_context_1.DragAndDropProvider, { activeItem: activeItem, setActiveItem: setCombinedActiveItem, dropTarget: dropTarget, setDropTarget: setCombinedDropTarget, dragHandlerActive: dragHandlerActive, onKeyboardDragStart: keyboardDragStart, onKeyboardDragEnd: onKeyboardDragEnd, startPendingDrag: startPendingDrag, cancelDrag: cancelDrag, setAnnouncer: setAnnouncer, itemAmount: items.length },
|
|
226
|
+
react_1.default.createElement("span", { id: SR_INSTRUCTIONS_ID, className: "sr-only" }, "Bruk Tab for \u00E5 fokusere p\u00E5 en kolonne. Trykk mellomrom eller enter for \u00E5 starte flytting, bruk piltastene for \u00E5 flytte kolonnen, trykk mellomrom eller enter for \u00E5 slippe, eller Escape for \u00E5 avbryte."),
|
|
227
|
+
react_1.default.createElement("div", { "aria-live": "assertive", className: "sr-only", "aria-atomic": true }, announcer),
|
|
228
|
+
react_1.default.createElement("ul", { ref: forwardedRef, "aria-label": "Kolonneinnstillinger", "aria-describedby": SR_INSTRUCTIONS_ID, className: "aksel-data-table__drag-and-drop-root" }, items.map((item, index) => {
|
|
230
229
|
return (react_1.default.createElement(DragAndDropItem_1.default, { key: item.id, id: item.id, index: index, itemLabel: item.label }, renderItem(item, index)));
|
|
231
230
|
})),
|
|
232
231
|
activeItem && activeData && (react_1.default.createElement(Floating_1.Floating, null,
|
|
233
232
|
react_1.default.createElement(Floating_1.Floating.Anchor, { virtualRef: virtualRef },
|
|
234
233
|
react_1.default.createElement("span", null)),
|
|
235
|
-
react_1.default.createElement(Floating_1.Floating.Content, { align: "start", updatePositionStrategy: "always", style: {
|
|
234
|
+
react_1.default.createElement(Floating_1.Floating.Content, { align: "start", updatePositionStrategy: "always", "aria-hidden": true, style: {
|
|
236
235
|
pointerEvents: "none",
|
|
237
236
|
boxSizing: "border-box",
|
|
238
237
|
width: overlayWidth ? `${overlayWidth}px` : "fit-content",
|
|
239
238
|
} },
|
|
240
|
-
react_1.default.createElement(DragAndDropItem_1.default, { id: activeItem.id, index: activeItem.index, isOverlay: true, itemLabel: activeData.label }, renderItem(activeData, activeItem.index)))))
|
|
241
|
-
react_1.default.createElement("div", { "aria-live": "assertive", className: "sr-only", "aria-atomic": "true" }, announcement)));
|
|
239
|
+
react_1.default.createElement(DragAndDropItem_1.default, { id: activeItem.id, index: activeItem.index, isOverlay: true, itemLabel: activeData.label }, renderItem(activeData, activeItem.index)))))));
|
|
242
240
|
}
|
|
243
241
|
const DragAndDrop = (0, react_1.forwardRef)(DragAndDropInner);
|
|
244
242
|
exports.DragAndDrop = DragAndDrop;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DragAndDropRoot.js","sourceRoot":"","sources":["../../../../src/data/drag-and-drop/root/DragAndDropRoot.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mHAAmH;AACnH,+CAMe;AACf,0EAAuE;AAKvE,8EAAgF;
|
|
1
|
+
{"version":3,"file":"DragAndDropRoot.js","sourceRoot":"","sources":["../../../../src/data/drag-and-drop/root/DragAndDropRoot.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,12 +13,9 @@ type SWData = {
|
|
|
13
13
|
skills: string[];
|
|
14
14
|
nestedRows: Omit<NestedSWData, "nestedRows">[];
|
|
15
15
|
};
|
|
16
|
-
|
|
17
|
-
visible: boolean;
|
|
18
|
-
};
|
|
19
|
-
declare const columnDef_TEST_DATA: ColumnDefinitions<SWData, Details>;
|
|
16
|
+
declare const columnDef_TEST_DATA: ColumnDefinitions<SWData>;
|
|
20
17
|
declare const TEST_DATA: SWData[];
|
|
21
18
|
type NestedSWData = Omit<SWData, "message" | "supervisor" | "dateReceived" | "id">;
|
|
22
19
|
declare const TEST_DATA_NESTED: NestedSWData[];
|
|
23
|
-
declare const columnDef_TEST_DATA_NESTED: import("../table/root/DataTable.types").ColumnDefinition<SWData
|
|
20
|
+
declare const columnDef_TEST_DATA_NESTED: import("../table/root/DataTable.types").ColumnDefinition<SWData>[];
|
|
24
21
|
export { columnDef_TEST_DATA, TEST_DATA, TEST_DATA_NESTED, columnDef_TEST_DATA_NESTED, };
|
|
@@ -5,77 +5,54 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.columnDef_TEST_DATA_NESTED = exports.TEST_DATA_NESTED = exports.TEST_DATA = exports.columnDef_TEST_DATA = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const aksel_icons_1 = require("@navikt/aksel-icons");
|
|
9
|
+
const button_1 = require("../../button");
|
|
8
10
|
const tag_1 = require("../../tag");
|
|
9
11
|
const columnDef_TEST_DATA = [
|
|
10
12
|
{
|
|
11
13
|
id: "id",
|
|
12
14
|
label: "Id",
|
|
13
15
|
cell: (row) => row.id,
|
|
14
|
-
|
|
15
|
-
autoWidth: true,
|
|
16
|
-
details: {
|
|
17
|
-
visible: true,
|
|
18
|
-
},
|
|
16
|
+
width: { autoResizeOnce: true },
|
|
19
17
|
},
|
|
20
18
|
{
|
|
21
19
|
label: "Name",
|
|
22
20
|
id: "name",
|
|
23
21
|
cell: (row) => { var _a, _b; return `${row.name} ${((_a = row === null || row === void 0 ? void 0 : row.nestedRows) === null || _a === void 0 ? void 0 : _a.length) > 0 ? `(${(_b = row === null || row === void 0 ? void 0 : row.nestedRows) === null || _b === void 0 ? void 0 : _b.length})` : ""}`; },
|
|
24
|
-
details: {
|
|
25
|
-
visible: true,
|
|
26
|
-
},
|
|
27
22
|
},
|
|
28
23
|
{
|
|
29
24
|
label: "National id",
|
|
30
25
|
id: "nationalId",
|
|
31
26
|
cell: (row) => row.nationalId,
|
|
32
27
|
align: "right",
|
|
33
|
-
|
|
34
|
-
details: {
|
|
35
|
-
visible: true,
|
|
36
|
-
},
|
|
28
|
+
width: { autoResizeOnce: true },
|
|
37
29
|
},
|
|
38
30
|
{
|
|
39
31
|
label: "Day job",
|
|
40
32
|
id: "dayJob",
|
|
41
33
|
cell: (row) => row.dayJob,
|
|
42
|
-
details: {
|
|
43
|
-
visible: true,
|
|
44
|
-
},
|
|
45
34
|
},
|
|
46
35
|
{
|
|
47
36
|
label: "Supervisor",
|
|
48
37
|
id: "supervisor",
|
|
49
38
|
cell: (row) => row.supervisor,
|
|
50
|
-
details: {
|
|
51
|
-
visible: true,
|
|
52
|
-
},
|
|
53
39
|
},
|
|
54
40
|
{
|
|
55
41
|
label: "Date received",
|
|
56
42
|
id: "dateReceived",
|
|
57
43
|
cell: (row) => row.dateReceived,
|
|
58
|
-
details: {
|
|
59
|
-
visible: true,
|
|
60
|
-
},
|
|
61
44
|
},
|
|
62
45
|
{
|
|
63
46
|
label: "Message",
|
|
64
47
|
id: "message",
|
|
65
48
|
cell: (row) => row.message,
|
|
66
|
-
details: {
|
|
67
|
-
visible: true,
|
|
68
|
-
},
|
|
69
49
|
},
|
|
70
50
|
{
|
|
71
51
|
label: "Age",
|
|
72
52
|
id: "age",
|
|
73
53
|
cell: (row) => row.age,
|
|
74
54
|
align: "right",
|
|
75
|
-
|
|
76
|
-
details: {
|
|
77
|
-
visible: true,
|
|
78
|
-
},
|
|
55
|
+
width: { autoResizeOnce: true },
|
|
79
56
|
/* TODO: NOt yet implemented */
|
|
80
57
|
/* footer: ({ table }) => {
|
|
81
58
|
const ages: number[] = [];
|
|
@@ -90,27 +67,41 @@ const columnDef_TEST_DATA = [
|
|
|
90
67
|
label: "Force sensitive",
|
|
91
68
|
id: "forceSensitive",
|
|
92
69
|
cell: (row) => (react_1.default.createElement(tag_1.Tag, { size: "small", variant: "moderate", "data-color": row.forceSensitive ? "accent" : "warning" }, `${row.forceSensitive ? "Yes" : "No"}`)),
|
|
93
|
-
|
|
70
|
+
width: { autoResizeOnce: true },
|
|
94
71
|
align: "center",
|
|
95
|
-
details: {
|
|
96
|
-
visible: true,
|
|
97
|
-
},
|
|
98
72
|
},
|
|
99
73
|
{
|
|
100
74
|
label: "Home system",
|
|
101
75
|
id: "homeSystem",
|
|
102
76
|
cell: (row) => row.homeSystem,
|
|
103
|
-
details: {
|
|
104
|
-
visible: true,
|
|
105
|
-
},
|
|
106
77
|
},
|
|
107
78
|
{
|
|
108
79
|
label: "Skills",
|
|
109
80
|
id: "skills",
|
|
110
|
-
cell: (row) => row.skills,
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
81
|
+
cell: (row) => row.skills.map((skill) => (react_1.default.createElement(tag_1.Tag, { key: skill, size: "small", variant: "moderate" }, skill))),
|
|
82
|
+
/* cell: (row) => (
|
|
83
|
+
<Bleed marginBlock="space-4" marginInline="space-4">
|
|
84
|
+
{row.skills.map((skill) => (
|
|
85
|
+
<Box
|
|
86
|
+
key={skill}
|
|
87
|
+
style={{ display: "inline-block" }}
|
|
88
|
+
padding="space-4"
|
|
89
|
+
>
|
|
90
|
+
<Tag size="small" variant="moderate">
|
|
91
|
+
{skill}
|
|
92
|
+
</Tag>
|
|
93
|
+
</Box>
|
|
94
|
+
))}
|
|
95
|
+
</Bleed>
|
|
96
|
+
), */
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
label: "Actions",
|
|
100
|
+
id: "actions",
|
|
101
|
+
width: { autoResizeOnce: true },
|
|
102
|
+
cell: (row) => (react_1.default.createElement(react_1.default.Fragment, null,
|
|
103
|
+
react_1.default.createElement(button_1.Button, { size: "xsmall", variant: "secondary", "data-color": "neutral", onClick: () => alert(`Edit ${row.name}`) }, "Edit"),
|
|
104
|
+
react_1.default.createElement(button_1.Button, { size: "xsmall", variant: "secondary", "data-color": "neutral", icon: react_1.default.createElement(aksel_icons_1.MenuElipsisVerticalIcon, { title: "Meny" }) }))),
|
|
114
105
|
},
|
|
115
106
|
];
|
|
116
107
|
exports.columnDef_TEST_DATA = columnDef_TEST_DATA;
|