@elliemae/ds-data-table 3.5.0-rc.9 → 3.6.0-next.0

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 (267) hide show
  1. package/dist/cjs/DataTable.js +19 -13
  2. package/dist/cjs/DataTable.js.map +2 -2
  3. package/dist/cjs/DataTableContext.js +4 -11
  4. package/dist/cjs/DataTableContext.js.map +2 -2
  5. package/dist/cjs/DataTableSchema.js +4 -2
  6. package/dist/cjs/DataTableSchema.js.map +2 -2
  7. package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +14 -14
  8. package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
  9. package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +49 -43
  10. package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
  11. package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +20 -18
  12. package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +3 -3
  13. package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +19 -17
  14. package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
  15. package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +4 -3
  16. package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +2 -2
  17. package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +4 -3
  18. package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js.map +2 -2
  19. package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +4 -3
  20. package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js.map +2 -2
  21. package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +40 -33
  22. package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
  23. package/dist/cjs/addons/Filters/Components/DateRangeFilter/index.js +31 -24
  24. package/dist/cjs/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
  25. package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js +62 -51
  26. package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
  27. package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js +40 -33
  28. package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
  29. package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +18 -15
  30. package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +3 -3
  31. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +2 -2
  32. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +2 -2
  33. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +2 -2
  34. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +2 -2
  35. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +2 -2
  36. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
  37. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +2 -2
  38. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
  39. package/dist/cjs/addons/Filters/Components/SingleDateFilter/index.js +28 -21
  40. package/dist/cjs/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
  41. package/dist/cjs/addons/Pagination/Pagination.js +3 -2
  42. package/dist/cjs/addons/Pagination/Pagination.js.map +2 -2
  43. package/dist/cjs/exported-related/EditableCell.js +18 -8
  44. package/dist/cjs/exported-related/EditableCell.js.map +2 -2
  45. package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js +24 -20
  46. package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
  47. package/dist/cjs/exported-related/FilterPopover.js +52 -39
  48. package/dist/cjs/exported-related/FilterPopover.js.map +2 -2
  49. package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +43 -35
  50. package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
  51. package/dist/cjs/exported-related/RowRenderer/index.js +34 -27
  52. package/dist/cjs/exported-related/RowRenderer/index.js.map +2 -2
  53. package/dist/cjs/exported-related/Toolbar/Toolbar.js +25 -16
  54. package/dist/cjs/exported-related/Toolbar/Toolbar.js.map +2 -2
  55. package/dist/cjs/parts/Cells/Cell.js +28 -19
  56. package/dist/cjs/parts/Cells/Cell.js.map +2 -2
  57. package/dist/cjs/parts/Cells/index.js +42 -40
  58. package/dist/cjs/parts/Cells/index.js.map +2 -2
  59. package/dist/cjs/parts/DnDHandle.js +5 -3
  60. package/dist/cjs/parts/DnDHandle.js.map +2 -2
  61. package/dist/cjs/parts/DropIndicator.js +20 -14
  62. package/dist/cjs/parts/DropIndicator.js.map +2 -2
  63. package/dist/cjs/parts/EmptyContent.js +28 -15
  64. package/dist/cjs/parts/EmptyContent.js.map +1 -1
  65. package/dist/cjs/parts/FilterBar/FiltersBar.js +50 -45
  66. package/dist/cjs/parts/FilterBar/FiltersBar.js.map +1 -1
  67. package/dist/cjs/parts/FilterBar/components/DateRangePill.js +16 -10
  68. package/dist/cjs/parts/FilterBar/components/DateRangePill.js.map +2 -2
  69. package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js +16 -10
  70. package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js.map +2 -2
  71. package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js +16 -11
  72. package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js.map +2 -2
  73. package/dist/cjs/parts/FilterBar/components/NumberRangePill.js +16 -10
  74. package/dist/cjs/parts/FilterBar/components/NumberRangePill.js.map +2 -2
  75. package/dist/cjs/parts/FilterBar/components/SelectPill.js +16 -10
  76. package/dist/cjs/parts/FilterBar/components/SelectPill.js.map +2 -2
  77. package/dist/cjs/parts/FilterBar/components/SingleDatePill.js +16 -10
  78. package/dist/cjs/parts/FilterBar/components/SingleDatePill.js.map +2 -2
  79. package/dist/cjs/parts/Filters/index.js +4 -3
  80. package/dist/cjs/parts/Filters/index.js.map +2 -2
  81. package/dist/cjs/parts/Footer.js +4 -2
  82. package/dist/cjs/parts/Footer.js.map +2 -2
  83. package/dist/cjs/parts/Headers/EmptyChildrenGroup.js +2 -2
  84. package/dist/cjs/parts/Headers/EmptyChildrenGroup.js.map +2 -2
  85. package/dist/cjs/parts/Headers/HeaderCell.js +66 -59
  86. package/dist/cjs/parts/Headers/HeaderCell.js.map +3 -3
  87. package/dist/cjs/parts/Headers/HeaderCellGroup.js +31 -24
  88. package/dist/cjs/parts/Headers/HeaderCellGroup.js.map +2 -2
  89. package/dist/cjs/parts/Headers/HeaderCellTitle.js +19 -13
  90. package/dist/cjs/parts/Headers/HeaderCellTitle.js.map +2 -2
  91. package/dist/cjs/parts/Headers/HeaderResizer.js +14 -9
  92. package/dist/cjs/parts/Headers/HeaderResizer.js.map +3 -3
  93. package/dist/cjs/parts/Headers/RequiredDot.js +10 -9
  94. package/dist/cjs/parts/Headers/RequiredDot.js.map +2 -2
  95. package/dist/cjs/parts/Headers/index.js +19 -16
  96. package/dist/cjs/parts/Headers/index.js.map +2 -2
  97. package/dist/cjs/parts/Headers/useHeaderCellConfig.js +10 -7
  98. package/dist/cjs/parts/Headers/useHeaderCellConfig.js.map +3 -3
  99. package/dist/cjs/parts/Headers/useHeaderCellHandlers.js +33 -6
  100. package/dist/cjs/parts/Headers/useHeaderCellHandlers.js.map +3 -3
  101. package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js +19 -11
  102. package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js.map +1 -1
  103. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +33 -25
  104. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +1 -1
  105. package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js +9 -7
  106. package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js.map +2 -2
  107. package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js +8 -6
  108. package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
  109. package/dist/cjs/parts/HoC/withDnDSortableRowContext.js +8 -6
  110. package/dist/cjs/parts/HoC/withDnDSortableRowContext.js.map +2 -2
  111. package/dist/cjs/parts/Loader.js +12 -10
  112. package/dist/cjs/parts/Loader.js.map +2 -2
  113. package/dist/cjs/parts/Row.js +13 -11
  114. package/dist/cjs/parts/Row.js.map +2 -2
  115. package/dist/cjs/parts/RowVariants/RowVariantHeader.js +25 -17
  116. package/dist/cjs/parts/RowVariants/RowVariantHeader.js.map +2 -2
  117. package/dist/cjs/parts/RowVariants/RowVariantPrimary.js +2 -2
  118. package/dist/cjs/parts/RowVariants/RowVariantPrimary.js.map +2 -2
  119. package/dist/cjs/parts/RowVariants/RowVariantSecondary.js +2 -2
  120. package/dist/cjs/parts/RowVariants/RowVariantSecondary.js.map +2 -2
  121. package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js +4 -3
  122. package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js.map +2 -2
  123. package/dist/cjs/parts/RowVariants/index.js +4 -4
  124. package/dist/cjs/parts/RowVariants/index.js.map +2 -2
  125. package/dist/cjs/parts/Rows.js +28 -25
  126. package/dist/cjs/parts/Rows.js.map +2 -2
  127. package/dist/cjs/parts/SortByCaret.js +14 -9
  128. package/dist/cjs/parts/SortByCaret.js.map +3 -3
  129. package/dist/cjs/parts/TableContent.js +15 -9
  130. package/dist/cjs/parts/TableContent.js.map +1 -1
  131. package/dist/cjs/parts/VirtualRowsList.js +22 -9
  132. package/dist/cjs/parts/VirtualRowsList.js.map +2 -2
  133. package/dist/cjs/types/props.js.map +1 -1
  134. package/dist/esm/DataTable.js +19 -13
  135. package/dist/esm/DataTable.js.map +2 -2
  136. package/dist/esm/DataTableContext.js +5 -12
  137. package/dist/esm/DataTableContext.js.map +2 -2
  138. package/dist/esm/DataTableSchema.js +4 -2
  139. package/dist/esm/DataTableSchema.js.map +2 -2
  140. package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +14 -14
  141. package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
  142. package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js +49 -43
  143. package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
  144. package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +20 -18
  145. package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +3 -3
  146. package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +19 -17
  147. package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
  148. package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +4 -3
  149. package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +2 -2
  150. package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js +4 -3
  151. package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js.map +2 -2
  152. package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js +4 -3
  153. package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js.map +2 -2
  154. package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +40 -33
  155. package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
  156. package/dist/esm/addons/Filters/Components/DateRangeFilter/index.js +31 -24
  157. package/dist/esm/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
  158. package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js +62 -51
  159. package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
  160. package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js +40 -33
  161. package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
  162. package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +18 -15
  163. package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +3 -3
  164. package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +2 -2
  165. package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +2 -2
  166. package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +2 -2
  167. package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +2 -2
  168. package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +2 -2
  169. package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
  170. package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +2 -2
  171. package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
  172. package/dist/esm/addons/Filters/Components/SingleDateFilter/index.js +28 -21
  173. package/dist/esm/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
  174. package/dist/esm/addons/Pagination/Pagination.js +3 -2
  175. package/dist/esm/addons/Pagination/Pagination.js.map +2 -2
  176. package/dist/esm/exported-related/EditableCell.js +18 -8
  177. package/dist/esm/exported-related/EditableCell.js.map +2 -2
  178. package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js +24 -20
  179. package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
  180. package/dist/esm/exported-related/FilterPopover.js +52 -39
  181. package/dist/esm/exported-related/FilterPopover.js.map +2 -2
  182. package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +43 -35
  183. package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
  184. package/dist/esm/exported-related/RowRenderer/index.js +34 -27
  185. package/dist/esm/exported-related/RowRenderer/index.js.map +2 -2
  186. package/dist/esm/exported-related/Toolbar/Toolbar.js +25 -16
  187. package/dist/esm/exported-related/Toolbar/Toolbar.js.map +2 -2
  188. package/dist/esm/parts/Cells/Cell.js +28 -19
  189. package/dist/esm/parts/Cells/Cell.js.map +2 -2
  190. package/dist/esm/parts/Cells/index.js +42 -40
  191. package/dist/esm/parts/Cells/index.js.map +2 -2
  192. package/dist/esm/parts/DnDHandle.js +5 -3
  193. package/dist/esm/parts/DnDHandle.js.map +2 -2
  194. package/dist/esm/parts/DropIndicator.js +20 -14
  195. package/dist/esm/parts/DropIndicator.js.map +2 -2
  196. package/dist/esm/parts/EmptyContent.js +28 -15
  197. package/dist/esm/parts/EmptyContent.js.map +1 -1
  198. package/dist/esm/parts/FilterBar/FiltersBar.js +50 -45
  199. package/dist/esm/parts/FilterBar/FiltersBar.js.map +1 -1
  200. package/dist/esm/parts/FilterBar/components/DateRangePill.js +16 -10
  201. package/dist/esm/parts/FilterBar/components/DateRangePill.js.map +2 -2
  202. package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js +16 -10
  203. package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js.map +2 -2
  204. package/dist/esm/parts/FilterBar/components/MultiSelectPill.js +16 -11
  205. package/dist/esm/parts/FilterBar/components/MultiSelectPill.js.map +2 -2
  206. package/dist/esm/parts/FilterBar/components/NumberRangePill.js +16 -10
  207. package/dist/esm/parts/FilterBar/components/NumberRangePill.js.map +2 -2
  208. package/dist/esm/parts/FilterBar/components/SelectPill.js +16 -10
  209. package/dist/esm/parts/FilterBar/components/SelectPill.js.map +2 -2
  210. package/dist/esm/parts/FilterBar/components/SingleDatePill.js +16 -10
  211. package/dist/esm/parts/FilterBar/components/SingleDatePill.js.map +2 -2
  212. package/dist/esm/parts/Filters/index.js +4 -3
  213. package/dist/esm/parts/Filters/index.js.map +2 -2
  214. package/dist/esm/parts/Footer.js +4 -2
  215. package/dist/esm/parts/Footer.js.map +2 -2
  216. package/dist/esm/parts/Headers/EmptyChildrenGroup.js +2 -2
  217. package/dist/esm/parts/Headers/EmptyChildrenGroup.js.map +2 -2
  218. package/dist/esm/parts/Headers/HeaderCell.js +66 -59
  219. package/dist/esm/parts/Headers/HeaderCell.js.map +3 -3
  220. package/dist/esm/parts/Headers/HeaderCellGroup.js +31 -24
  221. package/dist/esm/parts/Headers/HeaderCellGroup.js.map +2 -2
  222. package/dist/esm/parts/Headers/HeaderCellTitle.js +19 -13
  223. package/dist/esm/parts/Headers/HeaderCellTitle.js.map +2 -2
  224. package/dist/esm/parts/Headers/HeaderResizer.js +14 -9
  225. package/dist/esm/parts/Headers/HeaderResizer.js.map +3 -3
  226. package/dist/esm/parts/Headers/RequiredDot.js +10 -9
  227. package/dist/esm/parts/Headers/RequiredDot.js.map +2 -2
  228. package/dist/esm/parts/Headers/index.js +19 -16
  229. package/dist/esm/parts/Headers/index.js.map +2 -2
  230. package/dist/esm/parts/Headers/useHeaderCellConfig.js +10 -7
  231. package/dist/esm/parts/Headers/useHeaderCellConfig.js.map +2 -2
  232. package/dist/esm/parts/Headers/useHeaderCellHandlers.js +34 -7
  233. package/dist/esm/parts/Headers/useHeaderCellHandlers.js.map +2 -2
  234. package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js +19 -11
  235. package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js.map +1 -1
  236. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +33 -25
  237. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +1 -1
  238. package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js +9 -7
  239. package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js.map +2 -2
  240. package/dist/esm/parts/HoC/withDnDSortableColumnContext.js +8 -6
  241. package/dist/esm/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
  242. package/dist/esm/parts/HoC/withDnDSortableRowContext.js +8 -6
  243. package/dist/esm/parts/HoC/withDnDSortableRowContext.js.map +2 -2
  244. package/dist/esm/parts/Loader.js +12 -10
  245. package/dist/esm/parts/Loader.js.map +2 -2
  246. package/dist/esm/parts/Row.js +13 -11
  247. package/dist/esm/parts/Row.js.map +2 -2
  248. package/dist/esm/parts/RowVariants/RowVariantHeader.js +25 -17
  249. package/dist/esm/parts/RowVariants/RowVariantHeader.js.map +2 -2
  250. package/dist/esm/parts/RowVariants/RowVariantPrimary.js +2 -2
  251. package/dist/esm/parts/RowVariants/RowVariantPrimary.js.map +2 -2
  252. package/dist/esm/parts/RowVariants/RowVariantSecondary.js +2 -2
  253. package/dist/esm/parts/RowVariants/RowVariantSecondary.js.map +2 -2
  254. package/dist/esm/parts/RowVariants/RowVariantSkeleton.js +4 -3
  255. package/dist/esm/parts/RowVariants/RowVariantSkeleton.js.map +2 -2
  256. package/dist/esm/parts/RowVariants/index.js +4 -4
  257. package/dist/esm/parts/RowVariants/index.js.map +2 -2
  258. package/dist/esm/parts/Rows.js +28 -25
  259. package/dist/esm/parts/Rows.js.map +2 -2
  260. package/dist/esm/parts/SortByCaret.js +14 -9
  261. package/dist/esm/parts/SortByCaret.js.map +3 -3
  262. package/dist/esm/parts/TableContent.js +15 -9
  263. package/dist/esm/parts/TableContent.js.map +1 -1
  264. package/dist/esm/parts/VirtualRowsList.js +22 -9
  265. package/dist/esm/parts/VirtualRowsList.js.map +2 -2
  266. package/dist/esm/types/props.js.map +1 -1
  267. package/package.json +18 -18
