@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,63 +0,0 @@
1
- 'use strict';
2
-
3
- var _jsx = require('@babel/runtime/helpers/jsx');
4
- require('react');
5
- var jsxRuntime = require('react/jsx-runtime');
6
-
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
-
9
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
10
-
11
- var _span, _span2;
12
-
13
- const ActiveZoneButtons = props => {
14
- const {
15
- pageIndex,
16
- pageCount,
17
- onPageChange,
18
- ButtonComponent
19
- } = props;
20
- const pageValue = pageIndex + 1;
21
- const hasNumberOne = pageIndex >= 2;
22
- const hasPreEllipsis = pageIndex >= 3;
23
- const hasLastNumber = pageIndex <= pageCount - 3;
24
- const hasPostEllipsis = pageIndex <= pageCount - 4;
25
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
26
- children: [hasNumberOne && /*#__PURE__*/_jsx__default['default'](ButtonComponent, {
27
- onClick: () => {
28
- onPageChange(1);
29
- },
30
- labelText: "1",
31
- buttonType: "secondary",
32
- "aria-label": "Go to page 1"
33
- }), hasPreEllipsis && (_span || (_span = /*#__PURE__*/_jsx__default['default']("span", {}, void 0, "..."))), pageIndex - 1 >= 0 ? /*#__PURE__*/_jsx__default['default'](ButtonComponent, {
34
- onClick: () => {
35
- onPageChange(pageIndex);
36
- },
37
- labelText: (pageValue - 1).toString(),
38
- buttonType: "secondary",
39
- "aria-label": `Go to page ${pageValue - 1}`
40
- }) : null, /*#__PURE__*/_jsx__default['default'](ButtonComponent, {
41
- onClick: () => null,
42
- labelText: pageValue.toString(),
43
- buttonType: "primary",
44
- "aria-label": `On page ${pageValue}`
45
- }), pageIndex + 1 < pageCount ? /*#__PURE__*/_jsx__default['default'](ButtonComponent, {
46
- onClick: () => {
47
- onPageChange(pageIndex + 2);
48
- },
49
- labelText: (pageValue + 1).toString(),
50
- buttonType: "secondary",
51
- "aria-label": `Go to page ${pageValue + 1}`
52
- }) : null, hasPostEllipsis && (_span2 || (_span2 = /*#__PURE__*/_jsx__default['default']("span", {}, void 0, "..."))), hasLastNumber && /*#__PURE__*/_jsx__default['default'](ButtonComponent, {
53
- onClick: () => {
54
- onPageChange(pageCount);
55
- },
56
- labelText: pageCount.toString(),
57
- buttonType: "secondary",
58
- "aria-label": `Go to page ${pageCount}`
59
- })]
60
- });
61
- };
62
-
63
- module.exports = ActiveZoneButtons;
@@ -1,77 +0,0 @@
1
- 'use strict';
2
-
3
- var _jsx = require('@babel/runtime/helpers/jsx');
4
- require('react');
5
- var DSButton = require('@elliemae/ds-button');
6
- var styled = require('styled-components');
7
- var ActiveZoneButtons = require('./ActiveZoneButtons.js');
8
- var constants = require('../../configs/constants.js');
9
- require('react-virtual');
10
- require('../../configs/useRowFlattenization.js');
11
- require('@babel/runtime/helpers/defineProperty');
12
- require('@elliemae/ds-icons/ArrowShortReturn');
13
- require('@elliemae/ds-icons');
14
- require('../../styled.js');
15
- var jsxRuntime = 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('../../DataTableContext.js');
24
- require('../../parts/Row.js');
25
- require('../../parts/Footer.js');
26
- require('@elliemae/ds-icons/GripperVertical');
27
- require('../../parts/HoC/SortableItemContext.js');
28
-
29
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
30
-
31
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
32
- var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
33
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
34
-
35
- const InlineDSButton = /*#__PURE__*/styled__default['default'](DSButton__default['default']).withConfig({
36
- componentId: "sc-eshyv3-0"
37
- })(["display:inline-block;margin:0 5px;"]);
38
-
39
- const PagesButtons = props => {
40
- const {
41
- canPreviousPage,
42
- canNextPage,
43
- pageIndex,
44
- pageCount,
45
- onNextPage,
46
- onPreviousPage,
47
- onPageChange
48
- } = props;
49
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
50
- children: [/*#__PURE__*/_jsx__default['default'](InlineDSButton, {
51
- onClick: () => {
52
- if (canPreviousPage) onPreviousPage();
53
- },
54
- disabled: !canPreviousPage,
55
- labelText: "Previous",
56
- buttonType: "secondary",
57
- "data-testid": constants.DATA_TESTID.DATA_TABLE_PAGINATION_PREVIOUS_BUTTON,
58
- "aria-label": "Go to previous page"
59
- }), /*#__PURE__*/_jsx__default['default'](ActiveZoneButtons, {
60
- pageIndex: pageIndex,
61
- pageCount: pageCount,
62
- onPageChange: onPageChange,
63
- ButtonComponent: InlineDSButton
64
- }), /*#__PURE__*/_jsx__default['default'](InlineDSButton, {
65
- onClick: () => {
66
- if (canNextPage) onNextPage();
67
- },
68
- disabled: !canNextPage,
69
- labelText: "Next",
70
- buttonType: "secondary",
71
- "data-testid": constants.DATA_TESTID.DATA_TABLE_PAGINATION_NEXT_BUTTON,
72
- "aria-label": "Go to next page"
73
- })]
74
- });
75
- };
76
-
77
- module.exports = PagesButtons;
@@ -1,84 +0,0 @@
1
- 'use strict';
2
-
3
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
- var _jsx = require('@babel/runtime/helpers/jsx');
5
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
6
- var React = require('react');
7
- var memoize = require('memoize-one');
8
- var utils = require('@elliemae/ds-utilities/utils');
9
- var DSComboBox = require('@elliemae/ds-form/ComboBox');
10
- var styled = require('styled-components');
11
- var jsxRuntime = require('react/jsx-runtime');
12
-
13
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
-
15
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
16
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
17
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
18
- var memoize__default = /*#__PURE__*/_interopDefaultLegacy(memoize);
19
- var DSComboBox__default = /*#__PURE__*/_interopDefaultLegacy(DSComboBox);
20
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
21
-
22
- var _span;
23
-
24
- const _excluded = ["children"];
25
-
26
- 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; }
27
-
28
- 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; }
29
- const InlineDSComboBox = /*#__PURE__*/styled__default['default'](DSComboBox__default['default']).withConfig({
30
- componentId: "sc-1oa1180-0"
31
- })(["display:inline-block;margin:0 5px;max-width:250px;"]); // eslint-disable-next-line react/prop-types
32
-
33
- const SingleValue = _ref => {
34
- let {
35
- children
36
- } = _ref,
37
- props = _objectWithoutProperties__default['default'](_ref, _excluded);
38
-
39
- return /*#__PURE__*/jsxRuntime.jsxs(DSComboBox.components.SingleValue, _objectSpread(_objectSpread({}, props), {}, {
40
- children: [children, " ", _span || (_span = /*#__PURE__*/_jsx__default['default']("span", {}, void 0, "per page"))]
41
- }));
42
- };
43
-
44
- const generateOption = value => ({
45
- value,
46
- label: value
47
- });
48
-
49
- const getOptions = memoize__default['default']((step, min, max) => {
50
- const options = utils.range(min, max + step, step).map(generateOption);
51
- return min === 0 ? options.slice(1, options.length) : options;
52
- });
53
-
54
- const PerPageSelector = props => {
55
- const {
56
- pageSize,
57
- pagination,
58
- setPageSize
59
- } = props;
60
- const options = React.useMemo(() => {
61
- const {
62
- perPageOptions,
63
- perPageStep = 5,
64
- minPerPage = 0,
65
- maxPerPage = 100
66
- } = pagination;
67
- if (perPageOptions) return perPageOptions.map(generateOption);
68
- return getOptions(perPageStep, minPerPage, maxPerPage);
69
- }, [pagination]);
70
- return /*#__PURE__*/_jsx__default['default'](InlineDSComboBox, {
71
- className: "em-ds-per-page-dropdown",
72
- "aria-label": "Rows per page selector",
73
- components: {
74
- SingleValue
75
- },
76
- onChange: setPageSize,
77
- options: options,
78
- searchable: false,
79
- value: pageSize,
80
- maxOptions: options.length
81
- });
82
- };
83
-
84
- module.exports = PerPageSelector;
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const textFilterFn = (unfilteredData, filterKey, filterValue) => {
6
- if (filterValue.length < 3) return unfilteredData;
7
- return unfilteredData.filter(datum => datum[filterKey].includes(filterValue));
8
- };
9
-
10
- exports.textFilterFn = textFilterFn;
@@ -1,65 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var constants = require('../../../configs/constants.js');
6
- require('react');
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
- /* eslint-disable @typescript-eslint/indent */
31
- const customCollisionDetection = (activeId, activeParent, dndItems) => (entries, target) => {
32
- var _document$querySelect;
33
-
34
- const entriesWithSameParent = entries.filter(([id]) => {
35
- var _dndItems$find;
36
-
37
- return ((_dndItems$find = dndItems.find(item => item.id === id)) === null || _dndItems$find === void 0 ? void 0 : _dndItems$find.parentId) === activeParent;
38
- });
39
- const dragOverlayRect = ((_document$querySelect = document.querySelector(`[data-testid="${constants.DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY}"]`)) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.getBoundingClientRect()) ?? {
40
- width: 150
41
- };
42
- const originalRect = entriesWithSameParent.find(([id]) => id === activeId);
43
-
44
- if (originalRect[1].offsetLeft <= target.offsetLeft && target.offsetLeft <= originalRect[1].offsetLeft + originalRect[1].width) {
45
- return originalRect[0];
46
- }
47
-
48
- const isLeft = target.offsetLeft <= originalRect[1].offsetLeft + dragOverlayRect.width / 2 + 5;
49
- let match = null; // If going to the left, search the closest offset left
50
- // Otherwise, get the closest offset right
51
-
52
- const collisionPoint = target.offsetLeft + dragOverlayRect.width / 2;
53
- entriesWithSameParent.forEach(entry => {
54
- const [, rect] = entry;
55
- const offsetRight = rect.offsetLeft + rect.width;
56
- if (!match) match = entry;else if (isLeft && Math.abs(collisionPoint - rect.offsetLeft) <= Math.abs(collisionPoint - match[1].offsetLeft)) {
57
- match = entry;
58
- } else if (!isLeft && Math.abs(collisionPoint - offsetRight) <= Math.abs(collisionPoint - match[1].offsetLeft - match[1].width)) {
59
- match = entry;
60
- }
61
- });
62
- return match === null ? null : match[0];
63
- };
64
-
65
- exports.customCollisionDetection = customCollisionDetection;
@@ -1,128 +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 constants = require('../../../configs/constants.js');
8
- require('react');
9
- require('react-virtual');
10
- require('../../../configs/useRowFlattenization.js');
11
- require('@babel/runtime/helpers/jsx');
12
- require('@elliemae/ds-icons/ArrowShortReturn');
13
- require('styled-components');
14
- require('@elliemae/ds-icons');
15
- require('../../../styled.js');
16
- require('react/jsx-runtime');
17
- require('@elliemae/ds-form/Checkbox');
18
- require('@elliemae/ds-form/Radio');
19
- require('../../../parts/TableContent.js');
20
- require('@elliemae/ds-grid');
21
- require('@elliemae/ds-circular-progress-indicator');
22
- require('@elliemae/ds-icons/WarningTriangle');
23
- require('@elliemae/ds-system');
24
- require('@elliemae/ds-button');
25
- require('../../../DataTableContext.js');
26
- require('../../../parts/Row.js');
27
- require('../../../parts/Footer.js');
28
- require('@elliemae/ds-icons/GripperVertical');
29
- require('../../../parts/HoC/SortableItemContext.js');
30
-
31
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
32
-
33
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
34
-
35
- 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; }
36
-
37
- 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; }
38
- const directions = [core.KeyboardCode.Down, core.KeyboardCode.Right, core.KeyboardCode.Up, core.KeyboardCode.Left];
39
- const vertical = [core.KeyboardCode.Up, core.KeyboardCode.Down];
40
-
41
- const getHorizontalKeyboardCoordinates = ({
42
- items,
43
- active,
44
- over,
45
- event,
46
- currentCoordinates,
47
- droppableContainers,
48
- translatedRect
49
- }) => {
50
- var _document$querySelect;
51
-
52
- if (vertical.includes(event.code)) return undefined;
53
- const activeItem = items.find(item => item.id === active);
54
- const overRect = over.rect;
55
- const layoutRects = []; // Get the reacheable rects depending on the arrow key pressed
56
-
57
- Object.entries(droppableContainers).forEach(([id, container]) => {
58
- if (container !== null && container !== void 0 && container.disabled || !overRect) {
59
- return;
60
- }
61
-
62
- const node = container === null || container === void 0 ? void 0 : container.node.current;
63
-
64
- if (!node) {
65
- return;
66
- }
67
-
68
- const itemParent = items.find(item => item.id === id).parentId;
69
- if (itemParent !== activeItem.parentId) return;
70
- const rect = core.getViewRect(node);
71
-
72
- if (event.code === core.KeyboardCode.Left && translatedRect.left > rect.right - 10) {
73
- layoutRects.push([id, rect]);
74
- } else if (event.code === core.KeyboardCode.Right && translatedRect.left < rect.left) {
75
- layoutRects.push([id, rect]);
76
- }
77
- });
78
- const dragOverlayRect = ((_document$querySelect = document.querySelector(`[data-testid="${constants.DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY}"]`)) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.getBoundingClientRect()) ?? {
79
- width: 150,
80
- left: 0
81
- };
82
- const closestId = core.closestCorners(layoutRects, translatedRect);
83
- if (!closestId) return undefined;
84
- const closestRect = core.getViewRect(droppableContainers[closestId].node.current);
85
- const activeRect = core.getViewRect(droppableContainers[active].node.current);
86
- return _objectSpread(_objectSpread({}, currentCoordinates), {}, {
87
- x: closestRect.left + (closestRect.width - dragOverlayRect.width) / 2 + (closestRect.offsetLeft < activeRect.left ? -1 : 1)
88
- });
89
- };
90
-
91
- const getHierarchyKeyboardCoordinates = (context, isHorizontalDnD) => (event, {
92
- active,
93
- currentCoordinates,
94
- context: {
95
- over,
96
- translatedRect,
97
- droppableContainers
98
- }
99
- }) => {
100
- if (directions.includes(event.code)) {
101
- event.preventDefault();
102
-
103
- if (!translatedRect) {
104
- return undefined;
105
- }
106
-
107
- const {
108
- current: {
109
- items
110
- }
111
- } = context;
112
- const args = {
113
- items,
114
- active,
115
- over,
116
- event,
117
- currentCoordinates,
118
- droppableContainers,
119
- translatedRect
120
- };
121
- if (isHorizontalDnD) return getHorizontalKeyboardCoordinates(args);
122
- return undefined;
123
- }
124
-
125
- return undefined;
126
- };
127
-
128
- exports.getHierarchyKeyboardCoordinates = getHierarchyKeyboardCoordinates;
@@ -1,2 +0,0 @@
1
- 'use strict';
2
-
@@ -1,54 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
-
7
- const useHierarchyActionHandlers = ({
8
- handlePreviewDragStart,
9
- handlePreviewDragMove,
10
- handlePreviewDragOver,
11
- handlePreviewDragEnd,
12
- handlePreviewDragCancel,
13
- onReorder,
14
- dndItems
15
- }) => {
16
- const onDragStart = React.useCallback(e => {
17
- handlePreviewDragStart(e);
18
- }, [handlePreviewDragStart]);
19
- const onDragMove = React.useCallback(e => {
20
- handlePreviewDragMove(e);
21
- }, [handlePreviewDragMove]);
22
- const onDragOver = React.useCallback(e => {
23
- handlePreviewDragOver(e);
24
- }, [handlePreviewDragOver]);
25
- const onDragEnd = React.useCallback(e => {
26
- handlePreviewDragEnd(e);
27
- const {
28
- active,
29
- over
30
- } = e;
31
- if (!over) return;
32
-
33
- if (active.id !== over.id) {
34
- const activeIndex = dndItems.findIndex(item => item.id === active.id);
35
- const overIndex = dndItems.findIndex(item => item.id === over.id);
36
- onReorder(dndItems[activeIndex], {
37
- targetIndex: overIndex,
38
- fromIndex: activeIndex
39
- });
40
- }
41
- }, [handlePreviewDragEnd, dndItems, onReorder]);
42
- const onDragCancel = React.useCallback(e => {
43
- handlePreviewDragCancel(e);
44
- }, [handlePreviewDragCancel]);
45
- return {
46
- onDragStart,
47
- onDragMove,
48
- onDragOver,
49
- onDragEnd,
50
- onDragCancel
51
- };
52
- };
53
-
54
- exports.useHierarchyActionHandlers = useHierarchyActionHandlers;
@@ -1,36 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
-
7
- const useHierarchyAnnouncements = visibleItemsDictionary => {
8
- const onDragStart = React.useCallback(id => `Picked up draggable item from position ${visibleItemsDictionary[id].index + 1}.`, [visibleItemsDictionary]);
9
- const onDragMove = React.useCallback((id, overId) => {
10
- if (overId) {
11
- const overIndex = visibleItemsDictionary[overId].index + 1;
12
- return `Draggable item was moved to position ${overIndex}.`;
13
- }
14
-
15
- return `Draggable item is no longer over a droppable area.`;
16
- }, [visibleItemsDictionary]);
17
- const onDragOver = onDragMove;
18
- const onDragEnd = React.useCallback((id, overId) => {
19
- if (overId) {
20
- const overIndex = visibleItemsDictionary[overId].index + 1;
21
- return `Draggable item was dropped over position ${overIndex}.`;
22
- }
23
-
24
- return `Draggable item was dropped at it's original position.`;
25
- }, [visibleItemsDictionary]);
26
- const onDragCancel = React.useCallback(id => `Dragging was cancelled. Draggable item from position ${visibleItemsDictionary[id].index + 1} was dropped at it's initial position.`, [visibleItemsDictionary]);
27
- return {
28
- onDragStart,
29
- onDragOver,
30
- onDragMove,
31
- onDragEnd,
32
- onDragCancel
33
- };
34
- };
35
-
36
- exports.useHierarchyAnnouncements = useHierarchyAnnouncements;
@@ -1,92 +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 useHierarchyActionHandlers = require('./useHierarchyActionHandlers.js');
7
- var useHierarchyPreviewHandlers = require('./useHierarchyPreviewHandlers.js');
8
- var getHierarchyKeyboardCoordinates = require('./getHierarchyKeyboardCoordinates.js');
9
- var customCollisionDetection = require('./customCollisionDetection.js');
10
- var useHierarchyAnnouncements = require('./useHierarchyAnnouncements.js');
11
-
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
-
14
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
15
-
16
- 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; }
17
-
18
- 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; }
19
- // if second parameter is true, the space will be done on the horizontal axis
20
-
21
- const adjustTranslate = ({
22
- transform
23
- }, isHorizontalDnD = false) => {
24
- const newTransform = _objectSpread({}, transform);
25
-
26
- if (isHorizontalDnD) {
27
- newTransform.y = transform.y + 15;
28
- } else {
29
- newTransform.y = transform.y - 35;
30
- }
31
-
32
- return newTransform;
33
- };
34
-
35
- const layoutMeasuring = {
36
- strategy: core.LayoutMeasuringStrategy.Always
37
- };
38
-
39
- const useHierarchyDndkitConfig = ({
40
- flattenedItems,
41
- isHorizontalDnD = false,
42
- onReorder
43
- }) => {
44
- const [activeId, setActiveId] = React.useState(null);
45
- const [overId, setOverId] = React.useState(null);
46
- const dndItems = React.useMemo(() => flattenedItems.map(([item]) => item), [flattenedItems]);
47
- const activeItem = React.useMemo(() => dndItems.find(item => item.id === activeId), [activeId, dndItems]);
48
- const itemsDictionary = React.useMemo(() => {
49
- const dictionary = {};
50
- dndItems.forEach(item => {
51
- dictionary[item.id] = item;
52
- });
53
- return dictionary;
54
- }, [dndItems]);
55
- const modifiers = React.useMemo(() => [options => adjustTranslate(options, isHorizontalDnD)], [isHorizontalDnD]);
56
- const sensorContext = React.useRef({
57
- items: dndItems
58
- });
59
- React.useEffect(() => {
60
- sensorContext.current = {
61
- items: dndItems
62
- };
63
- }, [dndItems]);
64
- const coordinateGetter = React.useMemo(() => getHierarchyKeyboardCoordinates.getHierarchyKeyboardCoordinates(sensorContext, isHorizontalDnD), [isHorizontalDnD]);
65
- const sensors = core.useSensors(core.useSensor(core.PointerSensor), core.useSensor(core.KeyboardSensor, {
66
- coordinateGetter
67
- }));
68
- const dragPreviewHandlers = useHierarchyPreviewHandlers.useHierarchyPreviewHandlers({
69
- setActiveId,
70
- setOverId
71
- });
72
- const dragActionHandlers = useHierarchyActionHandlers.useHierarchyActionHandlers(_objectSpread(_objectSpread({}, dragPreviewHandlers), {}, {
73
- dndItems,
74
- onReorder
75
- }));
76
- const announcements = useHierarchyAnnouncements.useHierarchyAnnouncements(itemsDictionary);
77
- const dndContextProps = React.useMemo(() => _objectSpread({
78
- announcements,
79
- modifiers,
80
- sensors,
81
- layoutMeasuring,
82
- collisionDetection: customCollisionDetection.customCollisionDetection(activeId, activeItem === null || activeItem === void 0 ? void 0 : activeItem.parentId, dndItems)
83
- }, dragActionHandlers), [announcements, modifiers, sensors, activeId, activeItem === null || activeItem === void 0 ? void 0 : activeItem.parentId, dndItems, dragActionHandlers]);
84
- return {
85
- dndContextProps,
86
- activeId,
87
- overId,
88
- activeIndex: activeId ? activeItem.index : -1
89
- };
90
- };
91
-
92
- module.exports = useHierarchyDndkitConfig;