@reltio/components 1.4.2018 → 1.4.2019

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 (268) 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/ImageAttributesLineEditor/ImageAttributesLineEditor.test.js +2 -5
  5. package/InlineAttributesPager/components/InlineSimpleAttributesBlock/InlineSimpleAttributesBlock.js +33 -22
  6. package/InlineAttributesPager/components/InlineSimpleAttributesBlock/InlineSimpleAttributesBlock.test.js +120 -112
  7. package/InlineSimpleAttribute/InlineSimpleAttribute.js +1 -1
  8. package/LineChart/helpers.d.ts +2 -2
  9. package/PieChart/PieChart.test.js +4 -0
  10. package/UploadImageDialog/UploadImageDialog.specs.js +1 -4
  11. package/UploadImageDialog/components/TargetBox/TargetBox.js +31 -20
  12. package/UploadImageDialog/components/TargetBox/TargetBox.specs.d.ts +1 -1
  13. package/UploadImageDialog/components/TargetBox/TargetBox.specs.js +57 -16
  14. package/UploadImageDialog/components/TargetBox/styles.js +2 -1
  15. package/VerticalHeadingsTable/DndVerticalHeadingsTable.test.js +114 -0
  16. package/VerticalHeadingsTable/VerticalHeadingsTable.d.ts +2 -1
  17. package/VerticalHeadingsTable/VerticalHeadingsTable.js +10 -13
  18. package/VerticalHeadingsTable/VerticalHeadingsTable.test.js +74 -269
  19. package/VerticalHeadingsTable/components/DndComponent/DndComponent.d.ts +14 -0
  20. package/VerticalHeadingsTable/components/DndComponent/DndComponent.js +96 -0
  21. package/VerticalHeadingsTable/components/DndComponent/helpers.d.ts +3 -0
  22. package/VerticalHeadingsTable/components/DndComponent/helpers.js +35 -0
  23. package/VerticalHeadingsTable/components/DndComponent/index.d.ts +1 -0
  24. package/VerticalHeadingsTable/components/DndComponent/index.js +1 -0
  25. package/VerticalHeadingsTable/components/{TableColumnDragLayer → DndComponent}/styles.d.ts +1 -1
  26. package/VerticalHeadingsTable/components/DndComponent/styles.js +10 -0
  27. package/VerticalHeadingsTable/components/DndComponent/types.d.ts +14 -0
  28. package/VerticalHeadingsTable/components/DndMeasurer/DndMeasurer.d.ts +7 -0
  29. package/VerticalHeadingsTable/components/DndMeasurer/DndMeasurer.js +13 -0
  30. package/VerticalHeadingsTable/components/DndMeasurer/index.d.ts +1 -0
  31. package/VerticalHeadingsTable/components/DndMeasurer/index.js +1 -0
  32. package/VerticalHeadingsTable/components/TableCell/TableCell.d.ts +2 -2
  33. package/VerticalHeadingsTable/components/TableCell/TableCell.js +2 -2
  34. package/VerticalHeadingsTable/components/TableCell/TableCell.test.js +101 -43
  35. package/VerticalHeadingsTable/components/TableCellWithDnd/ColumnDragIndicator.d.ts +10 -0
  36. package/VerticalHeadingsTable/components/TableCellWithDnd/ColumnDragIndicator.js +32 -0
  37. package/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.d.ts +2 -4
  38. package/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.js +30 -59
  39. package/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.test.js +126 -56
  40. package/VerticalHeadingsTable/components/TableColumnDragPreview/TableColumnDragPreview.d.ts +3 -3
  41. package/VerticalHeadingsTable/components/TableColumnDragPreview/TableColumnDragPreview.js +16 -6
  42. package/VerticalHeadingsTable/components/TableHeadCell/RowDragIndicator.d.ts +9 -0
  43. package/VerticalHeadingsTable/components/TableHeadCell/RowDragIndicator.js +30 -0
  44. package/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.d.ts +4 -4
  45. package/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.js +3 -4
  46. package/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.test.js +44 -29
  47. package/VerticalHeadingsTable/components/TableRow/TableRow.d.ts +4 -5
  48. package/VerticalHeadingsTable/components/TableRow/TableRow.js +3 -3
  49. package/VerticalHeadingsTable/components/TableRow/TableRow.test.js +35 -57
  50. package/VerticalHeadingsTable/components/TableRowDragPreview/TableRowDragPreview.d.ts +12 -0
  51. package/VerticalHeadingsTable/components/TableRowDragPreview/TableRowDragPreview.js +16 -0
  52. package/VerticalHeadingsTable/components/TableRowDragPreview/index.d.ts +1 -0
  53. package/VerticalHeadingsTable/components/TableRowDragPreview/index.js +1 -0
  54. package/{cjs/VerticalHeadingsTable/components/TableColumnDragLayer → VerticalHeadingsTable/components/TableRowDragPreview}/styles.d.ts +1 -1
  55. package/VerticalHeadingsTable/components/TableRowDragPreview/styles.js +8 -0
  56. package/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.d.ts +2 -8
  57. package/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.js +22 -53
  58. package/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.test.js +53 -83
  59. package/cjs/BarChart/helpers.d.ts +2 -2
  60. package/cjs/BasicTable/IntegrationBasicTable.test.js +6 -18
  61. package/cjs/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +2 -5
  62. package/cjs/ImageAttributesLineEditor/ImageAttributesLineEditor.test.js +2 -5
  63. package/cjs/InlineAttributesPager/components/InlineSimpleAttributesBlock/InlineSimpleAttributesBlock.js +55 -21
  64. package/cjs/InlineAttributesPager/components/InlineSimpleAttributesBlock/InlineSimpleAttributesBlock.test.js +120 -135
  65. package/cjs/InlineSimpleAttribute/InlineSimpleAttribute.js +1 -1
  66. package/cjs/LineChart/helpers.d.ts +2 -2
  67. package/cjs/PieChart/PieChart.test.js +4 -0
  68. package/cjs/UploadImageDialog/UploadImageDialog.specs.js +1 -4
  69. package/cjs/UploadImageDialog/components/TargetBox/TargetBox.js +54 -20
  70. package/cjs/UploadImageDialog/components/TargetBox/TargetBox.specs.d.ts +1 -1
  71. package/cjs/UploadImageDialog/components/TargetBox/TargetBox.specs.js +57 -16
  72. package/cjs/UploadImageDialog/components/TargetBox/styles.js +2 -1
  73. package/cjs/VerticalHeadingsTable/DndVerticalHeadingsTable.test.d.ts +1 -0
  74. package/cjs/VerticalHeadingsTable/DndVerticalHeadingsTable.test.js +119 -0
  75. package/cjs/VerticalHeadingsTable/VerticalHeadingsTable.d.ts +2 -1
  76. package/cjs/VerticalHeadingsTable/VerticalHeadingsTable.js +9 -12
  77. package/cjs/VerticalHeadingsTable/VerticalHeadingsTable.test.js +74 -269
  78. package/cjs/VerticalHeadingsTable/components/DndComponent/DndComponent.d.ts +14 -0
  79. package/cjs/VerticalHeadingsTable/components/DndComponent/DndComponent.js +123 -0
  80. package/cjs/VerticalHeadingsTable/components/DndComponent/helpers.d.ts +3 -0
  81. package/cjs/VerticalHeadingsTable/components/DndComponent/helpers.js +40 -0
  82. package/cjs/VerticalHeadingsTable/components/DndComponent/index.d.ts +1 -0
  83. package/cjs/VerticalHeadingsTable/components/DndComponent/index.js +5 -0
  84. package/{features/crosswalks/CrosswalkDragLayer → cjs/VerticalHeadingsTable/components/DndComponent}/styles.d.ts +1 -1
  85. package/cjs/VerticalHeadingsTable/components/DndComponent/styles.js +13 -0
  86. package/cjs/VerticalHeadingsTable/components/DndComponent/types.d.ts +14 -0
  87. package/cjs/VerticalHeadingsTable/components/DndComponent/types.js +2 -0
  88. package/cjs/VerticalHeadingsTable/components/DndMeasurer/DndMeasurer.d.ts +7 -0
  89. package/cjs/VerticalHeadingsTable/components/DndMeasurer/DndMeasurer.js +40 -0
  90. package/cjs/VerticalHeadingsTable/components/DndMeasurer/index.d.ts +1 -0
  91. package/cjs/VerticalHeadingsTable/components/DndMeasurer/index.js +5 -0
  92. package/cjs/VerticalHeadingsTable/components/TableCell/TableCell.d.ts +2 -2
  93. package/cjs/VerticalHeadingsTable/components/TableCell/TableCell.js +2 -2
  94. package/cjs/VerticalHeadingsTable/components/TableCell/TableCell.test.js +101 -43
  95. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/ColumnDragIndicator.d.ts +10 -0
  96. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/ColumnDragIndicator.js +39 -0
  97. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.d.ts +2 -4
  98. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.js +29 -58
  99. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.test.js +128 -58
  100. package/cjs/VerticalHeadingsTable/components/TableColumnDragPreview/TableColumnDragPreview.d.ts +3 -3
  101. package/cjs/VerticalHeadingsTable/components/TableColumnDragPreview/TableColumnDragPreview.js +38 -9
  102. package/cjs/VerticalHeadingsTable/components/TableHeadCell/RowDragIndicator.d.ts +9 -0
  103. package/cjs/VerticalHeadingsTable/components/TableHeadCell/RowDragIndicator.js +37 -0
  104. package/cjs/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.d.ts +4 -4
  105. package/cjs/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.js +3 -4
  106. package/cjs/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.test.js +43 -51
  107. package/cjs/VerticalHeadingsTable/components/TableRow/TableRow.d.ts +4 -5
  108. package/cjs/VerticalHeadingsTable/components/TableRow/TableRow.js +3 -3
  109. package/cjs/VerticalHeadingsTable/components/TableRow/TableRow.test.js +35 -57
  110. package/cjs/VerticalHeadingsTable/components/TableRowDragPreview/TableRowDragPreview.d.ts +12 -0
  111. package/cjs/VerticalHeadingsTable/components/TableRowDragPreview/TableRowDragPreview.js +42 -0
  112. package/cjs/VerticalHeadingsTable/components/TableRowDragPreview/index.d.ts +1 -0
  113. package/cjs/VerticalHeadingsTable/components/TableRowDragPreview/index.js +5 -0
  114. package/cjs/{features/crosswalks/CrosswalkDragLayer → VerticalHeadingsTable/components/TableRowDragPreview}/styles.d.ts +1 -1
  115. package/cjs/VerticalHeadingsTable/components/TableRowDragPreview/styles.js +11 -0
  116. package/cjs/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.d.ts +2 -8
  117. package/cjs/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.js +21 -52
  118. package/cjs/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.test.js +55 -85
  119. package/cjs/contexts/CrosswalksDisplayContext/index.d.ts +2 -2
  120. package/cjs/contexts/CrosswalksDisplayContext/index.js +6 -2
  121. package/cjs/features/crosswalks/AttributesTable/AttributesTable.d.ts +3 -1
  122. package/cjs/features/crosswalks/AttributesTable/AttributesTable.js +2 -2
  123. package/cjs/features/crosswalks/AttributesTable/AttributesTable.test.js +17 -10
  124. package/cjs/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.d.ts +3 -2
  125. package/cjs/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.js +13 -2
  126. package/cjs/features/crosswalks/CrosswalkDndComponent/CrosswalkDndComponent.d.ts +8 -0
  127. package/cjs/features/crosswalks/CrosswalkDndComponent/CrosswalkDndComponent.js +51 -0
  128. package/cjs/features/crosswalks/CrosswalkDndComponent/index.d.ts +1 -0
  129. package/cjs/features/crosswalks/CrosswalkDndComponent/index.js +5 -0
  130. package/cjs/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/CrosswalkDragPreview.js +16 -5
  131. package/cjs/features/crosswalks/CrosswalkDragPreview/CrosswalkDragPreview.test.d.ts +1 -0
  132. package/cjs/features/crosswalks/CrosswalkDragPreview/CrosswalkDragPreview.test.js +97 -0
  133. package/{features/crosswalks/CrosswalkDragLayer/components → cjs/features/crosswalks}/CrosswalkDragPreview/styles.d.ts +1 -1
  134. package/cjs/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/styles.js +6 -1
  135. package/cjs/features/crosswalks/CrosswalkRow/CrosswalkRow.js +25 -16
  136. package/cjs/features/crosswalks/CrosswalkRow/CrosswalkRow.test.js +7 -33
  137. package/cjs/features/crosswalks/CrosswalkRow/DndCrosswalkRow.test.d.ts +1 -0
  138. package/cjs/features/crosswalks/CrosswalkRow/DndCrosswalkRow.test.js +134 -0
  139. package/cjs/features/crosswalks/CrosswalkRow/styles.d.ts +1 -1
  140. package/cjs/features/crosswalks/CrosswalkRow/styles.js +10 -1
  141. package/cjs/features/crosswalks/SourceCrosswalksRow/SourceCrosswalksRow.test.js +0 -1
  142. package/cjs/features/crosswalks/hooks/useDraggingCrosswalk.d.ts +6 -0
  143. package/cjs/features/crosswalks/hooks/useDraggingCrosswalk.js +19 -0
  144. package/cjs/features/crosswalks/hooks/useModifiedEntity.js +6 -6
  145. package/cjs/features/crosswalks/index.d.ts +1 -1
  146. package/cjs/features/crosswalks/index.js +3 -3
  147. package/cjs/hooks/useDndBasicTableScrollModifier/index.d.ts +1 -0
  148. package/cjs/hooks/useDndBasicTableScrollModifier/index.js +5 -0
  149. package/cjs/hooks/useDndBasicTableScrollModifier/useDndBasicTableScrollModifier.d.ts +10 -0
  150. package/cjs/hooks/useDndBasicTableScrollModifier/useDndBasicTableScrollModifier.js +57 -0
  151. package/cjs/index.d.ts +2 -1
  152. package/cjs/index.js +3 -1
  153. package/cjs/test-utils/dndKit/DndContext.d.ts +12 -0
  154. package/cjs/test-utils/dndKit/DndContext.js +5 -0
  155. package/cjs/test-utils/dndKit/DndContextComponent.d.ts +5 -0
  156. package/cjs/test-utils/dndKit/DndContextComponent.js +97 -0
  157. package/cjs/test-utils/dndKit/DndMonitorContext.d.ts +2 -0
  158. package/cjs/test-utils/dndKit/DndMonitorContext.js +5 -0
  159. package/cjs/test-utils/dndKit/DragOverlay.d.ts +5 -0
  160. package/cjs/test-utils/dndKit/DragOverlay.js +14 -0
  161. package/cjs/test-utils/dndKit/index.d.ts +32 -0
  162. package/cjs/test-utils/dndKit/index.js +22 -0
  163. package/cjs/test-utils/dndKit/type.d.ts +17 -0
  164. package/cjs/test-utils/dndKit/type.js +2 -0
  165. package/cjs/test-utils/dndKit/useDndContext.d.ts +8 -0
  166. package/cjs/test-utils/dndKit/useDndContext.js +13 -0
  167. package/cjs/test-utils/dndKit/useDndMonitor.d.ts +2 -0
  168. package/cjs/test-utils/dndKit/useDndMonitor.js +13 -0
  169. package/cjs/test-utils/dndKit/useDndMonitorProvider.d.ts +1 -0
  170. package/cjs/test-utils/dndKit/useDndMonitorProvider.js +17 -0
  171. package/cjs/test-utils/dndKit/useDraggable.d.ts +12 -0
  172. package/cjs/test-utils/dndKit/useDraggable.js +43 -0
  173. package/cjs/test-utils/dndKit/useDroppable.d.ts +4 -0
  174. package/cjs/test-utils/dndKit/useDroppable.js +45 -0
  175. package/cjs/types/basicTable.d.ts +4 -0
  176. package/contexts/CrosswalksDisplayContext/index.d.ts +2 -2
  177. package/contexts/CrosswalksDisplayContext/index.js +6 -2
  178. package/features/crosswalks/AttributesTable/AttributesTable.d.ts +3 -1
  179. package/features/crosswalks/AttributesTable/AttributesTable.js +2 -2
  180. package/features/crosswalks/AttributesTable/AttributesTable.test.js +17 -10
  181. package/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.d.ts +3 -2
  182. package/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.js +13 -2
  183. package/features/crosswalks/CrosswalkDndComponent/CrosswalkDndComponent.d.ts +8 -0
  184. package/features/crosswalks/CrosswalkDndComponent/CrosswalkDndComponent.js +24 -0
  185. package/features/crosswalks/CrosswalkDndComponent/index.d.ts +1 -0
  186. package/features/crosswalks/CrosswalkDndComponent/index.js +1 -0
  187. package/features/crosswalks/CrosswalkDragPreview/CrosswalkDragPreview.js +30 -0
  188. package/features/crosswalks/CrosswalkDragPreview/CrosswalkDragPreview.test.d.ts +1 -0
  189. package/features/crosswalks/CrosswalkDragPreview/CrosswalkDragPreview.test.js +69 -0
  190. package/{cjs/features/crosswalks/CrosswalkDragLayer/components → features/crosswalks}/CrosswalkDragPreview/styles.d.ts +1 -1
  191. package/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/styles.js +6 -1
  192. package/features/crosswalks/CrosswalkRow/CrosswalkRow.js +25 -16
  193. package/features/crosswalks/CrosswalkRow/CrosswalkRow.test.js +7 -33
  194. package/features/crosswalks/CrosswalkRow/DndCrosswalkRow.test.d.ts +1 -0
  195. package/features/crosswalks/CrosswalkRow/DndCrosswalkRow.test.js +129 -0
  196. package/features/crosswalks/CrosswalkRow/styles.d.ts +1 -1
  197. package/features/crosswalks/CrosswalkRow/styles.js +10 -1
  198. package/features/crosswalks/SourceCrosswalksRow/SourceCrosswalksRow.test.js +0 -1
  199. package/features/crosswalks/hooks/useDraggingCrosswalk.d.ts +6 -0
  200. package/features/crosswalks/hooks/useDraggingCrosswalk.js +15 -0
  201. package/features/crosswalks/hooks/useModifiedEntity.js +6 -6
  202. package/features/crosswalks/index.d.ts +1 -1
  203. package/features/crosswalks/index.js +1 -1
  204. package/hooks/useDndBasicTableScrollModifier/index.d.ts +1 -0
  205. package/hooks/useDndBasicTableScrollModifier/index.js +1 -0
  206. package/hooks/useDndBasicTableScrollModifier/useDndBasicTableScrollModifier.d.ts +10 -0
  207. package/hooks/useDndBasicTableScrollModifier/useDndBasicTableScrollModifier.js +53 -0
  208. package/index.d.ts +2 -1
  209. package/index.js +1 -0
  210. package/package.json +3 -3
  211. package/test-utils/dndKit/DndContext.d.ts +12 -0
  212. package/test-utils/dndKit/DndContext.js +2 -0
  213. package/test-utils/dndKit/DndContextComponent.d.ts +5 -0
  214. package/test-utils/dndKit/DndContextComponent.js +70 -0
  215. package/test-utils/dndKit/DndMonitorContext.d.ts +2 -0
  216. package/test-utils/dndKit/DndMonitorContext.js +2 -0
  217. package/test-utils/dndKit/DragOverlay.d.ts +5 -0
  218. package/test-utils/dndKit/DragOverlay.js +7 -0
  219. package/test-utils/dndKit/index.d.ts +32 -0
  220. package/test-utils/dndKit/index.js +19 -0
  221. package/test-utils/dndKit/type.d.ts +17 -0
  222. package/test-utils/dndKit/type.js +1 -0
  223. package/test-utils/dndKit/useDndContext.d.ts +8 -0
  224. package/test-utils/dndKit/useDndContext.js +9 -0
  225. package/test-utils/dndKit/useDndMonitor.d.ts +2 -0
  226. package/test-utils/dndKit/useDndMonitor.js +9 -0
  227. package/test-utils/dndKit/useDndMonitorProvider.d.ts +1 -0
  228. package/test-utils/dndKit/useDndMonitorProvider.js +13 -0
  229. package/test-utils/dndKit/useDraggable.d.ts +12 -0
  230. package/test-utils/dndKit/useDraggable.js +39 -0
  231. package/test-utils/dndKit/useDroppable.d.ts +4 -0
  232. package/test-utils/dndKit/useDroppable.js +41 -0
  233. package/types/basicTable.d.ts +4 -0
  234. package/VerticalHeadingsTable/components/TableColumnDragLayer/TableColumnDragLayer.d.ts +0 -6
  235. package/VerticalHeadingsTable/components/TableColumnDragLayer/TableColumnDragLayer.js +0 -23
  236. package/VerticalHeadingsTable/components/TableColumnDragLayer/helpers.d.ts +0 -6
  237. package/VerticalHeadingsTable/components/TableColumnDragLayer/helpers.js +0 -11
  238. package/VerticalHeadingsTable/components/TableColumnDragLayer/index.d.ts +0 -1
  239. package/VerticalHeadingsTable/components/TableColumnDragLayer/index.js +0 -1
  240. package/VerticalHeadingsTable/components/TableColumnDragLayer/styles.js +0 -13
  241. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/TableColumnDragLayer.d.ts +0 -6
  242. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/TableColumnDragLayer.js +0 -50
  243. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/helpers.d.ts +0 -6
  244. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/helpers.js +0 -15
  245. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/index.d.ts +0 -1
  246. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/index.js +0 -5
  247. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/styles.js +0 -16
  248. package/cjs/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.d.ts +0 -2
  249. package/cjs/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.js +0 -51
  250. package/cjs/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.test.js +0 -93
  251. package/cjs/features/crosswalks/CrosswalkDragLayer/index.d.ts +0 -1
  252. package/cjs/features/crosswalks/CrosswalkDragLayer/index.js +0 -5
  253. package/cjs/features/crosswalks/CrosswalkDragLayer/styles.js +0 -17
  254. package/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.d.ts +0 -2
  255. package/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.js +0 -25
  256. package/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.test.js +0 -65
  257. package/features/crosswalks/CrosswalkDragLayer/components/CrosswalkDragPreview/CrosswalkDragPreview.js +0 -19
  258. package/features/crosswalks/CrosswalkDragLayer/index.d.ts +0 -1
  259. package/features/crosswalks/CrosswalkDragLayer/index.js +0 -1
  260. package/features/crosswalks/CrosswalkDragLayer/styles.js +0 -14
  261. /package/{cjs/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.test.d.ts → VerticalHeadingsTable/DndVerticalHeadingsTable.test.d.ts} +0 -0
  262. /package/{features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.test.d.ts → VerticalHeadingsTable/components/DndComponent/types.js} +0 -0
  263. /package/cjs/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/CrosswalkDragPreview.d.ts +0 -0
  264. /package/cjs/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/index.d.ts +0 -0
  265. /package/cjs/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/index.js +0 -0
  266. /package/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/CrosswalkDragPreview.d.ts +0 -0
  267. /package/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/index.d.ts +0 -0
  268. /package/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/index.js +0 -0