@@ -1,15 +1,16 @@
1
1
  import * as React from "react";
2
- import React2 from "react";
3
- const RequiredDot = () => /* @__PURE__ */ React2.createElement("svg", {
2
+ import { jsx } from "react/jsx-runtime";
3
+ const RequiredDot = () => /* @__PURE__ */ jsx("svg", {
4
4
  height: "4",
5
5
  width: "4",
6
- style: { marginBottom: "6px", marginLeft: "4px" }
7
- }, /* @__PURE__ */ React2.createElement("circle", {
8
- cx: "2",
9
- cy: "2",
10
- r: "2",
11
- fill: "red"
12
- }));
6
+ style: { marginBottom: "6px", marginLeft: "4px" },
7
+ children: /* @__PURE__ */ jsx("circle", {
8
+ cx: "2",
9
+ cy: "2",
10
+ r: "2",
11
+ fill: "red"
12
+ })
13
+ });
13
14
  export {
14
15
  RequiredDot
15
16
  };
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/RequiredDot.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\n\nexport const RequiredDot: React.ComponentType = () => (\n <svg height=\"4\" width=\"4\" style={{ marginBottom: '6px', marginLeft: '4px' }}>\n <circle cx=\"2\" cy=\"2\" r=\"2\" fill=\"red\" />\n </svg>\n);\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,OAAOA,YAAW;AAEX,MAAM,cAAmC,MAC9C,gBAAAA,OAAA,cAAC;AAAA,EAAI,QAAO;AAAA,EAAI,OAAM;AAAA,EAAI,OAAO,EAAE,cAAc,OAAO,YAAY,MAAM;AAAA,GACxE,gBAAAA,OAAA,cAAC;AAAA,EAAO,IAAG;AAAA,EAAI,IAAG;AAAA,EAAI,GAAE;AAAA,EAAI,MAAK;AAAA,CAAM,CACzC;",
6
- "names": ["React"]
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAEO,MAAM,cAAmC,MAC9C,oBAAC;AAAA,EAAI,QAAO;AAAA,EAAI,OAAM;AAAA,EAAI,OAAO,EAAE,cAAc,OAAO,YAAY,MAAM;AAAA,EACxE,8BAAC;AAAA,IAAO,IAAG;AAAA,IAAI,IAAG;AAAA,IAAI,GAAE;AAAA,IAAI,MAAK;AAAA,GAAM;AAAA,CACzC;",
6
+ "names": []
7
7
  }
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
- import React2, { useContext, useMemo } from "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useContext, useMemo } from "react";
3
4
  import { StyledHeadWrapper, StyledHeadTr } from "../../styled";
4
5
  import { DataTableContext } from "../../DataTableContext";
5
6
  import { withConditionalDnDColumnContext } from "../HoC/withConditionalDnDColumnContext";
@@ -13,26 +14,28 @@ const HeadersComp = () => {
13
14
  visibleColumns
14
15
  } = useContext(DataTableContext);
15
16
  const HeadersCells = useMemo(
16
- () => /* @__PURE__ */ React2.createElement(SortableHeaderCell, {
17
- items: visibleColumns
18
- }, /* @__PURE__ */ React2.createElement(StyledHeadTr, {
19
- role: "row",
20
- cols: gridLayout,
21
- colsLayoutStyle,
22
- isExpandable
23
- }, visibleColumns.map((h, index) => /* @__PURE__ */ React2.createElement(HeaderCellGroupSortable, {
24
- header: h,
25
- key: h.id,
26
- isLast: index === visibleColumns.length - 1
27
- })))),
17
+ () => /* @__PURE__ */ jsx(SortableHeaderCell, {
18
+ items: visibleColumns,
19
+ children: /* @__PURE__ */ jsx(StyledHeadTr, {
20
+ role: "row",
21
+ cols: gridLayout,
22
+ colsLayoutStyle,
23
+ isExpandable,
24
+ children: visibleColumns.map((h, index) => /* @__PURE__ */ jsx(HeaderCellGroupSortable, {
25
+ header: h,
26
+ isLast: index === visibleColumns.length - 1
27
+ }, h.id))
28
+ })
29
+ }),
28
30
  [isExpandable, visibleColumns, gridLayout, colsLayoutStyle]
29
31
  );
30
32
  const PureHeaders = useMemo(
31
- () => /* @__PURE__ */ React2.createElement(StyledHeadWrapper, {
33
+ () => /* @__PURE__ */ jsx(StyledHeadWrapper, {
32
34
  totalColumnsWidth,
33
35
  colsLayoutStyle,
34
- ref: columnHeaderRef
35
- }, HeadersCells),
36
+ ref: columnHeaderRef,
37
+ children: HeadersCells
38
+ }),
36
39
  [totalColumnsWidth, colsLayoutStyle, columnHeaderRef, HeadersCells]
37
40
  );
