@navikt/ds-react 8.10.4 → 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.
Files changed (128) hide show
  1. package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +11 -12
  2. package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -1
  3. package/cjs/data/drag-and-drop/root/DragAndDrop.context.d.ts +4 -2
  4. package/cjs/data/drag-and-drop/root/DragAndDrop.context.js.map +1 -1
  5. package/cjs/data/drag-and-drop/root/DragAndDropRoot.d.ts +5 -5
  6. package/cjs/data/drag-and-drop/root/DragAndDropRoot.js +49 -28
  7. package/cjs/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -1
  8. package/cjs/data/drag-and-drop/types.d.ts +0 -4
  9. package/cjs/data/{drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.d.ts → drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.d.ts} +3 -3
  10. package/cjs/data/{drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js → drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js} +5 -5
  11. package/cjs/data/drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js.map +1 -0
  12. package/cjs/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.d.ts +27 -0
  13. package/cjs/data/{drag-and-drop-old/item/DataDragAndDropItem.js → drag-and-drop-legacy/item/DragAndDropItemLegacy.js} +12 -12
  14. package/cjs/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.js.map +1 -0
  15. package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.d.ts +5 -0
  16. package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js +6 -0
  17. package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js.map +1 -0
  18. package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.d.ts +24 -0
  19. package/cjs/data/{drag-and-drop-old/root/DataDragAndDropRoot.js → drag-and-drop-legacy/root/DragAndDropLegacyRoot.js} +10 -10
  20. package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.js.map +1 -0
  21. package/cjs/data/stories/Data.test-data.js +0 -1
  22. package/cjs/data/stories/Data.test-data.js.map +1 -1
  23. package/cjs/data/table/column-header/DataTableColumnHeader.js +2 -2
  24. package/cjs/data/table/column-header/DataTableColumnHeader.js.map +1 -1
  25. package/cjs/data/table/details-panel-row/DataTableDetailsPanelRow.js +1 -1
  26. package/cjs/data/table/details-panel-row/DataTableDetailsPanelRow.js.map +1 -1
  27. package/cjs/data/table/helpers/collectTableRowEntries.d.ts +7 -5
  28. package/cjs/data/table/helpers/collectTableRowEntries.js +18 -10
  29. package/cjs/data/table/helpers/collectTableRowEntries.js.map +1 -1
  30. package/cjs/data/table/helpers/table-focus.d.ts +0 -3
  31. package/cjs/data/table/helpers/table-focus.js +38 -8
  32. package/cjs/data/table/helpers/table-focus.js.map +1 -1
  33. package/cjs/data/table/hooks/useGridCache.js +2 -2
  34. package/cjs/data/table/hooks/useGridCache.js.map +1 -1
  35. package/cjs/data/table/hooks/useTableDetailsPanel.js +1 -1
  36. package/cjs/data/table/hooks/useTableDetailsPanel.js.map +1 -1
  37. package/cjs/data/table/hooks/useTableItems.d.ts +4 -4
  38. package/cjs/data/table/hooks/useTableItems.js +8 -8
  39. package/cjs/data/table/hooks/useTableItems.js.map +1 -1
  40. package/cjs/data/table/hooks/useTableKeyboardNav.js +5 -1
  41. package/cjs/data/table/hooks/useTableKeyboardNav.js.map +1 -1
  42. package/cjs/data/table/root/DataTable.types.d.ts +0 -3
  43. package/cjs/data/table/root/DataTableRoot.d.ts +1 -1
  44. package/cjs/data/table/root/DataTableRoot.js +7 -11
  45. package/cjs/data/table/root/DataTableRoot.js.map +1 -1
  46. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +11 -12
  47. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -1
  48. package/esm/data/drag-and-drop/root/DragAndDrop.context.d.ts +4 -2
  49. package/esm/data/drag-and-drop/root/DragAndDrop.context.js.map +1 -1
  50. package/esm/data/drag-and-drop/root/DragAndDropRoot.d.ts +5 -5
  51. package/esm/data/drag-and-drop/root/DragAndDropRoot.js +49 -28
  52. package/esm/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -1
  53. package/esm/data/drag-and-drop/types.d.ts +0 -4
  54. package/esm/data/{drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.d.ts → drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.d.ts} +3 -3
  55. package/esm/data/{drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js → drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js} +4 -4
  56. package/esm/data/drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js.map +1 -0
  57. package/esm/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.d.ts +27 -0
  58. package/esm/data/{drag-and-drop-old/item/DataDragAndDropItem.js → drag-and-drop-legacy/item/DragAndDropItemLegacy.js} +11 -11
  59. package/esm/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.js.map +1 -0
  60. package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.d.ts +5 -0
  61. package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js +3 -0
  62. package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js.map +1 -0
  63. package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.d.ts +24 -0
  64. package/esm/data/{drag-and-drop-old/root/DataDragAndDropRoot.js → drag-and-drop-legacy/root/DragAndDropLegacyRoot.js} +8 -8
  65. package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.js.map +1 -0
  66. package/esm/data/stories/Data.test-data.js +0 -1
  67. package/esm/data/stories/Data.test-data.js.map +1 -1
  68. package/esm/data/table/column-header/DataTableColumnHeader.js +2 -2
  69. package/esm/data/table/column-header/DataTableColumnHeader.js.map +1 -1
  70. package/esm/data/table/details-panel-row/DataTableDetailsPanelRow.js +1 -1
  71. package/esm/data/table/details-panel-row/DataTableDetailsPanelRow.js.map +1 -1
  72. package/esm/data/table/helpers/collectTableRowEntries.d.ts +7 -5
  73. package/esm/data/table/helpers/collectTableRowEntries.js +18 -10
  74. package/esm/data/table/helpers/collectTableRowEntries.js.map +1 -1
  75. package/esm/data/table/helpers/table-focus.d.ts +0 -3
  76. package/esm/data/table/helpers/table-focus.js +38 -8
  77. package/esm/data/table/helpers/table-focus.js.map +1 -1
  78. package/esm/data/table/hooks/useGridCache.js +2 -2
  79. package/esm/data/table/hooks/useGridCache.js.map +1 -1
  80. package/esm/data/table/hooks/useTableDetailsPanel.js +1 -1
  81. package/esm/data/table/hooks/useTableDetailsPanel.js.map +1 -1
  82. package/esm/data/table/hooks/useTableItems.d.ts +4 -4
  83. package/esm/data/table/hooks/useTableItems.js +8 -8
  84. package/esm/data/table/hooks/useTableItems.js.map +1 -1
  85. package/esm/data/table/hooks/useTableKeyboardNav.js +6 -2
  86. package/esm/data/table/hooks/useTableKeyboardNav.js.map +1 -1
  87. package/esm/data/table/root/DataTable.types.d.ts +0 -3
  88. package/esm/data/table/root/DataTableRoot.d.ts +1 -1
  89. package/esm/data/table/root/DataTableRoot.js +7 -11
  90. package/esm/data/table/root/DataTableRoot.js.map +1 -1
  91. package/package.json +8 -7
  92. package/src/data/drag-and-drop/drag-handler/DragAndDropDragHandler.tsx +11 -16
  93. package/src/data/drag-and-drop/root/DragAndDrop.context.tsx +4 -2
  94. package/src/data/drag-and-drop/root/DragAndDropRoot.tsx +85 -40
  95. package/src/data/drag-and-drop/types.ts +0 -5
  96. package/src/data/{drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.tsx → drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.tsx} +5 -5
  97. package/src/data/{drag-and-drop-old/item/DataDragAndDropItem.tsx → drag-and-drop-legacy/item/DragAndDropItemLegacy.tsx} +13 -13
  98. package/src/data/{drag-and-drop-old/root/DataDragAndDrop.context.tsx → drag-and-drop-legacy/root/DragAndDropLegacy.context.tsx} +3 -3
  99. package/src/data/{drag-and-drop-old/root/DataDragAndDropRoot.tsx → drag-and-drop-legacy/root/DragAndDropLegacyRoot.tsx} +19 -21
  100. package/src/data/stories/Data.test-data.tsx +0 -1
  101. package/src/data/table/column-header/DataTableColumnHeader.tsx +2 -0
  102. package/src/data/table/details-panel-row/DataTableDetailsPanelRow.tsx +5 -1
  103. package/src/data/table/helpers/collectTableRowEntries.ts +31 -17
  104. package/src/data/table/helpers/table-focus.ts +63 -9
  105. package/src/data/table/hooks/__tests__/useTableItems.test.ts +46 -7
  106. package/src/data/table/hooks/useGridCache.ts +3 -2
  107. package/src/data/table/hooks/useTableDetailsPanel.tsx +5 -2
  108. package/src/data/table/hooks/useTableItems.ts +20 -19
  109. package/src/data/table/hooks/useTableKeyboardNav.ts +6 -2
  110. package/src/data/table/root/DataTable.types.ts +0 -3
  111. package/src/data/table/root/DataTableRoot.tsx +34 -34
  112. package/src/data/table/root/agent-feature-gap.md +96 -0
  113. package/cjs/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js.map +0 -1
  114. package/cjs/data/drag-and-drop-old/item/DataDragAndDropItem.d.ts +0 -27
  115. package/cjs/data/drag-and-drop-old/item/DataDragAndDropItem.js.map +0 -1
  116. package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.d.ts +0 -5
  117. package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.js +0 -6
  118. package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.js.map +0 -1
  119. package/cjs/data/drag-and-drop-old/root/DataDragAndDropRoot.d.ts +0 -24
  120. package/cjs/data/drag-and-drop-old/root/DataDragAndDropRoot.js.map +0 -1
  121. package/esm/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js.map +0 -1
  122. package/esm/data/drag-and-drop-old/item/DataDragAndDropItem.d.ts +0 -27
  123. package/esm/data/drag-and-drop-old/item/DataDragAndDropItem.js.map +0 -1
  124. package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.d.ts +0 -5
  125. package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.js +0 -3
  126. package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.js.map +0 -1
  127. package/esm/data/drag-and-drop-old/root/DataDragAndDropRoot.d.ts +0 -24
  128. package/esm/data/drag-and-drop-old/root/DataDragAndDropRoot.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { useEffect, useState } from "react";
