@navikt/ds-react 8.10.5 → 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 +0 -1
- package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -1
- package/cjs/data/drag-and-drop/root/DragAndDropRoot.d.ts +5 -5
- package/cjs/data/drag-and-drop/root/DragAndDropRoot.js +4 -27
- package/cjs/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -1
- package/cjs/data/stories/Data.test-data.d.ts +2 -5
- package/cjs/data/stories/Data.test-data.js +30 -38
- 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 +2 -2
- 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/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/useTableDetailsPanel.d.ts +10 -13
- package/cjs/data/table/hooks/useTableDetailsPanel.js +6 -5
- package/cjs/data/table/hooks/useTableDetailsPanel.js.map +1 -1
- package/cjs/data/table/hooks/useTableItems.d.ts +29 -15
- package/cjs/data/table/hooks/useTableItems.js +2 -12
- 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 +1 -4
- 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 -10
- 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 +54 -66
- 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 +0 -1
- package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -1
- package/esm/data/drag-and-drop/root/DragAndDropRoot.d.ts +5 -5
- package/esm/data/drag-and-drop/root/DragAndDropRoot.js +4 -27
- package/esm/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -1
- package/esm/data/stories/Data.test-data.d.ts +2 -5
- package/esm/data/stories/Data.test-data.js +30 -38
- 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 +2 -2
- 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/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/useTableDetailsPanel.d.ts +10 -13
- package/esm/data/table/hooks/useTableDetailsPanel.js +6 -5
- package/esm/data/table/hooks/useTableDetailsPanel.js.map +1 -1
- package/esm/data/table/hooks/useTableItems.d.ts +29 -15
- package/esm/data/table/hooks/useTableItems.js +3 -10
- 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 +1 -4
- 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 -10
- 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 +56 -68
- 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 +3 -3
- 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 +0 -1
- package/src/data/drag-and-drop/root/DragAndDropRoot.tsx +15 -49
- package/src/data/stories/Data.test-data.tsx +52 -43
- 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 +61 -58
- package/src/data/table/column-header/useTableColumnResize.ts +55 -71
- package/src/data/table/details-panel-row/DataTableDetailsPanelRow.tsx +3 -3
- package/src/data/table/helpers/collectTableRowEntries.ts +1 -2
- 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/hooks/__tests__/useTableItems.test.ts +2 -1
- package/src/data/table/hooks/useColumnOptions.ts +48 -14
- package/src/data/table/hooks/useTableDetailsPanel.tsx +22 -25
- package/src/data/table/hooks/useTableItems.ts +32 -24
- package/src/data/table/hooks/useTableKeyboardNav.ts +1 -13
- 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 -22
- 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 +244 -293
- 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-legacy/drag-handler/DragAndDropDragHandlerLegacy.d.ts +0 -22
- package/cjs/data/drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js +0 -35
- package/cjs/data/drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js.map +0 -1
- package/cjs/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.d.ts +0 -27
- package/cjs/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.js +0 -86
- package/cjs/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.js.map +0 -1
- package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.d.ts +0 -5
- package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js +0 -6
- package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js.map +0 -1
- package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.d.ts +0 -24
- package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.js +0 -108
- package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.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-legacy/drag-handler/DragAndDropDragHandlerLegacy.d.ts +0 -22
- package/esm/data/drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js +0 -29
- package/esm/data/drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js.map +0 -1
- package/esm/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.d.ts +0 -27
- package/esm/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.js +0 -50
- package/esm/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.js.map +0 -1
- package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.d.ts +0 -5
- package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js +0 -3
- package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js.map +0 -1
- package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.d.ts +0 -24
- package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.js +0 -68
- package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.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-legacy/drag-handler/DragAndDropDragHandlerLegacy.tsx +0 -104
- package/src/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.tsx +0 -74
- package/src/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.tsx +0 -11
- package/src/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.tsx +0 -94
- 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
- package/src/data/table/root/agent-feature-gap.md +0 -96
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableTr.js","sourceRoot":"","sources":["../../../../src/data/table/tr/DataTableTr.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,EAAE,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"DataTableTr.js","sourceRoot":"","sources":["../../../../src/data/table/tr/DataTableTr.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
};
|
|
12
12
|
import React, { forwardRef, useContext } from "react";
|
|
13
13
|
import { ArrowsUpDownIcon, SortDownIcon, SortUpIcon, } from "@navikt/aksel-icons";
|
|
14
|
+
import { consoleWarning } from "../utils/helpers/consoleWarning.js";
|
|
14
15
|
import HeaderCell from "./HeaderCell.js";
|
|
15
16
|
import { TableContext } from "./context.js";
|
|
16
17
|
export const ColumnHeader = forwardRef((_a, ref) => {
|
|
@@ -18,7 +19,7 @@ export const ColumnHeader = forwardRef((_a, ref) => {
|
|
|
18
19
|
var { children, sortable = false, sortKey } = _a, rest = __rest(_a, ["children", "sortable", "sortKey"]);
|
|
19
20
|
const context = useContext(TableContext);
|
|
20
21
|
if (sortable && !sortKey) {
|
|
21
|
-
|
|
22
|
+
consoleWarning("ColumnHeader with `sortable=true` must have a sortKey.");
|
|
22
23
|
}
|
|
23
24
|
return (React.createElement(HeaderCell, Object.assign({ scope: "col", ref: ref, "aria-sort": sortable
|
|
24
25
|
? ((_b = context === null || context === void 0 ? void 0 : context.sort) === null || _b === void 0 ? void 0 : _b.orderBy) === sortKey
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnHeader.js","sourceRoot":"","sources":["../../src/table/ColumnHeader.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,UAA+B,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAkBzC,MAAM,CAAC,MAAM,YAAY,GAAqB,UAAU,CACtD,CAAC,EAAgD,EAAE,GAAG,EAAE,EAAE;;QAAzD,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,OAAW,EAAN,IAAI,cAA9C,mCAAgD,CAAF;IAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEzC,IAAI,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,
|
|
1
|
+
{"version":3,"file":"ColumnHeader.js","sourceRoot":"","sources":["../../src/table/ColumnHeader.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,UAA+B,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAkBzC,MAAM,CAAC,MAAM,YAAY,GAAqB,UAAU,CACtD,CAAC,EAAgD,EAAE,GAAG,EAAE,EAAE;;QAAzD,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,OAAW,EAAN,IAAI,cAA9C,mCAAgD,CAAF;IAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEzC,IAAI,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,cAAc,CAAC,wDAAwD,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,CACL,oBAAC,UAAU,kBACT,KAAK,EAAC,KAAK,EACX,GAAG,EAAE,GAAG,eAEN,QAAQ;YACN,CAAC,CAAC,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,OAAO,MAAK,OAAO;gBAClC,CAAC,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,SAAS;gBAC1B,CAAC,CAAC,MAAM;YACV,CAAC,CAAC,SAAS,IAEX,IAAI,GAEP,QAAQ,CAAC,CAAC,CAAC,CACV,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,0BAA0B,EACpC,OAAO,EACL,QAAQ,IAAI,OAAO;YACjB,CAAC,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,wDAAG,OAAO,CAAC,CAAA,EAAA;YACxC,CAAC,CAAC,SAAS;QAGd,QAAQ;QACR,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,OAAO,MAAK,OAAO,CAAC,CAAC,CAAC,CACpC,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,SAAS,MAAK,YAAY,CAAC,CAAC,CAAC,CAC1C,oBAAC,YAAY,0BAAe,CAC7B,CAAC,CAAC,CAAC,CACF,oBAAC,UAAU,0BAAe,CAC3B,CACF,CAAC,CAAC,CAAC,CACF,oBAAC,gBAAgB,0BAAe,CACjC,CACM,CACV,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,CACU,CACd,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@navikt/ds-react",
|
|
3
|
-
"version": "8.10.
|
|
3
|
+
"version": "8.10.6",
|
|
4
4
|
"description": "React components from the Norwegian Labour and Welfare Administration.",
|
|
5
5
|
"author": "Aksel, a team part of the Norwegian Labour and Welfare Administration.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -706,8 +706,8 @@
|
|
|
706
706
|
"dependencies": {
|
|
707
707
|
"@floating-ui/react": "0.27.19",
|
|
708
708
|
"@floating-ui/react-dom": "^2.1.8",
|
|
709
|
-
"@navikt/aksel-icons": "^8.10.
|
|
710
|
-
"@navikt/ds-tokens": "^8.10.
|
|
709
|
+
"@navikt/aksel-icons": "^8.10.6",
|
|
710
|
+
"@navikt/ds-tokens": "^8.10.6",
|
|
711
711
|
"date-fns": "^4.0.0",
|
|
712
712
|
"react-day-picker": "9.14.0"
|
|
713
713
|
},
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createStrictContext } from "../../../utils/helpers";
|
|
2
|
+
import type { ColumnDefinitions } from "../../table/root/DataTable.types";
|
|
3
|
+
|
|
4
|
+
type DataGridContextValue<RowDef = unknown> = {
|
|
5
|
+
data: RowDef[];
|
|
6
|
+
columnDefinitions: ColumnDefinitions<RowDef>;
|
|
7
|
+
getRowId?: (rowData: RowDef) => string;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const { Provider: DataGridContextProvider, useContext: useDataGridContext } =
|
|
11
|
+
createStrictContext<DataGridContextValue>({
|
|
12
|
+
name: "DataGridContext",
|
|
13
|
+
errorMessage: "DataGrid hooks must be used within a <DataGrid />",
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export { DataGridContextProvider, useDataGridContext };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import React, { HTMLAttributes, forwardRef } from "react";
|
|
2
|
+
import { cl } from "../../../utils/helpers";
|
|
3
|
+
import type { ColumnDefinitions } from "../../table/root/DataTable.types";
|
|
4
|
+
import { DataGridContextProvider } from "./DataGridRoot.context";
|
|
5
|
+
|
|
6
|
+
type RowTId = string;
|
|
7
|
+
|
|
8
|
+
export interface DataGridProps<RowT> extends HTMLAttributes<HTMLDivElement> {
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
/**
|
|
11
|
+
* Definitions of the columns to display in the data grid.
|
|
12
|
+
*
|
|
13
|
+
* 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.
|
|
14
|
+
*/
|
|
15
|
+
columnDefinitions: ColumnDefinitions<RowT>;
|
|
16
|
+
/**
|
|
17
|
+
* The data to display.
|
|
18
|
+
*
|
|
19
|
+
* Each object in the array represents a row, and the properties of the object are used to render the cells based on the `columnDefinitions`.
|
|
20
|
+
*/
|
|
21
|
+
data: RowT[];
|
|
22
|
+
/**
|
|
23
|
+
* Function to get unique row id from row data.
|
|
24
|
+
*
|
|
25
|
+
* 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.
|
|
26
|
+
*/
|
|
27
|
+
getRowId?: (rowData: RowT) => RowTId;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
type DataGridRootComponent = <RowT>(
|
|
31
|
+
props: DataGridProps<RowT> & React.RefAttributes<HTMLDivElement>,
|
|
32
|
+
) => React.ReactElement | null;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @see [📝 Documentation](https://aksel.nav.no/komponenter/core/data-grid)
|
|
36
|
+
* @see 🏷️ {@link DataGridProps}
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```jsx
|
|
40
|
+
* <DataGrid columnDefinitions={columnDefs} data={rowData} getRowId={(row) => row.id}>
|
|
41
|
+
* <DataTable />
|
|
42
|
+
* </DataGrid>
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export const DataGridRoot = forwardRef<HTMLDivElement, DataGridProps<unknown>>(
|
|
46
|
+
(
|
|
47
|
+
{
|
|
48
|
+
children,
|
|
49
|
+
className,
|
|
50
|
+
columnDefinitions,
|
|
51
|
+
data,
|
|
52
|
+
getRowId,
|
|
53
|
+
...rest
|
|
54
|
+
}: DataGridProps<unknown>,
|
|
55
|
+
ref,
|
|
56
|
+
) => {
|
|
57
|
+
return (
|
|
58
|
+
<div {...rest} ref={ref} className={cl("aksel-data-grid", className)}>
|
|
59
|
+
<DataGridContextProvider
|
|
60
|
+
columnDefinitions={columnDefinitions}
|
|
61
|
+
data={data}
|
|
62
|
+
getRowId={getRowId}
|
|
63
|
+
>
|
|
64
|
+
{children}
|
|
65
|
+
</DataGridContextProvider>
|
|
66
|
+
</div>
|
|
67
|
+
);
|
|
68
|
+
},
|
|
69
|
+
) as DataGridRootComponent;
|
|
70
|
+
|
|
71
|
+
export default DataGridRoot;
|
|
@@ -15,57 +15,26 @@ import DragAndDropItem, { DragAndDropItemProps } from "../item/DragAndDropItem";
|
|
|
15
15
|
import { DragAndDropElement } from "../types";
|
|
16
16
|
import { DragAndDropProvider } from "./DragAndDrop.context";
|
|
17
17
|
|
|
18
|
-
interface DragAndDropProps<
|
|
19
|
-
T
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
items: ColumnDefinitions<T, DetailsT>;
|
|
23
|
-
setItems: React.Dispatch<
|
|
24
|
-
React.SetStateAction<ColumnDefinitions<T, DetailsT>>
|
|
25
|
-
>;
|
|
26
|
-
renderItem: (
|
|
27
|
-
item: ColumnDefinition<T, DetailsT>,
|
|
28
|
-
index: number,
|
|
29
|
-
) => React.ReactNode;
|
|
18
|
+
interface DragAndDropProps<T> extends React.HTMLAttributes<HTMLUListElement> {
|
|
19
|
+
items: ColumnDefinitions<T>;
|
|
20
|
+
setItems: React.Dispatch<React.SetStateAction<ColumnDefinitions<T>>>;
|
|
21
|
+
renderItem: (item: ColumnDefinition<T>, index: number) => React.ReactNode;
|
|
30
22
|
}
|
|
31
23
|
|
|
32
24
|
/**
|
|
33
|
-
* TODO
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* [
|
|
37
|
-
* [x] Overlay - Use floating component
|
|
38
|
-
* [x] Keyboard navigation
|
|
39
|
-
* [x] UU - announce on drag start, item moved, drag end
|
|
40
|
-
* [x] Make overlay same width as the OG item, currently jumps to content width
|
|
41
|
-
* [x] Look into adding a cancel listener event
|
|
42
|
-
* [x] Make onClick work on drag handler button, currently blocked by pointer down/up listeners
|
|
43
|
-
* [x] Talk to design about what should happen on ESC key press, currently just cancels dragging, should it also reset position?
|
|
44
|
-
* [x] Make arrow icons into buttons that react to keyboard events, currently just decorative
|
|
45
|
-
* [x] Keep handler focus after clicking arrows for dragging
|
|
46
|
-
* [x] Look into data-based API vs component-based API
|
|
47
|
-
* [x] 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?
|
|
48
|
-
* [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
|
|
49
|
-
* [x] Discuss items type
|
|
50
|
-
* [x] Discuss how to implement label best
|
|
51
|
-
* [ ] Quick nav (< > samtidig) - få piltastene til å fungere
|
|
52
|
-
* [x] Implement new type for items - ColumnDefinitions<T>
|
|
53
|
-
* [x] Remove announcer div and use a live region component instead
|
|
54
|
-
* [x] Make ESC reset position, not just cancel dragging
|
|
55
|
-
* [x] Make instructions for keyboard users (visible?)
|
|
56
|
-
* [ ] Ask design about visible keyboard instructions
|
|
57
|
-
* [ ] Update design from Figma
|
|
25
|
+
* TODO:
|
|
26
|
+
*
|
|
27
|
+
* Backlog:
|
|
28
|
+
* [ ] Quick nav (< > samtidig) - få piltastene til å fungere - ignore?
|
|
58
29
|
* [ ] Look at instructions text
|
|
59
|
-
* [x] Remove default ul styling
|
|
60
|
-
* [x] Fix setItems type
|
|
61
30
|
*
|
|
62
31
|
*/
|
|
63
32
|
|
|
64
33
|
const DRAG_THRESHOLD = 4; // Minimum movement in pixels to start dragging
|
|
65
34
|
const SR_INSTRUCTIONS_ID = "drag-and-drop-instructions-id";
|
|
66
35
|
|
|
67
|
-
function DragAndDropInner<T
|
|
68
|
-
{ items, setItems, renderItem }: DragAndDropProps<T
|
|
36
|
+
function DragAndDropInner<T>(
|
|
37
|
+
{ items, setItems, renderItem }: DragAndDropProps<T>,
|
|
69
38
|
forwardedRef: React.ForwardedRef<HTMLUListElement>,
|
|
70
39
|
) {
|
|
71
40
|
const [activeItem, setActiveItem] = useState<DragAndDropElement | null>(null);
|
|
@@ -74,7 +43,7 @@ function DragAndDropInner<T, DetailsT extends Record<string, any>>(
|
|
|
74
43
|
useState<DragAndDropElement | null>(null);
|
|
75
44
|
const [overlayWidth, setOverlayWidth] = useState<number | null>(null);
|
|
76
45
|
const [announcer, setAnnouncer] = useState("");
|
|
77
|
-
const initialItemsRef = useRef<ColumnDefinitions<T
|
|
46
|
+
const initialItemsRef = useRef<ColumnDefinitions<T> | null>(null);
|
|
78
47
|
const activeData = items.find((item) => item.id === activeItem?.id);
|
|
79
48
|
|
|
80
49
|
const activeItemRef = useRef<DragAndDropElement | null>(null);
|
|
@@ -164,8 +133,8 @@ function DragAndDropInner<T, DetailsT extends Record<string, any>>(
|
|
|
164
133
|
);
|
|
165
134
|
|
|
166
135
|
useEffect(() => {
|
|
167
|
-
/* This useEffect is used to toggle a class on the html element when dragging,
|
|
168
|
-
to prevent cursor issues when dragging over interactive elements,
|
|
136
|
+
/* This useEffect is used to toggle a class on the html element when dragging,
|
|
137
|
+
to prevent cursor issues when dragging over interactive elements,
|
|
169
138
|
and to prevent text selection during dragging. */
|
|
170
139
|
|
|
171
140
|
if (activeItem) {
|
|
@@ -372,11 +341,8 @@ function DragAndDropInner<T, DetailsT extends Record<string, any>>(
|
|
|
372
341
|
);
|
|
373
342
|
}
|
|
374
343
|
|
|
375
|
-
const DragAndDrop = forwardRef(DragAndDropInner) as <
|
|
376
|
-
T
|
|
377
|
-
DetailsT extends Record<string, any>,
|
|
378
|
-
>(
|
|
379
|
-
props: DragAndDropProps<T, DetailsT> & React.RefAttributes<HTMLUListElement>,
|
|
344
|
+
const DragAndDrop = forwardRef(DragAndDropInner) as <T>(
|
|
345
|
+
props: DragAndDropProps<T> & React.RefAttributes<HTMLUListElement>,
|
|
380
346
|
) => React.ReactElement | null;
|
|
381
347
|
|
|
382
348
|
export { DragAndDrop, DragAndDropItem };
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { MenuElipsisVerticalIcon } from "@navikt/aksel-icons";
|
|
3
|
+
import { Button } from "../../button";
|
|
2
4
|
import { Tag } from "../../tag";
|
|
3
5
|
import type { ColumnDefinitions } from "../table/root/DataTable.types";
|
|
4
6
|
|
|
@@ -17,80 +19,53 @@ type SWData = {
|
|
|
17
19
|
nestedRows: Omit<NestedSWData, "nestedRows">[];
|
|
18
20
|
};
|
|
19
21
|
|
|
20
|
-
|
|
21
|
-
visible: boolean;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const columnDef_TEST_DATA: ColumnDefinitions<SWData, Details> = [
|
|
22
|
+
const columnDef_TEST_DATA: ColumnDefinitions<SWData> = [
|
|
25
23
|
{
|
|
26
24
|
id: "id",
|
|
27
25
|
label: "Id",
|
|
28
26
|
cell: (row) => row.id,
|
|
29
|
-
|
|
30
|
-
details: {
|
|
31
|
-
visible: true,
|
|
32
|
-
},
|
|
27
|
+
width: { autoResizeOnce: true },
|
|
33
28
|
},
|
|
34
29
|
{
|
|
35
30
|
label: "Name",
|
|
36
31
|
id: "name",
|
|
37
32
|
cell: (row) =>
|
|
38
33
|
`${row.name} ${row?.nestedRows?.length > 0 ? `(${row?.nestedRows?.length})` : ""}`,
|
|
39
|
-
details: {
|
|
40
|
-
visible: true,
|
|
41
|
-
},
|
|
42
34
|
},
|
|
43
35
|
{
|
|
44
36
|
label: "National id",
|
|
45
37
|
id: "nationalId",
|
|
46
38
|
cell: (row) => row.nationalId,
|
|
47
39
|
align: "right",
|
|
48
|
-
|
|
49
|
-
details: {
|
|
50
|
-
visible: true,
|
|
51
|
-
},
|
|
40
|
+
width: { autoResizeOnce: true },
|
|
52
41
|
},
|
|
53
42
|
{
|
|
54
43
|
label: "Day job",
|
|
55
44
|
id: "dayJob",
|
|
56
45
|
cell: (row) => row.dayJob,
|
|
57
|
-
details: {
|
|
58
|
-
visible: true,
|
|
59
|
-
},
|
|
60
46
|
},
|
|
61
47
|
{
|
|
62
48
|
label: "Supervisor",
|
|
63
49
|
id: "supervisor",
|
|
64
50
|
cell: (row) => row.supervisor,
|
|
65
|
-
details: {
|
|
66
|
-
visible: true,
|
|
67
|
-
},
|
|
68
51
|
},
|
|
69
52
|
{
|
|
70
53
|
label: "Date received",
|
|
71
54
|
id: "dateReceived",
|
|
72
55
|
cell: (row) => row.dateReceived,
|
|
73
|
-
details: {
|
|
74
|
-
visible: true,
|
|
75
|
-
},
|
|
76
56
|
},
|
|
77
57
|
{
|
|
78
58
|
label: "Message",
|
|
79
59
|
id: "message",
|
|
80
60
|
cell: (row) => row.message,
|
|
81
|
-
details: {
|
|
82
|
-
visible: true,
|
|
83
|
-
},
|
|
84
61
|
},
|
|
85
62
|
{
|
|
86
63
|
label: "Age",
|
|
87
64
|
id: "age",
|
|
88
65
|
cell: (row) => row.age,
|
|
89
66
|
align: "right",
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
visible: true,
|
|
93
|
-
},
|
|
67
|
+
width: { autoResizeOnce: true },
|
|
68
|
+
|
|
94
69
|
/* TODO: NOt yet implemented */
|
|
95
70
|
/* footer: ({ table }) => {
|
|
96
71
|
const ages: number[] = [];
|
|
@@ -111,27 +86,61 @@ const columnDef_TEST_DATA: ColumnDefinitions<SWData, Details> = [
|
|
|
111
86
|
data-color={row.forceSensitive ? "accent" : "warning"}
|
|
112
87
|
>{`${row.forceSensitive ? "Yes" : "No"}`}</Tag>
|
|
113
88
|
),
|
|
114
|
-
|
|
89
|
+
width: { autoResizeOnce: true },
|
|
115
90
|
align: "center",
|
|
116
|
-
details: {
|
|
117
|
-
visible: true,
|
|
118
|
-
},
|
|
119
91
|
},
|
|
120
92
|
{
|
|
121
93
|
label: "Home system",
|
|
122
94
|
id: "homeSystem",
|
|
123
95
|
cell: (row) => row.homeSystem,
|
|
124
|
-
details: {
|
|
125
|
-
visible: true,
|
|
126
|
-
},
|
|
127
96
|
},
|
|
128
97
|
{
|
|
129
98
|
label: "Skills",
|
|
130
99
|
id: "skills",
|
|
131
|
-
cell: (row) =>
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
100
|
+
cell: (row) =>
|
|
101
|
+
row.skills.map((skill) => (
|
|
102
|
+
<Tag key={skill} size="small" variant="moderate">
|
|
103
|
+
{skill}
|
|
104
|
+
</Tag>
|
|
105
|
+
)),
|
|
106
|
+
/* cell: (row) => (
|
|
107
|
+
<Bleed marginBlock="space-4" marginInline="space-4">
|
|
108
|
+
{row.skills.map((skill) => (
|
|
109
|
+
<Box
|
|
110
|
+
key={skill}
|
|
111
|
+
style={{ display: "inline-block" }}
|
|
112
|
+
padding="space-4"
|
|
113
|
+
>
|
|
114
|
+
<Tag size="small" variant="moderate">
|
|
115
|
+
{skill}
|
|
116
|
+
</Tag>
|
|
117
|
+
</Box>
|
|
118
|
+
))}
|
|
119
|
+
</Bleed>
|
|
120
|
+
), */
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
label: "Actions",
|
|
124
|
+
id: "actions",
|
|
125
|
+
width: { autoResizeOnce: true },
|
|
126
|
+
cell: (row) => (
|
|
127
|
+
<>
|
|
128
|
+
<Button
|
|
129
|
+
size="xsmall"
|
|
130
|
+
variant="secondary"
|
|
131
|
+
data-color="neutral"
|
|
132
|
+
onClick={() => alert(`Edit ${row.name}`)}
|
|
133
|
+
>
|
|
134
|
+
Edit
|
|
135
|
+
</Button>
|
|
136
|
+
<Button
|
|
137
|
+
size="xsmall"
|
|
138
|
+
variant="secondary"
|
|
139
|
+
data-color="neutral"
|
|
140
|
+
icon={<MenuElipsisVerticalIcon title="Meny" />}
|
|
141
|
+
/>
|
|
142
|
+
</>
|
|
143
|
+
),
|
|
135
144
|
},
|
|
136
145
|
];
|
|
137
146
|
|