@reltio/components 1.4.2018 → 1.4.2020

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 (276) hide show
  1. package/BarChart/helpers.d.ts +2 -2
  2. package/BasicTable/IntegrationBasicTable.test.js +6 -18
  3. package/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +2 -5
  4. package/HierarchyNodeTitle/useEntityDetails.js +3 -0
  5. package/HierarchyNodeTitle/useEntityDetails.test.js +28 -0
  6. package/ImageAttributesLineEditor/ImageAttributesLineEditor.test.js +2 -5
  7. package/InlineAttributesPager/components/InlineSimpleAttributesBlock/InlineSimpleAttributesBlock.js +33 -22
  8. package/InlineAttributesPager/components/InlineSimpleAttributesBlock/InlineSimpleAttributesBlock.test.js +120 -112
  9. package/InlineSimpleAttribute/InlineSimpleAttribute.js +1 -1
  10. package/LineChart/helpers.d.ts +2 -2
  11. package/PieChart/PieChart.test.js +4 -0
  12. package/ProfileBandNavigation/useSearchNavigation.js +11 -3
  13. package/ProfileBandNavigation/useSearchNavigation.test.js +176 -0
  14. package/UploadImageDialog/UploadImageDialog.specs.js +1 -4
  15. package/UploadImageDialog/components/TargetBox/TargetBox.js +31 -20
  16. package/UploadImageDialog/components/TargetBox/TargetBox.specs.d.ts +1 -1
  17. package/UploadImageDialog/components/TargetBox/TargetBox.specs.js +57 -16
  18. package/UploadImageDialog/components/TargetBox/styles.js +2 -1
  19. package/VerticalHeadingsTable/DndVerticalHeadingsTable.test.js +114 -0
  20. package/VerticalHeadingsTable/VerticalHeadingsTable.d.ts +2 -1
  21. package/VerticalHeadingsTable/VerticalHeadingsTable.js +10 -13
  22. package/VerticalHeadingsTable/VerticalHeadingsTable.test.js +74 -269
  23. package/VerticalHeadingsTable/components/DndComponent/DndComponent.d.ts +14 -0
  24. package/VerticalHeadingsTable/components/DndComponent/DndComponent.js +96 -0
  25. package/VerticalHeadingsTable/components/DndComponent/helpers.d.ts +3 -0
  26. package/VerticalHeadingsTable/components/DndComponent/helpers.js +35 -0
  27. package/VerticalHeadingsTable/components/DndComponent/index.d.ts +1 -0
  28. package/VerticalHeadingsTable/components/DndComponent/index.js +1 -0
  29. package/VerticalHeadingsTable/components/{TableColumnDragLayer → DndComponent}/styles.d.ts +1 -1
  30. package/VerticalHeadingsTable/components/DndComponent/styles.js +10 -0
  31. package/VerticalHeadingsTable/components/DndComponent/types.d.ts +14 -0
  32. package/VerticalHeadingsTable/components/DndMeasurer/DndMeasurer.d.ts +7 -0
  33. package/VerticalHeadingsTable/components/DndMeasurer/DndMeasurer.js +13 -0
  34. package/VerticalHeadingsTable/components/DndMeasurer/index.d.ts +1 -0
  35. package/VerticalHeadingsTable/components/DndMeasurer/index.js +1 -0
  36. package/VerticalHeadingsTable/components/TableCell/TableCell.d.ts +2 -2
  37. package/VerticalHeadingsTable/components/TableCell/TableCell.js +2 -2
  38. package/VerticalHeadingsTable/components/TableCell/TableCell.test.js +101 -43
  39. package/VerticalHeadingsTable/components/TableCellWithDnd/ColumnDragIndicator.d.ts +10 -0
  40. package/VerticalHeadingsTable/components/TableCellWithDnd/ColumnDragIndicator.js +32 -0
  41. package/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.d.ts +2 -4
  42. package/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.js +30 -59
  43. package/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.test.js +126 -56
  44. package/VerticalHeadingsTable/components/TableColumnDragPreview/TableColumnDragPreview.d.ts +3 -3
  45. package/VerticalHeadingsTable/components/TableColumnDragPreview/TableColumnDragPreview.js +16 -6
  46. package/VerticalHeadingsTable/components/TableHeadCell/RowDragIndicator.d.ts +9 -0
  47. package/VerticalHeadingsTable/components/TableHeadCell/RowDragIndicator.js +30 -0
  48. package/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.d.ts +4 -4
  49. package/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.js +3 -4
  50. package/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.test.js +44 -29
  51. package/VerticalHeadingsTable/components/TableRow/TableRow.d.ts +4 -5
  52. package/VerticalHeadingsTable/components/TableRow/TableRow.js +3 -3
  53. package/VerticalHeadingsTable/components/TableRow/TableRow.test.js +35 -57
  54. package/VerticalHeadingsTable/components/TableRowDragPreview/TableRowDragPreview.d.ts +12 -0
  55. package/VerticalHeadingsTable/components/TableRowDragPreview/TableRowDragPreview.js +16 -0
  56. package/VerticalHeadingsTable/components/TableRowDragPreview/index.d.ts +1 -0
  57. package/VerticalHeadingsTable/components/TableRowDragPreview/index.js +1 -0
  58. package/{cjs/VerticalHeadingsTable/components/TableColumnDragLayer → VerticalHeadingsTable/components/TableRowDragPreview}/styles.d.ts +1 -1
  59. package/VerticalHeadingsTable/components/TableRowDragPreview/styles.js +8 -0
  60. package/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.d.ts +2 -8
  61. package/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.js +22 -53
  62. package/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.test.js +53 -83
  63. package/cjs/BarChart/helpers.d.ts +2 -2
  64. package/cjs/BasicTable/IntegrationBasicTable.test.js +6 -18
  65. package/cjs/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +2 -5
  66. package/cjs/HierarchyNodeTitle/useEntityDetails.js +3 -0
  67. package/cjs/HierarchyNodeTitle/useEntityDetails.test.js +28 -0
  68. package/cjs/ImageAttributesLineEditor/ImageAttributesLineEditor.test.js +2 -5
  69. package/cjs/InlineAttributesPager/components/InlineSimpleAttributesBlock/InlineSimpleAttributesBlock.js +55 -21
  70. package/cjs/InlineAttributesPager/components/InlineSimpleAttributesBlock/InlineSimpleAttributesBlock.test.js +120 -135
  71. package/cjs/InlineSimpleAttribute/InlineSimpleAttribute.js +1 -1
  72. package/cjs/LineChart/helpers.d.ts +2 -2
  73. package/cjs/PieChart/PieChart.test.js +4 -0
  74. package/cjs/ProfileBandNavigation/useSearchNavigation.js +11 -3
  75. package/cjs/ProfileBandNavigation/useSearchNavigation.test.js +176 -0
  76. package/cjs/UploadImageDialog/UploadImageDialog.specs.js +1 -4
  77. package/cjs/UploadImageDialog/components/TargetBox/TargetBox.js +54 -20
  78. package/cjs/UploadImageDialog/components/TargetBox/TargetBox.specs.d.ts +1 -1
  79. package/cjs/UploadImageDialog/components/TargetBox/TargetBox.specs.js +57 -16
  80. package/cjs/UploadImageDialog/components/TargetBox/styles.js +2 -1
  81. package/cjs/VerticalHeadingsTable/DndVerticalHeadingsTable.test.d.ts +1 -0
  82. package/cjs/VerticalHeadingsTable/DndVerticalHeadingsTable.test.js +119 -0
  83. package/cjs/VerticalHeadingsTable/VerticalHeadingsTable.d.ts +2 -1
  84. package/cjs/VerticalHeadingsTable/VerticalHeadingsTable.js +9 -12
  85. package/cjs/VerticalHeadingsTable/VerticalHeadingsTable.test.js +74 -269
  86. package/cjs/VerticalHeadingsTable/components/DndComponent/DndComponent.d.ts +14 -0
  87. package/cjs/VerticalHeadingsTable/components/DndComponent/DndComponent.js +123 -0
  88. package/cjs/VerticalHeadingsTable/components/DndComponent/helpers.d.ts +3 -0
  89. package/cjs/VerticalHeadingsTable/components/DndComponent/helpers.js +40 -0
  90. package/cjs/VerticalHeadingsTable/components/DndComponent/index.d.ts +1 -0
  91. package/cjs/VerticalHeadingsTable/components/DndComponent/index.js +5 -0
  92. package/{features/crosswalks/CrosswalkDragLayer → cjs/VerticalHeadingsTable/components/DndComponent}/styles.d.ts +1 -1
  93. package/cjs/VerticalHeadingsTable/components/DndComponent/styles.js +13 -0
  94. package/cjs/VerticalHeadingsTable/components/DndComponent/types.d.ts +14 -0
  95. package/cjs/VerticalHeadingsTable/components/DndComponent/types.js +2 -0
  96. package/cjs/VerticalHeadingsTable/components/DndMeasurer/DndMeasurer.d.ts +7 -0
  97. package/cjs/VerticalHeadingsTable/components/DndMeasurer/DndMeasurer.js +40 -0
  98. package/cjs/VerticalHeadingsTable/components/DndMeasurer/index.d.ts +1 -0
  99. package/cjs/VerticalHeadingsTable/components/DndMeasurer/index.js +5 -0
  100. package/cjs/VerticalHeadingsTable/components/TableCell/TableCell.d.ts +2 -2
  101. package/cjs/VerticalHeadingsTable/components/TableCell/TableCell.js +2 -2
  102. package/cjs/VerticalHeadingsTable/components/TableCell/TableCell.test.js +101 -43
  103. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/ColumnDragIndicator.d.ts +10 -0
  104. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/ColumnDragIndicator.js +39 -0
  105. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.d.ts +2 -4
  106. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.js +29 -58
  107. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.test.js +128 -58
  108. package/cjs/VerticalHeadingsTable/components/TableColumnDragPreview/TableColumnDragPreview.d.ts +3 -3
  109. package/cjs/VerticalHeadingsTable/components/TableColumnDragPreview/TableColumnDragPreview.js +38 -9
  110. package/cjs/VerticalHeadingsTable/components/TableHeadCell/RowDragIndicator.d.ts +9 -0
  111. package/cjs/VerticalHeadingsTable/components/TableHeadCell/RowDragIndicator.js +37 -0
  112. package/cjs/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.d.ts +4 -4
  113. package/cjs/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.js +3 -4
  114. package/cjs/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.test.js +43 -51
  115. package/cjs/VerticalHeadingsTable/components/TableRow/TableRow.d.ts +4 -5
  116. package/cjs/VerticalHeadingsTable/components/TableRow/TableRow.js +3 -3
  117. package/cjs/VerticalHeadingsTable/components/TableRow/TableRow.test.js +35 -57
  118. package/cjs/VerticalHeadingsTable/components/TableRowDragPreview/TableRowDragPreview.d.ts +12 -0
  119. package/cjs/VerticalHeadingsTable/components/TableRowDragPreview/TableRowDragPreview.js +42 -0
  120. package/cjs/VerticalHeadingsTable/components/TableRowDragPreview/index.d.ts +1 -0
  121. package/cjs/VerticalHeadingsTable/components/TableRowDragPreview/index.js +5 -0
  122. package/cjs/{features/crosswalks/CrosswalkDragLayer → VerticalHeadingsTable/components/TableRowDragPreview}/styles.d.ts +1 -1
  123. package/cjs/VerticalHeadingsTable/components/TableRowDragPreview/styles.js +11 -0
  124. package/cjs/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.d.ts +2 -8
  125. package/cjs/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.js +21 -52
  126. package/cjs/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.test.js +55 -85
  127. package/cjs/contexts/CrosswalksDisplayContext/index.d.ts +2 -2
  128. package/cjs/contexts/CrosswalksDisplayContext/index.js +6 -2
  129. package/cjs/features/crosswalks/AttributesTable/AttributesTable.d.ts +3 -1
  130. package/cjs/features/crosswalks/AttributesTable/AttributesTable.js +2 -2
  131. package/cjs/features/crosswalks/AttributesTable/AttributesTable.test.js +17 -10
  132. package/cjs/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.d.ts +3 -2
  133. package/cjs/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.js +13 -2
  134. package/cjs/features/crosswalks/CrosswalkDndComponent/CrosswalkDndComponent.d.ts +8 -0
  135. package/cjs/features/crosswalks/CrosswalkDndComponent/CrosswalkDndComponent.js +51 -0
  136. package/cjs/features/crosswalks/CrosswalkDndComponent/index.d.ts +1 -0
  137. package/cjs/features/crosswalks/CrosswalkDndComponent/index.js +5 -0
  138. package/cjs/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/CrosswalkDragPreview.js +16 -5
  139. package/cjs/features/crosswalks/CrosswalkDragPreview/CrosswalkDragPreview.test.d.ts +1 -0
  140. package/cjs/features/crosswalks/CrosswalkDragPreview/CrosswalkDragPreview.test.js +97 -0
  141. package/{features/crosswalks/CrosswalkDragLayer/components → cjs/features/crosswalks}/CrosswalkDragPreview/styles.d.ts +1 -1
  142. package/cjs/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/styles.js +6 -1
  143. package/cjs/features/crosswalks/CrosswalkRow/CrosswalkRow.js +25 -16
  144. package/cjs/features/crosswalks/CrosswalkRow/CrosswalkRow.test.js +7 -33
  145. package/cjs/features/crosswalks/CrosswalkRow/DndCrosswalkRow.test.d.ts +1 -0
  146. package/cjs/features/crosswalks/CrosswalkRow/DndCrosswalkRow.test.js +134 -0
  147. package/cjs/features/crosswalks/CrosswalkRow/styles.d.ts +1 -1
  148. package/cjs/features/crosswalks/CrosswalkRow/styles.js +10 -1
  149. package/cjs/features/crosswalks/SourceCrosswalksRow/SourceCrosswalksRow.test.js +0 -1
  150. package/cjs/features/crosswalks/hooks/useDraggingCrosswalk.d.ts +6 -0
  151. package/cjs/features/crosswalks/hooks/useDraggingCrosswalk.js +19 -0
  152. package/cjs/features/crosswalks/hooks/useModifiedEntity.js +6 -6
  153. package/cjs/features/crosswalks/index.d.ts +1 -1
  154. package/cjs/features/crosswalks/index.js +3 -3
  155. package/cjs/hooks/useDndBasicTableScrollModifier/index.d.ts +1 -0
  156. package/cjs/hooks/useDndBasicTableScrollModifier/index.js +5 -0
  157. package/cjs/hooks/useDndBasicTableScrollModifier/useDndBasicTableScrollModifier.d.ts +10 -0
  158. package/cjs/hooks/useDndBasicTableScrollModifier/useDndBasicTableScrollModifier.js +57 -0
  159. package/cjs/index.d.ts +2 -1
  160. package/cjs/index.js +3 -1
  161. package/cjs/test-utils/dndKit/DndContext.d.ts +12 -0
  162. package/cjs/test-utils/dndKit/DndContext.js +5 -0
  163. package/cjs/test-utils/dndKit/DndContextComponent.d.ts +5 -0
  164. package/cjs/test-utils/dndKit/DndContextComponent.js +97 -0
  165. package/cjs/test-utils/dndKit/DndMonitorContext.d.ts +2 -0
  166. package/cjs/test-utils/dndKit/DndMonitorContext.js +5 -0
  167. package/cjs/test-utils/dndKit/DragOverlay.d.ts +5 -0
  168. package/cjs/test-utils/dndKit/DragOverlay.js +14 -0
  169. package/cjs/test-utils/dndKit/index.d.ts +32 -0
  170. package/cjs/test-utils/dndKit/index.js +22 -0
  171. package/cjs/test-utils/dndKit/type.d.ts +17 -0
  172. package/cjs/test-utils/dndKit/type.js +2 -0
  173. package/cjs/test-utils/dndKit/useDndContext.d.ts +8 -0
  174. package/cjs/test-utils/dndKit/useDndContext.js +13 -0
  175. package/cjs/test-utils/dndKit/useDndMonitor.d.ts +2 -0
  176. package/cjs/test-utils/dndKit/useDndMonitor.js +13 -0
  177. package/cjs/test-utils/dndKit/useDndMonitorProvider.d.ts +1 -0
  178. package/cjs/test-utils/dndKit/useDndMonitorProvider.js +17 -0
  179. package/cjs/test-utils/dndKit/useDraggable.d.ts +12 -0
  180. package/cjs/test-utils/dndKit/useDraggable.js +43 -0
  181. package/cjs/test-utils/dndKit/useDroppable.d.ts +4 -0
  182. package/cjs/test-utils/dndKit/useDroppable.js +45 -0
  183. package/cjs/types/basicTable.d.ts +4 -0
  184. package/contexts/CrosswalksDisplayContext/index.d.ts +2 -2
  185. package/contexts/CrosswalksDisplayContext/index.js +6 -2
  186. package/features/crosswalks/AttributesTable/AttributesTable.d.ts +3 -1
  187. package/features/crosswalks/AttributesTable/AttributesTable.js +2 -2
  188. package/features/crosswalks/AttributesTable/AttributesTable.test.js +17 -10
  189. package/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.d.ts +3 -2
  190. package/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.js +13 -2
  191. package/features/crosswalks/CrosswalkDndComponent/CrosswalkDndComponent.d.ts +8 -0
  192. package/features/crosswalks/CrosswalkDndComponent/CrosswalkDndComponent.js +24 -0
  193. package/features/crosswalks/CrosswalkDndComponent/index.d.ts +1 -0
  194. package/features/crosswalks/CrosswalkDndComponent/index.js +1 -0
  195. package/features/crosswalks/CrosswalkDragPreview/CrosswalkDragPreview.js +30 -0
  196. package/features/crosswalks/CrosswalkDragPreview/CrosswalkDragPreview.test.d.ts +1 -0
  197. package/features/crosswalks/CrosswalkDragPreview/CrosswalkDragPreview.test.js +69 -0
  198. package/{cjs/features/crosswalks/CrosswalkDragLayer/components → features/crosswalks}/CrosswalkDragPreview/styles.d.ts +1 -1
  199. package/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/styles.js +6 -1
  200. package/features/crosswalks/CrosswalkRow/CrosswalkRow.js +25 -16
  201. package/features/crosswalks/CrosswalkRow/CrosswalkRow.test.js +7 -33
  202. package/features/crosswalks/CrosswalkRow/DndCrosswalkRow.test.d.ts +1 -0
  203. package/features/crosswalks/CrosswalkRow/DndCrosswalkRow.test.js +129 -0
  204. package/features/crosswalks/CrosswalkRow/styles.d.ts +1 -1
  205. package/features/crosswalks/CrosswalkRow/styles.js +10 -1
  206. package/features/crosswalks/SourceCrosswalksRow/SourceCrosswalksRow.test.js +0 -1
  207. package/features/crosswalks/hooks/useDraggingCrosswalk.d.ts +6 -0
  208. package/features/crosswalks/hooks/useDraggingCrosswalk.js +15 -0
  209. package/features/crosswalks/hooks/useModifiedEntity.js +6 -6
  210. package/features/crosswalks/index.d.ts +1 -1
  211. package/features/crosswalks/index.js +1 -1
  212. package/hooks/useDndBasicTableScrollModifier/index.d.ts +1 -0
  213. package/hooks/useDndBasicTableScrollModifier/index.js +1 -0
  214. package/hooks/useDndBasicTableScrollModifier/useDndBasicTableScrollModifier.d.ts +10 -0
  215. package/hooks/useDndBasicTableScrollModifier/useDndBasicTableScrollModifier.js +53 -0
  216. package/index.d.ts +2 -1
  217. package/index.js +1 -0
  218. package/package.json +3 -3
  219. package/test-utils/dndKit/DndContext.d.ts +12 -0
  220. package/test-utils/dndKit/DndContext.js +2 -0
  221. package/test-utils/dndKit/DndContextComponent.d.ts +5 -0
  222. package/test-utils/dndKit/DndContextComponent.js +70 -0
  223. package/test-utils/dndKit/DndMonitorContext.d.ts +2 -0
  224. package/test-utils/dndKit/DndMonitorContext.js +2 -0
  225. package/test-utils/dndKit/DragOverlay.d.ts +5 -0
  226. package/test-utils/dndKit/DragOverlay.js +7 -0
  227. package/test-utils/dndKit/index.d.ts +32 -0
  228. package/test-utils/dndKit/index.js +19 -0
  229. package/test-utils/dndKit/type.d.ts +17 -0
  230. package/test-utils/dndKit/type.js +1 -0
  231. package/test-utils/dndKit/useDndContext.d.ts +8 -0
  232. package/test-utils/dndKit/useDndContext.js +9 -0
  233. package/test-utils/dndKit/useDndMonitor.d.ts +2 -0
  234. package/test-utils/dndKit/useDndMonitor.js +9 -0
  235. package/test-utils/dndKit/useDndMonitorProvider.d.ts +1 -0
  236. package/test-utils/dndKit/useDndMonitorProvider.js +13 -0
  237. package/test-utils/dndKit/useDraggable.d.ts +12 -0
  238. package/test-utils/dndKit/useDraggable.js +39 -0
  239. package/test-utils/dndKit/useDroppable.d.ts +4 -0
  240. package/test-utils/dndKit/useDroppable.js +41 -0
  241. package/types/basicTable.d.ts +4 -0
  242. package/VerticalHeadingsTable/components/TableColumnDragLayer/TableColumnDragLayer.d.ts +0 -6
  243. package/VerticalHeadingsTable/components/TableColumnDragLayer/TableColumnDragLayer.js +0 -23
  244. package/VerticalHeadingsTable/components/TableColumnDragLayer/helpers.d.ts +0 -6
  245. package/VerticalHeadingsTable/components/TableColumnDragLayer/helpers.js +0 -11
  246. package/VerticalHeadingsTable/components/TableColumnDragLayer/index.d.ts +0 -1
  247. package/VerticalHeadingsTable/components/TableColumnDragLayer/index.js +0 -1
  248. package/VerticalHeadingsTable/components/TableColumnDragLayer/styles.js +0 -13
  249. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/TableColumnDragLayer.d.ts +0 -6
  250. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/TableColumnDragLayer.js +0 -50
  251. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/helpers.d.ts +0 -6
  252. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/helpers.js +0 -15
  253. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/index.d.ts +0 -1
  254. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/index.js +0 -5
  255. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/styles.js +0 -16
  256. package/cjs/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.d.ts +0 -2
  257. package/cjs/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.js +0 -51
  258. package/cjs/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.test.js +0 -93
  259. package/cjs/features/crosswalks/CrosswalkDragLayer/index.d.ts +0 -1
  260. package/cjs/features/crosswalks/CrosswalkDragLayer/index.js +0 -5
  261. package/cjs/features/crosswalks/CrosswalkDragLayer/styles.js +0 -17
  262. package/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.d.ts +0 -2
  263. package/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.js +0 -25
  264. package/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.test.js +0 -65
  265. package/features/crosswalks/CrosswalkDragLayer/components/CrosswalkDragPreview/CrosswalkDragPreview.js +0 -19
  266. package/features/crosswalks/CrosswalkDragLayer/index.d.ts +0 -1
  267. package/features/crosswalks/CrosswalkDragLayer/index.js +0 -1
  268. package/features/crosswalks/CrosswalkDragLayer/styles.js +0 -14
  269. /package/{cjs/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.test.d.ts → VerticalHeadingsTable/DndVerticalHeadingsTable.test.d.ts} +0 -0
  270. /package/{features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.test.d.ts → VerticalHeadingsTable/components/DndComponent/types.js} +0 -0
  271. /package/cjs/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/CrosswalkDragPreview.d.ts +0 -0
  272. /package/cjs/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/index.d.ts +0 -0
  273. /package/cjs/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/index.js +0 -0
  274. /package/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/CrosswalkDragPreview.d.ts +0 -0
  275. /package/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/index.d.ts +0 -0
  276. /package/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/index.js +0 -0