2
2
  import { useEventCallback } from "../../../utils/hooks/index.js";
3
3
  import { focusInitialTableTarget } from "../helpers/table-cell.js";
4
- import { focusCellAndUpdateTabIndex } from "../helpers/table-focus.js";
4
+ import { focusCell, focusCellAndUpdateTabIndex } from "../helpers/table-focus.js";
5
5
  import { findFirstCell, findFirstCellInRow, findLastCell, findLastCellInRow, findNextFocusableCell, } from "../helpers/table-grid-nav.js";
6
6
  import { getNavigationAction, shouldBlockNavigation, } from "../helpers/table-keyboard.js";
7
7
  import { useGridCache } from "./useGridCache.js";
@@ -87,6 +87,10 @@ function useTableKeyboardNav({ enabled, shouldBlockNavigation: customBlockFn, })
87
87
  var _a;
88
88
  const target = event.target;
89
89
  if (tableRef && target === tableRef) {
90
+ if (activeCell) {
91
+ focusCell(activeCell);
92
+ return;
93
+ }
90
94
  focusInitialTableTarget(tableRef);
91
95
  return;
92
96
  }
@@ -117,7 +121,7 @@ function useTableKeyboardNav({ enabled, shouldBlockNavigation: customBlockFn, })
117
121
  }, [tableRef, handleTableKeyDown, handleTableFocusIn, enabled]);