38
41
  return PureHeaders;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/index.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useMemo } from 'react';\nimport { StyledHeadWrapper, StyledHeadTr } from '../../styled';\nimport { DataTableContext } from '../../DataTableContext';\nimport { withConditionalDnDColumnContext } from '../HoC/withConditionalDnDColumnContext';\nimport { HeaderCellGroupSortable } from './HeaderCellGroup';\nimport { SortableHeaderCell } from '../SortableHeaderCell';\nimport { TypescriptColumn } from '../../types/props';\n\nconst HeadersComp = (): JSX.Element => {\n const {\n tableProps: { isExpandable, colsLayoutStyle },\n layoutHelpers: { gridLayout, totalColumnsWidth },\n columnHeaderRef,\n visibleColumns,\n } = useContext(DataTableContext);\n const HeadersCells = useMemo(\n () => (\n <SortableHeaderCell items={visibleColumns}>\n <StyledHeadTr role=\"row\" cols={gridLayout} colsLayoutStyle={colsLayoutStyle} isExpandable={isExpandable}>\n {visibleColumns.map((h: TypescriptColumn, index) => (\n <HeaderCellGroupSortable header={h} key={h.id} isLast={index === visibleColumns.length - 1} />\n ))}\n </StyledHeadTr>\n </SortableHeaderCell>\n ),\n [isExpandable, visibleColumns, gridLayout, colsLayoutStyle],\n );\n\n const PureHeaders = useMemo(\n () => (\n <StyledHeadWrapper totalColumnsWidth={totalColumnsWidth} colsLayoutStyle={colsLayoutStyle} ref={columnHeaderRef}>\n {HeadersCells}\n </StyledHeadWrapper>\n ),\n [totalColumnsWidth, colsLayoutStyle, columnHeaderRef, HeadersCells],\n );\n return PureHeaders;\n};\n\nexport const Headers = withConditionalDnDColumnContext(HeadersComp);\nexport default Headers;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,OAAOA,UAAS,YAAY,eAAe;AAC3C,SAAS,mBAAmB,oBAAoB;AAChD,SAAS,wBAAwB;AACjC,SAAS,uCAAuC;AAChD,SAAS,+BAA+B;AACxC,SAAS,0BAA0B;AAGnC,MAAM,cAAc,MAAmB;AACrC,QAAM;AAAA,IACJ,YAAY,EAAE,cAAc,gBAAgB;AAAA,IAC5C,eAAe,EAAE,YAAY,kBAAkB;AAAA,IAC/C;AAAA,IACA;AAAA,EACF,IAAI,WAAW,gBAAgB;AAC/B,QAAM,eAAe;AAAA,IACnB,MACE,gBAAAA,OAAA,cAAC;AAAA,MAAmB,OAAO;AAAA,OACzB,gBAAAA,OAAA,cAAC;AAAA,MAAa,MAAK;AAAA,MAAM,MAAM;AAAA,MAAY;AAAA,MAAkC;AAAA,OAC1E,eAAe,IAAI,CAAC,GAAqB,UACxC,gBAAAA,OAAA,cAAC;AAAA,MAAwB,QAAQ;AAAA,MAAG,KAAK,EAAE;AAAA,MAAI,QAAQ,UAAU,eAAe,SAAS;AAAA,KAAG,CAC7F,CACH,CACF;AAAA,IAEF,CAAC,cAAc,gBAAgB,YAAY,eAAe;AAAA,EAC5D;AAEA,QAAM,cAAc;AAAA,IAClB,MACE,gBAAAA,OAAA,cAAC;AAAA,MAAkB;AAAA,MAAsC;AAAA,MAAkC,KAAK;AAAA,OAC7F,YACH;AAAA,IAEF,CAAC,mBAAmB,iBAAiB,iBAAiB,YAAY;AAAA,EACpE;AACA,SAAO;AACT;AAEO,MAAM,UAAU,gCAAgC,WAAW;AAClE,IAAO,kBAAQ;",
6
- "names": ["React"]
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,YAAY,eAAe;AAC3C,SAAS,mBAAmB,oBAAoB;AAChD,SAAS,wBAAwB;AACjC,SAAS,uCAAuC;AAChD,SAAS,+BAA+B;AACxC,SAAS,0BAA0B;AAGnC,MAAM,cAAc,MAAmB;AACrC,QAAM;AAAA,IACJ,YAAY,EAAE,cAAc,gBAAgB;AAAA,IAC5C,eAAe,EAAE,YAAY,kBAAkB;AAAA,IAC/C;AAAA,IACA;AAAA,EACF,IAAI,WAAW,gBAAgB;AAC/B,QAAM,eAAe;AAAA,IACnB,MACE,oBAAC;AAAA,MAAmB,OAAO;AAAA,MACzB,8BAAC;AAAA,QAAa,MAAK;AAAA,QAAM,MAAM;AAAA,QAAY;AAAA,QAAkC;AAAA,QAC1E,yBAAe,IAAI,CAAC,GAAqB,UACxC,oBAAC;AAAA,UAAwB,QAAQ;AAAA,UAAc,QAAQ,UAAU,eAAe,SAAS;AAAA,WAAhD,EAAE,EAAiD,CAC7F;AAAA,OACH;AAAA,KACF;AAAA,IAEF,CAAC,cAAc,gBAAgB,YAAY,eAAe;AAAA,EAC5D;AAEA,QAAM,cAAc;AAAA,IAClB,MACE,oBAAC;AAAA,MAAkB;AAAA,MAAsC;AAAA,MAAkC,KAAK;AAAA,MAC7F;AAAA,KACH;AAAA,IAEF,CAAC,mBAAmB,iBAAiB,iBAAiB,YAAY;AAAA,EACpE;AACA,SAAO;AACT;AAEO,MAAM,UAAU,gCAAgC,WAAW;AAClE,IAAO,kBAAQ;",
6
+ "names": []
7
7
  }
@@ -1,11 +1,14 @@
1
1
  import * as React from "react";
2
- const useHeaderCellConfig = ({
3
- column,
4
- dragAndDropColumns,
5
- draggableProps,
6
- reduxHeader,
7
- isDragOverlay
8
- }) => {
2
+ import { useContext, useMemo } from "react";
3
+ import DataTableContext from "../../DataTableContext";
4
+ import { SortableItemContext } from "../HoC/SortableItemContext";
5
+ const useHeaderCellConfig = ({ column, isDragOverlay }) => {
6
+ const {
7
+ tableProps: { dragAndDropColumns },
8
+ reduxHeaders
9
+ } = useContext(DataTableContext);
10
+ const { draggableProps } = useContext(SortableItemContext);
11
+ const reduxHeader = useMemo(() => reduxHeaders[column.id], [reduxHeaders, column]);
9
12
  const hasFilter = !!(column.filter || column.Filter);
10
13
  const hasDnD = dragAndDropColumns && !column.disableDnD;
11
14
  const hasSortingCaret = column.canSort && typeof column.isSortedDesc === "boolean";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/useHeaderCellConfig.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport { TypescriptColumn } from '../../types/props';\nimport { SortableItemContextType } from '../HoC/SortableItemContext';\n\ntype useHeaderCellConfigType = (\n args: {\n column: TypescriptColumn;\n dragAndDropColumns: boolean;\n reduxHeader: { showDnDHandle: boolean };\n isDragOverlay: boolean;\n } & SortableItemContextType,\n) => {\n hasFilter: boolean;\n hasDnD: boolean;\n hasSortingCaret: boolean;\n hasRightIcons: boolean;\n isDragging: boolean;\n shouldShowDnD: boolean;\n hCols: string[];\n};\n\nexport const useHeaderCellConfig: useHeaderCellConfigType = ({\n column,\n dragAndDropColumns,\n draggableProps,\n reduxHeader,\n isDragOverlay,\n}) => {\n const hasFilter = !!(column.filter || column.Filter);\n\n const hasDnD = dragAndDropColumns && !column.disableDnD;\n\n const hasSortingCaret = column.canSort && typeof column.isSortedDesc === 'boolean';\n\n const hasRightIcons = !isDragOverlay && (hasSortingCaret || hasFilter);\n\n const isDragging = draggableProps && draggableProps.isDragging;\n\n const shouldShowDnD =\n hasDnD &&\n ((reduxHeader?.showDnDHandle && draggableProps && !draggableProps.active) ||\n (draggableProps && draggableProps.isDragging) ||\n isDragOverlay);\n\n // Column definition\n const hCols = ['auto'];\n if (hasRightIcons) hCols.push('min-content');\n if (shouldShowDnD) hCols.unshift('min-content');\n\n return {\n hasFilter,\n hasDnD,\n hasSortingCaret,\n hasRightIcons,\n isDragging,\n hCols,\n shouldShowDnD,\n };\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACqBhB,MAAM,sBAA+C,CAAC;AAAA,EAC3D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,YAAY,CAAC,EAAE,OAAO,UAAU,OAAO;AAE7C,QAAM,SAAS,sBAAsB,CAAC,OAAO;AAE7C,QAAM,kBAAkB,OAAO,WAAW,OAAO,OAAO,iBAAiB;AAEzE,QAAM,gBAAgB,CAAC,kBAAkB,mBAAmB;AAE5D,QAAM,aAAa,kBAAkB,eAAe;AAEpD,QAAM,gBACJ,WACE,aAAa,iBAAiB,kBAAkB,CAAC,eAAe,UAC/D,kBAAkB,eAAe,cAClC;AAGJ,QAAM,QAAQ,CAAC,MAAM;AACrB,MAAI;AAAe,UAAM,KAAK,aAAa;AAC3C,MAAI;AAAe,UAAM,QAAQ,aAAa;AAE9C,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport { useContext, useMemo } from 'react';\nimport DataTableContext from '../../DataTableContext';\nimport { SortableItemContext } from '../HoC/SortableItemContext';\nimport { InternalTypescriptColumn } from '../../types/props';\n\ntype UseHeaderCellConfigType = (args: { column: InternalTypescriptColumn; isDragOverlay: boolean }) => {\n hasFilter: boolean;\n hasDnD: boolean;\n hasSortingCaret: boolean;\n hasRightIcons: boolean;\n isDragging: boolean;\n shouldShowDnD: boolean;\n hCols: string[];\n};\n\nexport const useHeaderCellConfig: UseHeaderCellConfigType = ({ column, isDragOverlay }) => {\n const {\n tableProps: { dragAndDropColumns },\n reduxHeaders,\n } = useContext(DataTableContext);\n\n const { draggableProps } = useContext(SortableItemContext);\n\n const reduxHeader = useMemo(() => reduxHeaders[column.id], [reduxHeaders, column]);\n\n const hasFilter = !!(column.filter || column.Filter);\n\n const hasDnD = dragAndDropColumns && !column.disableDnD;\n\n const hasSortingCaret = column.canSort && typeof column.isSortedDesc === 'boolean';\n\n const hasRightIcons = !isDragOverlay && (hasSortingCaret || hasFilter);\n\n const isDragging = draggableProps && draggableProps.isDragging;\n\n const shouldShowDnD =\n hasDnD &&\n ((reduxHeader?.showDnDHandle && draggableProps && !draggableProps.active) ||\n (draggableProps && draggableProps.isDragging) ||\n isDragOverlay);\n\n // Column definition\n const hCols = ['auto'];\n if (hasRightIcons) hCols.push('min-content');\n if (shouldShowDnD) hCols.unshift('min-content');\n\n return {\n hasFilter,\n hasDnD,\n hasSortingCaret,\n hasRightIcons,\n isDragging,\n hCols,\n shouldShowDnD,\n };\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,YAAY,eAAe;AACpC,OAAO,sBAAsB;AAC7B,SAAS,2BAA2B;AAa7B,MAAM,sBAA+C,CAAC,EAAE,QAAQ,cAAc,MAAM;AACzF,QAAM;AAAA,IACJ,YAAY,EAAE,mBAAmB;AAAA,IACjC;AAAA,EACF,IAAI,WAAW,gBAAgB;AAE/B,QAAM,EAAE,eAAe,IAAI,WAAW,mBAAmB;AAEzD,QAAM,cAAc,QAAQ,MAAM,aAAa,OAAO,KAAK,CAAC,cAAc,MAAM,CAAC;AAEjF,QAAM,YAAY,CAAC,EAAE,OAAO,UAAU,OAAO;AAE7C,QAAM,SAAS,sBAAsB,CAAC,OAAO;AAE7C,QAAM,kBAAkB,OAAO,WAAW,OAAO,OAAO,iBAAiB;AAEzE,QAAM,gBAAgB,CAAC,kBAAkB,mBAAmB;AAE5D,QAAM,aAAa,kBAAkB,eAAe;AAEpD,QAAM,gBACJ,WACE,aAAa,iBAAiB,kBAAkB,CAAC,eAAe,UAC/D,kBAAkB,eAAe,cAClC;AAGJ,QAAM,QAAQ,CAAC,MAAM;AACrB,MAAI;AAAe,UAAM,KAAK,aAAa;AAC3C,MAAI;AAAe,UAAM,QAAQ,aAAa;AAE9C,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
- import { useCallback } from "react";
2
+ import { useCallback, useContext, useMemo } from "react";
3
+ import DataTableContext from "../../DataTableContext";
3
4
  const buildNextHeader = (reduxHeader, value, hasFilter, hasDnD, withTabStops = false) => ({
4
5
  hideFilterMenu: true,
5
6
  ...reduxHeader,
@@ -9,15 +10,36 @@ const buildNextHeader = (reduxHeader, value, hasFilter, hasDnD, withTabStops = f
9
10
  });
10
11
  const useHeaderCellHandlers = ({
11
12
  hasFilter,
12
- patchHeader,
13
13
  column,
14
- reduxHeader,
15
14
  hasDnD,
16
- onColumnSortChange,
17
15
  dragHandleRef,
18
- filterIconRef,
19
- headerRef
16
+ filterIconRef
20
17
  }) => {
18
+ const {
19
+ tableProps: { onColumnSortChange, onColumnSort },
20
+ patchHeader,
21
+ reduxHeaders,
22
+ visibleColumns
23
+ } = useContext(DataTableContext);
24
+ const reduxHeader = useMemo(() => reduxHeaders[column.id], [reduxHeaders, column]);
25
+ const headerRef = column.ref;
26
+ const realColumnIndex = useMemo(
27
+ () => visibleColumns.findIndex((visibleColumn) => visibleColumn.id === column.id),
28
+ [column.id, visibleColumns]
29
+ );
30
+ const getNextSortedVisibleColumns = useCallback(
31
+ (isSortedDesc) => {
32
+ const visibleColumnsCopy = visibleColumns.reduce((acc, col) => {
33
+ if (col.columns) {
34
+ return [...acc, ...col.columns];
35
+ }
36
+ return [...acc, { ...col }];
37
+ }, []);
38
+ visibleColumnsCopy[realColumnIndex].isSortedDesc = isSortedDesc;
39
+ return visibleColumnsCopy;
40
+ },
41
+ [realColumnIndex, visibleColumns]
42
+ );
21
43
  const onMouseEnter = useCallback(() => {
22
44
  patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));
23
45
  }, [column.id, hasDnD, hasFilter, patchHeader, reduxHeader]);
@@ -32,8 +54,9 @@ const useHeaderCellHandlers = ({
32
54
  column: column.id,
33
55
  direction: column.isSortedDesc ? "ASC" : "DESC"
34
56
  });
57
+ onColumnSort(getNextSortedVisibleColumns(!column.isSortedDesc), column.id, column.isSortedDesc ? "ASC" : "DESC");
35
58
  }
36
- }, [column.canSort, column.id, column.isSortedDesc, onColumnSortChange]);
59
+ }, [column.canSort, column.id, column.isSortedDesc, getNextSortedVisibleColumns, onColumnSort, onColumnSortChange]);
37
60
  const onKeyDown = useCallback(
38
61
  (e) => {
39
62
  if (e.code === "ArrowDown" && column.canSort) {
@@ -42,12 +65,14 @@ const useHeaderCellHandlers = ({
42
65
  column: column.id,
43
66
  direction: "DESC"
44
67
  });
68
+ onColumnSort(getNextSortedVisibleColumns(true), column.id, "DESC");
45
69
  } else if (e.code === "ArrowUp" && column.canSort) {
46
70
  e.preventDefault();
47
71
  onColumnSortChange({
48
72
  column: column.id,
49
73
  direction: "ASC"
50
74
  });
75
+ onColumnSort(getNextSortedVisibleColumns(false), column.id, "ASC");
51
76
  } else if (["Enter", "Space"].includes(e.code)) {
52
77
  patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD, true));
53
78
  setTimeout(() => {
@@ -62,6 +87,8 @@ const useHeaderCellHandlers = ({
62
87
  column.canSort,
63
88
  column.id,
64
89
  onColumnSortChange,
90
+ onColumnSort,
91
+ getNextSortedVisibleColumns,
65
92
  patchHeader,
66
93
  reduxHeader,
67
94
  hasFilter,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/useHeaderCellHandlers.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nimport { useCallback } from 'react';\nimport { TypescriptColumn } from '../../types/props';\n\ntype useHeaderCellHandlersType = (args: {\n hasFilter: boolean;\n patchHeader: (headerId: string, newHeader: Record<string, unknown>) => void;\n column: TypescriptColumn;\n reduxHeader: Record<string, unknown>;\n hasDnD: boolean;\n onColumnSortChange: (newSort: { column: string; direction: 'ASC' | 'DESC' }) => void;\n dragHandleRef: React.MutableRefObject<HTMLDivElement>;\n filterIconRef: React.MutableRefObject<HTMLDivElement>;\n headerRef: React.MutableRefObject<HTMLTableColElement>;\n}) => {\n onMouseEnter: React.MouseEventHandler;\n onMouseLeave: React.MouseEventHandler;\n onClick: React.MouseEventHandler;\n onKeyDown: React.KeyboardEventHandler;\n onFocus: React.FocusEventHandler;\n onBlur: React.FocusEventHandler;\n};\n\nconst buildNextHeader = (\n reduxHeader: Record<string, unknown>,\n value: boolean,\n hasFilter: boolean,\n hasDnD: boolean,\n withTabStops = false,\n) => ({\n hideFilterMenu: true, // Do this to overwrite it if it exists\n ...reduxHeader,\n hideFilterButton: !(hasFilter && value),\n showDnDHandle: hasDnD && value,\n withTabStops,\n});\n\nexport const useHeaderCellHandlers: useHeaderCellHandlersType = ({\n hasFilter,\n patchHeader,\n column,\n reduxHeader,\n hasDnD,\n onColumnSortChange,\n dragHandleRef,\n filterIconRef,\n headerRef,\n}) => {\n const onMouseEnter: React.MouseEventHandler = useCallback(() => {\n patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));\n }, [column.id, hasDnD, hasFilter, patchHeader, reduxHeader]);\n\n const onMouseLeave: React.MouseEventHandler = useCallback(() => {\n if (!headerRef?.current?.contains(document.activeElement)) {\n patchHeader(column.id, buildNextHeader(reduxHeader, false, hasFilter, hasDnD));\n }\n }, [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader]);\n\n const onClick: React.MouseEventHandler = useCallback(() => {\n if (column.canSort) {\n onColumnSortChange({\n column: column.id,\n direction: column.isSortedDesc ? 'ASC' : 'DESC',\n });\n }\n }, [column.canSort, column.id, column.isSortedDesc, onColumnSortChange]);\n\n const onKeyDown: React.KeyboardEventHandler = useCallback(\n (e) => {\n if (e.code === 'ArrowDown' && column.canSort) {\n e.preventDefault();\n onColumnSortChange({\n column: column.id,\n direction: 'DESC',\n });\n } else if (e.code === 'ArrowUp' && column.canSort) {\n e.preventDefault();\n onColumnSortChange({\n column: column.id,\n direction: 'ASC',\n });\n } else if (['Enter', 'Space'].includes(e.code)) {\n patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD, true));\n // Elements don't not yet exist\n setTimeout(() => {\n if (dragHandleRef.current) dragHandleRef.current.focus();\n else if (filterIconRef.current) filterIconRef.current.focus();\n });\n }\n },\n [\n column.canSort,\n column.id,\n onColumnSortChange,\n patchHeader,\n reduxHeader,\n hasFilter,\n hasDnD,\n dragHandleRef,\n filterIconRef,\n ],\n );\n\n const onFocus: React.FocusEventHandler = useCallback(\n (e) => {\n // Don't do anything if focus wasn't placed in the element (bubling issues)\n if (e.target === headerRef?.current) {\n patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));\n }\n },\n [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader],\n );\n\n const onBlur: React.FocusEventHandler = useCallback(\n (e) => {\n // Don't do anything if blur was caused by going to a child\n if (e.relatedTarget === dragHandleRef.current) return;\n if (e.relatedTarget === filterIconRef.current) return;\n patchHeader(column.id, buildNextHeader(reduxHeader, false, hasFilter, hasDnD));\n },\n [dragHandleRef, filterIconRef, patchHeader, column.id, reduxHeader, hasFilter, hasDnD],\n );\n\n return { onMouseEnter, onMouseLeave, onClick, onKeyDown, onBlur, onFocus };\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,mBAAmB;AAsB5B,MAAM,kBAAkB,CACtB,aACA,OACA,WACA,QACA,eAAe,WACX;AAAA,EACJ,gBAAgB;AAAA,EAChB,GAAG;AAAA,EACH,kBAAkB,EAAE,aAAa;AAAA,EACjC,eAAe,UAAU;AAAA,EACzB;AACF;AAEO,MAAM,wBAAmD,CAAC;AAAA,EAC/D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,eAAwC,YAAY,MAAM;AAC9D,gBAAY,OAAO,IAAI,gBAAgB,aAAa,MAAM,WAAW,MAAM,CAAC;AAAA,EAC9E,GAAG,CAAC,OAAO,IAAI,QAAQ,WAAW,aAAa,WAAW,CAAC;AAE3D,QAAM,eAAwC,YAAY,MAAM;AAC9D,QAAI,CAAC,WAAW,SAAS,SAAS,SAAS,aAAa,GAAG;AACzD,kBAAY,OAAO,IAAI,gBAAgB,aAAa,OAAO,WAAW,MAAM,CAAC;AAAA,IAC/E;AAAA,EACF,GAAG,CAAC,OAAO,IAAI,QAAQ,WAAW,WAAW,aAAa,WAAW,CAAC;AAEtE,QAAM,UAAmC,YAAY,MAAM;AACzD,QAAI,OAAO,SAAS;AAClB,yBAAmB;AAAA,QACjB,QAAQ,OAAO;AAAA,QACf,WAAW,OAAO,eAAe,QAAQ;AAAA,MAC3C,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,OAAO,SAAS,OAAO,IAAI,OAAO,cAAc,kBAAkB,CAAC;AAEvE,QAAM,YAAwC;AAAA,IAC5C,CAAC,MAAM;AACL,UAAI,EAAE,SAAS,eAAe,OAAO,SAAS;AAC5C,UAAE,eAAe;AACjB,2BAAmB;AAAA,UACjB,QAAQ,OAAO;AAAA,UACf,WAAW;AAAA,QACb,CAAC;AAAA,MACH,WAAW,EAAE,SAAS,aAAa,OAAO,SAAS;AACjD,UAAE,eAAe;AACjB,2BAAmB;AAAA,UACjB,QAAQ,OAAO;AAAA,UACf,WAAW;AAAA,QACb,CAAC;AAAA,MACH,WAAW,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AAC9C,oBAAY,OAAO,IAAI,gBAAgB,aAAa,MAAM,WAAW,QAAQ,IAAI,CAAC;AAElF,mBAAW,MAAM;AACf,cAAI,cAAc;AAAS,0BAAc,QAAQ,MAAM;AAAA,mBAC9C,cAAc;AAAS,0BAAc,QAAQ,MAAM;AAAA,QAC9D,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,UAAmC;AAAA,IACvC,CAAC,MAAM;AAEL,UAAI,EAAE,WAAW,WAAW,SAAS;AACnC,oBAAY,OAAO,IAAI,gBAAgB,aAAa,MAAM,WAAW,MAAM,CAAC;AAAA,MAC9E;AAAA,IACF;AAAA,IACA,CAAC,OAAO,IAAI,QAAQ,WAAW,WAAW,aAAa,WAAW;AAAA,EACpE;AAEA,QAAM,SAAkC;AAAA,IACtC,CAAC,MAAM;AAEL,UAAI,EAAE,kBAAkB,cAAc;AAAS;AAC/C,UAAI,EAAE,kBAAkB,cAAc;AAAS;AAC/C,kBAAY,OAAO,IAAI,gBAAgB,aAAa,OAAO,WAAW,MAAM,CAAC;AAAA,IAC/E;AAAA,IACA,CAAC,eAAe,eAAe,aAAa,OAAO,IAAI,aAAa,WAAW,MAAM;AAAA,EACvF;AAEA,SAAO,EAAE,cAAc,cAAc,SAAS,WAAW,QAAQ,QAAQ;AAC3E;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nimport { useCallback, useContext, useMemo } from 'react';\nimport DataTableContext from '../../DataTableContext';\nimport { InternalTypescriptColumn, ReduxHeader, TypescriptColumn } from '../../types/props';\n\ntype UseHeaderCellHandlersType = (args: {\n hasFilter: boolean;\n column: InternalTypescriptColumn;\n hasDnD: boolean;\n dragHandleRef: React.MutableRefObject<HTMLDivElement | null>;\n filterIconRef: React.MutableRefObject<HTMLDivElement | null>;\n}) => {\n onMouseEnter: React.MouseEventHandler;\n onMouseLeave: React.MouseEventHandler;\n onClick: React.MouseEventHandler;\n onKeyDown: React.KeyboardEventHandler;\n onFocus: React.FocusEventHandler;\n onBlur: React.FocusEventHandler;\n};\n\nconst buildNextHeader = (\n reduxHeader: ReduxHeader,\n value: boolean,\n hasFilter: boolean,\n hasDnD: boolean,\n withTabStops = false,\n) => ({\n hideFilterMenu: true, // Do this to overwrite it if it exists\n ...reduxHeader,\n hideFilterButton: !(hasFilter && value),\n showDnDHandle: hasDnD && value,\n withTabStops,\n});\n\nexport const useHeaderCellHandlers: UseHeaderCellHandlersType = ({\n hasFilter,\n column,\n hasDnD,\n dragHandleRef,\n filterIconRef,\n}) => {\n const {\n tableProps: { onColumnSortChange, onColumnSort },\n patchHeader,\n reduxHeaders,\n visibleColumns,\n } = useContext(DataTableContext);\n\n const reduxHeader = useMemo(() => reduxHeaders[column.id], [reduxHeaders, column]);\n\n const headerRef = column.ref;\n\n const realColumnIndex = useMemo(\n () => visibleColumns.findIndex((visibleColumn) => visibleColumn.id === column.id),\n [column.id, visibleColumns],\n );\n\n const getNextSortedVisibleColumns = useCallback(\n (isSortedDesc: boolean) => {\n const visibleColumnsCopy = visibleColumns.reduce((acc, col) => {\n if (col.columns) {\n return [...acc, ...col.columns];\n }\n return [...acc, { ...col }];\n }, [] as TypescriptColumn[]);\n visibleColumnsCopy[realColumnIndex].isSortedDesc = isSortedDesc;\n return visibleColumnsCopy;\n },\n [realColumnIndex, visibleColumns],\n );\n\n const onMouseEnter: React.MouseEventHandler = useCallback(() => {\n patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));\n }, [column.id, hasDnD, hasFilter, patchHeader, reduxHeader]);\n\n const onMouseLeave: React.MouseEventHandler = useCallback(() => {\n if (!headerRef?.current?.contains(document.activeElement)) {\n patchHeader(column.id, buildNextHeader(reduxHeader, false, hasFilter, hasDnD));\n }\n }, [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader]);\n\n const onClick: React.MouseEventHandler = useCallback(() => {\n if (column.canSort) {\n onColumnSortChange({\n column: column.id,\n direction: column.isSortedDesc ? 'ASC' : 'DESC',\n });\n onColumnSort(getNextSortedVisibleColumns(!column.isSortedDesc), column.id, column.isSortedDesc ? 'ASC' : 'DESC');\n }\n }, [column.canSort, column.id, column.isSortedDesc, getNextSortedVisibleColumns, onColumnSort, onColumnSortChange]);\n\n const onKeyDown: React.KeyboardEventHandler = useCallback(\n (e) => {\n if (e.code === 'ArrowDown' && column.canSort) {\n e.preventDefault();\n onColumnSortChange({\n column: column.id,\n direction: 'DESC',\n });\n onColumnSort(getNextSortedVisibleColumns(true), column.id, 'DESC');\n } else if (e.code === 'ArrowUp' && column.canSort) {\n e.preventDefault();\n onColumnSortChange({\n column: column.id,\n direction: 'ASC',\n });\n onColumnSort(getNextSortedVisibleColumns(false), column.id, 'ASC');\n } else if (['Enter', 'Space'].includes(e.code)) {\n patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD, true));\n // Elements don't not yet exist\n setTimeout(() => {\n if (dragHandleRef.current) dragHandleRef.current.focus();\n else if (filterIconRef.current) filterIconRef.current.focus();\n });\n }\n },\n [\n column.canSort,\n column.id,\n onColumnSortChange,\n onColumnSort,\n getNextSortedVisibleColumns,\n patchHeader,\n reduxHeader,\n hasFilter,\n hasDnD,\n dragHandleRef,\n filterIconRef,\n ],\n );\n\n const onFocus: React.FocusEventHandler = useCallback(\n (e) => {\n // Don't do anything if focus wasn't placed in the element (bubling issues)\n if (e.target === headerRef?.current) {\n patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));\n }\n },\n [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader],\n );\n\n const onBlur: React.FocusEventHandler = useCallback(\n (e) => {\n // Don't do anything if blur was caused by going to a child\n if (e.relatedTarget === dragHandleRef.current) return;\n if (e.relatedTarget === filterIconRef.current) return;\n patchHeader(column.id, buildNextHeader(reduxHeader, false, hasFilter, hasDnD));\n },\n [dragHandleRef, filterIconRef, patchHeader, column.id, reduxHeader, hasFilter, hasDnD],\n );\n\n return { onMouseEnter, onMouseLeave, onClick, onKeyDown, onBlur, onFocus };\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,5 @@
1
1
  import * as React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
2
3
  import React2, { createContext, useCallback, useMemo } from "react";
3
4
  import { DndContext, DragOverlay, arrayMove, useHierarchyDndkitConfig } from "@elliemae/ds-drag-and-drop";
4
5
  import { DataTableContext } from "../../DataTableContext";
@@ -78,17 +79,24 @@ const withConditionalDnDColumnContext = (Component) => (props) => {
78
79
  onPreviewDragStart
79
80
  });
80
81
  if (dragAndDropColumns)
81
- return /* @__PURE__ */ React2.createElement(DndContext, {
82
- ...dndContextProps
83
- }, /* @__PURE__ */ React2.createElement(DnDGroupContext.Provider, {
84
- value: { activeIndex }
85
- }, /* @__PURE__ */ React2.createElement(Component, {
86
- ...props
87
- })), /* @__PURE__ */ React2.createElement(DragOverlay, null, activeId ? /* @__PURE__ */ React2.createElement(HeaderCellGroup, {
88
- header: flattenedItems.find(([item]) => item.id === activeId)[1],
89
- isDragOverlay: true
90
- }) : null));
91
- return /* @__PURE__ */ React2.createElement(Component, {
82
+ return /* @__PURE__ */ jsxs(DndContext, {
83
+ ...dndContextProps,
84
+ children: [
85
+ /* @__PURE__ */ jsx(DnDGroupContext.Provider, {
86
+ value: { activeIndex },
87
+ children: /* @__PURE__ */ jsx(Component, {
88
+ ...props
89
+ })
90
+ }),
91
+ /* @__PURE__ */ jsx(DragOverlay, {
92
+ children: activeId ? /* @__PURE__ */ jsx(HeaderCellGroup, {
93
+ header: flattenedItems.find(([item]) => item.id === activeId)[1],
94
+ isDragOverlay: true
95
+ }) : null
96
+ })
97
+ ]
98
+ });
99
+ return /* @__PURE__ */ jsx(Component, {
92
100
  ...props
93
101
  });
94
102
  };
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/HoC/withConditionalDnDColumnContext.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-underscore-dangle */\n/* eslint-disable max-params */\nimport React, { createContext, useCallback, useMemo } from 'react';\nimport { DndContext, DragOverlay, arrayMove, useHierarchyDndkitConfig } from '@elliemae/ds-drag-and-drop';\nimport { FunctionalHOC } from '../../types/FunctionalHoC';\nimport { DataTableContext } from '../../DataTableContext';\nimport { Item } from '../../helpers/dndkit/hierarchy/types';\nimport { TypescriptColumn } from '../../types/props';\nimport { HeaderCellGroup } from '../internal';\nimport { DATA_TESTID } from '../../configs/constants';\nimport { INTERNAL_COLUMNS } from '../../addons/Columns';\n\ntype DnDGroupContextType = {\n activeIndex: number;\n};\n\nexport const DnDGroupContext = createContext<DnDGroupContextType>({\n activeIndex: undefined,\n});\n\nconst flattenColumns = (cols: TypescriptColumn[]) => {\n const flattened = [];\n const flatten = (col: TypescriptColumn, index, parentId = null) => {\n const { id } = col;\n flattened.push([{ id, parentId, index }, col]);\n if (col.columns)\n col.columns.forEach((subColumn: TypescriptColumn, childIndex: number) => flatten(subColumn, childIndex, id));\n };\n cols.forEach((col, index) => flatten(col, index));\n return flattened;\n};\n\n// only wraps in \"DnDContext\" and \"DnDGroupContext\" if any Drag and Drop functionality is requested\nexport const withConditionalDnDColumnContext: FunctionalHOC = (Component) => (props) => {\n const {\n tableProps: { dragAndDropColumns, onColumnsReorder },\n visibleColumns,\n } = React.useContext(DataTableContext);\n\n const flattenedItems = useMemo(() => flattenColumns(visibleColumns), [visibleColumns]);\n\n const onReorder = useCallback(\n (movedItem: Item, indexes: { targetIndex: number; fromIndex: number }) => {\n // Send from index to target index\n const newFlattenedData = arrayMove(flattenedItems, indexes.fromIndex, indexes.targetIndex);\n // Pull the cols's data into an object\n const nodes = {};\n newFlattenedData.forEach(([dndData, colData]) => {\n delete colData.columns;\n nodes[dndData.id] = colData;\n });\n const newData = [];\n newFlattenedData.forEach(([dndData, colData]) => {\n // Don't send internal columns to the user\n if (INTERNAL_COLUMNS.includes(dndData.id)) {\n return;\n }\n // If row has parent, insert it to it's subrows\n // otherwise append it to the new user data\n if (dndData.parentId) {\n const parentNode = nodes[dndData.parentId];\n if (parentNode.columns) parentNode.columns.push(colData);\n else parentNode.columns = [colData];\n } else newData.push(colData);\n });\n onColumnsReorder(newData, indexes);\n },\n [flattenedItems, onColumnsReorder],\n );\n\n const onPreviewResetState = useCallback(() => {\n const el: HTMLDivElement | null = document.body.querySelector(\n `[data-testid=\"${DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER}\"]`,\n );\n if (el) el.onscroll = () => null;\n }, []);\n\n const onPreviewDragStart = useCallback(() => {\n const el: HTMLDivElement | null = document.body.querySelector(\n `[data-testid=\"${DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER}\"]`,\n );\n if (el) {\n const y = el.scrollTop;\n el.onscroll = () => {\n el.scrollTo({ top: y });\n };\n }\n }, []);\n\n const { dndContextProps, activeId, activeIndex } = useHierarchyDndkitConfig({\n flattenedItems,\n dragOverlayDataTestid: DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY,\n isHorizontalDnD: true,\n onReorder,\n onPreviewResetState,\n onPreviewDragStart,\n });\n\n if (dragAndDropColumns)\n return (\n <DndContext {...dndContextProps}>\n <DnDGroupContext.Provider value={{ activeIndex }}>\n <Component {...props} />\n </DnDGroupContext.Provider>\n <DragOverlay>\n {activeId ? (\n <HeaderCellGroup header={flattenedItems.find(([item]) => item.id === activeId)[1]} isDragOverlay />\n ) : null}\n </DragOverlay>\n </DndContext>\n );\n return <Component {...props} />;\n};\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["React"]
7
7
  }
@@ -1,4 +1,5 @@
1
1
  import * as React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
2
3
  import React2, { createContext, useCallback } from "react";
3
4
  import { DataTableContext } from "../../DataTableContext";
4
5
  import { DndContext, DragOverlay, SortableContext, useTreeDndkitConfig } from "@elliemae/ds-drag-and-drop";
@@ -53,31 +54,38 @@ const withConditionalDnDRowContext = (Component) => (props) => {
53
54
  if (lastActiveId !== activeId && activeId)
54
55
  setLastActiveId(activeId);
55
56
  if (dragAndDropRows)
56
- return /* @__PURE__ */ React2.createElement(DndContext, {
57
- ...dndContextProps
58
- }, /* @__PURE__ */ React2.createElement(SortableContext, {
59
- ...sortableContextProps
60
- }, /* @__PURE__ */ React2.createElement(DnDTreeContext.Provider, {
61
- value: {
62
- activeIndex,
63
- depth,
64
- visibleItems,
65
- dropIndicatorPosition,
66
- lastActiveId,
67
- setLastActiveId
68
- }
69
- }, /* @__PURE__ */ React2.createElement(Component, {
70
- ...props
71
- }))), createPortal(
72
- /* @__PURE__ */ React2.createElement(DragOverlay, {
73
- style: { width: "auto" }
74
- }, activeId ? /* @__PURE__ */ React2.createElement(Row, {
75
- row: flattenedData.find((row) => row.uid === activeId),
76
- isDragOverlay: true
77
- }) : null),
78
- document.body
79
- ));
80
- return /* @__PURE__ */ React2.createElement(Component, {
57
+ return /* @__PURE__ */ jsxs(DndContext, {
58
+ ...dndContextProps,
59
+ children: [
60
+ /* @__PURE__ */ jsx(SortableContext, {
61
+ ...sortableContextProps,
62
+ children: /* @__PURE__ */ jsx(DnDTreeContext.Provider, {
63
+ value: {
64
+ activeIndex,
65
+ depth,
66
+ visibleItems,
67
+ dropIndicatorPosition,
68
+ lastActiveId,
69
+ setLastActiveId
70
+ },
71
+ children: /* @__PURE__ */ jsx(Component, {
72
+ ...props
73
+ })
74
+ })
75
+ }),
76
+ createPortal(
77
+ /* @__PURE__ */ jsx(DragOverlay, {
78
+ style: { width: "auto" },
79
+ children: activeId ? /* @__PURE__ */ jsx(Row, {
80
+ row: flattenedData.find((row) => row.uid === activeId),
81
+ isDragOverlay: true
82
+ }) : null
83
+ }),
84
+ document.body
85
+ )
86
+ ]
87
+ });
88
+ return /* @__PURE__ */ jsx(Component, {
81
89
  ...props
82
90
  });
83
91
  };
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/HoC/withConditionalDnDRowContext.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { createContext, useCallback } from 'react';\nimport { DataTableContext } from '../../DataTableContext';\nimport { FunctionalHOC } from '../../types/FunctionalHoC';\nimport { DndContext, DragOverlay, SortableContext, useTreeDndkitConfig } from '@elliemae/ds-drag-and-drop';\nimport { Item } from '../../helpers/dndkit/tree/types';\nimport { Row } from '../Row';\nimport { createPortal } from 'react-dom';\nimport { DropIndicatorPosition } from '../../types/props';\n\ntype DnDTreeContextType = {\n depth: number;\n activeIndex: number;\n visibleItems: unknown[];\n dropIndicatorPosition: DropIndicatorPosition;\n lastActiveId: string;\n setLastActiveId: React.Dispatch<React.SetStateAction<string>>;\n};\n\nexport const DnDTreeContext = createContext<DnDTreeContextType>({\n depth: undefined,\n activeIndex: undefined,\n visibleItems: undefined,\n dropIndicatorPosition: DropIndicatorPosition.None,\n lastActiveId: undefined,\n setLastActiveId: undefined,\n});\n\n// only wraps in \"DnDContext\" and \"DnDTreeContext\" if any Drag and Drop functionality is requested\nexport const withConditionalDnDRowContext: FunctionalHOC = (Component) => (props) => {\n const {\n tableProps: { dragAndDropRows, isExpandable, onRowsReorder, maxDragAndDropLevel },\n flattenedData,\n allDataFlattened,\n } = React.useContext(DataTableContext);\n\n const [lastActiveId, setLastActiveId] = React.useState<string>(null);\n\n const onReorder = useCallback(\n (newData: Item[], indexes: { targetIndex: number; fromIndex: number }, considerExpanding: string) => {\n // Pull the row's original data into an object\n const nodes = {};\n newData.forEach((row) => {\n delete row.original.subRows;\n nodes[row.uid] = row.original;\n });\n const newUserData = [];\n newData.forEach((row) => {\n // If row has parent, insert it to it's subrows\n // otherwise append it to the new user data\n if (row.parentId) {\n const parentNode = nodes[row.parentId];\n if (parentNode?.subRows) parentNode.subRows.push(row.original);\n else parentNode.subRows = [row.original];\n } else newUserData.push(row.original);\n });\n // Tell the user that the order has change, he can chose to commit it or not\n onRowsReorder(newUserData, indexes, considerExpanding);\n },\n [onRowsReorder],\n );\n\n const { dndContextProps, sortableContextProps, activeId, activeIndex, depth, dropIndicatorPosition, visibleItems } =\n useTreeDndkitConfig({\n flattenedItems: allDataFlattened,\n visibleItems: flattenedData,\n isHorizontalDnD: false,\n isExpandable,\n onReorder,\n maxDragAndDropLevel,\n });\n\n if (lastActiveId !== activeId && activeId) setLastActiveId(activeId);\n\n if (dragAndDropRows)\n return (\n <DndContext {...dndContextProps}>\n <SortableContext {...sortableContextProps}>\n <DnDTreeContext.Provider\n value={{\n activeIndex,\n depth,\n visibleItems,\n dropIndicatorPosition,\n lastActiveId,\n setLastActiveId,\n }}\n >\n <Component {...props} />\n </DnDTreeContext.Provider>\n </SortableContext>\n {createPortal(\n <DragOverlay style={{ width: 'auto' }}>\n {activeId ? <Row row={flattenedData.find((row) => row.uid === activeId)} isDragOverlay /> : null}\n </DragOverlay>,\n document.body,\n )}\n </DndContext>\n );\n return <Component {...props} />;\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,OAAOA,UAAS,eAAe,mBAAmB;AAClD,SAAS,wBAAwB;AAEjC,SAAS,YAAY,aAAa,iBAAiB,2BAA2B;AAE9E,SAAS,WAAW;AACpB,SAAS,oBAAoB;AAC7B,SAAS,6BAA6B;AAW/B,MAAM,iBAAiB,cAAkC;AAAA,EAC9D,OAAO;AAAA,EACP,aAAa;AAAA,EACb,cAAc;AAAA,EACd,uBAAuB,sBAAsB;AAAA,EAC7C,cAAc;AAAA,EACd,iBAAiB;AACnB,CAAC;AAGM,MAAM,+BAA8C,CAAC,cAAc,CAAC,UAAU;AACnF,QAAM;AAAA,IACJ,YAAY,EAAE,iBAAiB,cAAc,eAAe,oBAAoB;AAAA,IAChF;AAAA,IACA;AAAA,EACF,IAAIA,OAAM,WAAW,gBAAgB;AAErC,QAAM,CAAC,cAAc,eAAe,IAAIA,OAAM,SAAiB,IAAI;AAEnE,QAAM,YAAY;AAAA,IAChB,CAAC,SAAiB,SAAqD,sBAA8B;AAEnG,YAAM,QAAQ,CAAC;AACf,cAAQ,QAAQ,CAAC,QAAQ;AACvB,eAAO,IAAI,SAAS;AACpB,cAAM,IAAI,OAAO,IAAI;AAAA,MACvB,CAAC;AACD,YAAM,cAAc,CAAC;AACrB,cAAQ,QAAQ,CAAC,QAAQ;AAGvB,YAAI,IAAI,UAAU;AAChB,gBAAM,aAAa,MAAM,IAAI;AAC7B,cAAI,YAAY;AAAS,uBAAW,QAAQ,KAAK,IAAI,QAAQ;AAAA;AACxD,uBAAW,UAAU,CAAC,IAAI,QAAQ;AAAA,QACzC;AAAO,sBAAY,KAAK,IAAI,QAAQ;AAAA,MACtC,CAAC;AAED,oBAAc,aAAa,SAAS,iBAAiB;AAAA,IACvD;AAAA,IACA,CAAC,aAAa;AAAA,EAChB;AAEA,QAAM,EAAE,iBAAiB,sBAAsB,UAAU,aAAa,OAAO,uBAAuB,aAAa,IAC/G,oBAAoB;AAAA,IAClB,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAEH,MAAI,iBAAiB,YAAY;AAAU,oBAAgB,QAAQ;AAEnE,MAAI;AACF,WACE,gBAAAA,OAAA,cAAC;AAAA,MAAY,GAAG;AAAA,OACd,gBAAAA,OAAA,cAAC;AAAA,MAAiB,GAAG;AAAA,OACnB,gBAAAA,OAAA,cAAC,eAAe,UAAf;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,OAEA,gBAAAA,OAAA,cAAC;AAAA,MAAW,GAAG;AAAA,KAAO,CACxB,CACF,GACC;AAAA,MACC,gBAAAA,OAAA,cAAC;AAAA,QAAY,OAAO,EAAE,OAAO,OAAO;AAAA,SACjC,WAAW,gBAAAA,OAAA,cAAC;AAAA,QAAI,KAAK,cAAc,KAAK,CAAC,QAAQ,IAAI,QAAQ,QAAQ;AAAA,QAAG,eAAa;AAAA,OAAC,IAAK,IAC9F;AAAA,MACA,SAAS;AAAA,IACX,CACF;AAEJ,SAAO,gBAAAA,OAAA,cAAC;AAAA,IAAW,GAAG;AAAA,GAAO;AAC/B;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,OAAOA,UAAS,eAAe,mBAAmB;AAClD,SAAS,wBAAwB;AAEjC,SAAS,YAAY,aAAa,iBAAiB,2BAA2B;AAE9E,SAAS,WAAW;AACpB,SAAS,oBAAoB;AAC7B,SAAS,6BAA6B;AAW/B,MAAM,iBAAiB,cAAkC;AAAA,EAC9D,OAAO;AAAA,EACP,aAAa;AAAA,EACb,cAAc;AAAA,EACd,uBAAuB,sBAAsB;AAAA,EAC7C,cAAc;AAAA,EACd,iBAAiB;AACnB,CAAC;AAGM,MAAM,+BAA8C,CAAC,cAAc,CAAC,UAAU;AACnF,QAAM;AAAA,IACJ,YAAY,EAAE,iBAAiB,cAAc,eAAe,oBAAoB;AAAA,IAChF;AAAA,IACA;AAAA,EACF,IAAIA,OAAM,WAAW,gBAAgB;AAErC,QAAM,CAAC,cAAc,eAAe,IAAIA,OAAM,SAAiB,IAAI;AAEnE,QAAM,YAAY;AAAA,IAChB,CAAC,SAAiB,SAAqD,sBAA8B;AAEnG,YAAM,QAAQ,CAAC;AACf,cAAQ,QAAQ,CAAC,QAAQ;AACvB,eAAO,IAAI,SAAS;AACpB,cAAM,IAAI,OAAO,IAAI;AAAA,MACvB,CAAC;AACD,YAAM,cAAc,CAAC;AACrB,cAAQ,QAAQ,CAAC,QAAQ;AAGvB,YAAI,IAAI,UAAU;AAChB,gBAAM,aAAa,MAAM,IAAI;AAC7B,cAAI,YAAY;AAAS,uBAAW,QAAQ,KAAK,IAAI,QAAQ;AAAA;AACxD,uBAAW,UAAU,CAAC,IAAI,QAAQ;AAAA,QACzC;AAAO,sBAAY,KAAK,IAAI,QAAQ;AAAA,MACtC,CAAC;AAED,oBAAc,aAAa,SAAS,iBAAiB;AAAA,IACvD;AAAA,IACA,CAAC,aAAa;AAAA,EAChB;AAEA,QAAM,EAAE,iBAAiB,sBAAsB,UAAU,aAAa,OAAO,uBAAuB,aAAa,IAC/G,oBAAoB;AAAA,IAClB,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAEH,MAAI,iBAAiB,YAAY;AAAU,oBAAgB,QAAQ;AAEnE,MAAI;AACF,WACE,qBAAC;AAAA,MAAY,GAAG;AAAA,MACd;AAAA,4BAAC;AAAA,UAAiB,GAAG;AAAA,UACnB,8BAAC,eAAe,UAAf;AAAA,YACC,OAAO;AAAA,cACL;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,YAEA,8BAAC;AAAA,cAAW,GAAG;AAAA,aAAO;AAAA,WACxB;AAAA,SACF;AAAA,QACC;AAAA,UACC,oBAAC;AAAA,YAAY,OAAO,EAAE,OAAO,OAAO;AAAA,YACjC,qBAAW,oBAAC;AAAA,cAAI,KAAK,cAAc,KAAK,CAAC,QAAQ,IAAI,QAAQ,QAAQ;AAAA,cAAG,eAAa;AAAA,aAAC,IAAK;AAAA,WAC9F;AAAA,UACA,SAAS;AAAA,QACX;AAAA;AAAA,KACF;AAEJ,SAAO,oBAAC;AAAA,IAAW,GAAG;AAAA,GAAO;AAC/B;",
6
6
  "names": ["React"]
7
7
  }
@@ -1,19 +1,21 @@
1
1
  import * as React from "react";
2
+ import { jsx } from "react/jsx-runtime";
2
3
  import { horizontalListSortingStrategy, SortableContext } from "@elliemae/ds-drag-and-drop";
3
- import React2, { useContext } from "react";
4
+ import { useContext } from "react";
4
5
  import { DataTableContext } from "../../DataTableContext";
5
6
  const withConditionalDnDSortableContext = (items, isDragOverlay = false) => (Component) => (props) => {
6
7
  const {
7
8
  tableProps: { dragAndDropColumns }
8
9
  } = useContext(DataTableContext);
9
10
  if (!isDragOverlay && dragAndDropColumns)
10
- return /* @__PURE__ */ React2.createElement(SortableContext, {
11
+ return /* @__PURE__ */ jsx(SortableContext, {
11
12
  items: items.map((item) => item.id),
12
- strategy: horizontalListSortingStrategy
13
- }, /* @__PURE__ */ React2.createElement(Component, {
14
- ...props
15
- }));
16
- return /* @__PURE__ */ React2.createElement(Component, {
13
+ strategy: horizontalListSortingStrategy,
14
+ children: /* @__PURE__ */ jsx(Component, {
15
+ ...props
16
+ })
17
+ });
18
+ return /* @__PURE__ */ jsx(Component, {
17
19
  ...props
18
20
  });
19
21
  };
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/HoC/withConditionalDnDSortableContext.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { horizontalListSortingStrategy, SortableContext } from '@elliemae/ds-drag-and-drop';\nimport React, { useContext } from 'react';\nimport { DataTableContext } from '../../DataTableContext';\nimport { FunctionalHOC } from '../../types/FunctionalHoC';\nimport { TypescriptColumn } from '../../types/props';\n\nexport const withConditionalDnDSortableContext =\n (items: TypescriptColumn[], isDragOverlay = false): FunctionalHOC =>\n (Component) =>\n (props) => {\n const {\n tableProps: { dragAndDropColumns },\n } = useContext(DataTableContext);\n\n // Only add the context if it's not a dragOverlay and dnd for cols was requested\n // It's important that drag overlays DO NOT have any sortable functionality!\n if (!isDragOverlay && dragAndDropColumns)\n return (\n <SortableContext items={items.map((item) => item.id)} strategy={horizontalListSortingStrategy}>\n <Component {...props} />\n </SortableContext>\n );\n\n return <Component {...props} />;\n };\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,+BAA+B,uBAAuB;AAC/D,OAAOA,UAAS,kBAAkB;AAClC,SAAS,wBAAwB;AAI1B,MAAM,oCACX,CAAC,OAA2B,gBAAgB,UAC5C,CAAC,cACD,CAAC,UAAU;AACT,QAAM;AAAA,IACJ,YAAY,EAAE,mBAAmB;AAAA,EACnC,IAAI,WAAW,gBAAgB;AAI/B,MAAI,CAAC,iBAAiB;AACpB,WACE,gBAAAA,OAAA,cAAC;AAAA,MAAgB,OAAO,MAAM,IAAI,CAAC,SAAS,KAAK,EAAE;AAAA,MAAG,UAAU;AAAA,OAC9D,gBAAAA,OAAA,cAAC;AAAA,MAAW,GAAG;AAAA,KAAO,CACxB;AAGJ,SAAO,gBAAAA,OAAA,cAAC;AAAA,IAAW,GAAG;AAAA,GAAO;AAC/B;",
6
- "names": ["React"]
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAS,+BAA+B,uBAAuB;AAC/D,SAAgB,kBAAkB;AAClC,SAAS,wBAAwB;AAI1B,MAAM,oCACX,CAAC,OAA2B,gBAAgB,UAC5C,CAAC,cACD,CAAC,UAAU;AACT,QAAM;AAAA,IACJ,YAAY,EAAE,mBAAmB;AAAA,EACnC,IAAI,WAAW,gBAAgB;AAI/B,MAAI,CAAC,iBAAiB;AACpB,WACE,oBAAC;AAAA,MAAgB,OAAO,MAAM,IAAI,CAAC,SAAS,KAAK,EAAE;AAAA,MAAG,UAAU;AAAA,MAC9D,8BAAC;AAAA,QAAW,GAAG;AAAA,OAAO;AAAA,KACxB;AAGJ,SAAO,oBAAC;AAAA,IAAW,GAAG;AAAA,GAAO;AAC/B;",
6
+ "names": []
7
7
  }
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
- import React2, { useContext, useMemo } from "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useContext, useMemo } from "react";
3
4
  import { useSortable } from "@elliemae/ds-drag-and-drop";
4
5
  import { DataTableContext } from "../../DataTableContext";
5
6
  import { DropIndicatorPosition } from "../../types/props";
@@ -33,11 +34,12 @@ const withDnDSortableColumnContext = (Component) => (props) => {
33
34
  }),
34
35
  [draggableProps]
35
36
  );
36
- return /* @__PURE__ */ React2.createElement(SortableItemContext.Provider, {
37
- value: ctx
38
- }, /* @__PURE__ */ React2.createElement(Component, {
39
- ...props
40
- }));
37
+ return /* @__PURE__ */ jsx(SortableItemContext.Provider, {
38
+ value: ctx,
39
+ children: /* @__PURE__ */ jsx(Component, {
40
+ ...props
41
+ })
42
+ });
41
43
  };
42
44
  export {
43
45
  withDnDSortableColumnContext
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/HoC/withDnDSortableColumnContext.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useMemo } from 'react';\nimport { useSortable } from '@elliemae/ds-drag-and-drop';\nimport { DataTableContext } from '../../DataTableContext';\nimport { FunctionalHOC } from '../../types/FunctionalHoC';\nimport { DropIndicatorPosition } from '../../types/props';\nimport { DnDGroupContext } from './withConditionalDnDColumnContext';\nimport { SortableItemContext, SortableItemContextType } from './SortableItemContext';\n\nexport const withDnDSortableColumnContext: FunctionalHOC = (Component) => (props: any) => {\n const {\n tableProps: { dragAndDropColumns },\n } = useContext(DataTableContext);\n const { activeIndex } = useContext(DnDGroupContext);\n\n // onMount generate unique options, so everyting is only ran once\n const draggableOptions = useMemo(\n () => ({\n id: props.header.id,\n }),\n [props.header.id],\n );\n\n const useSortableHelpers = useSortable(draggableOptions);\n\n // calculate all the \"useSortable\" values as per required\n const draggableProps = useMemo(() => {\n if (!dragAndDropColumns) return false;\n\n const { index, overIndex } = useSortableHelpers;\n\n return {\n ...useSortableHelpers,\n shouldShowDropIndicatorPosition: overIndex === index && overIndex !== -1,\n dropIndicatorPosition: index > activeIndex ? DropIndicatorPosition.After : DropIndicatorPosition.Before,\n };\n }, [useSortableHelpers, dragAndDropColumns, activeIndex]);\n // we use a context so we can easly access information wherever without bubbling down\n // this context is all Memoized so as long as component is not re-mounted,\n // the context won't trigger un-required renders per-se...\n const ctx: SortableItemContextType = useMemo(\n () => ({\n draggableProps,\n }),\n [draggableProps],\n );\n // we always add the context, if draggableProps===false we don't have the DnD enabled.\n return (\n <SortableItemContext.Provider value={ctx}>\n <Component {...props} />\n </SortableItemContext.Provider>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,OAAOA,UAAS,YAAY,eAAe;AAC3C,SAAS,mBAAmB;AAC5B,SAAS,wBAAwB;AAEjC,SAAS,6BAA6B;AACtC,SAAS,uBAAuB;AAChC,SAAS,2BAAoD;AAEtD,MAAM,+BAA8C,CAAC,cAAc,CAAC,UAAe;AACxF,QAAM;AAAA,IACJ,YAAY,EAAE,mBAAmB;AAAA,EACnC,IAAI,WAAW,gBAAgB;AAC/B,QAAM,EAAE,YAAY,IAAI,WAAW,eAAe;AAGlD,QAAM,mBAAmB;AAAA,IACvB,OAAO;AAAA,MACL,IAAI,MAAM,OAAO;AAAA,IACnB;AAAA,IACA,CAAC,MAAM,OAAO,EAAE;AAAA,EAClB;AAEA,QAAM,qBAAqB,YAAY,gBAAgB;AAGvD,QAAM,iBAAiB,QAAQ,MAAM;AACnC,QAAI,CAAC;AAAoB,aAAO;AAEhC,UAAM,EAAE,OAAO,UAAU,IAAI;AAE7B,WAAO;AAAA,MACL,GAAG;AAAA,MACH,iCAAiC,cAAc,SAAS,cAAc;AAAA,MACtE,uBAAuB,QAAQ,cAAc,sBAAsB,QAAQ,sBAAsB;AAAA,IACnG;AAAA,EACF,GAAG,CAAC,oBAAoB,oBAAoB,WAAW,CAAC;AAIxD,QAAM,MAA+B;AAAA,IACnC,OAAO;AAAA,MACL;AAAA,IACF;AAAA,IACA,CAAC,cAAc;AAAA,EACjB;AAEA,SACE,gBAAAA,OAAA,cAAC,oBAAoB,UAApB;AAAA,IAA6B,OAAO;AAAA,KACnC,gBAAAA,OAAA,cAAC;AAAA,IAAW,GAAG;AAAA,GAAO,CACxB;AAEJ;",
6
- "names": ["React"]
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,YAAY,eAAe;AAC3C,SAAS,mBAAmB;AAC5B,SAAS,wBAAwB;AAEjC,SAAS,6BAA6B;AACtC,SAAS,uBAAuB;AAChC,SAAS,2BAAoD;AAEtD,MAAM,+BAA8C,CAAC,cAAc,CAAC,UAAe;AACxF,QAAM;AAAA,IACJ,YAAY,EAAE,mBAAmB;AAAA,EACnC,IAAI,WAAW,gBAAgB;AAC/B,QAAM,EAAE,YAAY,IAAI,WAAW,eAAe;AAGlD,QAAM,mBAAmB;AAAA,IACvB,OAAO;AAAA,MACL,IAAI,MAAM,OAAO;AAAA,IACnB;AAAA,IACA,CAAC,MAAM,OAAO,EAAE;AAAA,EAClB;AAEA,QAAM,qBAAqB,YAAY,gBAAgB;AAGvD,QAAM,iBAAiB,QAAQ,MAAM;AACnC,QAAI,CAAC;AAAoB,aAAO;AAEhC,UAAM,EAAE,OAAO,UAAU,IAAI;AAE7B,WAAO;AAAA,MACL,GAAG;AAAA,MACH,iCAAiC,cAAc,SAAS,cAAc;AAAA,MACtE,uBAAuB,QAAQ,cAAc,sBAAsB,QAAQ,sBAAsB;AAAA,IACnG;AAAA,EACF,GAAG,CAAC,oBAAoB,oBAAoB,WAAW,CAAC;AAIxD,QAAM,MAA+B;AAAA,IACnC,OAAO;AAAA,MACL;AAAA,IACF;AAAA,IACA,CAAC,cAAc;AAAA,EACjB;AAEA,SACE,oBAAC,oBAAoB,UAApB;AAAA,IAA6B,OAAO;AAAA,IACnC,8BAAC;AAAA,MAAW,GAAG;AAAA,KAAO;AAAA,GACxB;AAEJ;",
6
+ "names": []
7
7
  }
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
- import React2, { useContext, useMemo } from "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useContext, useMemo } from "react";
3
4
  import { useSortable } from "@elliemae/ds-drag-and-drop";
4
5
  import { DataTableContext } from "../../DataTableContext";
5
6
  import { DnDTreeContext } from "./withConditionalDnDRowContext";
@@ -34,11 +35,12 @@ const withDnDSortableRowContext = (Component) => (props) => {
34
35
  }),
35
36
  [draggableProps]
36
37
  );
37
- return /* @__PURE__ */ React2.createElement(SortableItemContext.Provider, {
38
- value: ctx
39
- }, /* @__PURE__ */ React2.createElement(Component, {
40
- ...props
41
- }));
38
+ return /* @__PURE__ */ jsx(SortableItemContext.Provider, {
39
+ value: ctx,
40
+ children: /* @__PURE__ */ jsx(Component, {
41
+ ...props
42
+ })
43
+ });
42
44
  };
43
45
  export {
44
46
  withDnDSortableRowContext
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/HoC/withDnDSortableRowContext.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { cloneElement, useContext, useEffect, useMemo } from 'react';\nimport { useSortable } from '@elliemae/ds-drag-and-drop';\nimport { DataTableContext } from '../../DataTableContext';\nimport { DnDTreeContext } from './withConditionalDnDRowContext';\nimport { FunctionalHOC } from '../../types/FunctionalHoC';\nimport { SortableItemContext, SortableItemContextType } from './SortableItemContext';\n\nexport const withDnDSortableRowContext: FunctionalHOC = (Component) => (props: any) => {\n const {\n tableProps: { dragAndDropRows },\n } = useContext(DataTableContext);\n const { dropIndicatorPosition, lastActiveId, setLastActiveId } = useContext(DnDTreeContext);\n\n // onMount generate unique options, so everyting is only ran once\n const draggableOptions = useMemo(\n () => ({\n id: props.row.uid,\n }),\n [props.row],\n );\n\n const useSortableHelpers = useSortable(draggableOptions);\n\n // calculate all the \"useSortable\" values as per required\n const draggableProps = useMemo(() => {\n if (!dragAndDropRows) return false;\n\n const { index, overIndex } = useSortableHelpers;\n\n return {\n ...useSortableHelpers,\n shouldShowDropIndicatorPosition: overIndex === index,\n dropIndicatorPosition,\n lastActiveId,\n setLastActiveId,\n };\n }, [dragAndDropRows, useSortableHelpers, dropIndicatorPosition, lastActiveId, setLastActiveId]);\n\n // we use a context so we can easly access information wherever without bubbling down\n // this context is all Memoized so as long as component is not re-mounted,\n // the context won't trigger un-required renders per-se...\n const ctx: SortableItemContextType = useMemo(\n () => ({\n draggableProps,\n }),\n [draggableProps],\n );\n // we always add the context, if draggableProps===false we don't have the DnD enabled.\n return (\n <SortableItemContext.Provider value={ctx}>\n <Component {...props} />\n </SortableItemContext.Provider>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,OAAOA,UAAuB,YAAuB,eAAe;AACpE,SAAS,mBAAmB;AAC5B,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAE/B,SAAS,2BAAoD;AAEtD,MAAM,4BAA2C,CAAC,cAAc,CAAC,UAAe;AACrF,QAAM;AAAA,IACJ,YAAY,EAAE,gBAAgB;AAAA,EAChC,IAAI,WAAW,gBAAgB;AAC/B,QAAM,EAAE,uBAAuB,cAAc,gBAAgB,IAAI,WAAW,cAAc;AAG1F,QAAM,mBAAmB;AAAA,IACvB,OAAO;AAAA,MACL,IAAI,MAAM,IAAI;AAAA,IAChB;AAAA,IACA,CAAC,MAAM,GAAG;AAAA,EACZ;AAEA,QAAM,qBAAqB,YAAY,gBAAgB;AAGvD,QAAM,iBAAiB,QAAQ,MAAM;AACnC,QAAI,CAAC;AAAiB,aAAO;AAE7B,UAAM,EAAE,OAAO,UAAU,IAAI;AAE7B,WAAO;AAAA,MACL,GAAG;AAAA,MACH,iCAAiC,cAAc;AAAA,MAC/C;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,GAAG,CAAC,iBAAiB,oBAAoB,uBAAuB,cAAc,eAAe,CAAC;AAK9F,QAAM,MAA+B;AAAA,IACnC,OAAO;AAAA,MACL;AAAA,IACF;AAAA,IACA,CAAC,cAAc;AAAA,EACjB;AAEA,SACE,gBAAAA,OAAA,cAAC,oBAAoB,UAApB;AAAA,IAA6B,OAAO;AAAA,KACnC,gBAAAA,OAAA,cAAC;AAAA,IAAW,GAAG;AAAA,GAAO,CACxB;AAEJ;",
6
- "names": ["React"]
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAA8B,YAAuB,eAAe;AACpE,SAAS,mBAAmB;AAC5B,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAE/B,SAAS,2BAAoD;AAEtD,MAAM,4BAA2C,CAAC,cAAc,CAAC,UAAe;AACrF,QAAM;AAAA,IACJ,YAAY,EAAE,gBAAgB;AAAA,EAChC,IAAI,WAAW,gBAAgB;AAC/B,QAAM,EAAE,uBAAuB,cAAc,gBAAgB,IAAI,WAAW,cAAc;AAG1F,QAAM,mBAAmB;AAAA,IACvB,OAAO;AAAA,MACL,IAAI,MAAM,IAAI;AAAA,IAChB;AAAA,IACA,CAAC,MAAM,GAAG;AAAA,EACZ;AAEA,QAAM,qBAAqB,YAAY,gBAAgB;AAGvD,QAAM,iBAAiB,QAAQ,MAAM;AACnC,QAAI,CAAC;AAAiB,aAAO;AAE7B,UAAM,EAAE,OAAO,UAAU,IAAI;AAE7B,WAAO;AAAA,MACL,GAAG;AAAA,MACH,iCAAiC,cAAc;AAAA,MAC/C;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,GAAG,CAAC,iBAAiB,oBAAoB,uBAAuB,cAAc,eAAe,CAAC;AAK9F,QAAM,MAA+B;AAAA,IACnC,OAAO;AAAA,MACL;AAAA,IACF;AAAA,IACA,CAAC,cAAc;AAAA,EACjB;AAEA,SACE,oBAAC,oBAAoB,UAApB;AAAA,IAA6B,OAAO;AAAA,IACnC,8BAAC;AAAA,MAAW,GAAG;AAAA,KAAO;AAAA,GACxB;AAEJ;",
6
+ "names": []
7
7
  }
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
- import React2, { memo } from "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { memo } from "react";
3
4
  import { Grid } from "@elliemae/ds-grid";
4
5
  import { DSCircularProgressIndicator } from "@elliemae/ds-circular-progress-indicator";
5
6
  import { styled } from "@elliemae/ds-system";
@@ -8,16 +9,17 @@ const StyledLoaderWrapper = styled(Grid)`
8
9
  z-index: 0;
9
10
  background-color: white;
10
11
  `;
11
- const Loader = () => /* @__PURE__ */ React2.createElement(StyledLoaderWrapper, {
12
+ const Loader = () => /* @__PURE__ */ jsx(StyledLoaderWrapper, {
12
13
  style: { height: "100%", maxHeight: "500px" },
13
- "aria-live": "polite"
14
- }, /* @__PURE__ */ React2.createElement(DSCircularProgressIndicator, {
15
- size: "xl",
16
- loading: true,
17
- showLabel: true,
18
- waiting: false,
19
- showTooltip: false
20
- }));
14
+ "aria-live": "polite",
15
+ children: /* @__PURE__ */ jsx(DSCircularProgressIndicator, {
16
+ size: "xl",
17
+ loading: true,
18
+ showLabel: true,
19
+ waiting: false,
20
+ showTooltip: false
21
+ })
22
+ });
21
23
  const MemoizedLoader = memo(Loader);
22
24
  var Loader_default = MemoizedLoader;
23
25
  export {