@@ -1,58 +1,116 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
23
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
1
48
  import React from 'react';
2
- import { shallow } from 'enzyme';
3
- import { act } from 'react-dom/test-utils';
4
49
  import { TableCell } from './TableCell';
5
- import { DefaultCellRenderer } from '../../helpers';
50
+ import { fireEvent, render, screen } from '@testing-library/react';
6
51
  var columnValue = {
7
- 'attributes.FirstName': { value: 'Some value' },
52
+ 'attributes.FirstName': 'Some value',
8
53
  id: 'entities/123'
9
54
  };
10
- var setHoveredColumn = jest.fn();
11
- var resetHoveredColumn = jest.fn();
55
+ var rowData = {
56
+ id: 'attributes.FirstName',
57
+ label: 'FirstName'
58
+ };
59
+ var defaultProps = {
60
+ columnValue: columnValue,
61
+ rowData: rowData,
62
+ setHoveredColumn: jest.fn(),
63
+ resetHoveredColumn: jest.fn()
64
+ };
65
+ var setUp = function (props) {
66
+ if (props === void 0) { props = defaultProps; }
67
+ var Wrapper = function (_a) {
68
+ var children = _a.children;
69
+ return (React.createElement("table", null,
70
+ React.createElement("tbody", null,
71
+ React.createElement("tr", null, children))));
72
+ };
73
+ return render(React.createElement(TableCell, __assign({}, props)), { wrapper: Wrapper });
74
+ };
12
75
  describe('TableCell tests', function () {
13
76
  it('should render cellRenderer from rowData correctly', function () {
14
- var CellRenderer = function () { return null; };
15
- var rowData = {
16
- id: 'attributes.FirstName',
17
- label: 'FirstName',
18
- cellRenderer: CellRenderer
77
+ var CellRenderer = function (_a) {
78
+ var value = _a.value;
79
+ return React.createElement("div", { className: "cellRenderer" }, value);
19
80
  };
20
- var component = shallow(React.createElement(TableCell, { rowData: rowData, columnValue: columnValue, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
21
- expect(component.find(CellRenderer).prop('value')).toEqual(columnValue[rowData.id]);
81
+ setUp(__assign(__assign({}, defaultProps), { rowData: __assign(__assign({}, rowData), { cellRenderer: CellRenderer }) }));
82
+ expect(screen.getByText(columnValue['attributes.FirstName'])).toHaveClass('cellRenderer');
22
83
  });
23
84
  it('should render DefaultHeadCellRenderer if headCellRenderer is missing in rowData', function () {
24
- var rowData = {
25
- id: 'attributes.FirstName',
26
- label: 'FirstName'
27
- };
28
- var component = shallow(React.createElement(TableCell, { rowData: rowData, columnValue: columnValue, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
29
- expect(component.find(DefaultCellRenderer).prop('value')).toEqual(columnValue[rowData.id]);
85
+ setUp();
86
+ expect(screen.getByText(columnValue['attributes.FirstName'])).toBeInTheDocument();
30
87
  });
31
- it('setHoveredColumn handler should work correctly', function () {
32
- var rowData = {
33
- id: 'attributes.FirstName',
34
- label: 'FirstName'
35
- };
36
- var component = shallow(React.createElement(TableCell, { rowData: rowData, columnValue: columnValue, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
37
- act(function () {
38
- component.find('td').prop('onMouseOver')(null);
88
+ it('setHoveredColumn handler should work correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
89
+ var setHoveredColumn;
90
+ return __generator(this, function (_a) {
91
+ setHoveredColumn = jest.fn();
92
+ setUp(__assign(__assign({}, defaultProps), { setHoveredColumn: setHoveredColumn }));
93
+ fireEvent.mouseOver(screen.getByRole('cell', { name: columnValue['attributes.FirstName'] }));
94
+ expect(setHoveredColumn).toHaveBeenCalledWith(columnValue);
95
+ return [2 /*return*/];
39
96
  });
40
- expect(setHoveredColumn).toHaveBeenCalledWith(columnValue);
41
- });
42
- it('should pass ".hidden" classname to div wrapper correctly if "someRowIsDragging" prop is true', function () {
43
- var rowData = {
44
- id: 'attributes.FirstName',
45
- label: 'FirstName'
46
- };
47
- var component = shallow(React.createElement(TableCell, { rowData: rowData, columnValue: columnValue, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn, someRowIsDragging: true }));
48
- expect(component.find('.hidden')).toHaveLength(1);
97
+ }); });
98
+ it('resetHoveredColumn handler should work correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
99
+ var resetHoveredColumn;
100
+ return __generator(this, function (_a) {
101
+ resetHoveredColumn = jest.fn();
102
+ setUp(__assign(__assign({}, defaultProps), { resetHoveredColumn: resetHoveredColumn }));
103
+ fireEvent.mouseLeave(screen.getByRole('cell', { name: columnValue['attributes.FirstName'] }));
104
+ expect(resetHoveredColumn).toHaveBeenCalled();
105
+ return [2 /*return*/];
106
+ });
107
+ }); });
108
+ it('should pass ".hidden" classname to div wrapper correctly if "rowIsDragging" prop is true', function () {
109
+ setUp(__assign(__assign({}, defaultProps), { rowIsDragging: true }));
110
+ expect(screen.getByText(columnValue['attributes.FirstName'])).toHaveClass('hidden');
49
111
  });
50
- it('should not pass ".hidden" classname to div wrapper if "someRowIsDragging" prop is false', function () {
51
- var rowData = {
52
- id: 'attributes.FirstName',
53
- label: 'FirstName'
54
- };
55
- var component = shallow(React.createElement(TableCell, { rowData: rowData, columnValue: columnValue, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn, someRowIsDragging: false }));
56
- expect(component.find('.hidden')).toHaveLength(0);
112
+ it('should not pass ".hidden" classname to div wrapper if "rowIsDragging" prop is false', function () {
113
+ setUp();
114
+ expect(screen.getByText(columnValue['attributes.FirstName'])).not.toHaveClass('hidden');
57
115
  });
58
116
  });
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { ColumnData, RowData } from '../../types';
3
+ type Props = {
4
+ columnValue: ColumnData;
5
+ rowData: RowData;
6
+ index: number;
7
+ getColumnWidth: () => number;
8
+ };
9
+ export declare const ColumnDragIndicator: ({ columnValue, rowData, index, getColumnWidth }: Props) => React.JSX.Element;
10
+ export {};
@@ -0,0 +1,32 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import React from 'react';
13
+ import DragIndicatorIcon from '@mui/icons-material/DragIndicator';
14
+ import { useDraggable } from '@dnd-kit/core';
15
+ import { DndItemTypes } from '../../types';
16
+ import { useStyles } from './styles';
17
+ export var ColumnDragIndicator = function (_a) {
18
+ var columnValue = _a.columnValue, rowData = _a.rowData, index = _a.index, getColumnWidth = _a.getColumnWidth;
19
+ var styles = useStyles();
20
+ var _b = useDraggable({
21
+ id: columnValue.id,
22
+ data: {
23
+ type: DndItemTypes.Column,
24
+ getColumnWidth: getColumnWidth,
25
+ columnValue: columnValue,
26
+ rowData: rowData,
27
+ index: index
28
+ }
29
+ }), setDraggableNodeRef = _b.setNodeRef, attributes = _b.attributes, listeners = _b.listeners;
30
+ return (React.createElement("div", __assign({ ref: setDraggableNodeRef, className: styles.dragIndicator }, attributes, listeners),
31
+ React.createElement(DragIndicatorIcon, { className: styles.dragIndicatorIcon })));
32
+ };
@@ -4,12 +4,10 @@ type Props = {
4
4
  columnValue: ColumnData;
5
5
  rowData: RowData;
6
6
  index: number;
7
- onMoveColumn: (dragId: string, hoverId: string) => void;
8
- onDropColumn?: () => void;
9
7
  shouldRenderDragIndicator: boolean;
10
8
  setHoveredColumn: (columnValue: ColumnData) => void;
11
9
  resetHoveredColumn: () => void;
12
- someRowIsDragging?: boolean;
10
+ rowIsDragging?: boolean;
13
11
  };
14
- export declare const TableCellWithDnd: ({ columnValue, rowData, index, onMoveColumn, onDropColumn, shouldRenderDragIndicator, setHoveredColumn, resetHoveredColumn, someRowIsDragging }: Props) => React.JSX.Element;
12
+ export declare const TableCellWithDnd: ({ columnValue, rowData, index, shouldRenderDragIndicator, setHoveredColumn, resetHoveredColumn, rowIsDragging }: Props) => React.JSX.Element;
15
13
  export {};
@@ -1,71 +1,42 @@
1
- import React, { useEffect } from 'react';
1
+ import React, { useCallback, useMemo, useRef, useState } from 'react';
2
2
  import classnames from 'classnames';
3
- import DragIndicatorIcon from '@mui/icons-material/DragIndicator';
4
- import { useDrag, useDrop } from 'react-dnd';
5
- import { getEmptyImage } from 'react-dnd-html5-backend';
6
3
  import { DndItemTypes } from '../../types';
7
4
  import { DefaultCellRenderer } from '../../helpers';
8
5
  import { useStyles } from './styles';
6
+ import { useDndMonitor, useDroppable } from '@dnd-kit/core';
7
+ import { ColumnDragIndicator } from './ColumnDragIndicator';
9
8
  export var TableCellWithDnd = function (_a) {
10
9
  var _b;
11
- var columnValue = _a.columnValue, rowData = _a.rowData, index = _a.index, onMoveColumn = _a.onMoveColumn, onDropColumn = _a.onDropColumn, shouldRenderDragIndicator = _a.shouldRenderDragIndicator, setHoveredColumn = _a.setHoveredColumn, resetHoveredColumn = _a.resetHoveredColumn, someRowIsDragging = _a.someRowIsDragging;
10
+ var columnValue = _a.columnValue, rowData = _a.rowData, index = _a.index, shouldRenderDragIndicator = _a.shouldRenderDragIndicator, setHoveredColumn = _a.setHoveredColumn, resetHoveredColumn = _a.resetHoveredColumn, rowIsDragging = _a.rowIsDragging;
12
11
  var styles = useStyles();
13
- var dropRef = React.useRef(null);
14
- var dragRef = React.useRef(null);
15
- var getColumnWidth = function () { var _a; return (_a = dropRef === null || dropRef === void 0 ? void 0 : dropRef.current) === null || _a === void 0 ? void 0 : _a.offsetWidth; };
16
- var CellRenderer = rowData.cellRenderer || DefaultCellRenderer;
17
- var _c = useDrop({
18
- accept: DndItemTypes.Column,
19
- hover: function (item, monitor) {
20
- var _a;
21
- if (!dropRef.current) {
22
- return;
23
- }
24
- var dragIndex = item.index;
25
- var hoverIndex = index;
26
- if (dragIndex === hoverIndex) {
27
- return;
28
- }
29
- var hoverBoundingRect = (_a = dropRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
30
- var hoverMiddleX = (hoverBoundingRect.right - hoverBoundingRect.left) / 2;
31
- var clientOffset = monitor.getClientOffset();
32
- var hoverClientX = clientOffset.x - hoverBoundingRect.left;
33
- if (dragIndex < hoverIndex && hoverClientX < hoverMiddleX) {
34
- return;
35
- }
36
- if (dragIndex > hoverIndex && hoverClientX > hoverMiddleX) {
37
- return;
12
+ var _c = useState(false), enableDropForColumn = _c[0], setEnableDropForColumn = _c[1];
13
+ var _d = useState(false), isColumnDragging = _d[0], setIsColumnDragging = _d[1];
14
+ useDndMonitor({
15
+ onDragStart: function (event) {
16
+ if (event.active.data.current.type === DndItemTypes.Column) {
17
+ setEnableDropForColumn(true);
18
+ setIsColumnDragging(event.active.id === columnValue.id);
38
19
  }
39
- onMoveColumn(item.columnValue.id, columnValue.id);
40
- item.index = hoverIndex;
41
20
  },
42
- drop: function () {
43
- if (onDropColumn)
44
- onDropColumn();
45
- },
46
- collect: function (monitor) { return ({
47
- targetId: monitor.getHandlerId()
48
- }); }
49
- }), targetId = _c[0].targetId, drop = _c[1];
50
- var _d = useDrag({
51
- item: { type: DndItemTypes.Column, index: index, getColumnWidth: getColumnWidth, columnValue: columnValue, rowData: rowData },
52
- isDragging: function (monitor) {
53
- return monitor.getItem().index === index;
54
- },
55
- collect: function (monitor) { return ({
56
- opacity: monitor.isDragging() ? 0 : 1,
57
- sourceId: monitor.getHandlerId()
58
- }); }
59
- }), _e = _d[0], opacity = _e.opacity, sourceId = _e.sourceId, drag = _d[1], preview = _d[2];
60
- useEffect(function () {
61
- preview(getEmptyImage(), { captureDraggingState: true });
62
- drop(dropRef);
63
- drag(dragRef);
64
- }, []);
21
+ onDragEnd: function () {
22
+ setEnableDropForColumn(false);
23
+ setIsColumnDragging(false);
24
+ }
25
+ });
26
+ var setDroppableNodeRef = useDroppable({
27
+ id: columnValue.id
28
+ }).setNodeRef;
29
+ var columnRef = useRef(null);
30
+ var setColumnRef = useCallback(function (elem) {
31
+ setDroppableNodeRef(elem);
32
+ columnRef.current = elem;
33
+ }, [setDroppableNodeRef]);
34
+ var getColumnWidth = function () { var _a; return (_a = columnRef === null || columnRef === void 0 ? void 0 : columnRef.current) === null || _a === void 0 ? void 0 : _a.offsetWidth; };
35
+ var CellRenderer = rowData.cellRenderer || DefaultCellRenderer;
65
36
  var onMouseOver = setHoveredColumn ? function () { return setHoveredColumn(columnValue); } : undefined;
66
- return (React.createElement("td", { style: { opacity: opacity }, ref: dropRef, className: styles.tableData, "data-source-id": sourceId, "data-target-id": targetId, onMouseOver: onMouseOver, onMouseLeave: resetHoveredColumn },
67
- React.createElement("div", { className: classnames((_b = {}, _b[styles.hidden] = someRowIsDragging, _b)) },
68
- shouldRenderDragIndicator && (React.createElement("div", { ref: dragRef, className: styles.dragIndicator },
69
- React.createElement(DragIndicatorIcon, { className: styles.dragIndicatorIcon }))),
37
+ var draggingColumnStyle = useMemo(function () { return ({ opacity: isColumnDragging ? 0 : 1 }); }, [isColumnDragging]);
38
+ return (React.createElement("td", { style: draggingColumnStyle, ref: enableDropForColumn ? setColumnRef : undefined, className: styles.tableData, onMouseOver: onMouseOver, onMouseLeave: resetHoveredColumn },
39
+ React.createElement("div", { className: classnames((_b = {}, _b[styles.hidden] = rowIsDragging, _b)) },
40
+ shouldRenderDragIndicator && (React.createElement(ColumnDragIndicator, { columnValue: columnValue, rowData: rowData, index: index, getColumnWidth: getColumnWidth })),
70
41
  React.createElement(CellRenderer, { value: columnValue[rowData.id] }))));
71
42
  };
@@ -1,11 +1,62 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
23
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
1
48
  import React from 'react';
2
- import { mount } from 'enzyme';
3
- import { act } from 'react-dom/test-utils';
4
- import TestBackend from 'react-dnd-test-backend';
5
- import { DndProvider, DndContext } from 'react-dnd';
6
49
  import { TableCellWithDnd } from './TableCellWithDnd';
7
- import { DefaultCellRenderer } from '../../helpers';
8
- var CellRenderer = function () { return React.createElement("div", { className: "cellRenderer" }); };
50
+ import { DndContext, useDndMonitor } from '@dnd-kit/core';
51
+ import { act, render, screen } from '@testing-library/react';
52
+ import userEvent from '@testing-library/user-event';
53
+ import { getMuiIconByName } from '../../../test-utils';
54
+ import { DndItemTypes } from '../../types';
55
+ jest.mock('@dnd-kit/core', function () { return (__assign(__assign({}, jest.requireActual('@dnd-kit/core')), { useDndMonitor: jest.fn() })); });
56
+ var CellRenderer = function (_a) {
57
+ var value = _a.value;
58
+ return (React.createElement("div", { className: "cellRenderer", "data-reltio-id": "cellRenderer" }, value));
59
+ };
9
60
  var defaultColumnValue = {
10
61
  'attributes.FirstName': 'Some Value',
11
62
  id: 'entities/123'
@@ -15,77 +66,96 @@ var defaultRowData = {
15
66
  label: 'FirstName',
16
67
  cellRenderer: CellRenderer
17
68
  };
18
- var setUp = function (_a) {
19
- var _b = _a === void 0 ? {} : _a, _c = _b.columnValue, columnValue = _c === void 0 ? defaultColumnValue : _c, _d = _b.rowData, rowData = _d === void 0 ? defaultRowData : _d, _e = _b.index, index = _e === void 0 ? 0 : _e, _f = _b.shouldRenderDragIndicator, shouldRenderDragIndicator = _f === void 0 ? true : _f, _g = _b.onMoveColumn, onMoveColumn = _g === void 0 ? jest.fn() : _g, _h = _b.onDropColumn, onDropColumn = _h === void 0 ? jest.fn() : _h, _j = _b.setHoveredColumn, setHoveredColumn = _j === void 0 ? jest.fn() : _j, _k = _b.resetHoveredColumn, resetHoveredColumn = _k === void 0 ? jest.fn() : _k, _l = _b.someRowIsDragging, someRowIsDragging = _l === void 0 ? false : _l;
20
- var manager;
21
- var component = mount(React.createElement(DndProvider, { backend: TestBackend },
22
- React.createElement(DndContext.Consumer, null, function (_a) {
23
- var dragDropManager = _a.dragDropManager;
24
- manager = dragDropManager;
25
- return (React.createElement("table", null,
69
+ var defaultProps = {
70
+ columnValue: defaultColumnValue,
71
+ rowData: defaultRowData,
72
+ index: 0,
73
+ shouldRenderDragIndicator: true,
74
+ setHoveredColumn: jest.fn(),
75
+ resetHoveredColumn: jest.fn(),
76
+ rowIsDragging: false
77
+ };
78
+ var setUp = function (props) {
79
+ if (props === void 0) { props = defaultProps; }
80
+ var user = userEvent.setup();
81
+ var Providers = function (_a) {
82
+ var children = _a.children;
83
+ return (React.createElement(DndContext, null,
84
+ React.createElement("table", null,
26
85
  React.createElement("tbody", null,
27
- React.createElement("tr", null,
28
- React.createElement(TableCellWithDnd, { onMoveColumn: onMoveColumn, onDropColumn: onDropColumn, shouldRenderDragIndicator: shouldRenderDragIndicator, index: index, columnValue: columnValue, rowData: rowData, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn, someRowIsDragging: someRowIsDragging })))));
29
- })));
30
- return [component, manager];
86
+ React.createElement("tr", null, children)))));
87
+ };
88
+ return __assign({ user: user }, render(React.createElement(TableCellWithDnd, __assign({}, props)), { wrapper: Providers }));
31
89
  };
32
90
  describe('TableCellWithDnd tests', function () {
33
91
  it('should render cellRenderer from rowData correctly', function () {
34
- var component = setUp()[0];
35
- expect(component.find(CellRenderer).prop('value')).toEqual(defaultColumnValue[defaultRowData.id]);
92
+ setUp();
93
+ expect(screen.getByTestId('cellRenderer')).toBeInTheDocument();
36
94
  });
37
95
  it('should render DefaultCellRenderer if cellRenderer is missing in rowData', function () {
38
96
  var rowData = {
39
97
  id: 'attributes.FirstName',
40
98
  label: 'FirstName'
41
99
  };
42
- var component = setUp({ rowData: rowData })[0];
43
- expect(component.find(DefaultCellRenderer).prop('value')).toEqual(defaultColumnValue[rowData.id]);
100
+ setUp(__assign(__assign({}, defaultProps), { rowData: rowData }));
101
+ expect(screen.getByText(defaultColumnValue[rowData.id])).toBeInTheDocument();
44
102
  });
45
103
  it('should render dragIndicator if "shouldRenderDragIndicator" prop is true', function () {
46
- var component = setUp({ shouldRenderDragIndicator: true })[0];
47
- expect(component.find('.dragIndicator')).toHaveLength(1);
104
+ setUp(__assign(__assign({}, defaultProps), { shouldRenderDragIndicator: true }));
105
+ expect(getMuiIconByName('DragIndicator')).toBeInTheDocument();
48
106
  });
49
107
  it('should not render dragIndicator if "shouldRenderDragIndicator" prop is false', function () {
50
- var component = setUp({ shouldRenderDragIndicator: false })[0];
51
- expect(component.find('.dragIndicator')).toHaveLength(0);
108
+ setUp(__assign(__assign({}, defaultProps), { shouldRenderDragIndicator: false }));
109
+ expect(getMuiIconByName('DragIndicator')).not.toBeInTheDocument();
52
110
  });
53
- it('setHoveredColumn handler should work correctly', function () {
54
- var setHoveredColumn = jest.fn();
55
- var component = setUp({ setHoveredColumn: setHoveredColumn })[0];
56
- var onMouseOver = component.find('td').prop('onMouseOver');
57
- act(function () {
58
- if (onMouseOver)
59
- onMouseOver(null);
111
+ it('setHoveredColumn handler should work correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
112
+ var setHoveredColumn, user;
113
+ return __generator(this, function (_a) {
114
+ switch (_a.label) {
115
+ case 0:
116
+ setHoveredColumn = jest.fn();
117
+ user = setUp(__assign(__assign({}, defaultProps), { setHoveredColumn: setHoveredColumn })).user;
118
+ return [4 /*yield*/, user.hover(screen.getByText(defaultColumnValue['attributes.FirstName']))];
119
+ case 1:
120
+ _a.sent();
121
+ expect(setHoveredColumn).toHaveBeenCalledWith(defaultColumnValue);
122
+ return [2 /*return*/];
123
+ }
60
124
  });
61
- expect(setHoveredColumn).toHaveBeenCalledWith(defaultColumnValue);
125
+ }); });
126
+ it('should pass ".hidden" classname to div wrapper correctly if "rowIsDragging" prop is true', function () {
127
+ setUp(__assign(__assign({}, defaultProps), { rowIsDragging: true }));
128
+ expect(document.getElementsByClassName('hidden')).toHaveLength(1);
129
+ });
130
+ it('should not pass ".hidden" classname to div wrapper if "rowIsDragging" prop is false', function () {
131
+ setUp(__assign(__assign({}, defaultProps), { rowIsDragging: false }));
132
+ expect(document.getElementsByClassName('hidden')).toHaveLength(0);
62
133
  });
63
- it('should not fail if onDropRow is missing in props', function () {
64
- var props = { onMoveColumn: null, onDropRow: null };
65
- var _a = setUp(props), component = _a[0], manager = _a[1];
66
- var backend = manager.getBackend();
67
- var sourceId = component.find('td').prop('data-source-id');
134
+ it('should set opacity to 0 if column is dragging', function () {
135
+ var onDragStart, onDragEnd;
136
+ useDndMonitor.mockImplementation(function (listeners) {
137
+ onDragStart = listeners.onDragStart;
138
+ onDragEnd = listeners.onDragEnd;
139
+ });
140
+ setUp();
141
+ var cell = screen.getByRole('cell', { name: defaultColumnValue['attributes.FirstName'] });
142
+ expect(cell).toHaveStyle({ opacity: 1 });
68
143
  act(function () {
69
- backend.simulateBeginDrag([sourceId], {
70
- clientOffset: { x: 0, y: 0 },
71
- getSourceClientOffset: function () { return ({ x: 0, y: 0 }); }
144
+ onDragStart({
145
+ active: {
146
+ id: defaultProps.columnValue.id,
147
+ data: {
148
+ current: {
149
+ type: DndItemTypes.Column
150
+ }
151
+ }
152
+ }
72
153
  });
73
154
  });
74
- component.update();
75
- var targetId = component.find('td').prop('data-target-id');
155
+ expect(cell).toHaveStyle({ opacity: 0 });
76
156
  act(function () {
77
- backend.simulateHover([targetId]);
78
- backend.simulateDrop();
79
- backend.simulateEndDrag();
157
+ onDragEnd();
80
158
  });
81
- component.update();
82
- });
83
- it('should pass ".hidden" classname to div wrapper correctly if "someRowIsDragging" prop is true', function () {
84
- var component = setUp({ someRowIsDragging: true })[0];
85
- expect(component.find('.hidden')).toHaveLength(1);
86
- });
87
- it('should not pass ".hidden" classname to div wrapper if "someRowIsDragging" prop is false', function () {
88
- var component = setUp({ someRowIsDragging: false })[0];
89
- expect(component.find('.hidden')).toHaveLength(0);
159
+ expect(cell).toHaveStyle({ opacity: 1 });
90
160
  });
91
161
  });
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import { ColumnData, RowData } from '../../types';
3
3
  type Props = {
4
- columnWidth: number;
5
4
  columnHeight: number;
6
- item: {
5
+ draggingColumn: {
7
6
  rowData: RowData;
8
7
  columnValue: ColumnData;
8
+ getColumnWidth?: () => number;
9
9
  };
10
10
  };
11
- export declare const TableColumnDragPreview: ({ columnWidth, columnHeight, item }: Props) => React.JSX.Element;
11
+ export declare const TableColumnDragPreview: React.MemoExoticComponent<({ columnHeight, draggingColumn }: Props) => React.JSX.Element>;
12
12
  export {};
@@ -1,9 +1,19 @@
1
- import React from 'react';
1
+ import React, { memo } from 'react';
2
2
  import { DefaultCellRenderer } from '../../helpers';
3
- export var TableColumnDragPreview = function (_a) {
4
- var columnWidth = _a.columnWidth, columnHeight = _a.columnHeight, item = _a.item;
5
- var rowData = item.rowData, columnValue = item.columnValue;
3
+ export var TableColumnDragPreview = memo(function (_a) {
4
+ var columnHeight = _a.columnHeight, draggingColumn = _a.draggingColumn;
5
+ if (!draggingColumn) {
6
+ return null;
7
+ }
8
+ var rowData = draggingColumn.rowData, columnValue = draggingColumn.columnValue, getColumnWidth = draggingColumn.getColumnWidth;
6
9
  var CellRenderer = rowData.cellRenderer || DefaultCellRenderer;
7
- return (React.createElement("div", { style: { width: columnWidth, height: columnHeight, background: 'rgba(245,245,245, .5)' } },
10
+ var columnWidth = getColumnWidth();
11
+ return (React.createElement("div", { style: {
12
+ width: columnWidth,
13
+ height: columnHeight,
14
+ background: 'rgba(245,245,245, .5)',
15
+ pointerEvents: 'none'
16
+ } },
8
17
  React.createElement(CellRenderer, { value: columnValue[rowData.id] })));
9
- };
18
+ });
19
+ TableColumnDragPreview.displayName = 'TableColumnDragPreview';
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { ColumnData, RowData } from '../../types';
3
+ type Props = {
4
+ id: string;
5
+ columnsData: ColumnData[];
6
+ rowData: RowData;
7
+ };
8
+ export declare const RowDragIndicator: ({ id, rowData, columnsData }: Props) => React.JSX.Element;
9
+ export {};
@@ -0,0 +1,30 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import React from 'react';
13
+ import { useStyles } from './styles';
14
+ import DragIndicatorIcon from '@mui/icons-material/DragIndicator';
15
+ import { useDraggable } from '@dnd-kit/core';
16
+ import { DndItemTypes } from '../../types';
17
+ export var RowDragIndicator = function (_a) {
18
+ var id = _a.id, rowData = _a.rowData, columnsData = _a.columnsData;
19
+ var styles = useStyles();
20
+ var _b = useDraggable({
21
+ id: id,
22
+ data: {
23
+ type: DndItemTypes.Row,
24
+ rowData: rowData,
25
+ columnsData: columnsData
26
+ }
27
+ }), setNodeRef = _b.setNodeRef, attributes = _b.attributes, listeners = _b.listeners;
28
+ return (React.createElement("div", __assign({ ref: setNodeRef, className: styles.dragIndicator }, attributes, listeners),
29
+ React.createElement(DragIndicatorIcon, { className: styles.dragIndicatorIcon })));
30
+ };