118
122
  return {
119
123
  /* Table should only have tabIndex until the focus is moved inside and is enabled */
120
- tabIndex: enabled ? (activeCell ? undefined : 0) : undefined,
124
+ tabIndex: enabled ? 0 : undefined,
121
125
  setTableRef,
122
126
  };
123
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useTableKeyboardNav.js","sourceRoot":"","sources":["../../../../src/data/table/hooks/useTableKeyboardNav.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTableKeyboardNav.js","sourceRoot":"","sources":["../../../../src/data/table/hooks/useTableKeyboardNav.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAW9C,SAAS,mBAAmB,CAAC,EAC3B,OAAO,EACP,qBAAqB,EAAE,aAAa,GACT;IAC3B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAA0B,IAAI,CAAC,CAAC;IACxE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,YAAY,CAC9D,QAAQ,EACR,OAAO,CACR,CAAC;IAEF;;OAEG;IACH,MAAM,uBAAuB,GAAG,gBAAgB,CAC9C,CAAC,MAAwB,EAAE,EAAE;QAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,WAAW,GAAG,UAAU,CAAC;QAC7B,WAAW,aAAX,WAAW,cAAX,WAAW,IAAX,WAAW,GAAK,uBAAuB,CAAC,QAAQ,CAAC,EAAC;QAElD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE9C,IAAI,QAAQ,GAAmB,IAAI,CAAC;QAEpC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,QAAQ,GAAG,qBAAqB,CAC9B,IAAI,EACJ,UAAU,EACV,MAAM,CAAC,KAAK,EACZ,WAAW,CACZ,CAAC;gBACF,MAAM;YACR,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,QAAQ,GAAG,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBAClD,MAAM;YACR,CAAC;YAED,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBACjD,MAAM;YACR,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACR,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,0BAA0B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC,CACF,CAAC;IAEF;;;OAGG;IACH,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,KAAoB,EAAQ,EAAE;QACzE,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH;;;;OAIG;IACH,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,KAAiB,EAAQ,EAAE;;QACtE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAwB,CAAC;QAE9C,IAAI,QAAQ,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpC,IAAI,UAAU,EAAE,CAAC;gBACf,SAAS,CAAC,UAAU,CAAC,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,QAAQ,CAAC,mCAAI,IAAI,CAAC;QAClD,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,0BAA0B,CAAC,OAAO,EAAE,UAAU,EAAE;YAClE,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QACH,IAAI,WAAW,EAAE,CAAC;YAChB,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACzD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAEzD,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;YAC5D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAC9D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhE,OAAO;QACL,oFAAoF;QACpF,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACjC,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -18,9 +18,6 @@ type ColumnDefinition<T, DetailsT = Record<string, any>> = Pick<ResizeProps, "re
18
18
  * Assigned to the cell's `th` element instead of `td` if true.
19
19
  *
20
20
  * Should be used for cells that act as row headers. Each row should have one rowheader, and only have one cell with `isRowHeader: true`,
21
- *
22
- * TODO: Not implemented
23
- * - Add a generic tablecell component that can render either a td or th based on context or this prop.
24
21
  */
25
22
  isRowHeader?: boolean;
26
23
  /**
@@ -70,7 +70,7 @@ interface DataTableProps<T> extends React.HTMLAttributes<HTMLTableElement>, Tabl
70
70
  *
71
71
  * 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.
72
72
  */