@@ -10,38 +10,15 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
37
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
15
  };
39
16
  Object.defineProperty(exports, "__esModule", { value: true });
40
17
  var react_1 = __importDefault(require("react"));
41
- var enzyme_1 = require("enzyme");
42
18
  var InlineSimpleAttributesBlock_1 = require("./InlineSimpleAttributesBlock");
43
- var reactDnd = __importStar(require("react-dnd"));
44
- jest.mock('react-dnd', function () { return (__assign(__assign({}, jest.requireActual('react-dnd')), { useDrop: jest.fn() })); });
19
+ var core_1 = require("@dnd-kit/core");
20
+ var react_2 = require("@testing-library/react");
21
+ jest.mock('@dnd-kit/core', function () { return (__assign(__assign({}, jest.requireActual('@dnd-kit/core')), { useDndMonitor: jest.fn() })); });
45
22
  describe('InlineSimpleAttributesBlock tests', function () {
46
23
  var attributeType = {
47
24
  uri: 'configuration/entityTypes/HCP/attributes/Simple',
@@ -101,43 +78,52 @@ describe('InlineSimpleAttributesBlock tests', function () {
101
78
  onEdit: jest.fn(),
102
79
  onDelete: jest.fn()
103
80
  };
104
- var props = __assign({ attributeValues: attributeValues, crosswalksMap: crosswalksMap, parentUri: 'entities/1', onAdd: jest.fn(), emptyTempAttributeUris: [] }, commonProps);
105
- var useDropMock = jest.spyOn(reactDnd, 'useDrop').mockReturnValue([{}, function () { return null; }]);
81
+ var defaultProps = __assign({ attributeValues: attributeValues, crosswalksMap: crosswalksMap, parentUri: 'entities/1', onAdd: jest.fn(), emptyTempAttributeUris: [] }, commonProps);
82
+ var getDragEvent = function (draggingData, attributeType) { return ({
83
+ active: {
84
+ data: {
85
+ current: __assign({}, draggingData)
86
+ }
87
+ },
88
+ over: {
89
+ id: attributeType.uri
90
+ }
91
+ }); };
92
+ var setUp = function (props) {
93
+ if (props === void 0) { props = defaultProps; }
94
+ var Providers = function (_a) {
95
+ var children = _a.children;
96
+ return react_1.default.createElement(core_1.DndContext, null, children);
97
+ };
98
+ return (0, react_2.render)(react_1.default.createElement(InlineSimpleAttributesBlock_1.InlineSimpleAttributesBlock, __assign({}, props)), { wrapper: Providers });
99
+ };
106
100
  it('should render values for each crosswalk', function () {
107
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributesBlock_1.InlineSimpleAttributesBlock, __assign({}, props)));
108
- var attributes = wrapper.find('InlineSimpleAttribute');
109
- expect(attributes.length).toBe(3);
110
- attributes.forEach(function (attribute) {
111
- expect(attribute.props()).toMatchObject(commonProps);
112
- });
113
- expect(attributes.at(0).prop('attributeValue')).toBe(attributeValues[0]);
114
- expect(attributes.at(0).prop('crosswalk')).toBe(crosswalks[0]);
115
- expect(attributes.at(1).prop('attributeValue')).toBe(attributeValues[1]);
116
- expect(attributes.at(1).prop('crosswalk')).toBe(crosswalks[0]);
117
- expect(attributes.at(2).prop('attributeValue')).toBe(attributeValues[1]);
118
- expect(attributes.at(2).prop('crosswalk')).toBe(crosswalks[1]);
101
+ setUp();
102
+ expect(react_2.screen.getByText(attributeValues[0].value)).toBeInTheDocument();
103
+ expect(react_2.screen.getAllByText(attributeValues[1].value)).toHaveLength(2);
119
104
  });
120
- describe('dnd', function () {
121
- afterEach(function () {
122
- useDropMock.mockClear();
123
- });
124
- it('should accept Crosswalk drag items', function () {
125
- (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributesBlock_1.InlineSimpleAttributesBlock, __assign({}, props)));
126
- var accept = useDropMock.mock.calls[0][0].accept;
127
- expect(accept).toEqual('Crosswalk');
105
+ describe('dnd behavior', function () {
106
+ var onDragOver, onDragEnd;
107
+ beforeAll(function () {
108
+ core_1.useDndMonitor.mockImplementation(function (listeners) {
109
+ onDragOver = listeners.onDragOver;
110
+ onDragEnd = listeners.onDragEnd;
111
+ });
128
112
  });
129
113
  it('should not allow drop relation crosswalk on entity attribute', function () {
130
- (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributesBlock_1.InlineSimpleAttributesBlock, __assign({}, props)));
131
- var canDrop = useDropMock.mock.calls[0][0].canDrop;
132
- expect(canDrop({
133
- type: 'Crosswalk',
134
- crosswalk: {
135
- uri: 'entities/1/crosswalks/1',
136
- ownerType: 'relation',
137
- type: 'configuration/sources/FB',
138
- value: '123'
139
- }
140
- }, {})).toBe(false);
114
+ setUp();
115
+ (0, react_2.act)(function () {
116
+ onDragOver(getDragEvent({
117
+ type: 'Crosswalk',
118
+ crosswalk: {
119
+ uri: 'entities/1/crosswalks/1',
120
+ ownerType: 'relation',
121
+ type: 'configuration/sources/FB',
122
+ value: '123'
123
+ }
124
+ }, defaultProps.attributeType));
125
+ });
126
+ expect(react_2.screen.queryByText('Drop here')).not.toBeInTheDocument();
141
127
  });
142
128
  it('should allow drop relation crosswalk on relation attribute', function () {
143
129
  var attributeType = {
@@ -160,26 +146,31 @@ describe('InlineSimpleAttributesBlock tests', function () {
160
146
  ov: false
161
147
  }
162
148
  ];
163
- (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributesBlock_1.InlineSimpleAttributesBlock, __assign({}, props, { attributeType: attributeType, attributeValues: attributeValues })));
164
- var canDrop = useDropMock.mock.calls[0][0].canDrop;
165
- expect(canDrop({
166
- type: 'Crosswalk',
167
- crosswalk: {
168
- uri: 'relations/1/crosswalks/1',
169
- ownerType: 'entity',
170
- type: 'configuration/sources/FB',
171
- value: '123'
172
- }
173
- }, {})).toBe(true);
174
- expect(canDrop({
175
- type: 'Crosswalk',
176
- crosswalk: {
177
- uri: 'entities/1/crosswalks/1',
178
- ownerType: 'relation',
179
- type: 'configuration/sources/FB',
180
- value: '123'
181
- }
182
- }, {})).toBe(true);
149
+ setUp(__assign(__assign({}, defaultProps), { attributeType: attributeType, attributeValues: attributeValues }));
150
+ (0, react_2.act)(function () {
151
+ onDragOver(getDragEvent({
152
+ type: 'Crosswalk',
153
+ crosswalk: {
154
+ uri: 'relations/1/crosswalks/1',
155
+ ownerType: 'entity',
156
+ type: 'configuration/sources/FB',
157
+ value: '123'
158
+ }
159
+ }, attributeType));
160
+ });
161
+ expect(react_2.screen.getByText('Drop here')).toBeInTheDocument();
162
+ (0, react_2.act)(function () {
163
+ onDragOver(getDragEvent({
164
+ type: 'Crosswalk',
165
+ crosswalk: {
166
+ uri: 'entities/1/crosswalks/1',
167
+ ownerType: 'relation',
168
+ type: 'configuration/sources/FB',
169
+ value: '123'
170
+ }
171
+ }, attributeType));
172
+ });
173
+ expect(react_2.screen.getByText('Drop here')).toBeInTheDocument();
183
174
  });
184
175
  it('should not allow drop entity crosswalk on relation attribute', function () {
185
176
  var attributeType = {
@@ -202,76 +193,70 @@ describe('InlineSimpleAttributesBlock tests', function () {
202
193
  ov: false
203
194
  }
204
195
  ];
205
- (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributesBlock_1.InlineSimpleAttributesBlock, __assign({}, props, { attributeType: attributeType, attributeValues: attributeValues })));
206
- var canDrop = useDropMock.mock.calls[0][0].canDrop;
207
- expect(canDrop({
208
- type: 'Crosswalk',
209
- crosswalk: {
210
- uri: 'entities/1/crosswalks/1',
211
- ownerType: 'entity',
212
- type: 'configuration/sources/FB',
213
- value: '123'
214
- }
215
- }, {})).toBe(false);
196
+ setUp(__assign(__assign({}, defaultProps), { attributeType: attributeType, attributeValues: attributeValues }));
197
+ (0, react_2.act)(function () {
198
+ onDragOver(getDragEvent({
199
+ type: 'Crosswalk',
200
+ crosswalk: {
201
+ uri: 'entities/1/crosswalks/1',
202
+ ownerType: 'entity',
203
+ type: 'configuration/sources/FB',
204
+ value: '123'
205
+ }
206
+ }, attributeType));
207
+ });
208
+ expect(react_2.screen.queryByText('Drop here')).not.toBeInTheDocument();
216
209
  });
217
210
  it('should not allow drop crosswalk on entity attribute without permission to create', function () {
218
211
  var readOnlyAttrType = __assign(__assign({}, attributeType), { access: ['READ'] });
219
- (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributesBlock_1.InlineSimpleAttributesBlock, __assign({}, props, { attributeType: readOnlyAttrType })));
220
- var canDrop = useDropMock.mock.calls[0][0].canDrop;
221
- expect(canDrop({
222
- type: 'Crosswalk',
223
- crosswalk: {
224
- uri: 'entities/1/crosswalks/1',
225
- ownerType: 'entity',
226
- type: 'configuration/sources/FB',
227
- value: '123'
228
- }
229
- }, {})).toBe(false);
212
+ setUp(__assign(__assign({}, defaultProps), { attributeType: readOnlyAttrType, attributeValues: attributeValues }));
213
+ (0, react_2.act)(function () {
214
+ onDragOver(getDragEvent({
215
+ type: 'Crosswalk',
216
+ crosswalk: {
217
+ uri: 'entities/1/crosswalks/1',
218
+ ownerType: 'entity',
219
+ type: 'configuration/sources/FB',
220
+ value: '123'
221
+ }
222
+ }, readOnlyAttrType));
223
+ });
224
+ expect(react_2.screen.queryByText('Drop here')).not.toBeInTheDocument();
230
225
  });
231
226
  it('should not allow drop crosswalk on attribute if parent attribute can not be edited', function () {
232
- (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributesBlock_1.InlineSimpleAttributesBlock, __assign({}, props, { disableEdit: true })));
233
- var canDrop = useDropMock.mock.calls[0][0].canDrop;
234
- expect(canDrop({
235
- type: 'Crosswalk',
236
- crosswalk: {
237
- uri: 'entities/1/crosswalks/1',
238
- ownerType: 'entity',
239
- type: 'configuration/sources/FB',
240
- value: '123'
241
- }
242
- }, {})).toBe(false);
243
- });
244
- it('should render drop indicator if crosswalks is over and can be dropped', function () {
245
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributesBlock_1.InlineSimpleAttributesBlock, __assign({}, props)));
246
- var _a = useDropMock.mock.calls[0][0], canDrop = _a.canDrop, collect = _a.collect;
247
- expect(canDrop({
248
- type: 'Crosswalk',
249
- crosswalk: {
250
- uri: 'entities/1/crosswalks/1',
251
- ownerType: 'entity',
252
- type: 'configuration/sources/FB',
253
- value: '123'
254
- }
255
- }, {})).toBe(true);
256
- expect(wrapper.find('.dropIndicator')).toHaveLength(0);
257
- collect({ isOver: function () { return true; }, canDrop: function () { return true; } });
258
- expect(wrapper.find('.dropIndicator')).toHaveLength(0);
227
+ setUp(__assign(__assign({}, defaultProps), { disableEdit: true }));
228
+ (0, react_2.act)(function () {
229
+ onDragOver(getDragEvent({
230
+ type: 'Crosswalk',
231
+ crosswalk: {
232
+ uri: 'entities/1/crosswalks/1',
233
+ ownerType: 'entity',
234
+ type: 'configuration/sources/FB',
235
+ value: '123'
236
+ }
237
+ }, defaultProps.attributeType));
238
+ });
239
+ expect(react_2.screen.queryByText('Drop here')).not.toBeInTheDocument();
259
240
  });
260
241
  it('should call props.onAdd on crosswalk drop', function () {
261
- (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributesBlock_1.InlineSimpleAttributesBlock, __assign({}, props)));
262
- var drop = useDropMock.mock.calls[0][0].drop;
242
+ setUp();
263
243
  var crosswalk = {
264
244
  uri: 'entities/1/crosswalks/1',
265
245
  ownerType: 'entity',
266
246
  type: 'configuration/sources/FB',
267
247
  value: '123'
268
248
  };
269
- drop({ crosswalk: crosswalk, type: 'Crosswalk' }, {});
270
- expect(props.onAdd).toHaveBeenCalledWith({
271
- parentUri: props.parentUri,
272
- attributeType: props.attributeType,
249
+ (0, react_2.act)(function () {
250
+ onDragEnd(getDragEvent({
251
+ type: 'Crosswalk',
252
+ crosswalk: crosswalk
253
+ }, defaultProps.attributeType));
254
+ });
255
+ expect(defaultProps.onAdd).toHaveBeenCalledWith({
256
+ parentUri: defaultProps.parentUri,
257
+ attributeType: defaultProps.attributeType,
273
258
  crosswalk: crosswalk,
274
- index: props.attributeValues.length
259
+ index: defaultProps.attributeValues.length
275
260
  });
276
261
  });
277
262
  });
@@ -65,7 +65,7 @@ var InlineSimpleAttribute = function (_a) {
65
65
  var showIgnore = !isTemporary && ((!isReadingMode && hasBasicPermission) || attributeValue.ignored);
66
66
  var showMaskingSwitcher = (isUnmaskingNeeded && !isTemporary && !isReadingMode) || isUnmasking;
67
67
  (0, react_1.useEffect)(function () {
68
- if (isTemporary && !isEmpty) {
68
+ if (isTemporary && isEmpty) {
69
69
  setEditingMode();
70
70
  }
71
71
  }, [isEmpty]);
@@ -3,8 +3,8 @@ import { LineChartOptions } from '@reltio/mdm-sdk';
3
3
  import { CartesianGridProps, LineChart, LineProps, TooltipProps, XAxisProps, YAxisProps } from 'recharts';
4
4
  type LineChartSettings = {
5
5
  lineChart: React.ComponentProps<typeof LineChart>;
6
- xAxis: XAxisProps;
7
- yAxis: YAxisProps;
6
+ xAxis: Omit<XAxisProps, 'ref'>;
7
+ yAxis: Omit<YAxisProps, 'ref'>;
8
8
  cartesianGrid: Omit<CartesianGridProps, 'ref'>;
9
9
  tooltip: TooltipProps<number, string>;
10
10
  line: Omit<LineProps, 'ref'>;
@@ -114,11 +114,15 @@ describe('PieChart', function () {
114
114
  expect(wrapper.find(recharts_1.Pie).prop('innerRadius')).toBe('50%');
115
115
  });
116
116
  it('should call props.onItemClick on sector click', function () {
117
+ jest.useFakeTimers();
117
118
  var onItemClick = jest.fn();
118
119
  var wrapper = (0, enzyme_1.mount)(react_1.default.createElement(PieChart_1.PieChart, { width: 600, height: 300, data: data, onItemClick: onItemClick }));
120
+ jest.runAllTimers();
121
+ wrapper.update();
119
122
  var sector = wrapper.find('.recharts-pie-sector').first();
120
123
  sector.simulate('click');
121
124
  expect(onItemClick).toHaveBeenCalledWith('1');
125
+ jest.useRealTimers();
122
126
  });
123
127
  it('should render chart legend with percents correctly', function () {
124
128
  var legendPayload = [
@@ -53,8 +53,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
53
53
  var react_1 = __importDefault(require("react"));
54
54
  var react_2 = require("@testing-library/react");
55
55
  var user_event_1 = __importDefault(require("@testing-library/user-event"));
56
- var react_dnd_test_backend_1 = __importDefault(require("react-dnd-test-backend"));
57
- var react_dnd_1 = require("react-dnd");
58
56
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
59
57
  var constants_1 = require("./constants");
60
58
  var UploadImageDialog_1 = require("./UploadImageDialog");
@@ -73,8 +71,7 @@ describe('UploadImageDialog tests', function () {
73
71
  var props = { onClose: onClose, onUpload: onUpload, open: true };
74
72
  var Providers = function (_a) {
75
73
  var children = _a.children;
76
- return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: { imageServicePath: imageServicePath, environment: environment, tenant: tenant } },
77
- react_1.default.createElement(react_dnd_1.DndProvider, { backend: react_dnd_test_backend_1.default }, children)));
74
+ return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: { imageServicePath: imageServicePath, environment: environment, tenant: tenant } }, children));
78
75
  };
79
76
  return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(UploadImageDialog_1.UploadImageDialog, __assign({}, props)), { wrapper: Providers }));
80
77
  };
