@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,31 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _jsx = require('@babel/runtime/helpers/jsx');
6
- var React = require('react');
7
- var dsPills = require('@elliemae/ds-pills');
8
-
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
-
11
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
12
-
13
- const TextPill = ({
14
- columnHeader,
15
- column,
16
- value,
17
- filters,
18
- onFiltersChange
19
- }) => {
20
- const handleOnRemove = React.useCallback(() => {
21
- onFiltersChange(filters.filter(filter => filter.id !== column));
22
- }, [onFiltersChange, filters, column]);
23
- return value ? /*#__PURE__*/_jsx__default['default'](dsPills.LabeledPills, {
24
- label: columnHeader
25
- }, void 0, /*#__PURE__*/_jsx__default['default'](dsPills.RemovablePill, {
26
- label: value,
27
- onRemove: handleOnRemove
28
- })) : null;
29
- };
30
-
31
- exports.TextPill = TextPill;
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
-
7
- const DragOverlayContext = /*#__PURE__*/React.createContext({
8
- setPureDraggedJSX: () => null
9
- });
10
-
11
- exports.DragOverlayContext = DragOverlayContext;
@@ -1,76 +0,0 @@
1
- import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import 'react';
3
- import SearchIcon from '@elliemae/ds-icons/SearchXsmall';
4
- import { FilterPopover } from '../../../../exported-related/FilterPopover.js';
5
- import '../../../../styled.js';
6
- import '../../../../DataTableContext.js';
7
- import 'react/jsx-runtime';
8
- import 'styled-components';
9
- import '@elliemae/ds-button';
10
- import '@elliemae/ds-icons/MoreOptionsVert';
11
- import '../../../../configs/constants.js';
12
- import 'react-virtual';
13
- import '../../../../configs/useRowFlattenization.js';
14
- import '@babel/runtime/helpers/esm/defineProperty';
15
- import '@elliemae/ds-icons/ArrowShortReturn';
16
- import '@elliemae/ds-icons';
17
- import '@elliemae/ds-form/Checkbox';
18
- import '@elliemae/ds-form/Radio';
19
- import '../../../../parts/TableContent.js';
20
- import '@elliemae/ds-grid';
21
- import '@elliemae/ds-circular-progress-indicator';
22
- import '@elliemae/ds-icons/WarningTriangle';
23
- import '@elliemae/ds-system';
24
- import '../../../../parts/Row.js';
25
- import '../../../../parts/Footer.js';
26
- import '@elliemae/ds-icons/GripperVertical';
27
- import '../../../../parts/HoC/SortableItemContext.js';
28
- import 'uid';
29
- import { FILTER_TYPES } from '../../../../exported-related/FilterTypes.js';
30
- import '../../../../exported-related/Filters/applyOutOfTheBoxFilters.js';
31
- import 'moment';
32
-
33
- var _SearchIcon;
34
- const TextInputFilter = props => {
35
- const {
36
- column,
37
- filterValue = '',
38
- reduxHeader,
39
- onValueChange,
40
- ctx: {
41
- tableProps: {
42
- data
43
- }
44
- },
45
- innerRef
46
- } = props;
47
- const count = data.length;
48
-
49
- const handleChange = event => {
50
- var _event$target;
51
-
52
- const newText = (event === null || event === void 0 ? void 0 : (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value) || '';
53
- onValueChange(FILTER_TYPES.TEXT, newText);
54
- };
55
-
56
- return /*#__PURE__*/_jsx(FilterPopover, {
57
- reduxHeader: reduxHeader,
58
- column: column,
59
- columnId: column.id,
60
- menuContent:
61
- /*#__PURE__*/
62
- // eslint-disable-next-line jsx-a11y/no-autofocus
63
- _jsx("input", {
64
- value: filterValue,
65
- onChange: handleChange,
66
- placeholder: `Search ${count} records...`,
67
- autoFocus: true
68
- }),
69
- triggerIcon: _SearchIcon || (_SearchIcon = /*#__PURE__*/_jsx(SearchIcon, {})),
70
- removeWrapperStyles: true,
71
- innerRef: innerRef,
72
- ariaLabel: "Open Text Input Filter"
73
- });
74
- };
75
-
76
- export { TextInputFilter };
@@ -1,57 +0,0 @@
1
- import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import 'react';
3
- import { jsxs, Fragment } from 'react/jsx-runtime';
4
-
5
- var _span, _span2;
6
-
7
- const ActiveZoneButtons = props => {
8
- const {
9
- pageIndex,
10
- pageCount,
11
- onPageChange,
12
- ButtonComponent
13
- } = props;
14
- const pageValue = pageIndex + 1;
15
- const hasNumberOne = pageIndex >= 2;
16
- const hasPreEllipsis = pageIndex >= 3;
17
- const hasLastNumber = pageIndex <= pageCount - 3;
18
- const hasPostEllipsis = pageIndex <= pageCount - 4;
19
- return /*#__PURE__*/jsxs(Fragment, {
20
- children: [hasNumberOne && /*#__PURE__*/_jsx(ButtonComponent, {
21
- onClick: () => {
22
- onPageChange(1);
23
- },
24
- labelText: "1",
25
- buttonType: "secondary",
26
- "aria-label": "Go to page 1"
27
- }), hasPreEllipsis && (_span || (_span = /*#__PURE__*/_jsx("span", {}, void 0, "..."))), pageIndex - 1 >= 0 ? /*#__PURE__*/_jsx(ButtonComponent, {
28
- onClick: () => {
29
- onPageChange(pageIndex);
30
- },
31
- labelText: (pageValue - 1).toString(),
32
- buttonType: "secondary",
33
- "aria-label": `Go to page ${pageValue - 1}`
34
- }) : null, /*#__PURE__*/_jsx(ButtonComponent, {
35
- onClick: () => null,
36
- labelText: pageValue.toString(),
37
- buttonType: "primary",
38
- "aria-label": `On page ${pageValue}`
39
- }), pageIndex + 1 < pageCount ? /*#__PURE__*/_jsx(ButtonComponent, {
40
- onClick: () => {
41
- onPageChange(pageIndex + 2);
42
- },
43
- labelText: (pageValue + 1).toString(),
44
- buttonType: "secondary",
45
- "aria-label": `Go to page ${pageValue + 1}`
46
- }) : null, hasPostEllipsis && (_span2 || (_span2 = /*#__PURE__*/_jsx("span", {}, void 0, "..."))), hasLastNumber && /*#__PURE__*/_jsx(ButtonComponent, {
47
- onClick: () => {
48
- onPageChange(pageCount);
49
- },
50
- labelText: pageCount.toString(),
51
- buttonType: "secondary",
52
- "aria-label": `Go to page ${pageCount}`
53
- })]
54
- });
55
- };
56
-
57
- export { ActiveZoneButtons as default };
@@ -1,69 +0,0 @@
1
- import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import 'react';
3
- import DSButton from '@elliemae/ds-button';
4
- import styled from 'styled-components';
5
- import ActiveZoneButtons from './ActiveZoneButtons.js';
6
- import { DATA_TESTID } from '../../configs/constants.js';
7
- import 'react-virtual';
8
- import '../../configs/useRowFlattenization.js';
9
- import '@babel/runtime/helpers/esm/defineProperty';
10
- import '@elliemae/ds-icons/ArrowShortReturn';
11
- import '@elliemae/ds-icons';
12
- import '../../styled.js';
13
- import { jsxs, Fragment } from 'react/jsx-runtime';
14
- import '@elliemae/ds-form/Checkbox';
15
- import '@elliemae/ds-form/Radio';
16
- import '../../parts/TableContent.js';
17
- import '@elliemae/ds-grid';
18
- import '@elliemae/ds-circular-progress-indicator';
19
- import '@elliemae/ds-icons/WarningTriangle';
20
- import '@elliemae/ds-system';
21
- import '../../DataTableContext.js';
22
- import '../../parts/Row.js';
23
- import '../../parts/Footer.js';
24
- import '@elliemae/ds-icons/GripperVertical';
25
- import '../../parts/HoC/SortableItemContext.js';
26
-
27
- const InlineDSButton = /*#__PURE__*/styled(DSButton).withConfig({
28
- componentId: "sc-eshyv3-0"
29
- })(["display:inline-block;margin:0 5px;"]);
30
-
31
- const PagesButtons = props => {
32
- const {
33
- canPreviousPage,
34
- canNextPage,
35
- pageIndex,
36
- pageCount,
37
- onNextPage,
38
- onPreviousPage,
39
- onPageChange
40
- } = props;
41
- return /*#__PURE__*/jsxs(Fragment, {
42
- children: [/*#__PURE__*/_jsx(InlineDSButton, {
43
- onClick: () => {
44
- if (canPreviousPage) onPreviousPage();
45
- },
46
- disabled: !canPreviousPage,
47
- labelText: "Previous",
48
- buttonType: "secondary",
49
- "data-testid": DATA_TESTID.DATA_TABLE_PAGINATION_PREVIOUS_BUTTON,
50
- "aria-label": "Go to previous page"
51
- }), /*#__PURE__*/_jsx(ActiveZoneButtons, {
52
- pageIndex: pageIndex,
53
- pageCount: pageCount,
54
- onPageChange: onPageChange,
55
- ButtonComponent: InlineDSButton
56
- }), /*#__PURE__*/_jsx(InlineDSButton, {
57
- onClick: () => {
58
- if (canNextPage) onNextPage();
59
- },
60
- disabled: !canNextPage,
61
- labelText: "Next",
62
- buttonType: "secondary",
63
- "data-testid": DATA_TESTID.DATA_TABLE_PAGINATION_NEXT_BUTTON,
64
- "aria-label": "Go to next page"
65
- })]
66
- });
67
- };
68
-
69
- export { PagesButtons as default };
@@ -1,73 +0,0 @@
1
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
- import _jsx from '@babel/runtime/helpers/esm/jsx';
3
- import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
4
- import { useMemo } from 'react';
5
- import memoize from 'memoize-one';
6
- import { range } from '@elliemae/ds-utilities/utils';
7
- import DSComboBox, { components } from '@elliemae/ds-form/ComboBox';
8
- import styled from 'styled-components';
9
- import { jsxs } from 'react/jsx-runtime';
10
-
11
- var _span;
12
-
13
- const _excluded = ["children"];
14
-
15
- 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; }
16
-
17
- 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(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; }
18
- const InlineDSComboBox = /*#__PURE__*/styled(DSComboBox).withConfig({
19
- componentId: "sc-1oa1180-0"
20
- })(["display:inline-block;margin:0 5px;max-width:250px;"]); // eslint-disable-next-line react/prop-types
21
-
22
- const SingleValue = _ref => {
23
- let {
24
- children
25
- } = _ref,
26
- props = _objectWithoutProperties(_ref, _excluded);
27
-
28
- return /*#__PURE__*/jsxs(components.SingleValue, _objectSpread(_objectSpread({}, props), {}, {
29
- children: [children, " ", _span || (_span = /*#__PURE__*/_jsx("span", {}, void 0, "per page"))]
30
- }));
31
- };
32
-
33
- const generateOption = value => ({
34
- value,
35
- label: value
36
- });
37
-
38
- const getOptions = memoize((step, min, max) => {
39
- const options = range(min, max + step, step).map(generateOption);
40
- return min === 0 ? options.slice(1, options.length) : options;
41
- });
42
-
43
- const PerPageSelector = props => {
44
- const {
45
- pageSize,
46
- pagination,
47
- setPageSize
48
- } = props;
49
- const options = useMemo(() => {
50
- const {
51
- perPageOptions,
52
- perPageStep = 5,
53
- minPerPage = 0,
54
- maxPerPage = 100
55
- } = pagination;
56
- if (perPageOptions) return perPageOptions.map(generateOption);
57
- return getOptions(perPageStep, minPerPage, maxPerPage);
58
- }, [pagination]);
59
- return /*#__PURE__*/_jsx(InlineDSComboBox, {
60
- className: "em-ds-per-page-dropdown",
61
- "aria-label": "Rows per page selector",
62
- components: {
63
- SingleValue
64
- },
65
- onChange: setPageSize,
66
- options: options,
67
- searchable: false,
68
- value: pageSize,
69
- maxOptions: options.length
70
- });
71
- };
72
-
73
- export { PerPageSelector as default };
@@ -1,6 +0,0 @@
1
- const textFilterFn = (unfilteredData, filterKey, filterValue) => {
2
- if (filterValue.length < 3) return unfilteredData;
3
- return unfilteredData.filter(datum => datum[filterKey].includes(filterValue));
4
- };
5
-
6
- export { textFilterFn };
@@ -1,61 +0,0 @@
1
- import { DATA_TESTID } from '../../../configs/constants.js';
2
- import 'react';
3
- import 'react-virtual';
4
- import '../../../configs/useRowFlattenization.js';
5
- import '@babel/runtime/helpers/esm/defineProperty';
6
- import '@babel/runtime/helpers/esm/jsx';
7
- import '@elliemae/ds-icons/ArrowShortReturn';
8
- import 'styled-components';
9
- import '@elliemae/ds-icons';
10
- import '../../../styled.js';
11
- import 'react/jsx-runtime';
12
- import '@elliemae/ds-form/Checkbox';
13
- import '@elliemae/ds-form/Radio';
14
- import '../../../parts/TableContent.js';
15
- import '@elliemae/ds-grid';
16
- import '@elliemae/ds-circular-progress-indicator';
17
- import '@elliemae/ds-icons/WarningTriangle';
18
- import '@elliemae/ds-system';
19
- import '@elliemae/ds-button';
20
- import '../../../DataTableContext.js';
21
- import '../../../parts/Row.js';
22
- import '../../../parts/Footer.js';
23
- import '@elliemae/ds-icons/GripperVertical';
24
- import '../../../parts/HoC/SortableItemContext.js';
25
-
26
- /* eslint-disable @typescript-eslint/indent */
27
- const customCollisionDetection = (activeId, activeParent, dndItems) => (entries, target) => {
28
- var _document$querySelect;
29
-
30
- const entriesWithSameParent = entries.filter(([id]) => {
31
- var _dndItems$find;
32
-
33
- return ((_dndItems$find = dndItems.find(item => item.id === id)) === null || _dndItems$find === void 0 ? void 0 : _dndItems$find.parentId) === activeParent;
34
- });
35
- const dragOverlayRect = ((_document$querySelect = document.querySelector(`[data-testid="${DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY}"]`)) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.getBoundingClientRect()) ?? {
36
- width: 150
37
- };
38
- const originalRect = entriesWithSameParent.find(([id]) => id === activeId);
39
-
40
- if (originalRect[1].offsetLeft <= target.offsetLeft && target.offsetLeft <= originalRect[1].offsetLeft + originalRect[1].width) {
41
- return originalRect[0];
42
- }
43
-
44
- const isLeft = target.offsetLeft <= originalRect[1].offsetLeft + dragOverlayRect.width / 2 + 5;
45
- let match = null; // If going to the left, search the closest offset left
46
- // Otherwise, get the closest offset right
47
-
48
- const collisionPoint = target.offsetLeft + dragOverlayRect.width / 2;
49
- entriesWithSameParent.forEach(entry => {
50
- const [, rect] = entry;
51
- const offsetRight = rect.offsetLeft + rect.width;
52
- if (!match) match = entry;else if (isLeft && Math.abs(collisionPoint - rect.offsetLeft) <= Math.abs(collisionPoint - match[1].offsetLeft)) {
53
- match = entry;
54
- } else if (!isLeft && Math.abs(collisionPoint - offsetRight) <= Math.abs(collisionPoint - match[1].offsetLeft - match[1].width)) {
55
- match = entry;
56
- }
57
- });
58
- return match === null ? null : match[0];
59
- };
60
-
61
- export { customCollisionDetection };
@@ -1,120 +0,0 @@
1
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
- import { KeyboardCode, getViewRect, closestCorners } from '@dnd-kit/core';
3
- import { DATA_TESTID } from '../../../configs/constants.js';
4
- import 'react';
5
- import 'react-virtual';
6
- import '../../../configs/useRowFlattenization.js';
7
- import '@babel/runtime/helpers/esm/jsx';
8
- import '@elliemae/ds-icons/ArrowShortReturn';
9
- import 'styled-components';
10
- import '@elliemae/ds-icons';
11
- import '../../../styled.js';
12
- import 'react/jsx-runtime';
13
- import '@elliemae/ds-form/Checkbox';
14
- import '@elliemae/ds-form/Radio';
15
- import '../../../parts/TableContent.js';
16
- import '@elliemae/ds-grid';
17
- import '@elliemae/ds-circular-progress-indicator';
18
- import '@elliemae/ds-icons/WarningTriangle';
19
- import '@elliemae/ds-system';
20
- import '@elliemae/ds-button';
21
- import '../../../DataTableContext.js';
22
- import '../../../parts/Row.js';
23
- import '../../../parts/Footer.js';
24
- import '@elliemae/ds-icons/GripperVertical';
25
- import '../../../parts/HoC/SortableItemContext.js';
26
-
27
- 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; }
28
-
29
- 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(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; }
30
- const directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];
31
- const vertical = [KeyboardCode.Up, KeyboardCode.Down];
32
-
33
- const getHorizontalKeyboardCoordinates = ({
34
- items,
35
- active,
36
- over,
37
- event,
38
- currentCoordinates,
39
- droppableContainers,
40
- translatedRect
41
- }) => {
42
- var _document$querySelect;
43
-
44
- if (vertical.includes(event.code)) return undefined;
45
- const activeItem = items.find(item => item.id === active);
46
- const overRect = over.rect;
47
- const layoutRects = []; // Get the reacheable rects depending on the arrow key pressed
48
-
49
- Object.entries(droppableContainers).forEach(([id, container]) => {
50
- if (container !== null && container !== void 0 && container.disabled || !overRect) {
51
- return;
52
- }
53
-
54
- const node = container === null || container === void 0 ? void 0 : container.node.current;
55
-
56
- if (!node) {
57
- return;
58
- }
59
-
60
- const itemParent = items.find(item => item.id === id).parentId;
61
- if (itemParent !== activeItem.parentId) return;
62
- const rect = getViewRect(node);
63
-
64
- if (event.code === KeyboardCode.Left && translatedRect.left > rect.right - 10) {
65
- layoutRects.push([id, rect]);
66
- } else if (event.code === KeyboardCode.Right && translatedRect.left < rect.left) {
67
- layoutRects.push([id, rect]);
68
- }
69
- });
70
- const dragOverlayRect = ((_document$querySelect = document.querySelector(`[data-testid="${DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY}"]`)) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.getBoundingClientRect()) ?? {
71
- width: 150,
72
- left: 0
73
- };
74
- const closestId = closestCorners(layoutRects, translatedRect);
75
- if (!closestId) return undefined;
76
- const closestRect = getViewRect(droppableContainers[closestId].node.current);
77
- const activeRect = getViewRect(droppableContainers[active].node.current);
78
- return _objectSpread(_objectSpread({}, currentCoordinates), {}, {
79
- x: closestRect.left + (closestRect.width - dragOverlayRect.width) / 2 + (closestRect.offsetLeft < activeRect.left ? -1 : 1)
80
- });
81
- };
82
-
83
- const getHierarchyKeyboardCoordinates = (context, isHorizontalDnD) => (event, {
84
- active,
85
- currentCoordinates,
86
- context: {
87
- over,
88
- translatedRect,
89
- droppableContainers
90
- }
91
- }) => {
92
- if (directions.includes(event.code)) {
93
- event.preventDefault();
94
-
95
- if (!translatedRect) {
96
- return undefined;
97
- }
98
-
99
- const {
100
- current: {
101
- items
102
- }
103
- } = context;
104
- const args = {
105
- items,
106
- active,
107
- over,
108
- event,
109
- currentCoordinates,
110
- droppableContainers,
111
- translatedRect
112
- };
113
- if (isHorizontalDnD) return getHorizontalKeyboardCoordinates(args);
114
- return undefined;
115
- }
116
-
117
- return undefined;
118
- };
119
-
120
- export { getHierarchyKeyboardCoordinates };
@@ -1 +0,0 @@
1
-
@@ -1,50 +0,0 @@
1
- import { useCallback } from 'react';
2
-
3
- const useHierarchyActionHandlers = ({
4
- handlePreviewDragStart,
5
- handlePreviewDragMove,
6
- handlePreviewDragOver,
7
- handlePreviewDragEnd,
8
- handlePreviewDragCancel,
9
- onReorder,
10
- dndItems
11
- }) => {
12
- const onDragStart = useCallback(e => {
13
- handlePreviewDragStart(e);
14
- }, [handlePreviewDragStart]);
15
- const onDragMove = useCallback(e => {
16
- handlePreviewDragMove(e);
17
- }, [handlePreviewDragMove]);
18
- const onDragOver = useCallback(e => {
19
- handlePreviewDragOver(e);
20
- }, [handlePreviewDragOver]);
21
- const onDragEnd = useCallback(e => {
22
- handlePreviewDragEnd(e);
23
- const {
24
- active,
25
- over
26
- } = e;
27
- if (!over) return;
28
-
29
- if (active.id !== over.id) {
30
- const activeIndex = dndItems.findIndex(item => item.id === active.id);
31
- const overIndex = dndItems.findIndex(item => item.id === over.id);
32
- onReorder(dndItems[activeIndex], {
33
- targetIndex: overIndex,
34
- fromIndex: activeIndex
35
- });
36
- }
37
- }, [handlePreviewDragEnd, dndItems, onReorder]);
38
- const onDragCancel = useCallback(e => {
39
- handlePreviewDragCancel(e);
40
- }, [handlePreviewDragCancel]);
41
- return {
42
- onDragStart,
43
- onDragMove,
44
- onDragOver,
45
- onDragEnd,
46
- onDragCancel
47
- };
48
- };
49
-
50
- export { useHierarchyActionHandlers };
@@ -1,32 +0,0 @@
1
- import { useCallback } from 'react';
2
-
3
- const useHierarchyAnnouncements = visibleItemsDictionary => {
4
- const onDragStart = useCallback(id => `Picked up draggable item from position ${visibleItemsDictionary[id].index + 1}.`, [visibleItemsDictionary]);
5
- const onDragMove = useCallback((id, overId) => {
6
- if (overId) {
7
- const overIndex = visibleItemsDictionary[overId].index + 1;
8
- return `Draggable item was moved to position ${overIndex}.`;
9
- }
10
-
11
- return `Draggable item is no longer over a droppable area.`;
12
- }, [visibleItemsDictionary]);
13
- const onDragOver = onDragMove;
14
- const onDragEnd = useCallback((id, overId) => {
15
- if (overId) {
16
- const overIndex = visibleItemsDictionary[overId].index + 1;
17
- return `Draggable item was dropped over position ${overIndex}.`;
18
- }
19
-
20
- return `Draggable item was dropped at it's original position.`;
21
- }, [visibleItemsDictionary]);
22
- const onDragCancel = useCallback(id => `Dragging was cancelled. Draggable item from position ${visibleItemsDictionary[id].index + 1} was dropped at it's initial position.`, [visibleItemsDictionary]);
23
- return {
24
- onDragStart,
25
- onDragOver,
26
- onDragMove,
27
- onDragEnd,
28
- onDragCancel
29
- };
30
- };
31
-
32
- export { useHierarchyAnnouncements };