73
- getRowId?: (rowData: T, index: number) => string | number;
73
+ getRowId?: (rowData: T) => string | number;
74
74
  /**
75
75
  * Sticky columns that remain visible when horizontally scrolling the table.
76
76
  *
@@ -39,14 +39,9 @@ function DataTableInner(_a, forwardedRef) {
39
39
  onSortChange,
40
40
  sort: sortProp,
41
41
  });
42
- /**
43
- * TODO:
44
- * - If user currently does not give a getRowsId function, and data is nested (getSubRows)
45
- * we end up in an infinite loop since the index based ids repeat for children and causes chaos.
46
- */
47
42
  const tableItems = useTableItems({
48
43
  items: data,
49
- getRowId: getRowId !== null && getRowId !== void 0 ? getRowId : ((_, index) => index),
44
+ getRowId,
50
45
  subRows,
51
46
  });
52
47
  const tableSelectionState = useTableSelection({
@@ -72,7 +67,7 @@ function DataTableInner(_a, forwardedRef) {
72
67
  ]);
73
68
  const tableId = useId(id);
74
69
  return (React.createElement(DataTableContextProvider, { layout: layout, withKeyboardNav: withKeyboardNav, selectionState: tableSelectionState, stickySelection: stickySelection, stickyHeader: stickyHeader, tableId: tableId, showLoadingSkeletons: isLoading && loadingState == null, onRowClick: onRowClick, isLoading: isLoading, showLoadingOverlay: isLoading && !loadingState && !loadingRows, columns: columns, fullWidthColSpan: fullWidthColSpan },
75
- React.createElement(TableItemsProvider, { itemDetails: tableItems.itemDetails, items: tableItems.items, onExpandedRowIdsChange: tableItems.onExpandedRowIdsChange, isSubRowExpanded: tableItems.isSubRowExpanded },
70
+ React.createElement(TableItemsProvider, { itemDetails: tableItems.itemDetails, items: tableItems.items, visibleRowIds: tableItems.visibleRowIds, onExpandedRowIdsChange: tableItems.onExpandedRowIdsChange, isSubRowExpanded: tableItems.isSubRowExpanded },
76
71
  React.createElement(DataTableDetailsPanelProvider, { detailsPanel: detailsPanel },
77
72
  React.createElement(TableElementWrapper, { shouldBlockNavigation: shouldBlockNavigation, enabled: withKeyboardNav },
78
73
  React.createElement("table", Object.assign({}, rest, { ref: forwardedRef, className: cl("aksel-data-table", className), "data-zebra-stripes": zebraStripes, "data-truncate-content": truncateContent, "data-density": rowDensity, "data-layout": layout, "data-loading": isLoading || undefined, "aria-busy": isLoading || undefined }),
@@ -115,7 +110,7 @@ function TableElementWrapper({ children, enabled, shouldBlockNavigation, }) {
115
110
  updateStickyStyles();
116
111
  });
117
112
  }, [updateStickyStyles]);
118
- useEffect(() => {
113
+ useEffect(function observeAndUpdateStickyStyles() {
119
114
  const tableWrapperElement = tableWrapperRef.current;
120
115
  if (!tableWrapperElement) {
121
116
  return;
@@ -147,7 +142,7 @@ function TableElementWrapper({ children, enabled, shouldBlockNavigation, }) {
147
142
  ref: mergedTableRefs, "data-scroll": applyStickyStyles ? "true" : undefined }, children))));
148
143
  }
149
144
  function DataTableTBodyContent({ loadingState, loadingRows, loadingLabel, emptyState, }) {
150
- const { items, itemDetails } = useTableItemsContext();
145
+ const { items, itemDetails, visibleRowIds } = useTableItemsContext();
151
146
  const { columns, isLoading, fullWidthColSpan } = useDataTableContext();
152
147
  if (isLoading && loadingState != null) {
153
148
  return (React.createElement(DataTableLoadingState, { colSpan: fullWidthColSpan }, loadingState));
@@ -169,8 +164,9 @@ function DataTableTBodyContent({ loadingState, loadingRows, loadingLabel, emptyS
169
164
  return (React.createElement(React.Fragment, null,
170
165
  renderLoadingAnnouncement && (React.createElement("tr", null,
171
166
  React.createElement("td", { colSpan: fullWidthColSpan, className: "aksel-sr-only" }, loadingLabel))),
172
- items.map((rowData) => {
173
- const details = itemDetails.get(rowData);
167
+ items.map((rowData, rowIndex) => {
168
+ const rowId = visibleRowIds[rowIndex];
169
+ const details = rowId != null ? itemDetails.get(rowId) : undefined;
174
170
  /* Should in theory be impossible. Look about typing this? */
175
171
  if (!details) {
176
172
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableRoot.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableRoot.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataTableRoot.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableRoot.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@navikt/ds-react",
3
- "version": "8.10.4",
3
+ "version": "8.10.5",
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",
@@ -698,16 +698,16 @@
698
698
  "clean": "rimraf cjs esm",
699
699
  "build": "yarn i18n-jsdoc && concurrently \"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json\" \"tsc -p tsconfig.esm.json && tsc-alias -p tsconfig.esm.json && yarn write-packagejson\" && yarn i18n-jsdoc --cleanup && yarn copy-types",
700
700
  "watch": "tsc --watch -p tsconfig.esm.json",
701
- "test": "concurrently \"TZ=UTC vitest run -c tests/vitest.config.ts\" \"yarn test-sb-build\"",
701
+ "test": "concurrently \"cross-env TZ=UTC vitest run -c tests/vitest.config.ts\" \"yarn test-sb-build\"",
702
702
  "test-sb-build": "tsc -p tsconfig.sb.json",
703
703
  "test:watch": "TZ=UTC vitest watch -c tests/vitest.config.ts",
704
704
  "copy-types": "copyfiles -f ./src/types/theme.d.ts ./esm/types"
705
705
  },
706
706
  "dependencies": {
707
- "@floating-ui/react": "0.27.8",
707
+ "@floating-ui/react": "0.27.19",
708
708
  "@floating-ui/react-dom": "^2.1.8",
709
- "@navikt/aksel-icons": "^8.10.4",
710
- "@navikt/ds-tokens": "^8.10.4",
709
+ "@navikt/aksel-icons": "^8.10.5",
710
+ "@navikt/ds-tokens": "^8.10.5",
711
711
  "date-fns": "^4.0.0",
712
712
  "react-day-picker": "9.14.0"
713
713
  },
@@ -723,6 +723,7 @@
723
723
  "aksel": "workspace:^",
724
724
  "concurrently": "9.2.1",
725
725
  "copyfiles": "^2.4.1",
726
+ "cross-env": "^10.1.0",
726
727
  "fast-glob": "3.3.3",
727
728
  "jscodeshift": "17.3.0",
728
729
  "jsdom": "27.1.0",
@@ -733,8 +734,8 @@
733
734
  "swr": "^2.4.1",
734
735
  "tsc-alias": "1.8.16",
735
736
  "tsx": "^4.20.6",
736
- "typescript": "6.0.2",
737
- "vitest": "4.1.4"
737
+ "typescript": "6.0.3",
738
+ "vitest": "4.1.5"
738
739
  },
739
740
  "peerDependencies": {
740
741
  "@types/react": "^17.0.30 || ^18 || ^19",
@@ -49,7 +49,7 @@ export const DragAndDropDragHandler = React.forwardRef<
49
49
  <button
50
50
  className="aksel-data-drag-and-drop__drag-handler__arrow"
51
51
  data-direction="up"
52
- onClick={() => context?.onKeyboardDragEnd(-1)}
52
+ onClick={() => context?.onKeyboardDragEnd(-1, itemLabel)}
53
53
  onMouseDown={(e) => e.preventDefault()}
54
54
  disabled={context?.dragHandlerActive?.index === 0}
55
55
  type="button"
@@ -58,13 +58,7 @@ export const DragAndDropDragHandler = React.forwardRef<
58
58
  </button>
59
59
  )}
60
60
  <button
61
- // TODO - Bedre formulering av aria-label?
62
- //aria-label={`Flytt element ${item.index + 1}. Trykk Enter eller Mellomrom for å aktivere, deretter piltastene for å flytte elementet.`}
63
- aria-label={
64
- active
65
- ? `Flytt element ${itemLabel || item.index + 1}. Bruk piltastene for å flytte elementet.`
66
- : `Flytt element ${itemLabel || item.index + 1}. Trykk Enter eller Mellomrom for å aktivere flytting.`
67
- }
61
+ aria-label={`${itemLabel}. Plass ${item.index + 1}.`}
68
62
  aria-pressed={Boolean(active)}
69
63
  aria-roledescription="draggable"
70
64
  type="button"
@@ -77,18 +71,18 @@ export const DragAndDropDragHandler = React.forwardRef<
77
71
  }}
78
72
  onClick={(event) => {
79
73
  if (!active) {
80
- context?.setDragHandlerActive(item);
74
+ context?.onKeyboardDragStart(item);
81
75
  event.currentTarget.focus();
82
76
  } else {
83
- context?.setDragHandlerActive(null);
77
+ context?.onKeyboardDragStart(null);
84
78
  }
85
79
  }}
86
- onBlur={() => context?.setDragHandlerActive(null)}
80
+ onBlur={() => context?.cancelDrag()}
87
81
  onKeyDown={(event) => {
88
82
  if (event.key === "Enter" || event.key === " ") {
89
83
  // Enter or space, currently active item - end keyboard dragging
90
84
  event.preventDefault();
91
- context?.setDragHandlerActive(active ? null : item);
85
+ context?.onKeyboardDragStart(active ? null : item);
92
86
  return;
93
87
  }
94
88
 
@@ -98,17 +92,18 @@ export const DragAndDropDragHandler = React.forwardRef<
98
92
  // Cancel dragging
99
93
  // TODO Handle reset
100
94
  event.preventDefault();
101
- context?.setDragHandlerActive(null);
95
+ context?.setAnnouncer(`Flytting av ${itemLabel} avbrutt.`);
96
+ context?.cancelDrag(true);
102
97
  return;
103
98
  } else if (event.key === "ArrowUp") {
104
99
  // Move item up
105
100
  event.preventDefault();
106
- context?.onKeyboardDragEnd(-1);
101
+ context?.onKeyboardDragEnd(-1, itemLabel);
107
102
  return;
108
103
  } else if (event.key === "ArrowDown") {
109
104
  // Move item down
110
105
  event.preventDefault();
111
- context?.onKeyboardDragEnd(1);
106
+ context?.onKeyboardDragEnd(1, itemLabel);
112
107
  return;
113
108
  }
114
109
  }}
@@ -120,7 +115,7 @@ export const DragAndDropDragHandler = React.forwardRef<
120
115
  className="aksel-data-drag-and-drop__drag-handler__arrow"
121
116
  data-direction="down"
122
117
  type="button"
123
- onClick={() => context?.onKeyboardDragEnd(1)}
118
+ onClick={() => context?.onKeyboardDragEnd(1, itemLabel)}
124
119
  onMouseDown={(e) => e.preventDefault()}
125
120
  disabled={
126
121
  context?.dragHandlerActive?.index === context?.itemAmount - 1
@@ -7,14 +7,16 @@ interface DragAndDropContextType {
7
7
  dropTarget: DragAndDropElement | null;
8
8
  setDropTarget: (id: DragAndDropElement | null) => void;
9
9
  dragHandlerActive: DragAndDropElement | null;
10
- setDragHandlerActive: (active: DragAndDropElement | null) => void;
11
- onKeyboardDragEnd: (diff: number) => void;
10
+ onKeyboardDragStart: (active: DragAndDropElement | null) => void;
11
+ onKeyboardDragEnd: (diff: number, label: string) => void;
12
12
  startPendingDrag: (
13
13
  event: React.PointerEvent,
14
14
  item: DragAndDropElement,
15
15
  element?: HTMLElement | null,
16
16
  ) => void;
17
17
  itemAmount: number;
18
+ cancelDrag: (resetOrder?: boolean) => void;
19
+ setAnnouncer: (message: string) => void;
18
20
  }
19
21
 
20
22
  export const {
@@ -15,10 +15,18 @@ import DragAndDropItem, { DragAndDropItemProps } from "../item/DragAndDropItem";
15
15
  import { DragAndDropElement } from "../types";
16
16
  import { DragAndDropProvider } from "./DragAndDrop.context";
17
17
 
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;
18
+ interface DragAndDropProps<
19
+ T,
20
+ DetailsT extends Record<string, any>,
21
+ > extends React.HTMLAttributes<HTMLUListElement> {
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;
22
30
  }
23
31
 
24
32
  /**
@@ -28,7 +36,7 @@ interface DragAndDropProps<T> extends React.HTMLAttributes<HTMLUListElement> {
28
36
  * [x] pointer over listener / state, onPointerEnter, onPointerLeave
29
37
  * [x] Overlay - Use floating component
30
38
  * [x] Keyboard navigation
31
- * [ ] UU - announce on drag start, item moved, drag end
39
+ * [x] UU - announce on drag start, item moved, drag end
32
40
  * [x] Make overlay same width as the OG item, currently jumps to content width
33
41
  * [x] Look into adding a cancel listener event
34
42
  * [x] Make onClick work on drag handler button, currently blocked by pointer down/up listeners
@@ -36,23 +44,28 @@ interface DragAndDropProps<T> extends React.HTMLAttributes<HTMLUListElement> {
36
44
  * [x] Make arrow icons into buttons that react to keyboard events, currently just decorative
37
45
  * [x] Keep handler focus after clicking arrows for dragging
38
46
  * [x] Look into data-based API vs component-based API
39
- * [ ] 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?
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?
40
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
41
49
  * [x] Discuss items type
42
- * [ ] Discuss how to implement label best
50
+ * [x] Discuss how to implement label best
43
51
  * [ ] Quick nav (< > samtidig) - få piltastene til å fungere
44
52
  * [x] Implement new type for items - ColumnDefinitions<T>
45
- * [ ] Remove announcer div and use a live region component instead
46
- * [ ] Make ESC reset position, not just cancel dragging
47
- * [ ] Make instructions for keyboard users (visible?)
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?)
48
56
  * [ ] Ask design about visible keyboard instructions
57
+ * [ ] Update design from Figma
58
+ * [ ] Look at instructions text
59
+ * [x] Remove default ul styling
60
+ * [x] Fix setItems type
49
61
  *
50
62
  */
51
63
 
52
64
  const DRAG_THRESHOLD = 4; // Minimum movement in pixels to start dragging
65
+ const SR_INSTRUCTIONS_ID = "drag-and-drop-instructions-id";
53
66
 
54
- function DragAndDropInner<T>(
55
- { items, setItems, renderItem }: DragAndDropProps<T>,
67
+ function DragAndDropInner<T, DetailsT extends Record<string, any>>(
68
+ { items, setItems, renderItem }: DragAndDropProps<T, DetailsT>,
56
69
  forwardedRef: React.ForwardedRef<HTMLUListElement>,
57
70
  ) {
58
71
  const [activeItem, setActiveItem] = useState<DragAndDropElement | null>(null);
@@ -60,7 +73,8 @@ function DragAndDropInner<T>(
60
73
  const [dragHandlerActive, setDragHandlerActive] =
61
74
  useState<DragAndDropElement | null>(null);
62
75
  const [overlayWidth, setOverlayWidth] = useState<number | null>(null);
63
- const [announcement, setAnnouncement] = useState("");
76
+ const [announcer, setAnnouncer] = useState("");
77
+ const initialItemsRef = useRef<ColumnDefinitions<T, DetailsT> | null>(null);
64
78
  const activeData = items.find((item) => item.id === activeItem?.id);
65
79
 
66
80
  const activeItemRef = useRef<DragAndDropElement | null>(null);
@@ -79,6 +93,19 @@ function DragAndDropInner<T>(
79
93
  startY: number;
80
94
  } | null>(null);
81
95
 
96
+ const saveInitialItems = useCallback(() => {
97
+ initialItemsRef.current = items;
98
+ }, [items]);
99
+
100
+ const keyboardDragStart = (item: DragAndDropElement | null) => {
101
+ if (item) {
102
+ saveInitialItems();
103
+ } else {
104
+ initialItemsRef.current = null;
105
+ }
106
+ setDragHandlerActive(item);
107
+ };
108
+
82
109
  const startPendingDrag = (
83
110
  event: React.PointerEvent,
84
111
  item: DragAndDropElement,
@@ -121,6 +148,21 @@ function DragAndDropInner<T>(
121
148
  [setItems],
122
149
  );
123
150
 
151
+ const cancelDrag = useCallback(
152
+ (resetOrder = false) => {
153
+ if (resetOrder && initialItemsRef.current) {
154
+ setItems(initialItemsRef.current);
155
+ }
156
+ setOverlayWidth(null);
157
+ setDragHandlerActive(null);
158
+ setCombinedActiveItem(null);
159
+ setCombinedDropTarget(null);
160
+ pendingDragStartRef.current = null;
161
+ initialItemsRef.current = null;
162
+ },
163
+ [setItems, setCombinedActiveItem, setCombinedDropTarget],
164
+ );
165
+
124
166
  useEffect(() => {
125
167
  /* This useEffect is used to toggle a class on the html element when dragging,
126
168
  to prevent cursor issues when dragging over interactive elements,
@@ -156,6 +198,7 @@ function DragAndDropInner<T>(
156
198
  }
157
199
 
158
200
  setOverlayWidth(element?.getBoundingClientRect().width ?? null);
201
+ saveInitialItems();
159
202
  setCombinedActiveItem(pendingStart.item);
160
203
  setCombinedDropTarget(pendingStart.item);
161
204
  pendingDragStartRef.current = null;
@@ -221,25 +264,12 @@ function DragAndDropInner<T>(
221
264
 
222
265
  if (active && target && active.id !== target.id) {
223
266
  reorderItems(active.index, target.index);
224
- setAnnouncement(
225
- `Element flyttet til posisjon ${target?.index + 1} av ${items.length}`,
226
- ); // TODO - Bedre formulering?
227
267
  }
228
268
 
229
- setOverlayWidth(null);
230
- setDragHandlerActive(null);
231
- setCombinedActiveItem(null);
232
- setCombinedDropTarget(null);
233
- pendingDragStartRef.current = null;
269
+ cancelDrag();
234
270
  };
235
271
 
236
- const handlePointerCancel = () => {
237
- setOverlayWidth(null);
238
- setDragHandlerActive(null);
239
- setCombinedActiveItem(null);
240
- setCombinedDropTarget(null);
241
- pendingDragStartRef.current = null;
242
- };
272
+ const handlePointerCancel = () => cancelDrag(true);
243
273
 
244
274
  window.addEventListener("pointermove", handlePointerMove);
245
275
  window.addEventListener("pointerup", handlePointerUp);
@@ -254,10 +284,11 @@ function DragAndDropInner<T>(
254
284
  setCombinedDropTarget,
255
285
  setCombinedActiveItem,
256
286
  reorderItems,
257
- items.length,
287
+ saveInitialItems,
288
+ cancelDrag,
258
289
  ]);
259
290
 
260
- const onKeyboardDragEnd = (diff: number) => {
291
+ const onKeyboardDragEnd = (diff: number, label: string) => {
261
292
  if (!dragHandlerActive) return;
262
293
 
263
294
  const targetIndex = dragHandlerActive.index + diff;
@@ -265,11 +296,9 @@ function DragAndDropInner<T>(
265
296
  return;
266
297
  }
267
298
 
299
+ setAnnouncer(`${label}. Plass ${targetIndex + 1} av ${items.length}.`);
268
300
  reorderItems(dragHandlerActive.index, targetIndex);
269
301
  setDragHandlerActive({ ...dragHandlerActive, index: targetIndex });
270
- setAnnouncement(
271
- `Element flyttet til posisjon ${targetIndex + 1} av ${items.length}`,
272
- ); // TODO - Bedre formulering?
273
302
  };
274
303
 
275
304
  return (
@@ -279,12 +308,27 @@ function DragAndDropInner<T>(
279
308
  dropTarget={dropTarget}
280
309
  setDropTarget={setCombinedDropTarget}
281
310
  dragHandlerActive={dragHandlerActive}
282
- setDragHandlerActive={setDragHandlerActive}
311
+ onKeyboardDragStart={keyboardDragStart}
283
312
  onKeyboardDragEnd={onKeyboardDragEnd}
284
313
  startPendingDrag={startPendingDrag}
314
+ cancelDrag={cancelDrag}
315
+ setAnnouncer={setAnnouncer}
285
316
  itemAmount={items.length}
286
317
  >
287
- <ul ref={forwardedRef} aria-label="Dra og slipp elementer">
318
+ <span id={SR_INSTRUCTIONS_ID} className="sr-only">
319
+ Bruk Tab for å fokusere på en kolonne. Trykk mellomrom eller enter for å
320
+ starte flytting, bruk piltastene for å flytte kolonnen, trykk mellomrom
321
+ eller enter for å slippe, eller Escape for å avbryte.
322
+ </span>
323
+ <div aria-live="assertive" className="sr-only" aria-atomic>
324
+ {announcer}
325
+ </div>
326
+ <ul
327
+ ref={forwardedRef}
328
+ aria-label="Kolonneinnstillinger"
329
+ aria-describedby={SR_INSTRUCTIONS_ID}
330
+ className="aksel-data-table__drag-and-drop-root"
331
+ >
288
332
  {items.map((item, index) => {
289
333
  return (
290
334
  <DragAndDropItem
@@ -306,6 +350,7 @@ function DragAndDropInner<T>(
306
350
  <Floating.Content
307
351
  align="start"
308
352
  updatePositionStrategy="always"
353
+ aria-hidden
309
354
  style={{
310
355
  pointerEvents: "none",
311
356
  boxSizing: "border-box",
@@ -323,15 +368,15 @@ function DragAndDropInner<T>(
323
368
  </Floating.Content>
324
369
  </Floating>
325
370
  )}
326
- <div aria-live="assertive" className="sr-only" aria-atomic="true">
327
- {announcement}
328
- </div>
329
371
  </DragAndDropProvider>
330
372
  );
331
373
  }
332
374
 
333
- const DragAndDrop = forwardRef(DragAndDropInner) as <T>(
334
- props: DragAndDropProps<T> & React.RefAttributes<HTMLUListElement>,
375
+ const DragAndDrop = forwardRef(DragAndDropInner) as <
376
+ T,
377
+ DetailsT extends Record<string, any>,
378
+ >(
379
+ props: DragAndDropProps<T, DetailsT> & React.RefAttributes<HTMLUListElement>,
335
380
  ) => React.ReactElement | null;
336
381
 
337
382
  export { DragAndDrop, DragAndDropItem };
@@ -2,8 +2,3 @@ export interface DragAndDropElement {
2
2
  id: string;
3
3
  index: number;
4
4
  }
5
-
6
- export interface DragAndDropItemData {
7
- id: string;
8
- label: string;
9
- }
@@ -6,7 +6,7 @@ import {
6
6
  } from "@navikt/aksel-icons";
7
7
  import { Floating } from "../../../utils/components/floating/Floating";
8
8
 
9
- export interface DataDragAndDropDragHandlerProps {
9
+ export interface DragAndDropDragHandlerLegacyProps {
10
10
  /**
11
11
  * Whether the drag handler is disabled
12
12
  */
@@ -24,18 +24,18 @@ export interface DataDragAndDropDragHandlerProps {
24
24
  }
25
25
 
26
26
  /**
27
- * DataDragAndDropDragHandler
27
+ * DragAndDropDragHandlerLegacy
28
28
  *
29
29
  * A button component that serves as a drag handle for drag and drop operations.
30
30
  * Can be used to initiate dragging of elements in a data table or list.
31
31
  */
32
- export const DataDragAndDropDragHandler = React.forwardRef<
32
+ export const DragAndDropDragHandlerLegacy = React.forwardRef<
33
33
  HTMLButtonElement,
34
- DataDragAndDropDragHandlerProps
34
+ DragAndDropDragHandlerLegacyProps
35
35
  >(({ keyboardDragging, handleRef, alt }) => {
36
36
  if (alt) {
37
37
  return (
38
- <div className="aksel-data-drag-and-drop__drag-handler__alt">
38
+ <div className="aksel-data-drag-and-drop__drag-handler__legacy">
39
39
  {keyboardDragging && (
40
40
  <span
41
41
  className="aksel-data-drag-and-drop__drag-handler__arrow"