@navikt/ds-react 8.10.3 → 8.10.5
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/action-menu/ActionMenu.js +1 -1
- package/cjs/action-menu/ActionMenu.js.map +1 -1
- package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +11 -12
- 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.d.ts +5 -5
- package/cjs/data/drag-and-drop/root/DragAndDropRoot.js +49 -28
- 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/{drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.d.ts → drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.d.ts} +3 -3
- package/cjs/data/{drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js → drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js} +5 -5
- package/cjs/data/drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js.map +1 -0
- package/cjs/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.d.ts +27 -0
- package/cjs/data/{drag-and-drop-old/item/DataDragAndDropItem.js → drag-and-drop-legacy/item/DragAndDropItemLegacy.js} +12 -12
- package/cjs/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.js.map +1 -0
- package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.d.ts +5 -0
- package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js +6 -0
- package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js.map +1 -0
- package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.d.ts +24 -0
- package/cjs/data/{drag-and-drop-old/root/DataDragAndDropRoot.js → drag-and-drop-legacy/root/DragAndDropLegacyRoot.js} +10 -10
- package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.js.map +1 -0
- package/cjs/data/stories/Data.test-data.d.ts +24 -0
- package/cjs/data/stories/Data.test-data.js +1615 -0
- package/cjs/data/stories/Data.test-data.js.map +1 -0
- package/cjs/data/table/column-header/DataTableColumnHeader.d.ts +4 -1
- package/cjs/data/table/column-header/DataTableColumnHeader.js +4 -4
- package/cjs/data/table/column-header/DataTableColumnHeader.js.map +1 -1
- package/cjs/data/table/column-header/useTableColumnResize.d.ts +21 -18
- package/cjs/data/table/column-header/useTableColumnResize.js +7 -25
- package/cjs/data/table/column-header/useTableColumnResize.js.map +1 -1
- package/cjs/data/table/details-panel-row/DataTableDetailsPanelRow.d.ts +6 -0
- package/cjs/data/table/details-panel-row/DataTableDetailsPanelRow.js +32 -0
- package/cjs/data/table/details-panel-row/DataTableDetailsPanelRow.js.map +1 -0
- package/cjs/data/table/helpers/collectTableRowEntries.d.ts +9 -7
- package/cjs/data/table/helpers/collectTableRowEntries.js +21 -14
- package/cjs/data/table/helpers/collectTableRowEntries.js.map +1 -1
- 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.js +18 -5
- 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 +62 -0
- package/cjs/data/table/hooks/{useTableExpansion.js → useTableDetailsPanel.js} +21 -20
- package/cjs/data/table/hooks/useTableDetailsPanel.js.map +1 -0
- package/cjs/data/table/hooks/useTableItems.d.ts +14 -17
- package/cjs/data/table/hooks/useTableItems.js +17 -16
- package/cjs/data/table/hooks/useTableItems.js.map +1 -1
- package/cjs/data/table/hooks/useTableKeyboardNav.js +5 -1
- package/cjs/data/table/hooks/useTableKeyboardNav.js.map +1 -1
- package/cjs/data/table/hooks/useTableSelection.d.ts +4 -2
- package/cjs/data/table/hooks/useTableSelection.js +6 -1
- package/cjs/data/table/hooks/useTableSelection.js.map +1 -1
- package/cjs/data/table/index.d.ts +1 -2
- package/cjs/data/table/index.js +22 -12
- package/cjs/data/table/index.js.map +1 -1
- package/cjs/data/table/root/DataTable.types.d.ts +7 -9
- package/cjs/data/table/root/DataTableRoot.context.d.ts +5 -1
- package/cjs/data/table/root/DataTableRoot.context.js.map +1 -1
- package/cjs/data/table/root/DataTableRoot.d.ts +79 -115
- package/cjs/data/table/root/DataTableRoot.js +163 -38
- package/cjs/data/table/root/DataTableRoot.js.map +1 -1
- package/cjs/data/table/root/DataTableRoot.legacy.d.ts +177 -0
- package/cjs/data/table/root/DataTableRoot.legacy.js +104 -0
- package/cjs/data/table/root/DataTableRoot.legacy.js.map +1 -0
- package/cjs/data/table/sub-row-toggle/DataTableSubRowToggle.d.ts +6 -0
- package/cjs/data/table/sub-row-toggle/DataTableSubRowToggle.js +21 -0
- package/cjs/data/table/sub-row-toggle/DataTableSubRowToggle.js.map +1 -0
- package/cjs/data/table/tr/DataTableTr.js +11 -11
- package/cjs/data/table/tr/DataTableTr.js.map +1 -1
- package/cjs/utils/components/dismissablelayer/DismissableLayer.js +1 -1
- package/cjs/utils/components/dismissablelayer/DismissableLayer.js.map +1 -1
- package/cjs/utils/components/floating/Floating.d.ts +16 -1
- package/cjs/utils/components/floating/Floating.js +50 -13
- package/cjs/utils/components/floating/Floating.js.map +1 -1
- package/cjs/utils/components/floating-menu/Menu.js +1 -1
- package/cjs/utils/components/floating-menu/Menu.js.map +1 -1
- package/cjs/utils/helpers/create-strict-context.js +1 -1
- package/cjs/utils/helpers/create-strict-context.js.map +1 -1
- package/cjs/utils/hooks/useControllableState.d.ts +5 -5
- package/cjs/utils/hooks/useControllableState.js.map +1 -1
- package/cjs/utils/hooks/useValueAsRef.js +1 -1
- package/cjs/utils/hooks/useValueAsRef.js.map +1 -1
- package/cjs/utils-external/hooks/useId.js +1 -1
- package/cjs/utils-external/hooks/useId.js.map +1 -1
- package/esm/action-menu/ActionMenu.js +1 -1
- package/esm/action-menu/ActionMenu.js.map +1 -1
- package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +11 -12
- 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.d.ts +5 -5
- package/esm/data/drag-and-drop/root/DragAndDropRoot.js +49 -28
- 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/{drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.d.ts → drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.d.ts} +3 -3
- package/esm/data/{drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js → drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js} +4 -4
- package/esm/data/drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js.map +1 -0
- package/esm/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.d.ts +27 -0
- package/esm/data/{drag-and-drop-old/item/DataDragAndDropItem.js → drag-and-drop-legacy/item/DragAndDropItemLegacy.js} +11 -11
- package/esm/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.js.map +1 -0
- package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.d.ts +5 -0
- package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js +3 -0
- package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js.map +1 -0
- package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.d.ts +24 -0
- package/esm/data/{drag-and-drop-old/root/DataDragAndDropRoot.js → drag-and-drop-legacy/root/DragAndDropLegacyRoot.js} +8 -8
- package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.js.map +1 -0
- package/esm/data/stories/Data.test-data.d.ts +24 -0
- package/esm/data/stories/Data.test-data.js +1606 -0
- package/esm/data/stories/Data.test-data.js.map +1 -0
- package/esm/data/table/column-header/DataTableColumnHeader.d.ts +4 -1
- package/esm/data/table/column-header/DataTableColumnHeader.js +4 -4
- package/esm/data/table/column-header/DataTableColumnHeader.js.map +1 -1
- package/esm/data/table/column-header/useTableColumnResize.d.ts +21 -18
- package/esm/data/table/column-header/useTableColumnResize.js +7 -25
- package/esm/data/table/column-header/useTableColumnResize.js.map +1 -1
- package/esm/data/table/details-panel-row/DataTableDetailsPanelRow.d.ts +6 -0
- package/esm/data/table/details-panel-row/DataTableDetailsPanelRow.js +27 -0
- package/esm/data/table/details-panel-row/DataTableDetailsPanelRow.js.map +1 -0
- package/esm/data/table/helpers/collectTableRowEntries.d.ts +9 -7
- package/esm/data/table/helpers/collectTableRowEntries.js +21 -14
- package/esm/data/table/helpers/collectTableRowEntries.js.map +1 -1
- 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.js +18 -5
- 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 +62 -0
- package/esm/data/table/hooks/{useTableExpansion.js → useTableDetailsPanel.js} +18 -17
- package/esm/data/table/hooks/useTableDetailsPanel.js.map +1 -0
- package/esm/data/table/hooks/useTableItems.d.ts +14 -17
- package/esm/data/table/hooks/useTableItems.js +17 -16
- package/esm/data/table/hooks/useTableItems.js.map +1 -1
- package/esm/data/table/hooks/useTableKeyboardNav.js +6 -2
- package/esm/data/table/hooks/useTableKeyboardNav.js.map +1 -1
- package/esm/data/table/hooks/useTableSelection.d.ts +4 -2
- package/esm/data/table/hooks/useTableSelection.js +6 -1
- package/esm/data/table/hooks/useTableSelection.js.map +1 -1
- package/esm/data/table/index.d.ts +1 -2
- package/esm/data/table/index.js +21 -1
- package/esm/data/table/index.js.map +1 -1
- package/esm/data/table/root/DataTable.types.d.ts +7 -9
- package/esm/data/table/root/DataTableRoot.context.d.ts +5 -1
- package/esm/data/table/root/DataTableRoot.context.js.map +1 -1
- package/esm/data/table/root/DataTableRoot.d.ts +79 -115
- package/esm/data/table/root/DataTableRoot.js +170 -36
- package/esm/data/table/root/DataTableRoot.js.map +1 -1
- package/esm/data/table/root/DataTableRoot.legacy.d.ts +177 -0
- package/esm/data/table/root/DataTableRoot.legacy.js +59 -0
- package/esm/data/table/root/DataTableRoot.legacy.js.map +1 -0
- package/esm/data/table/sub-row-toggle/DataTableSubRowToggle.d.ts +6 -0
- package/esm/data/table/sub-row-toggle/DataTableSubRowToggle.js +16 -0
- package/esm/data/table/sub-row-toggle/DataTableSubRowToggle.js.map +1 -0
- package/esm/data/table/tr/DataTableTr.js +11 -11
- package/esm/data/table/tr/DataTableTr.js.map +1 -1
- package/esm/utils/components/dismissablelayer/DismissableLayer.js +1 -1
- package/esm/utils/components/dismissablelayer/DismissableLayer.js.map +1 -1
- package/esm/utils/components/floating/Floating.d.ts +16 -1
- package/esm/utils/components/floating/Floating.js +48 -13
- package/esm/utils/components/floating/Floating.js.map +1 -1
- package/esm/utils/components/floating-menu/Menu.js +2 -2
- package/esm/utils/components/floating-menu/Menu.js.map +1 -1
- package/esm/utils/helpers/create-strict-context.js +1 -1
- package/esm/utils/helpers/create-strict-context.js.map +1 -1
- package/esm/utils/hooks/useControllableState.d.ts +5 -5
- package/esm/utils/hooks/useControllableState.js.map +1 -1
- package/esm/utils/hooks/useValueAsRef.js +1 -1
- package/esm/utils/hooks/useValueAsRef.js.map +1 -1
- package/esm/utils-external/hooks/useId.js +1 -1
- package/esm/utils-external/hooks/useId.js.map +1 -1
- package/package.json +8 -7
- package/src/action-menu/ActionMenu.tsx +1 -1
- package/src/data/drag-and-drop/drag-handler/DragAndDropDragHandler.tsx +11 -16
- package/src/data/drag-and-drop/root/DragAndDrop.context.tsx +4 -2
- package/src/data/drag-and-drop/root/DragAndDropRoot.tsx +85 -40
- package/src/data/drag-and-drop/types.ts +0 -5
- package/src/data/{drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.tsx → drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.tsx} +5 -5
- package/src/data/{drag-and-drop-old/item/DataDragAndDropItem.tsx → drag-and-drop-legacy/item/DragAndDropItemLegacy.tsx} +13 -13
- package/src/data/{drag-and-drop-old/root/DataDragAndDrop.context.tsx → drag-and-drop-legacy/root/DragAndDropLegacy.context.tsx} +3 -3
- package/src/data/{drag-and-drop-old/root/DataDragAndDropRoot.tsx → drag-and-drop-legacy/root/DragAndDropLegacyRoot.tsx} +19 -21
- package/src/data/stories/Data.test-data.tsx +1702 -0
- package/src/data/table/column-header/DataTableColumnHeader.tsx +8 -6
- package/src/data/table/column-header/useTableColumnResize.ts +29 -44
- package/src/data/table/details-panel-row/DataTableDetailsPanelRow.tsx +57 -0
- package/src/data/table/helpers/collectTableRowEntries.ts +36 -30
- package/src/data/table/helpers/table-focus.ts +63 -9
- package/src/data/table/hooks/__tests__/useTableItems.test.ts +58 -12
- package/src/data/table/hooks/__tests__/useTableSelection.test.ts +57 -44
- package/src/data/table/hooks/useColumnOptions.ts +19 -5
- package/src/data/table/hooks/useGridCache.ts +3 -2
- package/src/data/table/hooks/useTableDetailsPanel.tsx +185 -0
- package/src/data/table/hooks/useTableItems.ts +44 -52
- package/src/data/table/hooks/useTableKeyboardNav.ts +6 -2
- package/src/data/table/hooks/useTableSelection.ts +17 -6
- package/src/data/table/index.tsx +5 -3
- package/src/data/table/root/DataTable.types.ts +20 -9
- package/src/data/table/root/DataTableRoot.context.ts +5 -1
- package/src/data/table/root/DataTableRoot.legacy.tsx +297 -0
- package/src/data/table/root/DataTableRoot.tsx +484 -219
- package/src/data/table/root/agent-feature-gap.md +96 -0
- package/src/data/table/sub-row-toggle/DataTableSubRowToggle.tsx +39 -0
- package/src/data/table/tr/DataTableTr.tsx +14 -13
- package/src/utils/components/dismissablelayer/DismissableLayer.tsx +1 -1
- package/src/utils/components/floating/Floating.tsx +56 -13
- package/src/utils/components/floating-menu/Menu.tsx +4 -1
- package/src/utils/helpers/create-strict-context.tsx +1 -1
- package/src/utils/hooks/useControllableState.ts +11 -8
- package/src/utils/hooks/useValueAsRef.ts +1 -1
- package/src/utils-external/hooks/useId.ts +1 -1
- 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.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.map +0 -1
- package/cjs/data/table/hooks/useTableExpansion.d.ts +0 -27
- package/cjs/data/table/hooks/useTableExpansion.js.map +0 -1
- package/cjs/data/table/root/DataTableAuto.d.ts +0 -182
- package/cjs/data/table/root/DataTableAuto.js +0 -206
- package/cjs/data/table/root/DataTableAuto.js.map +0 -1
- 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.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.map +0 -1
- package/esm/data/table/hooks/useTableExpansion.d.ts +0 -27
- package/esm/data/table/hooks/useTableExpansion.js.map +0 -1
- package/esm/data/table/root/DataTableAuto.d.ts +0 -182
- package/esm/data/table/root/DataTableAuto.js +0 -170
- package/esm/data/table/root/DataTableAuto.js.map +0 -1
- package/src/data/table/hooks/useTableExpansion.tsx +0 -146
- package/src/data/table/root/DataTableAuto.test.tsx +0 -244
- package/src/data/table/root/DataTableAuto.tsx +0 -612
|
@@ -3,10 +3,10 @@ import React, { useRef } from "react";
|
|
|
3
3
|
import { HStack } from "../../../primitives/stack";
|
|
4
4
|
import { cl } from "../../../utils/helpers";
|
|
5
5
|
import { useMergeRefs } from "../../../utils/hooks";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { DragAndDropDragHandlerLegacy } from "../drag-handler/DragAndDropDragHandlerLegacy";
|
|
7
|
+
import { DragAndDropLegacyContext } from "../root/DragAndDropLegacy.context";
|
|
8
8
|
|
|
9
|
-
interface
|
|
9
|
+
interface DragAndDropItemLegacyProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
10
10
|
children: React.ReactNode;
|
|
11
11
|
/**
|
|
12
12
|
* Unique id
|
|
@@ -21,17 +21,17 @@ interface DataDragAndDropItemProps extends React.HTMLAttributes<HTMLDivElement>
|
|
|
21
21
|
/**
|
|
22
22
|
* TODO
|
|
23
23
|
*
|
|
24
|
-
* @see 🏷️ {@link
|
|
24
|
+
* @see 🏷️ {@link DragAndDropItemLegacyProps}
|
|
25
25
|
* @example
|
|
26
26
|
* ```tsx
|
|
27
|
-
* <
|
|
27
|
+
* <DragAndDropLegacy.Item numOfSelectedRows={selectedRows.length} onClear={handleClear}>
|
|
28
28
|
* TODO
|
|
29
|
-
* </
|
|
29
|
+
* </DragAndDropLegacy.Item>
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
|
-
const
|
|
32
|
+
const DragAndDropItemLegacy = React.forwardRef<
|
|
33
33
|
HTMLDivElement,
|
|
34
|
-
|
|
34
|
+
DragAndDropItemLegacyProps
|
|
35
35
|
>(({ children, id, index, className, ...rest }, forwardedRef) => {
|
|
36
36
|
const handleRef = useRef<HTMLDivElement>(null);
|
|
37
37
|
const { ref, isDragging, isDropTarget } = useSortable({
|
|
@@ -40,7 +40,7 @@ const DataDragAndDropItem = React.forwardRef<
|
|
|
40
40
|
handle: handleRef,
|
|
41
41
|
});
|
|
42
42
|
const mergedRef = useMergeRefs(ref, forwardedRef);
|
|
43
|
-
const context = React.useContext(
|
|
43
|
+
const context = React.useContext(DragAndDropLegacyContext);
|
|
44
44
|
const mouseDragging = isDragging && context?.inputMethod === "mouse";
|
|
45
45
|
const mouseDropTarget = isDropTarget && context?.inputMethod === "mouse";
|
|
46
46
|
const keyboardDragging = isDragging && context?.inputMethod === "keyboard";
|
|
@@ -58,7 +58,7 @@ const DataDragAndDropItem = React.forwardRef<
|
|
|
58
58
|
data-drop-target={mouseDropTarget}
|
|
59
59
|
tabIndex={-1}
|
|
60
60
|
>
|
|
61
|
-
<
|
|
61
|
+
<DragAndDropDragHandlerLegacy
|
|
62
62
|
handleRef={handleRef}
|
|
63
63
|
keyboardDragging={keyboardDragging}
|
|
64
64
|
alt
|
|
@@ -69,6 +69,6 @@ const DataDragAndDropItem = React.forwardRef<
|
|
|
69
69
|
);
|
|
70
70
|
});
|
|
71
71
|
|
|
72
|
-
export default
|
|
73
|
-
export {
|
|
74
|
-
export type {
|
|
72
|
+
export default DragAndDropItemLegacy;
|
|
73
|
+
export { DragAndDropItemLegacy };
|
|
74
|
+
export type { DragAndDropItemLegacyProps };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { createContext } from "react";
|
|
2
2
|
|
|
3
|
-
interface
|
|
3
|
+
interface DragAndDropContextLegacyType {
|
|
4
4
|
inputMethod: "mouse" | "keyboard" | null;
|
|
5
5
|
// setInputMethod: (method: "mouse" | "keyboard" | null) => void;
|
|
6
6
|
// setItems: React.Dispatch<React.SetStateAction<any[]>>;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
export const
|
|
10
|
-
|
|
9
|
+
export const DragAndDropLegacyContext = createContext<
|
|
10
|
+
DragAndDropContextLegacyType | undefined
|
|
11
11
|
>(undefined);
|
|
@@ -2,34 +2,32 @@ import { DragDropProvider, DragOverlay } from "@dnd-kit/react";
|
|
|
2
2
|
import { isSortable } from "@dnd-kit/react/sortable";
|
|
3
3
|
import React, { forwardRef, isValidElement } from "react";
|
|
4
4
|
import { VStack } from "../../../primitives/stack";
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
} from "../item/DataDragAndDropItem";
|
|
8
|
-
import { DataDragAndDropContext } from "./DataDragAndDrop.context";
|
|
5
|
+
import DragAndDropItemLegacy from "../item/DragAndDropItemLegacy";
|
|
6
|
+
import { DragAndDropLegacyContext } from "./DragAndDropLegacy.context";
|
|
9
7
|
|
|
10
|
-
interface
|
|
8
|
+
interface DragAndDropLegacyProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
11
9
|
children: any[];
|
|
12
10
|
setItems: React.Dispatch<React.SetStateAction<any[]>>;
|
|
13
11
|
}
|
|
14
12
|
|
|
15
|
-
interface
|
|
16
|
-
|
|
13
|
+
interface DragAndDropLegacyRootComponent extends React.ForwardRefExoticComponent<
|
|
14
|
+
DragAndDropLegacyProps & React.RefAttributes<HTMLDivElement>
|
|
17
15
|
> {
|
|
18
16
|
/**
|
|
19
|
-
* @see 🏷️ {@link
|
|
17
|
+
* @see 🏷️ {@link DragAndDropItemLegacyProps}
|
|
20
18
|
* * @example
|
|
21
19
|
* ```jsx
|
|
22
|
-
* <
|
|
23
|
-
* <
|
|
20
|
+
* <DragAndDropLegacy>
|
|
21
|
+
* <DragAndDropLegacy.Item id="1" index={0}>
|
|
24
22
|
* ...
|
|
25
|
-
* </
|
|
26
|
-
* </
|
|
23
|
+
* </DragAndDropLegacy.Item>
|
|
24
|
+
* </DragAndDropLegacy>
|
|
27
25
|
* ```
|
|
28
26
|
*/
|
|
29
|
-
Item: typeof
|
|
27
|
+
Item: typeof DragAndDropItemLegacy;
|
|
30
28
|
}
|
|
31
29
|
|
|
32
|
-
const
|
|
30
|
+
const DragAndDropLegacy = forwardRef<HTMLDivElement, DragAndDropLegacyProps>(
|
|
33
31
|
({ setItems, children, ...rest }, forwardedRef) => {
|
|
34
32
|
const [inputMethod, setInputMethod] = React.useState<
|
|
35
33
|
"mouse" | "keyboard" | null
|
|
@@ -45,7 +43,7 @@ const DataDragAndDrop = forwardRef<HTMLDivElement, DataDragAndDropProps>(
|
|
|
45
43
|
};
|
|
46
44
|
|
|
47
45
|
return (
|
|
48
|
-
<
|
|
46
|
+
<DragAndDropLegacyContext.Provider value={{ inputMethod }}>
|
|
49
47
|
<DragDropProvider
|
|
50
48
|
// TODO Look into overriding default keybinds, might eliminate context need
|
|
51
49
|
onBeforeDragStart={(event) =>
|
|
@@ -84,13 +82,13 @@ const DataDragAndDrop = forwardRef<HTMLDivElement, DataDragAndDropProps>(
|
|
|
84
82
|
}}
|
|
85
83
|
</DragOverlay>
|
|
86
84
|
</DragDropProvider>
|
|
87
|
-
</
|
|
85
|
+
</DragAndDropLegacyContext.Provider>
|
|
88
86
|
);
|
|
89
87
|
},
|
|
90
|
-
) as
|
|
88
|
+
) as DragAndDropLegacyRootComponent;
|
|
91
89
|
|
|
92
|
-
|
|
90
|
+
DragAndDropLegacy.Item = DragAndDropItemLegacy;
|
|
93
91
|
|
|
94
|
-
export {
|
|
95
|
-
export default
|
|
96
|
-
export type {
|
|
92
|
+
export { DragAndDropLegacy, DragAndDropItemLegacy };
|
|
93
|
+
export default DragAndDropLegacy;
|
|
94
|
+
export type { DragAndDropLegacyProps };
|