@@ -1,40 +1,74 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
5
28
  Object.defineProperty(exports, "__esModule", { value: true });
6
29
  exports.TargetBox = void 0;
7
- var react_1 = __importDefault(require("react"));
30
+ var react_1 = __importStar(require("react"));
8
31
  var classnames_1 = __importDefault(require("classnames"));
9
32
  var ui_i18n_1 = __importDefault(require("ui-i18n"));
10
- var react_dnd_1 = require("react-dnd");
11
- var react_dnd_html5_backend_1 = require("react-dnd-html5-backend");
12
33
  var Typography_1 = __importDefault(require("@mui/material/Typography"));
13
34
  var SelectImageButton_1 = require("../SelectImageButton");
14
35
  var UploadIcon_1 = __importDefault(require("../../../icons/UploadIcon"));
15
36
  var constants_1 = require("../../constants");
16
37
  var styles_1 = require("./styles");
38
+ var ACCEPTABLE_FILE_TYPE = 'Files';
17
39
  var TargetBox = function (_a) {
18
40
  var _b;
19
41
  var onAppendFile = _a.onAppendFile, className = _a.className;
20
42
  var styles = (0, styles_1.useStyles)();
21
- var _c = (0, react_dnd_1.useDrop)({
22
- accept: [react_dnd_html5_backend_1.NativeTypes.FILE],
23
- drop: function (item) {
24
- if (item) {
25
- // TODO remove after update react-dnd
26
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
27
- // @ts-ignore
28
- onAppendFile(item.files[0]);
29
- }
30
- },
31
- collect: function (monitor) { return ({
32
- isOver: monitor.isOver(),
33
- canDrop: monitor.canDrop()
34
- }); }
35
- }), _d = _c[0], canDrop = _d.canDrop, isOver = _d.isOver, drop = _c[1];
36
- var isActive = canDrop && isOver;
37
- return (react_1.default.createElement("div", { ref: drop, className: (0, classnames_1.default)(styles.root, (_b = {}, _b[styles.isActive] = isActive, _b), className) },
43
+ var _c = (0, react_1.useState)(false), isActive = _c[0], setIsActive = _c[1];
44
+ var handleDragOver = (0, react_1.useCallback)(function (e) {
45
+ e.preventDefault();
46
+ e.stopPropagation();
47
+ var filesType = e.dataTransfer.types[0];
48
+ var isValidType = filesType === ACCEPTABLE_FILE_TYPE;
49
+ e.dataTransfer.dropEffect = isValidType ? 'copy' : 'none';
50
+ setIsActive(isValidType);
51
+ }, []);
52
+ var handleDragLeave = (0, react_1.useCallback)(function (e) {
53
+ e.preventDefault();
54
+ e.stopPropagation();
55
+ var relatedTarget = e.relatedTarget;
56
+ var isLeave = relatedTarget && !e.currentTarget.contains(relatedTarget);
57
+ if (isLeave || !relatedTarget) {
58
+ setIsActive(false);
59
+ }
60
+ }, []);
61
+ var handleDrop = (0, react_1.useCallback)(function (e) {
62
+ e.preventDefault();
63
+ e.stopPropagation();
64
+ setIsActive(false);
65
+ var filesType = e.dataTransfer.types[0];
66
+ if (filesType === ACCEPTABLE_FILE_TYPE) {
67
+ var file = e.dataTransfer.files[0];
68
+ onAppendFile(file);
69
+ }
70
+ }, [onAppendFile]);
71
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.root, (_b = {}, _b[styles.isActive] = isActive, _b), className), onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop },
38
72
  react_1.default.createElement(UploadIcon_1.default, { className: styles.icon }),
39
73
  react_1.default.createElement(Typography_1.default, { className: styles.title }, ui_i18n_1.default.text('Drag an image here')),
40
74
  react_1.default.createElement(Typography_1.default, { className: styles.description }, ui_i18n_1.default.text('Acceptable image types would include JPG, PNG, TIFF, GIF, BMP. Maximum image size: ${MAX_IMAGE_SIZE}Mb', {
@@ -1 +1 @@
1
- export {};
1
+ import '@testing-library/jest-dom';
@@ -4,24 +4,65 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var react_1 = __importDefault(require("react"));
7
- var enzyme_1 = require("enzyme");
8
- var react_dnd_1 = require("react-dnd");
9
- var react_dnd_test_backend_1 = __importDefault(require("react-dnd-test-backend"));
10
- var SelectImageButton_1 = require("../SelectImageButton");
7
+ var react_2 = require("@testing-library/react");
8
+ require("@testing-library/jest-dom");
11
9
  var TargetBox_1 = require("./TargetBox");
12
- describe('TargetBox tests', function () {
13
- var onAppendFile;
14
- beforeEach(function () {
15
- onAppendFile = jest.fn();
10
+ var mockOnAppendFile = jest.fn();
11
+ var setUp = function () {
12
+ return (0, react_2.render)(react_1.default.createElement(TargetBox_1.TargetBox, { onAppendFile: mockOnAppendFile }));
13
+ };
14
+ describe('TargetBox', function () {
15
+ afterEach(function () {
16
+ jest.clearAllMocks();
17
+ });
18
+ it('should renders well', function () {
19
+ var getByText = setUp().getByText;
20
+ expect(getByText('Drag an image here')).toBeInTheDocument();
21
+ });
22
+ it('should activates drag state on drag over with acceptable file type', function () {
23
+ var container = setUp().container;
24
+ var dropZone = container.firstChild;
25
+ react_2.fireEvent.dragOver(dropZone, {
26
+ dataTransfer: { types: ['Files'], dropEffect: 'copy' }
27
+ });
28
+ expect(dropZone).toHaveClass('isActive');
29
+ });
30
+ it('should does not activate drag state with unacceptable file type', function () {
31
+ var container = setUp().container;
32
+ var dropZone = container.firstChild;
33
+ react_2.fireEvent.dragOver(dropZone, {
34
+ dataTransfer: { types: ['Text'], dropEffect: 'none' }
35
+ });
36
+ expect(dropZone).not.toHaveClass('isActive');
37
+ });
38
+ it('should deactivates drag state on drag leave', function () {
39
+ var container = setUp().container;
40
+ var dropZone = container.firstChild;
41
+ react_2.fireEvent.dragOver(dropZone, { dataTransfer: { types: ['Files'] } });
42
+ expect(dropZone).toHaveClass('isActive');
43
+ react_2.fireEvent.dragLeave(dropZone);
44
+ expect(dropZone).not.toHaveClass('isActive');
16
45
  });
17
- it('should not pass .isActive className to root element if dnd zone is not active', function () {
18
- var component = (0, enzyme_1.mount)(react_1.default.createElement(react_dnd_1.DndProvider, { backend: react_dnd_test_backend_1.default },
19
- react_1.default.createElement(TargetBox_1.TargetBox, { onAppendFile: onAppendFile })));
20
- expect(component.find('.root').prop('className')).toBe('root');
46
+ it('should calls onAppendFile with the dropped file', function () {
47
+ var file = new File(['test content'], 'test.png', { type: 'image/png' });
48
+ var container = setUp().container;
49
+ var dropZone = container.firstChild;
50
+ react_2.fireEvent.drop(dropZone, {
51
+ dataTransfer: {
52
+ files: [file],
53
+ types: ['Files']
54
+ }
55
+ });
56
+ expect(mockOnAppendFile).toHaveBeenCalledWith(file);
21
57
  });
22
- it('should onAppendFile prop correctly to SelectImageButton', function () {
23
- var component = (0, enzyme_1.mount)(react_1.default.createElement(react_dnd_1.DndProvider, { backend: react_dnd_test_backend_1.default },
24
- react_1.default.createElement(TargetBox_1.TargetBox, { onAppendFile: onAppendFile })));
25
- expect(component.find(SelectImageButton_1.SelectImageButton).prop('onAppendFile')).toEqual(onAppendFile);
58
+ it('should does not call onAppendFile if dropped item is not of file type', function () {
59
+ var container = setUp().container;
60
+ var dropZone = container.firstChild;
61
+ react_2.fireEvent.drop(dropZone, {
62
+ dataTransfer: {
63
+ types: ['Text']
64
+ }
65
+ });
66
+ expect(mockOnAppendFile).not.toHaveBeenCalled();
26
67
  });
27
68
  });
@@ -12,7 +12,8 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
12
12
  icon: {
13
13
  width: '190px',
14
14
  height: '190px',
15
- marginBottom: '24px'
15
+ marginBottom: '24px',
16
+ pointerEvents: 'none'
16
17
  },
17
18
  title: {
18
19
  marginBottom: '8px',