@elliemae/ds-data-table 2.0.0-alpha.1 → 2.0.0-alpha.13

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 (306) hide show
  1. package/cjs/DataTable.js +9 -4
  2. package/cjs/DataTableContext.js +1 -1
  3. package/cjs/DataTableSchema.js +32 -20
  4. package/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +12 -11
  5. package/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +62 -40
  6. package/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +30 -23
  7. package/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +22 -16
  8. package/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +22 -15
  9. package/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +22 -13
  10. package/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +38 -13
  11. package/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +169 -0
  12. package/cjs/addons/Filters/Components/DateRangeFilter/index.js +26 -19
  13. package/cjs/addons/Filters/Components/DateSwitcherFilter/index.js +145 -0
  14. package/cjs/addons/Filters/Components/NumberRangeFilter/index.js +95 -37
  15. package/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +88 -91
  16. package/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +46 -34
  17. package/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +46 -32
  18. package/cjs/addons/Filters/Components/SelectFilter/components.js +6 -6
  19. package/cjs/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +17 -13
  20. package/cjs/addons/Filters/Components/SelectFilter/utils.js +14 -8
  21. package/cjs/addons/Filters/Components/SingleDateFilter/index.js +25 -18
  22. package/cjs/addons/Filters/Components/index.js +8 -6
  23. package/cjs/addons/Filters/index.js +8 -6
  24. package/cjs/addons/Pagination/Pagination.js +19 -54
  25. package/cjs/configs/constants.js +4 -4
  26. package/cjs/configs/fixedSizes.js +1 -1
  27. package/cjs/configs/index.js +1 -3
  28. package/cjs/configs/useDatatableConfig.js +8 -2
  29. package/cjs/configs/usePaginationConfig.js +10 -4
  30. package/cjs/configs/useRowFlattenization.js +14 -7
  31. package/cjs/configs/useTableColsWithAddons.js +36 -21
  32. package/cjs/exported-related/EditableCell.js +22 -7
  33. package/cjs/exported-related/FilterPopover.js +72 -78
  34. package/cjs/exported-related/FilterTypes.js +3 -2
  35. package/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js +8 -3
  36. package/cjs/exported-related/Filters/currencyRangeFilterFn.js +24 -0
  37. package/cjs/exported-related/Filters/dateRangeFilterFn.js +13 -7
  38. package/cjs/exported-related/Filters/dateSwitcherFilterFn.js +12 -0
  39. package/cjs/exported-related/Filters/index.js +2 -2
  40. package/cjs/exported-related/Filters/multiSelectFilterFn.js +9 -3
  41. package/cjs/exported-related/Filters/numberRangeFilterFn.js +7 -1
  42. package/cjs/exported-related/Filters/singleDateFilterFn.js +13 -7
  43. package/cjs/exported-related/Filters/singleSelectFilterFn.js +5 -1
  44. package/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +18 -6
  45. package/cjs/exported-related/RowRenderer/index.js +20 -12
  46. package/cjs/exported-related/RowRenderer/useRowRendererHandlers.js +58 -17
  47. package/cjs/exported-related/RowRenderer/useRowRendererProperties.js +13 -5
  48. package/cjs/exported-related/RowRenderer/useRowStyle.js +7 -6
  49. package/cjs/exported-related/Toolbar/Toolbar.js +48 -28
  50. package/cjs/exported-related/groupBy.js +14 -5
  51. package/cjs/exported-related/index.js +2 -2
  52. package/cjs/helpers/addCellData.js +16 -6
  53. package/cjs/helpers/cellPadding.js +17 -11
  54. package/cjs/helpers/columnsToGrid.js +6 -1
  55. package/cjs/helpers/getIdFromUniqueRowAccessor.js +3 -0
  56. package/cjs/helpers/refs-helpers.js +13 -3
  57. package/cjs/helpers/sizeToCss.js +1 -1
  58. package/cjs/hooks/useRecoverFocusCol.js +1 -0
  59. package/cjs/index.js +2 -2
  60. package/cjs/parts/Cells/Cell.js +38 -26
  61. package/cjs/parts/Cells/index.js +7 -5
  62. package/cjs/parts/Cells/useCellStyle.js +3 -3
  63. package/cjs/parts/DnDHandle.js +31 -22
  64. package/cjs/parts/DropIndicator.js +33 -33
  65. package/cjs/parts/EmptyContent.js +23 -20
  66. package/cjs/parts/FilterBar/FiltersBar.js +62 -33
  67. package/cjs/parts/FilterBar/components/DateRangePill.js +23 -12
  68. package/cjs/parts/FilterBar/components/DateSwitcherPill.js +45 -0
  69. package/cjs/parts/FilterBar/components/MultiSelectPill.js +34 -14
  70. package/cjs/parts/FilterBar/components/NumberRangePill.js +25 -12
  71. package/cjs/parts/FilterBar/components/SelectPill.js +23 -12
  72. package/cjs/parts/FilterBar/components/SingleDatePill.js +22 -11
  73. package/cjs/parts/FilterBar/components/index.js +2 -2
  74. package/cjs/parts/FilterBar/styled.js +2 -2
  75. package/cjs/parts/Filters/index.js +34 -22
  76. package/cjs/parts/Footer.js +9 -6
  77. package/cjs/parts/Headers/EmptyChildrenGroup.js +2 -2
  78. package/cjs/parts/Headers/HeaderCell.js +34 -26
  79. package/cjs/parts/Headers/HeaderCellGroup.js +31 -21
  80. package/cjs/parts/Headers/HeaderCellTitle.js +61 -27
  81. package/cjs/parts/Headers/HeaderResizer.js +22 -13
  82. package/cjs/parts/Headers/RequiredDot.js +2 -2
  83. package/cjs/parts/Headers/index.js +6 -4
  84. package/cjs/parts/Headers/useHeaderCellConfig.js +12 -7
  85. package/cjs/parts/Headers/useHeaderCellHandlers.js +32 -21
  86. package/cjs/parts/HoC/withConditionalDnDColumnContext.js +52 -21
  87. package/cjs/parts/HoC/withConditionalDnDRowContext.js +21 -16
  88. package/cjs/parts/HoC/withConditionalDnDSortableContext.js +24 -14
  89. package/cjs/parts/HoC/withDnDSortableColumnContext.js +13 -22
  90. package/cjs/parts/HoC/withDnDSortableRowContext.js +11 -20
  91. package/cjs/parts/Loader.js +3 -3
  92. package/cjs/parts/Row.js +18 -12
  93. package/cjs/parts/RowLoading.js +14 -8
  94. package/cjs/parts/RowVariants/RowVariantHeader.js +37 -24
  95. package/cjs/parts/RowVariants/RowVariantPrimary.js +11 -10
  96. package/cjs/parts/RowVariants/RowVariantSecondary.js +11 -10
  97. package/cjs/parts/RowVariants/index.js +22 -13
  98. package/cjs/parts/Rows.js +12 -5
  99. package/cjs/parts/SortByCaret.js +16 -16
  100. package/cjs/parts/SortableHeaderCell.js +7 -2
  101. package/cjs/parts/TableContent.js +22 -12
  102. package/cjs/parts/VirtualRowsList.js +17 -10
  103. package/cjs/parts/index.js +1 -1
  104. package/cjs/prop-types.js +30 -25
  105. package/cjs/redux/reducers/headersReducers/logic.js +11 -5
  106. package/cjs/redux/reducers/index.js +1 -1
  107. package/cjs/redux/storeConfig.js +1 -1
  108. package/cjs/styled.js +133 -120
  109. package/esm/DataTable.js +5 -0
  110. package/esm/DataTableSchema.js +32 -20
  111. package/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +9 -8
  112. package/esm/addons/Columns/ColumnExpand/ColumnExpand.js +52 -29
  113. package/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +27 -19
  114. package/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +18 -11
  115. package/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +19 -11
  116. package/esm/addons/Editables/DateEditableCell/DateEditableCell.js +19 -10
  117. package/esm/addons/Editables/TextEditableCell/TextEditableCell.js +34 -9
  118. package/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +159 -0
  119. package/esm/addons/Filters/Components/DateRangeFilter/index.js +20 -12
  120. package/esm/addons/Filters/Components/DateSwitcherFilter/index.js +136 -0
  121. package/esm/addons/Filters/Components/NumberRangeFilter/index.js +92 -32
  122. package/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +87 -87
  123. package/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +46 -34
  124. package/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +46 -32
  125. package/esm/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +17 -13
  126. package/esm/addons/Filters/Components/SelectFilter/utils.js +14 -8
  127. package/esm/addons/Filters/Components/SingleDateFilter/index.js +19 -11
  128. package/esm/addons/Filters/Components/index.js +2 -1
  129. package/esm/addons/Filters/index.js +2 -1
  130. package/esm/addons/Pagination/Pagination.js +17 -52
  131. package/esm/configs/constants.js +4 -4
  132. package/esm/configs/fixedSizes.js +1 -1
  133. package/esm/configs/useDatatableConfig.js +8 -2
  134. package/esm/configs/usePaginationConfig.js +10 -4
  135. package/esm/configs/useRowFlattenization.js +14 -7
  136. package/esm/configs/useTableColsWithAddons.js +36 -21
  137. package/esm/exported-related/EditableCell.js +21 -6
  138. package/esm/exported-related/FilterPopover.js +67 -73
  139. package/esm/exported-related/FilterTypes.js +3 -2
  140. package/esm/exported-related/Filters/applyOutOfTheBoxFilters.js +8 -3
  141. package/esm/exported-related/Filters/currencyRangeFilterFn.js +20 -0
  142. package/esm/exported-related/Filters/dateRangeFilterFn.js +12 -6
  143. package/esm/exported-related/Filters/dateSwitcherFilterFn.js +8 -0
  144. package/esm/exported-related/Filters/index.js +1 -1
  145. package/esm/exported-related/Filters/multiSelectFilterFn.js +9 -3
  146. package/esm/exported-related/Filters/numberRangeFilterFn.js +7 -1
  147. package/esm/exported-related/Filters/singleDateFilterFn.js +12 -6
  148. package/esm/exported-related/Filters/singleSelectFilterFn.js +5 -1
  149. package/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +14 -2
  150. package/esm/exported-related/RowRenderer/index.js +15 -7
  151. package/esm/exported-related/RowRenderer/useRowRendererHandlers.js +57 -16
  152. package/esm/exported-related/RowRenderer/useRowRendererProperties.js +11 -3
  153. package/esm/exported-related/RowRenderer/useRowStyle.js +6 -5
  154. package/esm/exported-related/Toolbar/Toolbar.js +46 -25
  155. package/esm/exported-related/groupBy.js +14 -5
  156. package/esm/exported-related/index.js +1 -1
  157. package/esm/helpers/addCellData.js +16 -6
  158. package/esm/helpers/cellPadding.js +17 -11
  159. package/esm/helpers/columnsToGrid.js +6 -1
  160. package/esm/helpers/getIdFromUniqueRowAccessor.js +3 -0
  161. package/esm/helpers/refs-helpers.js +13 -3
  162. package/esm/helpers/sizeToCss.js +1 -1
  163. package/esm/hooks/useRecoverFocusCol.js +1 -0
  164. package/esm/index.js +1 -1
  165. package/esm/parts/Cells/Cell.js +34 -22
  166. package/esm/parts/Cells/index.js +4 -2
  167. package/esm/parts/Cells/useCellStyle.js +2 -2
  168. package/esm/parts/DnDHandle.js +28 -18
  169. package/esm/parts/DropIndicator.js +29 -29
  170. package/esm/parts/EmptyContent.js +11 -7
  171. package/esm/parts/FilterBar/FiltersBar.js +58 -29
  172. package/esm/parts/FilterBar/components/DateRangePill.js +24 -13
  173. package/esm/parts/FilterBar/components/DateSwitcherPill.js +37 -0
  174. package/esm/parts/FilterBar/components/MultiSelectPill.js +35 -15
  175. package/esm/parts/FilterBar/components/NumberRangePill.js +26 -13
  176. package/esm/parts/FilterBar/components/SelectPill.js +24 -13
  177. package/esm/parts/FilterBar/components/SingleDatePill.js +23 -12
  178. package/esm/parts/FilterBar/components/index.js +1 -1
  179. package/esm/parts/Filters/index.js +29 -17
  180. package/esm/parts/Footer.js +8 -5
  181. package/esm/parts/Headers/HeaderCell.js +23 -15
  182. package/esm/parts/Headers/HeaderCellGroup.js +26 -17
  183. package/esm/parts/Headers/HeaderCellTitle.js +60 -26
  184. package/esm/parts/Headers/HeaderResizer.js +20 -11
  185. package/esm/parts/Headers/index.js +4 -2
  186. package/esm/parts/Headers/useHeaderCellConfig.js +12 -7
  187. package/esm/parts/Headers/useHeaderCellHandlers.js +31 -20
  188. package/esm/parts/HoC/withConditionalDnDColumnContext.js +49 -18
  189. package/esm/parts/HoC/withConditionalDnDRowContext.js +16 -11
  190. package/esm/parts/HoC/withConditionalDnDSortableContext.js +22 -12
  191. package/esm/parts/HoC/withDnDSortableColumnContext.js +11 -20
  192. package/esm/parts/HoC/withDnDSortableRowContext.js +9 -18
  193. package/esm/parts/Row.js +13 -10
  194. package/esm/parts/RowLoading.js +11 -5
  195. package/esm/parts/RowVariants/RowVariantHeader.js +33 -20
  196. package/esm/parts/RowVariants/RowVariantPrimary.js +10 -9
  197. package/esm/parts/RowVariants/RowVariantSecondary.js +10 -9
  198. package/esm/parts/RowVariants/index.js +21 -12
  199. package/esm/parts/Rows.js +9 -2
  200. package/esm/parts/SortByCaret.js +16 -14
  201. package/esm/parts/SortableHeaderCell.js +5 -0
  202. package/esm/parts/TableContent.js +18 -8
  203. package/esm/parts/VirtualRowsList.js +12 -5
  204. package/esm/prop-types.js +5 -0
  205. package/esm/redux/reducers/headersReducers/logic.js +10 -4
  206. package/esm/styled.js +113 -97
  207. package/package.json +55 -108
  208. package/types/DataTable.d.ts +245 -43
  209. package/types/DataTableSchema.d.ts +245 -43
  210. package/types/addons/Filters/Components/CurrencyRangeFilter/index.d.ts +3 -0
  211. package/types/addons/Filters/Components/{TextInputFilter → DateSwitcherFilter}/index.d.ts +1 -1
  212. package/types/addons/Filters/Components/SelectFilter/BaseSelectFilter.d.ts +7 -1
  213. package/types/addons/Filters/Components/SelectFilter/components.d.ts +6 -6
  214. package/types/addons/Filters/Components/index.d.ts +2 -1
  215. package/types/configs/constants.d.ts +3 -3
  216. package/types/exported-related/FilterPopover.d.ts +1 -1
  217. package/types/exported-related/FilterTypes.d.ts +2 -1
  218. package/types/exported-related/Filters/currencyRangeFilterFn.d.ts +5 -0
  219. package/types/exported-related/Filters/dateSwitcherFilterFn.d.ts +6 -0
  220. package/types/exported-related/Filters/index.d.ts +1 -1
  221. package/types/exported-related/Filters/multiSelectFilterFn.d.ts +3 -1
  222. package/types/exported-related/Filters/singleDateFilterFn.d.ts +1 -1
  223. package/types/exported-related/Filters/singleSelectFilterFn.d.ts +3 -1
  224. package/types/exported-related/RowRenderer/useRowRendererHandlers.d.ts +1 -0
  225. package/types/exported-related/Toolbar/Toolbar.d.ts +2 -4
  226. package/types/helpers/refs-helpers.d.ts +1 -1
  227. package/types/parts/FilterBar/components/DateSwitcherPill.d.ts +6 -0
  228. package/types/parts/FilterBar/components/MultiSelectPill.d.ts +2 -2
  229. package/types/parts/FilterBar/components/SelectPill.d.ts +2 -2
  230. package/types/parts/FilterBar/components/index.d.ts +1 -1
  231. package/types/parts/FilterBar/styled.d.ts +167 -32
  232. package/types/parts/FilterBar/types.d.ts +10 -1
  233. package/types/parts/Headers/HeaderCellGroup.d.ts +4 -3
  234. package/types/parts/Row.d.ts +2 -1
  235. package/types/styled.d.ts +23 -21
  236. package/types/types/props.d.ts +14 -4
  237. package/cjs/addons/Filters/Components/TextInputFilter/index.js +0 -85
  238. package/cjs/addons/Pagination/ActiveZoneButtons.js +0 -63
  239. package/cjs/addons/Pagination/PagesButtons.js +0 -77
  240. package/cjs/addons/Pagination/PerPageSelector.js +0 -84
  241. package/cjs/exported-related/Filters/textFilterFn.js +0 -10
  242. package/cjs/helpers/dndkit/hierarchy/customCollisionDetection.js +0 -65
  243. package/cjs/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +0 -128
  244. package/cjs/helpers/dndkit/hierarchy/types.js +0 -2
  245. package/cjs/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js +0 -54
  246. package/cjs/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js +0 -36
  247. package/cjs/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +0 -92
  248. package/cjs/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +0 -76
  249. package/cjs/helpers/dndkit/tree/customCollisionDetection.js +0 -86
  250. package/cjs/helpers/dndkit/tree/getTreeKeyboardCoordinates.js +0 -126
  251. package/cjs/helpers/dndkit/tree/types.js +0 -2
  252. package/cjs/helpers/dndkit/tree/useTreeActionHandlers.js +0 -74
  253. package/cjs/helpers/dndkit/tree/useTreeAnnouncements.js +0 -55
  254. package/cjs/helpers/dndkit/tree/useTreeDndkitConfig.js +0 -127
  255. package/cjs/helpers/dndkit/tree/useTreePreviewHandlers.js +0 -49
  256. package/cjs/helpers/dndkit/types.js +0 -2
  257. package/cjs/helpers/dndkit/utilities.js +0 -51
  258. package/cjs/package.json +0 -7
  259. package/cjs/parts/FilterBar/components/TextPill.js +0 -31
  260. package/cjs/parts/HoC/DragOverlayContext.js +0 -11
  261. package/esm/addons/Filters/Components/TextInputFilter/index.js +0 -76
  262. package/esm/addons/Pagination/ActiveZoneButtons.js +0 -57
  263. package/esm/addons/Pagination/PagesButtons.js +0 -69
  264. package/esm/addons/Pagination/PerPageSelector.js +0 -73
  265. package/esm/exported-related/Filters/textFilterFn.js +0 -6
  266. package/esm/helpers/dndkit/hierarchy/customCollisionDetection.js +0 -61
  267. package/esm/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +0 -120
  268. package/esm/helpers/dndkit/hierarchy/types.js +0 -1
  269. package/esm/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js +0 -50
  270. package/esm/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js +0 -32
  271. package/esm/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +0 -86
  272. package/esm/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +0 -72
  273. package/esm/helpers/dndkit/tree/customCollisionDetection.js +0 -82
  274. package/esm/helpers/dndkit/tree/getTreeKeyboardCoordinates.js +0 -118
  275. package/esm/helpers/dndkit/tree/types.js +0 -1
  276. package/esm/helpers/dndkit/tree/useTreeActionHandlers.js +0 -70
  277. package/esm/helpers/dndkit/tree/useTreeAnnouncements.js +0 -51
  278. package/esm/helpers/dndkit/tree/useTreeDndkitConfig.js +0 -121
  279. package/esm/helpers/dndkit/tree/useTreePreviewHandlers.js +0 -45
  280. package/esm/helpers/dndkit/types.js +0 -1
  281. package/esm/helpers/dndkit/utilities.js +0 -46
  282. package/esm/package.json +0 -7
  283. package/esm/parts/FilterBar/components/TextPill.js +0 -23
  284. package/esm/parts/HoC/DragOverlayContext.js +0 -7
  285. package/types/addons/Pagination/ActiveZoneButtons.d.ts +0 -9
  286. package/types/addons/Pagination/PagesButtons.d.ts +0 -4
  287. package/types/addons/Pagination/PerPageSelector.d.ts +0 -8
  288. package/types/exported-related/Filters/textFilterFn.d.ts +0 -2
  289. package/types/helpers/dndkit/hierarchy/customCollisionDetection.d.ts +0 -3
  290. package/types/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.d.ts +0 -3
  291. package/types/helpers/dndkit/hierarchy/types.d.ts +0 -66
  292. package/types/helpers/dndkit/hierarchy/useHierarchyActionHandlers.d.ts +0 -2
  293. package/types/helpers/dndkit/hierarchy/useHierarchyAnnouncements.d.ts +0 -3
  294. package/types/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.d.ts +0 -3
  295. package/types/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.d.ts +0 -2
  296. package/types/helpers/dndkit/tree/customCollisionDetection.d.ts +0 -4
  297. package/types/helpers/dndkit/tree/getTreeKeyboardCoordinates.d.ts +0 -3
  298. package/types/helpers/dndkit/tree/types.d.ts +0 -83
  299. package/types/helpers/dndkit/tree/useTreeActionHandlers.d.ts +0 -2
  300. package/types/helpers/dndkit/tree/useTreeAnnouncements.d.ts +0 -4
  301. package/types/helpers/dndkit/tree/useTreeDndkitConfig.d.ts +0 -3
  302. package/types/helpers/dndkit/tree/useTreePreviewHandlers.d.ts +0 -2
  303. package/types/helpers/dndkit/types.d.ts +0 -20
  304. package/types/helpers/dndkit/utilities.d.ts +0 -7
  305. package/types/parts/FilterBar/components/TextPill.d.ts +0 -2
  306. package/types/parts/HoC/DragOverlayContext.d.ts +0 -6
@@ -1,76 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
- var constants = require('../../../configs/constants.js');
7
- require('react-virtual');
8
- require('../../../configs/useRowFlattenization.js');
9
- require('@babel/runtime/helpers/defineProperty');
10
- require('@babel/runtime/helpers/jsx');
11
- require('@elliemae/ds-icons/ArrowShortReturn');
12
- require('styled-components');
13
- require('@elliemae/ds-icons');
14
- require('../../../styled.js');
15
- require('react/jsx-runtime');
16
- require('@elliemae/ds-form/Checkbox');
17
- require('@elliemae/ds-form/Radio');
18
- require('../../../parts/TableContent.js');
19
- require('@elliemae/ds-grid');
20
- require('@elliemae/ds-circular-progress-indicator');
21
- require('@elliemae/ds-icons/WarningTriangle');
22
- require('@elliemae/ds-system');
23
- require('@elliemae/ds-button');
24
- require('../../../DataTableContext.js');
25
- require('../../../parts/Row.js');
26
- require('../../../parts/Footer.js');
27
- require('@elliemae/ds-icons/GripperVertical');
28
- require('../../../parts/HoC/SortableItemContext.js');
29
-
30
- const useHierarchyPreviewHandlers = ({
31
- setOverId,
32
- setActiveId
33
- }) => {
34
- const resetState = React.useCallback(() => {
35
- setOverId(null);
36
- setActiveId(null);
37
- document.body.style.setProperty('cursor', '');
38
- const el = document.querySelector(`[data-testid="${constants.DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER}"]`);
39
-
40
- el.onscroll = () => null;
41
- }, [setOverId, setActiveId]);
42
- const handlePreviewDragStart = React.useCallback(({
43
- active: {
44
- id
45
- }
46
- }) => {
47
- setActiveId(id);
48
- setOverId(id);
49
- document.body.style.setProperty('cursor', 'grabbing');
50
- const el = document.querySelector(`[data-testid="${constants.DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER}"]`);
51
- const y = el.scrollTop;
52
-
53
- el.onscroll = () => el.scrollTo(0, y);
54
- }, [setActiveId, setOverId]);
55
- const handlePreviewDragMove = React.useCallback(() => null, []);
56
- const handlePreviewDragOver = React.useCallback(({
57
- over
58
- }) => {
59
- setOverId((over === null || over === void 0 ? void 0 : over.id) ?? null);
60
- }, [setOverId]);
61
- const handlePreviewDragEnd = React.useCallback(() => {
62
- resetState();
63
- }, [resetState]);
64
- const handlePreviewDragCancel = React.useCallback(() => {
65
- resetState();
66
- }, [resetState]);
67
- return {
68
- handlePreviewDragStart,
69
- handlePreviewDragMove,
70
- handlePreviewDragOver,
71
- handlePreviewDragEnd,
72
- handlePreviewDragCancel
73
- };
74
- };
75
-
76
- exports.useHierarchyPreviewHandlers = useHierarchyPreviewHandlers;
@@ -1,86 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var SortableItemContext = require('../../../parts/HoC/SortableItemContext.js');
6
-
7
- /* eslint-disable complexity */
8
- const DUMMY_ID = 'DUMMY_ID_INTERNAL_USE_ONLY';
9
- const RECT_UP = {
10
- offsetTop: -Infinity,
11
- offsetLeft: 0,
12
- // Doesn't matter,
13
- width: 0,
14
- // Doesn't matter
15
- height: 0 // Doesn't matter
16
-
17
- };
18
- const RECT_DOWN = {
19
- offsetTop: Infinity,
20
- offsetLeft: 0,
21
- // Doesn't matter,
22
- width: 0,
23
- // Doesn't matter
24
- height: 0 // Doesn't matter
25
-
26
- }; // Percentage of height to take into consideration when looking for colliding rects
27
-
28
- const thresholdRatio = 0.2; // Percentage to be inside
29
-
30
- const insideThreshold = 0.7;
31
- const customCollisionDetection = (activeId, visibleItemsDictionary, setDropIndicatorPosition, maxDragAndDropLevel, lastPosition, setLastPosition) => (rects, rect) => {
32
- const originalRect = rects.find(([rectId]) => rectId === activeId); // We first check if the item was moved up or down
33
- // This modifies how to search the matching colliding rect
34
-
35
- let isUp = lastPosition === 'up';
36
-
37
- if (originalRect) {
38
- isUp = originalRect[1].offsetTop > rect.top;
39
- } // Threshold
40
-
41
-
42
- const threshold = rect.height * thresholdRatio;
43
- let collidingRect = null;
44
-
45
- if (isUp) {
46
- // Up -- We need to find the first rectangle downwards
47
- collidingRect = rects.reduce((acc, [rectID, rectData]) => {
48
- if (rectData.offsetTop + threshold > rect.top && rectData.offsetTop < acc[1].offsetTop) {
49
- return [rectID, rectData];
50
- }
51
-
52
- return acc;
53
- }, [DUMMY_ID, RECT_DOWN]);
54
- } else {
55
- // Down -- We need to find the first rectangle upwards
56
- collidingRect = rects.reduce((acc, [rectID, rectData]) => {
57
- if (rectData.offsetTop - threshold < rect.top && rectData.offsetTop > acc[1].offsetTop) {
58
- return [rectID, rectData];
59
- }
60
-
61
- return acc;
62
- }, [DUMMY_ID, RECT_UP]);
63
- } // If we didn't find a match, return null
64
-
65
-
66
- if (collidingRect[0] === DUMMY_ID) {
67
- return null;
68
- } // Calculate the intersection interval
69
-
70
-
71
- const [top, bottom] = [Math.max(rect.top, collidingRect[1].offsetTop), Math.min(rect.bottom, collidingRect[1].offsetTop + collidingRect[1].height)]; // Calculate the percentage of intersection
72
-
73
- const intersectionPercentage = Math.abs(bottom - top) / collidingRect[1].height;
74
-
75
- if (intersectionPercentage > insideThreshold && visibleItemsDictionary[collidingRect[0]].depth + 1 <= maxDragAndDropLevel && collidingRect[0] !== activeId) {
76
- setDropIndicatorPosition(SortableItemContext.DropIndicatorPosition.Inside);
77
- } else {
78
- setDropIndicatorPosition(isUp ? SortableItemContext.DropIndicatorPosition.Before : SortableItemContext.DropIndicatorPosition.After);
79
- }
80
-
81
- if (isUp && lastPosition !== 'up') setLastPosition('up');else if (!isUp && lastPosition !== 'down') setLastPosition('down'); // Return the id of the match rectangle
82
-
83
- return collidingRect[0];
84
- };
85
-
86
- exports.customCollisionDetection = customCollisionDetection;
@@ -1,126 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- var core = require('@dnd-kit/core');
7
- var SortableItemContext = require('../../../parts/HoC/SortableItemContext.js');
8
-
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
-
11
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
12
-
13
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
14
-
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
16
- const directions = [core.KeyboardCode.Down, core.KeyboardCode.Right, core.KeyboardCode.Up, core.KeyboardCode.Left];
17
- const horizontal = [core.KeyboardCode.Left, core.KeyboardCode.Right]; // const vertical: string[] = [KeyboardCode.Up, KeyboardCode.Down];
18
-
19
- const getVerticalKeyboardCoordinates = ({
20
- items,
21
- active,
22
- over,
23
- event,
24
- currentCoordinates,
25
- droppableContainers,
26
- translatedRect,
27
- dropIndicatorPosition,
28
- maxDragAndDropLevel
29
- }) => {
30
- if (horizontal.includes(event.code)) return undefined;
31
- const activeRect = droppableContainers[active].rect.current;
32
- const overRect = over.rect;
33
- const layoutRects = []; // Get the reacheable rects depending on the arrow key pressed
34
-
35
- Object.entries(droppableContainers).forEach(([id, container]) => {
36
- if (container !== null && container !== void 0 && container.disabled || !overRect) {
37
- return;
38
- }
39
-
40
- const node = container === null || container === void 0 ? void 0 : container.node.current;
41
-
42
- if (!node) {
43
- return;
44
- }
45
-
46
- const rect = core.getViewRect(node);
47
-
48
- if (event.code === core.KeyboardCode.Down && translatedRect.top - 2 <= rect.top) {
49
- layoutRects.push([id, rect]);
50
- } else if (event.code === core.KeyboardCode.Up && translatedRect.top >= rect.top) {
51
- layoutRects.push([id, rect]);
52
- }
53
- });
54
- const closestId = core.closestCorners(layoutRects, translatedRect);
55
- if (!closestId) return undefined;
56
- const closestItem = items.find(item => item.uid === closestId);
57
- const closestRect = core.getViewRect(droppableContainers[closestId].node.current);
58
-
59
- if (event.code === core.KeyboardCode.Up) {
60
- // If the drop indicator is inside (or over ourselves)
61
- // We are gonna go to the before position
62
- // Else we are gonna go inside the over rect
63
- if (dropIndicatorPosition === SortableItemContext.DropIndicatorPosition.Inside || closestId === active || closestItem.depth + 1 > maxDragAndDropLevel) {
64
- return _objectSpread(_objectSpread({}, currentCoordinates), {}, {
65
- y: closestRect.top - translatedRect.height / 2
66
- });
67
- }
68
-
69
- return _objectSpread(_objectSpread({}, currentCoordinates), {}, {
70
- y: closestRect.top + Math.abs(closestRect.height - activeRect.height) / 2
71
- });
72
- } // If the drop indicator is inside (or over ourselves)
73
- // We are gonna go to the after position
74
- // Else we are gonna go inside the over rect
75
-
76
-
77
- if (dropIndicatorPosition === SortableItemContext.DropIndicatorPosition.Inside || closestId === active || closestItem.depth + 1 > maxDragAndDropLevel) {
78
- return _objectSpread(_objectSpread({}, currentCoordinates), {}, {
79
- y: closestRect.top + translatedRect.height / 2
80
- });
81
- }
82
-
83
- return _objectSpread(_objectSpread({}, currentCoordinates), {}, {
84
- y: closestRect.top + Math.abs(closestRect.height - activeRect.height) / 2
85
- });
86
- };
87
-
88
- const getTreeKeyboardCoordinates = (context, isHorizontalDnD, maxDragAndDropLevel) => (event, {
89
- active,
90
- currentCoordinates,
91
- context: {
92
- over,
93
- translatedRect,
94
- droppableContainers
95
- }
96
- }) => {
97
- if (directions.includes(event.code)) {
98
- if (!translatedRect) {
99
- return undefined;
100
- }
101
-
102
- const {
103
- current: {
104
- items,
105
- dropIndicatorPosition
106
- }
107
- } = context;
108
- const args = {
109
- items,
110
- active,
111
- over,
112
- event,
113
- currentCoordinates,
114
- droppableContainers,
115
- translatedRect,
116
- dropIndicatorPosition,
117
- maxDragAndDropLevel
118
- };
119
- if (isHorizontalDnD) return undefined;
120
- return getVerticalKeyboardCoordinates(args);
121
- }
122
-
123
- return undefined;
124
- };
125
-
126
- exports.getTreeKeyboardCoordinates = getTreeKeyboardCoordinates;
@@ -1,2 +0,0 @@
1
- 'use strict';
2
-
@@ -1,74 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var sortable = require('@dnd-kit/sortable');
6
- var lodash = require('lodash');
7
- var React = require('react');
8
- var SortableItemContext = require('../../../parts/HoC/SortableItemContext.js');
9
-
10
- const useTreeActionHandlers = ({
11
- handlePreviewDragStart,
12
- handlePreviewDragMove,
13
- handlePreviewDragOver,
14
- handlePreviewDragEnd,
15
- handlePreviewDragCancel,
16
- onReorder,
17
- flattenedItems,
18
- projected,
19
- dropIndicatorPosition
20
- }) => {
21
- const onDragStart = React.useCallback(e => {
22
- handlePreviewDragStart(e);
23
- }, [handlePreviewDragStart]);
24
- const onDragMove = React.useCallback(e => {
25
- handlePreviewDragMove(e);
26
- }, [handlePreviewDragMove]);
27
- const onDragOver = React.useCallback(e => {
28
- handlePreviewDragOver(e);
29
- }, [handlePreviewDragOver]);
30
- const onDragEnd = React.useCallback(e => {
31
- handlePreviewDragEnd(e);
32
- const {
33
- active,
34
- over
35
- } = e;
36
- if (over === null) return;
37
- const activeIndex = flattenedItems.findIndex(item => item.uid === active.id);
38
- let considerExpanding = null;
39
- let overIndex = flattenedItems.findIndex(item => item.uid === over.id); // If drop indicator is inside, then put it last,
40
- // It will be reconstructed well later
41
-
42
- if (dropIndicatorPosition === SortableItemContext.DropIndicatorPosition.Inside) {
43
- var _flattenedItems$overI;
44
-
45
- considerExpanding = over.id;
46
- overIndex = flattenedItems[overIndex].realIndex + (((_flattenedItems$overI = flattenedItems[overIndex].original.subRows) === null || _flattenedItems$overI === void 0 ? void 0 : _flattenedItems$overI.length) ?? 0) + 1;
47
- } // If we are dropping the item in a new position, or new depth
48
-
49
-
50
- if (activeIndex !== overIndex || flattenedItems[activeIndex].depth !== projected.depth) {
51
- // Change parent and depth from projected data
52
- flattenedItems[activeIndex].parentId = projected.parentId;
53
- flattenedItems[activeIndex].depth = projected.depth; // If same index, don't move the array, just copy it
54
-
55
- const newFlattenedData = activeIndex !== overIndex ? sortable.arrayMove(flattenedItems, activeIndex, overIndex) : lodash.cloneDeep(flattenedItems);
56
- onReorder(newFlattenedData, {
57
- targetIndex: overIndex,
58
- fromIndex: activeIndex
59
- }, considerExpanding);
60
- }
61
- }, [handlePreviewDragEnd, flattenedItems, projected, onReorder, dropIndicatorPosition]);
62
- const onDragCancel = React.useCallback(e => {
63
- handlePreviewDragCancel(e);
64
- }, [handlePreviewDragCancel]);
65
- return {
66
- onDragStart,
67
- onDragMove,
68
- onDragOver,
69
- onDragEnd,
70
- onDragCancel
71
- };
72
- };
73
-
74
- exports.useTreeActionHandlers = useTreeActionHandlers;
@@ -1,55 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
- var SortableItemContext = require('../../../parts/HoC/SortableItemContext.js');
7
-
8
- const useTreeAnnouncements = (visibleItemsDictionary, dropIndicatorPosition) => {
9
- const onDragStart = React.useCallback(id => `Picked up draggable item from position ${visibleItemsDictionary[id].realIndex + 1}.`, [visibleItemsDictionary]);
10
- const onDragMove = React.useCallback((id, overId) => {
11
- if (overId) {
12
- const overIndex = visibleItemsDictionary[overId].realIndex + 1;
13
-
14
- if (dropIndicatorPosition === SortableItemContext.DropIndicatorPosition.Inside) {
15
- return `Draggable item was moved inside the item at position ${overIndex}.`;
16
- }
17
-
18
- if (dropIndicatorPosition === SortableItemContext.DropIndicatorPosition.Before) {
19
- return `Draggable item was moved to position ${overIndex - 1}.`;
20
- }
21
-
22
- return `Draggable item was moved to position ${overIndex}.`;
23
- }
24
-
25
- return `Draggable item is no longer over a droppable area.`;
26
- }, [visibleItemsDictionary, dropIndicatorPosition]);
27
- const onDragOver = onDragMove;
28
- const onDragEnd = React.useCallback((id, overId) => {
29
- if (overId) {
30
- const overIndex = visibleItemsDictionary[overId].realIndex + 1;
31
-
32
- if (dropIndicatorPosition === SortableItemContext.DropIndicatorPosition.Inside) {
33
- return `Draggable item was dropped inside the item at position ${overIndex}.`;
34
- }
35
-
36
- if (dropIndicatorPosition === SortableItemContext.DropIndicatorPosition.Before) {
37
- return `Draggable item was dropped over position ${overIndex - 1}.`;
38
- }
39
-
40
- return `Draggable item was dropped over position ${overIndex}.`;
41
- }
42
-
43
- return `Draggable item was dropped at it's original position.`;
44
- }, [dropIndicatorPosition, visibleItemsDictionary]);
45
- const onDragCancel = React.useCallback(id => `Dragging was cancelled. Draggable item from position ${visibleItemsDictionary[id].realIndex + 1} was dropped at it's initial position.`, [visibleItemsDictionary]);
46
- return {
47
- onDragStart,
48
- onDragOver,
49
- onDragMove,
50
- onDragEnd,
51
- onDragCancel
52
- };
53
- };
54
-
55
- exports.useTreeAnnouncements = useTreeAnnouncements;
@@ -1,127 +0,0 @@
1
- 'use strict';
2
-
3
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
- var React = require('react');
5
- var core = require('@dnd-kit/core');
6
- var sortable = require('@dnd-kit/sortable');
7
- var useTreePreviewHandlers = require('./useTreePreviewHandlers.js');
8
- var getTreeKeyboardCoordinates = require('./getTreeKeyboardCoordinates.js');
9
- var utilities = require('../utilities.js');
10
- var useTreeActionHandlers = require('./useTreeActionHandlers.js');
11
- var customCollisionDetection = require('./customCollisionDetection.js');
12
- var useTreeAnnouncements = require('./useTreeAnnouncements.js');
13
-
14
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
-
16
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
17
-
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
19
-
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
21
- // if second parameter is true, the space will be done on the horizontal axis
22
-
23
- const adjustTranslate = ({
24
- transform
25
- }, isHorizontalDnD = false) => {
26
- const newTransform = _objectSpread({}, transform);
27
-
28
- if (isHorizontalDnD) {
29
- newTransform.x = transform.x + 25;
30
- } else {
31
- newTransform.x = transform.x + 15;
32
- }
33
-
34
- return newTransform;
35
- };
36
-
37
- const layoutMeasuring = {
38
- strategy: core.LayoutMeasuringStrategy.BeforeDragging
39
- };
40
-
41
- const useTreeDndkitConfig = ({
42
- flattenedItems,
43
- visibleItems: preVisibleItems,
44
- isHorizontalDnD = false,
45
- isExpandable = false,
46
- onReorder,
47
- maxDragAndDropLevel
48
- }) => {
49
- var _visibleItemsDictiona;
50
-
51
- const [activeId, setActiveId] = React.useState(null);
52
- const [overId, setOverId] = React.useState(null);
53
- const [dropIndicatorPosition, setDropIndicatorPosition] = React.useState(null);
54
- const [lastPosition, setLastPosition] = React.useState(null); // Remove activeId's children
55
-
56
- const visibleItems = React.useMemo(() => utilities.removeChildrenOf(preVisibleItems, activeId), [preVisibleItems, activeId]); // Sorted ids for the library
57
-
58
- const sortedIds = React.useMemo(() => visibleItems.map(item => item.uid), [visibleItems]);
59
- /**
60
- * Dictionary from UID to ITEM
61
- * This dictionary is computed since on every DnD move, I need to know the
62
- * depth of a particular row, so O(1) per DnD move instead of O(#ITEMS)
63
- */
64
-
65
- const visibleItemsDictionary = React.useMemo(() => {
66
- // Using plain for to achieve O(#ITEMS) performance
67
- const dictionary = {};
68
- visibleItems.forEach(item => {
69
- dictionary[item.uid] = item;
70
- });
71
- return dictionary;
72
- }, [visibleItems]);
73
- const modifiers = React.useMemo(() => [options => adjustTranslate(options, isHorizontalDnD)], [isHorizontalDnD]);
74
- const sensorContext = React.useRef({
75
- items: visibleItems,
76
- dropIndicatorPosition,
77
- setDropIndicatorPosition
78
- });
79
- React.useEffect(() => {
80
- sensorContext.current = {
81
- items: visibleItems,
82
- dropIndicatorPosition,
83
- setDropIndicatorPosition
84
- };
85
- }, [visibleItems, dropIndicatorPosition, setDropIndicatorPosition]);
86
- const coordinateGetter = React.useMemo(() => getTreeKeyboardCoordinates.getTreeKeyboardCoordinates(sensorContext, isHorizontalDnD, maxDragAndDropLevel), [sensorContext, isHorizontalDnD, maxDragAndDropLevel]);
87
- const sensors = core.useSensors(core.useSensor(core.PointerSensor), core.useSensor(core.KeyboardSensor, {
88
- coordinateGetter
89
- })); // where is the activeItem being positioned (depth and parent)
90
-
91
- const projected = React.useMemo(() => overId ? utilities.getProjection(visibleItems, visibleItemsDictionary, overId, dropIndicatorPosition, isExpandable) : null, [overId, visibleItems, visibleItemsDictionary, dropIndicatorPosition, isExpandable]);
92
- const dragPreviewHandlers = useTreePreviewHandlers.useTreePreviewHandlers({
93
- setActiveId,
94
- setOverId,
95
- setDropIndicatorPosition
96
- });
97
- const dragActionHandlers = useTreeActionHandlers.useTreeActionHandlers(_objectSpread(_objectSpread({}, dragPreviewHandlers), {}, {
98
- onReorder,
99
- projected,
100
- flattenedItems,
101
- dropIndicatorPosition
102
- }));
103
- const announcements = useTreeAnnouncements.useTreeAnnouncements(visibleItemsDictionary, dropIndicatorPosition);
104
- const dndContextProps = React.useMemo(() => _objectSpread({
105
- announcements,
106
- modifiers,
107
- sensors,
108
- layoutMeasuring,
109
- collisionDetection: customCollisionDetection.customCollisionDetection(activeId, visibleItemsDictionary, setDropIndicatorPosition, maxDragAndDropLevel, lastPosition, setLastPosition)
110
- }, dragActionHandlers), [announcements, modifiers, sensors, dragActionHandlers, visibleItemsDictionary, setDropIndicatorPosition, activeId, maxDragAndDropLevel, lastPosition, setLastPosition]);
111
- const sortableContextProps = React.useMemo(() => ({
112
- items: sortedIds,
113
- strategy: isHorizontalDnD ? sortable.horizontalListSortingStrategy : sortable.verticalListSortingStrategy
114
- }), [sortedIds, isHorizontalDnD]);
115
- return {
116
- dndContextProps,
117
- sortableContextProps,
118
- activeId,
119
- activeIndex: ((_visibleItemsDictiona = visibleItemsDictionary[activeId]) === null || _visibleItemsDictiona === void 0 ? void 0 : _visibleItemsDictiona.realIndex) ?? -1,
120
- overId,
121
- depth: projected ? projected.depth : 0,
122
- dropIndicatorPosition,
123
- visibleItems
124
- };
125
- };
126
-
127
- module.exports = useTreeDndkitConfig;
@@ -1,49 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
- var SortableItemContext = require('../../../parts/HoC/SortableItemContext.js');
7
-
8
- const useTreePreviewHandlers = ({
9
- setOverId,
10
- setActiveId,
11
- setDropIndicatorPosition
12
- }) => {
13
- const resetState = React.useCallback(() => {
14
- setOverId(null);
15
- setActiveId(null);
16
- document.body.style.setProperty('cursor', '');
17
- }, [setOverId, setActiveId]);
18
- const handlePreviewDragStart = React.useCallback(({
19
- active: {
20
- id
21
- }
22
- }) => {
23
- setActiveId(id);
24
- setOverId(id);
25
- setDropIndicatorPosition(SortableItemContext.DropIndicatorPosition.Inside);
26
- document.body.style.setProperty('cursor', 'grabbing');
27
- }, [setActiveId, setDropIndicatorPosition, setOverId]);
28
- const handlePreviewDragMove = React.useCallback(() => null, []);
29
- const handlePreviewDragOver = React.useCallback(({
30
- over
31
- }) => {
32
- setOverId((over === null || over === void 0 ? void 0 : over.id) ?? null);
33
- }, [setOverId]);
34
- const handlePreviewDragEnd = React.useCallback(() => {
35
- resetState();
36
- }, [resetState]);
37
- const handlePreviewDragCancel = React.useCallback(() => {
38
- resetState();
39
- }, [resetState]);
40
- return {
41
- handlePreviewDragStart,
42
- handlePreviewDragMove,
43
- handlePreviewDragOver,
44
- handlePreviewDragEnd,
45
- handlePreviewDragCancel
46
- };
47
- };
48
-
49
- exports.useTreePreviewHandlers = useTreePreviewHandlers;
@@ -1,2 +0,0 @@
1
- 'use strict';
2
-
@@ -1,51 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var SortableItemContext = require('../../parts/HoC/SortableItemContext.js');
6
-
7
- /* eslint-disable max-params */
8
-
9
- const getMinDepth = item => {
10
- if (item) return item.depth;
11
- return 0;
12
- };
13
-
14
- const getProjection = (items, visibleItemsDictionary, overId, dropIndicatorPosition, isExpandable) => {
15
- const overItemIndex = visibleItemsDictionary[overId].realIndex;
16
- const previousItem = items[overItemIndex];
17
- const nextItem = items[overItemIndex + 1];
18
-
19
- if (dropIndicatorPosition === SortableItemContext.DropIndicatorPosition.Inside && isExpandable) {
20
- return {
21
- depth: visibleItemsDictionary[overId].depth + 1,
22
- parentId: overId
23
- };
24
- }
25
-
26
- if (dropIndicatorPosition === SortableItemContext.DropIndicatorPosition.Before) {
27
- return {
28
- depth: getMinDepth(previousItem),
29
- parentId: previousItem.parentId
30
- };
31
- }
32
-
33
- return {
34
- depth: getMinDepth(nextItem),
35
- parentId: nextItem === null || nextItem === void 0 ? void 0 : nextItem.parentId
36
- };
37
- };
38
- const removeChildrenOf = (items, id) => {
39
- const excludeParentIds = [id];
40
- return items.filter(item => {
41
- if (item.parentId !== null && excludeParentIds.includes(item.parentId)) {
42
- excludeParentIds.push(item.uid);
43
- return false;
44
- }
45
-
46
- return true;
47
- });
48
- };
49
-
50
- exports.getProjection = getProjection;
51
- exports.removeChildrenOf = removeChildrenOf;
package/cjs/package.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "type": "commonjs",
3
- "sideEffects": [
4
- "*.css",
5
- "*.scss"
6
- ]
7
- }